@datorama/core 22.5.1 → 22.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/bundles/datorama-core.umd.js +128 -109
  2. package/bundles/datorama-core.umd.js.map +1 -1
  3. package/bundles/datorama-core.umd.min.js +18 -18
  4. package/bundles/datorama-core.umd.min.js.map +1 -1
  5. package/datorama-core.metadata.json +1 -1
  6. package/esm2015/lib/accordion/accordion/accordion.component.js +11 -3
  7. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +1 -1
  8. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +6 -2
  9. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -2
  10. package/esm2015/lib/grid-v2/grid-store/grid.service.js +2 -2
  11. package/esm2015/lib/icon/icon.types.js +1 -1
  12. package/esm2015/lib/sortable/sortable.component.js +7 -2
  13. package/esm2015/lib/version.js +2 -2
  14. package/esm5/lib/accordion/accordion/accordion.component.js +15 -3
  15. package/esm5/lib/grid-v2/grid/grid-v2.types.js +1 -1
  16. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +6 -2
  17. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +2 -2
  18. package/esm5/lib/grid-v2/grid-store/grid.service.js +2 -2
  19. package/esm5/lib/icon/icon.types.js +1 -1
  20. package/esm5/lib/sortable/sortable.component.js +7 -2
  21. package/esm5/lib/version.js +2 -2
  22. package/fesm2015/datorama-core.js +118 -103
  23. package/fesm2015/datorama-core.js.map +1 -1
  24. package/fesm5/datorama-core.js +128 -109
  25. package/fesm5/datorama-core.js.map +1 -1
  26. package/i18n/locale-en_US.json +2 -0
  27. package/lib/accordion/accordion/accordion.component.d.ts +4 -1
  28. package/lib/grid-v2/grid/grid-v2.types.d.ts +1 -0
  29. package/lib/grid-v2/grid-filter/grid-filter.component.d.ts +1 -0
  30. package/lib/icon/icon.types.d.ts +1 -1
  31. package/lib/sortable/sortable.component.d.ts +3 -1
  32. package/package.json +1 -1
@@ -7,7 +7,7 @@
7
7
  */
8
8
  var DatoAccordionComponent_1;
9
9
  import { __decorate, __metadata, __param } from "tslib";
10
- import { AfterContentInit, ChangeDetectorRef, Component, ContentChildren, Input, OnChanges, OnDestroy, Optional, QueryList, SkipSelf } from '@angular/core';
10
+ import { AfterContentInit, ChangeDetectorRef, Component, ContentChild, ContentChildren, Input, OnChanges, OnDestroy, Optional, QueryList, SkipSelf } from '@angular/core';
11
11
  import { DatoAccordionGroupComponent } from '../accordion-group/accordion-group.component';
12
12
  import { merge } from 'rxjs';
13
13
  import { mapTo } from 'rxjs/operators';
@@ -15,6 +15,7 @@ import { untilDestroyed } from 'ngx-take-until-destroy';
15
15
  import { toBoolean } from '../../utils/coercion';
16
16
  import { isNil } from '../../utils/validators';
17
17
  import { defaultClientSearchStrategy } from '../../select/search.strategy';
18
+ import { DatoSortableComponent } from '../../sortable/sortable.component';
18
19
  let DatoAccordionComponent = DatoAccordionComponent_1 = class DatoAccordionComponent {
19
20
  constructor(parent, parentGroup, cdr) {
20
21
  this.parent = parent;
@@ -48,6 +49,9 @@ let DatoAccordionComponent = DatoAccordionComponent_1 = class DatoAccordionCompo
48
49
  }
49
50
  }
50
51
  }
52
+ get groups() {
53
+ return this.sortable && this.sortable.accordionGroups.length > 0 ? this.sortable.accordionGroups : this.childGroups;
54
+ }
51
55
  ngOnChanges(changes) {
52
56
  if (changes.expandAll && !changes.expandAll.firstChange) {
53
57
  this.setExpandAll();
@@ -219,11 +223,15 @@ DatoAccordionComponent.ctorParameters = () => [
219
223
  __decorate([
220
224
  ContentChildren(DatoAccordionGroupComponent),
221
225
  __metadata("design:type", QueryList)
222
- ], DatoAccordionComponent.prototype, "groups", void 0);
226
+ ], DatoAccordionComponent.prototype, "childGroups", void 0);
223
227
  __decorate([
224
228
  ContentChildren(DatoAccordionComponent_1, { descendants: true }),
225
229
  __metadata("design:type", QueryList)
226
230
  ], DatoAccordionComponent.prototype, "childAccordion", void 0);
231
+ __decorate([
232
+ ContentChild(DatoSortableComponent, { static: true }),
233
+ __metadata("design:type", DatoSortableComponent)
234
+ ], DatoAccordionComponent.prototype, "sortable", void 0);
227
235
  __decorate([
228
236
  Input(),
229
237
  __metadata("design:type", Object)
@@ -272,4 +280,4 @@ DatoAccordionComponent = DatoAccordionComponent_1 = __decorate([
272
280
  ChangeDetectorRef])
273
281
  ], DatoAccordionComponent);
274
282
  export { DatoAccordionComponent };
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjY29yZGlvbi9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7OztBQUVILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDVCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBZTNFLElBQWEsc0JBQXNCLDhCQUFuQyxNQUFhLHNCQUFzQjtJQTJDakMsWUFHVSxNQUE4QixFQUU5QixXQUF3QyxFQUN4QyxHQUFzQjtRQUh0QixXQUFNLEdBQU4sTUFBTSxDQUF3QjtRQUU5QixnQkFBVyxHQUFYLFdBQVcsQ0FBNkI7UUFDeEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUExQ2hDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFdEIsY0FBUyxHQUF1QixVQUFVLENBQUM7UUFFM0MsY0FB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QUVKLENBQUM7SUE2Q0csV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFFVixXQUFBLFFBQVEsRUFBRSxDQUFBO3FDQURLLHNCQUFzQjtRQUVqQiwyQkFBMkI7UUFDbkMsaUJBQWlCO0dBakRyQixzQkFBc0IsQ0E4T2xDO1NBOU9ZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgUXVlcnlMaXN0LFxuICBTa2lwU2VsZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uL2FjY29yZGlvbi1ncm91cC9hY2NvcmRpb24tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IG1lcmdlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcFRvIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICduZ3gtdGFrZS11bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IHRvQm9vbGVhbiB9IGZyb20gJy4uLy4uL3V0aWxzL2NvZXJjaW9uJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBkZWZhdWx0Q2xpZW50U2VhcmNoU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9zZWxlY3Qvc2VhcmNoLnN0cmF0ZWd5JztcbmltcG9ydCB7IEFjY29yZGlvbkFycm93VHlwZSB9IGZyb20gJy4uL2FjY29yZGlvbi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tYWNjb3JkaW9uJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgZXhwb3J0QXM6ICdkYXRvQWNjb3JkaW9uJyxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICBgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0FjY29yZGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQENvbnRlbnRDaGlsZHJlbihEYXRvQWNjb3JkaW9uR3JvdXBDb21wb25lbnQpXG4gIGdyb3VwczogUXVlcnlMaXN0PERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oRGF0b0FjY29yZGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBjaGlsZEFjY29yZGlvbjogUXVlcnlMaXN0PERhdG9BY2NvcmRpb25Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpXG4gIGNsb3NlT3RoZXJzID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGV4cGFuZEFsbCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBpbmNsdWRlQXJyb3dzID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGFycm93VHlwZTogQWNjb3JkaW9uQXJyb3dUeXBlID0gJ3N0YW5kYXJkJztcbiAgQElucHV0KClcbiAgYWN0aXZlSWRzOiBudW1iZXIgfCBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKVxuICBzaG93U2VhcmNoVXBvbk5vUmVzdWx0cyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBzZWFyY2hUZXJtKHNlYXJjaFRlcm06IHN0cmluZykge1xuICAgIHRoaXMuX2hhc1NlYXJjaCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZ3JvdXBzKSB7XG4gICAgICBzZWFyY2hUZXJtID0gc2VhcmNoVGVybSB8fCAnJztcblxuICAgICAgY29uc3QgZ3JvdXBzQXJyID0gdGhpcy5hc0FycmF5O1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncm91cHNBcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZ3JvdXAgPSBncm91cHNBcnJbaV07XG4gICAgICAgIGNvbnN0IHsgaGVhZGVyIH0gPSBncm91cDtcbiAgICAgICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgdGhpcy50b2dnbGVHcm91cChncm91cCwgdGhpcy5zaG93U2VhcmNoVXBvbk5vUmVzdWx0cyAmJiBncm91cC5leHBhbmRlZCk7XG4gICAgICAgICAgZ3JvdXAuaGlkZShmYWxzZSk7XG4gICAgICAgICAgaGVhZGVyLnNlYXJjaFJlc3VsdExlbmd0aCA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgaXNMYXN0R3JvdXAgPSBpICsgMSA9PT0gZ3JvdXBzQXJyLmxlbmd0aDtcbiAgICAgICAgICB0aGlzLmNoZWNrR3JvdXBDb250ZW50KGdyb3VwLCBzZWFyY2hUZXJtLCBpc0xhc3RHcm91cCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgX2hhc1NlYXJjaCA9IGZhbHNlO1xuICBwcml2YXRlIGdyb3Vwc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTa2lwU2VsZigpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHBhcmVudDogRGF0b0FjY29yZGlvbkNvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcGFyZW50R3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5leHBhbmRBbGwgJiYgIWNoYW5nZXMuZXhwYW5kQWxsLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNldEV4cGFuZEFsbCgpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmFjdGl2ZUlkcyAmJiAhY2hhbmdlcy5hY3RpdmVJZHMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIC8qKiBPcGVuIGNsb3NlIGFsbCBncm91cHMgdGhhdCBhcmUgbm90IGluIHRoZSBhY3RpdmUgaWRzLCBhbmQgb25seSBvcGVuIHRoZSBncm91cHMgdGhhdCBhcmUgY2xvc2VkICovXG4gICAgICBjb25zdCBpZHNUb09wZW4gPSB0aGlzLmdyb3Vwcy50b0FycmF5KCkucmVkdWNlKChpZHMsIGdyb3VwLCBpKSA9PiB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmFjdGl2ZUlkcy5jdXJyZW50VmFsdWUuaW5jbHVkZXMoaSkpIHtcbiAgICAgICAgICAhZ3JvdXAuZXhwYW5kZWQgJiYgaWRzLnB1c2goaSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50b2dnbGVHcm91cChncm91cCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpZHM7XG4gICAgICB9LCBbXSk7XG4gICAgICB0aGlzLnNldEV4cGFuZEFsbChpZHNUb09wZW4pO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZShpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmdyb3Vwcy50b0FycmF5KClbaW5kZXhdO1xuICAgIGlmICh0b0Jvb2xlYW4oZ3JvdXApKSB7XG4gICAgICB0aGlzLm9uR3JvdXBDbGljayhncm91cCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEdyb3VwICR7aW5kZXh9IGRvZXNuJ3QgZXhpc3RzYCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RXhwYW5kQWxsKGlkcz86IGFueVtdKSB7XG4gICAgbGV0IHRvQXJyYXkgPSBpZHM7XG4gICAgY29uc3QgZ3JvdXBzQXJyYXkgPSB0aGlzLmdyb3Vwcy50b0FycmF5KCk7XG4gICAgaWYgKCF0b0FycmF5KSB7XG4gICAgICB0b0FycmF5ID0gZ3JvdXBzQXJyYXkubWFwKChfLCBpKSA9PiBpKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBpbmRleCBvZiB0b0FycmF5KSB7XG4gICAgICBjb25zdCBncm91cCA9IGdyb3Vwc0FycmF5W2luZGV4XTtcbiAgICAgIGlmICghdGhpcy5wYXJlbnQgJiYgIWdyb3VwLl9kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLm9uR3JvdXBDbGljayhncm91cCwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGFzQXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzLnRvQXJyYXkoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmdyb3Vwcy5jaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgaWYgKHRoaXMuaW5jbHVkZUFycm93cykge1xuICAgICAgdGhpcy51cGRhdGVJbmNsdWRlQXJyb3dzKCk7XG4gICAgICB0aGlzLmdyb3Vwcy5jaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUluY2x1ZGVBcnJvd3MuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmluaXRpYWxPcGVuKHRoaXMuYWN0aXZlSWRzKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbiAmJiB0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJbmNsdWRlQXJyb3dzKCkge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgdGhpcy5ncm91cHMudG9BcnJheSgpKSB7XG4gICAgICBncm91cC5oZWFkZXIuaW5jbHVkZUFycm93ID0gdHJ1ZTtcbiAgICAgIGdyb3VwLmhlYWRlci5hcnJvd1R5cGUgPSB0aGlzLmFycm93VHlwZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyKCkge1xuICAgIGlmICh0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5ncm91cHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbiA9IG1lcmdlKC4uLnRoaXMuZ3JvdXBzLm1hcChncm91cCA9PiBncm91cC5oZWFkZXIuY2xpY2skLnBpcGUobWFwVG8oZ3JvdXApKSkpLnN1YnNjcmliZShcbiAgICAgIChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25Hcm91cENsaWNrKGdyb3VwKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkdyb3VwQ2xpY2soZ3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCwgZm9yY2UgPSBmYWxzZSkge1xuICAgIGlmIChncm91cC5fZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbG9zZU90aGVycyAmJiAhZ3JvdXAuY29udGVudC5fZXhwYW5kZWQpIHtcbiAgICAgIGZvciAoY29uc3QgZyBvZiB0aGlzLmdyb3Vwcy50b0FycmF5KCkpIHtcbiAgICAgICAgaWYgKGcgIT09IGdyb3VwKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZUFuZEVtaXQoZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZUdyb3VwKGdyb3VwLCBmb3JjZSA/IHRydWUgOiAhZ3JvdXAuY29udGVudC5fZXhwYW5kZWQpO1xuXG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmdldENoaWxkQWNjb3JkaW9uc0NvbXBvbmVudHMoKTtcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBjaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IGNoaWxkLmdyb3Vwcy5mb3JFYWNoKGcgPT4gdGhpcy5jbG9zZUFuZEVtaXQoZykpKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRUb2dnbGUoZ3JvdXApO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVHcm91cChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50LCBleHBhbmRlZCA9IHRydWUpIHtcbiAgICBncm91cC5jb250ZW50LmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgZ3JvdXAuaGVhZGVyLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldENoaWxkQWNjb3JkaW9uc0NvbXBvbmVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRBY2NvcmRpb24uZmlsdGVyKGNoaWxkID0+IGNoaWxkICE9PSB0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29lcmNlQXJyYXk8VD4odmFsdWUpOiBUW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbE9wZW4oYWN0aXZlSWRzOiBudW1iZXIgfCBudW1iZXJbXSkge1xuICAgIGNvbnN0IHRvQXJyYXkgPSB0aGlzLmV4cGFuZEFsbCA/IHRoaXMuZ3JvdXBzLnRvQXJyYXkoKS5tYXAoKF8sIGkpID0+IGkpIDogdGhpcy5jb2VyY2VBcnJheTxudW1iZXI+KGFjdGl2ZUlkcyk7XG4gICAgdGhpcy5zZXRFeHBhbmRBbGwodG9BcnJheSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRUb2dnbGUoZ3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCwgdmFsdWU/OiBib29sZWFuKSB7XG4gICAgaWYgKGdyb3VwLnRvZ2dsZS5vYnNlcnZlcnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBleHBhbmRlZCA9IHZhbHVlID09IG51bGwgPyBncm91cC5jb250ZW50Ll9leHBhbmRlZCA6IHZhbHVlO1xuICAgICAgZ3JvdXAudG9nZ2xlLm5leHQoeyBleHBhbmRlZCB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsb3NlQW5kRW1pdChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50KSB7XG4gICAgaWYgKGdyb3VwLmNvbnRlbnQuX2V4cGFuZGVkKSB7XG4gICAgICB0aGlzLmVtaXRUb2dnbGUoZ3JvdXAsIGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVHcm91cChncm91cCwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0dyb3VwQ29udGVudChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50LCBzZWFyY2hUZXJtOiBzdHJpbmcsIGxhc3RHcm91cDogYm9vbGVhbikge1xuICAgIGxldCBoZWFkZXJNYXRjaDtcbiAgICBpZiAoIWlzTmlsKGdyb3VwLmhlYWRlci5zZWFyY2hhYmxlKSkge1xuICAgICAgLy8gV2hlbiB3ZSBuZWVkIHRvIHN1cHBvcnQgYSBzZWFyY2ggdGVybSBpbiB0aGUgaGVhZGVyLCB3ZSBmaXJzdCB3YW50IHRvIGNoZWNrIGlmIGl0IG1hdGNoZXMuXG4gICAgICBoZWFkZXJNYXRjaCA9IGRlZmF1bHRDbGllbnRTZWFyY2hTdHJhdGVneShncm91cC5oZWFkZXIsIHNlYXJjaFRlcm0sICdzZWFyY2hhYmxlJyk7XG4gICAgICBpZiAoaGVhZGVyTWF0Y2gpIHtcbiAgICAgICAgLy8gSWYgdGhhdCdzIHRoZSBjYXNlLCBpdCB3aWxsIHNob3cgYWxsIGdyb3VwcyBhbmQgaWdub3JlIGVhY2ggZ3JvdXAgY29udGVudCByZXN1bHRzLlxuICAgICAgICB0aGlzLnNob3dFbnRpcmVHcm91cChncm91cCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIHdlIGRlbGVnYXRlIHRvIHNlYXJjaCBpbiBlYWNoIGdyb3VwIGNvbnRlbnRcbiAgICAgICAgdGhpcy5jaGVja0dyb3VwU2VhcmNoYWJsZUNvbnRlbnQoZ3JvdXApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNoZWNrR3JvdXBTZWFyY2hhYmxlQ29udGVudChncm91cCk7XG4gICAgfVxuICAgIC8vIElmIHRoaXMgaXMgYSBuZXN0ZWQgYWNjb3JkaW9uIHdlIHdhbnQgdG8gdXBkYXRlIGhlIHBhcmVudCdzIGNvdW50XG4gICAgaWYgKHRoaXMucGFyZW50R3JvdXAgJiYgdGhpcy5wYXJlbnQuX2hhc1NlYXJjaCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucGFyZW50R3JvdXAuaGVhZGVyLnNlYXJjaFJlc3VsdExlbmd0aCArPSBncm91cC5oZWFkZXIuc2VhcmNoUmVzdWx0TGVuZ3RoO1xuICAgICAgICBpZiAoaGVhZGVyTWF0Y2gpIHtcbiAgICAgICAgICB0aGlzLnBhcmVudEdyb3VwLmhlYWRlci5zZWFyY2hSZXN1bHRMZW5ndGggKz0gMTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSB3YW50IHRvIHRyaWdnZXIgdGhlIHVwZGF0ZSBvbiB0aGUgcGFyZW50IGFmdGVyIHRoZSBsYXN0IGdyb3VwIHdhcyBjaGVja2VkXG4gICAgICAgIGlmIChsYXN0R3JvdXApIHtcbiAgICAgICAgICBjb25zdCBzaG91bGRFeHBhbmQgPSB0aGlzLnBhcmVudEdyb3VwLmhlYWRlci5zZWFyY2hSZXN1bHRMZW5ndGggPiAwO1xuICAgICAgICAgIHRoaXMuZXhwYW5kR3JvdXAodGhpcy5wYXJlbnRHcm91cCwgc2hvdWxkRXhwYW5kKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0dyb3VwU2VhcmNoYWJsZUNvbnRlbnQoZ3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGdyb3VwLmNvbnRlbnQuc2VhcmNoYWJsZXMuZmlsdGVyKHNlYXJjaGFibGUgPT4gIXNlYXJjaGFibGUuaXNIaWRkZW4pO1xuICAgIGdyb3VwLmhlYWRlci5zZWFyY2hSZXN1bHRMZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuICAgIHRoaXMuZXhwYW5kR3JvdXAoZ3JvdXAsIHJlc3VsdC5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0VudGlyZUdyb3VwKGdyb3VwOiBEYXRvQWNjb3JkaW9uR3JvdXBDb21wb25lbnQpIHtcbiAgICBncm91cC5jb250ZW50LnNlYXJjaGFibGVzLmZvckVhY2goc2VhcmNoYWJsZSA9PiBzZWFyY2hhYmxlLnNob3coKSk7XG4gICAgZ3JvdXAuaGVhZGVyLnNlYXJjaFJlc3VsdExlbmd0aCA9IGdyb3VwLmNvbnRlbnQuc2VhcmNoYWJsZXMubGVuZ3RoO1xuICAgIHRoaXMuZXhwYW5kR3JvdXAoZ3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBleHBhbmRHcm91cChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50LCBleHBhbmQgPSB0cnVlKSB7XG4gICAgZ3JvdXAuZXhwYW5kKGV4cGFuZCk7XG4gICAgZ3JvdXAuaGlkZSghZXhwYW5kKTtcbiAgfVxufVxuIl19
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2FjY29yZGlvbi9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7OztBQUVILE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxLQUFLLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQWMxRSxJQUFhLHNCQUFzQiw4QkFBbkMsTUFBYSxzQkFBc0I7SUFpRGpDLFlBR1UsTUFBOEIsRUFFOUIsV0FBd0MsRUFDeEMsR0FBc0I7UUFIdEIsV0FBTSxHQUFOLE1BQU0sQ0FBd0I7UUFFOUIsZ0JBQVcsR0FBWCxXQUFXLENBQTZCO1FBQ3hDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBOUNoQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGtC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QztBQUdoQztJQURDLEtBQUssRUFBRTs7MkRBQ1k7QUFFcEI7SUFEQyxLQUFLLEVBQUU7O3lEQUNVO0FBRWxCO0lBREMsS0FBSyxFQUFFOzs2REFDYztBQUV0QjtJQURDLEtBQUssRUFBRTs7eURBQ21DO0FBRTNDO0lBREMsS0FBSyxFQUFFOzt5REFDMEI7QUFFbEM7SUFEQyxLQUFLLEVBQUU7O3VFQUN3QjtBQUdoQztJQURDLEtBQUssRUFBRTs7O3dEQW9CUDtBQXpDVSxzQkFBc0I7SUFabEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLFFBQVEsRUFBRSxlQUFlO2lCQUV2Qjs7OztLQUlDO0tBRUosQ0FBQztJQW1ERyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUVWLFdBQUEsUUFBUSxFQUFFLENBQUE7cUNBREssc0JBQXNCO1FBRWpCLDJCQUEyQjtRQUNuQyxpQkFBaUI7R0F2RHJCLHNCQUFzQixDQW9QbEM7U0FwUFksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFF1ZXJ5TGlzdCxcbiAgU2tpcFNlbGZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRvQWNjb3JkaW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi9hY2NvcmRpb24tZ3JvdXAvYWNjb3JkaW9uLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBtZXJnZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXBUbyB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnbmd4LXRha2UtdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscy9jb2VyY2lvbic7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJy4uLy4uL3V0aWxzL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgZGVmYXVsdENsaWVudFNlYXJjaFN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vc2VsZWN0L3NlYXJjaC5zdHJhdGVneSc7XG5pbXBvcnQgeyBBY2NvcmRpb25BcnJvd1R5cGUgfSBmcm9tICcuLi9hY2NvcmRpb24udHlwZXMnO1xuaW1wb3J0IHsgRGF0b1NvcnRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc29ydGFibGUvc29ydGFibGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0by1hY2NvcmRpb24nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBleHBvcnRBczogJ2RhdG9BY2NvcmRpb24nLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIGBcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvQWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBAQ29udGVudENoaWxkcmVuKERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudClcbiAgY2hpbGRHcm91cHM6IFF1ZXJ5TGlzdDxEYXRvQWNjb3JkaW9uR3JvdXBDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKERhdG9BY2NvcmRpb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgY2hpbGRBY2NvcmRpb246IFF1ZXJ5TGlzdDxEYXRvQWNjb3JkaW9uQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZChEYXRvU29ydGFibGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNvcnRhYmxlOiBEYXRvU29ydGFibGVDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgY2xvc2VPdGhlcnMgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgZXhwYW5kQWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGluY2x1ZGVBcnJvd3MgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgYXJyb3dUeXBlOiBBY2NvcmRpb25BcnJvd1R5cGUgPSAnc3RhbmRhcmQnO1xuICBASW5wdXQoKVxuICBhY3RpdmVJZHM6IG51bWJlciB8IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpXG4gIHNob3dTZWFyY2hVcG9uTm9SZXN1bHRzID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaFRlcm0oc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgdGhpcy5faGFzU2VhcmNoID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5ncm91cHMpIHtcbiAgICAgIHNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtIHx8ICcnO1xuXG4gICAgICBjb25zdCBncm91cHNBcnIgPSB0aGlzLmFzQXJyYXk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyb3Vwc0Fyci5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBncm91cCA9IGdyb3Vwc0FycltpXTtcbiAgICAgICAgY29uc3QgeyBoZWFkZXIgfSA9IGdyb3VwO1xuICAgICAgICBpZiAoIXNlYXJjaFRlcm0pIHtcbiAgICAgICAgICB0aGlzLnRvZ2dsZUdyb3VwKGdyb3VwLCB0aGlzLnNob3dTZWFyY2hVcG9uTm9SZXN1bHRzICYmIGdyb3VwLmV4cGFuZGVkKTtcbiAgICAgICAgICBncm91cC5oaWRlKGZhbHNlKTtcbiAgICAgICAgICBoZWFkZXIuc2VhcmNoUmVzdWx0TGVuZ3RoID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBpc0xhc3RHcm91cCA9IGkgKyAxID09PSBncm91cHNBcnIubGVuZ3RoO1xuICAgICAgICAgIHRoaXMuY2hlY2tHcm91cENvbnRlbnQoZ3JvdXAsIHNlYXJjaFRlcm0sIGlzTGFzdEdyb3VwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBfaGFzU2VhcmNoID0gZmFsc2U7XG4gIHByaXZhdGUgZ3JvdXBzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgZ2V0IGdyb3VwcygpOiBRdWVyeUxpc3Q8RGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuc29ydGFibGUgJiYgdGhpcy5zb3J0YWJsZS5hY2NvcmRpb25Hcm91cHMubGVuZ3RoID4gMCA/IHRoaXMuc29ydGFibGUuYWNjb3JkaW9uR3JvdXBzIDogdGhpcy5jaGlsZEdyb3VwcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTa2lwU2VsZigpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHBhcmVudDogRGF0b0FjY29yZGlvbkNvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcGFyZW50R3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5leHBhbmRBbGwgJiYgIWNoYW5nZXMuZXhwYW5kQWxsLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNldEV4cGFuZEFsbCgpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmFjdGl2ZUlkcyAmJiAhY2hhbmdlcy5hY3RpdmVJZHMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgIC8qKiBPcGVuIGNsb3NlIGFsbCBncm91cHMgdGhhdCBhcmUgbm90IGluIHRoZSBhY3RpdmUgaWRzLCBhbmQgb25seSBvcGVuIHRoZSBncm91cHMgdGhhdCBhcmUgY2xvc2VkICovXG4gICAgICBjb25zdCBpZHNUb09wZW4gPSB0aGlzLmdyb3Vwcy50b0FycmF5KCkucmVkdWNlKChpZHMsIGdyb3VwLCBpKSA9PiB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmFjdGl2ZUlkcy5jdXJyZW50VmFsdWUuaW5jbHVkZXMoaSkpIHtcbiAgICAgICAgICAhZ3JvdXAuZXhwYW5kZWQgJiYgaWRzLnB1c2goaSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50b2dnbGVHcm91cChncm91cCwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpZHM7XG4gICAgICB9LCBbXSk7XG4gICAgICB0aGlzLnNldEV4cGFuZEFsbChpZHNUb09wZW4pO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZShpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmdyb3Vwcy50b0FycmF5KClbaW5kZXhdO1xuICAgIGlmICh0b0Jvb2xlYW4oZ3JvdXApKSB7XG4gICAgICB0aGlzLm9uR3JvdXBDbGljayhncm91cCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEdyb3VwICR7aW5kZXh9IGRvZXNuJ3QgZXhpc3RzYCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RXhwYW5kQWxsKGlkcz86IGFueVtdKSB7XG4gICAgbGV0IHRvQXJyYXkgPSBpZHM7XG4gICAgY29uc3QgZ3JvdXBzQXJyYXkgPSB0aGlzLmdyb3Vwcy50b0FycmF5KCk7XG4gICAgaWYgKCF0b0FycmF5KSB7XG4gICAgICB0b0FycmF5ID0gZ3JvdXBzQXJyYXkubWFwKChfLCBpKSA9PiBpKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBpbmRleCBvZiB0b0FycmF5KSB7XG4gICAgICBjb25zdCBncm91cCA9IGdyb3Vwc0FycmF5W2luZGV4XTtcbiAgICAgIGlmICghdGhpcy5wYXJlbnQgJiYgIWdyb3VwLl9kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLm9uR3JvdXBDbGljayhncm91cCwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGFzQXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JvdXBzLnRvQXJyYXkoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmdyb3Vwcy5jaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgaWYgKHRoaXMuaW5jbHVkZUFycm93cykge1xuICAgICAgdGhpcy51cGRhdGVJbmNsdWRlQXJyb3dzKCk7XG4gICAgICB0aGlzLmdyb3Vwcy5jaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUluY2x1ZGVBcnJvd3MuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmluaXRpYWxPcGVuKHRoaXMuYWN0aXZlSWRzKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbiAmJiB0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJbmNsdWRlQXJyb3dzKCkge1xuICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgdGhpcy5ncm91cHMudG9BcnJheSgpKSB7XG4gICAgICBncm91cC5oZWFkZXIuaW5jbHVkZUFycm93ID0gdHJ1ZTtcbiAgICAgIGdyb3VwLmhlYWRlci5hcnJvd1R5cGUgPSB0aGlzLmFycm93VHlwZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlZ2lzdGVyKCkge1xuICAgIGlmICh0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5ncm91cHNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmdyb3Vwc1N1YnNjcmlwdGlvbiA9IG1lcmdlKC4uLnRoaXMuZ3JvdXBzLm1hcChncm91cCA9PiBncm91cC5oZWFkZXIuY2xpY2skLnBpcGUobWFwVG8oZ3JvdXApKSkpLnN1YnNjcmliZShcbiAgICAgIChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25Hcm91cENsaWNrKGdyb3VwKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkdyb3VwQ2xpY2soZ3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCwgZm9yY2UgPSBmYWxzZSkge1xuICAgIGlmIChncm91cC5fZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbG9zZU90aGVycyAmJiAhZ3JvdXAuY29udGVudC5fZXhwYW5kZWQpIHtcbiAgICAgIGZvciAoY29uc3QgZyBvZiB0aGlzLmdyb3Vwcy50b0FycmF5KCkpIHtcbiAgICAgICAgaWYgKGcgIT09IGdyb3VwKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZUFuZEVtaXQoZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRvZ2dsZUdyb3VwKGdyb3VwLCBmb3JjZSA/IHRydWUgOiAhZ3JvdXAuY29udGVudC5fZXhwYW5kZWQpO1xuXG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmdldENoaWxkQWNjb3JkaW9uc0NvbXBvbmVudHMoKTtcbiAgICBpZiAoY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICBjaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IGNoaWxkLmdyb3Vwcy5mb3JFYWNoKGcgPT4gdGhpcy5jbG9zZUFuZEVtaXQoZykpKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRUb2dnbGUoZ3JvdXApO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVHcm91cChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50LCBleHBhbmRlZCA9IHRydWUpIHtcbiAgICBncm91cC5jb250ZW50LmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgZ3JvdXAuaGVhZGVyLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldENoaWxkQWNjb3JkaW9uc0NvbXBvbmVudHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRBY2NvcmRpb24uZmlsdGVyKGNoaWxkID0+IGNoaWxkICE9PSB0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29lcmNlQXJyYXk8VD4odmFsdWUpOiBUW10ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbE9wZW4oYWN0aXZlSWRzOiBudW1iZXIgfCBudW1iZXJbXSkge1xuICAgIGNvbnN0IHRvQXJyYXkgPSB0aGlzLmV4cGFuZEFsbCA/IHRoaXMuZ3JvdXBzLnRvQXJyYXkoKS5tYXAoKF8sIGkpID0+IGkpIDogdGhpcy5jb2VyY2VBcnJheTxudW1iZXI+KGFjdGl2ZUlkcyk7XG4gICAgdGhpcy5zZXRFeHBhbmRBbGwodG9BcnJheSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRUb2dnbGUoZ3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCwgdmFsdWU/OiBib29sZWFuKSB7XG4gICAgaWYgKGdyb3VwLnRvZ2dsZS5vYnNlcnZlcnMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBleHBhbmRlZCA9IHZhbHVlID09IG51bGwgPyBncm91cC5jb250ZW50Ll9leHBhbmRlZCA6IHZhbHVlO1xuICAgICAgZ3JvdXAudG9nZ2xlLm5leHQoeyBleHBhbmRlZCB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsb3NlQW5kRW1pdChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50KSB7XG4gICAgaWYgKGdyb3VwLmNvbnRlbnQuX2V4cGFuZGVkKSB7XG4gICAgICB0aGlzLmVtaXRUb2dnbGUoZ3JvdXAsIGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy50b2dnbGVHcm91cChncm91cCwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0dyb3VwQ29udGVudChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50LCBzZWFyY2hUZXJtOiBzdHJpbmcsIGxhc3RHcm91cDogYm9vbGVhbikge1xuICAgIGxldCBoZWFkZXJNYXRjaDtcbiAgICBpZiAoIWlzTmlsKGdyb3VwLmhlYWRlci5zZWFyY2hhYmxlKSkge1xuICAgICAgLy8gV2hlbiB3ZSBuZWVkIHRvIHN1cHBvcnQgYSBzZWFyY2ggdGVybSBpbiB0aGUgaGVhZGVyLCB3ZSBmaXJzdCB3YW50IHRvIGNoZWNrIGlmIGl0IG1hdGNoZXMuXG4gICAgICBoZWFkZXJNYXRjaCA9IGRlZmF1bHRDbGllbnRTZWFyY2hTdHJhdGVneShncm91cC5oZWFkZXIsIHNlYXJjaFRlcm0sICdzZWFyY2hhYmxlJyk7XG4gICAgICBpZiAoaGVhZGVyTWF0Y2gpIHtcbiAgICAgICAgLy8gSWYgdGhhdCdzIHRoZSBjYXNlLCBpdCB3aWxsIHNob3cgYWxsIGdyb3VwcyBhbmQgaWdub3JlIGVhY2ggZ3JvdXAgY29udGVudCByZXN1bHRzLlxuICAgICAgICB0aGlzLnNob3dFbnRpcmVHcm91cChncm91cCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIHdlIGRlbGVnYXRlIHRvIHNlYXJjaCBpbiBlYWNoIGdyb3VwIGNvbnRlbnRcbiAgICAgICAgdGhpcy5jaGVja0dyb3VwU2VhcmNoYWJsZUNvbnRlbnQoZ3JvdXApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNoZWNrR3JvdXBTZWFyY2hhYmxlQ29udGVudChncm91cCk7XG4gICAgfVxuICAgIC8vIElmIHRoaXMgaXMgYSBuZXN0ZWQgYWNjb3JkaW9uIHdlIHdhbnQgdG8gdXBkYXRlIGhlIHBhcmVudCdzIGNvdW50XG4gICAgaWYgKHRoaXMucGFyZW50R3JvdXAgJiYgdGhpcy5wYXJlbnQuX2hhc1NlYXJjaCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucGFyZW50R3JvdXAuaGVhZGVyLnNlYXJjaFJlc3VsdExlbmd0aCArPSBncm91cC5oZWFkZXIuc2VhcmNoUmVzdWx0TGVuZ3RoO1xuICAgICAgICBpZiAoaGVhZGVyTWF0Y2gpIHtcbiAgICAgICAgICB0aGlzLnBhcmVudEdyb3VwLmhlYWRlci5zZWFyY2hSZXN1bHRMZW5ndGggKz0gMTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSB3YW50IHRvIHRyaWdnZXIgdGhlIHVwZGF0ZSBvbiB0aGUgcGFyZW50IGFmdGVyIHRoZSBsYXN0IGdyb3VwIHdhcyBjaGVja2VkXG4gICAgICAgIGlmIChsYXN0R3JvdXApIHtcbiAgICAgICAgICBjb25zdCBzaG91bGRFeHBhbmQgPSB0aGlzLnBhcmVudEdyb3VwLmhlYWRlci5zZWFyY2hSZXN1bHRMZW5ndGggPiAwO1xuICAgICAgICAgIHRoaXMuZXhwYW5kR3JvdXAodGhpcy5wYXJlbnRHcm91cCwgc2hvdWxkRXhwYW5kKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0dyb3VwU2VhcmNoYWJsZUNvbnRlbnQoZ3JvdXA6IERhdG9BY2NvcmRpb25Hcm91cENvbXBvbmVudCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGdyb3VwLmNvbnRlbnQuc2VhcmNoYWJsZXMuZmlsdGVyKHNlYXJjaGFibGUgPT4gIXNlYXJjaGFibGUuaXNIaWRkZW4pO1xuICAgIGdyb3VwLmhlYWRlci5zZWFyY2hSZXN1bHRMZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuICAgIHRoaXMuZXhwYW5kR3JvdXAoZ3JvdXAsIHJlc3VsdC5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0VudGlyZUdyb3VwKGdyb3VwOiBEYXRvQWNjb3JkaW9uR3JvdXBDb21wb25lbnQpIHtcbiAgICBncm91cC5jb250ZW50LnNlYXJjaGFibGVzLmZvckVhY2goc2VhcmNoYWJsZSA9PiBzZWFyY2hhYmxlLnNob3coKSk7XG4gICAgZ3JvdXAuaGVhZGVyLnNlYXJjaFJlc3VsdExlbmd0aCA9IGdyb3VwLmNvbnRlbnQuc2VhcmNoYWJsZXMubGVuZ3RoO1xuICAgIHRoaXMuZXhwYW5kR3JvdXAoZ3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBleHBhbmRHcm91cChncm91cDogRGF0b0FjY29yZGlvbkdyb3VwQ29tcG9uZW50LCBleHBhbmQgPSB0cnVlKSB7XG4gICAgZ3JvdXAuZXhwYW5kKGV4cGFuZCk7XG4gICAgZ3JvdXAuaGlkZSghZXhwYW5kKTtcbiAgfVxufVxuIl19
@@ -33,4 +33,4 @@ export var GridRowSelectionType;
33
33
  GridRowSelectionType["SINGLE"] = "single";
34
34
  GridRowSelectionType["MULTIPLE"] = "multiple";
35
35
  })(GridRowSelectionType || (GridRowSelectionType = {}));
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQ3BELE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsTUFBTSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUN6RyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyx1Q0FBdUMsMkJBQTJCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDeEcsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUM3RixVQUFVLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkUsT0FBTyxVQUFVO1FBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUM7UUFDOUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMsQ0FBQztBQW9IRixNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLHlEQUFhLENBQUE7SUFDYiw2REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQVNYO0FBVEQsV0FBWSxtQkFBbUI7SUFDN0Isd0NBQWlCLENBQUE7SUFDakIsd0NBQWlCLENBQUE7SUFDakIsb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZixnREFBeUIsQ0FBQTtJQUN6Qiw0Q0FBcUIsQ0FBQTtJQUNyQix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQVM5QjtBQWNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIseUNBQWlCLENBQUE7SUFDakIsNkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xEZWYsIEdyaWRPcHRpb25zLCBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBJR2V0Um93c1BhcmFtcywgTWVudUl0ZW1EZWYsIFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyLCBEYXRvR3JpZEZpbHRlclNlY3Rpb25zLCBMaXN0SXRlbSB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9TZXJ2ZXJQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuLi9ncmlkLWNvbnRyb2xsZXIvZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRNb3JlTWVudUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51L2dyaWQtY29sdW1uLWhlYWRlci1tb3JlLW1lbnUudHlwZXMnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9HcmlkT3ZlcmxheUlucHV0IH0gZnJvbSAnLi4vZ3JpZC1uby1kYXRhLW92ZXJsYXkvZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcywgc2VhcmNoVGVybTogc3RyaW5nKSA9PiB7XG4gIGlmICghcGFyYW1zIHx8ICFwYXJhbXMudmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJ2YWx1ZS13cmFwcGVyIGVsbGlwc2lzXCI+JHtzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIocGFyYW1zLCBzZWFyY2hUZXJtKX08L2Rpdj5gO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlciA9IChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMsIHNlYXJjaFRlcm06IHN0cmluZykgPT4ge1xuICBzZWFyY2hUZXJtID0gKHNlYXJjaFRlcm0gfHwgJycpLnRyaW0oKTtcbiAgY29uc3QgdmFsdWUgPSAocGFyYW1zLnZhbHVlRm9ybWF0dGVkIHx8IHBhcmFtcy52YWx1ZSB8fCAnJykudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHNlYXJjaFRlcm1cbiAgICA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChzZWFyY2hUZXJtLCAnZ2knKSwgKHN0cjogc3RyaW5nKSA9PiBgPHNwYW4gY2xhc3M9XCJzZWFyY2gtaGlnaGxpZ2h0XCI+JHtzdHJ9PC9zcGFuPmApXG4gICAgOiB2YWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdncmVlbicgfCAncmVkJyB8ICdhY2NlbnQnIHwgJ3llbGxvdyc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBpY29uQ3NzQ2xhc3M/OiBzdHJpbmc7XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBzaG93U3Bpbm5lcj86IGJvb2xlYW47XG4gIG1heExhYmVscz86IG51bWJlcjtcbiAgZ2V0QWRkaXRpb25hbFRleHQ/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGdldEltYWdlVXJsPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nO1xuICBpbml0aWFsc0NvbmZpZz86IERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnO1xuICBnZXRJc1Zpc2libGU/OiAoZGF0YTogYW55KSA9PiBib29sZWFuO1xuICBnZXRJdGVtcz86IChkYXRhOiBhbnkpID0+IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWcgPSB7XG4gIGZpcnN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBsYXN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBmdWxsTmFtZUZpZWxkPzogc3RyaW5nO1xuICBnZXRGdWxsTmFtZT86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgaXNCb2xkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRmlsdGVyQ29uZmlnID0ge1xuICBzZWN0aW9ucz86IERhdG9HcmlkRmlsdGVyU2VjdGlvbnM7XG4gIHByZWRlZmluZWRMaXN0VmFsdWVzPzogKHN0cmluZyB8IExpc3RJdGVtKVtdO1xuICBrZWVwUHJlZGVmaW5lZExpc3RPcmlnaW5hbE9yZGVyPzogYm9vbGVhbjtcbiAgc2hvd0VtcHR5Q29uZGl0aW9ucz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdG9HcmlkRGF0YUNoYW5nZWRFdmVudCBleHRlbmRzIEFnR3JpZEV2ZW50IHtcbiAgdHlwZTogJ1NlcnZlckRhdGFMb2FkZWQnIHwgJ3Jvd0RhdGFDaGFuZ2VkJyB8ICdyb3dEYXRhVXBkYXRlZCc7XG4gIHBhZ2luYXRpb25QYWdlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdG9HcmlkR2V0Um93c1BhcmFtcyBleHRlbmRzIElHZXRSb3dzUGFyYW1zIHtcbiAgc2VydmVyQ29uZmlnOiBEYXRvU2VydmVyUGFnaW5hdGlvbkNvbmZpZztcbn1cblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRFeHBvcnRQYXJhbXMgPSBEYXRvR3JpZEFwaSAmIERhdG9HcmlkU2V0dGluZ3M7XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkT25Ib3ZlckNvbmZpZyA9IHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIG1heERpc3BsYXllZEl0ZW1zPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZE9wdGlvbnMgZXh0ZW5kcyBHcmlkT3B0aW9ucyB7XG4gIGdyaWROYW1lOiBzdHJpbmc7XG4gIGNvbHVtbkRlZnM6IERhdG9HcmlkQ29sdW1uRGVmW107XG4gIHNhdmVTZXR0aW5ncz86IGJvb2xlYW47XG4gIGVuYWJsZVYyXzE/OiBib29sZWFuO1xuICBleHBvcnRHcmlkPyhwYXJhbXM6IERhdG9HcmlkRXhwb3J0UGFyYW1zKTogdm9pZDtcbiAgZGVmYXVsdENvbERlZj86IERhdG9HcmlkQ29sdW1uRGVmO1xuICBkYXRhc291cmNlPzoge1xuICAgIGdldFJvd3MocGFyYW1zOiBEYXRvR3JpZEdldFJvd3NQYXJhbXMpOiB2b2lkO1xuICAgIC8vIG9wdGlvbmFsIGRlc3Ryb3kgbWV0aG9kLCBpZiB5b3VyIGRhdGFzb3VyY2UgaGFzIHN0YXRlIGl0IG5lZWRzIHRvIGNsZWFuIHVwXG4gICAgZGVzdHJveT8oKTogdm9pZDtcbiAgfTtcbiAgY3VzdG9tQ29udGV4dE1lbnU/KHJvd0FjdGlvbnM6IFJvd0FjdGlvbltdKTogUm93QWN0aW9uW107XG4gIGhvdmVyQ29uZmlnPzogRGF0b0dyaWRPbkhvdmVyQ29uZmlnO1xuICBvdmVybGF5c0NvbmZpZz86IERhdG9HcmlkT3ZlcmxheUlucHV0O1xuICBkaXN0aW5jdFJlc3VsdHM/OiBib29sZWFuO1xuICBtYXhEZXB0aD86IG51bWJlcjtcbiAgZW5hYmxlU2VhcmNoPzogYm9vbGVhbjtcbiAgZW5hYmxlU2VhcmNoSGlnaGxpZ2h0PzogYm9vbGVhbjtcbiAgY29sdW1uc0luY2x1ZGVkSW5TZWFyY2hCeURlZmF1bHQ/OiBib29sZWFuO1xuICBzZWFyY2hEZWJvdW5jZVRpbWU/OiBudW1iZXI7XG4gIGluY2x1ZGVIaWRkZW5Db2x1bW5zSW5TZWFyY2g/OiBib29sZWFuO1xuICBzaG93TXVsdGlTZWxlY3Rpb25DaGVja2JveGVzPzogYm9vbGVhbjtcbiAgZW5hYmxlQWxsUGFnZXNTZWxlY3Rpb24/OiBib29sZWFuO1xuICBpZENvbHVtbktleT86IHN0cmluZztcbiAgZW5hYmxlQmFja2dyb3VuZD86IGJvb2xlYW47XG4gIHNob3dCb3R0b21Db250cm9scz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW51SXRlbSA9IHN0cmluZyB8IE1lbnVJdGVtRGVmO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnZlcnRlclBhcmFtcyB7XG4gIG5vZGU6IFJvd05vZGU7XG4gIHRvb2xiYXJBY3Rpb25zOiBSb3dBY3Rpb25bXTtcbiAgc2VsZWN0ZWRSb3dzOiBSb3dOb2RlW107XG4gIGljb25SZWdpc3RyeTogSWNvblJlZ2lzdHJ5O1xuICBsb2dnZXI/OiB7XG4gICAgbG9nKGV2ZW50VHlwZTogQ29yZUV2ZW50VHlwZXMuR1JJRF9UQUJMRV9BQ1RJT04sIGV2ZW50UHJvcGVydGllcz86IEhhc2hNYXA8YW55Pik6IHZvaWQ7XG4gICAgZXZlbnRPcmlnaW4/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkU29ydERpcmVjdGlvbiA9ICdhc2MnIHwgJ2Rlc2MnO1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTb3J0ID0ge1xuICBjb2xJZDogc3RyaW5nO1xuICBzb3J0OiBEYXRvR3JpZFNvcnREaXJlY3Rpb247XG4gIGZpZWxkPzogc3RyaW5nO1xuICBzb3J0SW5kZXg/OiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTZXJ2ZXJTb3J0RGlyZWN0aW9uID0gJ0FTQycgfCAnREVTQyc7XG5leHBvcnQgdHlwZSBEYXRvR3JpZFNlcnZlclNvcnQgPSB7IGNvbHVtbjogc3RyaW5nOyBzb3J0T3JkZXI6IERhdG9HcmlkU2VydmVyU29ydERpcmVjdGlvbiB9O1xuXG5leHBvcnQgY29uc3QgZW51bSBEYXRvR3JpZEFsaWdubWVudCB7XG4gIEZJVF9UT19DT05UQUlORVIsXG4gIEZJVF9UT19DT05URU5ULFxuICBDVVNUT01cbn1cblxuZXhwb3J0IGVudW0gR3JpZE1pbldpZHRocyB7XG4gIERlZmF1bHQgPSAxMDcsXG4gIFdpdGhfSW5mbyA9IDEzMVxufVxuXG5leHBvcnQgZW51bSBEYXRvR3JpZENvbHVtblR5cGVzIHtcbiAgU3RyaW5nID0gJ1N0cmluZycsXG4gIE51bWJlciA9ICdOdW1iZXInLFxuICBEYXRlID0gJ0RhdGUnLFxuICBTdGF0dXMgPSAnU3RhdHVzJyxcbiAgSXRlbXMgPSAnSXRlbXMnLFxuICBJdGVtc0NvdW50ID0gJ0l0ZW1zQ291bnQnLFxuICBJbml0aWFscyA9ICdJbml0aWFscycsXG4gIEF2YXRhciA9ICdBdmF0YXInXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRUcmVlQ29uZmlnIHtcbiAgaWRLZXk6IHN0cmluZztcbiAgcGFyZW50SURLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQWdHcmlkUm93SWNvbiA9XG4gIHwgc3RyaW5nXG4gIHwge1xuICAgICAgZXhwYW5kZWQ6IHN0cmluZztcbiAgICAgIGNvbGxhcHNlZDogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCBlbnVtIEdyaWRSb3dTZWxlY3Rpb25UeXBlIHtcbiAgU0lOR0xFID0gJ3NpbmdsZScsXG4gIE1VTFRJUExFID0gJ211bHRpcGxlJ1xufVxuXG5leHBvcnQgdHlwZSBHcmlkUm93c1NlbGVjdGlvbkRhdGEgPSB7XG4gIHRvdGFsUm93c0NvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkUm93c0NvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkUGFnZVJvd3NDb3VudDogbnVtYmVyO1xuICBpc0FsbFBhZ2VSb3dzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBHcmlkQ2hhbmdlRXZlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgZGF0YTogUm93Tm9kZVtdO1xuICBmaWx0ZXI6IERhdG9HcmlkRXh0ZXJuYWxGaWx0ZXJbXTtcbiAgc29ydDogRGF0b0dyaWRTb3J0O1xufTtcbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQ3BELE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsTUFBTSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUN6RyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyx1Q0FBdUMsMkJBQTJCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7QUFDeEcsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxNQUEyQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUM3RixVQUFVLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkUsT0FBTyxVQUFVO1FBQ2YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsR0FBRyxTQUFTLENBQUM7UUFDOUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNaLENBQUMsQ0FBQztBQXFIRixNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLHlEQUFhLENBQUE7SUFDYiw2REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLG1CQVNYO0FBVEQsV0FBWSxtQkFBbUI7SUFDN0Isd0NBQWlCLENBQUE7SUFDakIsd0NBQWlCLENBQUE7SUFDakIsb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZixnREFBeUIsQ0FBQTtJQUN6Qiw0Q0FBcUIsQ0FBQTtJQUNyQix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQVM5QjtBQWNELE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDOUIseUNBQWlCLENBQUE7SUFDakIsNkNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xEZWYsIEdyaWRPcHRpb25zLCBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBJR2V0Um93c1BhcmFtcywgTWVudUl0ZW1EZWYsIFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyLCBEYXRvR3JpZEZpbHRlclNlY3Rpb25zLCBMaXN0SXRlbSB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9TZXJ2ZXJQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuLi9ncmlkLWNvbnRyb2xsZXIvZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRNb3JlTWVudUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51L2dyaWQtY29sdW1uLWhlYWRlci1tb3JlLW1lbnUudHlwZXMnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9HcmlkT3ZlcmxheUlucHV0IH0gZnJvbSAnLi4vZ3JpZC1uby1kYXRhLW92ZXJsYXkvZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcywgc2VhcmNoVGVybTogc3RyaW5nKSA9PiB7XG4gIGlmICghcGFyYW1zIHx8ICFwYXJhbXMudmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJ2YWx1ZS13cmFwcGVyIGVsbGlwc2lzXCI+JHtzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIocGFyYW1zLCBzZWFyY2hUZXJtKX08L2Rpdj5gO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlciA9IChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMsIHNlYXJjaFRlcm06IHN0cmluZykgPT4ge1xuICBzZWFyY2hUZXJtID0gKHNlYXJjaFRlcm0gfHwgJycpLnRyaW0oKTtcbiAgY29uc3QgdmFsdWUgPSAocGFyYW1zLnZhbHVlRm9ybWF0dGVkIHx8IHBhcmFtcy52YWx1ZSB8fCAnJykudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHNlYXJjaFRlcm1cbiAgICA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChzZWFyY2hUZXJtLCAnZ2knKSwgKHN0cjogc3RyaW5nKSA9PiBgPHNwYW4gY2xhc3M9XCJzZWFyY2gtaGlnaGxpZ2h0XCI+JHtzdHJ9PC9zcGFuPmApXG4gICAgOiB2YWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdncmVlbicgfCAncmVkJyB8ICdhY2NlbnQnIHwgJ3llbGxvdyc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBpY29uQ3NzQ2xhc3M/OiBzdHJpbmc7XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICBzaG93U3Bpbm5lcj86IGJvb2xlYW47XG4gIG1heExhYmVscz86IG51bWJlcjtcbiAgZ2V0QWRkaXRpb25hbFRleHQ/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGdldEltYWdlVXJsPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nO1xuICBpbml0aWFsc0NvbmZpZz86IERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnO1xuICBnZXRJc1Zpc2libGU/OiAoZGF0YTogYW55KSA9PiBib29sZWFuO1xuICBnZXRJdGVtcz86IChkYXRhOiBhbnkpID0+IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWcgPSB7XG4gIGZpcnN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBsYXN0TmFtZUZpZWxkPzogc3RyaW5nO1xuICBmdWxsTmFtZUZpZWxkPzogc3RyaW5nO1xuICBnZXRGdWxsTmFtZT86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgaXNCb2xkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRmlsdGVyQ29uZmlnID0ge1xuICBzZWN0aW9ucz86IERhdG9HcmlkRmlsdGVyU2VjdGlvbnM7XG4gIHByZWRlZmluZWRMaXN0VmFsdWVzPzogKHN0cmluZyB8IExpc3RJdGVtKVtdO1xuICBrZWVwUHJlZGVmaW5lZExpc3RPcmlnaW5hbE9yZGVyPzogYm9vbGVhbjtcbiAgc2hvd0VtcHR5Q29uZGl0aW9ucz86IGJvb2xlYW47XG4gIHNob3dDbGVhckZpbHRlcnNCdXR0b24/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZERhdGFDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBZ0dyaWRFdmVudCB7XG4gIHR5cGU6ICdTZXJ2ZXJEYXRhTG9hZGVkJyB8ICdyb3dEYXRhQ2hhbmdlZCcgfCAncm93RGF0YVVwZGF0ZWQnO1xuICBwYWdpbmF0aW9uUGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZEdldFJvd3NQYXJhbXMgZXh0ZW5kcyBJR2V0Um93c1BhcmFtcyB7XG4gIHNlcnZlckNvbmZpZzogRGF0b1NlcnZlclBhZ2luYXRpb25Db25maWc7XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRXhwb3J0UGFyYW1zID0gRGF0b0dyaWRBcGkgJiBEYXRvR3JpZFNldHRpbmdzO1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZE9uSG92ZXJDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBtYXhEaXNwbGF5ZWRJdGVtcz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRPcHRpb25zIGV4dGVuZHMgR3JpZE9wdGlvbnMge1xuICBncmlkTmFtZTogc3RyaW5nO1xuICBjb2x1bW5EZWZzOiBEYXRvR3JpZENvbHVtbkRlZltdO1xuICBzYXZlU2V0dGluZ3M/OiBib29sZWFuO1xuICBlbmFibGVWMl8xPzogYm9vbGVhbjtcbiAgZXhwb3J0R3JpZD8ocGFyYW1zOiBEYXRvR3JpZEV4cG9ydFBhcmFtcyk6IHZvaWQ7XG4gIGRlZmF1bHRDb2xEZWY/OiBEYXRvR3JpZENvbHVtbkRlZjtcbiAgZGF0YXNvdXJjZT86IHtcbiAgICBnZXRSb3dzKHBhcmFtczogRGF0b0dyaWRHZXRSb3dzUGFyYW1zKTogdm9pZDtcbiAgICAvLyBvcHRpb25hbCBkZXN0cm95IG1ldGhvZCwgaWYgeW91ciBkYXRhc291cmNlIGhhcyBzdGF0ZSBpdCBuZWVkcyB0byBjbGVhbiB1cFxuICAgIGRlc3Ryb3k/KCk6IHZvaWQ7XG4gIH07XG4gIGN1c3RvbUNvbnRleHRNZW51Pyhyb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSk6IFJvd0FjdGlvbltdO1xuICBob3ZlckNvbmZpZz86IERhdG9HcmlkT25Ib3ZlckNvbmZpZztcbiAgb3ZlcmxheXNDb25maWc/OiBEYXRvR3JpZE92ZXJsYXlJbnB1dDtcbiAgZGlzdGluY3RSZXN1bHRzPzogYm9vbGVhbjtcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG4gIGVuYWJsZVNlYXJjaD86IGJvb2xlYW47XG4gIGVuYWJsZVNlYXJjaEhpZ2hsaWdodD86IGJvb2xlYW47XG4gIGNvbHVtbnNJbmNsdWRlZEluU2VhcmNoQnlEZWZhdWx0PzogYm9vbGVhbjtcbiAgc2VhcmNoRGVib3VuY2VUaW1lPzogbnVtYmVyO1xuICBpbmNsdWRlSGlkZGVuQ29sdW1uc0luU2VhcmNoPzogYm9vbGVhbjtcbiAgc2hvd011bHRpU2VsZWN0aW9uQ2hlY2tib3hlcz86IGJvb2xlYW47XG4gIGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgaWRDb2x1bW5LZXk/OiBzdHJpbmc7XG4gIGVuYWJsZUJhY2tncm91bmQ/OiBib29sZWFuO1xuICBzaG93Qm90dG9tQ29udHJvbHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudUl0ZW0gPSBzdHJpbmcgfCBNZW51SXRlbURlZjtcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db252ZXJ0ZXJQYXJhbXMge1xuICBub2RlOiBSb3dOb2RlO1xuICB0b29sYmFyQWN0aW9uczogUm93QWN0aW9uW107XG4gIHNlbGVjdGVkUm93czogUm93Tm9kZVtdO1xuICBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeTtcbiAgbG9nZ2VyPzoge1xuICAgIGxvZyhldmVudFR5cGU6IENvcmVFdmVudFR5cGVzLkdSSURfVEFCTEVfQUNUSU9OLCBldmVudFByb3BlcnRpZXM/OiBIYXNoTWFwPGFueT4pOiB2b2lkO1xuICAgIGV2ZW50T3JpZ2luPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBEYXRvR3JpZFNvcnREaXJlY3Rpb24gPSAnYXNjJyB8ICdkZXNjJztcbmV4cG9ydCB0eXBlIERhdG9HcmlkU29ydCA9IHtcbiAgY29sSWQ6IHN0cmluZztcbiAgc29ydDogRGF0b0dyaWRTb3J0RGlyZWN0aW9uO1xuICBmaWVsZD86IHN0cmluZztcbiAgc29ydEluZGV4PzogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIERhdG9HcmlkU2VydmVyU29ydERpcmVjdGlvbiA9ICdBU0MnIHwgJ0RFU0MnO1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTZXJ2ZXJTb3J0ID0geyBjb2x1bW46IHN0cmluZzsgc29ydE9yZGVyOiBEYXRvR3JpZFNlcnZlclNvcnREaXJlY3Rpb24gfTtcblxuZXhwb3J0IGNvbnN0IGVudW0gRGF0b0dyaWRBbGlnbm1lbnQge1xuICBGSVRfVE9fQ09OVEFJTkVSLFxuICBGSVRfVE9fQ09OVEVOVCxcbiAgQ1VTVE9NXG59XG5cbmV4cG9ydCBlbnVtIEdyaWRNaW5XaWR0aHMge1xuICBEZWZhdWx0ID0gMTA3LFxuICBXaXRoX0luZm8gPSAxMzFcbn1cblxuZXhwb3J0IGVudW0gRGF0b0dyaWRDb2x1bW5UeXBlcyB7XG4gIFN0cmluZyA9ICdTdHJpbmcnLFxuICBOdW1iZXIgPSAnTnVtYmVyJyxcbiAgRGF0ZSA9ICdEYXRlJyxcbiAgU3RhdHVzID0gJ1N0YXR1cycsXG4gIEl0ZW1zID0gJ0l0ZW1zJyxcbiAgSXRlbXNDb3VudCA9ICdJdGVtc0NvdW50JyxcbiAgSW5pdGlhbHMgPSAnSW5pdGlhbHMnLFxuICBBdmF0YXIgPSAnQXZhdGFyJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdG9HcmlkVHJlZUNvbmZpZyB7XG4gIGlkS2V5OiBzdHJpbmc7XG4gIHBhcmVudElES2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFnR3JpZFJvd0ljb24gPVxuICB8IHN0cmluZ1xuICB8IHtcbiAgICAgIGV4cGFuZGVkOiBzdHJpbmc7XG4gICAgICBjb2xsYXBzZWQ6IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgZW51bSBHcmlkUm93U2VsZWN0aW9uVHlwZSB7XG4gIFNJTkdMRSA9ICdzaW5nbGUnLFxuICBNVUxUSVBMRSA9ICdtdWx0aXBsZSdcbn1cblxuZXhwb3J0IHR5cGUgR3JpZFJvd3NTZWxlY3Rpb25EYXRhID0ge1xuICB0b3RhbFJvd3NDb3VudDogbnVtYmVyO1xuICBzZWxlY3RlZFJvd3NDb3VudDogbnVtYmVyO1xuICBzZWxlY3RlZFBhZ2VSb3dzQ291bnQ6IG51bWJlcjtcbiAgaXNBbGxQYWdlUm93c1NlbGVjdGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgR3JpZENoYW5nZUV2ZW50ID0ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGRhdGE6IFJvd05vZGVbXTtcbiAgZmlsdGVyOiBEYXRvR3JpZEV4dGVybmFsRmlsdGVyW107XG4gIHNvcnQ6IERhdG9HcmlkU29ydDtcbn07XG4iXX0=