ngx-edu-sharing-ui 9999.0.2 → 9999.0.4

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 (47) hide show
  1. package/esm2022/lib/actionbar/actionbar.component.mjs +31 -16
  2. package/esm2022/lib/directives/icon.directive.mjs +24 -7
  3. package/esm2022/lib/dropdown/dropdown.component.mjs +15 -8
  4. package/esm2022/lib/list-items/list-text/list-text.component.mjs +3 -3
  5. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
  6. package/esm2022/lib/node-entries/entries-model.mjs +1 -1
  7. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +6 -4
  8. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +16 -13
  9. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +2 -2
  10. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +5 -3
  11. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +8 -3
  12. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +7 -5
  13. package/esm2022/lib/pipes/file-size.pipe.mjs +6 -5
  14. package/esm2022/lib/pipes/node-title.pipe.mjs +7 -1
  15. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +3 -3
  16. package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
  17. package/esm2022/lib/services/node-entries.service.mjs +1 -1
  18. package/esm2022/lib/services/node-helper.service.mjs +5 -2
  19. package/esm2022/lib/services/options-helper-data.service.mjs +2 -2
  20. package/esm2022/lib/services/search-helper.service.mjs +52 -0
  21. package/esm2022/lib/services/ui.service.mjs +16 -1
  22. package/esm2022/lib/translations/translation-loader.mjs +7 -6
  23. package/esm2022/lib/translations/translations.service.mjs +14 -4
  24. package/esm2022/lib/types/option-item.mjs +6 -1
  25. package/esm2022/module.mjs +2 -1
  26. package/fesm2022/ngx-edu-sharing-ui.mjs +214 -74
  27. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  28. package/lib/actionbar/actionbar.component.d.ts +13 -3
  29. package/lib/directives/icon.directive.d.ts +5 -3
  30. package/lib/dropdown/dropdown.component.d.ts +6 -3
  31. package/lib/list-items/list-text/list-text.component.d.ts +3 -3
  32. package/lib/list-items/list-widget.d.ts +1 -1
  33. package/lib/node-entries/entries-model.d.ts +1 -1
  34. package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +1 -1
  35. package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +1 -1
  36. package/lib/node-entries/option-button/option-button.component.d.ts +2 -1
  37. package/lib/pipes/node-title.pipe.d.ts +2 -1
  38. package/lib/pipes/option-tooltip.pipe.d.ts +1 -1
  39. package/lib/services/abstract/options-helper.service.d.ts +1 -1
  40. package/lib/services/node-helper.service.d.ts +2 -2
  41. package/lib/services/options-helper-data.service.d.ts +3 -3
  42. package/lib/services/search-helper.service.d.ts +21 -0
  43. package/lib/services/ui.service.d.ts +7 -1
  44. package/lib/translations/translations.service.d.ts +5 -2
  45. package/lib/types/option-item.d.ts +7 -2
  46. package/module.d.ts +1 -0
  47. package/package.json +1 -1
@@ -11,13 +11,15 @@ import * as i4 from "@ngx-translate/core";
11
11
  export class OptionButtonComponent {
12
12
  constructor() {
13
13
  this.isShown = false;
14
+ this.isEnabled = false;
14
15
  }
15
16
  async ngOnChanges(changes) {
17
+ this.isEnabled = await this.optionIsValid(this.option, this.node);
16
18
  this.isShown = await this.optionIsShown(this.option, this.node);
17
19
  }
18
- optionIsValid(optionItem, node) {
20
+ async optionIsValid(optionItem, node) {
19
21
  if (optionItem.enabledCallback) {
20
- return optionItem.enabledCallback(node);
22
+ return await optionItem.enabledCallback(node);
21
23
  }
22
24
  return optionItem.isEnabled;
23
25
  }
@@ -39,7 +41,7 @@ export class OptionButtonComponent {
39
41
  color="primary"
40
42
  matTooltip="{{ option.name | translate }}"
41
43
  [class.display-none]="!isShown"
42
- [disabled]="!optionIsValid(option, node)"
44
+ [disabled]="!isEnabled"
43
45
  (click)="click(option, node)"
44
46
  attr.data-test="option-button-{{ option.name }}"
45
47
  >
@@ -57,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
57
59
  color="primary"
58
60
  matTooltip="{{ option.name | translate }}"
59
61
  [class.display-none]="!isShown"
60
- [disabled]="!optionIsValid(option, node)"
62
+ [disabled]="!isEnabled"
61
63
  (click)="click(option, node)"
62
64
  attr.data-test="option-button-{{ option.name }}"
63
65
  >
@@ -70,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
70
72
  }], node: [{
71
73
  type: Input
72
74
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL25vZGUtZW50cmllcy9vcHRpb24tYnV0dG9uL29wdGlvbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRzNFLGtHQUFrRztBQUNsRyxnR0FBZ0c7QUFDaEcsNEZBQTRGO0FBQzVGLFdBQVc7QUFrQlgsTUFBTSxPQUFPLHFCQUFxQjtJQWhCbEM7UUFvQkksWUFBTyxHQUFHLEtBQUssQ0FBQztLQXdCbkI7SUF2QkcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFzQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUM1QyxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM3QixPQUFPLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFzQixFQUFFLElBQVU7UUFDMUQsSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFrQixFQUFFLElBQVU7UUFDdEMsSUFBSSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQzs4R0EzQlEscUJBQXFCO2tHQUFyQixxQkFBcUIseUhBZHBCOzs7Ozs7Ozs7Ozs7S0FZVDs7MkZBRVEscUJBQXFCO2tCQWhCakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztLQVlUO2lCQUNKOzhCQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9vcHRpb24taXRlbSc7XG4vLyBUT0RPOiBEZWNpZGUgaWYgcHJvdmlkaW5nIGZvY3VzIGhpZ2hsaWdodHMgYW5kIHJpcHBsZXMgd2l0aCB0aGlzIGNvbXBvbmVudCBpcyBhIGdvb2QgaWRlYS4gV2hlblxuLy8gdXNpbmcgYGFwcC1ub2RlLXVybGAgZm9yIGNhcmRzLCB3ZSBtaWdodCBuZWVkIGhpZ2hsaWdodHMgYW5kIHJpcHBsZXMgZm9yIHRoZSB3aG9sZSBjYXJkIHdoaWxlXG4vLyBgYXBwLW5vZGUtdXJsYCBzaG91bGQgb25seSB3cmFwIHRoZSB0aXRsZSBzaW5jZSBsaW5rcyB3aXRoIGxvdHMgb2YgY29udGVudCBjb25mdXNlIHNjcmVlblxuLy8gcmVhZGVycy5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1vcHRpb24tYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgW2NsYXNzLmRpc3BsYXktbm9uZV09XCIhaXNTaG93blwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW9wdGlvbklzVmFsaWQob3B0aW9uLCBub2RlKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uLCBub2RlKVwiXG4gICAgICAgICAgICBhdHRyLmRhdGEtdGVzdD1cIm9wdGlvbi1idXR0b24te3sgb3B0aW9uLm5hbWUgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aSBlc0ljb249XCJ7eyBvcHRpb24uaWNvbiB9fVwiIFthcmlhXT1cImZhbHNlXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIG9wdGlvbjogT3B0aW9uSXRlbTtcbiAgICBASW5wdXQoKSBub2RlOiBOb2RlO1xuXG4gICAgaXNTaG93biA9IGZhbHNlO1xuICAgIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgdGhpcy5pc1Nob3duID0gYXdhaXQgdGhpcy5vcHRpb25Jc1Nob3duKHRoaXMub3B0aW9uLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIG9wdGlvbklzVmFsaWQob3B0aW9uSXRlbTogT3B0aW9uSXRlbSwgbm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAob3B0aW9uSXRlbS5lbmFibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb25JdGVtLmVuYWJsZWRDYWxsYmFjayhub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5pc0VuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBvcHRpb25Jc1Nob3duKG9wdGlvbkl0ZW06IE9wdGlvbkl0ZW0sIG5vZGU6IE5vZGUpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKG9wdGlvbkl0ZW0uc2hvd0NhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5zaG93Q2FsbGJhY2sobm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgY2xpY2sob3B0aW9uOiBPcHRpb25JdGVtLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmIChhd2FpdCB0aGlzLm9wdGlvbklzU2hvd24ob3B0aW9uLCBub2RlKSkge1xuICAgICAgICAgICAgb3B0aW9uLmNhbGxiYWNrKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL25vZGUtZW50cmllcy9vcHRpb24tYnV0dG9uL29wdGlvbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRzNFLGtHQUFrRztBQUNsRyxnR0FBZ0c7QUFDaEcsNEZBQTRGO0FBQzVGLFdBQVc7QUFrQlgsTUFBTSxPQUFPLHFCQUFxQjtJQWhCbEM7UUFvQkksWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQUcsS0FBSyxDQUFDO0tBeUJyQjtJQXhCRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUNsRCxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM3QixPQUFPLE1BQU0sVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQXNCLEVBQUUsSUFBVTtRQUMxRCxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQWtCLEVBQUUsSUFBVTtRQUN0QyxJQUFJLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDOzhHQTdCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQix5SEFkcEI7Ozs7Ozs7Ozs7OztLQVlUOzsyRkFFUSxxQkFBcUI7a0JBaEJqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0tBWVQ7aUJBQ0o7OEJBRVksTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbi8vIFRPRE86IERlY2lkZSBpZiBwcm92aWRpbmcgZm9jdXMgaGlnaGxpZ2h0cyBhbmQgcmlwcGxlcyB3aXRoIHRoaXMgY29tcG9uZW50IGlzIGEgZ29vZCBpZGVhLiBXaGVuXG4vLyB1c2luZyBgYXBwLW5vZGUtdXJsYCBmb3IgY2FyZHMsIHdlIG1pZ2h0IG5lZWQgaGlnaGxpZ2h0cyBhbmQgcmlwcGxlcyBmb3IgdGhlIHdob2xlIGNhcmQgd2hpbGVcbi8vIGBhcHAtbm9kZS11cmxgIHNob3VsZCBvbmx5IHdyYXAgdGhlIHRpdGxlIHNpbmNlIGxpbmtzIHdpdGggbG90cyBvZiBjb250ZW50IGNvbmZ1c2Ugc2NyZWVuXG4vLyByZWFkZXJzLlxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLW9wdGlvbi1idXR0b24nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICBbY2xhc3MuZGlzcGxheS1ub25lXT1cIiFpc1Nob3duXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNFbmFibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGljayhvcHRpb24sIG5vZGUpXCJcbiAgICAgICAgICAgIGF0dHIuZGF0YS10ZXN0PVwib3B0aW9uLWJ1dHRvbi17eyBvcHRpb24ubmFtZSB9fVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpIGVzSWNvbj1cInt7IG9wdGlvbi5pY29uIH19XCIgW2FyaWFdPVwiZmFsc2VcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgb3B0aW9uOiBPcHRpb25JdGVtO1xuICAgIEBJbnB1dCgpIG5vZGU6IE5vZGU7XG5cbiAgICBpc1Nob3duID0gZmFsc2U7XG4gICAgaXNFbmFibGVkID0gZmFsc2U7XG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB0aGlzLmlzRW5hYmxlZCA9IGF3YWl0IHRoaXMub3B0aW9uSXNWYWxpZCh0aGlzLm9wdGlvbiwgdGhpcy5ub2RlKTtcbiAgICAgICAgdGhpcy5pc1Nob3duID0gYXdhaXQgdGhpcy5vcHRpb25Jc1Nob3duKHRoaXMub3B0aW9uLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIGFzeW5jIG9wdGlvbklzVmFsaWQob3B0aW9uSXRlbTogT3B0aW9uSXRlbSwgbm9kZTogTm9kZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAob3B0aW9uSXRlbS5lbmFibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCBvcHRpb25JdGVtLmVuYWJsZWRDYWxsYmFjayhub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5pc0VuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBvcHRpb25Jc1Nob3duKG9wdGlvbkl0ZW06IE9wdGlvbkl0ZW0sIG5vZGU6IE5vZGUpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgaWYgKG9wdGlvbkl0ZW0uc2hvd0NhbGxiYWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uSXRlbS5zaG93Q2FsbGJhY2sobm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgY2xpY2sob3B0aW9uOiBPcHRpb25JdGVtLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmIChhd2FpdCB0aGlzLm9wdGlvbklzU2hvd24ob3B0aW9uLCBub2RlKSkge1xuICAgICAgICAgICAgb3B0aW9uLmNhbGxiYWNrKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -16,10 +16,11 @@ export class FormatSizePipe {
16
16
  value /= 1024;
17
17
  i++;
18
18
  }
19
- //return value+" "+names[i];
20
- return (value.toLocaleString(this.translate.currentLang === 'none' ? 'en' : this.translate.currentLang, { maximumFractionDigits: 1 }) +
21
- ' ' +
22
- names[i]);
19
+ let options = {
20
+ maximumFractionDigits: i > 1 ? 1 : 0,
21
+ };
22
+ let numberFormat = new Intl.NumberFormat([], options);
23
+ return numberFormat.format(value) + ' ' + names[i];
23
24
  }
24
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: FormatSizePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
25
26
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: FormatSizePipe, name: "formatSize" }); }
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
28
29
  type: Pipe,
29
30
  args: [{ name: 'formatSize' }]
30
31
  }], ctorParameters: () => [{ type: i1.TranslateService }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3BpcGVzL2ZpbGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBaUIsSUFBSTtRQUN2QyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QyxLQUFLLElBQUksSUFBSSxDQUFDO1lBQ2QsQ0FBQyxFQUFFLENBQUM7UUFDUixDQUFDO1FBQ0QsNEJBQTRCO1FBQzVCLE9BQU8sQ0FDSCxLQUFLLENBQUMsY0FBYyxDQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQ3pFLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLENBQy9CO1lBQ0QsR0FBRztZQUNILEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDWCxDQUFDO0lBQ04sQ0FBQzs4R0FyQlEsY0FBYzs0R0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnZm9ybWF0U2l6ZScgfSlcbmV4cG9ydCBjbGFzcyBGb3JtYXRTaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M6IHN0cmluZ1tdID0gbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGxldCBuYW1lcyA9IFsnYnl0ZXMnLCAnS0InLCAnTUInLCAnR0InLCAnVEInXTtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBpZiAoaXNOYU4odmFsdWUpKSByZXR1cm4gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB2YWx1ZSA9IDA7XG4gICAgICAgIHdoaWxlICh2YWx1ZSA+PSAxMDI0ICYmIGkgPCBuYW1lcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZhbHVlIC89IDEwMjQ7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgICAgLy9yZXR1cm4gdmFsdWUrXCIgXCIrbmFtZXNbaV07XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB2YWx1ZS50b0xvY2FsZVN0cmluZyhcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyA9PT0gJ25vbmUnID8gJ2VuJyA6IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nLFxuICAgICAgICAgICAgICAgIHsgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAxIH0sXG4gICAgICAgICAgICApICtcbiAgICAgICAgICAgICcgJyArXG4gICAgICAgICAgICBuYW1lc1tpXVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3BpcGVzL2ZpbGUtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxLQUFVLEVBQUUsT0FBaUIsSUFBSTtRQUN2QyxJQUFJLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJO1lBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QyxLQUFLLElBQUksSUFBSSxDQUFDO1lBQ2QsQ0FBQyxFQUFFLENBQUM7UUFDUixDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQTZCO1lBQ3BDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2QyxDQUFDO1FBQ0YsSUFBSSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQWpCUSxjQUFjOzRHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AUGlwZSh7IG5hbWU6ICdmb3JtYXRTaXplJyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1hdFNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgYXJnczogc3RyaW5nW10gPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG5hbWVzID0gWydieXRlcycsICdLQicsICdNQicsICdHQicsICdUQiddO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHZhbHVlID0gMDtcbiAgICAgICAgd2hpbGUgKHZhbHVlID49IDEwMjQgJiYgaSA8IG5hbWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdmFsdWUgLz0gMTAyNDtcbiAgICAgICAgICAgIGkrKztcbiAgICAgICAgfVxuICAgICAgICBsZXQgb3B0aW9uczogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zID0ge1xuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBpID4gMSA/IDEgOiAwLFxuICAgICAgICB9O1xuICAgICAgICBsZXQgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtdLCBvcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIG51bWJlckZvcm1hdC5mb3JtYXQodmFsdWUpICsgJyAnICsgbmFtZXNbaV07XG4gICAgfVxufVxuIl19
@@ -4,6 +4,12 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngx-translate/core";
5
5
  export class NodeTitlePipe {
6
6
  transform(node, args = null) {
7
+ if (!node.name) {
8
+ if (node === 'HOME') {
9
+ return this.translate.instant('WORKSPACE.' + node);
10
+ }
11
+ return this.translate.instant('WORKSPACE.' + node);
12
+ }
7
13
  return RestHelper.getTitle(node);
8
14
  }
9
15
  constructor(translate) {
@@ -16,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
16
22
  type: Pipe,
17
23
  args: [{ name: 'nodeTitle' }]
18
24
  }], ctorParameters: () => [{ type: i1.TranslateService }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10aXRsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy9ub2RlLXRpdGxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHakQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsU0FBUyxDQUFDLElBQVUsRUFBRSxPQUFpQixJQUFJO1FBQ3ZDLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDOzhHQUoxQyxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgUmVzdEhlbHBlciB9IGZyb20gJy4uL3V0aWwvcmVzdC1oZWxwZXInO1xuXG5AUGlwZSh7IG5hbWU6ICdub2RlVGl0bGUnIH0pXG5leHBvcnQgY2xhc3MgTm9kZVRpdGxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShub2RlOiBOb2RlLCBhcmdzOiBzdHJpbmdbXSA9IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gUmVzdEhlbHBlci5nZXRUaXRsZShub2RlKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10aXRsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy9ub2RlLXRpdGxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFJakQsTUFBTSxPQUFPLGFBQWE7SUFDdEIsU0FBUyxDQUFDLElBQThCLEVBQUUsT0FBaUIsSUFBSTtRQUMzRCxJQUFJLENBQUUsSUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFZLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDOzhHQVYxQyxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgUmVzdEhlbHBlciB9IGZyb20gJy4uL3V0aWwvcmVzdC1oZWxwZXInO1xuaW1wb3J0IHsgTm9kZVJvb3QgfSBmcm9tICcuLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5cbkBQaXBlKHsgbmFtZTogJ25vZGVUaXRsZScgfSlcbmV4cG9ydCBjbGFzcyBOb2RlVGl0bGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKG5vZGU6IE5vZGUgfCBOb2RlUm9vdCB8ICdIT01FJywgYXJnczogc3RyaW5nW10gPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCEobm9kZSBhcyBOb2RlKS5uYW1lKSB7XG4gICAgICAgICAgICBpZiAobm9kZSA9PT0gJ0hPTUUnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ1dPUktTUEFDRS4nICsgbm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnV09SS1NQQUNFLicgKyBub2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUmVzdEhlbHBlci5nZXRUaXRsZShub2RlIGFzIE5vZGUpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cbn1cbiJdfQ==
@@ -5,8 +5,8 @@ export class OptionTooltipPipe {
5
5
  constructor(translate) {
6
6
  this.translate = translate;
7
7
  }
8
- transform(option, args = null) {
9
- return (this.translate.instant(option.name) +
8
+ async transform(option, args = null) {
9
+ return ((await this.translate.get(option.name).toPromise()) +
10
10
  (option.keyboardShortcut ? ' (' + this.getKeyInfo(option) + ')' : ''));
11
11
  }
12
12
  getKeyInfo(option) {
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
30
30
  type: Pipe,
31
31
  args: [{ name: 'optionTooltip' }]
32
32
  }], ctorParameters: () => [{ type: i1.TranslateService }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXRvb2x0aXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvcGlwZXMvb3B0aW9uLXRvb2x0aXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELFNBQVMsQ0FBQyxNQUFrQixFQUFFLE9BQWlCLElBQUk7UUFDL0MsT0FBTyxDQUNILElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDbkMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ3hFLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWtCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3ZELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDMUQsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU8sQ0FDSCxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUNyRCxDQUFDO0lBQ04sQ0FBQzs4R0F6QlEsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcblxuQFBpcGUoeyBuYW1lOiAnb3B0aW9uVG9vbHRpcCcgfSlcbmV4cG9ydCBjbGFzcyBPcHRpb25Ub29sdGlwUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gICAgdHJhbnNmb3JtKG9wdGlvbjogT3B0aW9uSXRlbSwgYXJnczogc3RyaW5nW10gPSBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQob3B0aW9uLm5hbWUpICtcbiAgICAgICAgICAgIChvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCA/ICcgKCcgKyB0aGlzLmdldEtleUluZm8ob3B0aW9uKSArICcpJyA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEtleUluZm8ob3B0aW9uOiBPcHRpb25JdGVtKSB7XG4gICAgICAgIGlmICghb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RpZmllcnMgPSBbXTtcbiAgICAgICAgaWYgKG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0Lm1vZGlmaWVycz8uaW5jbHVkZXMoJ1NoaWZ0JykpIHtcbiAgICAgICAgICAgIG1vZGlmaWVycy5wdXNoKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0tFWV9NT0RJRklFUi5TSElGVCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9uLmtleWJvYXJkU2hvcnRjdXQubW9kaWZpZXJzPy5pbmNsdWRlcygnQ3RybC9DbWQnKSkge1xuICAgICAgICAgICAgbW9kaWZpZXJzLnB1c2godGhpcy50cmFuc2xhdGUuaW5zdGFudCgnS0VZX01PRElGSUVSLkNUUkwnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChtb2RpZmllcnMubGVuZ3RoID8gbW9kaWZpZXJzLmpvaW4oJyArICcpICsgJyArICcgOiAnJykgK1xuICAgICAgICAgICAgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQua2V5Q29kZS5yZXBsYWNlKCdLZXknLCAnJylcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXRvb2x0aXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvcGlwZXMvb3B0aW9uLXRvb2x0aXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRW5ELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBa0IsRUFBRSxPQUFpQixJQUFJO1FBQ3JELE9BQU8sQ0FDSCxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25ELENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN4RSxDQUFDO0lBQ04sQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFrQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzFELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLENBQ0gsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDckQsQ0FBQztJQUNOLENBQUM7OEdBekJRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5cbkBQaXBlKHsgbmFtZTogJ29wdGlvblRvb2x0aXAnIH0pXG5leHBvcnQgY2xhc3MgT3B0aW9uVG9vbHRpcFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICAgIGFzeW5jIHRyYW5zZm9ybShvcHRpb246IE9wdGlvbkl0ZW0sIGFyZ3M6IHN0cmluZ1tdID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGF3YWl0IHRoaXMudHJhbnNsYXRlLmdldChvcHRpb24ubmFtZSkudG9Qcm9taXNlKCkpICtcbiAgICAgICAgICAgIChvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCA/ICcgKCcgKyB0aGlzLmdldEtleUluZm8ob3B0aW9uKSArICcpJyA6ICcnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEtleUluZm8ob3B0aW9uOiBPcHRpb25JdGVtKSB7XG4gICAgICAgIGlmICghb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RpZmllcnMgPSBbXTtcbiAgICAgICAgaWYgKG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0Lm1vZGlmaWVycz8uaW5jbHVkZXMoJ1NoaWZ0JykpIHtcbiAgICAgICAgICAgIG1vZGlmaWVycy5wdXNoKHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0tFWV9NT0RJRklFUi5TSElGVCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9uLmtleWJvYXJkU2hvcnRjdXQubW9kaWZpZXJzPy5pbmNsdWRlcygnQ3RybC9DbWQnKSkge1xuICAgICAgICAgICAgbW9kaWZpZXJzLnB1c2godGhpcy50cmFuc2xhdGUuaW5zdGFudCgnS0VZX01PRElGSUVSLkNUUkwnKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChtb2RpZmllcnMubGVuZ3RoID8gbW9kaWZpZXJzLmpvaW4oJyArICcpICsgJyArICcgOiAnJykgK1xuICAgICAgICAgICAgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQua2V5Q29kZS5yZXBsYWNlKCdLZXknLCAnJylcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export class OptionsHelperService {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG9CQUFvQjtDQXdCekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25EYXRhLCBPcHRpb25zSGVscGVyQ29tcG9uZW50cyB9IGZyb20gJy4uL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25JdGVtLCBUYXJnZXQgfSBmcm9tICcuLi8uLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zSGVscGVyU2VydmljZSB7XG4gICAgYWJzdHJhY3Qgd3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhOiBPcHRpb25EYXRhKTogT3B0aW9uRGF0YTtcblxuICAgIGFic3RyYWN0IHJlZnJlc2hDb21wb25lbnRzKFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICAgICAgcmVmcmVzaExpc3RPcHRpb25zOiBib29sZWFuLFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICBhYnN0cmFjdCBnZXRBdmFpbGFibGVPcHRpb25zKFxuICAgICAgICB0YXJnZXQ6IFRhcmdldCxcbiAgICAgICAgb2JqZWN0czogTm9kZVtdLFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG5cbiAgICBhYnN0cmFjdCBwYXN0ZU5vZGUoY29tcG9uZW50czogT3B0aW9uc0hlbHBlckNvbXBvbmVudHMsIGRhdGE6IE9wdGlvbkRhdGEsIG5vZGVzOiBOb2RlW10pOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgZmlsdGVyT3B0aW9ucyhcbiAgICAgICAgb3B0aW9uczogT3B0aW9uSXRlbVtdLFxuICAgICAgICB0YXJnZXQ6IFRhcmdldCxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICAgICAgb2JqZWN0czogTm9kZVtdIHwgYW55LFxuICAgICk6IFByb21pc2U8T3B0aW9uSXRlbVtdPjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLG9CQUFvQjtDQTZCekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25EYXRhLCBPcHRpb25zSGVscGVyQ29tcG9uZW50cyB9IGZyb20gJy4uL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25JdGVtLCBUYXJnZXQgfSBmcm9tICcuLi8uLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPcHRpb25zSGVscGVyU2VydmljZSB7XG4gICAgYWJzdHJhY3Qgd3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhOiBPcHRpb25EYXRhKTogT3B0aW9uRGF0YTtcblxuICAgIGFic3RyYWN0IHJlZnJlc2hDb21wb25lbnRzKFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICAgICAgcmVmcmVzaExpc3RPcHRpb25zOiBib29sZWFuLFxuICAgICk6IFByb21pc2U8dm9pZD47XG5cbiAgICBhYnN0cmFjdCBnZXRBdmFpbGFibGVPcHRpb25zKFxuICAgICAgICB0YXJnZXQ6IFRhcmdldCxcbiAgICAgICAgb2JqZWN0czogTm9kZVtdLFxuICAgICAgICBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cyxcbiAgICAgICAgZGF0YTogT3B0aW9uRGF0YSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG5cbiAgICBhYnN0cmFjdCBwYXN0ZU5vZGUoXG4gICAgICAgIGNvbXBvbmVudHM6IE9wdGlvbnNIZWxwZXJDb21wb25lbnRzLFxuICAgICAgICBkYXRhOiBPcHRpb25EYXRhLFxuICAgICAgICBhZGRWaXJ1dGFsTm9kZXM6IGJvb2xlYW4sXG4gICAgICAgIG5vZGVzOiBOb2RlW10sXG4gICAgKTogdm9pZDtcblxuICAgIGFic3RyYWN0IGZpbHRlck9wdGlvbnMoXG4gICAgICAgIG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSxcbiAgICAgICAgdGFyZ2V0OiBUYXJnZXQsXG4gICAgICAgIGRhdGE6IE9wdGlvbkRhdGEsXG4gICAgICAgIG9iamVjdHM6IE5vZGVbXSB8IGFueSxcbiAgICApOiBQcm9taXNlPE9wdGlvbkl0ZW1bXT47XG59XG4iXX0=
@@ -178,4 +178,4 @@ export class NodeEntriesService {
178
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodeEntriesService, decorators: [{
179
179
  type: Injectable
180
180
  }], ctorParameters: () => [{ type: i1.UIService }, { type: i2.NodeEntriesGlobalService }] });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbnRyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NlcnZpY2VzL25vZGUtZW50cmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF1QnZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLGNBQWlCO0lBQTlEOztRQUVJOztXQUVHO1FBQ00sdUJBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzNDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNOLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUNMLENBQUM7SUE0Qk4sQ0FBQztJQTNCRyxRQUFRLENBQUMsR0FBRyxNQUFXO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFD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cG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENsaWNrU291cmNlLFxuICAgIEZldGNoRXZlbnQsXG4gICAgR3JpZENvbmZpZyxcbiAgICBJbnRlcmFjdGlvblR5cGUsXG4gICAgTGlzdERyYWdHcm9wQ29uZmlnLFxuICAgIExpc3RFdmVudEludGVyZmFjZSxcbiAgICBMaXN0T3B0aW9ucyxcbiAgICBMaXN0U29ydENvbmZpZyxcbiAgICBOb2RlQ2xpY2tFdmVudCxcbiAgICBOb2RlRW50cmllc0RhdGFUeXBlLFxuICAgIE5vZGVFbnRyaWVzRGlzcGxheVR5cGUsXG59IGZyb20gJy4uL25vZGUtZW50cmllcy9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVEYXRhU291cmNlIH0gZnJvbSAnLi4vbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtcbiAgICBOb2RlRW50cmllc0dsb2JhbFNlcnZpY2UsXG4gICAgUGFnaW5hdGlvblN0cmF0ZWd5LFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLWdsb2JhbC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgT3B0aW9uSXRlbSwgU2NvcGUgfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZURhdGFTb3VyY2VSZW1vdGUgfSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZS1yZW1vdGUnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gQ3VzdG9tIHNlbGVjdGlvbiBtb2RlbCB3aGljaCBhZGRzIHRoZSBjbGljayBzb3VyY2Ugb2YgdGhlIHNlbGVjdGlvbi5cbiBVU0VEIElOIEVYVEVOU0lPTlMhXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPiBleHRlbmRzIFNlbGVjdGlvbk1vZGVsPFQ+IHtcbiAgICBwcml2YXRlIF9jbGlja1NvdXJjZTogQ2xpY2tTb3VyY2U7XG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2hhbmdlZENsaWNrU291cmNlID0gdGhpcy5jaGFuZ2VkLnBpcGUoXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICBtYXAoKGMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmMsIGNsaWNrU291cmNlOiB0aGlzLl9jbGlja1NvdXJjZSB9O1xuICAgICAgICB9KSxcbiAgICApO1xuICAgIGRlc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuZGVzZWxlY3QoLi4udmFsdWVzKTtcbiAgICB9XG5cbiAgICB0b2dnbGUodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fY2xpY2tTb3VyY2UgPSBudWxsO1xuICAgICAgICBzdXBlci50b2dnbGUodmFsdWUpO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IG51bGw7XG4gICAgICAgIHN1cGVyLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuc2VsZWN0KC4uLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IGNsaWNrU291cmNlKHZhbHVlOiBDbGlja1NvdXJjZSkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IHZhbHVlO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vZGVFbnRyaWVzU2VydmljZTxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxUPjtcbiAgICByZWFkb25seSBkYXRhU291cmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm9kZURhdGFTb3VyY2U8VD4gfCBudWxsPihudWxsKTtcbiAgICAvKipcbiAgICAgKiBzY29wZSB0aGUgY3VycmVudCBsaXN0IGlzIGluLCBlLmcuIHdvcmtzcGFjZVxuICAgICAqIFRoaXMgaXMgdXNlZCBmb3IgYWRkaXRpb25hbCBjb25maWcgaW5qZWN0aW9uIGJhc2VkIG9uIHRoZSBzY29wZVxuICAgICAqL1xuICAgIHNjb3BlOiBTY29wZTtcbiAgICBnZXQgZGF0YVNvdXJjZSgpOiBOb2RlRGF0YVNvdXJjZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZGF0YVNvdXJjZSh2YWx1ZTogTm9kZURhdGFTb3VyY2U8VD4pIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHBhZ2luYXRpb25TdHJhdGVneSgpOiBQYWdpbmF0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzR2xvYmFsLmdldFBhZ2luYXRpb25TdHJhdGVneSh0aGlzLnNjb3BlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU3ViamVjdCB0aGF0IHJlZmxlY3RzIHRoZSBjdXJyZW50IGNvbHVtbnMgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIFVwZGF0ZWQgd2hlbiBsb2FkaW5nIGNvbmZpZ3VyYXRpb24gYW5kIHRocm91Z2ggdXNlciBpbnRlcmFjdGlvbi5cbiAgICAgKi9cbiAgICBjb2x1bW5zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdEl0ZW1bXT4obnVsbCk7XG4gICAgZ2V0IGNvbHVtbnMoKTogTGlzdEl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbnNTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgY29sdW1ucyh2YWx1ZTogTGlzdEl0ZW1bXSkge1xuICAgICAgICB0aGlzLmNvbHVtbnNTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBjb25maWd1cmVDb2x1bW5zOiBib29sZWFuO1xuICAgIGRpc3BsYXlUeXBlOiBOb2RlRW50cmllc0Rpc3BsYXlUeXBlO1xuICAgIHNlbGVjdGlvbiA9IG5ldyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPih0cnVlLCBbXSk7XG4gICAgZWxlbWVudEludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlO1xuICAgIG9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaXN0T3B0aW9ucz4obnVsbCk7XG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgb3B0aW9ucyhvcHRpb25zOiBMaXN0T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMkLm5leHQob3B0aW9ucyk7XG4gICAgfVxuICAgIGNoZWNrYm94OiBib29sZWFuO1xuICAgIGdsb2JhbE9wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPcHRpb25JdGVtW10+KFtdKTtcbiAgICBzZXQgZ2xvYmFsT3B0aW9ucyhnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5nbG9iYWxPcHRpb25zU3ViamVjdC5uZXh0KGdsb2JhbE9wdGlvbnMpO1xuICAgIH1cbiAgICBzb3J0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdFNvcnRDb25maWc+KHZvaWQgMCk7XG4gICAgZ2V0IHNvcnQoKTogTGlzdFNvcnRDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0U3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNvcnQodmFsdWU6IExpc3RTb3J0Q29uZmlnKSB7XG4gICAgICAgIHRoaXMuc29ydFN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxMaXN0U29ydENvbmZpZz47XG4gICAgZHJhZ0Ryb3A6IExpc3REcmFnR3JvcENvbmZpZzxUPjtcbiAgICBjbGlja0l0ZW06IEV2ZW50RW1pdHRlcjxOb2RlQ2xpY2tFdmVudDxUPj47XG4gICAgZGJsQ2xpY2tJdGVtOiBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+O1xuICAgIGZldGNoRGF0YTogRXZlbnRFbWl0dGVyPEZldGNoRXZlbnQ+O1xuICAgIHJlYWRvbmx5IGdyaWRDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHcmlkQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gICAgZ2V0IGdyaWRDb25maWcoKTogR3JpZENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWRDb25maWckLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZ3JpZENvbmZpZyh2YWx1ZTogR3JpZENvbmZpZykge1xuICAgICAgICB0aGlzLmdyaWRDb25maWckLm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcmltYXJ5SW5zdGFuY2U6IGJvb2xlYW47XG4gICAgc2luZ2xlQ2xpY2tIaW50OiAnZHluYW1pYycgfCAnc3RhdGljJztcbiAgICBkaXNhYmxlSW5maW5pdGVTY3JvbGw6IGJvb2xlYW47XG4gICAgc2Nyb2xsR3JhZGllbnRDb2xvcjogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbCgnZmZmJyk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB1aVNlcnZpY2U6IFVJU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlbnRyaWVzR2xvYmFsOiBOb2RlRW50cmllc0dsb2JhbFNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgb25DbGlja2VkKHsgZXZlbnQsIC4uLmRhdGEgfTogTm9kZUNsaWNrRXZlbnQ8VD4gJiB7IGV2ZW50OiBNb3VzZUV2ZW50IH0pIHtcbiAgICAgICAgaWYgKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24udG9nZ2xlKGRhdGEuZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kU2VsZWN0aW9uVG8oZGF0YS5lbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtLmVtaXQoZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoZWNrYm94Q2hhbmdlZChub2RlOiBULCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKG5vZGUsIGNoZWNrZWQsIHRoaXMudWlTZXJ2aWNlLnNoaWZ0S2V5UHJlc3NlZCk7XG4gICAgICAgIGlmICh0aGlzLnVpU2VydmljZS5zaGlmdEtleVByZXNzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kU2VsZWN0aW9uVG8obm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hlY2tlZCAhPT0gdGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChub2RlKSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24udG9nZ2xlKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlU2VsZWN0QWxsKCkge1xuICAgICAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZE1vcmUoc291cmNlOiAnYnV0dG9uJyB8ICdzY3JvbGwnKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb25TdHJhdGVneSAhPT0gJ2luZmluaXRlLXNjcm9sbCcpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc291cmNlID09PSAnc2Nyb2xsJyAmJiB0aGlzLmRpc2FibGVJbmZpbml0ZVNjcm9sbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IGZvY3VzIG5leHQgaXRlbSB3aGVuIHRyaWdnZXJlZCB2aWEgYnV0dG9uLlxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlIGluc3RhbmNlb2YgTm9kZURhdGFTb3VyY2VSZW1vdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlIGFzIE5vZGVEYXRhU291cmNlUmVtb3RlKS5sb2FkTW9yZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5oYXNNb3JlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgcmVzZXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdEFsbCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KC4uLnRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkuZXZlcnkoKG5vZGUpID0+IHRoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kU2VsZWN0aW9uVG8obm9kZTogVCkge1xuICAgICAgICBjb25zdCBub2RlSW5kZXggPSB0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpLmluZGV4T2Yobm9kZSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbkluZGV4ZXMgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZFxuICAgICAgICAgICAgLm1hcCgobm9kZSkgPT4gdGhpcy5kYXRhU291cmNlLmdldERhdGEoKS5pbmRleE9mKG5vZGUpKVxuICAgICAgICAgICAgLmZpbHRlcigoaW5kZXgpID0+IGluZGV4ID49IDApO1xuICAgICAgICBpZiAoTWF0aC5taW4oLi4uc2VsZWN0aW9uSW5kZXhlcykgPCBub2RlSW5kZXgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBNYXRoLm1pbiguLi5zZWxlY3Rpb25JbmRleGVzKSArIDE7IGkgPD0gbm9kZUluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QodGhpcy5kYXRhU291cmNlLmdldERhdGEoKVtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoTWF0aC5tYXgoLi4uc2VsZWN0aW9uSW5kZXhlcykgPiBub2RlSW5kZXgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBub2RlSW5kZXg7IGkgPCBNYXRoLm1heCguLi5zZWxlY3Rpb25JbmRleGVzKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKClbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbnRyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NlcnZpY2VzL25vZGUtZW50cmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF1QnZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLGNBQWlCO0lBQTlEOztRQUVJOztXQUVHO1FBQ00sdUJBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzNDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNOLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUNMLENBQUM7SUE0Qk4sQ0FBQztJQTNCRyxRQUFRLENBQUMsR0FBRyxNQUFXO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFD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cG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENsaWNrU291cmNlLFxuICAgIEZldGNoRXZlbnQsXG4gICAgR3JpZENvbmZpZyxcbiAgICBJbnRlcmFjdGlvblR5cGUsXG4gICAgTGlzdERyYWdHcm9wQ29uZmlnLFxuICAgIExpc3RFdmVudEludGVyZmFjZSxcbiAgICBMaXN0T3B0aW9ucyxcbiAgICBMaXN0U29ydENvbmZpZyxcbiAgICBOb2RlQ2xpY2tFdmVudCxcbiAgICBOb2RlRW50cmllc0RhdGFUeXBlLFxuICAgIE5vZGVFbnRyaWVzRGlzcGxheVR5cGUsXG59IGZyb20gJy4uL25vZGUtZW50cmllcy9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVEYXRhU291cmNlIH0gZnJvbSAnLi4vbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtcbiAgICBOb2RlRW50cmllc0dsb2JhbFNlcnZpY2UsXG4gICAgUGFnaW5hdGlvblN0cmF0ZWd5LFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLWdsb2JhbC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgT3B0aW9uSXRlbSwgU2NvcGUgfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZURhdGFTb3VyY2VSZW1vdGUgfSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZS1yZW1vdGUnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gQ3VzdG9tIHNlbGVjdGlvbiBtb2RlbCB3aGljaCBhZGRzIHRoZSBjbGljayBzb3VyY2Ugb2YgdGhlIHNlbGVjdGlvbi5cbiBVU0VEIElOIEVYVEVOU0lPTlMhXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPiBleHRlbmRzIFNlbGVjdGlvbk1vZGVsPFQ+IHtcbiAgICBwcml2YXRlIF9jbGlja1NvdXJjZTogQ2xpY2tTb3VyY2U7XG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2hhbmdlZENsaWNrU291cmNlID0gdGhpcy5jaGFuZ2VkLnBpcGUoXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICBtYXAoKGMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmMsIGNsaWNrU291cmNlOiB0aGlzLl9jbGlja1NvdXJjZSB9O1xuICAgICAgICB9KSxcbiAgICApO1xuICAgIGRlc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuZGVzZWxlY3QoLi4udmFsdWVzKTtcbiAgICB9XG5cbiAgICB0b2dnbGUodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fY2xpY2tTb3VyY2UgPSBudWxsO1xuICAgICAgICBzdXBlci50b2dnbGUodmFsdWUpO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IG51bGw7XG4gICAgICAgIHN1cGVyLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuc2VsZWN0KC4uLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IGNsaWNrU291cmNlKHZhbHVlOiBDbGlja1NvdXJjZSkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IHZhbHVlO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vZGVFbnRyaWVzU2VydmljZTxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxUPjtcbiAgICByZWFkb25seSBkYXRhU291cmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm9kZURhdGFTb3VyY2U8VD4gfCBudWxsPihudWxsKTtcbiAgICAvKipcbiAgICAgKiBzY29wZSB0aGUgY3VycmVudCBsaXN0IGlzIGluLCBlLmcuIHdvcmtzcGFjZVxuICAgICAqIFRoaXMgaXMgdXNlZCBmb3IgYWRkaXRpb25hbCBjb25maWcgaW5qZWN0aW9uIGJhc2VkIG9uIHRoZSBzY29wZVxuICAgICAqL1xuICAgIHNjb3BlOiBTY29wZTtcbiAgICBnZXQgZGF0YVNvdXJjZSgpOiBOb2RlRGF0YVNvdXJjZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZGF0YVNvdXJjZSh2YWx1ZTogTm9kZURhdGFTb3VyY2U8VD4pIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHBhZ2luYXRpb25TdHJhdGVneSgpOiBQYWdpbmF0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzR2xvYmFsLmdldFBhZ2luYXRpb25TdHJhdGVneSh0aGlzLnNjb3BlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU3ViamVjdCB0aGF0IHJlZmxlY3RzIHRoZSBjdXJyZW50IGNvbHVtbnMgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIFVwZGF0ZWQgd2hlbiBsb2FkaW5nIGNvbmZpZ3VyYXRpb24gYW5kIHRocm91Z2ggdXNlciBpbnRlcmFjdGlvbi5cbiAgICAgKi9cbiAgICBjb2x1bW5zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdEl0ZW1bXT4obnVsbCk7XG4gICAgZ2V0IGNvbHVtbnMoKTogTGlzdEl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbnNTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgY29sdW1ucyh2YWx1ZTogTGlzdEl0ZW1bXSkge1xuICAgICAgICB0aGlzLmNvbHVtbnNTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBjb25maWd1cmVDb2x1bW5zOiBib29sZWFuO1xuICAgIGRpc3BsYXlUeXBlOiBOb2RlRW50cmllc0Rpc3BsYXlUeXBlO1xuICAgIHNlbGVjdGlvbiA9IG5ldyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPih0cnVlLCBbXSk7XG4gICAgZWxlbWVudEludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlO1xuICAgIG9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaXN0T3B0aW9ucz4obnVsbCk7XG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgb3B0aW9ucyhvcHRpb25zOiBMaXN0T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMkLm5leHQob3B0aW9ucyk7XG4gICAgfVxuICAgIGNoZWNrYm94OiBib29sZWFuO1xuICAgIGdsb2JhbE9wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPcHRpb25JdGVtW10+KFtdKTtcbiAgICBzZXQgZ2xvYmFsT3B0aW9ucyhnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5nbG9iYWxPcHRpb25zU3ViamVjdC5uZXh0KGdsb2JhbE9wdGlvbnMpO1xuICAgIH1cbiAgICBzb3J0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdFNvcnRDb25maWc+KHZvaWQgMCk7XG4gICAgZ2V0IHNvcnQoKTogTGlzdFNvcnRDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0U3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNvcnQodmFsdWU6IExpc3RTb3J0Q29uZmlnKSB7XG4gICAgICAgIHRoaXMuc29ydFN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxMaXN0U29ydENvbmZpZz47XG4gICAgZHJhZ0Ryb3A6IExpc3REcmFnR3JvcENvbmZpZzxUPjtcbiAgICBjbGlja0l0ZW06IEV2ZW50RW1pdHRlcjxOb2RlQ2xpY2tFdmVudDxUPj47XG4gICAgZGJsQ2xpY2tJdGVtOiBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+O1xuICAgIGZldGNoRGF0YTogRXZlbnRFbWl0dGVyPEZldGNoRXZlbnQ+O1xuICAgIHJlYWRvbmx5IGdyaWRDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHcmlkQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gICAgZ2V0IGdyaWRDb25maWcoKTogR3JpZENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWRDb25maWckLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZ3JpZENvbmZpZyh2YWx1ZTogR3JpZENvbmZpZykge1xuICAgICAgICB0aGlzLmdyaWRDb25maWckLm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcmltYXJ5SW5zdGFuY2U6IGJvb2xlYW47XG4gICAgc2luZ2xlQ2xpY2tIaW50OiAnZHluYW1pYycgfCAnc3RhdGljJztcbiAgICBkaXNhYmxlSW5maW5pdGVTY3JvbGw6IGJvb2xlYW47XG4gICAgc2Nyb2xsR3JhZGllbnRDb2xvcjogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbCgnZmZmJyk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVpU2VydmljZTogVUlTZXJ2aWNlLCBwcml2YXRlIGVudHJpZXNHbG9iYWw6IE5vZGVFbnRyaWVzR2xvYmFsU2VydmljZSkge31cblxuICAgIG9uQ2xpY2tlZCh7IGV2ZW50LCAuLi5kYXRhIH06IE5vZGVDbGlja0V2ZW50PFQ+ICYgeyBldmVudDogTW91c2VFdmVudCB9KSB7XG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnRvZ2dsZShkYXRhLmVsZW1lbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFNlbGVjdGlvblRvKGRhdGEuZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrSXRlbS5lbWl0KGRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGVja2JveENoYW5nZWQobm9kZTogVCwgY2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgICBjb25zb2xlLmxvZyhub2RlLCBjaGVja2VkLCB0aGlzLnVpU2VydmljZS5zaGlmdEtleVByZXNzZWQpO1xuICAgICAgICBpZiAodGhpcy51aVNlcnZpY2Uuc2hpZnRLZXlQcmVzc2VkKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFNlbGVjdGlvblRvKG5vZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoZWNrZWQgIT09IHRoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnRvZ2dsZShub2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRNb3JlKHNvdXJjZTogJ2J1dHRvbicgfCAnc2Nyb2xsJyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uU3RyYXRlZ3kgIT09ICdpbmZpbml0ZS1zY3JvbGwnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvdXJjZSA9PT0gJ3Njcm9sbCcgJiYgdGhpcy5kaXNhYmxlSW5maW5pdGVTY3JvbGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPOiBmb2N1cyBuZXh0IGl0ZW0gd2hlbiB0cmlnZ2VyZWQgdmlhIGJ1dHRvbi5cbiAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE5vZGVEYXRhU291cmNlUmVtb3RlKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSBhcyBOb2RlRGF0YVNvdXJjZVJlbW90ZSkubG9hZE1vcmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFTb3VyY2UuaGFzTW9yZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mZXRjaERhdGEuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5kYXRhU291cmNlLmdldERhdGEoKS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHJlc2V0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBbGwoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdCguLi50aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpLmV2ZXJ5KChub2RlKSA9PiB0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKG5vZGUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZFNlbGVjdGlvblRvKG5vZGU6IFQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUluZGV4ID0gdGhpcy5kYXRhU291cmNlLmdldERhdGEoKS5pbmRleE9mKG5vZGUpO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25JbmRleGVzID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWRcbiAgICAgICAgICAgIC5tYXAoKG5vZGUpID0+IHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkuaW5kZXhPZihub2RlKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGluZGV4KSA9PiBpbmRleCA+PSAwKTtcbiAgICAgICAgaWYgKE1hdGgubWluKC4uLnNlbGVjdGlvbkluZGV4ZXMpIDwgbm9kZUluZGV4KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gTWF0aC5taW4oLi4uc2VsZWN0aW9uSW5kZXhlcykgKyAxOyBpIDw9IG5vZGVJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKClbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKE1hdGgubWF4KC4uLnNlbGVjdGlvbkluZGV4ZXMpID4gbm9kZUluZGV4KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gbm9kZUluZGV4OyBpIDwgTWF0aC5tYXgoLi4uc2VsZWN0aW9uSW5kZXhlcyk7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdCh0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -88,7 +88,7 @@ export class NodeHelperService {
88
88
  if (icon == 'none' && !useNoneAsFallback)
89
89
  return null;
90
90
  const result = this.apiHelpersService.getServerUrl() + '/../ccimages/licenses/' + icon + '.svg';
91
- return this.repoUrlService.withCurrentOrigin(result);
91
+ return result;
92
92
  }
93
93
  /**
94
94
  * Return a translated name of a license name for a node
@@ -185,6 +185,9 @@ export class NodeHelperService {
185
185
  target.properties = source.properties;
186
186
  target.name = source.name;
187
187
  target.title = source.title;
188
+ target.authorityName = source.authorityName;
189
+ target.profile = source.profile;
190
+ target.status = source.status;
188
191
  }
189
192
  isNodeCollection(node) {
190
193
  return node.aspects?.includes(RestConstants.CCM_ASPECT_COLLECTION) || !!node.collection;
@@ -254,4 +257,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
254
257
  type: Inject,
255
258
  args: [ASSETS_BASE_PATH]
256
259
  }] }] });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU1ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNB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SUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLEdBQUc7b0JBQ0gsVUFBVSxFQUFFLFdBQVcsQ0FBQyxhQUFhLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDL0QsV0FBVyxFQUFFO3dCQUNULFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO3dCQUMzQyxRQUFRLEVBQUcsSUFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUU7d0JBQ2pELGtCQUFrQixFQUFHLElBQXFCLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLEVBQUU7cUJBQ3hFO2lCQUNKLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsQ0FBQztRQUNELG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7OEdBbFBRLGlCQUFpQiw0S0FPRixnQkFBZ0I7a0hBUC9CLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQVFRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBcGlIZWxwZXJzU2VydmljZSxcbiAgICBDb25maWdTZXJ2aWNlLFxuICAgIE5ldHdvcmtTZXJ2aWNlLFxuICAgIE5vZGUsXG4gICAgUHJvcG9zYWxOb2RlLFxuICAgIFJlc3RDb25zdGFudHMsXG59IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0ICogYXMgV29ya2Zsb3cgZnJvbSAnLi4vdHlwZXMvd29ya2Zsb3cnO1xuaW1wb3J0IHsgUmVwb1VybFNlcnZpY2UgfSBmcm9tICcuL3JlcG8tdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVJQ29uc3RhbnRzIH0gZnJvbSAnLi4vdXRpbC91aS1jb25zdGFudHMnO1xuaW1wb3J0IHsgQVNTRVRTX0JBU0VfUEFUSCB9IGZyb20gJy4uL3R5cGVzL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZUhlbHBlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYXBpSGVscGVyc1NlcnZpY2U6IEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlcG9VcmxTZXJ2aWNlOiBSZXBvVXJsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChBU1NFVFNfQkFTRV9QQVRIKSBwcml2YXRlIGFzc2V0c0Jhc2VQYXRoOiBzdHJpbmcsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGdldENvbGxlY3Rpb25TY29wZUluZm8obm9kZTogTm9kZSk6IHsgaWNvbjogc3RyaW5nOyBzY29wZU5hbWU6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3Qgc2NvcGUgPSBub2RlLmNvbGxlY3Rpb24gPyBub2RlLmNvbGxlY3Rpb24uc2NvcGUgOiBudWxsO1xuICAgICAgICBsZXQgaWNvbiA9ICdoZWxwJztcbiAgICAgICAgbGV0IHNjb3BlTmFtZSA9ICdVTktOT1dOJztcbiAgICAgICAgaWYgKHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9NWSkge1xuICAgICAgICAgICAgaWNvbiA9ICdsb2NrJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdNWSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX09SR0EgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpY29uID0gJ2dyb3VwJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdTSEFSRUQnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9BTEwgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01fUFVCTElDXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWNvbiA9ICdsYW5ndWFnZSc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnUFVCTElDJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jb2xsZWN0aW9uPy50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05UWVBFX0VESVRPUklBTCkge1xuICAgICAgICAgICAgaWNvbiA9ICdzdGFyJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdUWVBFX0VESVRPUklBTCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuY29sbGVjdGlvbj8udHlwZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OVFlQRV9NRURJQV9DRU5URVIpIHtcbiAgICAgICAgICAgIGljb24gPSAnYnVzaW5lc3MnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1RZUEVfTUVESUFfQ0VOVEVSJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uLCBzY29wZU5hbWUgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBsaWNlbnNlIGljb24gb2YgYSBub2RlXG4gICAgICovXG4gICAgYXN5bmMgZ2V0TGljZW5zZUljb24obm9kZTogTm9kZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIC8vIHByZWZlciBtYW51YWwgbWFwcGluZyBpbnN0ZWFkIG9mIGJhY2tlbmQgZGF0YSB0byBzdXBwb3J0IGN1c3RvbSBzdGF0ZXMgZnJvbSBsb2NhbCBlZGl0c1xuICAgICAgICBjb25zdCBsaWNlbnNlID0gbm9kZS5wcm9wZXJ0aWVzPy5bUmVzdENvbnN0YW50cy5DQ01fUFJPUF9MSUNFTlNFXT8uWzBdO1xuICAgICAgICBpZiAobGljZW5zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZUljb25CeVN0cmluZyhsaWNlbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZS5saWNlbnNlID8gdGhpcy5yZXBvVXJsU2VydmljZS5nZXRSZXBvVXJsKG5vZGUubGljZW5zZS5pY29uLCBub2RlKSA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgbGljZW5zZSBpY29uIGJ5IHVzaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZSBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZUljb25CeVN0cmluZyhzdHJpbmc6IFN0cmluZywgdXNlTm9uZUFzRmFsbGJhY2sgPSB0cnVlKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGljb24gPSBzdHJpbmcucmVwbGFjZSgvXy9nLCAnLScpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChpY29uID09ICcnKSBpY29uID0gJ25vbmUnO1xuXG4gICAgICAgIGNvbnN0IExJQ0VOU0VfSUNPTlMgPSBbXG4gICAgICAgICAgICAnY2MtMCcsXG4gICAgICAgICAgICAnY2MtYnktbmMnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jLW5kJyxcbiAgICAgICAgICAgICdjYy1ieS1uYy1zYScsXG4gICAgICAgICAgICAnY2MtYnktbmQnLFxuICAgICAgICAgICAgJ2NjLWJ5LXNhJyxcbiAgICAgICAgICAgICdjYy1ieScsXG4gICAgICAgICAgICAnY29weXJpZ2h0LWZyZWUnLFxuICAgICAgICAgICAgJ2NvcHlyaWdodC1saWNlbnNlJyxcbiAgICAgICAgICAgICdjdXN0b20nLFxuICAgICAgICAgICAgJ2VkdS1uYy1uZC1ub0RvJyxcbiAgICAgICAgICAgICdlZHUtbmMtbmQnLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kLW5vRG8nLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kJyxcbiAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICdwZG0nLFxuICAgICAgICAgICAgJ3NjaHVsZnVuaycsXG4gICAgICAgICAgICAndW50ZXJyaWNodHMtdW5kLWxlaHJtZWRpZW4nLFxuICAgICAgICBdO1xuICAgICAgICBpZiAoTElDRU5TRV9JQ09OUy5pbmRleE9mKGljb24pID09IC0xICYmICF1c2VOb25lQXNGYWxsYmFjaykgcmV0dXJuIG51bGw7IC8vIGljb249J25vbmUnO1xuICAgICAgICBpZiAoaWNvbiA9PSAnbm9uZScgJiYgIXVzZU5vbmVBc0ZhbGxiYWNrKSByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID1cbiAgICAgICAgICAgIHRoaXMuYXBpSGVscGVyc1NlcnZpY2UuZ2V0U2VydmVyVXJsKCkgKyAnLy4uL2NjaW1hZ2VzL2xpY2Vuc2VzLycgKyBpY29uICsgJy5zdmcnO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXBvVXJsU2VydmljZS53aXRoQ3VycmVudE9yaWdpbihyZXN1bHQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSB0cmFuc2xhdGVkIG5hbWUgb2YgYSBsaWNlbnNlIG5hbWUgZm9yIGEgbm9kZVxuICAgICAqIEBwYXJhbSBub2RlXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZVxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZShub2RlOiBOb2RlKSB7XG4gICAgICAgIGxldCBwcm9wID0gbm9kZS5wcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfTElDRU5TRV0/LlswXTtcbiAgICAgICAgaWYgKCFwcm9wKSBwcm9wID0gJyc7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2VOYW1lQnlTdHJpbmcocHJvcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgdHJhbnNsYXRlZCBuYW1lIGZvciBhIGxpY2Vuc2Ugc3RyaW5nXG4gICAgICogQHBhcmFtIHN0cmluZ1xuICAgICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZUJ5U3RyaW5nKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAobmFtZSA9PSAnJykge1xuICAgICAgICAgICAgbmFtZSA9ICdOT05FJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTElDRU5TRS5OQU1FUy4nICsgbmFtZSk7XG4gICAgICAgIC8vIHJldHVybiBuYW1lLnJlcGxhY2UoL18vZyxcIi1cIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJuIHRoZSBMaWNlbnNlIFVSTCAoZS5nLiBmb3IgQ0NfQlkgbGljZW5zZXMpIGZvciBhIGxpY2Vuc2Ugc3RyaW5nIGFuZCB2ZXJzaW9uXG4gICAgICogQHBhcmFtIGxpY2Vuc2VQcm9wZXJ0eVxuICAgICAqIEBwYXJhbSBsaWNlbnNlVmVyc2lvblxuICAgICAqIEBwYXJhbSBsaWNlbnNlTG9jYWxlXG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VVcmxCeVN0cmluZyhcbiAgICAgICAgbGljZW5zZVByb3BlcnR5OiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VWZXJzaW9uOiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VMb2NhbGU6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgY29uc3QgaXNWNCA9IGxpY2Vuc2VWZXJzaW9uID09PSAnNC4wJztcbiAgICAgICAgY29uc3QgbG9jYWxlID0gaXNWNCB8fCAhbGljZW5zZUxvY2FsZSA/ICcnIDogbGljZW5zZUxvY2FsZS50b0xvd2VyQ2FzZSgpICsgJy8nO1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5nZXQoYExJQ0VOU0UuVVJMUy4ke2xpY2Vuc2VQcm9wZXJ0eX1gLCB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbjogbGljZW5zZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh1cmw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRoZSB0cmFuc2xhdGlvbiBmYWlscyBpdCBtaWdodCByZXR1cm4gc29tZXRoaW5nIGxpa2UgJ0xJQ0VOU0UuVVJMUy51bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgIGlmICghdXJsIHx8IHVybC5zdGFydHNXaXRoKCdMSUNFTlNFLlVSTFMnKSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNWNCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSB0aGUgaW50ZXJuYXRpb25hbCA0LjAgdmVyc2lvbiBzdXBwb3J0cyBkaWZmZXJlbnQgbGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGlzIHBhcnQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmb3IgYWxsIG90aGVyIHZlcnNpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgnLmRlJywgJycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1c0J5SWQoaWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB3b3JrZmxvd3MgPSB0aGlzLmdldFdvcmtmbG93cygpO1xuICAgICAgICByZXR1cm4gd29ya2Zsb3dzLmZpbHRlcigodykgPT4gdy5pZCA9PT0gaWQpPy5bMF07XG4gICAgfVxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1cyhub2RlOiBOb2RlLCB1c2VGcm9tQ29uZmlnID0gZmFsc2UpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25TdGF0dXMge1xuICAgICAgICBsZXQgdmFsdWUgPSBub2RlLnByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5DQ01fUFJPUF9XRl9TVEFUVVNdPy5bMF07XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRXb3JrZmxvd1N0YXR1cyh1c2VGcm9tQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICAgICAgaW5pdGlhbDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXREZWZhdWx0V29ya2Zsb3dTdGF0dXModXNlRnJvbUNvbmZpZyA9IGZhbHNlKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uU3RhdHVzIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgY3VycmVudDogbnVsbCBhcyBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb24sXG4gICAgICAgICAgICBpbml0aWFsOiBudWxsIGFzIFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbixcbiAgICAgICAgfTtcbiAgICAgICAgcmVzdWx0LmluaXRpYWwgPSB0aGlzLmdldFdvcmtmbG93cygpWzBdO1xuICAgICAgICBsZXQgZGVmYXVsdFN0YXR1czogc3RyaW5nID0gbnVsbDtcbiAgICAgICAgaWYgKHVzZUZyb21Db25maWcpIHtcbiAgICAgICAgICAgIGRlZmF1bHRTdGF0dXMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cuZGVmYXVsdFN0YXR1cycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWZhdWx0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHRoaXMuZ2V0V29ya2Zsb3dzKCkuZmluZCgodykgPT4gdy5pZCA9PT0gZGVmYXVsdFN0YXR1cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHJlc3VsdC5pbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGdldFdvcmtmbG93cygpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cud29ya2Zsb3dzJywgW1xuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX1VOQ0hFQ0tFRCxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19UT19DSEVDSyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19IQVNGTEFXUyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19DSEVDS0VELFxuICAgICAgICBdKTtcbiAgICB9XG4gICAgY29weURhdGFUb05vZGU8VCBleHRlbmRzIE5vZGU+KHRhcmdldDogVCwgc291cmNlOiBUKSB7XG4gICAgICAgIHRhcmdldC5wcm9wZXJ0aWVzID0gc291cmNlLnByb3BlcnRpZXM7XG4gICAgICAgIHRhcmdldC5uYW1lID0gc291cmNlLm5hbWU7XG4gICAgICAgIHRhcmdldC50aXRsZSA9IHNvdXJjZS50aXRsZTtcbiAgICB9XG4gICAgaXNOb2RlQ29sbGVjdGlvbihub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBub2RlLmFzcGVjdHM/LmluY2x1ZGVzKFJlc3RDb25zdGFudHMuQ0NNX0FTUEVDVF9DT0xMRUNUSU9OKSB8fCAhIW5vZGUuY29sbGVjdGlvbjtcbiAgICB9XG4gICAgcHVibGljIGdldFNvdXJjZUljb25QYXRoKHNyYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5hc3NldHNCYXNlUGF0aCA/PyAnJykgKyAnYXNzZXRzL2ltYWdlcy9zb3VyY2VzLycgKyBzcmMudG9Mb3dlckNhc2UoKSArICcucG5nJztcbiAgICB9XG5cbiAgICBnZXROb2RlTGluayhtb2RlOiAncm91dGVyTGluaycgfCAncXVlcnlQYXJhbXMnLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmICghbm9kZT8ucmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGF0YTogeyByb3V0ZXJMaW5rOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfSA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmlzTm9kZUNvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgcm91dGVyTGluazogVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICdjb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgaWQ6IG5vZGUucmVmLmlkIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5vZGUuaXNEaXJlY3RvcnkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGF0aDtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG5vZGUucHJvcGVydGllcz8uW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfRURVU0NPUEVOQU1FXT8uWzBdID09PVxuICAgICAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLlNBRkVfU0NPUEVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnd29ya3NwYWNlL3NhZmUnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3dvcmtzcGFjZSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGlkOiBub2RlLnJlZi5pZCB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUucmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnJvbUhvbWUgPSB0aGlzLm5ldHdvcmtTZXJ2aWNlLmlzRnJvbUhvbWVSZXBvc2l0b3J5KG5vZGUpO1xuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAncmVuZGVyLycgKyBub2RlLnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnk6IGZyb21Ib21lID8gbnVsbCA6IG5vZGUucmVmLnJlcG8sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3NhbDogKG5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbD8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcG9zYWxDb2xsZWN0aW9uOiAobm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsQ29sbGVjdGlvbj8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kZSA9PT0gJ3JvdXRlckxpbmsnKSB7XG4gICAgICAgICAgICByZXR1cm4gJy8nICsgZGF0YS5yb3V0ZXJMaW5rO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVuZm9yY2UgY2xlYXJpbmcgb2YgcGFyYW1ldGVycyB3aGljaCBzaG91bGQgb25seSBiZSBjb25zdW1lZCBvbmNlXG4gICAgICAgIGRhdGEucXVlcnlQYXJhbXMucmVkaXJlY3RGcm9tU1NPID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIGRhdGEucXVlcnlQYXJhbXM7XG4gICAgfVxufVxuIl19
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU9ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNB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UUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgIENvbmZpZ1NlcnZpY2UsXG4gICAgVXNlcixcbiAgICBOZXR3b3JrU2VydmljZSxcbiAgICBOb2RlLFxuICAgIFByb3Bvc2FsTm9kZSxcbiAgICBSZXN0Q29uc3RhbnRzLFxufSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCAqIGFzIFdvcmtmbG93IGZyb20gJy4uL3R5cGVzL3dvcmtmbG93JztcbmltcG9ydCB7IFJlcG9VcmxTZXJ2aWNlIH0gZnJvbSAnLi9yZXBvLXVybC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVSUNvbnN0YW50cyB9IGZyb20gJy4uL3V0aWwvdWktY29uc3RhbnRzJztcbmltcG9ydCB7IEFTU0VUU19CQVNFX1BBVEggfSBmcm9tICcuLi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVIZWxwZXJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGFwaUhlbHBlcnNTZXJ2aWNlOiBBcGlIZWxwZXJzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCByZXBvVXJsU2VydmljZTogUmVwb1VybFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVNTRVRTX0JBU0VfUEFUSCkgcHJpdmF0ZSBhc3NldHNCYXNlUGF0aDogc3RyaW5nLFxuICAgICkge31cblxuICAgIHB1YmxpYyBnZXRDb2xsZWN0aW9uU2NvcGVJbmZvKG5vZGU6IE5vZGUpOiB7IGljb246IHN0cmluZzsgc2NvcGVOYW1lOiBzdHJpbmcgfSB7XG4gICAgICAgIGNvbnN0IHNjb3BlID0gbm9kZS5jb2xsZWN0aW9uID8gbm9kZS5jb2xsZWN0aW9uLnNjb3BlIDogbnVsbDtcbiAgICAgICAgbGV0IGljb24gPSAnaGVscCc7XG4gICAgICAgIGxldCBzY29wZU5hbWUgPSAnVU5LTk9XTic7XG4gICAgICAgIGlmIChzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfTVkpIHtcbiAgICAgICAgICAgIGljb24gPSAnbG9jayc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnTVknO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9PUkdBIHx8XG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfQ1VTVE9NXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWNvbiA9ICdncm91cCc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnU0hBUkVEJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfQUxMIHx8XG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfQ1VTVE9NX1BVQkxJQ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGljb24gPSAnbGFuZ3VhZ2UnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1BVQkxJQyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuY29sbGVjdGlvbj8udHlwZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OVFlQRV9FRElUT1JJQUwpIHtcbiAgICAgICAgICAgIGljb24gPSAnc3Rhcic7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnVFlQRV9FRElUT1JJQUwnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmNvbGxlY3Rpb24/LnR5cGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlRZUEVfTUVESUFfQ0VOVEVSKSB7XG4gICAgICAgICAgICBpY29uID0gJ2J1c2luZXNzJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdUWVBFX01FRElBX0NFTlRFUic7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaWNvbiwgc2NvcGVOYW1lIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiB0aGUgbGljZW5zZSBpY29uIG9mIGEgbm9kZVxuICAgICAqL1xuICAgIGFzeW5jIGdldExpY2Vuc2VJY29uKG5vZGU6IE5vZGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICAvLyBwcmVmZXIgbWFudWFsIG1hcHBpbmcgaW5zdGVhZCBvZiBiYWNrZW5kIGRhdGEgdG8gc3VwcG9ydCBjdXN0b20gc3RhdGVzIGZyb20gbG9jYWwgZWRpdHNcbiAgICAgICAgY29uc3QgbGljZW5zZSA9IG5vZGUucHJvcGVydGllcz8uW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfTElDRU5TRV0/LlswXTtcbiAgICAgICAgaWYgKGxpY2Vuc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2VJY29uQnlTdHJpbmcobGljZW5zZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGUubGljZW5zZSA/IHRoaXMucmVwb1VybFNlcnZpY2UuZ2V0UmVwb1VybChub2RlLmxpY2Vuc2UuaWNvbiwgbm9kZSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBhIGxpY2Vuc2UgaWNvbiBieSB1c2luZyB0aGUgcHJvcGVydHkgdmFsdWUgc3RyaW5nXG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VJY29uQnlTdHJpbmcoc3RyaW5nOiBTdHJpbmcsIHVzZU5vbmVBc0ZhbGxiYWNrID0gdHJ1ZSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBpY29uID0gc3RyaW5nLnJlcGxhY2UoL18vZywgJy0nKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoaWNvbiA9PSAnJykgaWNvbiA9ICdub25lJztcblxuICAgICAgICBjb25zdCBMSUNFTlNFX0lDT05TID0gW1xuICAgICAgICAgICAgJ2NjLTAnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jJyxcbiAgICAgICAgICAgICdjYy1ieS1uYy1uZCcsXG4gICAgICAgICAgICAnY2MtYnktbmMtc2EnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5kJyxcbiAgICAgICAgICAgICdjYy1ieS1zYScsXG4gICAgICAgICAgICAnY2MtYnknLFxuICAgICAgICAgICAgJ2NvcHlyaWdodC1mcmVlJyxcbiAgICAgICAgICAgICdjb3B5cmlnaHQtbGljZW5zZScsXG4gICAgICAgICAgICAnY3VzdG9tJyxcbiAgICAgICAgICAgICdlZHUtbmMtbmQtbm9EbycsXG4gICAgICAgICAgICAnZWR1LW5jLW5kJyxcbiAgICAgICAgICAgICdlZHUtcC1uci1uZC1ub0RvJyxcbiAgICAgICAgICAgICdlZHUtcC1uci1uZCcsXG4gICAgICAgICAgICAnbm9uZScsXG4gICAgICAgICAgICAncGRtJyxcbiAgICAgICAgICAgICdzY2h1bGZ1bmsnLFxuICAgICAgICAgICAgJ3VudGVycmljaHRzLXVuZC1sZWhybWVkaWVuJyxcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKExJQ0VOU0VfSUNPTlMuaW5kZXhPZihpY29uKSA9PSAtMSAmJiAhdXNlTm9uZUFzRmFsbGJhY2spIHJldHVybiBudWxsOyAvLyBpY29uPSdub25lJztcbiAgICAgICAgaWYgKGljb24gPT0gJ25vbmUnICYmICF1c2VOb25lQXNGYWxsYmFjaykgcmV0dXJuIG51bGw7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9XG4gICAgICAgICAgICB0aGlzLmFwaUhlbHBlcnNTZXJ2aWNlLmdldFNlcnZlclVybCgpICsgJy8uLi9jY2ltYWdlcy9saWNlbnNlcy8nICsgaWNvbiArICcuc3ZnJztcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgdHJhbnNsYXRlZCBuYW1lIG9mIGEgbGljZW5zZSBuYW1lIGZvciBhIG5vZGVcbiAgICAgKiBAcGFyYW0gbm9kZVxuICAgICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ31cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZU5hbWUobm9kZTogTm9kZSkge1xuICAgICAgICBsZXQgcHJvcCA9IG5vZGUucHJvcGVydGllc1tSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0xJQ0VOU0VdPy5bMF07XG4gICAgICAgIGlmICghcHJvcCkgcHJvcCA9ICcnO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlTmFtZUJ5U3RyaW5nKHByb3ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHRyYW5zbGF0ZWQgbmFtZSBmb3IgYSBsaWNlbnNlIHN0cmluZ1xuICAgICAqIEBwYXJhbSBzdHJpbmdcbiAgICAgKiBAcGFyYW0gdHJhbnNsYXRlXG4gICAgICogQHJldHVybnMge2FueX1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZU5hbWVCeVN0cmluZyhuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKG5hbWUgPT0gJycpIHtcbiAgICAgICAgICAgIG5hbWUgPSAnTk9ORSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0xJQ0VOU0UuTkFNRVMuJyArIG5hbWUpO1xuICAgICAgICAvLyByZXR1cm4gbmFtZS5yZXBsYWNlKC9fL2csXCItXCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybiB0aGUgTGljZW5zZSBVUkwgKGUuZy4gZm9yIENDX0JZIGxpY2Vuc2VzKSBmb3IgYSBsaWNlbnNlIHN0cmluZyBhbmQgdmVyc2lvblxuICAgICAqIEBwYXJhbSBsaWNlbnNlUHJvcGVydHlcbiAgICAgKiBAcGFyYW0gbGljZW5zZVZlcnNpb25cbiAgICAgKiBAcGFyYW0gbGljZW5zZUxvY2FsZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlVXJsQnlTdHJpbmcoXG4gICAgICAgIGxpY2Vuc2VQcm9wZXJ0eTogc3RyaW5nLFxuICAgICAgICBsaWNlbnNlVmVyc2lvbjogc3RyaW5nLFxuICAgICAgICBsaWNlbnNlTG9jYWxlOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGlzVjQgPSBsaWNlbnNlVmVyc2lvbiA9PT0gJzQuMCc7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IGlzVjQgfHwgIWxpY2Vuc2VMb2NhbGUgPyAnJyA6IGxpY2Vuc2VMb2NhbGUudG9Mb3dlckNhc2UoKSArICcvJztcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlXG4gICAgICAgICAgICAuZ2V0KGBMSUNFTlNFLlVSTFMuJHtsaWNlbnNlUHJvcGVydHl9YCwge1xuICAgICAgICAgICAgICAgIHZlcnNpb246IGxpY2Vuc2VWZXJzaW9uLFxuICAgICAgICAgICAgICAgIGxvY2FsZTogbG9jYWxlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiB0aGUgdHJhbnNsYXRpb24gZmFpbHMgaXQgbWlnaHQgcmV0dXJuIHNvbWV0aGluZyBsaWtlICdMSUNFTlNFLlVSTFMudW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXVybCB8fCB1cmwuc3RhcnRzV2l0aCgnTElDRU5TRS5VUkxTJykpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzVjQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgdGhlIGludGVybmF0aW9uYWwgNC4wIHZlcnNpb24gc3VwcG9ydHMgZGlmZmVyZW50IGxhbmd1YWdlc1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gdGhpcyBwYXJ0IG5lZWRzIHRvIGJlIHJlbW92ZWQgZm9yIGFsbCBvdGhlciB2ZXJzaW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoJy5kZScsICcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0V29ya2Zsb3dTdGF0dXNCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgd29ya2Zsb3dzID0gdGhpcy5nZXRXb3JrZmxvd3MoKTtcbiAgICAgICAgcmV0dXJuIHdvcmtmbG93cy5maWx0ZXIoKHcpID0+IHcuaWQgPT09IGlkKT8uWzBdO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0V29ya2Zsb3dTdGF0dXMobm9kZTogTm9kZSwgdXNlRnJvbUNvbmZpZyA9IGZhbHNlKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uU3RhdHVzIHtcbiAgICAgICAgbGV0IHZhbHVlID0gbm9kZS5wcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfV0ZfU1RBVFVTXT8uWzBdO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREZWZhdWx0V29ya2Zsb3dTdGF0dXModXNlRnJvbUNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGN1cnJlbnQ6IHRoaXMuZ2V0V29ya2Zsb3dTdGF0dXNCeUlkKHZhbHVlKSxcbiAgICAgICAgICAgIGluaXRpYWw6IHRoaXMuZ2V0V29ya2Zsb3dTdGF0dXNCeUlkKHZhbHVlKSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZ2V0RGVmYXVsdFdvcmtmbG93U3RhdHVzKHVzZUZyb21Db25maWcgPSBmYWxzZSk6IFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvblN0YXR1cyB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgICAgIGN1cnJlbnQ6IG51bGwgYXMgV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgICAgICAgICAgaW5pdGlhbDogbnVsbCBhcyBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb24sXG4gICAgICAgIH07XG4gICAgICAgIHJlc3VsdC5pbml0aWFsID0gdGhpcy5nZXRXb3JrZmxvd3MoKVswXTtcbiAgICAgICAgbGV0IGRlZmF1bHRTdGF0dXM6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGlmICh1c2VGcm9tQ29uZmlnKSB7XG4gICAgICAgICAgICBkZWZhdWx0U3RhdHVzID0gdGhpcy5jb25maWdTZXJ2aWNlLmluc3RhbnQoJ3dvcmtmbG93LmRlZmF1bHRTdGF0dXMnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVmYXVsdFN0YXR1cykge1xuICAgICAgICAgICAgcmVzdWx0LmN1cnJlbnQgPSB0aGlzLmdldFdvcmtmbG93cygpLmZpbmQoKHcpID0+IHcuaWQgPT09IGRlZmF1bHRTdGF0dXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0LmN1cnJlbnQgPSByZXN1bHQuaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBnZXRXb3JrZmxvd3MoKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLmluc3RhbnQoJ3dvcmtmbG93LndvcmtmbG93cycsIFtcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19VTkNIRUNLRUQsXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfVE9fQ0hFQ0ssXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfSEFTRkxBV1MsXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfQ0hFQ0tFRCxcbiAgICAgICAgXSk7XG4gICAgfVxuICAgIGNvcHlEYXRhVG9Ob2RlPFQgZXh0ZW5kcyBOb2RlIHwgVXNlcj4odGFyZ2V0OiBULCBzb3VyY2U6IFQpIHtcbiAgICAgICAgdGFyZ2V0LnByb3BlcnRpZXMgPSBzb3VyY2UucHJvcGVydGllcztcbiAgICAgICAgKHRhcmdldCBhcyBOb2RlKS5uYW1lID0gKHNvdXJjZSBhcyBOb2RlKS5uYW1lO1xuICAgICAgICAodGFyZ2V0IGFzIE5vZGUpLnRpdGxlID0gKHNvdXJjZSBhcyBOb2RlKS50aXRsZTtcbiAgICAgICAgKHRhcmdldCBhcyBVc2VyKS5hdXRob3JpdHlOYW1lID0gKHNvdXJjZSBhcyBVc2VyKS5hdXRob3JpdHlOYW1lO1xuICAgICAgICAodGFyZ2V0IGFzIFVzZXIpLnByb2ZpbGUgPSAoc291cmNlIGFzIFVzZXIpLnByb2ZpbGU7XG4gICAgICAgICh0YXJnZXQgYXMgVXNlcikuc3RhdHVzID0gKHNvdXJjZSBhcyBVc2VyKS5zdGF0dXM7XG4gICAgfVxuICAgIGlzTm9kZUNvbGxlY3Rpb24obm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbm9kZS5hc3BlY3RzPy5pbmNsdWRlcyhSZXN0Q29uc3RhbnRzLkNDTV9BU1BFQ1RfQ09MTEVDVElPTikgfHwgISFub2RlLmNvbGxlY3Rpb247XG4gICAgfVxuICAgIHB1YmxpYyBnZXRTb3VyY2VJY29uUGF0aChzcmM6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gKHRoaXMuYXNzZXRzQmFzZVBhdGggPz8gJycpICsgJ2Fzc2V0cy9pbWFnZXMvc291cmNlcy8nICsgc3JjLnRvTG93ZXJDYXNlKCkgKyAnLnBuZyc7XG4gICAgfVxuXG4gICAgZ2V0Tm9kZUxpbmsobW9kZTogJ3JvdXRlckxpbmsnIHwgJ3F1ZXJ5UGFyYW1zJywgbm9kZTogTm9kZSkge1xuICAgICAgICBpZiAoIW5vZGU/LnJlZikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRhdGE6IHsgcm91dGVyTGluazogc3RyaW5nOyBxdWVyeVBhcmFtczogUGFyYW1zIH0gPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5pc05vZGVDb2xsZWN0aW9uKG5vZGUpKSB7XG4gICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnY29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGlkOiBub2RlLnJlZi5pZCB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChub2RlLmlzRGlyZWN0b3J5KSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhdGg7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBub2RlLnByb3BlcnRpZXM/LltSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0VEVVNDT1BFTkFNRV0/LlswXSA9PT1cbiAgICAgICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5TQUZFX1NDT1BFXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3dvcmtzcGFjZS9zYWZlJztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXRoID0gVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICd3b3Jrc3BhY2UnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBwYXRoLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBpZDogbm9kZS5yZWYuaWQgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlLnJlZikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZyb21Ib21lID0gdGhpcy5uZXR3b3JrU2VydmljZS5pc0Zyb21Ib21lUmVwb3NpdG9yeShub2RlKTtcbiAgICAgICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3JlbmRlci8nICsgbm9kZS5yZWYuaWQsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBvc2l0b3J5OiBmcm9tSG9tZSA/IG51bGwgOiBub2RlLnJlZi5yZXBvLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcG9zYWw6IChub2RlIGFzIFByb3Bvc2FsTm9kZSkucHJvcG9zYWw/LnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bvc2FsQ29sbGVjdGlvbjogKG5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbENvbGxlY3Rpb24/LnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1vZGUgPT09ICdyb3V0ZXJMaW5rJykge1xuICAgICAgICAgICAgcmV0dXJuICcvJyArIGRhdGEucm91dGVyTGluaztcbiAgICAgICAgfVxuICAgICAgICAvLyBlbmZvcmNlIGNsZWFyaW5nIG9mIHBhcmFtZXRlcnMgd2hpY2ggc2hvdWxkIG9ubHkgYmUgY29uc3VtZWQgb25jZVxuICAgICAgICBkYXRhLnF1ZXJ5UGFyYW1zLnJlZGlyZWN0RnJvbVNTTyA9IG51bGw7XG4gICAgICAgIHJldHVybiBkYXRhLnF1ZXJ5UGFyYW1zO1xuICAgIH1cbn1cbiJdfQ==
@@ -119,7 +119,7 @@ export class OptionsHelperDataService {
119
119
  }
120
120
  }
121
121
  pasteNode(nodes = []) {
122
- this.optionsHelperService.pasteNode(this.components, this.data, nodes);
122
+ this.optionsHelperService.pasteNode(this.components, this.data, true, nodes);
123
123
  }
124
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OptionsHelperDataService, deps: [{ token: i0.NgZone }, { token: i1.ActivatedRoute }, { token: i2.LocalEventsService }, { token: i3.AuthenticationService }, { token: i3.UserService }, { token: i3.NetworkService }, { token: i4.KeyboardShortcutsService, optional: true }, { token: i5.OptionsHelperService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
125
125
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OptionsHelperDataService }); }
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
131
131
  }] }, { type: i5.OptionsHelperService, decorators: [{
132
132
  type: Optional
133
133
  }] }] });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNC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QVU7OzBCQW9CRixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBMaXN0RXZlbnRJbnRlcmZhY2UsXG4gICAgTm9kZUVudHJpZXNEYXRhVHlwZSxcbiAgICBOb2RlRW50cmllc0Rpc3BsYXlUeXBlLFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBNRSwgTmV0d29ya1NlcnZpY2UsIE5vZGUsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDdXN0b21PcHRpb25zLCBPcHRpb25JdGVtLCBTY29wZSwgVGFyZ2V0IH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgT3B0aW9uc0hlbHBlclNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L29wdGlvbnMtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hdGNoZXNTaG9ydGN1dENvbmRpdGlvbiB9IGZyb20gJy4uL3R5cGVzL2tleWJvYXJkLXNob3J0Y3V0cyc7XG5pbXBvcnQgeyBLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvY2FsRXZlbnRzU2VydmljZSB9IGZyb20gJy4vbG9jYWwtZXZlbnRzLnNlcnZpY2UnO1xuXG50eXBlIERlbGV0ZUV2ZW50ID0ge1xuICAgIG9iamVjdHM6IE5vZGVbXSB8IGFueTtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIGVycm9yOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc0hlbHBlckNvbXBvbmVudHMge1xuICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50O1xuICAgIGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudDtcbiAgICBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZUVudHJpZXNEYXRhVHlwZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uRGF0YSB7XG4gICAgc2NvcGU6IFNjb3BlO1xuICAgIGFjdGl2ZU9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBzZWxlY3RlZE9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBhbGxPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgcGFyZW50PzogTm9kZSB8IGFueTtcbiAgICBjdXN0b21PcHRpb25zPzogQ3VzdG9tT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBjdXN0b20gaW50ZXJjZXB0b3IgdG8gbW9kaWZ5IHRoZSBkZWZhdWx0IG9wdGlvbnMgYXJyYXlcbiAgICAgKi9cbiAgICBwb3N0UHJlcGFyZU9wdGlvbnM/OiAob3B0aW9uczogT3B0aW9uSXRlbVtdLCBvYmplY3RzOiBOb2RlW10pID0+IHZvaWQ7XG59XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3B0aW9uc0hlbHBlckRhdGFTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGNvbXBvbmVudHM6IE9wdGlvbnNIZWxwZXJDb21wb25lbnRzO1xuICAgIHByaXZhdGUgZGF0YTogT3B0aW9uRGF0YTtcbiAgICBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW107XG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmVhZG9ubHkgdmlydHVhbE5vZGVzQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXT4oKTtcbiAgICByZWFkb25seSBub2Rlc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXSB8IHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgbm9kZXNEZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEZWxldGVFdmVudD4oKTtcbiAgICByZWFkb25seSBkaXNwbGF5VHlwZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVFbnRyaWVzRGlzcGxheVR5cGU+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbG9jYWxFdmVudHM6IExvY2FsRXZlbnRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU2VydmljZTogS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG9wdGlvbnNIZWxwZXJTZXJ2aWNlOiBPcHRpb25zSGVscGVyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlclN0YXRpY1N1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG4gICAgLyoqIFBlcmZvcm1zIHN1YnNjcmlwdGlvbnMgdGhhdCBkb24ndCBoYXZlIHRvIGJlIHJlZnJlc2hlZC4gKi9cbiAgICBwcml2YXRlIHJlZ2lzdGVyU3RhdGljU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbEV2ZW50cy5ub2Rlc0RlbGV0ZWRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5jb21wb25lbnRzPy5saXN0Py5kZWxldGVOb2Rlcyhub2RlcykpO1xuICAgICAgICB0aGlzLmxvY2FsRXZlbnRzLm5vZGVzQ2hhbmdlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5vZGVzKSA9PiB0aGlzLmNvbXBvbmVudHM/Lmxpc3Q/LnVwZGF0ZU5vZGVzKG5vZGVzKSk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdENvbXBvbmVudHMoXG4gICAgICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50ID0gbnVsbCxcbiAgICAgICAgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGVFbnRyaWVzRGF0YVR5cGU+ID0gbnVsbCxcbiAgICAgICAgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50ID0gbnVsbCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0ge1xuICAgICAgICAgICAgYWN0aW9uYmFyLFxuICAgICAgICAgICAgbGlzdCxcbiAgICAgICAgICAgIGRyb3Bkb3duLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoKGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlcihNRSkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSkucGVyc29uLmF1dGhvcml0eU5hbWUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubmV0d29ya1NlcnZpY2UuZ2V0UmVwb3NpdG9yaWVzKCkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldERhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfVxuXG4gICAgc2V0RGF0YShkYXRhOiBPcHRpb25EYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2Uud3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhKTtcbiAgICB9XG5cbiAgICBhc3luYyByZWZyZXNoQ29tcG9uZW50cyhyZWZyZXNoTGlzdE9wdGlvbnMgPSB0cnVlKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zIGhlbHBlciByZWZyZXNoIGNhbGxlZCBidXQgbm8gZGF0YSBwcmV2aW91c2x5IGJvdW5kJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zSGVscGVyU2VydmljZSBub3QgcHJvdmlkZWQuIE5vIGRlZmF1bHQgYWN0aW9ucyB3aWxsIGJlIGdlbmVyYXRlZCcpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2xvYmFsT3B0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0QXZhaWxhYmxlT3B0aW9ucyhUYXJnZXQuQWN0aW9uYmFyKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8ucmVmcmVzaENvbXBvbmVudHMoXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICAgICByZWZyZXNoTGlzdE9wdGlvbnMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlT3B0aW9ucyh0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8uZ2V0QXZhaWxhYmxlT3B0aW9ucyhcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIG9iamVjdHMsXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRWaXJ0dWFsT2JqZWN0cyhvYmplY3RzOiBhbnlbXSkge1xuICAgICAgICBvYmplY3RzID0gb2JqZWN0cy5tYXAoKG86IGFueSkgPT4ge1xuICAgICAgICAgICAgby52aXJ0dWFsID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBvO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52aXJ0dWFsTm9kZXNBZGRlZC5lbWl0KG9iamVjdHMpO1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRzPy5saXN0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHM/Lmxpc3QuYWRkVmlydHVhbE5vZGVzKG9iamVjdHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJHbG9iYWxLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5rZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbiA9IGZyb21FdmVudChkb2N1bWVudCwgJ2tleWRvd24nKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5oYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5nbG9iYWxPcHRpb25zICYmICF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU2VydmljZT8uc2hvdWxkSWdub3JlU2hvcnRjdXQoZXZlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gdGhpcy5nbG9iYWxPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgICAgKG9wdGlvbjogT3B0aW9uSXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmlzRW5hYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCAmJlxuICAgICAgICAgICAgICAgICAgICBtYXRjaGVzU2hvcnRjdXRDb25kaXRpb24oZXZlbnQsIG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAobWF0Y2hlZE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IG1hdGNoZWRPcHRpb24uY2FsbGJhY2sobnVsbCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZpbHRlck9wdGlvbnMob3B0aW9uczogT3B0aW9uSXRlbVtdLCB0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdIHwgYW55ID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS5maWx0ZXJPcHRpb25zKG9wdGlvbnMsIHRhcmdldCwgdGhpcy5kYXRhLCBvYmplY3RzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogc2hvcnRjdXQgdG8gc2ltcGx5IGRpc2FibGUgYWxsIG9wdGlvbnMgb24gdGhlIGdpdmVuIGNvbXBvZW5udHNcbiAgICAgKiBAcGFyYW0gYWN0aW9uYmFyXG4gICAgICogQHBhcmFtIGxpc3RcbiAgICAgKi9cbiAgICBjbGVhckNvbXBvbmVudHMoYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQsIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlPiA9IG51bGwpIHtcbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICAgIGxpc3Quc2V0T3B0aW9ucyhudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uYmFyKSB7XG4gICAgICAgICAgICBhY3Rpb25iYXIub3B0aW9ucyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFzdGVOb2RlKG5vZGVzOiBOb2RlW10gPSBbXSkge1xuICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLnBhc3RlTm9kZSh0aGlzLmNvbXBvbmVudHMsIHRoaXMuZGF0YSwgbm9kZXMpO1xuICAgIH1cbn1cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNC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O2tCQURwQyxVQUFVOzswQkFvQkYsUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7XG4gICAgTGlzdEV2ZW50SW50ZXJmYWNlLFxuICAgIE5vZGVFbnRyaWVzRGF0YVR5cGUsXG4gICAgTm9kZUVudHJpZXNEaXNwbGF5VHlwZSxcbn0gZnJvbSAnLi4vbm9kZS1lbnRyaWVzL2VudHJpZXMtbW9kZWwnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgTUUsIE5ldHdvcmtTZXJ2aWNlLCBOb2RlLCBVc2VyU2VydmljZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ3VzdG9tT3B0aW9ucywgT3B0aW9uSXRlbSwgU2NvcGUsIFRhcmdldCB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IE9wdGlvbnNIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC9vcHRpb25zLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXRjaGVzU2hvcnRjdXRDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC9rZXlib2FyZC1zaG9ydGN1dHMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2NhbEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL2xvY2FsLWV2ZW50cy5zZXJ2aWNlJztcblxudHlwZSBEZWxldGVFdmVudCA9IHtcbiAgICBvYmplY3RzOiBOb2RlW10gfCBhbnk7XG4gICAgY291bnQ6IG51bWJlcjtcbiAgICBlcnJvcjogYm9vbGVhbjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnNIZWxwZXJDb21wb25lbnRzIHtcbiAgICBhY3Rpb25iYXI6IEFjdGlvbmJhckNvbXBvbmVudDtcbiAgICBkcm9wZG93bjogRHJvcGRvd25Db21wb25lbnQ7XG4gICAgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGVFbnRyaWVzRGF0YVR5cGU+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbkRhdGEge1xuICAgIHNjb3BlOiBTY29wZTtcbiAgICBhY3RpdmVPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgc2VsZWN0ZWRPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgYWxsT2JqZWN0cz86IE5vZGVbXSB8IGFueVtdO1xuICAgIHBhcmVudD86IE5vZGUgfCBhbnk7XG4gICAgY3VzdG9tT3B0aW9ucz86IEN1c3RvbU9wdGlvbnM7XG4gICAgLyoqXG4gICAgICogY3VzdG9tIGludGVyY2VwdG9yIHRvIG1vZGlmeSB0aGUgZGVmYXVsdCBvcHRpb25zIGFycmF5XG4gICAgICovXG4gICAgcG9zdFByZXBhcmVPcHRpb25zPzogKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgb2JqZWN0czogTm9kZVtdKSA9PiB2b2lkO1xufVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9wdGlvbnNIZWxwZXJEYXRhU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBjb21wb25lbnRzOiBPcHRpb25zSGVscGVyQ29tcG9uZW50cztcbiAgICBwcml2YXRlIGRhdGE6IE9wdGlvbkRhdGE7XG4gICAgcHJpdmF0ZSBrZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgZ2xvYmFsT3B0aW9uczogT3B0aW9uSXRlbVtdO1xuICAgIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHJlYWRvbmx5IHZpcnR1YWxOb2Rlc0FkZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlW10+KCk7XG4gICAgcmVhZG9ubHkgbm9kZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlW10gfCB2b2lkPigpO1xuICAgIHJlYWRvbmx5IG5vZGVzRGVsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGVsZXRlRXZlbnQ+KCk7XG4gICAgcmVhZG9ubHkgZGlzcGxheVR5cGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxOb2RlRW50cmllc0Rpc3BsYXlUeXBlPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGxvY2FsRXZlbnRzOiBMb2NhbEV2ZW50c1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBrZXlib2FyZFNob3J0Y3V0c1NlcnZpY2U6IEtleWJvYXJkU2hvcnRjdXRzU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBvcHRpb25zSGVscGVyU2VydmljZTogT3B0aW9uc0hlbHBlclNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJTdGF0aWNTdWJzY3JpcHRpb25zKCk7XG4gICAgfVxuICAgIC8qKiBQZXJmb3JtcyBzdWJzY3JpcHRpb25zIHRoYXQgZG9uJ3QgaGF2ZSB0byBiZSByZWZyZXNoZWQuICovXG4gICAgcHJpdmF0ZSByZWdpc3RlclN0YXRpY1N1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxFdmVudHMubm9kZXNEZWxldGVkXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobm9kZXMpID0+IHRoaXMuY29tcG9uZW50cz8ubGlzdD8uZGVsZXRlTm9kZXMobm9kZXMpKTtcbiAgICAgICAgdGhpcy5sb2NhbEV2ZW50cy5ub2Rlc0NoYW5nZWRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5jb21wb25lbnRzPy5saXN0Py51cGRhdGVOb2Rlcyhub2RlcykpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGFzeW5jIGluaXRDb21wb25lbnRzKFxuICAgICAgICBhY3Rpb25iYXI6IEFjdGlvbmJhckNvbXBvbmVudCA9IG51bGwsXG4gICAgICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlRW50cmllc0RhdGFUeXBlPiA9IG51bGwsXG4gICAgICAgIGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudCA9IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50cyA9IHtcbiAgICAgICAgICAgIGFjdGlvbmJhcixcbiAgICAgICAgICAgIGxpc3QsXG4gICAgICAgICAgICBkcm9wZG93bixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKChhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmdldFVzZXIoTUUpLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCkpLnBlcnNvbi5hdXRob3JpdHlOYW1lKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLm5ldHdvcmtTZXJ2aWNlLmdldFJlcG9zaXRvcmllcygpLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhO1xuICAgIH1cblxuICAgIHNldERhdGEoZGF0YTogT3B0aW9uRGF0YSkge1xuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLndyYXBPcHRpb25DYWxsYmFja3MoZGF0YSk7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVmcmVzaENvbXBvbmVudHMocmVmcmVzaExpc3RPcHRpb25zID0gdHJ1ZSkge1xuICAgICAgICBpZiAodGhpcy5kYXRhID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybignb3B0aW9ucyBoZWxwZXIgcmVmcmVzaCBjYWxsZWQgYnV0IG5vIGRhdGEgcHJldmlvdXNseSBib3VuZCcpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybignb3B0aW9uc0hlbHBlclNlcnZpY2Ugbm90IHByb3ZpZGVkLiBObyBkZWZhdWx0IGFjdGlvbnMgd2lsbCBiZSBnZW5lcmF0ZWQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdsb2JhbE9wdGlvbnMgPSBhd2FpdCB0aGlzLmdldEF2YWlsYWJsZU9wdGlvbnMoVGFyZ2V0LkFjdGlvbmJhcik7XG4gICAgICAgIGF3YWl0IHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2U/LnJlZnJlc2hDb21wb25lbnRzKFxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzLFxuICAgICAgICAgICAgdGhpcy5kYXRhLFxuICAgICAgICAgICAgcmVmcmVzaExpc3RPcHRpb25zLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEF2YWlsYWJsZU9wdGlvbnModGFyZ2V0OiBUYXJnZXQsIG9iamVjdHM6IE5vZGVbXSA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2U/LmdldEF2YWlsYWJsZU9wdGlvbnMoXG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICBvYmplY3RzLFxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzLFxuICAgICAgICAgICAgdGhpcy5kYXRhLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkVmlydHVhbE9iamVjdHMob2JqZWN0czogYW55W10pIHtcbiAgICAgICAgb2JqZWN0cyA9IG9iamVjdHMubWFwKChvOiBhbnkpID0+IHtcbiAgICAgICAgICAgIG8udmlydHVhbCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gbztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudmlydHVhbE5vZGVzQWRkZWQuZW1pdChvYmplY3RzKTtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50cz8ubGlzdCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzPy5saXN0LmFkZFZpcnR1YWxOb2RlcyhvYmplY3RzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyR2xvYmFsS2V5Ym9hcmRTaG9ydGN1dHMoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5rZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMua2V5Ym9hcmRTaG9ydGN1dHNTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdrZXlkb3duJylcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2xvYmFsT3B0aW9ucyAmJiAhdGhpcy5rZXlib2FyZFNob3J0Y3V0c1NlcnZpY2U/LnNob3VsZElnbm9yZVNob3J0Y3V0KGV2ZW50KSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbiA9IHRoaXMuZ2xvYmFsT3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgIChvcHRpb246IE9wdGlvbkl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5pc0VuYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlc1Nob3J0Y3V0Q29uZGl0aW9uKGV2ZW50LCBvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKG1hdGNoZWRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiBtYXRjaGVkT3B0aW9uLmNhbGxiYWNrKG51bGwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmaWx0ZXJPcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgdGFyZ2V0OiBUYXJnZXQsIG9iamVjdHM6IE5vZGVbXSB8IGFueSA9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UuZmlsdGVyT3B0aW9ucyhvcHRpb25zLCB0YXJnZXQsIHRoaXMuZGF0YSwgb2JqZWN0cyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIHNob3J0Y3V0IHRvIHNpbXBseSBkaXNhYmxlIGFsbCBvcHRpb25zIG9uIHRoZSBnaXZlbiBjb21wb2VubnRzXG4gICAgICogQHBhcmFtIGFjdGlvbmJhclxuICAgICAqIEBwYXJhbSBsaXN0XG4gICAgICovXG4gICAgY2xlYXJDb21wb25lbnRzKGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50LCBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZT4gPSBudWxsKSB7XG4gICAgICAgIGlmIChsaXN0KSB7XG4gICAgICAgICAgICBsaXN0LnNldE9wdGlvbnMobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFjdGlvbmJhcikge1xuICAgICAgICAgICAgYWN0aW9uYmFyLm9wdGlvbnMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhc3RlTm9kZShub2RlczogTm9kZVtdID0gW10pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS5wYXN0ZU5vZGUodGhpcy5jb21wb25lbnRzLCB0aGlzLmRhdGEsIHRydWUsIG5vZGVzKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MdsHelperService } from '../mds/mds-helper.service';
3
+ import { MdsService } from 'ngx-edu-sharing-api';
4
+ import * as i0 from "@angular/core";
5
+ export class SearchHelperService {
6
+ static { this.MAX_QUERY_CONCAT_PARAMS = 400; }
7
+ constructor() { }
8
+ /**
9
+ * converts given filter criteria and converts them for a body to be used for a search request
10
+ * @param properties
11
+ * @param mdsWidgets
12
+ * @param unfoldTrees
13
+ */
14
+ convertCritieria(properties, mdsWidgets, unfoldTrees = true) {
15
+ const criteria = [];
16
+ // deep copy
17
+ properties = JSON.parse(JSON.stringify(properties));
18
+ for (const property in properties) {
19
+ let widget = MdsHelperService.getWidget(property, undefined, mdsWidgets);
20
+ if (widget && widget.type == 'multivalueTree' && unfoldTrees) {
21
+ let attach = MdsService.unfoldTreeChilds(properties[property], widget);
22
+ if (attach) {
23
+ if (attach.length > SearchHelperService.MAX_QUERY_CONCAT_PARAMS) {
24
+ console.info('param ' +
25
+ property +
26
+ ' has too many unfold childs (' +
27
+ attach.length +
28
+ '), falling back to basic prefix-based search');
29
+ }
30
+ else {
31
+ properties[property] = properties[property].concat(attach);
32
+ }
33
+ }
34
+ }
35
+ if (properties[property]?.length && properties[property].every((p) => p != null && !!p))
36
+ criteria.push({
37
+ property: property,
38
+ values: properties[property],
39
+ });
40
+ }
41
+ return criteria;
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SearchHelperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SearchHelperService, providedIn: 'root' }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SearchHelperService, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root',
50
+ }]
51
+ }], ctorParameters: () => [] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9zZWFyY2gtaGVscGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0scUJBQXFCLENBQUM7O0FBTzVELE1BQU0sT0FBTyxtQkFBbUI7YUFDWiw0QkFBdUIsR0FBRyxHQUFHLEFBQU4sQ0FBTztJQUU5QyxnQkFBZSxDQUFDO0lBRWhCOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxVQUF1QixFQUFFLFdBQVcsR0FBRyxJQUFJO1FBQzVFLE1BQU0sUUFBUSxHQUdSLEVBQUUsQ0FBQztRQUNULFlBQVk7UUFDWixVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDcEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQyxJQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN6RSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLGdCQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUMzRCxJQUFJLE1BQU0sR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN2RSxJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNULElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO3dCQUM5RCxPQUFPLENBQUMsSUFBSSxDQUNSLFFBQVE7NEJBQ0osUUFBUTs0QkFDUiwrQkFBK0I7NEJBQy9CLE1BQU0sQ0FBQyxNQUFNOzRCQUNiLDhDQUE4QyxDQUNyRCxDQUFDO29CQUNOLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDL0QsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25GLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ1YsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLE1BQU0sRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2lCQUMvQixDQUFDLENBQUM7UUFDWCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs4R0EzQ1EsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1kc0hlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9tZHMvbWRzLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1kc1NlcnZpY2UsIE1kc1dpZGdldCB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuXG5leHBvcnQgdHlwZSBWYWx1ZXMgPSB7IFtwOiBzdHJpbmddOiBzdHJpbmdbXSB9O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hIZWxwZXJTZXJ2aWNlIHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgTUFYX1FVRVJZX0NPTkNBVF9QQVJBTVMgPSA0MDA7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBnaXZlbiBmaWx0ZXIgY3JpdGVyaWEgYW5kIGNvbnZlcnRzIHRoZW0gZm9yIGEgYm9keSB0byBiZSB1c2VkIGZvciBhIHNlYXJjaCByZXF1ZXN0XG4gICAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICAgKiBAcGFyYW0gbWRzV2lkZ2V0c1xuICAgICAqIEBwYXJhbSB1bmZvbGRUcmVlc1xuICAgICAqL1xuICAgIGNvbnZlcnRDcml0aWVyaWEocHJvcGVydGllczogVmFsdWVzLCBtZHNXaWRnZXRzOiBNZHNXaWRnZXRbXSwgdW5mb2xkVHJlZXMgPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IGNyaXRlcmlhOiB7XG4gICAgICAgICAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgICAgICAgICAgdmFsdWVzOiBzdHJpbmdbXTtcbiAgICAgICAgfVtdID0gW107XG4gICAgICAgIC8vIGRlZXAgY29weVxuICAgICAgICBwcm9wZXJ0aWVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwcm9wZXJ0aWVzKSk7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgICAgbGV0IHdpZGdldCA9IE1kc0hlbHBlclNlcnZpY2UuZ2V0V2lkZ2V0KHByb3BlcnR5LCB1bmRlZmluZWQsIG1kc1dpZGdldHMpO1xuICAgICAgICAgICAgaWYgKHdpZGdldCAmJiB3aWRnZXQudHlwZSA9PSAnbXVsdGl2YWx1ZVRyZWUnICYmIHVuZm9sZFRyZWVzKSB7XG4gICAgICAgICAgICAgICAgbGV0IGF0dGFjaCA9IE1kc1NlcnZpY2UudW5mb2xkVHJlZUNoaWxkcyhwcm9wZXJ0aWVzW3Byb3BlcnR5XSwgd2lkZ2V0KTtcbiAgICAgICAgICAgICAgICBpZiAoYXR0YWNoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhdHRhY2gubGVuZ3RoID4gU2VhcmNoSGVscGVyU2VydmljZS5NQVhfUVVFUllfQ09OQ0FUX1BBUkFNUykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJhbSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIGhhcyB0b28gbWFueSB1bmZvbGQgY2hpbGRzICgnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0YWNoLmxlbmd0aCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcpLCBmYWxsaW5nIGJhY2sgdG8gYmFzaWMgcHJlZml4LWJhc2VkIHNlYXJjaCcsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllc1twcm9wZXJ0eV0gPSBwcm9wZXJ0aWVzW3Byb3BlcnR5XS5jb25jYXQoYXR0YWNoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wZXJ0aWVzW3Byb3BlcnR5XT8ubGVuZ3RoICYmIHByb3BlcnRpZXNbcHJvcGVydHldLmV2ZXJ5KChwKSA9PiBwICE9IG51bGwgJiYgISFwKSlcbiAgICAgICAgICAgICAgICBjcml0ZXJpYS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydHk6IHByb3BlcnR5LFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHByb3BlcnRpZXNbcHJvcGVydHldLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjcml0ZXJpYTtcbiAgICB9XG59XG4iXX0=