@porscheinformatik/clr-addons 15.5.0 → 15.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { ContentChild, ContentChildren, Directive, ElementRef, Input, QueryList, } from '@angular/core';
2
2
  import { ClrDatagrid, ClrDatagridFilter, ClrDatagridPagination, ClrDatagridSortOrder, DatagridPropertyComparator, } from '@clr/angular';
3
3
  import { delay, Subject } from 'rxjs';
4
- import { takeUntil } from 'rxjs/operators';
4
+ import { take, takeUntil } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@clr/angular";
7
7
  const DATE_TYPE = 'date';
@@ -62,7 +62,7 @@ export class StatePersistenceKeyDirective {
62
62
  initCurrentPage(savedState) {
63
63
  /* init current page of datagrid if already persisted */
64
64
  if (savedState?.currentPage) {
65
- this.pagination.page.current = savedState.currentPage;
65
+ this.datagrid.items.change.pipe(take(1)).subscribe(() => (this.pagination.page.current = savedState.currentPage));
66
66
  }
67
67
  }
68
68
  initFilter(savedState) {
@@ -240,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
240
240
  type: ContentChildren,
241
241
  args: [ClrDatagridFilter, { descendants: true }]
242
242
  }] } });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGFncmlkL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxXQUFXLEVBRVgsaUJBQWlCLEVBRWpCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFFcEIsMEJBQTBCLEdBQzNCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRzNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztBQVV6QixNQUFNLE9BQU8sNEJBQTRCO0lBOEJ2QyxZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBbEJ6QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFHMUIsMEJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBVzNCLGlDQUE0QixHQUFHLEtBQUssQ0FBQztRQUNyQyxpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFDckMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFYSxDQUFDO0lBRTdDLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDTCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZ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QUlqQyxVQUFVO3NCQURULFlBQVk7dUJBQUMscUJBQXFCO2dCQUluQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUl6RCxhQUFhO3NCQURaLGVBQWU7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENsckRhdGFncmlkLFxuICBDbHJEYXRhZ3JpZENvbXBhcmF0b3JJbnRlcmZhY2UsXG4gIENsckRhdGFncmlkRmlsdGVyLFxuICBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZSxcbiAgQ2xyRGF0YWdyaWRQYWdpbmF0aW9uLFxuICBDbHJEYXRhZ3JpZFNvcnRPcmRlcixcbiAgQ2xyRGF0YWdyaWRTdGF0ZUludGVyZmFjZSxcbiAgRGF0YWdyaWRQcm9wZXJ0eUNvbXBhcmF0b3IsXG59IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbCB9IGZyb20gJy4vZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IGRlbGF5LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdGF0ZVBlcnNpc3RlbmNlT3B0aW9ucyB9IGZyb20gJy4vc3RhdGUtcGVyc2lzdGVuY2Utb3B0aW9ucy5pbnRlcmZhY2UnO1xuXG5jb25zdCBEQVRFX1RZUEUgPSAnZGF0ZSc7XG5cbmludGVyZmFjZSBGaWx0ZXJWYWx1ZVdpdGhNZXRhZGF0YSB7XG4gIHR5cGU6IHN0cmluZztcbiAgdmFsdWU6IHVua25vd247XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJTdGF0ZVBlcnNpc3RlbmNlS2V5XScsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlUGVyc2lzdGVuY2VLZXlEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgcGVyc2lzdGVuY2UuXG4gICAqICdLZXknIHJlcHJlc2VudHMgdGhlIGxvY2FsIHN0b3JhZ2Uga2V5IHVuZGVyIHdoaWNoIHRoZSBwZXJzaXN0ZW5jZSBzdGF0ZSBpcyBzdG9yZWQuXG4gICAqXG4gICAqIE9wdGlvbmFsIGZpZWxkcyB3aXRoIHRoZSAncGVyc2lzdCcgcHJlZml4IHRvZ2dsZSB0aGUgcGVyc2lzdGVuY2Ugb2YgdGhlIHJlc3BlY3RpdmUgZGF0YWdyaWQgZnVuY3Rpb25hbGl0eSxcbiAgICogdGhlIGRlZmF1bHQgdmFsdWUgaXMgYWx3YXlzICd0cnVlJy5cbiAgICovXG4gIEBJbnB1dCgnY2xyU3RhdGVQZXJzaXN0ZW5jZUtleScpXG4gIG9wdGlvbnM6IFN0YXRlUGVyc2lzdGVuY2VPcHRpb25zO1xuXG4gIEBJbnB1dCgnY2xyVXNlTG9jYWxTdG9yZU9ubHknKVxuICB1c2VMb2NhbFN0b3JlT25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnY2xyUGFnaW5hdGlvbkRlc2NyaXB0aW9uJylcbiAgcGFnaW5hdGlvbkRlc2NyaXB0aW9uID0gJyc7XG5cbiAgQENvbnRlbnRDaGlsZChDbHJEYXRhZ3JpZFBhZ2luYXRpb24pXG4gIHBhZ2luYXRpb246IENsckRhdGFncmlkUGFnaW5hdGlvbjtcblxuICBAQ29udGVudENoaWxkKENsckRhdGFncmlkUGFnaW5hdGlvbiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHBhZ2luYXRpb25FbGVtOiBFbGVtZW50UmVmO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyRGF0YWdyaWRGaWx0ZXIsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgY3VzdG9tRmlsdGVyczogUXVlcnlMaXN0PENsckRhdGFncmlkRmlsdGVyPjtcblxuICBjYW5TaG93UGFnaW5hdGlvbkRlc2NyaXB0aW9uID0gZmFsc2U7XG4gIHdhcm5lZEFib3V0Q3VzdG9tRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YWdyaWQ6IENsckRhdGFncmlkKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnNlcnZlckRyaXZlbikge1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmluaXQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBjb25zdCB2b2xhdGlsZURhdGFTdGF0ZSA9IHRoaXMuZ2V0Vm9sYXRpbGVEYXRhU3RhdGUoKTtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2VTdGF0ZSA9IHRoaXMuZ2V0TG9jYWxTdG9yYWdlU3RhdGUoKTtcblxuICAgIHRoaXMuaW5pdEZpbHRlcih2b2xhdGlsZURhdGFTdGF0ZSk7XG4gICAgdGhpcy5pbml0U29ydGluZyhsb2NhbFN0b3JhZ2VTdGF0ZSk7XG4gICAgdGhpcy5pbml0RGF0YWdyaWRQZXJzaXN0ZXIoKTtcblxuICAgIGNvbnN0IHBhZ2luYXRpb25QZXJzaXN0ZW5jZUVuYWJsZWQgPSB0aGlzLm9wdGlvbnMucGVyc2lzdFBhZ2luYXRpb24gPz8gdHJ1ZTtcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uPy5wYWdlICYmIHBhZ2luYXRpb25QZXJzaXN0ZW5jZUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5pdFBhZ2VTaXplUGVyc2lzdGVyKGxvY2FsU3RvcmFnZVN0YXRlKTtcbiAgICAgIHRoaXMuaW5pdEN1cnJlbnRQYWdlKHZvbGF0aWxlRGF0YVN0YXRlKTtcbiAgICB9XG4gICAgdGhpcy5jYW5TaG93UGFnaW5hdGlvbkRlc2NyaXB0aW9uID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaXRoIHRoaXMgbWV0aG9kIGZpbHRlcnMgY2FuIGJlIGNsZWFyZWRcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IGZvciBjbHJTdGF0ZVBlcnNpc3RlbmNlS2V5XG4gICAqIEBwYXJhbSB1c2VMb2NhbFN0b3JlT25seSBUaGUgY2xyVXNlTG9jYWxTdG9yZU9ubHkgaW5kaWNhdG9yXG4gICAqL1xuICBzdGF0aWMgY2xlYXJGaWx0ZXJzKGtleTogc3RyaW5nLCB1c2VMb2NhbFN0b3JlT25seTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKCh1c2VMb2NhbFN0b3JlT25seSA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKS5nZXRJdGVtKGtleSkpIHx8IHt9O1xuICAgIGRhdGEuY29sdW1ucyA9IHt9O1xuICAgICh1c2VMb2NhbFN0b3JlT25seSA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGFnZVNpemVQZXJzaXN0ZXIoc2F2ZWRTdGF0ZTogQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwpIHtcbiAgICAvKiBwZXJzaXN0IHBhZ2Ugc2l6ZSBjaGFuZ2VzIGluIGxvY2FsIHN0b3JhZ2UgKi9cbiAgICB0aGlzLnBhZ2luYXRpb24ucGFnZS5zaXplQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUocGFnZVNpemUgPT4ge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldExvY2FsU3RvcmFnZVN0YXRlKCk7XG4gICAgICBzdGF0ZS5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5vcHRpb25zLmtleSwgSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgICB9KTtcblxuICAgIC8qIGluaXQgcGFnZSBzaXplIG9mIGRhdGFncmlkIGlmIGFscmVhZHkgcGVyc2lzdGVkIGluIGxvY2FsIHN0b3JhZ2UgKi9cbiAgICBpZiAoc2F2ZWRTdGF0ZS5wYWdlU2l6ZSkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2Uuc2l6ZSA9IHNhdmVkU3RhdGUucGFnZVNpemU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q3VycmVudFBhZ2Uoc2F2ZWRTdGF0ZTogQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwpIHtcbiAgICAvKiBpbml0IGN1cnJlbnQgcGFnZSBvZiBkYXRhZ3JpZCBpZiBhbHJlYWR5IHBlcnNpc3RlZCAqL1xuICAgIGlmIChzYXZlZFN0YXRlPy5jdXJyZW50UGFnZSkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2UuY3VycmVudCA9IHNhdmVkU3RhdGUuY3VycmVudFBhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmlsdGVyKHNhdmVkU3RhdGU6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsKTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyUGVyc2lzdGVuY2VFbmFibGVkID0gdGhpcy5vcHRpb25zLnBlcnNpc3RGaWx0ZXJzID8/IHRydWU7XG4gICAgaWYgKHNhdmVkU3RhdGUuY29sdW1ucyAmJiBmaWx0ZXJQZXJzaXN0ZW5jZUVuYWJsZWQpIHtcbiAgICAgIE9iamVjdC5rZXlzKHNhdmVkU3RhdGUuY29sdW1ucykuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXIocHJvcCk7XG4gICAgICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgICAgICBjb25zdCBzYXZlZEZpbHRlclZhbHVlID0gc2F2ZWRTdGF0ZS5jb2x1bW5zW3Byb3BdLmZpbHRlclZhbHVlIHx8IHt9O1xuICAgICAgICAgIE9iamVjdC5rZXlzKHNhdmVkRmlsdGVyVmFsdWUpXG4gICAgICAgICAgICAuZmlsdGVyKHZhbHVlS2V5ID0+IHZhbHVlS2V5ICE9PSAncHJvcGVydHknKVxuICAgICAgICAgICAgLmZvckVhY2godmFsdWVLZXkgPT4gKChmaWx0ZXIgYXMgYW55KVt2YWx1ZUtleV0gPSB0aGlzLnBhcnNlRmlsdGVyVmFsdWUoc2F2ZWRGaWx0ZXJWYWx1ZVt2YWx1ZUtleV0pKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNvcnRpbmcoc2F2ZWRTdGF0ZTogQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwpOiB2b2lkIHtcbiAgICBjb25zdCBzb3J0UGVyc2lzdGVuY2VFbmFibGVkID0gdGhpcy5vcHRpb25zLnBlcnNpc3RTb3J0ID8/IHRydWU7XG4gICAgaWYgKHNhdmVkU3RhdGUuc29ydEJ5ICYmIHNvcnRQZXJzaXN0ZW5jZUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZGF0YWdyaWQuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgIGlmICh0aGlzLmdldFNvcnRQcm9wZXJ0eShjb2x1bW4uc29ydEJ5KSA9PT0gc2F2ZWRTdGF0ZS5zb3J0QnkpIHtcbiAgICAgICAgICBjb2x1bW4uc29ydE9yZGVyID0gc2F2ZWRTdGF0ZS5zb3J0UmV2ZXJzZSA/IENsckRhdGFncmlkU29ydE9yZGVyLkRFU0MgOiBDbHJEYXRhZ3JpZFNvcnRPcmRlci5BU0M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29sdW1uLnNvcnRPcmRlciA9IENsckRhdGFncmlkU29ydE9yZGVyLlVOU09SVEVEO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXREYXRhZ3JpZFBlcnNpc3RlcigpIHtcbiAgICAvLyBkZWxheSBpcyBuZWVkZWQsIGFzIG9uRGVzdHJveSB0aGUgZmlsdGVycyBlbWl0IGVtcHR5IHZhbHVlcy5cbiAgICAvLyBTbyBkZWxheSBpdCB0byB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGN5Y2xlLCBzbyB0aGUgZGlyZWN0aXZlIGlzIGFsc28gZGVzdHJveWVkIGJlZm9yZSBpdCBnZXRzIHRoZSBuZXh0IHZhbHVlc1xuICAgIHRoaXMuZGF0YWdyaWQucmVmcmVzaC5waXBlKGRlbGF5KDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShkZ1N0YXRlID0+IHtcbiAgICAgIHRoaXMucGVyc2lzdEZpbHRlcnNBbmRDdXJyZW50UGFnZShkZ1N0YXRlKTtcbiAgICAgIHRoaXMucGVyc2lzdFNvcnRpbmcoZGdTdGF0ZSk7XG5cbiAgICAgIGlmICh0aGlzLmNhblNob3dQYWdpbmF0aW9uRGVzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy51cGRhdGVQYWdpbmF0aW9uRGVzY3JpcHRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YWdyaWQuaXRlbXMuY2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVQYWdpbmF0aW9uRGVzY3JpcHRpb24oKSk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RGaWx0ZXJzQW5kQ3VycmVudFBhZ2UoZGdTdGF0ZTogQ2xyRGF0YWdyaWRTdGF0ZUludGVyZmFjZTx1bmtub3duPik6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlclBlcnNpc3RlbmNlRW5hYmxlZCA9IHRoaXMub3B0aW9ucy5wZXJzaXN0RmlsdGVycyA/PyB0cnVlO1xuICAgIGNvbnN0IHBhZ2luYXRpb25QZXJzaXN0ZW5jZUVuYWJsZWQgPSB0aGlzLm9wdGlvbnMucGVyc2lzdFBhZ2luYXRpb24gPz8gdHJ1ZTtcblxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5nZXRWb2xhdGlsZURhdGFTdGF0ZSgpO1xuICAgIHN0YXRlLmNvbHVtbnMgPSBzdGF0ZS5jb2x1bW5zIHx8IHt9O1xuXG4gICAgaWYgKHBhZ2luYXRpb25QZXJzaXN0ZW5jZUVuYWJsZWQpIHtcbiAgICAgIHN0YXRlLmN1cnJlbnRQYWdlID0gZGdTdGF0ZS5wYWdlPy5jdXJyZW50O1xuICAgIH1cblxuICAgIGlmIChmaWx0ZXJQZXJzaXN0ZW5jZUVuYWJsZWQpIHtcbiAgICAgIE9iamVjdC5rZXlzKHN0YXRlLmNvbHVtbnMpLmZvckVhY2gocHJvcCA9PiAoc3RhdGUuY29sdW1uc1twcm9wXS5maWx0ZXJWYWx1ZSA9IHVuZGVmaW5lZCkpO1xuICAgICAgZGdTdGF0ZS5maWx0ZXJzPy5mb3JFYWNoKGZpbHRlciA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5nZXRGaWx0ZXJQcm9wZXJ0eU5hbWUoZmlsdGVyKTtcbiAgICAgICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICAgICAgc3RhdGUuY29sdW1uc1twcm9wZXJ0eV0gPSBzdGF0ZS5jb2x1bW5zW3Byb3BlcnR5XSB8fCB7fTtcbiAgICAgICAgICBzdGF0ZS5jb2x1bW5zW3Byb3BlcnR5XS5maWx0ZXJWYWx1ZSA9IHRoaXMuZW5yaWNoRmlsdGVyVmFsdWUoZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgKHRoaXMudXNlTG9jYWxTdG9yZU9ubHkgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSkuc2V0SXRlbSh0aGlzLm9wdGlvbnMua2V5LCBKU09OLnN0cmluZ2lmeShzdGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJzaXN0U29ydGluZyhkZ1N0YXRlOiBDbHJEYXRhZ3JpZFN0YXRlSW50ZXJmYWNlPHVua25vd24+KTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFBlcnNpc3RlbmNlRW5hYmxlZCA9IHRoaXMub3B0aW9ucy5wZXJzaXN0U29ydCA/PyB0cnVlO1xuICAgIGlmIChzb3J0UGVyc2lzdGVuY2VFbmFibGVkKSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0TG9jYWxTdG9yYWdlU3RhdGUoKTtcbiAgICAgIHN0YXRlLnNvcnRCeSA9IHRoaXMuZ2V0U29ydFByb3BlcnR5KGRnU3RhdGUuc29ydD8uYnkpO1xuICAgICAgc3RhdGUuc29ydFJldmVyc2UgPSBkZ1N0YXRlLnNvcnQ/LnJldmVyc2U7XG5cbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMub3B0aW9ucy5rZXksIEpTT04uc3RyaW5naWZ5KHN0YXRlKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBhZ2luYXRpb24gZGVzY3JpcHRpb24gbXVzdCBiZSBzZXQgYnkgdGhpcyBkaXJlY3RpdmUsXG4gICAqIG90aGVyd2lzZSB3ZSBjYW4ndCB1cGRhdGUgZGF0YWdyaWQgdmFsdWVzIGZyb20gbG9jYWxTdG9yYWdlXG4gICAqIHdpdGhvdXQgZ2V0dGluZyBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVBhZ2luYXRpb25EZXNjcmlwdGlvbigpIHtcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uRWxlbSAmJiB0aGlzLnBhZ2luYXRpb24pIHtcbiAgICAgIGNvbnN0IHBhZ2luYXRpb25EZXNjRWxlbSA9ICg8SFRNTEVsZW1lbnQ+dGhpcy5wYWdpbmF0aW9uRWxlbS5uYXRpdmVFbGVtZW50KS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFxuICAgICAgICAncGFnaW5hdGlvbi1kZXNjcmlwdGlvbidcbiAgICAgICk/LlswXTtcbiAgICAgIGlmIChwYWdpbmF0aW9uRGVzY0VsZW0pIHtcbiAgICAgICAgaWYgKCF0aGlzLndhcm5lZEFib3V0Q3VzdG9tRGVzY3JpcHRpb24gJiYgcGFnaW5hdGlvbkRlc2NFbGVtLnRleHRDb250ZW50LnRyaW0oKS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgJ1doZW4gdXNpbmcgY2xyU3RhdGVQZXJzaXN0ZW5jZUtleSBkaXJlY3RpdmUsIHlvdSBzaG91bGQgbm90IHVzZSBjdXN0b20gcGFnaW5hdGlvbiBkZXNjcmlwdGlvbicgK1xuICAgICAgICAgICAgICAnIGluc2lkZSBwYWdpbmF0aW9uIGNvbXBvbmVudCBjb250ZW50LCBidXQgdXNlIFtjbHJQYWdpbmF0aW9uRGVzY3JpcHRpb25dIG9uIGNsci1kYXRhZ3JpZCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2FybmVkQWJvdXRDdXN0b21EZXNjcmlwdGlvbiA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb25EZXNjcmlwdGlvbikge1xuICAgICAgICAgIHBhZ2luYXRpb25EZXNjRWxlbS50ZXh0Q29udGVudCA9IHRoaXMucGFnaW5hdGlvbkRlc2NyaXB0aW9uXG4gICAgICAgICAgICAucmVwbGFjZSgne3tmaXJzdH19JywgKHRoaXMucGFnaW5hdGlvbi5maXJzdEl0ZW0gKyAxKS50b1N0cmluZygpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3t7bGFzdH19JywgKHRoaXMucGFnaW5hdGlvbi5sYXN0SXRlbSArIDEpLnRvU3RyaW5nKCkpXG4gICAgICAgICAgICAucmVwbGFjZSgne3t0b3RhbH19JywgdGhpcy5wYWdpbmF0aW9uLnRvdGFsSXRlbXMudG9TdHJpbmcoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc3RhdGUgb2Ygdm9sYXRpbGUgZGF0YS4gVGhpcyBjYW4gYmUgaW5mbHVlbmNlZCBieSBjbHJVc2VMb2NhbFN0b3JlT25seS5cbiAgICovXG4gIGdldFZvbGF0aWxlRGF0YVN0YXRlKCk6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZSgodGhpcy51c2VMb2NhbFN0b3JlT25seSA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKS5nZXRJdGVtKHRoaXMub3B0aW9ucy5rZXkpKSB8fCB7fTtcbiAgfVxuXG4gIGdldExvY2FsU3RvcmFnZVN0YXRlKCk6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLm9wdGlvbnMua2V5KSkgfHwge307XG4gIH1cblxuICAvKipcbiAgICogQXMgYSBkYXRlIGlzIHNlcmlhbGl6ZWQgYXMgc3RyaW5nLCBidXQgbm90IGRlc2VyaWFsaXplZCBhcyBkYXRlXG4gICAqIHdlIG5lZWQgdG8gYWRkIHNvbWUgbWV0YSBpbmZvcm1hdGlvbiB0byBkbyB0aGF0IG1hbnVhbGx5IGxhdGVyXG4gICAqL1xuICBwcml2YXRlIGVucmljaEZpbHRlclZhbHVlKGZpbHRlcjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICBjb25zdCByZXN1bHQgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICAgIE9iamVjdC5rZXlzKGZpbHRlcikuZm9yRWFjaChcbiAgICAgIGtleSA9PlxuICAgICAgICAocmVzdWx0W2tleV0gPVxuICAgICAgICAgIGZpbHRlcltrZXldIGluc3RhbmNlb2YgRGF0ZVxuICAgICAgICAgICAgPyAoe1xuICAgICAgICAgICAgICAgIHR5cGU6IERBVEVfVFlQRSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmlsdGVyW2tleV0sXG4gICAgICAgICAgICAgIH0gYXMgRmlsdGVyVmFsdWVXaXRoTWV0YWRhdGEpXG4gICAgICAgICAgICA6IGZpbHRlcltrZXldKVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGZpbHRlciB2YWx1ZXMgd2l0aCBtZXRhIGluZm9ybWF0aW9uIGxpa2UgZGF0ZSwgd2hpY2ggbmVlZHMgbWFudWFsIGRlc2VyaWFsaXphdGlvbiB0byBhIGRhdGUgb2JqZWN0XG4gICAqL1xuICBwcml2YXRlIHBhcnNlRmlsdGVyVmFsdWUodmFsdWU6IHVua25vd24pOiB1bmtub3duIHtcbiAgICByZXR1cm4gKHZhbHVlIGFzIEZpbHRlclZhbHVlV2l0aE1ldGFkYXRhKT8udHlwZSA9PT0gREFURV9UWVBFXG4gICAgICA/IG5ldyBEYXRlKCh2YWx1ZSBhcyBGaWx0ZXJWYWx1ZVdpdGhNZXRhZGF0YSkudmFsdWUgYXMgc3RyaW5nKVxuICAgICAgOiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyKHByb3A6IHN0cmluZyk6IENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlPHVua25vd24sIHVua25vd24+IHtcbiAgICAvLyBnZXQgZGVmYXVsdCBmaWx0ZXIgb3IgY3VzdG9tIGZpbHRlclxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRhdGFncmlkLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLmZpZWxkID09PSBwcm9wKT8uZmlsdGVyIHx8XG4gICAgICB0aGlzLmN1c3RvbUZpbHRlcnMuZmluZChmaWx0ZXIgPT4gdGhpcy5nZXRGaWx0ZXJQcm9wZXJ0eU5hbWUoZmlsdGVyLmZpbHRlcikgPT09IHByb3ApPy5maWx0ZXJcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXJQcm9wZXJ0eU5hbWUoZmlsdGVyOiBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTx1bmtub3duLCB1bmtub3duPik6IHN0cmluZyB7XG4gICAgLy8gZm9yIE5lc3RlZFByb3BlcnR5IHdlIG5lZWQgdG8gZ2V0IHRoZSBvcmlnaW5hbCBwcm9wZXJ0eVxuICAgIGNvbnN0IGZpbHRlcldpdGhQcm9wID0gZmlsdGVyIGFzIHVua25vd24gYXMgeyBwcm9wZXJ0eTogdW5rbm93biB9O1xuICAgIHJldHVybiAoKGZpbHRlcldpdGhQcm9wLnByb3BlcnR5IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KT8ucHJvcCB8fCBmaWx0ZXJXaXRoUHJvcC5wcm9wZXJ0eSkgYXMgc3RyaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTb3J0UHJvcGVydHkoc29ydEJ5OiBDbHJEYXRhZ3JpZENvbXBhcmF0b3JJbnRlcmZhY2U8dW5rbm93bj4gfCBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChzb3J0QnkpIHtcbiAgICAgIGlmICh0eXBlb2Ygc29ydEJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gc29ydEJ5O1xuICAgICAgfVxuICAgICAgaWYgKHNvcnRCeSBpbnN0YW5jZW9mIERhdGFncmlkUHJvcGVydHlDb21wYXJhdG9yKSB7XG4gICAgICAgIHJldHVybiBzb3J0QnkucHJvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGFncmlkL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxXQUFXLEVBRVgsaUJBQWlCLEVBRWpCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFFcEIsMEJBQTBCLEdBQzNCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdqRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFVekIsTUFBTSxPQUFPLDRCQUE0QjtJQThCdkMsWUFBb0IsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQWxCekMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRzFCLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQVczQixpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFDckMsaUNBQTRCLEdBQUcsS0FBSyxDQUFDO1FBQ3JDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRWEsQ0FBQztJQUU3QyxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjthQUFNO1lBQ0wsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsSUFBSSxF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LDBCQUEwQjtpQkFDckM7a0dBVUMsT0FBTztzQkFETixLQUFLO3VCQUFDLHdCQUF3QjtnQkFJL0IsaUJBQWlCO3NCQURoQixLQUFLO3VCQUFDLHNCQUFzQjtnQkFJN0IscUJBQXFCO3NCQURwQixLQUFLO3VCQUFDLDBCQUEwQjtnQkFJakMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLHFCQUFxQjtnQkFJbkMsY0FBYztzQkFEYixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJekQsYUFBYTtzQkFEWixlQUFlO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDbHJEYXRhZ3JpZCxcbiAgQ2xyRGF0YWdyaWRDb21wYXJhdG9ySW50ZXJmYWNlLFxuICBDbHJEYXRhZ3JpZEZpbHRlcixcbiAgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2UsXG4gIENsckRhdGFncmlkUGFnaW5hdGlvbixcbiAgQ2xyRGF0YWdyaWRTb3J0T3JkZXIsXG4gIENsckRhdGFncmlkU3RhdGVJbnRlcmZhY2UsXG4gIERhdGFncmlkUHJvcGVydHlDb21wYXJhdG9yLFxufSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwgfSBmcm9tICcuL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlLW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBkZWxheSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3RhdGVQZXJzaXN0ZW5jZU9wdGlvbnMgfSBmcm9tICcuL3N0YXRlLXBlcnNpc3RlbmNlLW9wdGlvbnMuaW50ZXJmYWNlJztcblxuY29uc3QgREFURV9UWVBFID0gJ2RhdGUnO1xuXG5pbnRlcmZhY2UgRmlsdGVyVmFsdWVXaXRoTWV0YWRhdGEge1xuICB0eXBlOiBzdHJpbmc7XG4gIHZhbHVlOiB1bmtub3duO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyU3RhdGVQZXJzaXN0ZW5jZUtleV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0ZVBlcnNpc3RlbmNlS2V5RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHBlcnNpc3RlbmNlLlxuICAgKiAnS2V5JyByZXByZXNlbnRzIHRoZSBsb2NhbCBzdG9yYWdlIGtleSB1bmRlciB3aGljaCB0aGUgcGVyc2lzdGVuY2Ugc3RhdGUgaXMgc3RvcmVkLlxuICAgKlxuICAgKiBPcHRpb25hbCBmaWVsZHMgd2l0aCB0aGUgJ3BlcnNpc3QnIHByZWZpeCB0b2dnbGUgdGhlIHBlcnNpc3RlbmNlIG9mIHRoZSByZXNwZWN0aXZlIGRhdGFncmlkIGZ1bmN0aW9uYWxpdHksXG4gICAqIHRoZSBkZWZhdWx0IHZhbHVlIGlzIGFsd2F5cyAndHJ1ZScuXG4gICAqL1xuICBASW5wdXQoJ2NsclN0YXRlUGVyc2lzdGVuY2VLZXknKVxuICBvcHRpb25zOiBTdGF0ZVBlcnNpc3RlbmNlT3B0aW9ucztcblxuICBASW5wdXQoJ2NsclVzZUxvY2FsU3RvcmVPbmx5JylcbiAgdXNlTG9jYWxTdG9yZU9ubHkgPSBmYWxzZTtcblxuICBASW5wdXQoJ2NsclBhZ2luYXRpb25EZXNjcmlwdGlvbicpXG4gIHBhZ2luYXRpb25EZXNjcmlwdGlvbiA9ICcnO1xuXG4gIEBDb250ZW50Q2hpbGQoQ2xyRGF0YWdyaWRQYWdpbmF0aW9uKVxuICBwYWdpbmF0aW9uOiBDbHJEYXRhZ3JpZFBhZ2luYXRpb247XG5cbiAgQENvbnRlbnRDaGlsZChDbHJEYXRhZ3JpZFBhZ2luYXRpb24sIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwYWdpbmF0aW9uRWxlbTogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkcmVuKENsckRhdGFncmlkRmlsdGVyLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIGN1c3RvbUZpbHRlcnM6IFF1ZXJ5TGlzdDxDbHJEYXRhZ3JpZEZpbHRlcj47XG5cbiAgY2FuU2hvd1BhZ2luYXRpb25EZXNjcmlwdGlvbiA9IGZhbHNlO1xuICB3YXJuZWRBYm91dEN1c3RvbURlc2NyaXB0aW9uID0gZmFsc2U7XG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFncmlkOiBDbHJEYXRhZ3JpZCkge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zZXJ2ZXJEcml2ZW4pIHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgY29uc3Qgdm9sYXRpbGVEYXRhU3RhdGUgPSB0aGlzLmdldFZvbGF0aWxlRGF0YVN0YXRlKCk7XG4gICAgY29uc3QgbG9jYWxTdG9yYWdlU3RhdGUgPSB0aGlzLmdldExvY2FsU3RvcmFnZVN0YXRlKCk7XG5cbiAgICB0aGlzLmluaXRGaWx0ZXIodm9sYXRpbGVEYXRhU3RhdGUpO1xuICAgIHRoaXMuaW5pdFNvcnRpbmcobG9jYWxTdG9yYWdlU3RhdGUpO1xuICAgIHRoaXMuaW5pdERhdGFncmlkUGVyc2lzdGVyKCk7XG5cbiAgICBjb25zdCBwYWdpbmF0aW9uUGVyc2lzdGVuY2VFbmFibGVkID0gdGhpcy5vcHRpb25zLnBlcnNpc3RQYWdpbmF0aW9uID8/IHRydWU7XG4gICAgaWYgKHRoaXMucGFnaW5hdGlvbj8ucGFnZSAmJiBwYWdpbmF0aW9uUGVyc2lzdGVuY2VFbmFibGVkKSB7XG4gICAgICB0aGlzLmluaXRQYWdlU2l6ZVBlcnNpc3Rlcihsb2NhbFN0b3JhZ2VTdGF0ZSk7XG4gICAgICB0aGlzLmluaXRDdXJyZW50UGFnZSh2b2xhdGlsZURhdGFTdGF0ZSk7XG4gICAgfVxuICAgIHRoaXMuY2FuU2hvd1BhZ2luYXRpb25EZXNjcmlwdGlvbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogV2l0aCB0aGlzIG1ldGhvZCBmaWx0ZXJzIGNhbiBiZSBjbGVhcmVkXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSBmb3IgY2xyU3RhdGVQZXJzaXN0ZW5jZUtleVxuICAgKiBAcGFyYW0gdXNlTG9jYWxTdG9yZU9ubHkgVGhlIGNsclVzZUxvY2FsU3RvcmVPbmx5IGluZGljYXRvclxuICAgKi9cbiAgc3RhdGljIGNsZWFyRmlsdGVycyhrZXk6IHN0cmluZywgdXNlTG9jYWxTdG9yZU9ubHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZSgodXNlTG9jYWxTdG9yZU9ubHkgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSkuZ2V0SXRlbShrZXkpKSB8fCB7fTtcbiAgICBkYXRhLmNvbHVtbnMgPSB7fTtcbiAgICAodXNlTG9jYWxTdG9yZU9ubHkgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSkuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFBhZ2VTaXplUGVyc2lzdGVyKHNhdmVkU3RhdGU6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsKSB7XG4gICAgLyogcGVyc2lzdCBwYWdlIHNpemUgY2hhbmdlcyBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2Uuc2l6ZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHBhZ2VTaXplID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5nZXRMb2NhbFN0b3JhZ2VTdGF0ZSgpO1xuICAgICAgc3RhdGUucGFnZVNpemUgPSBwYWdlU2l6ZTtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMub3B0aW9ucy5rZXksIEpTT04uc3RyaW5naWZ5KHN0YXRlKSk7XG4gICAgfSk7XG5cbiAgICAvKiBpbml0IHBhZ2Ugc2l6ZSBvZiBkYXRhZ3JpZCBpZiBhbHJlYWR5IHBlcnNpc3RlZCBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgaWYgKHNhdmVkU3RhdGUucGFnZVNpemUpIHtcbiAgICAgIHRoaXMucGFnaW5hdGlvbi5wYWdlLnNpemUgPSBzYXZlZFN0YXRlLnBhZ2VTaXplO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEN1cnJlbnRQYWdlKHNhdmVkU3RhdGU6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsKSB7XG4gICAgLyogaW5pdCBjdXJyZW50IHBhZ2Ugb2YgZGF0YWdyaWQgaWYgYWxyZWFkeSBwZXJzaXN0ZWQgKi9cbiAgICBpZiAoc2F2ZWRTdGF0ZT8uY3VycmVudFBhZ2UpIHtcbiAgICAgIHRoaXMuZGF0YWdyaWQuaXRlbXMuY2hhbmdlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+ICh0aGlzLnBhZ2luYXRpb24ucGFnZS5jdXJyZW50ID0gc2F2ZWRTdGF0ZS5jdXJyZW50UGFnZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZpbHRlcihzYXZlZFN0YXRlOiBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlclBlcnNpc3RlbmNlRW5hYmxlZCA9IHRoaXMub3B0aW9ucy5wZXJzaXN0RmlsdGVycyA/PyB0cnVlO1xuICAgIGlmIChzYXZlZFN0YXRlLmNvbHVtbnMgJiYgZmlsdGVyUGVyc2lzdGVuY2VFbmFibGVkKSB7XG4gICAgICBPYmplY3Qua2V5cyhzYXZlZFN0YXRlLmNvbHVtbnMpLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyKHByb3ApO1xuICAgICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgICAgY29uc3Qgc2F2ZWRGaWx0ZXJWYWx1ZSA9IHNhdmVkU3RhdGUuY29sdW1uc1twcm9wXS5maWx0ZXJWYWx1ZSB8fCB7fTtcbiAgICAgICAgICBPYmplY3Qua2V5cyhzYXZlZEZpbHRlclZhbHVlKVxuICAgICAgICAgICAgLmZpbHRlcih2YWx1ZUtleSA9PiB2YWx1ZUtleSAhPT0gJ3Byb3BlcnR5JylcbiAgICAgICAgICAgIC5mb3JFYWNoKHZhbHVlS2V5ID0+ICgoZmlsdGVyIGFzIGFueSlbdmFsdWVLZXldID0gdGhpcy5wYXJzZUZpbHRlclZhbHVlKHNhdmVkRmlsdGVyVmFsdWVbdmFsdWVLZXldKSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRTb3J0aW5nKHNhdmVkU3RhdGU6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydFBlcnNpc3RlbmNlRW5hYmxlZCA9IHRoaXMub3B0aW9ucy5wZXJzaXN0U29ydCA/PyB0cnVlO1xuICAgIGlmIChzYXZlZFN0YXRlLnNvcnRCeSAmJiBzb3J0UGVyc2lzdGVuY2VFbmFibGVkKSB7XG4gICAgICB0aGlzLmRhdGFncmlkLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgICBpZiAodGhpcy5nZXRTb3J0UHJvcGVydHkoY29sdW1uLnNvcnRCeSkgPT09IHNhdmVkU3RhdGUuc29ydEJ5KSB7XG4gICAgICAgICAgY29sdW1uLnNvcnRPcmRlciA9IHNhdmVkU3RhdGUuc29ydFJldmVyc2UgPyBDbHJEYXRhZ3JpZFNvcnRPcmRlci5ERVNDIDogQ2xyRGF0YWdyaWRTb3J0T3JkZXIuQVNDO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbHVtbi5zb3J0T3JkZXIgPSBDbHJEYXRhZ3JpZFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0RGF0YWdyaWRQZXJzaXN0ZXIoKSB7XG4gICAgLy8gZGVsYXkgaXMgbmVlZGVkLCBhcyBvbkRlc3Ryb3kgdGhlIGZpbHRlcnMgZW1pdCBlbXB0eSB2YWx1ZXMuXG4gICAgLy8gU28gZGVsYXkgaXQgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCBjeWNsZSwgc28gdGhlIGRpcmVjdGl2ZSBpcyBhbHNvIGRlc3Ryb3llZCBiZWZvcmUgaXQgZ2V0cyB0aGUgbmV4dCB2YWx1ZXNcbiAgICB0aGlzLmRhdGFncmlkLnJlZnJlc2gucGlwZShkZWxheSgwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoZGdTdGF0ZSA9PiB7XG4gICAgICB0aGlzLnBlcnNpc3RGaWx0ZXJzQW5kQ3VycmVudFBhZ2UoZGdTdGF0ZSk7XG4gICAgICB0aGlzLnBlcnNpc3RTb3J0aW5nKGRnU3RhdGUpO1xuXG4gICAgICBpZiAodGhpcy5jYW5TaG93UGFnaW5hdGlvbkRlc2NyaXB0aW9uKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUGFnaW5hdGlvbkRlc2NyaXB0aW9uKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmRhdGFncmlkLml0ZW1zLmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlUGFnaW5hdGlvbkRlc2NyaXB0aW9uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJzaXN0RmlsdGVyc0FuZEN1cnJlbnRQYWdlKGRnU3RhdGU6IENsckRhdGFncmlkU3RhdGVJbnRlcmZhY2U8dW5rbm93bj4pOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJQZXJzaXN0ZW5jZUVuYWJsZWQgPSB0aGlzLm9wdGlvbnMucGVyc2lzdEZpbHRlcnMgPz8gdHJ1ZTtcbiAgICBjb25zdCBwYWdpbmF0aW9uUGVyc2lzdGVuY2VFbmFibGVkID0gdGhpcy5vcHRpb25zLnBlcnNpc3RQYWdpbmF0aW9uID8/IHRydWU7XG5cbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0Vm9sYXRpbGVEYXRhU3RhdGUoKTtcbiAgICBzdGF0ZS5jb2x1bW5zID0gc3RhdGUuY29sdW1ucyB8fCB7fTtcblxuICAgIGlmIChwYWdpbmF0aW9uUGVyc2lzdGVuY2VFbmFibGVkKSB7XG4gICAgICBzdGF0ZS5jdXJyZW50UGFnZSA9IGRnU3RhdGUucGFnZT8uY3VycmVudDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyUGVyc2lzdGVuY2VFbmFibGVkKSB7XG4gICAgICBPYmplY3Qua2V5cyhzdGF0ZS5jb2x1bW5zKS5mb3JFYWNoKHByb3AgPT4gKHN0YXRlLmNvbHVtbnNbcHJvcF0uZmlsdGVyVmFsdWUgPSB1bmRlZmluZWQpKTtcbiAgICAgIGRnU3RhdGUuZmlsdGVycz8uZm9yRWFjaChmaWx0ZXIgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuZ2V0RmlsdGVyUHJvcGVydHlOYW1lKGZpbHRlcik7XG4gICAgICAgIGlmIChwcm9wZXJ0eSkge1xuICAgICAgICAgIHN0YXRlLmNvbHVtbnNbcHJvcGVydHldID0gc3RhdGUuY29sdW1uc1twcm9wZXJ0eV0gfHwge307XG4gICAgICAgICAgc3RhdGUuY29sdW1uc1twcm9wZXJ0eV0uZmlsdGVyVmFsdWUgPSB0aGlzLmVucmljaEZpbHRlclZhbHVlKGZpbHRlcik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgICh0aGlzLnVzZUxvY2FsU3RvcmVPbmx5ID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2UpLnNldEl0ZW0odGhpcy5vcHRpb25zLmtleSwgSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgcGVyc2lzdFNvcnRpbmcoZGdTdGF0ZTogQ2xyRGF0YWdyaWRTdGF0ZUludGVyZmFjZTx1bmtub3duPik6IHZvaWQge1xuICAgIGNvbnN0IHNvcnRQZXJzaXN0ZW5jZUVuYWJsZWQgPSB0aGlzLm9wdGlvbnMucGVyc2lzdFNvcnQgPz8gdHJ1ZTtcbiAgICBpZiAoc29ydFBlcnNpc3RlbmNlRW5hYmxlZCkge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldExvY2FsU3RvcmFnZVN0YXRlKCk7XG4gICAgICBzdGF0ZS5zb3J0QnkgPSB0aGlzLmdldFNvcnRQcm9wZXJ0eShkZ1N0YXRlLnNvcnQ/LmJ5KTtcbiAgICAgIHN0YXRlLnNvcnRSZXZlcnNlID0gZGdTdGF0ZS5zb3J0Py5yZXZlcnNlO1xuXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLm9wdGlvbnMua2V5LCBKU09OLnN0cmluZ2lmeShzdGF0ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uIGRlc2NyaXB0aW9uIG11c3QgYmUgc2V0IGJ5IHRoaXMgZGlyZWN0aXZlLFxuICAgKiBvdGhlcndpc2Ugd2UgY2FuJ3QgdXBkYXRlIGRhdGFncmlkIHZhbHVlcyBmcm9tIGxvY2FsU3RvcmFnZVxuICAgKiB3aXRob3V0IGdldHRpbmcgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVQYWdpbmF0aW9uRGVzY3JpcHRpb24oKSB7XG4gICAgaWYgKHRoaXMucGFnaW5hdGlvbkVsZW0gJiYgdGhpcy5wYWdpbmF0aW9uKSB7XG4gICAgICBjb25zdCBwYWdpbmF0aW9uRGVzY0VsZW0gPSAoPEhUTUxFbGVtZW50PnRoaXMucGFnaW5hdGlvbkVsZW0ubmF0aXZlRWxlbWVudCkuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcbiAgICAgICAgJ3BhZ2luYXRpb24tZGVzY3JpcHRpb24nXG4gICAgICApPy5bMF07XG4gICAgICBpZiAocGFnaW5hdGlvbkRlc2NFbGVtKSB7XG4gICAgICAgIGlmICghdGhpcy53YXJuZWRBYm91dEN1c3RvbURlc2NyaXB0aW9uICYmIHBhZ2luYXRpb25EZXNjRWxlbS50ZXh0Q29udGVudC50cmltKCkubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICdXaGVuIHVzaW5nIGNsclN0YXRlUGVyc2lzdGVuY2VLZXkgZGlyZWN0aXZlLCB5b3Ugc2hvdWxkIG5vdCB1c2UgY3VzdG9tIHBhZ2luYXRpb24gZGVzY3JpcHRpb24nICtcbiAgICAgICAgICAgICAgJyBpbnNpZGUgcGFnaW5hdGlvbiBjb21wb25lbnQgY29udGVudCwgYnV0IHVzZSBbY2xyUGFnaW5hdGlvbkRlc2NyaXB0aW9uXSBvbiBjbHItZGF0YWdyaWQnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndhcm5lZEFib3V0Q3VzdG9tRGVzY3JpcHRpb24gPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICBwYWdpbmF0aW9uRGVzY0VsZW0udGV4dENvbnRlbnQgPSB0aGlzLnBhZ2luYXRpb25EZXNjcmlwdGlvblxuICAgICAgICAgICAgLnJlcGxhY2UoJ3t7Zmlyc3R9fScsICh0aGlzLnBhZ2luYXRpb24uZmlyc3RJdGVtICsgMSkudG9TdHJpbmcoKSlcbiAgICAgICAgICAgIC5yZXBsYWNlKCd7e2xhc3R9fScsICh0aGlzLnBhZ2luYXRpb24ubGFzdEl0ZW0gKyAxKS50b1N0cmluZygpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3t7dG90YWx9fScsIHRoaXMucGFnaW5hdGlvbi50b3RhbEl0ZW1zLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHN0YXRlIG9mIHZvbGF0aWxlIGRhdGEuIFRoaXMgY2FuIGJlIGluZmx1ZW5jZWQgYnkgY2xyVXNlTG9jYWxTdG9yZU9ubHkuXG4gICAqL1xuICBnZXRWb2xhdGlsZURhdGFTdGF0ZSgpOiBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbCB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoKHRoaXMudXNlTG9jYWxTdG9yZU9ubHkgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSkuZ2V0SXRlbSh0aGlzLm9wdGlvbnMua2V5KSkgfHwge307XG4gIH1cblxuICBnZXRMb2NhbFN0b3JhZ2VTdGF0ZSgpOiBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbCB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5vcHRpb25zLmtleSkpIHx8IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFzIGEgZGF0ZSBpcyBzZXJpYWxpemVkIGFzIHN0cmluZywgYnV0IG5vdCBkZXNlcmlhbGl6ZWQgYXMgZGF0ZVxuICAgKiB3ZSBuZWVkIHRvIGFkZCBzb21lIG1ldGEgaW5mb3JtYXRpb24gdG8gZG8gdGhhdCBtYW51YWxseSBsYXRlclxuICAgKi9cbiAgcHJpdmF0ZSBlbnJpY2hGaWx0ZXJWYWx1ZShmaWx0ZXI6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICBPYmplY3Qua2V5cyhmaWx0ZXIpLmZvckVhY2goXG4gICAgICBrZXkgPT5cbiAgICAgICAgKHJlc3VsdFtrZXldID1cbiAgICAgICAgICBmaWx0ZXJba2V5XSBpbnN0YW5jZW9mIERhdGVcbiAgICAgICAgICAgID8gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBEQVRFX1RZUEUsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZpbHRlcltrZXldLFxuICAgICAgICAgICAgICB9IGFzIEZpbHRlclZhbHVlV2l0aE1ldGFkYXRhKVxuICAgICAgICAgICAgOiBmaWx0ZXJba2V5XSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBmaWx0ZXIgdmFsdWVzIHdpdGggbWV0YSBpbmZvcm1hdGlvbiBsaWtlIGRhdGUsIHdoaWNoIG5lZWRzIG1hbnVhbCBkZXNlcmlhbGl6YXRpb24gdG8gYSBkYXRlIG9iamVjdFxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZUZpbHRlclZhbHVlKHZhbHVlOiB1bmtub3duKTogdW5rbm93biB7XG4gICAgcmV0dXJuICh2YWx1ZSBhcyBGaWx0ZXJWYWx1ZVdpdGhNZXRhZGF0YSk/LnR5cGUgPT09IERBVEVfVFlQRVxuICAgICAgPyBuZXcgRGF0ZSgodmFsdWUgYXMgRmlsdGVyVmFsdWVXaXRoTWV0YWRhdGEpLnZhbHVlIGFzIHN0cmluZylcbiAgICAgIDogdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlcihwcm9wOiBzdHJpbmcpOiBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTx1bmtub3duLCB1bmtub3duPiB7XG4gICAgLy8gZ2V0IGRlZmF1bHQgZmlsdGVyIG9yIGN1c3RvbSBmaWx0ZXJcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5kYXRhZ3JpZC5jb2x1bW5zLmZpbmQoY29sID0+IGNvbC5maWVsZCA9PT0gcHJvcCk/LmZpbHRlciB8fFxuICAgICAgdGhpcy5jdXN0b21GaWx0ZXJzLmZpbmQoZmlsdGVyID0+IHRoaXMuZ2V0RmlsdGVyUHJvcGVydHlOYW1lKGZpbHRlci5maWx0ZXIpID09PSBwcm9wKT8uZmlsdGVyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsdGVyUHJvcGVydHlOYW1lKGZpbHRlcjogQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8dW5rbm93biwgdW5rbm93bj4pOiBzdHJpbmcge1xuICAgIC8vIGZvciBOZXN0ZWRQcm9wZXJ0eSB3ZSBuZWVkIHRvIGdldCB0aGUgb3JpZ2luYWwgcHJvcGVydHlcbiAgICBjb25zdCBmaWx0ZXJXaXRoUHJvcCA9IGZpbHRlciBhcyB1bmtub3duIGFzIHsgcHJvcGVydHk6IHVua25vd24gfTtcbiAgICByZXR1cm4gKChmaWx0ZXJXaXRoUHJvcC5wcm9wZXJ0eSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LnByb3AgfHwgZmlsdGVyV2l0aFByb3AucHJvcGVydHkpIGFzIHN0cmluZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U29ydFByb3BlcnR5KHNvcnRCeTogQ2xyRGF0YWdyaWRDb21wYXJhdG9ySW50ZXJmYWNlPHVua25vd24+IHwgc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoc29ydEJ5KSB7XG4gICAgICBpZiAodHlwZW9mIHNvcnRCeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHNvcnRCeTtcbiAgICAgIH1cbiAgICAgIGlmIChzb3J0QnkgaW5zdGFuY2VvZiBEYXRhZ3JpZFByb3BlcnR5Q29tcGFyYXRvcikge1xuICAgICAgICByZXR1cm4gc29ydEJ5LnByb3A7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -4,11 +4,11 @@
4
4
  * The full license information can be found in LICENSE in the root directory of this project.
5
5
  */
6
6
  import { Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef, ViewChildren, } from '@angular/core';
7
- import { ClarityIcons, plusIcon, trashIcon } from '@cds/core/icon';
7
+ import { ClarityIcons, plusCircleIcon, trashIcon } from '@cds/core/icon';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common";
10
10
  import * as i2 from "@clr/angular";
11
- ClarityIcons.addIcons(trashIcon, plusIcon);
11
+ ClarityIcons.addIcons(trashIcon, plusCircleIcon);
12
12
  export class ClrGenericQuickList {
13
13
  constructor() {
14
14
  this.allItems = [];
@@ -56,10 +56,10 @@ export class ClrGenericQuickList {
56
56
  }
57
57
  }
58
58
  ClrGenericQuickList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrGenericQuickList, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- ClrGenericQuickList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrGenericQuickList, selector: "clr-generic-quick-list", inputs: { allItems: ["clrAllItems", "allItems"], addLabel: ["clrAddLabel", "addLabel"], addPossible: ["clrAddPossible", "addPossible"], blankItem: ["clrBlankItem", "blankItem"], controlClasses: ["clrControlClasses", "controlClasses"], required: ["clrMandatory", "required"], readonly: "readonly", compactMode: "compactMode" }, outputs: { added: "clrAdded", removed: "clrRemoved" }, host: { properties: { "class.generic-quick-list": "true", "class.clr-form-control": "true" } }, queries: [{ propertyName: "itemTemplate", predicate: TemplateRef }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n >\n <cds-icon shape=\"plus\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n >\n <cds-icon shape=\"plus\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] });
59
+ ClrGenericQuickList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrGenericQuickList, selector: "clr-generic-quick-list", inputs: { allItems: ["clrAllItems", "allItems"], addLabel: ["clrAddLabel", "addLabel"], addPossible: ["clrAddPossible", "addPossible"], blankItem: ["clrBlankItem", "blankItem"], controlClasses: ["clrControlClasses", "controlClasses"], required: ["clrMandatory", "required"], readonly: "readonly", compactMode: "compactMode" }, outputs: { added: "clrAdded", removed: "clrRemoved" }, host: { properties: { "class.generic-quick-list": "true", "class.clr-form-control": "true" } }, queries: [{ propertyName: "itemTemplate", predicate: TemplateRef }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }] });
60
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrGenericQuickList, decorators: [{
61
61
  type: Component,
62
- args: [{ selector: 'clr-generic-quick-list', host: { '[class.generic-quick-list]': 'true', '[class.clr-form-control]': 'true' }, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n >\n <cds-icon shape=\"plus\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n >\n <cds-icon shape=\"plus\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n" }]
62
+ args: [{ selector: 'clr-generic-quick-list', host: { '[class.generic-quick-list]': 'true', '[class.clr-form-control]': 'true' }, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems; index as i\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [ngClass]=\"{'btn-trash-ext': !(compactMode && i === allItems.length - 1)}\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <cds-icon shape=\"trash\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && compactMode && i === allItems.length - 1\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n </div>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && allItems.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n" }]
63
63
  }], propDecorators: { allItems: [{
64
64
  type: Input,
65
65
  args: ['clrAllItems']
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
95
95
  type: ViewChildren,
96
96
  args: ['row']
97
97
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1xdWljay1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZ2VuZXJpYy1xdWljay1saXN0L2dlbmVyaWMtcXVpY2stbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2dlbmVyaWMtcXVpY2stbGlzdC9nZW5lcmljLXF1aWNrLWxpc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFbkUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFXM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU13QixhQUFRLEdBQUcsRUFBUyxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxvQkFBb0IsQ0FBQztRQUM3QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNyQixjQUFTLEdBQUcsRUFBUyxDQUFDO1FBRXRCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFVCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWtEcEQ7SUF6Q0MsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQU87UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQTBCLEVBQUUsRUFBRTtZQUM3RCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDakQsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUN6RCxxRUFBcUUsQ0FDdEUsQ0FBQztnQkFDRixJQUFJLGNBQWMsRUFBRTtvQkFDbEIsc0dBQXNHO29CQUN0RyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7aUJBQzFDO2FBQ0Y7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Z0hBNURVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHlqQkFhYixXQUFXLGlIQzlDOUIsa3FEQStDQTsyRkRkYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0Usd0JBQXdCLFFBQzVCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sRUFBRTs4QkFJNUQsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUNFLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFDSyxXQUFXO3NCQUFuQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDQSxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBQ08sY0FBYztzQkFBekMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ0gsUUFBUTtzQkFBOUIsS0FBSzt1QkFBQyxjQUFjO2dCQUNaLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYyxLQUFLO3NCQUF4QixNQUFNO3VCQUFDLFVBQVU7Z0JBQ0ksT0FBTztzQkFBNUIsTUFBTTt1QkFBQyxZQUFZO2dCQUVVLFlBQVk7c0JBQXpDLGVBQWU7dUJBQUMsV0FBVztnQkFDUCxRQUFRO3NCQUE1QixZQUFZO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFyaXR5SWNvbnMsIHBsdXNJY29uLCB0cmFzaEljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyh0cmFzaEljb24sIHBsdXNJY29uKTtcblxuZXhwb3J0IGludGVyZmFjZSBDbHJHZW5lcmljUXVpY2tMaXN0SXRlbSB7XG4gIGlkOiBhbnk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1nZW5lcmljLXF1aWNrLWxpc3QnLFxuICBob3N0OiB7ICdbY2xhc3MuZ2VuZXJpYy1xdWljay1saXN0XSc6ICd0cnVlJywgJ1tjbGFzcy5jbHItZm9ybS1jb250cm9sXSc6ICd0cnVlJyB9LFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VuZXJpYy1xdWljay1saXN0Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJHZW5lcmljUXVpY2tMaXN0PFQgZXh0ZW5kcyBDbHJHZW5lcmljUXVpY2tMaXN0SXRlbT4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnY2xyQWxsSXRlbXMnKSBhbGxJdGVtcyA9IFtdIGFzIFRbXTtcbiAgQElucHV0KCdjbHJBZGRMYWJlbCcpIGFkZExhYmVsID0gJ0FERCAoVHJhbnNsYXRlIG1lKSc7XG4gIEBJbnB1dCgnY2xyQWRkUG9zc2libGUnKSBhZGRQb3NzaWJsZSA9IHRydWU7XG4gIEBJbnB1dCgnY2xyQmxhbmtJdGVtJykgYmxhbmtJdGVtID0ge30gYXMgYW55O1xuICBASW5wdXQoJ2NsckNvbnRyb2xDbGFzc2VzJykgY29udHJvbENsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCdjbHJNYW5kYXRvcnknKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSByZWFkb25seTogc3RyaW5nO1xuICBASW5wdXQoKSBjb21wYWN0TW9kZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoJ2NsckFkZGVkJykgYWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoJ2NsclJlbW92ZWQnKSByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVSZWYpIGl0ZW1UZW1wbGF0ZTogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+O1xuICBAVmlld0NoaWxkcmVuKCdyb3cnKSBpdGVtUm93czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIHJvd0NvdW50Rm9jdXM6IG51bWJlcjtcblxuICBwcml2YXRlIHRpbWVvdXQ6IE5vZGVKUy5UaW1lb3V0O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmIHRoaXMuYWxsSXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmFkZEl0ZW0oKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEZvY3VzT25BZGQoKSk7XG4gIH1cblxuICBhZGRJdGVtKCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0l0ZW0gPSB7IC4uLnRoaXMuYmxhbmtJdGVtIH07XG4gICAgbmV3SXRlbS5pZCA9IE1hdGguY2VpbChNYXRoLnJhbmRvbSgpICogMTAwMDAwKTtcbiAgICB0aGlzLmFsbEl0ZW1zLnB1c2gobmV3SXRlbSk7XG4gICAgdGhpcy5hZGRlZC5lbWl0KG5ld0l0ZW0pO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShpdGVtOiBUKTogdm9pZCB7XG4gICAgdGhpcy5hbGxJdGVtcy5zcGxpY2UodGhpcy5hbGxJdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICB0aGlzLnJlbW92ZWQuZW1pdChpdGVtKTtcbiAgfVxuXG4gIHNldEZvY3VzT25BZGQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3dDb3VudEZvY3VzID0gdGhpcy5pdGVtUm93cy5sZW5ndGg7XG4gICAgdGhpcy5pdGVtUm93cy5jaGFuZ2VzLnN1YnNjcmliZSgoZWxzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj4pID0+IHtcbiAgICAgIGlmIChlbHMubGVuZ3RoID4gdGhpcy5yb3dDb3VudEZvY3VzICYmICEhZWxzLmxhc3QpIHtcbiAgICAgICAgY29uc3QgZmlyc3RGb2N1c2FibGUgPSBlbHMubGFzdC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgXCJidXR0b24sIGEsIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Jy0xJ10pXCJcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGZpcnN0Rm9jdXNhYmxlKSB7XG4gICAgICAgICAgLy8gbmVlZGVkIGlmIHRoZSBmaXJzdCBmb2N1c2FibGUgYmluZHMgdG8gZm9jdXMgYXR0cmlidXRlIC0+IEV4cHJlc3Npb25IYXNDaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBmaXJzdEZvY3VzYWJsZS5mb2N1cygpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5yb3dDb3VudEZvY3VzID0gZWxzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJjbHItY29udHJvbC1jb250YWluZXJcIiBbbmdDbGFzc109XCJjb250cm9sQ2xhc3Nlc1wiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuaGVhZGVyLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFsbEl0ZW1zOyBpbmRleCBhcyBpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRyb2xzLXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250cm9scy1jb250YWluZXJcIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiICNyb3c+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGUuZ2V0KDApOyBjb250ZXh0OiB7JGltcGxpY2l0Oml0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJylcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmsgYnRuLXRyYXNoXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydidG4tdHJhc2gtZXh0JzogIShjb21wYWN0TW9kZSAmJiBpID09PSBhbGxJdGVtcy5sZW5ndGggLSAxKX1cIlxuICAgICAgICBbZGlzYWJsZWRdPVwicmVxdWlyZWQgJiYgYWxsSXRlbXMubGVuZ3RoID09PSAxXCJcbiAgICAgICAgKGNsaWNrKT1cInJlbW92ZUl0ZW0oaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJ0cmFzaFwiPjwvY2RzLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJykgJiYgY29tcGFjdE1vZGUgJiYgaSA9PT0gYWxsSXRlbXMubGVuZ3RoIC0gMVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4taWNvbiBidG4tbGluayBxdWljay1saXN0LWFkZGNvbXBhY3RcIlxuICAgICAgICAoY2xpY2spPVwiYWRkSXRlbSgpXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwicGx1c1wiPjwvY2RzLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiEocmVhZG9ubHkgfHwgcmVhZG9ubHkgPT09ICcnKSAmJiBhbGxJdGVtcy5sZW5ndGggPT09IDAgJiYgY29tcGFjdE1vZGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saW5rIHF1aWNrLWxpc3QtYWRkY29tcGFjdFwiXG4gICAgKGNsaWNrKT1cImFkZEl0ZW0oKVwiXG4gID5cbiAgICA8Y2RzLWljb24gc2hhcGU9XCJwbHVzXCI+PC9jZHMtaWNvbj5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiEocmVhZG9ubHkgfHwgcmVhZG9ubHkgPT09ICcnKSAmJiAhY29tcGFjdE1vZGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbSBidG4tYWRkXCJcbiAgICAoY2xpY2spPVwiYWRkSXRlbSgpXCJcbiAgICBbZGlzYWJsZWRdPVwiIWFkZFBvc3NpYmxlXCJcbiAgPlxuICAgIHt7YWRkTGFiZWx9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1xdWljay1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZ2VuZXJpYy1xdWljay1saXN0L2dlbmVyaWMtcXVpY2stbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2dlbmVyaWMtcXVpY2stbGlzdC9nZW5lcmljLXF1aWNrLWxpc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFekUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFXakQsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU13QixhQUFRLEdBQUcsRUFBUyxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxvQkFBb0IsQ0FBQztRQUM3QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNyQixjQUFTLEdBQUcsRUFBUyxDQUFDO1FBRXRCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFVCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQWtEcEQ7SUF6Q0MsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQU87UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQTBCLEVBQUUsRUFBRTtZQUM3RCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDakQsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUN6RCxxRUFBcUUsQ0FDdEUsQ0FBQztnQkFDRixJQUFJLGNBQWMsRUFBRTtvQkFDbEIsc0dBQXNHO29CQUN0RyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7aUJBQzFDO2FBQ0Y7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Z0hBNURVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHlqQkFhYixXQUFXLGlIQzlDOUIsc3ZEQWlEQTsyRkRoQmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLHdCQUF3QixRQUM1QixFQUFFLDRCQUE0QixFQUFFLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUU7OEJBSTVELFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFDRSxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0ssV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0EsU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxjQUFjO2dCQUNPLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNILFFBQVE7c0JBQTlCLEtBQUs7dUJBQUMsY0FBYztnQkFDWixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRWMsS0FBSztzQkFBeEIsTUFBTTt1QkFBQyxVQUFVO2dCQUNJLE9BQU87c0JBQTVCLE1BQU07dUJBQUMsWUFBWTtnQkFFVSxZQUFZO3NCQUF6QyxlQUFlO3VCQUFDLFdBQVc7Z0JBQ1AsUUFBUTtzQkFBNUIsWUFBWTt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhcml0eUljb25zLCBwbHVzQ2lyY2xlSWNvbiwgdHJhc2hJY29uIH0gZnJvbSAnQGNkcy9jb3JlL2ljb24nO1xuXG5DbGFyaXR5SWNvbnMuYWRkSWNvbnModHJhc2hJY29uLCBwbHVzQ2lyY2xlSWNvbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyR2VuZXJpY1F1aWNrTGlzdEl0ZW0ge1xuICBpZDogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZ2VuZXJpYy1xdWljay1saXN0JyxcbiAgaG9zdDogeyAnW2NsYXNzLmdlbmVyaWMtcXVpY2stbGlzdF0nOiAndHJ1ZScsICdbY2xhc3MuY2xyLWZvcm0tY29udHJvbF0nOiAndHJ1ZScgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtcXVpY2stbGlzdC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyR2VuZXJpY1F1aWNrTGlzdDxUIGV4dGVuZHMgQ2xyR2VuZXJpY1F1aWNrTGlzdEl0ZW0+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2NsckFsbEl0ZW1zJykgYWxsSXRlbXMgPSBbXSBhcyBUW107XG4gIEBJbnB1dCgnY2xyQWRkTGFiZWwnKSBhZGRMYWJlbCA9ICdBREQgKFRyYW5zbGF0ZSBtZSknO1xuICBASW5wdXQoJ2NsckFkZFBvc3NpYmxlJykgYWRkUG9zc2libGUgPSB0cnVlO1xuICBASW5wdXQoJ2NsckJsYW5rSXRlbScpIGJsYW5rSXRlbSA9IHt9IGFzIGFueTtcbiAgQElucHV0KCdjbHJDb250cm9sQ2xhc3NlcycpIGNvbnRyb2xDbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyTWFuZGF0b3J5JykgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IHN0cmluZztcbiAgQElucHV0KCkgY29tcGFjdE1vZGUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCdjbHJBZGRlZCcpIGFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCdjbHJSZW1vdmVkJykgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmKSBpdGVtVGVtcGxhdGU6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcbiAgQFZpZXdDaGlsZHJlbigncm93JykgaXRlbVJvd3M6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICByb3dDb3VudEZvY3VzOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSB0aW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLmFsbEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hZGRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRGb2N1c09uQWRkKCkpO1xuICB9XG5cbiAgYWRkSXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdJdGVtID0geyAuLi50aGlzLmJsYW5rSXRlbSB9O1xuICAgIG5ld0l0ZW0uaWQgPSBNYXRoLmNlaWwoTWF0aC5yYW5kb20oKSAqIDEwMDAwMCk7XG4gICAgdGhpcy5hbGxJdGVtcy5wdXNoKG5ld0l0ZW0pO1xuICAgIHRoaXMuYWRkZWQuZW1pdChuZXdJdGVtKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuYWxsSXRlbXMuc3BsaWNlKHRoaXMuYWxsSXRlbXMuaW5kZXhPZihpdGVtKSwgMSk7XG4gICAgdGhpcy5yZW1vdmVkLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXRGb2N1c09uQWRkKCk6IHZvaWQge1xuICAgIHRoaXMucm93Q291bnRGb2N1cyA9IHRoaXMuaXRlbVJvd3MubGVuZ3RoO1xuICAgIHRoaXMuaXRlbVJvd3MuY2hhbmdlcy5zdWJzY3JpYmUoKGVsczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+KSA9PiB7XG4gICAgICBpZiAoZWxzLmxlbmd0aCA+IHRoaXMucm93Q291bnRGb2N1cyAmJiAhIWVscy5sYXN0KSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZWxzLmxhc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIFwiYnV0dG9uLCBhLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSctMSddKVwiXG4gICAgICAgICk7XG4gICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xuICAgICAgICAgIC8vIG5lZWRlZCBpZiB0aGUgZmlyc3QgZm9jdXNhYmxlIGJpbmRzIHRvIGZvY3VzIGF0dHJpYnV0ZSAtPiBFeHByZXNzaW9uSGFzQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZFxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZmlyc3RGb2N1c2FibGUuZm9jdXMoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMucm93Q291bnRGb2N1cyA9IGVscy5sZW5ndGg7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwiY2xyLWNvbnRyb2wtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udHJvbENsYXNzZXNcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmhlYWRlci1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbGxJdGVtczsgaW5kZXggYXMgaVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250cm9scy13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbHMtY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIiAjcm93PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlLmdldCgwKTsgY29udGV4dDogeyRpbXBsaWNpdDppdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saW5rIGJ0bi10cmFzaFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnYnRuLXRyYXNoLWV4dCc6ICEoY29tcGFjdE1vZGUgJiYgaSA9PT0gYWxsSXRlbXMubGVuZ3RoIC0gMSl9XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJlcXVpcmVkICYmIGFsbEl0ZW1zLmxlbmd0aCA9PT0gMVwiXG4gICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0pXCJcbiAgICAgID5cbiAgICAgICAgPGNkcy1pY29uIHNoYXBlPVwidHJhc2hcIj48L2Nkcy1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpICYmIGNvbXBhY3RNb2RlICYmIGkgPT09IGFsbEl0ZW1zLmxlbmd0aCAtIDFcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmsgcXVpY2stbGlzdC1hZGRjb21wYWN0XCJcbiAgICAgICAgKGNsaWNrKT1cImFkZEl0ZW0oKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhYWRkUG9zc2libGVcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJwbHVzLWNpcmNsZVwiPjwvY2RzLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiEocmVhZG9ubHkgfHwgcmVhZG9ubHkgPT09ICcnKSAmJiBhbGxJdGVtcy5sZW5ndGggPT09IDAgJiYgY29tcGFjdE1vZGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saW5rIHF1aWNrLWxpc3QtYWRkY29tcGFjdFwiXG4gICAgKGNsaWNrKT1cImFkZEl0ZW0oKVwiXG4gICAgW2Rpc2FibGVkXT1cIiFhZGRQb3NzaWJsZVwiXG4gID5cbiAgICA8Y2RzLWljb24gc2hhcGU9XCJwbHVzLWNpcmNsZVwiPjwvY2RzLWljb24+XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJykgJiYgIWNvbXBhY3RNb2RlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImJ0biBidG4tbGluayBidG4tc20gYnRuLWFkZFwiXG4gICAgKGNsaWNrKT1cImFkZEl0ZW0oKVwiXG4gICAgW2Rpc2FibGVkXT1cIiFhZGRQb3NzaWJsZVwiXG4gID5cbiAgICB7e2FkZExhYmVsfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -4,18 +4,19 @@
4
4
  * The full license information can be found in LICENSE in the root directory of this project.
5
5
  */
6
6
  import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
7
- import { ClarityIcons, trashIcon, plusIcon } from '@cds/core/icon';
7
+ import { ClarityIcons, plusCircleIcon, trashIcon } from '@cds/core/icon';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common";
10
10
  import * as i2 from "@angular/forms";
11
11
  import * as i3 from "@clr/angular";
12
- ClarityIcons.addIcons(trashIcon, plusIcon);
12
+ ClarityIcons.addIcons(trashIcon, plusCircleIcon);
13
13
  export class ClrAddOption {
14
14
  constructor() {
15
15
  this.mandatory = false;
16
16
  this.allValues = [];
17
17
  this.excludedValues = [];
18
18
  this.disabled = false;
19
+ this.disableAddButton = true;
19
20
  this.showAddButton = false;
20
21
  this.valueChanged = new EventEmitter();
21
22
  this.remove = new EventEmitter();
@@ -40,10 +41,10 @@ export class ClrAddOption {
40
41
  }
41
42
  }
42
43
  ClrAddOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrAddOption, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- ClrAddOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrAddOption, selector: "clr-add-option", inputs: { blankOption: "blankOption", value: "value", mandatory: "mandatory", allValues: "allValues", excludedValues: "excludedValues", readonly: "readonly", disabled: "disabled", showAddButton: "showAddButton" }, outputs: { valueChanged: "valueChanged", remove: "remove", add: "add" }, host: { properties: { "class.quick-list-option": "true" } }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n>\n <cds-icon shape=\"plus\"></cds-icon>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.CdsIconCustomTag, selector: "cds-icon" }] });
44
+ ClrAddOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrAddOption, selector: "clr-add-option", inputs: { blankOption: "blankOption", value: "value", mandatory: "mandatory", allValues: "allValues", excludedValues: "excludedValues", readonly: "readonly", disabled: "disabled", disableAddButton: "disableAddButton", showAddButton: "showAddButton" }, outputs: { valueChanged: "valueChanged", remove: "remove", add: "add" }, host: { properties: { "class.quick-list-option": "true" } }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n [disabled]=\"disableAddButton\"\n>\n <cds-icon shape=\"plus-circle\"></cds-icon>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.CdsIconCustomTag, selector: "cds-icon" }] });
44
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrAddOption, decorators: [{
45
46
  type: Component,
46
- args: [{ selector: 'clr-add-option', host: { '[class.quick-list-option]': 'true' }, template: "<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n>\n <cds-icon shape=\"plus\"></cds-icon>\n</button>\n" }]
47
+ args: [{ selector: 'clr-add-option', host: { '[class.quick-list-option]': 'true' }, template: "<div *ngIf=\"!(readonly || readonly === ''); else readonlyView\" class=\"clr-select-wrapper quick-list-input\">\n <select #select clr-select class=\"quick-list-select\" name=\"options\" [(ngModel)]=\"selectedValue\" [disabled]=\"disabled\">\n <option *ngIf=\"blankOption.id === selectedValue\" [selected]=\"true\" [disabled]=\"true\" [ngValue]=\"blankOption.id\">\n {{blankOption.label}}\n </option>\n <option *ngFor=\"let val of getValues()\" [selected]=\"val.id === selectedValue\" [ngValue]=\"val.id\">\n {{val.label}}\n </option>\n </select>\n</div>\n\n<ng-template #readonlyView>\n <span>{{value.label}}</span>\n</ng-template>\n\n<button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-trash\"\n [ngClass]=\"{'quick-list-trash-ext': !showAddButton}\"\n [disabled]=\"trashDisabled() || disabled\"\n (click)=\"remove.emit()\"\n>\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<button\n *ngIf=\"!(readonly || readonly === '') && showAddButton\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"add.emit()\"\n [disabled]=\"disableAddButton\"\n>\n <cds-icon shape=\"plus-circle\"></cds-icon>\n</button>\n" }]
47
48
  }], propDecorators: { blankOption: [{
48
49
  type: Input
49
50
  }], value: [{
@@ -58,6 +59,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
58
59
  type: Input
59
60
  }], disabled: [{
60
61
  type: Input
62
+ }], disableAddButton: [{
63
+ type: Input
61
64
  }], showAddButton: [{
62
65
  type: Input
63
66
  }], valueChanged: [{
@@ -70,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
70
73
  type: ViewChild,
71
74
  args: ['select', { static: false }]
72
75
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvYWRkLW9wdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvYWRkLW9wdGlvbi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRW5FLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBTzNDLE1BQU0sT0FBTyxZQUFZO0lBTHpCO1FBUVcsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixjQUFTLEdBQWdDLEVBQUUsQ0FBQztRQUM1QyxtQkFBYyxHQUFnQyxFQUFFLENBQUM7UUFFakQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUVyQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBQ3hELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xDLFFBQUcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBeUIxQztJQXJCQyxJQUFJLGFBQWEsQ0FBQyxFQUFVO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsY0FBYztRQUNaLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBa0MsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzRSxDQUFDOzt5R0FwQ1UsWUFBWTs2RkFBWixZQUFZLG9mQ2hCekIsZ3JDQWlDQTsyRkRqQmEsWUFBWTtrQkFMeEIsU0FBUzsrQkFDRSxnQkFBZ0IsUUFFcEIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUU7OEJBR3BDLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEdBQUc7c0JBQVosTUFBTTtnQkFFaUMsTUFBTTtzQkFBN0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsclF1aWNrTGlzdFZhbHVlIH0gZnJvbSAnLi9hZGQtb3B0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xhcml0eUljb25zLCB0cmFzaEljb24sIHBsdXNJY29uIH0gZnJvbSAnQGNkcy9jb3JlL2ljb24nO1xuXG5DbGFyaXR5SWNvbnMuYWRkSWNvbnModHJhc2hJY29uLCBwbHVzSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1hZGQtb3B0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1vcHRpb24uaHRtbCcsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5xdWljay1saXN0LW9wdGlvbl0nOiAndHJ1ZScgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyQWRkT3B0aW9uPFQ+IHtcbiAgQElucHV0KCkgYmxhbmtPcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+O1xuICBASW5wdXQoKSB2YWx1ZTogQ2xyUXVpY2tMaXN0VmFsdWU8VD47XG4gIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxWYWx1ZXM6IEFycmF5PENsclF1aWNrTGlzdFZhbHVlPFQ+PiA9IFtdO1xuICBASW5wdXQoKSBleGNsdWRlZFZhbHVlczogQXJyYXk8Q2xyUXVpY2tMaXN0VmFsdWU8VD4+ID0gW107XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dBZGRCdXR0b24gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDbHJRdWlja0xpc3RWYWx1ZTxUPj4oKTtcbiAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGFkZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2VsZWN0OiBFbGVtZW50UmVmO1xuXG4gIHNldCBzZWxlY3RlZFZhbHVlKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5hbGxWYWx1ZXMuZmluZCh2YWwgPT4gdmFsLmlkID09PSBpZCk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZWQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUuaWQ7XG4gIH1cblxuICBnZXRWYWx1ZXMoKTogQ2xyUXVpY2tMaXN0VmFsdWU8VD5bXSB7XG4gICAgY29uc3QgZXhjbHVkZWRJZHMgPSB0aGlzLmV4Y2x1ZGVkVmFsdWVzLmZpbHRlcih2YWwgPT4gdmFsLmlkICE9PSB0aGlzLnZhbHVlLmlkKS5tYXAodmFsID0+IHZhbC5pZCk7XG4gICAgcmV0dXJuIHRoaXMuYWxsVmFsdWVzLmZpbHRlcih2YWwgPT4gIWV4Y2x1ZGVkSWRzLmluY2x1ZGVzKHZhbC5pZCkpO1xuICB9XG5cbiAgdHJhc2hEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYW5kYXRvcnkgJiYgdGhpcy5leGNsdWRlZFZhbHVlcy5sZW5ndGggPT09IDE7XG4gIH1cblxuICBmb2N1c0NvbXBvbmVudCgpOiB2b2lkIHtcbiAgICAhIXRoaXMuc2VsZWN0ICYmICh0aGlzLnNlbGVjdC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLmZvY3VzKCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJyk7IGVsc2UgcmVhZG9ubHlWaWV3XCIgY2xhc3M9XCJjbHItc2VsZWN0LXdyYXBwZXIgcXVpY2stbGlzdC1pbnB1dFwiPlxuICA8c2VsZWN0ICNzZWxlY3QgY2xyLXNlbGVjdCBjbGFzcz1cInF1aWNrLWxpc3Qtc2VsZWN0XCIgbmFtZT1cIm9wdGlvbnNcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8b3B0aW9uICpuZ0lmPVwiYmxhbmtPcHRpb24uaWQgPT09IHNlbGVjdGVkVmFsdWVcIiBbc2VsZWN0ZWRdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJ0cnVlXCIgW25nVmFsdWVdPVwiYmxhbmtPcHRpb24uaWRcIj5cbiAgICAgIHt7YmxhbmtPcHRpb24ubGFiZWx9fVxuICAgIDwvb3B0aW9uPlxuICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHZhbCBvZiBnZXRWYWx1ZXMoKVwiIFtzZWxlY3RlZF09XCJ2YWwuaWQgPT09IHNlbGVjdGVkVmFsdWVcIiBbbmdWYWx1ZV09XCJ2YWwuaWRcIj5cbiAgICAgIHt7dmFsLmxhYmVsfX1cbiAgICA8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNyZWFkb25seVZpZXc+XG4gIDxzcGFuPnt7dmFsdWUubGFiZWx9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxidXR0b25cbiAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJylcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmsgcXVpY2stbGlzdC10cmFzaFwiXG4gIFtuZ0NsYXNzXT1cInsncXVpY2stbGlzdC10cmFzaC1leHQnOiAhc2hvd0FkZEJ1dHRvbn1cIlxuICBbZGlzYWJsZWRdPVwidHJhc2hEaXNhYmxlZCgpIHx8IGRpc2FibGVkXCJcbiAgKGNsaWNrKT1cInJlbW92ZS5lbWl0KClcIlxuPlxuICA8Y2RzLWljb24gc2hhcGU9XCJ0cmFzaFwiPjwvY2RzLWljb24+XG48L2J1dHRvbj5cbjxidXR0b25cbiAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJykgJiYgc2hvd0FkZEJ1dHRvblwiXG4gIHR5cGU9XCJidXR0b25cIlxuICBjbGFzcz1cImJ0biBidG4taWNvbiBidG4tbGluayBxdWljay1saXN0LWFkZGNvbXBhY3RcIlxuICAoY2xpY2spPVwiYWRkLmVtaXQoKVwiXG4+XG4gIDxjZHMtaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nkcy1pY29uPlxuPC9idXR0b24+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW9wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvYWRkLW9wdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvYWRkLW9wdGlvbi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRXpFLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBT2pELE1BQU0sT0FBTyxZQUFZO0lBTHpCO1FBUVcsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixjQUFTLEdBQWdDLEVBQUUsQ0FBQztRQUM1QyxtQkFBYyxHQUFnQyxFQUFFLENBQUM7UUFFakQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFckIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUN4RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNsQyxRQUFHLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQXlCMUM7SUFyQkMsSUFBSSxhQUFhLENBQUMsRUFBVTtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGNBQWM7UUFDWixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWtDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0UsQ0FBQzs7eUdBckNVLFlBQVk7NkZBQVosWUFBWSwwaEJDaEJ6QiwwdENBa0NBOzJGRGxCYSxZQUFZO2tCQUx4QixTQUFTOytCQUNFLGdCQUFnQixRQUVwQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sRUFBRTs4QkFHcEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEdBQUc7c0JBQVosTUFBTTtnQkFFaUMsTUFBTTtzQkFBN0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsclF1aWNrTGlzdFZhbHVlIH0gZnJvbSAnLi9hZGQtb3B0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xhcml0eUljb25zLCBwbHVzQ2lyY2xlSWNvbiwgdHJhc2hJY29uIH0gZnJvbSAnQGNkcy9jb3JlL2ljb24nO1xuXG5DbGFyaXR5SWNvbnMuYWRkSWNvbnModHJhc2hJY29uLCBwbHVzQ2lyY2xlSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1hZGQtb3B0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1vcHRpb24uaHRtbCcsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5xdWljay1saXN0LW9wdGlvbl0nOiAndHJ1ZScgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyQWRkT3B0aW9uPFQ+IHtcbiAgQElucHV0KCkgYmxhbmtPcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+O1xuICBASW5wdXQoKSB2YWx1ZTogQ2xyUXVpY2tMaXN0VmFsdWU8VD47XG4gIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxWYWx1ZXM6IEFycmF5PENsclF1aWNrTGlzdFZhbHVlPFQ+PiA9IFtdO1xuICBASW5wdXQoKSBleGNsdWRlZFZhbHVlczogQXJyYXk8Q2xyUXVpY2tMaXN0VmFsdWU8VD4+ID0gW107XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVBZGRCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93QWRkQnV0dG9uID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2xyUXVpY2tMaXN0VmFsdWU8VD4+KCk7XG4gIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBhZGQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdDogRWxlbWVudFJlZjtcblxuICBzZXQgc2VsZWN0ZWRWYWx1ZShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuYWxsVmFsdWVzLmZpbmQodmFsID0+IHZhbC5pZCA9PT0gaWQpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZhbHVlLmlkO1xuICB9XG5cbiAgZ2V0VmFsdWVzKCk6IENsclF1aWNrTGlzdFZhbHVlPFQ+W10ge1xuICAgIGNvbnN0IGV4Y2x1ZGVkSWRzID0gdGhpcy5leGNsdWRlZFZhbHVlcy5maWx0ZXIodmFsID0+IHZhbC5pZCAhPT0gdGhpcy52YWx1ZS5pZCkubWFwKHZhbCA9PiB2YWwuaWQpO1xuICAgIHJldHVybiB0aGlzLmFsbFZhbHVlcy5maWx0ZXIodmFsID0+ICFleGNsdWRlZElkcy5pbmNsdWRlcyh2YWwuaWQpKTtcbiAgfVxuXG4gIHRyYXNoRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWFuZGF0b3J5ICYmIHRoaXMuZXhjbHVkZWRWYWx1ZXMubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgZm9jdXNDb21wb25lbnQoKTogdm9pZCB7XG4gICAgISF0aGlzLnNlbGVjdCAmJiAodGhpcy5zZWxlY3QubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50KS5mb2N1cygpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpOyBlbHNlIHJlYWRvbmx5Vmlld1wiIGNsYXNzPVwiY2xyLXNlbGVjdC13cmFwcGVyIHF1aWNrLWxpc3QtaW5wdXRcIj5cbiAgPHNlbGVjdCAjc2VsZWN0IGNsci1zZWxlY3QgY2xhc3M9XCJxdWljay1saXN0LXNlbGVjdFwiIG5hbWU9XCJvcHRpb25zXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPG9wdGlvbiAqbmdJZj1cImJsYW5rT3B0aW9uLmlkID09PSBzZWxlY3RlZFZhbHVlXCIgW3NlbGVjdGVkXT1cInRydWVcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiIFtuZ1ZhbHVlXT1cImJsYW5rT3B0aW9uLmlkXCI+XG4gICAgICB7e2JsYW5rT3B0aW9uLmxhYmVsfX1cbiAgICA8L29wdGlvbj5cbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB2YWwgb2YgZ2V0VmFsdWVzKClcIiBbc2VsZWN0ZWRdPVwidmFsLmlkID09PSBzZWxlY3RlZFZhbHVlXCIgW25nVmFsdWVdPVwidmFsLmlkXCI+XG4gICAgICB7e3ZhbC5sYWJlbH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcmVhZG9ubHlWaWV3PlxuICA8c3Bhbj57e3ZhbHVlLmxhYmVsfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48YnV0dG9uXG4gICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saW5rIHF1aWNrLWxpc3QtdHJhc2hcIlxuICBbbmdDbGFzc109XCJ7J3F1aWNrLWxpc3QtdHJhc2gtZXh0JzogIXNob3dBZGRCdXR0b259XCJcbiAgW2Rpc2FibGVkXT1cInRyYXNoRGlzYWJsZWQoKSB8fCBkaXNhYmxlZFwiXG4gIChjbGljayk9XCJyZW1vdmUuZW1pdCgpXCJcbj5cbiAgPGNkcy1pY29uIHNoYXBlPVwidHJhc2hcIj48L2Nkcy1pY29uPlxuPC9idXR0b24+XG48YnV0dG9uXG4gICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpICYmIHNob3dBZGRCdXR0b25cIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmsgcXVpY2stbGlzdC1hZGRjb21wYWN0XCJcbiAgKGNsaWNrKT1cImFkZC5lbWl0KClcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZUFkZEJ1dHRvblwiXG4+XG4gIDxjZHMtaWNvbiBzaGFwZT1cInBsdXMtY2lyY2xlXCI+PC9jZHMtaWNvbj5cbjwvYnV0dG9uPlxuIl19
@@ -8,12 +8,12 @@ import { CLR_BLANK_OPTION } from './add-option.service';
8
8
  import { ClrAddOption } from './add-option';
9
9
  import { ClrAbstractFormComponent } from '../abstract-form-component/abstract-form-component';
10
10
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
11
- import { ClarityIcons, plusIcon } from '@cds/core/icon';
11
+ import { ClarityIcons, plusCircleIcon } from '@cds/core/icon';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "@angular/common";
14
14
  import * as i2 from "@clr/angular";
15
15
  import * as i3 from "./add-option";
16
- ClarityIcons.addIcons(plusIcon);
16
+ ClarityIcons.addIcons(plusCircleIcon);
17
17
  export class ClrQuickList extends ClrAbstractFormComponent {
18
18
  constructor() {
19
19
  super(...arguments);
@@ -83,7 +83,7 @@ ClrQuickList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
83
83
  useExisting: forwardRef(() => ClrQuickList),
84
84
  multi: true,
85
85
  },
86
- ], viewQueries: [{ propertyName: "options", predicate: ClrAddOption, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [showAddButton]=\"compactMode && !addNotPossible() && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i3.ClrAddOption, selector: "clr-add-option", inputs: ["blankOption", "value", "mandatory", "allValues", "excludedValues", "readonly", "disabled", "showAddButton"], outputs: ["valueChanged", "remove", "add"] }] });
86
+ ], viewQueries: [{ propertyName: "options", predicate: ClrAddOption, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [disableAddButton]=\"addNotPossible() || disabled\"\n [showAddButton]=\"compactMode && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i3.ClrAddOption, selector: "clr-add-option", inputs: ["blankOption", "value", "mandatory", "allValues", "excludedValues", "readonly", "disabled", "disableAddButton", "showAddButton"], outputs: ["valueChanged", "remove", "add"] }] });
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrQuickList, decorators: [{
88
88
  type: Component,
89
89
  args: [{ selector: 'clr-quick-list', host: { '[class.quick-list]': 'true' }, providers: [
@@ -92,7 +92,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
92
92
  useExisting: forwardRef(() => ClrQuickList),
93
93
  multi: true,
94
94
  },
95
- ], template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [showAddButton]=\"compactMode && !addNotPossible() && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n" }]
95
+ ], template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-container *ngFor=\"let value of values; index as i\">\n <clr-add-option\n [allValues]=\"allValues\"\n [excludedValues]=\"values\"\n (remove)=\"onRemoveValue(i)\"\n (add)=\"addBlankOption()\"\n [value]=\"value\"\n (valueChanged)=\"onValueChanged($event, i)\"\n [blankOption]=\"blankOption\"\n [mandatory]=\"mandatory\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [disableAddButton]=\"addNotPossible() || disabled\"\n [showAddButton]=\"compactMode && i === values.length - 1\"\n >\n </clr-add-option>\n </ng-container>\n <button\n *ngIf=\"!(readonly || readonly === '') && values.length === 0 && compactMode\"\n type=\"button\"\n class=\"btn btn-icon btn-link quick-list-addcompact\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n <cds-icon shape=\"plus-circle\"></cds-icon>\n </button>\n <button\n *ngIf=\"!(readonly || readonly === '') && !compactMode\"\n type=\"button\"\n class=\"btn btn-link btn-sm quick-list-add\"\n (click)=\"addBlankOption()\"\n [disabled]=\"addNotPossible() || disabled\"\n >\n {{addLabel}}\n </button>\n</div>\n" }]
96
96
  }], propDecorators: { blankOption: [{
97
97
  type: Input,
98
98
  args: ['clrBlankOption']
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
125
125
  type: ViewChildren,
126
126
  args: [ClrAddOption]
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvcXVpY2stbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvcXVpY2stbGlzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRXhELFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7QUFjaEMsTUFBTSxPQUFPLFlBQWdCLFNBQVEsd0JBQXdCO0lBWjdEOztRQWEyQixnQkFBVyxHQUF5QixnQkFBZ0IsQ0FBQztRQUN2RCxjQUFTLEdBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDckIsV0FBTSxHQUEyQixFQUFFLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsZUFBZSxDQUFDO1FBRXBELGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ0Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUN4RCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVks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LFlBQVksdUVDdkM1QixxdkNBcUNBOzJGRFZhLFlBQVk7a0JBWnhCLFNBQVM7K0JBQ0UsZ0JBQWdCLFFBQ3BCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLGFBRTNCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQzs0QkFDM0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBR3dCLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNBLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsY0FBYztnQkFDRSxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBQ0QsTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxXQUFXO2dCQUNJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFDUSxjQUFjO3NCQUF6QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDakIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNzQixhQUFhO3NCQUF4QyxNQUFNO3VCQUFDLGtCQUFrQjtnQkFDSyxnQkFBZ0I7c0JBQTlDLE1BQU07dUJBQUMscUJBQXFCO2dCQUVELE9BQU87c0JBQWxDLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTFJfQkxBTktfT1BUSU9OLCBDbHJRdWlja0xpc3RWYWx1ZSB9IGZyb20gJy4vYWRkLW9wdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENsckFkZE9wdGlvbiB9IGZyb20gJy4vYWRkLW9wdGlvbic7XG5pbXBvcnQgeyBDbHJBYnN0cmFjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENsYXJpdHlJY29ucywgcGx1c0ljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyhwbHVzSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1xdWljay1saXN0JyxcbiAgaG9zdDogeyAnW2NsYXNzLnF1aWNrLWxpc3RdJzogJ3RydWUnIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWljay1saXN0Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsclF1aWNrTGlzdCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJRdWlja0xpc3Q8VD4gZXh0ZW5kcyBDbHJBYnN0cmFjdEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2NsckJsYW5rT3B0aW9uJykgYmxhbmtPcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+ID0gQ0xSX0JMQU5LX09QVElPTjtcbiAgQElucHV0KCdjbHJBbGxWYWx1ZXMnKSBhbGxWYWx1ZXM6IENsclF1aWNrTGlzdFZhbHVlPFQ+W10gPSBbdGhpcy5ibGFua09wdGlvbl07XG4gIEBJbnB1dCgnY2xyTWFuZGF0b3J5JykgbWFuZGF0b3J5ID0gZmFsc2U7XG4gIEBJbnB1dCgnY2xyVmFsdWVzJykgdmFsdWVzOiBDbHJRdWlja0xpc3RWYWx1ZTxUPltdID0gW107XG4gIEBJbnB1dCgnY2xyQWRkTGFiZWwnKSBhZGRMYWJlbCA9ICdBREQnO1xuICBASW5wdXQoJ2NsckNvbnRyb2xDbGFzc2VzJykgY29udHJvbENsYXNzZXMgPSAnY2xyLWNvbC1tZC0xMCc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBhY3RNb2RlID0gZmFsc2U7XG4gIEBPdXRwdXQoJ2NsclZhbHVlc0NoYW5nZWQnKSB2YWx1ZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDbHJRdWlja0xpc3RWYWx1ZTxUPltdPigpO1xuICBAT3V0cHV0KCdjbHJFbXB0eU9wdGlvbkFkZGVkJykgZW1wdHlPcHRpb25BZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkcmVuKENsckFkZE9wdGlvbikgb3B0aW9uczogUXVlcnlMaXN0PENsckFkZE9wdGlvbjxUPj47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCguLi50aGlzLmdldEVtcHR5VmFsdWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IENsclF1aWNrTGlzdFZhbHVlPFQ+W10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlcyA9IHZhbHVlPy5sZW5ndGggPyBbLi4udmFsdWVdIDogdGhpcy5nZXRFbXB0eVZhbHVlcygpO1xuICB9XG5cbiAgZ2V0RW1wdHlWYWx1ZXMoKTogQ2xyUXVpY2tMaXN0VmFsdWU8VD5bXSB7XG4gICAgcmV0dXJuIHRoaXMubWFuZGF0b3J5ID8gW3RoaXMuYmxhbmtPcHRpb25dIDogW107XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlZCh2YWx1ZTogQ2xyUXVpY2tMaXN0VmFsdWU8VD4sIGk6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlZCgpO1xuICAgICAgdGhpcy5mb2N1c09wdGlvbih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25SZW1vdmVWYWx1ZShpOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlcy5zcGxpY2UoaSwgMSk7XG4gICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2VkKCk7XG4gIH1cblxuICBhZGRCbGFua09wdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzQmxhbmtPcHRpb24oKSkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCh0aGlzLmJsYW5rT3B0aW9uKTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlZCgpO1xuICAgICAgdGhpcy5lbXB0eU9wdGlvbkFkZGVkLmVtaXQoKTtcbiAgICAgIHRoaXMuZm9jdXNPcHRpb24odGhpcy5ibGFua09wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgZW1pdFZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlc0NoYW5nZWQuZW1pdCh0aGlzLnZhbHVlcyk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlcyk7XG4gIH1cblxuICBmb2N1c09wdGlvbihvcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+KTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBvcHQgPSB0aGlzLm9wdGlvbnMuZmluZChvID0+IG8udmFsdWUuaWQgPT09IG9wdGlvbi5pZCk7XG4gICAgICBpZiAob3B0KSB7XG4gICAgICAgIG9wdC5mb2N1c0NvbXBvbmVudCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFzQmxhbmtPcHRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLm1hcCh2YWwgPT4gdmFsLmlkKS5pbmNsdWRlcyh0aGlzLmJsYW5rT3B0aW9uLmlkKTtcbiAgfVxuXG4gIGFkZE5vdFBvc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0JsYW5rT3B0aW9uKCkgfHwgdGhpcy52YWx1ZXMubGVuZ3RoID09PSB0aGlzLmFsbFZhbHVlcy5sZW5ndGg7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImNsci1jb250cm9sLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRyb2xDbGFzc2VzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbHVlIG9mIHZhbHVlczsgaW5kZXggYXMgaVwiPlxuICAgIDxjbHItYWRkLW9wdGlvblxuICAgICAgW2FsbFZhbHVlc109XCJhbGxWYWx1ZXNcIlxuICAgICAgW2V4Y2x1ZGVkVmFsdWVzXT1cInZhbHVlc1wiXG4gICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlVmFsdWUoaSlcIlxuICAgICAgKGFkZCk9XCJhZGRCbGFua09wdGlvbigpXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAodmFsdWVDaGFuZ2VkKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudCwgaSlcIlxuICAgICAgW2JsYW5rT3B0aW9uXT1cImJsYW5rT3B0aW9uXCJcbiAgICAgIFttYW5kYXRvcnldPVwibWFuZGF0b3J5XCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3Nob3dBZGRCdXR0b25dPVwiY29tcGFjdE1vZGUgJiYgIWFkZE5vdFBvc3NpYmxlKCkgJiYgaSA9PT0gdmFsdWVzLmxlbmd0aCAtIDFcIlxuICAgID5cbiAgICA8L2Nsci1hZGQtb3B0aW9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpICYmIHZhbHVlcy5sZW5ndGggPT09IDAgJiYgY29tcGFjdE1vZGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saW5rIHF1aWNrLWxpc3QtYWRkY29tcGFjdFwiXG4gICAgKGNsaWNrKT1cImFkZEJsYW5rT3B0aW9uKClcIlxuICAgIFtkaXNhYmxlZF09XCJhZGROb3RQb3NzaWJsZSgpIHx8IGRpc2FibGVkXCJcbiAgPlxuICAgIDxjZHMtaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nkcy1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpICYmICFjb21wYWN0TW9kZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtIHF1aWNrLWxpc3QtYWRkXCJcbiAgICAoY2xpY2spPVwiYWRkQmxhbmtPcHRpb24oKVwiXG4gICAgW2Rpc2FibGVkXT1cImFkZE5vdFBvc3NpYmxlKCkgfHwgZGlzYWJsZWRcIlxuICA+XG4gICAge3thZGRMYWJlbH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvcXVpY2stbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL3F1aWNrLWxpc3QvcXVpY2stbGlzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRTlELFlBQVksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7QUFjdEMsTUFBTSxPQUFPLFlBQWdCLFNBQVEsd0JBQXdCO0lBWjdEOztRQWEyQixnQkFBVyxHQUF5QixnQkFBZ0IsQ0FBQztRQUN2RCxjQUFTLEdBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDckIsV0FBTSxHQUEyQixFQUFFLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsZUFBZSxDQUFDO1FBRXBELGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ0Qsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUN4RCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVks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LFlBQVksdUVDdkM1QixreUNBc0NBOzJGRFhhLFlBQVk7a0JBWnhCLFNBQVM7K0JBQ0UsZ0JBQWdCLFFBQ3BCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLGFBRTNCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQzs0QkFDM0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBR3dCLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNBLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsY0FBYztnQkFDRSxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBQ0QsTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxXQUFXO2dCQUNJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFDUSxjQUFjO3NCQUF6QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDakIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNzQixhQUFhO3NCQUF4QyxNQUFNO3VCQUFDLGtCQUFrQjtnQkFDSyxnQkFBZ0I7c0JBQTlDLE1BQU07dUJBQUMscUJBQXFCO2dCQUVELE9BQU87c0JBQWxDLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTFJfQkxBTktfT1BUSU9OLCBDbHJRdWlja0xpc3RWYWx1ZSB9IGZyb20gJy4vYWRkLW9wdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENsckFkZE9wdGlvbiB9IGZyb20gJy4vYWRkLW9wdGlvbic7XG5pbXBvcnQgeyBDbHJBYnN0cmFjdEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudC9hYnN0cmFjdC1mb3JtLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENsYXJpdHlJY29ucywgcGx1c0NpcmNsZUljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyhwbHVzQ2lyY2xlSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1xdWljay1saXN0JyxcbiAgaG9zdDogeyAnW2NsYXNzLnF1aWNrLWxpc3RdJzogJ3RydWUnIH0sXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWljay1saXN0Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENsclF1aWNrTGlzdCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJRdWlja0xpc3Q8VD4gZXh0ZW5kcyBDbHJBYnN0cmFjdEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2NsckJsYW5rT3B0aW9uJykgYmxhbmtPcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+ID0gQ0xSX0JMQU5LX09QVElPTjtcbiAgQElucHV0KCdjbHJBbGxWYWx1ZXMnKSBhbGxWYWx1ZXM6IENsclF1aWNrTGlzdFZhbHVlPFQ+W10gPSBbdGhpcy5ibGFua09wdGlvbl07XG4gIEBJbnB1dCgnY2xyTWFuZGF0b3J5JykgbWFuZGF0b3J5ID0gZmFsc2U7XG4gIEBJbnB1dCgnY2xyVmFsdWVzJykgdmFsdWVzOiBDbHJRdWlja0xpc3RWYWx1ZTxUPltdID0gW107XG4gIEBJbnB1dCgnY2xyQWRkTGFiZWwnKSBhZGRMYWJlbCA9ICdBREQnO1xuICBASW5wdXQoJ2NsckNvbnRyb2xDbGFzc2VzJykgY29udHJvbENsYXNzZXMgPSAnY2xyLWNvbC1tZC0xMCc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBhY3RNb2RlID0gZmFsc2U7XG4gIEBPdXRwdXQoJ2NsclZhbHVlc0NoYW5nZWQnKSB2YWx1ZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxDbHJRdWlja0xpc3RWYWx1ZTxUPltdPigpO1xuICBAT3V0cHV0KCdjbHJFbXB0eU9wdGlvbkFkZGVkJykgZW1wdHlPcHRpb25BZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkcmVuKENsckFkZE9wdGlvbikgb3B0aW9uczogUXVlcnlMaXN0PENsckFkZE9wdGlvbjxUPj47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCguLi50aGlzLmdldEVtcHR5VmFsdWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IENsclF1aWNrTGlzdFZhbHVlPFQ+W10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlcyA9IHZhbHVlPy5sZW5ndGggPyBbLi4udmFsdWVdIDogdGhpcy5nZXRFbXB0eVZhbHVlcygpO1xuICB9XG5cbiAgZ2V0RW1wdHlWYWx1ZXMoKTogQ2xyUXVpY2tMaXN0VmFsdWU8VD5bXSB7XG4gICAgcmV0dXJuIHRoaXMubWFuZGF0b3J5ID8gW3RoaXMuYmxhbmtPcHRpb25dIDogW107XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlZCh2YWx1ZTogQ2xyUXVpY2tMaXN0VmFsdWU8VD4sIGk6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlZCgpO1xuICAgICAgdGhpcy5mb2N1c09wdGlvbih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25SZW1vdmVWYWx1ZShpOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlcy5zcGxpY2UoaSwgMSk7XG4gICAgdGhpcy5lbWl0VmFsdWVDaGFuZ2VkKCk7XG4gIH1cblxuICBhZGRCbGFua09wdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzQmxhbmtPcHRpb24oKSkge1xuICAgICAgdGhpcy52YWx1ZXMucHVzaCh0aGlzLmJsYW5rT3B0aW9uKTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlQ2hhbmdlZCgpO1xuICAgICAgdGhpcy5lbXB0eU9wdGlvbkFkZGVkLmVtaXQoKTtcbiAgICAgIHRoaXMuZm9jdXNPcHRpb24odGhpcy5ibGFua09wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgZW1pdFZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlc0NoYW5nZWQuZW1pdCh0aGlzLnZhbHVlcyk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlcyk7XG4gIH1cblxuICBmb2N1c09wdGlvbihvcHRpb246IENsclF1aWNrTGlzdFZhbHVlPFQ+KTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBvcHQgPSB0aGlzLm9wdGlvbnMuZmluZChvID0+IG8udmFsdWUuaWQgPT09IG9wdGlvbi5pZCk7XG4gICAgICBpZiAob3B0KSB7XG4gICAgICAgIG9wdC5mb2N1c0NvbXBvbmVudCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFzQmxhbmtPcHRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLm1hcCh2YWwgPT4gdmFsLmlkKS5pbmNsdWRlcyh0aGlzLmJsYW5rT3B0aW9uLmlkKTtcbiAgfVxuXG4gIGFkZE5vdFBvc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0JsYW5rT3B0aW9uKCkgfHwgdGhpcy52YWx1ZXMubGVuZ3RoID09PSB0aGlzLmFsbFZhbHVlcy5sZW5ndGg7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImxhYmVsXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImNsci1jb250cm9sLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImNvbnRyb2xDbGFzc2VzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbHVlIG9mIHZhbHVlczsgaW5kZXggYXMgaVwiPlxuICAgIDxjbHItYWRkLW9wdGlvblxuICAgICAgW2FsbFZhbHVlc109XCJhbGxWYWx1ZXNcIlxuICAgICAgW2V4Y2x1ZGVkVmFsdWVzXT1cInZhbHVlc1wiXG4gICAgICAocmVtb3ZlKT1cIm9uUmVtb3ZlVmFsdWUoaSlcIlxuICAgICAgKGFkZCk9XCJhZGRCbGFua09wdGlvbigpXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAodmFsdWVDaGFuZ2VkKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudCwgaSlcIlxuICAgICAgW2JsYW5rT3B0aW9uXT1cImJsYW5rT3B0aW9uXCJcbiAgICAgIFttYW5kYXRvcnldPVwibWFuZGF0b3J5XCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2Rpc2FibGVBZGRCdXR0b25dPVwiYWRkTm90UG9zc2libGUoKSB8fCBkaXNhYmxlZFwiXG4gICAgICBbc2hvd0FkZEJ1dHRvbl09XCJjb21wYWN0TW9kZSAmJiBpID09PSB2YWx1ZXMubGVuZ3RoIC0gMVwiXG4gICAgPlxuICAgIDwvY2xyLWFkZC1vcHRpb24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJykgJiYgdmFsdWVzLmxlbmd0aCA9PT0gMCAmJiBjb21wYWN0TW9kZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmsgcXVpY2stbGlzdC1hZGRjb21wYWN0XCJcbiAgICAoY2xpY2spPVwiYWRkQmxhbmtPcHRpb24oKVwiXG4gICAgW2Rpc2FibGVkXT1cImFkZE5vdFBvc3NpYmxlKCkgfHwgZGlzYWJsZWRcIlxuICA+XG4gICAgPGNkcy1pY29uIHNoYXBlPVwicGx1cy1jaXJjbGVcIj48L2Nkcy1pY29uPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpICYmICFjb21wYWN0TW9kZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtIHF1aWNrLWxpc3QtYWRkXCJcbiAgICAoY2xpY2spPVwiYWRkQmxhbmtPcHRpb24oKVwiXG4gICAgW2Rpc2FibGVkXT1cImFkZE5vdFBvc3NpYmxlKCkgfHwgZGlzYWJsZWRcIlxuICA+XG4gICAge3thZGRMYWJlbH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=