ngx-st-sap-installed-instruments 17.0.3 → 17.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. package/esm2022/lib/base-interfaces.mjs +1 -1
  2. package/esm2022/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.mjs +9 -3
  3. package/esm2022/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.mjs +48 -12
  4. package/esm2022/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.mjs +18 -25
  5. package/esm2022/lib/models/installed-instrument-table-columns.model.mjs +1 -1
  6. package/esm2022/lib/models/sap-installed-instrument-list.model.mjs +1 -1
  7. package/esm2022/lib/ngx-st-sap-installed-instruments.module.mjs +1 -3
  8. package/esm2022/lib/services/sap-installed-instruments.service.mjs +18 -36
  9. package/fesm2022/ngx-st-sap-installed-instruments.mjs +99 -87
  10. package/fesm2022/ngx-st-sap-installed-instruments.mjs.map +1 -1
  11. package/lib/base-interfaces.d.ts +0 -3
  12. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-search/sap-installed-instrument-list-search.component.d.ts +4 -2
  13. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list-table/sap-installed-instrument-list-table.component.d.ts +9 -3
  14. package/lib/components/sap-installed-instrument-list/sap-installed-instrument-list.component.d.ts +2 -1
  15. package/lib/models/installed-instrument-table-columns.model.d.ts +1 -1
  16. package/lib/models/sap-installed-instrument-list.model.d.ts +1 -0
  17. package/lib/services/sap-installed-instruments.service.d.ts +3 -2
  18. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9iYXNlLWludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBJbnRlcmNlcHRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlnIHtcclxuICBhcGlfYmFzZV91cmk6IHN0cmluZztcclxuICBiYXNlX3VyaTogc3RyaW5nO1xyXG4gIGFwaV9tb2R1bGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElEaXJlY3RpdmVNb2R1bGVDb25maWcge1xyXG4gIGVycm9ySW50ZXJjZXB0b3I/OiBIdHRwSW50ZXJjZXB0b3JGbjtcclxuICBhcGlJbnRlcmNlcHRvcj86IEh0dHBJbnRlcmNlcHRvckZuO1xyXG4gIGNvbmZpZz86IElDb25maWc7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9iYXNlLWludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNvbmZpZyB7XHJcbiAgYXBpX2Jhc2VfdXJpOiBzdHJpbmc7XHJcbiAgYmFzZV91cmk6IHN0cmluZztcclxuICBhcGlfbW9kdWxlOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJRGlyZWN0aXZlTW9kdWxlQ29uZmlnIHtcclxuICBjb25maWc/OiBJQ29uZmlnO1xyXG59XHJcbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewChild, } from '@angular/core';
2
- import { of } from 'rxjs';
2
+ import { of, Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../../../services/sap-installed-instruments.service";
5
6
  import * as i2 from "@angular/router";
@@ -43,6 +44,7 @@ export class SapInstalledInstrumentListSearchComponent {
43
44
  installationDateFrom: null,
44
45
  installationDateTo: null,
45
46
  });
47
+ this.destroy$ = new Subject();
46
48
  this.getFilteredOptions = (search) => {
47
49
  return this.sapInstalledInstrumentService.getApplicationSearch(search);
48
50
  };
@@ -69,6 +71,10 @@ export class SapInstalledInstrumentListSearchComponent {
69
71
  });
70
72
  }
71
73
  }
74
+ ngOnDestroy() {
75
+ this.destroy$.next();
76
+ this.destroy$.complete();
77
+ }
72
78
  clearAllFilters() {
73
79
  this.searchForm.reset();
74
80
  this.multiselectAutocomplete.clearSelectedData();
@@ -112,7 +118,7 @@ export class SapInstalledInstrumentListSearchComponent {
112
118
  this.states$ = of([]);
113
119
  }
114
120
  setSearchForm() {
115
- this.searchForm.controls.country.valueChanges.subscribe((country) => {
121
+ this.searchForm.controls.country.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((country) => {
116
122
  this.searchForm.controls.state.setValue('');
117
123
  if (country) {
118
124
  this.states$ = this.sapInstalledInstrumentService.getState(country);
@@ -134,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
134
140
  }], filtersChanged: [{
135
141
  type: Output
136
142
  }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3Qtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2gvc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3Qtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2gvc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFHWixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0J0QyxNQUFNLE9BQU8seUNBQXlDO0lBZ0NwRCxZQUNVLDZCQUE2RCxFQUM3RCxNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsRUFBMEI7UUFIMUIsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUFnQztRQUM3RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLE9BQUUsR0FBRixFQUFFLENBQXdCO1FBL0JwQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBRWxF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QVksR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FDckQsQ0FBQyxPQUFlLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTVDLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOytHQWpKVSx5Q0FBeUM7bUdBQXpDLHlDQUF5QyxtUUMxQnRELHd3YkFxWkE7OzRGRDNYYSx5Q0FBeUM7a0JBTnJELFNBQVM7K0JBQ0UsMENBQTBDLG1CQUduQyx1QkFBdUIsQ0FBQyxNQUFNOzBMQUkvQyx1QkFBdUI7c0JBRHRCLFNBQVM7dUJBQUMseUJBQXlCO2dCQUlwQyxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5vbk51bGxhYmxlRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNhcFRlcnJpdG9yeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NhcC10ZXJyaXRvcnkubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBTdGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NhcC1zdGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcENvdW50cnlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zYXAtY291bnRyeS5tb2RlbCc7XHJcbmltcG9ydCB7IE5neFN0TXVsdGlzZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICduZ3gtc3QtbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNhcEluc3RhbGxlZEluc3RydW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IEluc3RhbGxlZEluc3RydW1lbnRGb3JtTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5zdGFsbGVkLWluc3RydW1lbnQtZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IFN0TXVsdGlzZWxlY3RBdXRvY29tcGxldGVTZXR0aW5nc01vZGVsIH0gZnJvbSAnbmd4LXN0LW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS9saWIvbW9kZWxzL3N0LW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZS1zZXR0aW5ncy5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FwSW5zdGFsbGVkSW5zdHJ1bWVudExpc3RTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpc2VsZWN0QXV0b2NvbXBsZXRlJylcclxuICBtdWx0aXNlbGVjdEF1dG9jb21wbGV0ZTogTmd4U3RNdWx0aXNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZmlsdGVyc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEluc3RhbGxlZEluc3RydW1lbnRGb3JtTW9kZWw+KCk7XHJcblxyXG4gIHNob3dGaWx0ZXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgYXBwbGljYXRpb246IFs8c3RyaW5nW10+W11dLFxyXG4gICAgc2VyaWFsTnVtYmVyOiAnJyxcclxuICAgIGluc3RydW1lbnRObzogJycsXHJcbiAgICBpbnN0cnVtZW50RGVzYzogJycsXHJcbiAgICBjdXN0b21lck5vOiAnJyxcclxuICAgIGJwTmFtZTogJycsXHJcbiAgICBjaXR5OiAnJyxcclxuICAgIGNvdW50eTogJycsXHJcbiAgICBlbmRVc2VyTmFtZTogJycsXHJcbiAgICBlbmRVc2VyQ29kZTogJycsXHJcbiAgICB0ZXJyaXRvcnk6IDxudW1iZXIgfCBudWxsPm51bGwsXHJcbiAgICB0ZWNobmljaWFuTGFzdE5hbWU6ICcnLFxyXG4gICAgY291bnRyeTogJycsXHJcbiAgICBzdGF0ZTogJycsXHJcbiAgICBzdGF0dXM6ICcnLFxyXG4gICAgaW5zdGFsbGF0aW9uRGF0ZUZyb206IDxEYXRlIHwgbnVsbD5udWxsLFxyXG4gICAgaW5zdGFsbGF0aW9uRGF0ZVRvOiA8RGF0ZSB8IG51bGw+bnVsbCxcclxuICB9KTtcclxuXHJcbiAgdGVycml0b3JpZXMkOiBPYnNlcnZhYmxlPFNhcFRlcnJpdG9yeU1vZGVsW10+O1xyXG4gIHN0YXRlcyQ6IE9ic2VydmFibGU8U2FwU3RhdGVNb2RlbFtdPjtcclxuICBjb3VudHJpZXMkOiBPYnNlcnZhYmxlPFNhcENvdW50cnlNb2RlbFtdPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlOiBTYXBJbnN0YWxsZWRJbnN0cnVtZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGZiOiBOb25OdWxsYWJsZUZvcm1CdWlsZGVyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U2VhcmNoRm9ybSgpO1xyXG4gICAgdGhpcy5zZXRBc3luY0ZpbHRlcnMoKTtcclxuXHJcbiAgICBjb25zdCBxdWVyeVBhcmFtc0tleXMgPSBPYmplY3Qua2V5cyhcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyB8fCB7fVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAocXVlcnlQYXJhbXNLZXlzLmxlbmd0aCA+IDIpIHtcclxuICAgICAgdGhpcy5zaG93RmlsdGVycyA9IHRydWU7XHJcblxyXG4gICAgICBxdWVyeVBhcmFtc0tleXMuZm9yRWFjaChxdWVyeVBhcmFtID0+IHtcclxuICAgICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuc2VhcmNoRm9ybS5nZXQocXVlcnlQYXJhbSk7XHJcbiAgICAgICAgaWYgKGZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW0gPT09ICdpbnN0YWxsYXRpb25EYXRlRnJvbScgfHxcclxuICAgICAgICAgICAgcXVlcnlQYXJhbSA9PT0gJ2luc3RhbGxhdGlvbkRhdGVUbydcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShcclxuICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zW3F1ZXJ5UGFyYW1dXHJcbiAgICAgICAgICAgICAgICA/IG5ldyBEYXRlKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbcXVlcnlQYXJhbV0pXHJcbiAgICAgICAgICAgICAgICA6IG51bGxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKFxyXG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbcXVlcnlQYXJhbV1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGxGaWx0ZXJzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtLnJlc2V0KCk7XHJcbiAgICB0aGlzLm11bHRpc2VsZWN0QXV0b2NvbXBsZXRlLmNsZWFyU2VsZWN0ZWREYXRhKCk7XHJcbiAgICB0aGlzLnNlYXJjaFN1Ym1pdHRlZCgpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFRlcnJpdG9yaWVzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLnRlcnJpdG9yeS5zZXRWYWx1ZShudWxsKTtcclxuICAgIHRoaXMudGVycml0b3JpZXMkID0gdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5nZXRUZXJyaXRvcnkodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoQ291bnRyaWVzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLmNvdW50cnkuc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5jb3VudHJpZXMkID0gdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5nZXRDb3VudHJ5KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFN0YXRlcygpIHtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy5zdGF0ZS5zZXRWYWx1ZSgnJyk7XHJcbiAgICB0aGlzLnN0YXRlcyQgPSB0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlLmdldFN0YXRlKFxyXG4gICAgICB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMuY291bnRyeS52YWx1ZSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldENvdW50cnlWYWx1ZShjb3VudHJ5OiBTYXBDb3VudHJ5TW9kZWwpIHtcclxuICAgIHJldHVybiBjb3VudHJ5LmlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3RhdGVWYWx1ZShzdGF0ZTogU2FwU3RhdGVNb2RlbCkge1xyXG4gICAgcmV0dXJuIHN0YXRlLmlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGVycml0b3J5VmFsdWUodGVycml0b3J5OiBTYXBUZXJyaXRvcnlNb2RlbCkge1xyXG4gICAgcmV0dXJuIHRlcnJpdG9yeS5pZDtcclxuICB9XHJcblxyXG4gIHNlYXJjaFN1Ym1pdHRlZCgpIHtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZXMgPSB0aGlzLnNlYXJjaEZvcm0uZ2V0UmF3VmFsdWUoKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlcnNDaGFuZ2VkLmVtaXQoeyBzZklkOiB1bmRlZmluZWQsIC4uLmZvcm1WYWx1ZXMgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhcklucHV0VmFsdWUoZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKSEuc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5zZWFyY2hTdWJtaXR0ZWQoKTtcclxuICB9XHJcblxyXG4gIGdldEZpbHRlcmVkT3B0aW9ucyA9IChzZWFyY2g6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2FwSW5zdGFsbGVkSW5zdHJ1bWVudFNlcnZpY2UuZ2V0QXBwbGljYXRpb25TZWFyY2goc2VhcmNoKTtcclxuICB9O1xyXG5cclxuICBhcHBsaWNhdGlvblNlbGVjdGVkKGRhdGE6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMuYXBwbGljYXRpb24uc2V0VmFsdWUoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEFzeW5jRmlsdGVycygpIHtcclxuICAgIHRoaXMudGVycml0b3JpZXMkID0gdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5nZXRUZXJyaXRvcnkoZmFsc2UpO1xyXG4gICAgdGhpcy5jb3VudHJpZXMkID0gdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5nZXRDb3VudHJ5KGZhbHNlKTtcclxuICAgIHRoaXMuc3RhdGVzJCA9IG9mKFtdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2VhcmNoRm9ybSgpIHtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy5jb3VudHJ5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXHJcbiAgICAgIChjb3VudHJ5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMuc3RhdGUuc2V0VmFsdWUoJycpO1xyXG5cclxuICAgICAgICBpZiAoY291bnRyeSkge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZXMkID0gdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5nZXRTdGF0ZShjb3VudHJ5KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZXMkID0gb2YoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm1cclxuICBjbGFzcz1cInNlYXJjaC1maWx0ZXJzXCJcclxuICBbZm9ybUdyb3VwXT1cInNlYXJjaEZvcm1cIlxyXG4gIChrZXl1cC5lbnRlcik9XCJzZWFyY2hTdWJtaXR0ZWQoKVwiXHJcbiAgKG5nU3VibWl0KT1cInNlYXJjaFN1Ym1pdHRlZCgpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgW25nQ2xhc3NdPVwieyBoaWRlOiAhc2hvd0ZpbHRlcnMgfVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG5neC1zdC1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGVcclxuICAgICAgICAjbXVsdGlzZWxlY3RBdXRvY29tcGxldGVcclxuICAgICAgICBbbGFiZWxdPVwiXHJcbiAgICAgICAgICAoJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hcHBsaWNhdGlvbicgfCB0cmFuc2xhdGUpICtcclxuICAgICAgICAgICcgKCcgK1xyXG4gICAgICAgICAgKCdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQubWF4JyB8IHRyYW5zbGF0ZSkgK1xyXG4gICAgICAgICAgJzogMTApJ1xyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW3NlYXJjaExhYmVsXT1cIlxyXG4gICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hcHBsaWNhdGlvblBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW3NldHRpbmdzXT1cIntcclxuICAgICAgICAgIGdldEZpbHRlcmVkT3B0aW9uczogdGhpcy5nZXRGaWx0ZXJlZE9wdGlvbnNcclxuICAgICAgICB9XCJcclxuICAgICAgICBbaW5pdFNlbGVjdGVkRGF0YV09XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmFwcGxpY2F0aW9uLnZhbHVlXCJcclxuICAgICAgICBbbWF4TGVuZ3RoU2VsZWN0ZWREYXRhXT1cIjEwXCJcclxuICAgICAgICAoc2VsZWN0ZWREYXRhQ2hhbmdlZCk9XCJhcHBsaWNhdGlvblNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICA+PC9uZ3gtc3QtbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYnBOYW1lXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hY2NvdW50TmFtZScgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIH19XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2VhcmNoRm9ybS5jb250cm9scy5icE5hbWUudmFsdWVcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgIChjbGljayk9XCJjbGVhcklucHV0VmFsdWUoJ2JwTmFtZScpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGVjaG5pY2lhbkxhc3ROYW1lXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC50ZWNobmljaWFuTGFzdE5hbWUnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMudGVjaG5pY2lhbkxhc3ROYW1lLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCd0ZWNobmljaWFuTGFzdE5hbWUnKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiBbbmdDbGFzc109XCJ7IGhpZGU6ICFzaG93RmlsdGVycyB9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWFsTnVtYmVyXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5zZXJpYWxOdW1iZXInIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMuc2VyaWFsTnVtYmVyLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdzZXJpYWxOdW1iZXInKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImluc3RydW1lbnROb1wiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuaW5zdHJ1bWVudE5vJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmluc3RydW1lbnROby52YWx1ZVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXRWYWx1ZSgnaW5zdHJ1bWVudE5vJylcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnN0cnVtZW50RGVzY1wiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuaW5zdHJ1bWVudERlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmluc3RydW1lbnREZXNjLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdpbnN0cnVtZW50RGVzYycpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIFtuZ0NsYXNzXT1cInsgaGlkZTogIXNob3dGaWx0ZXJzIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7XHJcbiAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50Lmluc3RydW1lbnRTdGF0dXMnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInJ1wiPnt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuZW1wdHknIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInQSdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c0EnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInUidcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c1InIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInVCdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c1QnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInTCdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c0wnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInSSdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c0knIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjdXN0b21lck5vXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hY2NvdW50Tm8nIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMuY3VzdG9tZXJOby52YWx1ZVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXRWYWx1ZSgnY3VzdG9tZXJObycpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlciByb3dcIj5cclxuICAgICAgPG5neC1zdC1zZWFyY2gtc2VsZWN0XHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgIHNlYXJjaEZvcm0/LmdldCgndGVycml0b3J5JykgJiZcclxuICAgICAgICAgICgodGVycml0b3JpZXMkIHwgYXN5bmMpIHx8IFtdKSBhcyB0ZXJyaXRvcmllc1xyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwidGVycml0b3JpZXMgfHwgW11cIlxyXG4gICAgICAgIFtzZWxlY3RMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnRlcnJpdG9yeScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtvcHRpb25MYWJlbEZpZWxkc109XCInbmFtZSdcIlxyXG4gICAgICAgIFtvcHRpb25WYWx1ZUZpZWxkXT1cIidpZCdcIlxyXG4gICAgICAgIFtzZWxlY3RGb3JtQ29udHJvbF09XCJzZWFyY2hGb3JtLmNvbnRyb2xzLnRlcnJpdG9yeVwiXHJcbiAgICAgICAgW3NlbGVjdEJpbmRUeXBlXT1cIidjb250cm9sJ1wiXHJcbiAgICAgICAgW3NlYXJjaExhYmVsXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgID48L25neC1zdC1zZWFyY2gtc2VsZWN0PlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5yZWZyZXNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJlZnJlc2hUZXJyaXRvcmllcygpXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5yZWZyZXNoPC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiBbbmdDbGFzc109XCJ7IGhpZGU6ICFzaG93RmlsdGVycyB9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2l0eVwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY2l0eScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmNpdHkudmFsdWVcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgIChjbGljayk9XCJjbGVhcklucHV0VmFsdWUoJ2NpdHknKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXIgcm93XCI+XHJcbiAgICAgIDxuZ3gtc3Qtc2VhcmNoLXNlbGVjdFxyXG4gICAgICAgICpuZ0lmPVwic2VhcmNoRm9ybT8uZ2V0KCdzdGF0ZScpICYmICgoc3RhdGVzJCB8IGFzeW5jKSB8fCBbXSkgYXMgc3RhdGVzXCJcclxuICAgICAgICBbb3B0aW9uc109XCJzdGF0ZXMgfHwgW11cIlxyXG4gICAgICAgIFtzZWxlY3RMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXRlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW29wdGlvbkxhYmVsRmllbGRzXT1cIiduYW1lJ1wiXHJcbiAgICAgICAgW29wdGlvblZhbHVlRmllbGRdPVwiJ2lkJ1wiXHJcbiAgICAgICAgW3NlbGVjdEZvcm1Db250cm9sXT1cInNlYXJjaEZvcm0uY29udHJvbHMuc3RhdGVcIlxyXG4gICAgICAgIFtzZWxlY3RCaW5kVHlwZV09XCInY29udHJvbCdcIlxyXG4gICAgICAgIFtzZWFyY2hMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICA+PC9uZ3gtc3Qtc2VhcmNoLXNlbGVjdD5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQucmVmcmVzaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhc2VhcmNoRm9ybS5jb250cm9scy5jb3VudHJ5LnZhbHVlXCJcclxuICAgICAgICAoY2xpY2spPVwicmVmcmVzaFN0YXRlcygpXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5yZWZyZXNoPC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvdW50eVwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY291bnR5JyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMuY291bnR5LnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdjb3VudHknKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXIgcm93XCI+XHJcbiAgICAgIDxuZ3gtc3Qtc2VhcmNoLXNlbGVjdFxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICBzZWFyY2hGb3JtPy5nZXQoJ2NvdW50cnknKSAmJlxyXG4gICAgICAgICAgKChjb3VudHJpZXMkIHwgYXN5bmMpIHx8IFtdKSBhcyBjb3VudHJpZXNcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cImNvdW50cmllcyB8fCBbXVwiXHJcbiAgICAgICAgW3NlbGVjdExhYmVsXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY291bnRyeScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtvcHRpb25MYWJlbEZpZWxkc109XCInbmFtZSdcIlxyXG4gICAgICAgIFtvcHRpb25WYWx1ZUZpZWxkXT1cIidpZCdcIlxyXG4gICAgICAgIFtzZWxlY3RGb3JtQ29udHJvbF09XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmNvdW50cnlcIlxyXG4gICAgICAgIFtzZWxlY3RCaW5kVHlwZV09XCInY29udHJvbCdcIlxyXG4gICAgICAgIFtzZWFyY2hMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICA+PC9uZ3gtc3Qtc2VhcmNoLXNlbGVjdD5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQucmVmcmVzaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChjbGljayk9XCJyZWZyZXNoQ291bnRyaWVzKClcIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPnJlZnJlc2g8L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIFtuZ0NsYXNzXT1cInsgaGlkZTogIXNob3dGaWx0ZXJzIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7XHJcbiAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50Lmluc3RhbGxhdGlvbkRhdGVGcm9tJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyMVwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnN0YWxsYXRpb25EYXRlRnJvbVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIFtmb3JdPVwicGlja2VyMVwiXHJcbiAgICAgICAgPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyMT48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57e1xyXG4gICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5pbnN0YWxsYXRpb25EYXRlVG8nIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIyXCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImluc3RhbGxhdGlvbkRhdGVUb1wiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIFtmb3JdPVwicGlja2VyMlwiXHJcbiAgICAgICAgPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyMj48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kVXNlck5hbWVcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmVuZEN1c3RvbWVyTmFtZScgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIH19XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2VhcmNoRm9ybS5jb250cm9scy5lbmRVc2VyTmFtZS52YWx1ZVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXRWYWx1ZSgnZW5kVXNlck5hbWUnKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFVzZXJDb2RlXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5lbmRDdXN0b21lck5vJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmVuZFVzZXJDb2RlLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdlbmRVc2VyQ29kZScpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweFwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFyQWxsRmlsdGVycygpXCJcclxuICAgICAgKm5nSWY9XCJzaG93RmlsdGVyc1wiXHJcbiAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4XCJcclxuICAgID5cclxuICAgICAgQ2xlYXIgQWxsXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgKGNsaWNrKT1cInNob3dGaWx0ZXJzID0gIXNob3dGaWx0ZXJzXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJzXCI+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5oaWRlRmlsdGVycycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0ZpbHRlcnNcIj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnNob3dGaWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dGaWx0ZXJzXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHhcIlxyXG4gICAgPlxyXG4gICAgICBTZWFyY2hcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3Qtc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2gvc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3Qtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2gvc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3Qtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFJWixNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0QjNDLE1BQU0sT0FBTyx5Q0FBeUM7SUFrQ3BELFlBQ1UsNkJBQTZELEVBQzdELE1BQWMsRUFDZCxjQUE4QixFQUM5QixFQUEwQjtRQUgxQixrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQWdDO1FBQzdELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFGLEVB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QUduQyx1QkFBdUIsQ0FBQyxNQUFNOzBMQUkvQyx1QkFBdUI7c0JBRHRCLFNBQVM7dUJBQUMseUJBQXlCO2dCQUlwQyxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOb25OdWxsYWJsZUZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTYXBUZXJyaXRvcnlNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zYXAtdGVycml0b3J5Lm1vZGVsJztcclxuaW1wb3J0IHsgU2FwU3RhdGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zYXAtc3RhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBDb3VudHJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2FwLWNvdW50cnkubW9kZWwnO1xyXG5pbXBvcnQgeyBOZ3hTdE11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnbmd4LXN0LW11bHRpc2VsZWN0LWF1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTYXBJbnN0YWxsZWRJbnN0cnVtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbnN0YWxsZWRJbnN0cnVtZW50Rm9ybU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luc3RhbGxlZC1pbnN0cnVtZW50LWZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTdE11bHRpc2VsZWN0QXV0b2NvbXBsZXRlU2V0dGluZ3NNb2RlbCB9IGZyb20gJ25neC1zdC1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUvbGliL21vZGVscy9zdC1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGUtc2V0dGluZ3MubW9kZWwnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbnRlcmZhY2UgU2VhcmNoRm9ybVR5cGUge1xyXG4gIGFwcGxpY2F0aW9uOiBzdHJpbmdbXVtdO1xyXG4gIHNlcmlhbE51bWJlcjogc3RyaW5nO1xyXG4gIGluc3RydW1lbnRObzogc3RyaW5nO1xyXG4gIGluc3RydW1lbnREZXNjOiBzdHJpbmc7XHJcbiAgY3VzdG9tZXJObzogc3RyaW5nO1xyXG4gIGJwTmFtZTogc3RyaW5nO1xyXG4gIGNpdHk6IHN0cmluZztcclxuICBjb3VudHk6IHN0cmluZztcclxuICBlbmRVc2VyTmFtZTogc3RyaW5nO1xyXG4gIGVuZFVzZXJDb2RlOiBzdHJpbmc7XHJcbiAgdGVycml0b3J5OiBudW1iZXIgfCBudWxsO1xyXG4gIHRlY2huaWNpYW5MYXN0TmFtZTogc3RyaW5nO1xyXG4gIGNvdW50cnk6IHN0cmluZztcclxuICBzdGF0ZTogc3RyaW5nO1xyXG4gIHN0YXR1czogc3RyaW5nO1xyXG4gIGluc3RhbGxhdGlvbkRhdGVGcm9tOiBEYXRlIHwgbnVsbDtcclxuICBpbnN0YWxsYXRpb25EYXRlVG86IERhdGUgfCBudWxsO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FwSW5zdGFsbGVkSW5zdHJ1bWVudExpc3RTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnbXVsdGlzZWxlY3RBdXRvY29tcGxldGUnKVxyXG4gIG11bHRpc2VsZWN0QXV0b2NvbXBsZXRlOiBOZ3hTdE11bHRpc2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBmaWx0ZXJzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SW5zdGFsbGVkSW5zdHJ1bWVudEZvcm1Nb2RlbD4oKTtcclxuXHJcbiAgc2hvd0ZpbHRlcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hGb3JtID0gdGhpcy5mYi5ncm91cDxTZWFyY2hGb3JtVHlwZT4oe1xyXG4gICAgYXBwbGljYXRpb246IFs8c3RyaW5nW10+W11dLFxyXG4gICAgc2VyaWFsTnVtYmVyOiAnJyxcclxuICAgIGluc3RydW1lbnRObzogJycsXHJcbiAgICBpbnN0cnVtZW50RGVzYzogJycsXHJcbiAgICBjdXN0b21lck5vOiAnJyxcclxuICAgIGJwTmFtZTogJycsXHJcbiAgICBjaXR5OiAnJyxcclxuICAgIGNvdW50eTogJycsXHJcbiAgICBlbmRVc2VyTmFtZTogJycsXHJcbiAgICBlbmRVc2VyQ29kZTogJycsXHJcbiAgICB0ZXJyaXRvcnk6IDxudW1iZXIgfCBudWxsPm51bGwsXHJcbiAgICB0ZWNobmljaWFuTGFzdE5hbWU6ICcnLFxyXG4gICAgY291bnRyeTogJycsXHJcbiAgICBzdGF0ZTogJycsXHJcbiAgICBzdGF0dXM6ICcnLFxyXG4gICAgaW5zdGFsbGF0aW9uRGF0ZUZyb206IDxEYXRlIHwgbnVsbD5udWxsLFxyXG4gICAgaW5zdGFsbGF0aW9uRGF0ZVRvOiA8RGF0ZSB8IG51bGw+bnVsbCxcclxuICB9KTtcclxuXHJcbiAgdGVycml0b3JpZXMkOiBPYnNlcnZhYmxlPFNhcFRlcnJpdG9yeU1vZGVsW10+O1xyXG4gIHN0YXRlcyQ6IE9ic2VydmFibGU8U2FwU3RhdGVNb2RlbFtdPjtcclxuICBjb3VudHJpZXMkOiBPYnNlcnZhYmxlPFNhcENvdW50cnlNb2RlbFtdPjtcclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZTogU2FwSW5zdGFsbGVkSW5zdHJ1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBmYjogTm9uTnVsbGFibGVGb3JtQnVpbGRlclxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFNlYXJjaEZvcm0oKTtcclxuICAgIHRoaXMuc2V0QXN5bmNGaWx0ZXJzKCk7XHJcblxyXG4gICAgY29uc3QgcXVlcnlQYXJhbXNLZXlzID0gT2JqZWN0LmtleXMoXHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgfHwge31cclxuICAgICk7XHJcblxyXG4gICAgaWYgKHF1ZXJ5UGFyYW1zS2V5cy5sZW5ndGggPiAyKSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbHRlcnMgPSB0cnVlO1xyXG5cclxuICAgICAgcXVlcnlQYXJhbXNLZXlzLmZvckVhY2gocXVlcnlQYXJhbSA9PiB7XHJcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLnNlYXJjaEZvcm0uZ2V0KHF1ZXJ5UGFyYW0pO1xyXG4gICAgICAgIGlmIChmb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBxdWVyeVBhcmFtID09PSAnaW5zdGFsbGF0aW9uRGF0ZUZyb20nIHx8XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW0gPT09ICdpbnN0YWxsYXRpb25EYXRlVG8nXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUoXHJcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1txdWVyeVBhcmFtXVxyXG4gICAgICAgICAgICAgICAgPyBuZXcgRGF0ZSh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zW3F1ZXJ5UGFyYW1dKVxyXG4gICAgICAgICAgICAgICAgOiBudWxsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShcclxuICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zW3F1ZXJ5UGFyYW1dXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckFsbEZpbHRlcnMoKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZvcm0ucmVzZXQoKTtcclxuICAgIHRoaXMubXVsdGlzZWxlY3RBdXRvY29tcGxldGUuY2xlYXJTZWxlY3RlZERhdGEoKTtcclxuICAgIHRoaXMuc2VhcmNoU3VibWl0dGVkKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoVGVycml0b3JpZXMoKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMudGVycml0b3J5LnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy50ZXJyaXRvcmllcyQgPSB0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlLmdldFRlcnJpdG9yeSh0cnVlKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hDb3VudHJpZXMoKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMuY291bnRyeS5zZXRWYWx1ZSgnJyk7XHJcbiAgICB0aGlzLmNvdW50cmllcyQgPSB0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlLmdldENvdW50cnkodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoU3RhdGVzKCkge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLnN0YXRlLnNldFZhbHVlKCcnKTtcclxuICAgIHRoaXMuc3RhdGVzJCA9IHRoaXMuc2FwSW5zdGFsbGVkSW5zdHJ1bWVudFNlcnZpY2UuZ2V0U3RhdGUoXHJcbiAgICAgIHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy5jb3VudHJ5LnZhbHVlLFxyXG4gICAgICB0cnVlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRyeVZhbHVlKGNvdW50cnk6IFNhcENvdW50cnlNb2RlbCkge1xyXG4gICAgcmV0dXJuIGNvdW50cnkuaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRTdGF0ZVZhbHVlKHN0YXRlOiBTYXBTdGF0ZU1vZGVsKSB7XHJcbiAgICByZXR1cm4gc3RhdGUuaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRUZXJyaXRvcnlWYWx1ZSh0ZXJyaXRvcnk6IFNhcFRlcnJpdG9yeU1vZGVsKSB7XHJcbiAgICByZXR1cm4gdGVycml0b3J5LmlkO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoU3VibWl0dGVkKCkge1xyXG4gICAgY29uc3QgZm9ybVZhbHVlcyA9IHRoaXMuc2VhcmNoRm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVyc0NoYW5nZWQuZW1pdCh7IHNmSWQ6IHVuZGVmaW5lZCwgLi4uZm9ybVZhbHVlcyB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFySW5wdXRWYWx1ZShmb3JtQ29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtLmdldChmb3JtQ29udHJvbE5hbWUpIS5zZXRWYWx1ZSgnJyk7XHJcbiAgICB0aGlzLnNlYXJjaFN1Ym1pdHRlZCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmlsdGVyZWRPcHRpb25zID0gKHNlYXJjaDogc3RyaW5nKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5nZXRBcHBsaWNhdGlvblNlYXJjaChzZWFyY2gpO1xyXG4gIH07XHJcblxyXG4gIGFwcGxpY2F0aW9uU2VsZWN0ZWQoZGF0YTogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy5hcHBsaWNhdGlvbi5zZXRWYWx1ZShkYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QXN5bmNGaWx0ZXJzKCkge1xyXG4gICAgdGhpcy50ZXJyaXRvcmllcyQgPSB0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlLmdldFRlcnJpdG9yeShmYWxzZSk7XHJcbiAgICB0aGlzLmNvdW50cmllcyQgPSB0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlLmdldENvdW50cnkoZmFsc2UpO1xyXG4gICAgdGhpcy5zdGF0ZXMkID0gb2YoW10pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTZWFyY2hGb3JtKCkge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLmNvdW50cnkudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgKS5zdWJzY3JpYmUoXHJcbiAgICAgIChjb3VudHJ5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMuc3RhdGUuc2V0VmFsdWUoJycpO1xyXG5cclxuICAgICAgICBpZiAoY291bnRyeSkge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZXMkID0gdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5nZXRTdGF0ZShjb3VudHJ5KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zdGF0ZXMkID0gb2YoW10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm1cclxuICBjbGFzcz1cInNlYXJjaC1maWx0ZXJzXCJcclxuICBbZm9ybUdyb3VwXT1cInNlYXJjaEZvcm1cIlxyXG4gIChrZXl1cC5lbnRlcik9XCJzZWFyY2hTdWJtaXR0ZWQoKVwiXHJcbiAgKG5nU3VibWl0KT1cInNlYXJjaFN1Ym1pdHRlZCgpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgW25nQ2xhc3NdPVwieyBoaWRlOiAhc2hvd0ZpbHRlcnMgfVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG5neC1zdC1tdWx0aXNlbGVjdC1hdXRvY29tcGxldGVcclxuICAgICAgICAjbXVsdGlzZWxlY3RBdXRvY29tcGxldGVcclxuICAgICAgICBbbGFiZWxdPVwiXHJcbiAgICAgICAgICAoJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hcHBsaWNhdGlvbicgfCB0cmFuc2xhdGUpICtcclxuICAgICAgICAgICcgKCcgK1xyXG4gICAgICAgICAgKCdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQubWF4JyB8IHRyYW5zbGF0ZSkgK1xyXG4gICAgICAgICAgJzogMTApJ1xyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW3NlYXJjaExhYmVsXT1cIlxyXG4gICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hcHBsaWNhdGlvblBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW3NldHRpbmdzXT1cIntcclxuICAgICAgICAgIGdldEZpbHRlcmVkT3B0aW9uczogdGhpcy5nZXRGaWx0ZXJlZE9wdGlvbnNcclxuICAgICAgICB9XCJcclxuICAgICAgICBbaW5pdFNlbGVjdGVkRGF0YV09XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmFwcGxpY2F0aW9uLnZhbHVlXCJcclxuICAgICAgICBbbWF4TGVuZ3RoU2VsZWN0ZWREYXRhXT1cIjEwXCJcclxuICAgICAgICAoc2VsZWN0ZWREYXRhQ2hhbmdlZCk9XCJhcHBsaWNhdGlvblNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICA+PC9uZ3gtc3QtbXVsdGlzZWxlY3QtYXV0b2NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYnBOYW1lXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hY2NvdW50TmFtZScgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIH19XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2VhcmNoRm9ybS5jb250cm9scy5icE5hbWUudmFsdWVcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgIChjbGljayk9XCJjbGVhcklucHV0VmFsdWUoJ2JwTmFtZScpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGVjaG5pY2lhbkxhc3ROYW1lXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC50ZWNobmljaWFuTGFzdE5hbWUnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMudGVjaG5pY2lhbkxhc3ROYW1lLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCd0ZWNobmljaWFuTGFzdE5hbWUnKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiBbbmdDbGFzc109XCJ7IGhpZGU6ICFzaG93RmlsdGVycyB9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWFsTnVtYmVyXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5zZXJpYWxOdW1iZXInIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMuc2VyaWFsTnVtYmVyLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdzZXJpYWxOdW1iZXInKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tNCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImluc3RydW1lbnROb1wiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuaW5zdHJ1bWVudE5vJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmluc3RydW1lbnROby52YWx1ZVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXRWYWx1ZSgnaW5zdHJ1bWVudE5vJylcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnN0cnVtZW50RGVzY1wiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuaW5zdHJ1bWVudERlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmluc3RydW1lbnREZXNjLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdpbnN0cnVtZW50RGVzYycpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIFtuZ0NsYXNzXT1cInsgaGlkZTogIXNob3dGaWx0ZXJzIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7XHJcbiAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50Lmluc3RydW1lbnRTdGF0dXMnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInJ1wiPnt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuZW1wdHknIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInQSdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c0EnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInUidcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c1InIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInVCdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c1QnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInTCdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c0wnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInSSdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXR1c0knIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjdXN0b21lck5vXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hY2NvdW50Tm8nIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMuY3VzdG9tZXJOby52YWx1ZVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXRWYWx1ZSgnY3VzdG9tZXJObycpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS00IGFsaWduLWl0ZW1zLWNlbnRlciByb3dcIj5cclxuICAgICAgPG5neC1zdC1zZWFyY2gtc2VsZWN0XHJcbiAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgIHNlYXJjaEZvcm0/LmdldCgndGVycml0b3J5JykgJiZcclxuICAgICAgICAgICgodGVycml0b3JpZXMkIHwgYXN5bmMpIHx8IFtdKSBhcyB0ZXJyaXRvcmllc1xyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwidGVycml0b3JpZXMgfHwgW11cIlxyXG4gICAgICAgIFtzZWxlY3RMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnRlcnJpdG9yeScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtvcHRpb25MYWJlbEZpZWxkc109XCInbmFtZSdcIlxyXG4gICAgICAgIFtvcHRpb25WYWx1ZUZpZWxkXT1cIidpZCdcIlxyXG4gICAgICAgIFtzZWxlY3RGb3JtQ29udHJvbF09XCJzZWFyY2hGb3JtLmNvbnRyb2xzLnRlcnJpdG9yeVwiXHJcbiAgICAgICAgW3NlbGVjdEJpbmRUeXBlXT1cIidjb250cm9sJ1wiXHJcbiAgICAgICAgW3NlYXJjaExhYmVsXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgID48L25neC1zdC1zZWFyY2gtc2VsZWN0PlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5yZWZyZXNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInJlZnJlc2hUZXJyaXRvcmllcygpXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5yZWZyZXNoPC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiBbbmdDbGFzc109XCJ7IGhpZGU6ICFzaG93RmlsdGVycyB9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2l0eVwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY2l0eScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmNpdHkudmFsdWVcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcclxuICAgICAgICAgIChjbGljayk9XCJjbGVhcklucHV0VmFsdWUoJ2NpdHknKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXIgcm93XCI+XHJcbiAgICAgIDxuZ3gtc3Qtc2VhcmNoLXNlbGVjdFxyXG4gICAgICAgICpuZ0lmPVwic2VhcmNoRm9ybT8uZ2V0KCdzdGF0ZScpICYmICgoc3RhdGVzJCB8IGFzeW5jKSB8fCBbXSkgYXMgc3RhdGVzXCJcclxuICAgICAgICBbb3B0aW9uc109XCJzdGF0ZXMgfHwgW11cIlxyXG4gICAgICAgIFtzZWxlY3RMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnN0YXRlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW29wdGlvbkxhYmVsRmllbGRzXT1cIiduYW1lJ1wiXHJcbiAgICAgICAgW29wdGlvblZhbHVlRmllbGRdPVwiJ2lkJ1wiXHJcbiAgICAgICAgW3NlbGVjdEZvcm1Db250cm9sXT1cInNlYXJjaEZvcm0uY29udHJvbHMuc3RhdGVcIlxyXG4gICAgICAgIFtzZWxlY3RCaW5kVHlwZV09XCInY29udHJvbCdcIlxyXG4gICAgICAgIFtzZWFyY2hMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICA+PC9uZ3gtc3Qtc2VhcmNoLXNlbGVjdD5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQucmVmcmVzaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhc2VhcmNoRm9ybS5jb250cm9scy5jb3VudHJ5LnZhbHVlXCJcclxuICAgICAgICAoY2xpY2spPVwicmVmcmVzaFN0YXRlcygpXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5yZWZyZXNoPC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvdW50eVwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY291bnR5JyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaEZvcm0uY29udHJvbHMuY291bnR5LnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdjb3VudHknKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXIgcm93XCI+XHJcbiAgICAgIDxuZ3gtc3Qtc2VhcmNoLXNlbGVjdFxyXG4gICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICBzZWFyY2hGb3JtPy5nZXQoJ2NvdW50cnknKSAmJlxyXG4gICAgICAgICAgKChjb3VudHJpZXMkIHwgYXN5bmMpIHx8IFtdKSBhcyBjb3VudHJpZXNcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cImNvdW50cmllcyB8fCBbXVwiXHJcbiAgICAgICAgW3NlbGVjdExhYmVsXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY291bnRyeScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtvcHRpb25MYWJlbEZpZWxkc109XCInbmFtZSdcIlxyXG4gICAgICAgIFtvcHRpb25WYWx1ZUZpZWxkXT1cIidpZCdcIlxyXG4gICAgICAgIFtzZWxlY3RGb3JtQ29udHJvbF09XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmNvdW50cnlcIlxyXG4gICAgICAgIFtzZWxlY3RCaW5kVHlwZV09XCInY29udHJvbCdcIlxyXG4gICAgICAgIFtzZWFyY2hMYWJlbF09XCInc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICA+PC9uZ3gtc3Qtc2VhcmNoLXNlbGVjdD5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIFttYXRUb29sdGlwXT1cIidzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQucmVmcmVzaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChjbGljayk9XCJyZWZyZXNoQ291bnRyaWVzKClcIlxyXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPnJlZnJlc2g8L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIFtuZ0NsYXNzXT1cInsgaGlkZTogIXNob3dGaWx0ZXJzIH1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTIgY29sLXNtLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7XHJcbiAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50Lmluc3RhbGxhdGlvbkRhdGVGcm9tJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyMVwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnN0YWxsYXRpb25EYXRlRnJvbVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIFtmb3JdPVwicGlja2VyMVwiXHJcbiAgICAgICAgPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyMT48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57e1xyXG4gICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5pbnN0YWxsYXRpb25EYXRlVG8nIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXIyXCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImluc3RhbGxhdGlvbkRhdGVUb1wiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIFtmb3JdPVwicGlja2VyMlwiXHJcbiAgICAgICAgPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyMj48L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXhzLTEyIGNvbC1zbS0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW5kVXNlck5hbWVcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmVuZEN1c3RvbWVyTmFtZScgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIH19XCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic2VhcmNoRm9ybS5jb250cm9scy5lbmRVc2VyTmFtZS52YWx1ZVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXRWYWx1ZSgnZW5kVXNlck5hbWUnKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC14cy0xMiBjb2wtc20tMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVuZFVzZXJDb2RlXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5lbmRDdXN0b21lck5vJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX1cIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hGb3JtLmNvbnRyb2xzLmVuZFVzZXJDb2RlLnZhbHVlXCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgbWF0U3VmZml4XHJcbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dFZhbHVlKCdlbmRVc2VyQ29kZScpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweFwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFyQWxsRmlsdGVycygpXCJcclxuICAgICAgKm5nSWY9XCJzaG93RmlsdGVyc1wiXHJcbiAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4XCJcclxuICAgID5cclxuICAgICAgQ2xlYXIgQWxsXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgKGNsaWNrKT1cInNob3dGaWx0ZXJzID0gIXNob3dGaWx0ZXJzXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWx0ZXJzXCI+XHJcbiAgICAgICAge3sgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5oaWRlRmlsdGVycycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd0ZpbHRlcnNcIj5cclxuICAgICAgICB7eyAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnNob3dGaWx0ZXJzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dGaWx0ZXJzXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHhcIlxyXG4gICAgPlxyXG4gICAgICBTZWFyY2hcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
@@ -3,24 +3,32 @@ import { StSubscribeDestroyComponent } from 'ngx-st-base-functions';
3
3
  import { MatSort } from '@angular/material/sort';
4
4
  import { MatPaginator } from '@angular/material/paginator';
5
5
  import { MatTableDataSource } from '@angular/material/table';
6
+ import { takeUntil } from 'rxjs/operators';
7
+ import { SelectionModel } from '@angular/cdk/collections';
8
+ import { HttpParams } from '@angular/common/http';
6
9
  import * as i0 from "@angular/core";
7
10
  import * as i1 from "@angular/router";
8
11
  import * as i2 from "../../../services/sap-installed-instruments.service";
9
12
  import * as i3 from "@angular/common";
10
- import * as i4 from "@angular/material/table";
11
- import * as i5 from "@angular/material/paginator";
12
- import * as i6 from "@angular/material/sort";
13
- import * as i7 from "@ngx-translate/core";
14
- import * as i8 from "ngx-st-date-format";
13
+ import * as i4 from "@angular/material/button";
14
+ import * as i5 from "@angular/material/menu";
15
+ import * as i6 from "@angular/material/table";
16
+ import * as i7 from "@angular/material/paginator";
17
+ import * as i8 from "@angular/material/checkbox";
18
+ import * as i9 from "@angular/material/sort";
19
+ import * as i10 from "@ngx-translate/core";
20
+ import * as i11 from "ngx-st-date-format";
15
21
  export class SapInstalledInstrumentListTableComponent extends StSubscribeDestroyComponent {
16
22
  set tableData(data) {
17
23
  this.dataSource.data = data;
18
24
  }
19
- constructor(router, activatedRoute, sapInstalledInstruments) {
25
+ constructor(router, activatedRoute, sapInstalledInstruments, changeDetectorRef) {
20
26
  super();
21
27
  this.router = router;
22
28
  this.activatedRoute = activatedRoute;
23
29
  this.sapInstalledInstruments = sapInstalledInstruments;
30
+ this.changeDetectorRef = changeDetectorRef;
31
+ this.useMapButton = false;
24
32
  this.sortChanged = new EventEmitter();
25
33
  this.dataSource = new MatTableDataSource();
26
34
  this.tableColumns = [
@@ -36,6 +44,7 @@ export class SapInstalledInstrumentListTableComponent extends StSubscribeDestroy
36
44
  'installationDate',
37
45
  'status',
38
46
  ];
47
+ this.showOnMapSelection = new SelectionModel();
39
48
  }
40
49
  ngOnInit() {
41
50
  this.setTableColumns();
@@ -46,7 +55,7 @@ export class SapInstalledInstrumentListTableComponent extends StSubscribeDestroy
46
55
  ngAfterViewInit() {
47
56
  this.dataSource.paginator = this.paginator;
48
57
  this.dataSource.sort = this.sort;
49
- this.sort.sortChange.subscribe(res => {
58
+ this.sort.sortChange.pipe(takeUntil(this.ngDestroyed$)).subscribe(res => {
50
59
  this.sortChanged.emit(res);
51
60
  });
52
61
  const queryParamsKeys = Object.keys(this.activatedRoute.snapshot.queryParams || {});
@@ -65,7 +74,31 @@ export class SapInstalledInstrumentListTableComponent extends StSubscribeDestroy
65
74
  relativeTo: this.activatedRoute,
66
75
  });
67
76
  }
77
+ changeRowSelection(event, row) {
78
+ event.stopPropagation();
79
+ if (this.showOnMapSelection.isSelected(row)) {
80
+ this.showOnMapSelection.deselect(row);
81
+ }
82
+ else {
83
+ this.showOnMapSelection.select(row);
84
+ }
85
+ this.changeDetectorRef.markForCheck();
86
+ }
87
+ redirectToShowOnMap() {
88
+ const params = new HttpParams()
89
+ .set('recordIds', this.showOnMapSelection.selected
90
+ .map(instrument => instrument.sfId)
91
+ .join(','))
92
+ .set('baseObjectId', 'a0kQo000002nNaDIAU')
93
+ .set('tooltipField', 'IntrumentName__c')
94
+ .set('zoom', '8')
95
+ .set('color', '#66FF00');
96
+ window.open(`${window.location.origin}/apex/maps__Maps?${params.toString()}`, '_blank');
97
+ }
68
98
  setTableColumns() {
99
+ if (this.useMapButton) {
100
+ this.tableColumns.unshift('selectToMap');
101
+ }
69
102
  this.mapTableColumns = {
70
103
  instrumentNo: 'sapAdminInstalledInstrument.instrumentNo',
71
104
  instrumentDescription: 'sapAdminInstalledInstrument.instrumentDescription',
@@ -78,15 +111,16 @@ export class SapInstalledInstrumentListTableComponent extends StSubscribeDestroy
78
111
  country: 'sapAdminInstalledInstrument.country',
79
112
  status: 'sapAdminInstalledInstrument.status',
80
113
  installationDate: 'sapAdminInstalledInstrument.installationDate',
114
+ selectToMap: '',
81
115
  };
82
116
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SapInstalledInstrumentListTableComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.SapInstalledInstrumentsService }], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SapInstalledInstrumentListTableComponent, selector: "app-sap-installed-instrument-list-table", inputs: { tableData: "tableData" }, outputs: { sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesInheritance: true, ngImport: i0, template: "<table\r\n mat-table\r\n [dataSource]=\"dataSource\"\r\n style=\"width: 100%\"\r\n class=\"no-hover\"\r\n matSort\r\n>\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of tableColumns\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ mapTableColumns[column] | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <ng-container *ngIf=\"column === 'installationDate'\">\r\n {{ element[column] | stDateFormatPipe }}\r\n </ng-container>\r\n <ng-container *ngIf=\"column !== 'installationDate'\">\r\n {{ element[column] }}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"tableColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: tableColumns\"\r\n (click)=\"rowClicked(row)\"\r\n ></tr>\r\n</table>\r\n<mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n [showFirstLastButtons]=\"true\"\r\n></mat-paginator>\r\n", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;color:#0000008a;font-size:12px}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i6.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i6.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SapInstalledInstrumentListTableComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.SapInstalledInstrumentsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SapInstalledInstrumentListTableComponent, selector: "app-sap-installed-instrument-list-table", inputs: { tableData: "tableData", useMapButton: "useMapButton" }, outputs: { sortChanged: "sortChanged" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"row show-on-map-actions\" *ngIf=\"useMapButton\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\">\r\n Selected: {{ showOnMapSelection.selected.length }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (\r\n instrument of showOnMapSelection.selected;\r\n track instrument.equipmentCardNo\r\n ) {\r\n <button mat-menu-item>{{ instrument.equipmentCardNo }}</button>\r\n }\r\n </mat-menu>\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"redirectToShowOnMap()\"\r\n [disabled]=\"showOnMapSelection.selected.length === 0\"\r\n >\r\n Show On Map\r\n </button>\r\n</div>\r\n\r\n<table\r\n mat-table\r\n [dataSource]=\"dataSource\"\r\n style=\"width: 100%\"\r\n class=\"no-hover\"\r\n matSort\r\n>\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of tableColumns\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n @if (column !== 'selectToMap') {\r\n {{ mapTableColumns[column] | translate }}\r\n } @else {}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n @if (column === 'selectToMap') {\r\n <mat-checkbox\r\n [checked]=\"showOnMapSelection.isSelected(element)\"\r\n (change)=\"changeRowSelection($event, element)\"\r\n [disabled]=\"!element.sfId\"\r\n ></mat-checkbox>\r\n } @else if (column === 'installationDate') {\r\n {{ element[column] | stDateFormatPipe }}\r\n } @else {\r\n {{ element[column] }}\r\n }\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"tableColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: tableColumns\"\r\n (click)=\"rowClicked(row)\"\r\n ></tr>\r\n</table>\r\n<mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n [showFirstLastButtons]=\"true\"\r\n></mat-paginator>\r\n", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;color:#0000008a;font-size:12px}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.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: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }, { kind: "pipe", type: i11.DateFormatPipe, name: "stDateFormatPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
85
119
  }
86
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SapInstalledInstrumentListTableComponent, decorators: [{
87
121
  type: Component,
88
- args: [{ selector: 'app-sap-installed-instrument-list-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table\r\n mat-table\r\n [dataSource]=\"dataSource\"\r\n style=\"width: 100%\"\r\n class=\"no-hover\"\r\n matSort\r\n>\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of tableColumns\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ mapTableColumns[column] | translate }}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <ng-container *ngIf=\"column === 'installationDate'\">\r\n {{ element[column] | stDateFormatPipe }}\r\n </ng-container>\r\n <ng-container *ngIf=\"column !== 'installationDate'\">\r\n {{ element[column] }}\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"tableColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: tableColumns\"\r\n (click)=\"rowClicked(row)\"\r\n ></tr>\r\n</table>\r\n<mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n [showFirstLastButtons]=\"true\"\r\n></mat-paginator>\r\n", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;color:#0000008a;font-size:12px}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"] }]
89
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.SapInstalledInstrumentsService }], propDecorators: { paginator: [{
122
+ args: [{ selector: 'app-sap-installed-instrument-list-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row show-on-map-actions\" *ngIf=\"useMapButton\">\r\n <button mat-button [matMenuTriggerFor]=\"menu\">\r\n Selected: {{ showOnMapSelection.selected.length }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n @for (\r\n instrument of showOnMapSelection.selected;\r\n track instrument.equipmentCardNo\r\n ) {\r\n <button mat-menu-item>{{ instrument.equipmentCardNo }}</button>\r\n }\r\n </mat-menu>\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"redirectToShowOnMap()\"\r\n [disabled]=\"showOnMapSelection.selected.length === 0\"\r\n >\r\n Show On Map\r\n </button>\r\n</div>\r\n\r\n<table\r\n mat-table\r\n [dataSource]=\"dataSource\"\r\n style=\"width: 100%\"\r\n class=\"no-hover\"\r\n matSort\r\n>\r\n <ng-container [matColumnDef]=\"column\" *ngFor=\"let column of tableColumns\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n @if (column !== 'selectToMap') {\r\n {{ mapTableColumns[column] | translate }}\r\n } @else {}\r\n </th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n @if (column === 'selectToMap') {\r\n <mat-checkbox\r\n [checked]=\"showOnMapSelection.isSelected(element)\"\r\n (change)=\"changeRowSelection($event, element)\"\r\n [disabled]=\"!element.sfId\"\r\n ></mat-checkbox>\r\n } @else if (column === 'installationDate') {\r\n {{ element[column] | stDateFormatPipe }}\r\n } @else {\r\n {{ element[column] }}\r\n }\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"tableColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: tableColumns\"\r\n (click)=\"rowClicked(row)\"\r\n ></tr>\r\n</table>\r\n<mat-paginator\r\n [pageSizeOptions]=\"[10, 20]\"\r\n [showFirstLastButtons]=\"true\"\r\n></mat-paginator>\r\n", styles: [".search-form button{height:40px}.search-form mat-form-field:first-child{padding-left:0}.search-form mat-form-field:last-child{padding-right:0}.search-form .clear{padding:0}.search-form .clear i{height:20px;width:20px;font-size:20px;cursor:pointer}table{width:100%;box-shadow:none}table th.mat-mdc-header-cell,table td.mat-mdc-cell,table td.mat-mdc-footer-cell{padding:0}table th.mat-mdc-header-cell:first-of-type,table td.mat-mdc-cell:first-of-type,table td.mat-mdc-footer-cell:first-of-type{padding-left:12px}table th.mat-mdc-header-cell:last-of-type,table td.mat-mdc-cell:last-of-type,table td.mat-mdc-footer-cell:last-of-type{padding-right:12px}table::ng-deep thead tr{background-color:#fff9c4;height:40px!important}table::ng-deep thead tr th{border-color:#fdd835;color:#0000008a;font-size:12px}table::ng-deep tbody>tr{cursor:pointer}table::ng-deep tbody>tr.active{background-color:#a5d6a7}table::ng-deep tbody>tr.active td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr:hover{background-color:#a5d6a7!important}table::ng-deep tbody>tr:hover td{border-bottom-color:#81c784!important}table::ng-deep tbody>tr.disabled{cursor:not-allowed}table::ng-deep tbody>tr.disabled:hover{background-color:inherit!important}table::ng-deep tbody>tr.detail-row{height:0;cursor:default}table::ng-deep tbody>tr.detail-row:hover{background-color:transparent}table::ng-deep tbody>tr.detail-row .element-detail{overflow:hidden;display:flex}table::ng-deep tbody>tr.detail-row .element-detail p{padding:20px 0;margin-bottom:0;white-space:pre-wrap}table::ng-deep tbody>tr td i.active-row{color:#1b5e20;font-weight:700;font-size:25px;height:25px;width:25px;margin-top:2px}table::ng-deep tbody>tr td>div{max-height:200px;overflow:hidden;overflow-y:auto}table::ng-deep tbody>tr td a button{color:#000}table::ng-deep tbody>tr td a i{color:#333}table::ng-deep .mat-column-active{width:48px}table.no-hover::ng-deep tbody tr{cursor:default}table.no-hover::ng-deep tbody tr.active{background-color:transparent!important}table.no-hover::ng-deep tbody tr.active td{border-bottom-color:#0000001f!important}table.no-hover::ng-deep tbody tr:hover{background-color:transparent!important}table.no-hover::ng-deep tbody tr:hover td{border-bottom-color:#0000001f!important}table.admin-table::ng-deep .actions-cell{width:100px}\n"] }]
123
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.SapInstalledInstrumentsService }, { type: i0.ChangeDetectorRef }], propDecorators: { paginator: [{
90
124
  type: ViewChild,
91
125
  args: [MatPaginator, { static: true }]
92
126
  }], sort: [{
@@ -94,7 +128,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
94
128
  args: [MatSort]
95
129
  }], tableData: [{
96
130
  type: Input
131
+ }], useMapButton: [{
132
+ type: Input
97
133
  }], sortChanged: [{
98
134
  type: Output
99
135
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0L3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC10YWJsZS9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sd0NBQ1gsU0FBUSwyQkFBMkI7SUFNbkMsSUFDSSxTQUFTLENBQUMsSUFBdUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFB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Q2pFLENBQUM7SUFDSixDQUFDOytHQWhHVSx3Q0FBd0M7bUdBQXhDLHdDQUF3Qyx1TUFJeEMsWUFBWSxxRkFDWixPQUFPLHVFQzlCcEIseStCQWdDQTs7NEZEUGEsd0NBQXdDO2tCQU5wRCxTQUFTOytCQUNFLHlDQUF5QyxtQkFHbEMsdUJBQXVCLENBQUMsTUFBTTtxSkFNSixTQUFTO3NCQUFuRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTztnQkFHZCxTQUFTO3NCQURaLEtBQUs7Z0JBTU4sV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN0U3Vic2NyaWJlRGVzdHJveUNvbXBvbmVudCB9IGZyb20gJ25neC1zdC1iYXNlLWZ1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTYXBJbnN0YWxsZWRJbnN0cnVtZW50TGlzdE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgTWF0U29ydCwgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBJbnN0YWxsZWRJbnN0cnVtZW50VGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaW5zdGFsbGVkLWluc3RydW1lbnQtdGFibGUtY29sdW1ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEluc3RhbGxlZEluc3RydW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYXBJbnN0YWxsZWRJbnN0cnVtZW50TGlzdFRhYmxlQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBTdFN1YnNjcmliZURlc3Ryb3lDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydDogTWF0U29ydDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdGFibGVEYXRhKGRhdGE6IFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0TW9kZWxbXSkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc29ydENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XHJcblxyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxTYXBJbnN0YWxsZWRJbnN0cnVtZW50TGlzdE1vZGVsPiA9XHJcbiAgICBuZXcgTWF0VGFibGVEYXRhU291cmNlKCk7XHJcblxyXG4gIHRhYmxlQ29sdW1uczogSW5zdGFsbGVkSW5zdHJ1bWVudFRhYmxlQ29sdW1uc01vZGVsW10gPSBbXHJcbiAgICAnaW5zdHJ1bWVudE5vJyxcclxuICAgICdpbnN0cnVtZW50RGVzY3JpcHRpb24nLFxyXG4gICAgJ3NlcmlhbE51bWJlcicsXHJcbiAgICAnY3VzdG9tZXJObycsXHJcbiAgICAnYnVzaW5lc3NQYXJ0bmVyTmFtZScsXHJcbiAgICAnZW5kVXNlck5hbWUnLFxyXG4gICAgJ2NpdHknLFxyXG4gICAgJ3RlcnJpdG9yeUlkJyxcclxuICAgICdjb3VudHJ5JyxcclxuICAgICdpbnN0YWxsYXRpb25EYXRlJyxcclxuICAgICdzdGF0dXMnLFxyXG4gIF07XHJcbiAgbWFwVGFibGVDb2x1bW5zOiB7IFtmaWVsZDogc3RyaW5nXTogc3RyaW5nIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzYXBJbnN0YWxsZWRJbnN0cnVtZW50czogU2FwSW5zdGFsbGVkSW5zdHJ1bWVudHNTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFRhYmxlQ29sdW1ucygpO1xyXG4gICAgaWYgKCF0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRzLnRlcnJpdG9yeUZpbHRlcikge1xyXG4gICAgICB0aGlzLnRhYmxlQ29sdW1ucyA9IHRoaXMudGFibGVDb2x1bW5zLmZpbHRlcihcclxuICAgICAgICBjb2x1bW4gPT4gY29sdW1uICE9PSAndGVycml0b3J5SWQnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuXHJcbiAgICB0aGlzLnNvcnQuc29ydENoYW5nZS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zb3J0Q2hhbmdlZC5lbWl0KHJlcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBxdWVyeVBhcmFtc0tleXMgPSBPYmplY3Qua2V5cyhcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyB8fCB7fVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHF1ZXJ5UGFyYW1zS2V5cy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2FjdGl2ZSddICYmXHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2RpcmVjdGlvbiddXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zb3J0LnNvcnQoe1xyXG4gICAgICAgIGlkOiB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydhY3RpdmUnXSxcclxuICAgICAgICBzdGFydDogdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snZGlyZWN0aW9uJ10sXHJcbiAgICAgICAgZGlzYWJsZUNsZWFyOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3dDbGlja2VkKHJvdzogU2FwSW5zdGFsbGVkSW5zdHJ1bWVudExpc3RNb2RlbCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydkZXRhaWxzJywgcm93LmVxdWlwbWVudENhcmROb10sIHtcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRUYWJsZUNvbHVtbnMoKSB7XHJcbiAgICB0aGlzLm1hcFRhYmxlQ29sdW1ucyA9IHtcclxuICAgICAgaW5zdHJ1bWVudE5vOiAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50Lmluc3RydW1lbnRObycsXHJcbiAgICAgIGluc3RydW1lbnREZXNjcmlwdGlvbjpcclxuICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50Lmluc3RydW1lbnREZXNjcmlwdGlvbicsXHJcbiAgICAgIHNlcmlhbE51bWJlcjogJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5zZXJpYWxOdW1iZXInLFxyXG4gICAgICBjdXN0b21lck5vOiAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmFjY291bnRObycsXHJcbiAgICAgIGJ1c2luZXNzUGFydG5lck5hbWU6ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuYWNjb3VudE5hbWUnLFxyXG4gICAgICBlbmRVc2VyTmFtZTogJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5lbmRDdXN0b21lcicsXHJcbiAgICAgIGNpdHk6ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY2l0eScsXHJcbiAgICAgIHRlcnJpdG9yeUlkOiAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnRlcnJpdG9yeScsXHJcbiAgICAgIGNvdW50cnk6ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuY291bnRyeScsXHJcbiAgICAgIHN0YXR1czogJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5zdGF0dXMnLFxyXG4gICAgICBpbnN0YWxsYXRpb25EYXRlOiAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50Lmluc3RhbGxhdGlvbkRhdGUnLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPHRhYmxlXHJcbiAgbWF0LXRhYmxlXHJcbiAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXHJcbiAgc3R5bGU9XCJ3aWR0aDogMTAwJVwiXHJcbiAgY2xhc3M9XCJuby1ob3ZlclwiXHJcbiAgbWF0U29ydFxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtblwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgdGFibGVDb2x1bW5zXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj5cclxuICAgICAge3sgbWFwVGFibGVDb2x1bW5zW2NvbHVtbl0gfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uID09PSAnaW5zdGFsbGF0aW9uRGF0ZSdcIj5cclxuICAgICAgICB7eyBlbGVtZW50W2NvbHVtbl0gfCBzdERhdGVGb3JtYXRQaXBlIH19XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uICE9PSAnaW5zdGFsbGF0aW9uRGF0ZSdcIj5cclxuICAgICAgICB7eyBlbGVtZW50W2NvbHVtbl0gfX1cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cInRhYmxlQ29sdW1uc1wiPjwvdHI+XHJcbiAgPHRyXHJcbiAgICBtYXQtcm93XHJcbiAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogdGFibGVDb2x1bW5zXCJcclxuICAgIChjbGljayk9XCJyb3dDbGlja2VkKHJvdylcIlxyXG4gID48L3RyPlxyXG48L3RhYmxlPlxyXG48bWF0LXBhZ2luYXRvclxyXG4gIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzEwLCAyMF1cIlxyXG4gIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJ0cnVlXCJcclxuPjwvbWF0LXBhZ2luYXRvcj5cclxuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0L3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC10YWJsZS9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVB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QUFHO1lBQ3JCLFlBQVksRUFBRSwwQ0FBMEM7WUFDeEQscUJBQXFCLEVBQ25CLG1EQUFtRDtZQUNyRCxZQUFZLEVBQUUsMENBQTBDO1lBQ3hELFVBQVUsRUFBRSx1Q0FBdUM7WUFDbkQsbUJBQW1CLEVBQUUseUNBQXlDO1lBQzlELFdBQVcsRUFBRSx5Q0FBeUM7WUFDdEQsSUFBSSxFQUFFLGtDQUFrQztZQUN4QyxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELE9BQU8sRUFBRSxxQ0FBcUM7WUFDOUMsTUFBTSxFQUFFLG9DQUFvQztZQUM1QyxnQkFBZ0IsRUFBRSw4Q0FBOEM7WUFDaEUsV0FBVyxFQUFFLEVBQUU7U0FDaEIsQ0FBQztJQUNKLENBQUM7K0dBeklVLHdDQUF3QzttR0FBeEMsd0NBQXdDLHFPQUl4QyxZQUFZLHFGQUNaLE9BQU8sdUVDbENwQiwrMkRBNkRBOzs0RkRoQ2Esd0NBQXdDO2tCQU5wRCxTQUFTOytCQUNFLHlDQUF5QyxtQkFHbEMsdUJBQXVCLENBQUMsTUFBTTtxTEFNSixTQUFTO3NCQUFuRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTztnQkFHZCxTQUFTO3NCQURaLEtBQUs7Z0JBTU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdFN1YnNjcmliZURlc3Ryb3lDb21wb25lbnQgfSBmcm9tICduZ3gtc3QtYmFzZS1mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2FwSW5zdGFsbGVkSW5zdHJ1bWVudExpc3RNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC5tb2RlbCc7XHJcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgSW5zdGFsbGVkSW5zdHJ1bWVudFRhYmxlQ29sdW1uc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luc3RhbGxlZC1pbnN0cnVtZW50LXRhYmxlLWNvbHVtbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBJbnN0YWxsZWRJbnN0cnVtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0VGFibGVDb21wb25lbnRcclxuICBleHRlbmRzIFN0U3Vic2NyaWJlRGVzdHJveUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0XHJcbntcclxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB0YWJsZURhdGEoZGF0YTogU2FwSW5zdGFsbGVkSW5zdHJ1bWVudExpc3RNb2RlbFtdKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHVzZU1hcEJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzb3J0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydD4oKTtcclxuXHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0TW9kZWw+ID1cclxuICAgIG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoKTtcclxuXHJcbiAgdGFibGVDb2x1bW5zOiBJbnN0YWxsZWRJbnN0cnVtZW50VGFibGVDb2x1bW5zTW9kZWxbXSA9IFtcclxuICAgICdpbnN0cnVtZW50Tm8nLFxyXG4gICAgJ2luc3RydW1lbnREZXNjcmlwdGlvbicsXHJcbiAgICAnc2VyaWFsTnVtYmVyJyxcclxuICAgICdjdXN0b21lck5vJyxcclxuICAgICdidXNpbmVzc1BhcnRuZXJOYW1lJyxcclxuICAgICdlbmRVc2VyTmFtZScsXHJcbiAgICAnY2l0eScsXHJcbiAgICAndGVycml0b3J5SWQnLFxyXG4gICAgJ2NvdW50cnknLFxyXG4gICAgJ2luc3RhbGxhdGlvbkRhdGUnLFxyXG4gICAgJ3N0YXR1cycsXHJcbiAgXTtcclxuICBtYXBUYWJsZUNvbHVtbnM6IHsgW2ZpZWxkOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbiAgc2hvd09uTWFwU2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0TW9kZWw+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzYXBJbnN0YWxsZWRJbnN0cnVtZW50czogU2FwSW5zdGFsbGVkSW5zdHJ1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0VGFibGVDb2x1bW5zKCk7XHJcbiAgICBpZiAoIXRoaXMuc2FwSW5zdGFsbGVkSW5zdHJ1bWVudHMudGVycml0b3J5RmlsdGVyKSB7XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gdGhpcy50YWJsZUNvbHVtbnMuZmlsdGVyKFxyXG4gICAgICAgIGNvbHVtbiA9PiBjb2x1bW4gIT09ICd0ZXJyaXRvcnlJZCdcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG5cclxuICAgIHRoaXMuc29ydC5zb3J0Q2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMubmdEZXN0cm95ZWQkKSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdChyZXMpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcXVlcnlQYXJhbXNLZXlzID0gT2JqZWN0LmtleXMoXHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMgfHwge31cclxuICAgICk7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBxdWVyeVBhcmFtc0tleXMubGVuZ3RoID4gMCAmJlxyXG4gICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydhY3RpdmUnXSAmJlxyXG4gICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydkaXJlY3Rpb24nXVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc29ydC5zb3J0KHtcclxuICAgICAgICBpZDogdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snYWN0aXZlJ10sXHJcbiAgICAgICAgc3RhcnQ6IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbJ2RpcmVjdGlvbiddLFxyXG4gICAgICAgIGRpc2FibGVDbGVhcjogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcm93Q2xpY2tlZChyb3c6IFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0TW9kZWwpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZGV0YWlscycsIHJvdy5lcXVpcG1lbnRDYXJkTm9dLCB7XHJcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVJvd1NlbGVjdGlvbihldmVudDogYW55LCByb3c6IFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0TW9kZWwpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMuc2hvd09uTWFwU2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KSkge1xyXG4gICAgICB0aGlzLnNob3dPbk1hcFNlbGVjdGlvbi5kZXNlbGVjdChyb3cpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93T25NYXBTZWxlY3Rpb24uc2VsZWN0KHJvdyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHJlZGlyZWN0VG9TaG93T25NYXAoKSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgIC5zZXQoXHJcbiAgICAgICAgJ3JlY29yZElkcycsXHJcbiAgICAgICAgdGhpcy5zaG93T25NYXBTZWxlY3Rpb24uc2VsZWN0ZWRcclxuICAgICAgICAgIC5tYXAoaW5zdHJ1bWVudCA9PiBpbnN0cnVtZW50LnNmSWQpXHJcbiAgICAgICAgICAuam9pbignLCcpXHJcbiAgICAgIClcclxuICAgICAgLnNldCgnYmFzZU9iamVjdElkJywgJ2Ewa1FvMDAwMDAybk5hRElBVScpXHJcbiAgICAgIC5zZXQoJ3Rvb2x0aXBGaWVsZCcsICdJbnRydW1lbnROYW1lX19jJylcclxuICAgICAgLnNldCgnem9vbScsICc4JylcclxuICAgICAgLnNldCgnY29sb3InLCAnIzY2RkYwMCcpO1xyXG5cclxuICAgIHdpbmRvdy5vcGVuKFxyXG4gICAgICBgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufS9hcGV4L21hcHNfX01hcHM/JHtwYXJhbXMudG9TdHJpbmcoKX1gLFxyXG4gICAgICAnX2JsYW5rJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VGFibGVDb2x1bW5zKCkge1xyXG4gICAgaWYgKHRoaXMudXNlTWFwQnV0dG9uKSB7XHJcbiAgICAgIHRoaXMudGFibGVDb2x1bW5zLnVuc2hpZnQoJ3NlbGVjdFRvTWFwJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tYXBUYWJsZUNvbHVtbnMgPSB7XHJcbiAgICAgIGluc3RydW1lbnRObzogJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5pbnN0cnVtZW50Tm8nLFxyXG4gICAgICBpbnN0cnVtZW50RGVzY3JpcHRpb246XHJcbiAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5pbnN0cnVtZW50RGVzY3JpcHRpb24nLFxyXG4gICAgICBzZXJpYWxOdW1iZXI6ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc2VyaWFsTnVtYmVyJyxcclxuICAgICAgY3VzdG9tZXJObzogJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5hY2NvdW50Tm8nLFxyXG4gICAgICBidXNpbmVzc1BhcnRuZXJOYW1lOiAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmFjY291bnROYW1lJyxcclxuICAgICAgZW5kVXNlck5hbWU6ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuZW5kQ3VzdG9tZXInLFxyXG4gICAgICBjaXR5OiAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmNpdHknLFxyXG4gICAgICB0ZXJyaXRvcnlJZDogJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC50ZXJyaXRvcnknLFxyXG4gICAgICBjb3VudHJ5OiAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LmNvdW50cnknLFxyXG4gICAgICBzdGF0dXM6ICdzYXBBZG1pbkluc3RhbGxlZEluc3RydW1lbnQuc3RhdHVzJyxcclxuICAgICAgaW5zdGFsbGF0aW9uRGF0ZTogJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC5pbnN0YWxsYXRpb25EYXRlJyxcclxuICAgICAgc2VsZWN0VG9NYXA6ICcnLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvdyBzaG93LW9uLW1hcC1hY3Rpb25zXCIgKm5nSWY9XCJ1c2VNYXBCdXR0b25cIj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cclxuICAgIFNlbGVjdGVkOiB7eyBzaG93T25NYXBTZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoIH19XHJcbiAgPC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gICAgQGZvciAoXHJcbiAgICAgIGluc3RydW1lbnQgb2Ygc2hvd09uTWFwU2VsZWN0aW9uLnNlbGVjdGVkO1xyXG4gICAgICB0cmFjayBpbnN0cnVtZW50LmVxdWlwbWVudENhcmROb1xyXG4gICAgKSB7XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbT57eyBpbnN0cnVtZW50LmVxdWlwbWVudENhcmRObyB9fTwvYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvbWF0LW1lbnU+XHJcbiAgPGJ1dHRvblxyXG4gICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAoY2xpY2spPVwicmVkaXJlY3RUb1Nob3dPbk1hcCgpXCJcclxuICAgIFtkaXNhYmxlZF09XCJzaG93T25NYXBTZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoID09PSAwXCJcclxuICA+XHJcbiAgICBTaG93IE9uIE1hcFxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjx0YWJsZVxyXG4gIG1hdC10YWJsZVxyXG4gIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxyXG4gIHN0eWxlPVwid2lkdGg6IDEwMCVcIlxyXG4gIGNsYXNzPVwibm8taG92ZXJcIlxyXG4gIG1hdFNvcnRcclxuPlxyXG4gIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjb2x1bW5cIiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHRhYmxlQ29sdW1uc1wiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+XHJcbiAgICAgIEBpZiAoY29sdW1uICE9PSAnc2VsZWN0VG9NYXAnKSB7XHJcbiAgICAgICAge3sgbWFwVGFibGVDb2x1bW5zW2NvbHVtbl0gfCB0cmFuc2xhdGUgfX1cclxuICAgICAgfSBAZWxzZSB7fVxyXG4gICAgPC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIEBpZiAoY29sdW1uID09PSAnc2VsZWN0VG9NYXAnKSB7XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwic2hvd09uTWFwU2VsZWN0aW9uLmlzU2VsZWN0ZWQoZWxlbWVudClcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VSb3dTZWxlY3Rpb24oJGV2ZW50LCBlbGVtZW50KVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVsZW1lbnQuc2ZJZFwiXHJcbiAgICAgICAgPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgICB9IEBlbHNlIGlmIChjb2x1bW4gPT09ICdpbnN0YWxsYXRpb25EYXRlJykge1xyXG4gICAgICAgIHt7IGVsZW1lbnRbY29sdW1uXSB8IHN0RGF0ZUZvcm1hdFBpcGUgfX1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAge3sgZWxlbWVudFtjb2x1bW5dIH19XHJcbiAgICAgIH1cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwidGFibGVDb2x1bW5zXCI+PC90cj5cclxuICA8dHJcclxuICAgIG1hdC1yb3dcclxuICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiB0YWJsZUNvbHVtbnNcIlxyXG4gICAgKGNsaWNrKT1cInJvd0NsaWNrZWQocm93KVwiXHJcbiAgPjwvdHI+XHJcbjwvdGFibGU+XHJcbjxtYXQtcGFnaW5hdG9yXHJcbiAgW3BhZ2VTaXplT3B0aW9uc109XCJbMTAsIDIwXVwiXHJcbiAgW3Nob3dGaXJzdExhc3RCdXR0b25zXT1cInRydWVcIlxyXG4+PC9tYXQtcGFnaW5hdG9yPlxyXG4iXX0=
@@ -14,34 +14,25 @@ export class SapInstalledInstrumentListComponent {
14
14
  this.activatedRoute = activatedRoute;
15
15
  this.class = 'display-flex-component';
16
16
  this.showWithCardContent = true;
17
+ this.useMapButton = false;
17
18
  this.installedInstruments = [];
18
19
  this.lastSearchFilters = {};
19
20
  this.lastSearchSorts = {};
20
- this.sapInstalledInstrumentService.accessToken = this.accessToken;
21
- this.sapInstalledInstrumentService.territoryFilter = this.territoryFilter;
22
21
  }
23
22
  ngOnInit() {
24
- const queryParamsKeys = Object.keys(this.activatedRoute.snapshot.queryParams || {});
25
- if (queryParamsKeys.length > 0) {
26
- queryParamsKeys.forEach(queryParam => {
27
- if (queryParam === 'active' || queryParam === 'direction') {
28
- this.lastSearchSorts[queryParam] =
29
- this.activatedRoute.snapshot.queryParams[queryParam];
30
- }
31
- else {
32
- this.lastSearchFilters[queryParam] =
33
- this.activatedRoute.snapshot.queryParams[queryParam];
34
- this.lastSearchFilters['installationDateFrom'] = this.activatedRoute
35
- .snapshot.queryParams['installationDateFrom']
36
- ? new Date(this.activatedRoute.snapshot.queryParams['installationDateFrom'])
37
- : null;
38
- this.lastSearchFilters['installationDateTo'] = this.activatedRoute
39
- .snapshot.queryParams['installationDateTo']
40
- ? new Date(this.activatedRoute.snapshot.queryParams['installationDateTo'])
41
- : null;
42
- }
43
- });
23
+ this.sapInstalledInstrumentService.territoryFilter = this.territoryFilter;
24
+ const queryParams = this.activatedRoute.snapshot.queryParams || {};
25
+ const { active, direction, ...filterParams } = queryParams;
26
+ if (active || direction) {
27
+ this.lastSearchSorts = { active, direction };
44
28
  }
29
+ this.lastSearchFilters = {
30
+ ...filterParams,
31
+ installationDateFrom: filterParams['installationDateFrom'] ?
32
+ new Date(filterParams['installationDateFrom']) : null,
33
+ installationDateTo: filterParams['installationDateTo'] ?
34
+ new Date(filterParams['installationDateTo']) : null
35
+ };
45
36
  this.loadInstalledInstruments(this.lastSearchFilters, this.lastSearchSorts);
46
37
  }
47
38
  filtersChanged(event) {
@@ -69,11 +60,11 @@ export class SapInstalledInstrumentListComponent {
69
60
  });
70
61
  }
71
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SapInstalledInstrumentListComponent, deps: [{ token: i1.SapInstalledInstrumentsService }, { token: i0.ChangeDetectorRef }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SapInstalledInstrumentListComponent, selector: "app-sap-installed-instrument-list", inputs: { accessToken: "accessToken", territoryFilter: "territoryFilter", showWithCardContent: "showWithCardContent" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"container-fluid no-cut\" *ngIf=\"showWithCardContent\">\r\n <div class=\"card\">\r\n <div class=\"card-header card-header-warning\">\r\n <h3 class=\"card-title\">\r\n {{\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n }}\r\n </h3>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!showWithCardContent\">\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\r\n <app-sap-installed-instrument-list-search\r\n (filtersChanged)=\"filtersChanged($event)\"\r\n ></app-sap-installed-instrument-list-search>\r\n\r\n <app-sap-installed-instrument-list-table\r\n [tableData]=\"installedInstruments\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: ["", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.SapInstalledInstrumentListSearchComponent, selector: "app-sap-installed-instrument-list-search", outputs: ["filtersChanged"] }, { kind: "component", type: i5.SapInstalledInstrumentListTableComponent, selector: "app-sap-installed-instrument-list-table", inputs: ["tableData"], outputs: ["sortChanged"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SapInstalledInstrumentListComponent, selector: "app-sap-installed-instrument-list", inputs: { accessToken: "accessToken", territoryFilter: "territoryFilter", showWithCardContent: "showWithCardContent", useMapButton: "useMapButton" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"container-fluid no-cut\" *ngIf=\"showWithCardContent\">\r\n <div class=\"card\">\r\n <div class=\"card-header card-header-warning\">\r\n <h3 class=\"card-title\">\r\n {{\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n }}\r\n </h3>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!showWithCardContent\">\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\r\n <app-sap-installed-instrument-list-search\r\n (filtersChanged)=\"filtersChanged($event)\"\r\n ></app-sap-installed-instrument-list-search>\r\n\r\n <app-sap-installed-instrument-list-table\r\n [tableData]=\"installedInstruments\"\r\n [useMapButton]=\"useMapButton\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: ["", ".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.SapInstalledInstrumentListSearchComponent, selector: "app-sap-installed-instrument-list-search", outputs: ["filtersChanged"] }, { kind: "component", type: i5.SapInstalledInstrumentListTableComponent, selector: "app-sap-installed-instrument-list-table", inputs: ["tableData", "useMapButton"], outputs: ["sortChanged"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
73
64
  }
74
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SapInstalledInstrumentListComponent, decorators: [{
75
66
  type: Component,
76
- args: [{ selector: 'app-sap-installed-instrument-list', template: "<div class=\"container-fluid no-cut\" *ngIf=\"showWithCardContent\">\r\n <div class=\"card\">\r\n <div class=\"card-header card-header-warning\">\r\n <h3 class=\"card-title\">\r\n {{\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n }}\r\n </h3>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!showWithCardContent\">\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\r\n <app-sap-installed-instrument-list-search\r\n (filtersChanged)=\"filtersChanged($event)\"\r\n ></app-sap-installed-instrument-list-search>\r\n\r\n <app-sap-installed-instrument-list-table\r\n [tableData]=\"installedInstruments\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: [".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"] }]
67
+ args: [{ selector: 'app-sap-installed-instrument-list', template: "<div class=\"container-fluid no-cut\" *ngIf=\"showWithCardContent\">\r\n <div class=\"card\">\r\n <div class=\"card-header card-header-warning\">\r\n <h3 class=\"card-title\">\r\n {{\r\n 'sapAdminInstalledInstrument.titleInstalledInstrumentList' | translate\r\n }}\r\n </h3>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"installedInstrumentContent\"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"!showWithCardContent\">\r\n <ng-container [ngTemplateOutlet]=\"installedInstrumentContent\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #installedInstrumentContent>\r\n <div style=\"display: flex; flex-direction: column; width: 100%\">\r\n <app-sap-installed-instrument-list-search\r\n (filtersChanged)=\"filtersChanged($event)\"\r\n ></app-sap-installed-instrument-list-search>\r\n\r\n <app-sap-installed-instrument-list-table\r\n [tableData]=\"installedInstruments\"\r\n [useMapButton]=\"useMapButton\"\r\n (sortChanged)=\"sortChanged($event)\"\r\n ></app-sap-installed-instrument-list-table>\r\n </div>\r\n</ng-template>\r\n", styles: [".card{background:#fff;border:none;box-shadow:0 1px 4px #00000024;margin-bottom:30px;margin-top:30px;font-size:1rem}.card .card-header{max-width:380px;text-align:center;margin-left:auto!important;margin-right:auto!important;border-radius:3px;margin-top:-20px;background:linear-gradient(60deg,#ffa726,#fb8c00)!important;padding:15px 30px;border:none}.card .card-header h4,.card .card-header h3{margin:0!important;color:#fff;font-size:1.5625rem;line-height:1.4em;font-weight:400}.card .card-body{position:relative;padding:.5rem}.card .card-body .back-link{color:#000;position:absolute;top:-40px;left:5px}\n"] }]
77
68
  }], ctorParameters: () => [{ type: i1.SapInstalledInstrumentsService }, { type: i0.ChangeDetectorRef }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { class: [{
78
69
  type: HostBinding,
79
70
  args: ['class']
@@ -83,5 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
83
74
  type: Input
84
75
  }], showWithCardContent: [{
85
76
  type: Input
77
+ }], useMapButton: [{
78
+ type: Input
86
79
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0L3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBZXZCLE1BQU0sT0FBTyxtQ0FBbUM7SUFtQjlDLFlBQ1UsNkJBQTZELEVBQzdELGNBQWlDLEVBQ2pDLE1BQWMsRUFDZCxjQUE4QjtRQUg5QixrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQWdDO1FBQzdELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdEJsQixVQUFLLEdBQUcsd0JBQXdCLENBQUM7UUFTdkQsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRTNCLHlCQUFvQixHQUFzQyxFQUFFLENBQUM7UUFFckQsc0JBQWlCLEdBRXhCLEVBQUUsQ0FBQztRQUNJLG9CQUFlLEdBQWUsRUFBRSxDQUFDO1FBUXZDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNsRSxJQUFJLENBQUMsNkJB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QixHQUFHLEdBQUcsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0E1RlUsbUNBQW1DO21HQUFuQyxtQ0FBbUMsa1BDckJoRCxvcENBa0NBOzs0RkRiYSxtQ0FBbUM7a0JBUi9DLFNBQVM7K0JBQ0UsbUNBQW1DO3FMQVF2QixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBR3BCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYXBJbnN0YWxsZWRJbnN0cnVtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2FwSW5zdGFsbGVkSW5zdHJ1bWVudExpc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC5tb2RlbCc7XHJcbmltcG9ydCB7IEluc3RhbGxlZEluc3RydW1lbnRGb3JtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvaW5zdGFsbGVkLWluc3RydW1lbnQtZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgJy4uLy4uLy4uLy4uL2Fzc2V0cy9iYXNlLWNhcmQuc2NzcycsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnZGlzcGxheS1mbGV4LWNvbXBvbmVudCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICB0ZXJyaXRvcnlGaWx0ZXI6IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1dpdGhDYXJkQ29udGVudCA9IHRydWU7XHJcblxyXG4gIGluc3RhbGxlZEluc3RydW1lbnRzOiBTYXBJbnN0YWxsZWRJbnN0cnVtZW50TGlzdE1vZGVsW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBsYXN0U2VhcmNoRmlsdGVyczogSW5zdGFsbGVkSW5zdHJ1bWVudEZvcm1Nb2RlbCB8IGFueSA9IDxcclxuICAgIEluc3RhbGxlZEluc3RydW1lbnRGb3JtTW9kZWxcclxuICA+e307XHJcbiAgcHJpdmF0ZSBsYXN0U2VhcmNoU29ydHM6IFNvcnQgPSA8U29ydD57fTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlOiBTYXBJbnN0YWxsZWRJbnN0cnVtZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICkge1xyXG4gICAgdGhpcy5zYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZS5hY2Nlc3NUb2tlbiA9IHRoaXMuYWNjZXNzVG9rZW47XHJcbiAgICB0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlLnRlcnJpdG9yeUZpbHRlciA9IHRoaXMudGVycml0b3J5RmlsdGVyO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBxdWVyeVBhcmFtc0tleXMgPSBPYmplY3Qua2V5cyhcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyB8fCB7fVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAocXVlcnlQYXJhbXNLZXlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcXVlcnlQYXJhbXNLZXlzLmZvckVhY2gocXVlcnlQYXJhbSA9PiB7XHJcbiAgICAgICAgaWYgKHF1ZXJ5UGFyYW0gPT09ICdhY3RpdmUnIHx8IHF1ZXJ5UGFyYW0gPT09ICdkaXJlY3Rpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLmxhc3RTZWFyY2hTb3J0c1txdWVyeVBhcmFtXSA9XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXNbcXVlcnlQYXJhbV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubGFzdFNlYXJjaEZpbHRlcnNbcXVlcnlQYXJhbV0gPVxyXG4gICAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zW3F1ZXJ5UGFyYW1dO1xyXG4gICAgICAgICAgdGhpcy5sYXN0U2VhcmNoRmlsdGVyc1snaW5zdGFsbGF0aW9uRGF0ZUZyb20nXSA9IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICAgICAgLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydpbnN0YWxsYXRpb25EYXRlRnJvbSddXHJcbiAgICAgICAgICAgID8gbmV3IERhdGUoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydpbnN0YWxsYXRpb25EYXRlRnJvbSddXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICA6IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmxhc3RTZWFyY2hGaWx0ZXJzWydpbnN0YWxsYXRpb25EYXRlVG8nXSA9IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICAgICAgLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydpbnN0YWxsYXRpb25EYXRlVG8nXVxyXG4gICAgICAgICAgICA/IG5ldyBEYXRlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snaW5zdGFsbGF0aW9uRGF0ZVRvJ11cclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIDogbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2FkSW5zdGFsbGVkSW5zdHJ1bWVudHModGhpcy5sYXN0U2VhcmNoRmlsdGVycywgdGhpcy5sYXN0U2VhcmNoU29ydHMpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyc0NoYW5nZWQoZXZlbnQ6IEluc3RhbGxlZEluc3RydW1lbnRGb3JtTW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZEluc3RhbGxlZEluc3RydW1lbnRzKFxyXG4gICAgICB7IC4uLmV2ZW50LCBzZklkOiB0aGlzLmxhc3RTZWFyY2hGaWx0ZXJzWydzZklkJ10gfHwgdW5kZWZpbmVkIH0sXHJcbiAgICAgIHRoaXMubGFzdFNlYXJjaFNvcnRzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc29ydENoYW5nZWQoZXZlbnQ6IFNvcnQpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZEluc3RhbGxlZEluc3RydW1lbnRzKHRoaXMubGFzdFNlYXJjaEZpbHRlcnMsIGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZEluc3RhbGxlZEluc3RydW1lbnRzKFxyXG4gICAgc2VhcmNoRm9ybTogSW5zdGFsbGVkSW5zdHJ1bWVudEZvcm1Nb2RlbCxcclxuICAgIHNvcnQ6IFNvcnRcclxuICApIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgLi4uc2VhcmNoRm9ybSxcclxuICAgICAgICBpbnN0YWxsYXRpb25EYXRlRnJvbTpcclxuICAgICAgICAgIHNlYXJjaEZvcm0uaW5zdGFsbGF0aW9uRGF0ZUZyb20/LnRvSVNPU3RyaW5nKCkgfHwgJycsXHJcbiAgICAgICAgaW5zdGFsbGF0aW9uRGF0ZVRvOiBzZWFyY2hGb3JtLmluc3RhbGxhdGlvbkRhdGVUbz8udG9JU09TdHJpbmcoKSB8fCAnJyxcclxuICAgICAgICAuLi5zb3J0LFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNhcEluc3RhbGxlZEluc3RydW1lbnRTZXJ2aWNlXHJcbiAgICAgIC5nZXRJbnN0YWxsZWRJbnN0cnVtZW50TGlzdChzZWFyY2hGb3JtLCBzb3J0KVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5sYXN0U2VhcmNoRmlsdGVycyA9IHNlYXJjaEZvcm07XHJcbiAgICAgICAgdGhpcy5sYXN0U2VhcmNoU29ydHMgPSBzb3J0O1xyXG4gICAgICAgIHRoaXMuaW5zdGFsbGVkSW5zdHJ1bWVudHMgPSByZXM7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWQgbm8tY3V0XCIgKm5nSWY9XCJzaG93V2l0aENhcmRDb250ZW50XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBjYXJkLWhlYWRlci13YXJuaW5nXCI+XHJcbiAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGVcIj5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgJ3NhcEFkbWluSW5zdGFsbGVkSW5zdHJ1bWVudC50aXRsZUluc3RhbGxlZEluc3RydW1lbnRMaXN0JyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgIH19XHJcbiAgICAgIDwvaDM+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnN0YWxsZWRJbnN0cnVtZW50Q29udGVudFwiXHJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd1dpdGhDYXJkQ29udGVudFwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5zdGFsbGVkSW5zdHJ1bWVudENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI2luc3RhbGxlZEluc3RydW1lbnRDb250ZW50PlxyXG4gIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB3aWR0aDogMTAwJVwiPlxyXG4gICAgPGFwcC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC1zZWFyY2hcclxuICAgICAgKGZpbHRlcnNDaGFuZ2VkKT1cImZpbHRlcnNDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgPjwvYXBwLXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXNlYXJjaD5cclxuXHJcbiAgICA8YXBwLXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlXHJcbiAgICAgIFt0YWJsZURhdGFdPVwiaW5zdGFsbGVkSW5zdHJ1bWVudHNcIlxyXG4gICAgICAoc29ydENoYW5nZWQpPVwic29ydENoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QtdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0L3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBZXZCLE1BQU0sT0FBTyxtQ0FBbUM7SUFzQjlDLFlBQ1UsNkJBQTZELEVBQzdELGNBQWlDLEVBQ2pDLE1BQWMsRUFDZCxjQUE4QjtRQUg5QixrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQWdDO1FBQzdELG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBekJsQixVQUFLLEdBQUcsd0JBQXdCLENBQUM7UUFTdkQsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRzNCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLHlCQUFvQixHQUFzQyxFQUFFLENBQUM7UUFFckQsc0JBQWlCLEdBRXhCLEVBQUUsQ0FBQztRQUNJLG9CQUFlLEdBQWUsRUFBRSxDQUFDO0lBU3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLDZCQUE2QixDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRTFFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDbkUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFFM0QsSUFBSSxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHO1lBQ3ZCLEdBQUcsWUFBWTtZQUNmLG9CQUFvQixFQUFFLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDdkQsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUN0RCxDQUFDO1FBRUYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFtQztRQUNoRCxJQUFJLENBQUMsd0JBQXdCLENBQzNCLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLEVBQUUsRUFDL0QsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVztRQUNyQixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyx3QkFBd0IsQ0FDOUIsVUFBd0MsRUFDeEMsSUFBVTtRQUVWLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsR0FBRyxVQUFVO2dCQUNiLG9CQUFvQixFQUNsQixVQUFVLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFDdEQsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ3RFLEdBQUcsSUFBSTthQUNSO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLDZCQUE2QjthQUMvQiwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO2FBQzVDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUM7WUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwRlUsbUNBQW1DO21HQUFuQyxtQ0FBbUMsZ1JDckJoRCw2ckNBbUNBOzs0RkRkYSxtQ0FBbUM7a0JBUi9DLFNBQVM7K0JBQ0UsbUNBQW1DO3FMQVF2QixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBR3BCLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FwSW5zdGFsbGVkSW5zdHJ1bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNhcEluc3RhbGxlZEluc3RydW1lbnRMaXN0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QubW9kZWwnO1xyXG5pbXBvcnQgeyBJbnN0YWxsZWRJbnN0cnVtZW50Rm9ybU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luc3RhbGxlZC1pbnN0cnVtZW50LWZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL3NhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi8uLi8uLi9hc3NldHMvYmFzZS1jYXJkLnNjc3MnLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYXBJbnN0YWxsZWRJbnN0cnVtZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2Rpc3BsYXktZmxleC1jb21wb25lbnQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGVycml0b3J5RmlsdGVyOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dXaXRoQ2FyZENvbnRlbnQgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHVzZU1hcEJ1dHRvbiA9IGZhbHNlO1xyXG5cclxuICBpbnN0YWxsZWRJbnN0cnVtZW50czogU2FwSW5zdGFsbGVkSW5zdHJ1bWVudExpc3RNb2RlbFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgbGFzdFNlYXJjaEZpbHRlcnM6IEluc3RhbGxlZEluc3RydW1lbnRGb3JtTW9kZWwgfCBhbnkgPSA8XHJcbiAgICBJbnN0YWxsZWRJbnN0cnVtZW50Rm9ybU1vZGVsXHJcbiAgPnt9O1xyXG4gIHByaXZhdGUgbGFzdFNlYXJjaFNvcnRzOiBTb3J0ID0gPFNvcnQ+e307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzYXBJbnN0YWxsZWRJbnN0cnVtZW50U2VydmljZTogU2FwSW5zdGFsbGVkSW5zdHJ1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2FwSW5zdGFsbGVkSW5zdHJ1bWVudFNlcnZpY2UudGVycml0b3J5RmlsdGVyID0gdGhpcy50ZXJyaXRvcnlGaWx0ZXI7XHJcblxyXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIHx8IHt9O1xyXG4gICAgY29uc3QgeyBhY3RpdmUsIGRpcmVjdGlvbiwgLi4uZmlsdGVyUGFyYW1zIH0gPSBxdWVyeVBhcmFtcztcclxuXHJcbiAgICBpZiAoYWN0aXZlIHx8IGRpcmVjdGlvbikge1xyXG4gICAgICB0aGlzLmxhc3RTZWFyY2hTb3J0cyA9IHsgYWN0aXZlLCBkaXJlY3Rpb24gfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxhc3RTZWFyY2hGaWx0ZXJzID0ge1xyXG4gICAgICAuLi5maWx0ZXJQYXJhbXMsXHJcbiAgICAgIGluc3RhbGxhdGlvbkRhdGVGcm9tOiBmaWx0ZXJQYXJhbXNbJ2luc3RhbGxhdGlvbkRhdGVGcm9tJ10gP1xyXG4gICAgICAgIG5ldyBEYXRlKGZpbHRlclBhcmFtc1snaW5zdGFsbGF0aW9uRGF0ZUZyb20nXSkgOiBudWxsLFxyXG4gICAgICBpbnN0YWxsYXRpb25EYXRlVG86IGZpbHRlclBhcmFtc1snaW5zdGFsbGF0aW9uRGF0ZVRvJ10gP1xyXG4gICAgICAgIG5ldyBEYXRlKGZpbHRlclBhcmFtc1snaW5zdGFsbGF0aW9uRGF0ZVRvJ10pIDogbnVsbFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmxvYWRJbnN0YWxsZWRJbnN0cnVtZW50cyh0aGlzLmxhc3RTZWFyY2hGaWx0ZXJzLCB0aGlzLmxhc3RTZWFyY2hTb3J0cyk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJzQ2hhbmdlZChldmVudDogSW5zdGFsbGVkSW5zdHJ1bWVudEZvcm1Nb2RlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkSW5zdGFsbGVkSW5zdHJ1bWVudHMoXHJcbiAgICAgIHsgLi4uZXZlbnQsIHNmSWQ6IHRoaXMubGFzdFNlYXJjaEZpbHRlcnNbJ3NmSWQnXSB8fCB1bmRlZmluZWQgfSxcclxuICAgICAgdGhpcy5sYXN0U2VhcmNoU29ydHNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzb3J0Q2hhbmdlZChldmVudDogU29ydCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkSW5zdGFsbGVkSW5zdHJ1bWVudHModGhpcy5sYXN0U2VhcmNoRmlsdGVycywgZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkSW5zdGFsbGVkSW5zdHJ1bWVudHMoXHJcbiAgICBzZWFyY2hGb3JtOiBJbnN0YWxsZWRJbnN0cnVtZW50Rm9ybU1vZGVsLFxyXG4gICAgc29ydDogU29ydFxyXG4gICkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAuLi5zZWFyY2hGb3JtLFxyXG4gICAgICAgIGluc3RhbGxhdGlvbkRhdGVGcm9tOlxyXG4gICAgICAgICAgc2VhcmNoRm9ybS5pbnN0YWxsYXRpb25EYXRlRnJvbT8udG9JU09TdHJpbmcoKSB8fCAnJyxcclxuICAgICAgICBpbnN0YWxsYXRpb25EYXRlVG86IHNlYXJjaEZvcm0uaW5zdGFsbGF0aW9uRGF0ZVRvPy50b0lTT1N0cmluZygpIHx8ICcnLFxyXG4gICAgICAgIC4uLnNvcnQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2FwSW5zdGFsbGVkSW5zdHJ1bWVudFNlcnZpY2VcclxuICAgICAgLmdldEluc3RhbGxlZEluc3RydW1lbnRMaXN0KHNlYXJjaEZvcm0sIHNvcnQpXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmxhc3RTZWFyY2hGaWx0ZXJzID0gc2VhcmNoRm9ybTtcclxuICAgICAgICB0aGlzLmxhc3RTZWFyY2hTb3J0cyA9IHNvcnQ7XHJcbiAgICAgICAgdGhpcy5pbnN0YWxsZWRJbnN0cnVtZW50cyA9IHJlcztcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBuby1jdXRcIiAqbmdJZj1cInNob3dXaXRoQ2FyZENvbnRlbnRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGNhcmQtaGVhZGVyLXdhcm5pbmdcIj5cclxuICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgIHt7XHJcbiAgICAgICAgICAnc2FwQWRtaW5JbnN0YWxsZWRJbnN0cnVtZW50LnRpdGxlSW5zdGFsbGVkSW5zdHJ1bWVudExpc3QnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9oMz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImluc3RhbGxlZEluc3RydW1lbnRDb250ZW50XCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93V2l0aENhcmRDb250ZW50XCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnN0YWxsZWRJbnN0cnVtZW50Q29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW5zdGFsbGVkSW5zdHJ1bWVudENvbnRlbnQ+XHJcbiAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHdpZHRoOiAxMDAlXCI+XHJcbiAgICA8YXBwLXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXNlYXJjaFxyXG4gICAgICAoZmlsdGVyc0NoYW5nZWQpPVwiZmlsdGVyc0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3Qtc2VhcmNoPlxyXG5cclxuICAgIDxhcHAtc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QtdGFibGVcclxuICAgICAgW3RhYmxlRGF0YV09XCJpbnN0YWxsZWRJbnN0cnVtZW50c1wiXHJcbiAgICAgIFt1c2VNYXBCdXR0b25dPVwidXNlTWFwQnV0dG9uXCJcclxuICAgICAgKHNvcnRDaGFuZ2VkKT1cInNvcnRDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgPjwvYXBwLXNhcC1pbnN0YWxsZWQtaW5zdHJ1bWVudC1saXN0LXRhYmxlPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -12,4 +12,4 @@ export var InstalledInstrumentTableColumnsMapperEnum;
12
12
  InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["status"] = 9] = "status";
13
13
  InstalledInstrumentTableColumnsMapperEnum[InstalledInstrumentTableColumnsMapperEnum["installationDate"] = 10] = "installationDate";
14
14
  })(InstalledInstrumentTableColumnsMapperEnum || (InstalledInstrumentTableColumnsMapperEnum = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVkLWluc3RydW1lbnQtdGFibGUtY29sdW1ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvbW9kZWxzL2luc3RhbGxlZC1pbnN0cnVtZW50LXRhYmxlLWNvbHVtbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsTUFBTSxDQUFOLElBQVkseUNBWVg7QUFaRCxXQUFZLHlDQUF5QztJQUNuRCx5SEFBMkQsQ0FBQTtJQUMzRCwySUFBb0UsQ0FBQTtJQUNwRSx5SEFBK0QsQ0FBQTtJQUMvRCxxSEFBcUQsQ0FBQTtJQUNyRCx1SUFBZ0UsQ0FBQTtJQUNoRSx1SEFBNkQsQ0FBQTtJQUM3RCx5R0FBK0MsQ0FBQTtJQUMvQyx1SEFBMkQsQ0FBQTtJQUMzRCwrR0FBcUQsQ0FBQTtJQUNyRCw2R0FBbUQsQ0FBQTtJQUNuRCxrSUFBdUUsQ0FBQTtBQUN6RSxDQUFDLEVBWlcseUNBQXlDLEtBQXpDLHlDQUF5QyxRQVlwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluc3RhbGxlZEluc3RydW1lbnRTb3J0QnlDb2x1bW5FbnVtIH0gZnJvbSAnLi9pbnN0YWxsZWQtaW5zdHJ1bWVudC1zb3J0LWJ5LWNvbHVtbi5lbnVtJztcclxuXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgSW5zdGFsbGVkSW5zdHJ1bWVudFRhYmxlQ29sdW1uc01vZGVsID1cclxuICB8ICdpbnN0cnVtZW50Tm8nXHJcbiAgfCAnaW5zdHJ1bWVudERlc2NyaXB0aW9uJ1xyXG4gIHwgJ3NlcmlhbE51bWJlcidcclxuICB8ICdjdXN0b21lck5vJ1xyXG4gIHwgJ2J1c2luZXNzUGFydG5lck5hbWUnXHJcbiAgfCAnZW5kVXNlck5hbWUnXHJcbiAgfCAnY2l0eSdcclxuICB8ICd0ZXJyaXRvcnlJZCdcclxuICB8ICdjb3VudHJ5J1xyXG4gIHwgJ2luc3RhbGxhdGlvbkRhdGUnXHJcbiAgfCAnc3RhdHVzJztcclxuXHJcbmV4cG9ydCBlbnVtIEluc3RhbGxlZEluc3RydW1lbnRUYWJsZUNvbHVtbnNNYXBwZXJFbnVtIHtcclxuICBpbnN0cnVtZW50Tm8gPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5JdGVtQ29kZSxcclxuICBpbnN0cnVtZW50RGVzY3JpcHRpb24gPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5JdGVtTmFtZSxcclxuICBzZXJpYWxOdW1iZXIgPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5TZXJpYWxOdW1iZXIsXHJcbiAgY3VzdG9tZXJObyA9IEluc3RhbGxlZEluc3RydW1lbnRTb3J0QnlDb2x1bW5FbnVtLkJwSWQsXHJcbiAgYnVzaW5lc3NQYXJ0bmVyTmFtZSA9IEluc3RhbGxlZEluc3RydW1lbnRTb3J0QnlDb2x1bW5FbnVtLkJwTmFtZSxcclxuICBlbmRVc2VyTmFtZSA9IEluc3RhbGxlZEluc3RydW1lbnRTb3J0QnlDb2x1bW5FbnVtLkVuZEN1c3RvbWVyLFxyXG4gIGNpdHkgPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5DaXR5LFxyXG4gIHRlcnJpdG9yeUlkID0gSW5zdGFsbGVkSW5zdHJ1bWVudFNvcnRCeUNvbHVtbkVudW0uVGVycml0b3J5LFxyXG4gIGNvdW50cnkgPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5Db3VudHJ5LFxyXG4gIHN0YXR1cyA9IEluc3RhbGxlZEluc3RydW1lbnRTb3J0QnlDb2x1bW5FbnVtLlN0YXR1cyxcclxuICBpbnN0YWxsYXRpb25EYXRlID0gSW5zdGFsbGVkSW5zdHJ1bWVudFNvcnRCeUNvbHVtbkVudW0uSW5zdGFsbGF0aW9uRGF0ZSxcclxufVxyXG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVkLWluc3RydW1lbnQtdGFibGUtY29sdW1ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtaW5zdGFsbGVkLWluc3RydW1lbnRzL3NyYy9saWIvbW9kZWxzL2luc3RhbGxlZC1pbnN0cnVtZW50LXRhYmxlLWNvbHVtbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE1BQU0sQ0FBTixJQUFZLHlDQVlYO0FBWkQsV0FBWSx5Q0FBeUM7SUFDbkQseUhBQTJELENBQUE7SUFDM0QsMklBQW9FLENBQUE7SUFDcEUseUhBQStELENBQUE7SUFDL0QscUhBQXFELENBQUE7SUFDckQsdUlBQWdFLENBQUE7SUFDaEUsdUhBQTZELENBQUE7SUFDN0QseUdBQStDLENBQUE7SUFDL0MsdUhBQTJELENBQUE7SUFDM0QsK0dBQXFELENBQUE7SUFDckQsNkdBQW1ELENBQUE7SUFDbkQsa0lBQXVFLENBQUE7QUFDekUsQ0FBQyxFQVpXLHlDQUF5QyxLQUF6Qyx5Q0FBeUMsUUFZcEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bSB9IGZyb20gJy4vaW5zdGFsbGVkLWluc3RydW1lbnQtc29ydC1ieS1jb2x1bW4uZW51bSc7XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEluc3RhbGxlZEluc3RydW1lbnRUYWJsZUNvbHVtbnNNb2RlbCA9XHJcbiAgfCAnaW5zdHJ1bWVudE5vJ1xyXG4gIHwgJ2luc3RydW1lbnREZXNjcmlwdGlvbidcclxuICB8ICdzZXJpYWxOdW1iZXInXHJcbiAgfCAnY3VzdG9tZXJObydcclxuICB8ICdidXNpbmVzc1BhcnRuZXJOYW1lJ1xyXG4gIHwgJ2VuZFVzZXJOYW1lJ1xyXG4gIHwgJ2NpdHknXHJcbiAgfCAndGVycml0b3J5SWQnXHJcbiAgfCAnY291bnRyeSdcclxuICB8ICdpbnN0YWxsYXRpb25EYXRlJ1xyXG4gIHwgJ3N0YXR1cydcclxuICB8ICdzZWxlY3RUb01hcCc7XHJcblxyXG5leHBvcnQgZW51bSBJbnN0YWxsZWRJbnN0cnVtZW50VGFibGVDb2x1bW5zTWFwcGVyRW51bSB7XHJcbiAgaW5zdHJ1bWVudE5vID0gSW5zdGFsbGVkSW5zdHJ1bWVudFNvcnRCeUNvbHVtbkVudW0uSXRlbUNvZGUsXHJcbiAgaW5zdHJ1bWVudERlc2NyaXB0aW9uID0gSW5zdGFsbGVkSW5zdHJ1bWVudFNvcnRCeUNvbHVtbkVudW0uSXRlbU5hbWUsXHJcbiAgc2VyaWFsTnVtYmVyID0gSW5zdGFsbGVkSW5zdHJ1bWVudFNvcnRCeUNvbHVtbkVudW0uU2VyaWFsTnVtYmVyLFxyXG4gIGN1c3RvbWVyTm8gPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5CcElkLFxyXG4gIGJ1c2luZXNzUGFydG5lck5hbWUgPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5CcE5hbWUsXHJcbiAgZW5kVXNlck5hbWUgPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5FbmRDdXN0b21lcixcclxuICBjaXR5ID0gSW5zdGFsbGVkSW5zdHJ1bWVudFNvcnRCeUNvbHVtbkVudW0uQ2l0eSxcclxuICB0ZXJyaXRvcnlJZCA9IEluc3RhbGxlZEluc3RydW1lbnRTb3J0QnlDb2x1bW5FbnVtLlRlcnJpdG9yeSxcclxuICBjb3VudHJ5ID0gSW5zdGFsbGVkSW5zdHJ1bWVudFNvcnRCeUNvbHVtbkVudW0uQ291bnRyeSxcclxuICBzdGF0dXMgPSBJbnN0YWxsZWRJbnN0cnVtZW50U29ydEJ5Q29sdW1uRW51bS5TdGF0dXMsXHJcbiAgaW5zdGFsbGF0aW9uRGF0ZSA9IEluc3RhbGxlZEluc3RydW1lbnRTb3J0QnlDb2x1bW5FbnVtLkluc3RhbGxhdGlvbkRhdGUsXHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3Qtc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50cy9zcmMvbGliL21vZGVscy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTYXBJbnN0YWxsZWRJbnN0cnVtZW50TGlzdE1vZGVsIHtcclxuICAgIGVxdWlwbWVudENhcmRObzogbnVtYmVyO1xyXG4gICAgaW5zdHJ1bWVudE5vOiBzdHJpbmc7XHJcbiAgICBpbnN0cnVtZW50RGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHNlcmlhbE51bWJlcjogc3RyaW5nO1xyXG4gICAgY3VzdG9tZXJObzogc3RyaW5nO1xyXG4gICAgYnVzaW5lc3NQYXJ0bmVyTmFtZTogc3RyaW5nO1xyXG4gICAgc3RhdHVzSWQ6IHN0cmluZztcclxuICAgIHN0YXR1czogc3RyaW5nO1xyXG4gICAgdGVjaG5pY2lhbkZpcnN0TmFtZTogc3RyaW5nO1xyXG4gICAgdGVjaG5pY2lhbkxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICB0ZXJyaXRvcnlJZDogbnVtYmVyO1xyXG4gICAgdGVycml0b3J5OiBzdHJpbmc7XHJcbiAgICBlbmRVc2VyTmFtZTogc3RyaW5nO1xyXG4gICAgZW5kVXNlckNvZGU6IHN0cmluZztcclxuICAgIGNpdHk6IHN0cmluZztcclxuICAgIHN0YXRlSWQ6IHN0cmluZztcclxuICAgIHN0YXRlOiBzdHJpbmc7XHJcbiAgICBjb3VudHk6IHN0cmluZztcclxuICAgIGNvdW50cnlJZDogc3RyaW5nO1xyXG4gICAgY291bnRyeTogc3RyaW5nO1xyXG4gICAgaW5zdGFsbGF0aW9uRGF0ZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWluc3RhbGxlZC1pbnN0cnVtZW50LWxpc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3Qtc2FwLWluc3RhbGxlZC1pbnN0cnVtZW50cy9zcmMvbGliL21vZGVscy9zYXAtaW5zdGFsbGVkLWluc3RydW1lbnQtbGlzdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTYXBJbnN0YWxsZWRJbnN0cnVtZW50TGlzdE1vZGVsIHtcclxuICAgIGVxdWlwbWVudENhcmRObzogbnVtYmVyO1xyXG4gICAgaW5zdHJ1bWVudE5vOiBzdHJpbmc7XHJcbiAgICBpbnN0cnVtZW50RGVzY3JpcHRpb246IHN0cmluZztcclxuICAgIHNlcmlhbE51bWJlcjogc3RyaW5nO1xyXG4gICAgY3VzdG9tZXJObzogc3RyaW5nO1xyXG4gICAgYnVzaW5lc3NQYXJ0bmVyTmFtZTogc3RyaW5nO1xyXG4gICAgc3RhdHVzSWQ6IHN0cmluZztcclxuICAgIHN0YXR1czogc3RyaW5nO1xyXG4gICAgdGVjaG5pY2lhbkZpcnN0TmFtZTogc3RyaW5nO1xyXG4gICAgdGVjaG5pY2lhbkxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgICB0ZXJyaXRvcnlJZDogbnVtYmVyO1xyXG4gICAgdGVycml0b3J5OiBzdHJpbmc7XHJcbiAgICBlbmRVc2VyTmFtZTogc3RyaW5nO1xyXG4gICAgZW5kVXNlckNvZGU6IHN0cmluZztcclxuICAgIGNpdHk6IHN0cmluZztcclxuICAgIHN0YXRlSWQ6IHN0cmluZztcclxuICAgIHN0YXRlOiBzdHJpbmc7XHJcbiAgICBjb3VudHk6IHN0cmluZztcclxuICAgIGNvdW50cnlJZDogc3RyaW5nO1xyXG4gICAgY291bnRyeTogc3RyaW5nO1xyXG4gICAgaW5zdGFsbGF0aW9uRGF0ZTogc3RyaW5nO1xyXG4gICAgc2ZJZD86IHN0cmluZztcclxufVxyXG4iXX0=