@tetacom/ng-components 1.0.17 → 1.0.21

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 (27) hide show
  1. package/common/util/position-util.d.ts +1 -1
  2. package/component/table/contract/table-context-menu-config.d.ts +2 -0
  3. package/component/table/public-api.d.ts +4 -0
  4. package/component/table/service/table.service.d.ts +1 -0
  5. package/component/table/table-body/table-body.component.d.ts +3 -2
  6. package/component/table/table.module.d.ts +2 -1
  7. package/component/table/util/public-api.d.ts +2 -0
  8. package/esm2020/common/util/position-util.mjs +13 -4
  9. package/esm2020/component/chart/model/chart-options.mjs +7 -2
  10. package/esm2020/component/dropdown/dropdown-base.mjs +24 -16
  11. package/esm2020/component/filter/contarct/filter-item.mjs +15 -23
  12. package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +2 -2
  13. package/esm2020/component/table/contract/table-column.mjs +21 -39
  14. package/esm2020/component/table/contract/table-context-menu-config.mjs +3 -1
  15. package/esm2020/component/table/public-api.mjs +5 -1
  16. package/esm2020/component/table/service/table.service.mjs +5 -4
  17. package/esm2020/component/table/table/table.component.mjs +3 -3
  18. package/esm2020/component/table/table-body/table-body.component.mjs +21 -16
  19. package/esm2020/component/table/table.module.mjs +6 -2
  20. package/esm2020/component/table/util/public-api.mjs +3 -0
  21. package/esm2020/component/table/util/table-util.mjs +1 -1
  22. package/fesm2015/tetacom-ng-components.mjs +101 -99
  23. package/fesm2015/tetacom-ng-components.mjs.map +1 -1
  24. package/fesm2020/tetacom-ng-components.mjs +103 -99
  25. package/fesm2020/tetacom-ng-components.mjs.map +1 -1
  26. package/package.json +1 -1
  27. package/style/progress.scss +6 -6
@@ -2,7 +2,7 @@ import { IRect } from '../contract/i-rect';
2
2
  import { Align } from '../enum/align.enum';
3
3
  import { VerticalAlign } from '../enum/vertical-align.enum';
4
4
  export declare class PositionUtil {
5
- static getPosition(containerPosition: IRect, elementPosition: IRect, align: Align, verticalAlign: VerticalAlign, margin?: number, verticalMargin?: number): IRect;
5
+ static getPosition(containerPosition: IRect, elementPosition: IRect, align: Align, verticalAlign: VerticalAlign, margin?: number, verticalMargin?: number, transformedParentRect?: IRect): IRect;
6
6
  static setElementPosition(element: HTMLElement, rect: IRect): void;
7
7
  static getMaxHeight(position: IRect): number | null;
8
8
  static getMaxWidth(position: IRect): number | null;
@@ -3,10 +3,12 @@ export declare class TableContextMenuConfig {
3
3
  copy: boolean;
4
4
  delete: boolean;
5
5
  add: boolean;
6
+ paste: boolean;
6
7
  constructor(options?: {
7
8
  contextMenu?: boolean;
8
9
  copy?: boolean;
9
10
  delete?: boolean;
10
11
  add?: boolean;
12
+ paste?: boolean;
11
13
  });
12
14
  }
@@ -36,3 +36,7 @@ export * from './contract/public-api';
36
36
  * enum
37
37
  */
38
38
  export * from './enum/public-api';
39
+ /**
40
+ * enum
41
+ */
42
+ export * from './util/public-api';
@@ -37,6 +37,7 @@ export declare class TableService<T> {
37
37
  rowEditable: boolean | ((row: TableRow<T>) => boolean);
38
38
  cellEditable: boolean | ((row: ICellCoordinates<T>) => boolean);
39
39
  get dragSource(): TableColumn;
40
+ private initialColumnsHash;
40
41
  private initialColumns;
41
42
  private displayColumns;
42
43
  private _columns;
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, Type } from '@angular/core';
1
+ import { ChangeDetectorRef, OnDestroy, OnInit, Type } from '@angular/core';
2
2
  import { TableRow } from '../contract/table-row';
3
3
  import { TableColumn } from '../contract/table-column';
4
4
  import { GroupRowComponentBase } from '../base/group-row-component-base';
@@ -8,6 +8,7 @@ import { SelectType } from '../enum/select-type.enum';
8
8
  import { IDictionary } from '../../../common/contract/i-dictionary';
9
9
  import { IIdName } from '../../../common/contract/i-id-name';
10
10
  import { IDatasource } from 'ngx-ui-scroll';
11
+ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
11
12
  import * as i0 from "@angular/core";
12
13
  export declare class TableBodyComponent<T> implements OnInit, OnDestroy {
13
14
  private _svc;
@@ -23,7 +24,7 @@ export declare class TableBodyComponent<T> implements OnInit, OnDestroy {
23
24
  openLevels: number;
24
25
  selectType: SelectType;
25
26
  rowClass: (row: TableRow<T>, index?: number) => string;
26
- viewport: ElementRef;
27
+ viewport: CdkVirtualScrollViewport;
27
28
  private readonly tableBodyClass;
28
29
  set data(data: TableRow<T>[]);
29
30
  get data(): TableRow<T>[];
@@ -36,8 +36,9 @@ import * as i34 from "ngx-ui-scroll";
36
36
  import * as i35 from "../toolbar/toolbar.module";
37
37
  import * as i36 from "../../directive/click-outside/click-outside.module";
38
38
  import * as i37 from "../../directive/resize-drag/resize-drag.module";
39
+ import * as i38 from "@angular/cdk/scrolling";
39
40
  export declare class TableModule {
40
41
  static ɵfac: i0.ɵɵFactoryDeclaration<TableModule, never>;
41
- static ɵmod: i0.ɵɵNgModuleDeclaration<TableModule, [typeof i1.TableComponent, typeof i2.NumericCellComponent, typeof i3.ListCellComponent, typeof i4.DateCellComponent, typeof i5.StringCellComponent, typeof i6.HeadCellHostComponent, typeof i7.TableHeadComponent, typeof i8.TableBodyComponent, typeof i9.CellComponent, typeof i10.CellHostComponent, typeof i11.GroupRowComponent, typeof i12.TableHeadGroupComponent, typeof i13.HeadCellComponent, typeof i14.DefaultHeadCellComponent, typeof i15.SelectionCellComponent, typeof i16.SelectionHeadCellComponent, typeof i17.HeadCellDropdownComponent, typeof i18.DateTimeCellComponent, typeof i19.BooleanCellComponent], [typeof i20.CommonModule, typeof i21.FilterModule, typeof i22.FormsModule, typeof i23.CheckboxModule, typeof i24.IconModule, typeof i25.DropdownModule, typeof i26.TabsModule, typeof i27.SelectModule, typeof i28.NumberPipeModule, typeof i29.DatePickerModule, typeof i30.ButtonModule, typeof i31.HintModule, typeof i32.TreeModule, typeof i33.OnlyNumberModule, typeof i34.UiScrollModule, typeof i35.ToolbarModule, typeof i36.ClickOutsideModule, typeof i37.ResizeDragModule], [typeof i1.TableComponent, typeof i2.NumericCellComponent, typeof i3.ListCellComponent, typeof i4.DateCellComponent, typeof i5.StringCellComponent, typeof i6.HeadCellHostComponent, typeof i7.TableHeadComponent, typeof i8.TableBodyComponent, typeof i9.CellComponent, typeof i10.CellHostComponent, typeof i11.GroupRowComponent, typeof i18.DateTimeCellComponent, typeof i19.BooleanCellComponent]>;
42
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TableModule, [typeof i1.TableComponent, typeof i2.NumericCellComponent, typeof i3.ListCellComponent, typeof i4.DateCellComponent, typeof i5.StringCellComponent, typeof i6.HeadCellHostComponent, typeof i7.TableHeadComponent, typeof i8.TableBodyComponent, typeof i9.CellComponent, typeof i10.CellHostComponent, typeof i11.GroupRowComponent, typeof i12.TableHeadGroupComponent, typeof i13.HeadCellComponent, typeof i14.DefaultHeadCellComponent, typeof i15.SelectionCellComponent, typeof i16.SelectionHeadCellComponent, typeof i17.HeadCellDropdownComponent, typeof i18.DateTimeCellComponent, typeof i19.BooleanCellComponent], [typeof i20.CommonModule, typeof i21.FilterModule, typeof i22.FormsModule, typeof i23.CheckboxModule, typeof i24.IconModule, typeof i25.DropdownModule, typeof i26.TabsModule, typeof i27.SelectModule, typeof i28.NumberPipeModule, typeof i29.DatePickerModule, typeof i30.ButtonModule, typeof i31.HintModule, typeof i32.TreeModule, typeof i33.OnlyNumberModule, typeof i34.UiScrollModule, typeof i35.ToolbarModule, typeof i36.ClickOutsideModule, typeof i37.ResizeDragModule, typeof i38.ScrollingModule], [typeof i1.TableComponent, typeof i2.NumericCellComponent, typeof i3.ListCellComponent, typeof i4.DateCellComponent, typeof i5.StringCellComponent, typeof i6.HeadCellHostComponent, typeof i7.TableHeadComponent, typeof i8.TableBodyComponent, typeof i9.CellComponent, typeof i10.CellHostComponent, typeof i11.GroupRowComponent, typeof i18.DateTimeCellComponent, typeof i19.BooleanCellComponent]>;
42
43
  static ɵinj: i0.ɵɵInjectorDeclaration<TableModule>;
43
44
  }
@@ -0,0 +1,2 @@
1
+ export * from './state-util';
2
+ export * from './table-util';
@@ -1,7 +1,12 @@
1
1
  import { Align } from '../enum/align.enum';
2
2
  import { VerticalAlign } from '../enum/vertical-align.enum';
3
3
  export class PositionUtil {
4
- static getPosition(containerPosition, elementPosition, align, verticalAlign, margin = 0, verticalMargin = 0) {
4
+ static getPosition(containerPosition, elementPosition, align, verticalAlign, margin = 0, verticalMargin = 0, transformedParentRect = {
5
+ left: 0,
6
+ right: 0,
7
+ top: 0,
8
+ bottom: 0
9
+ }) {
5
10
  const rect = {};
6
11
  const elementWidth = elementPosition.right - elementPosition.left;
7
12
  const elementHeight = elementPosition.bottom - elementPosition.top;
@@ -37,7 +42,7 @@ export class PositionUtil {
37
42
  }
38
43
  }
39
44
  if (verticalAlign === VerticalAlign.top) {
40
- rect.bottom = window.innerHeight - containerPosition.top + verticalMargin;
45
+ rect.top = containerPosition.top - elementHeight - verticalMargin;
41
46
  }
42
47
  if (verticalAlign === VerticalAlign.bottom) {
43
48
  rect.top = containerPosition.bottom + verticalMargin;
@@ -56,12 +61,16 @@ export class PositionUtil {
56
61
  if (rect.top < 0) {
57
62
  rect.top = 0;
58
63
  }
59
- if (verticalAlign === VerticalAlign.bottom) {
64
+ if (verticalAlign === VerticalAlign.bottom || verticalAlign === VerticalAlign.center) {
60
65
  rect.maxHeight = window.innerHeight - rect.top;
61
66
  }
62
67
  if (verticalAlign === VerticalAlign.top) {
63
68
  rect.maxHeight = containerPosition.top;
64
69
  }
70
+ rect.left = rect.left - transformedParentRect.left;
71
+ rect.right = rect.right - transformedParentRect.left;
72
+ rect.top = rect.top - transformedParentRect.top;
73
+ rect.bottom = rect.bottom ? rect.bottom - transformedParentRect.bottom : rect.bottom;
65
74
  return rect;
66
75
  }
67
76
  static setElementPosition(element, rect) {
@@ -84,4 +93,4 @@ export class PositionUtil {
84
93
  return maxWidth;
85
94
  }
86
95
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RCxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsV0FBVyxDQUN2QixpQkFBd0IsRUFDeEIsZUFBc0IsRUFDdEIsS0FBWSxFQUNaLGFBQTRCLEVBQzVCLFNBQWlCLENBQUMsRUFDbEIsaUJBQXlCLENBQUM7UUFFMUIsTUFBTSxJQUFJLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUN4RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQ3pFLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLEtBQUssR0FBRyxZQUFZLEdBQUcsTUFBTSxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFD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IGZyb20gJy4uL2NvbnRyYWN0L2ktcmVjdCc7XG5pbXBvcnQgeyBBbGlnbiB9IGZyb20gJy4uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQgeyBWZXJ0aWNhbEFsaWduIH0gZnJvbSAnLi4vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0UG9zaXRpb24oXG4gICAgY29udGFpbmVyUG9zaXRpb246IElSZWN0LFxuICAgIGVsZW1lbnRQb3NpdGlvbjogSVJlY3QsXG4gICAgYWxpZ246IEFsaWduLFxuICAgIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24sXG4gICAgbWFyZ2luOiBudW1iZXIgPSAwLFxuICAgIHZlcnRpY2FsTWFyZ2luOiBudW1iZXIgPSAwXG4gICk6IElSZWN0IHtcbiAgICBjb25zdCByZWN0OiBJUmVjdCA9IHt9O1xuICAgIGNvbnN0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnRQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRQb3NpdGlvbi5sZWZ0O1xuICAgIGNvbnN0IGVsZW1lbnRIZWlnaHQgPSBlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcDtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0IC0gY29udGFpbmVyUG9zaXRpb24ubGVmdDtcbiAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gLSBjb250YWluZXJQb3NpdGlvbi50b3A7XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5sZWZ0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLnJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRXaWR0aCAtIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QubGVmdCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgY29udGFpbmVyUG9zaXRpb24ucmlnaHQpIC8gMiAtXG4gICAgICAgIGVsZW1lbnRXaWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24uZml0V2lkdGgpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgICByZWN0LnJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSBjb250YWluZXJQb3NpdGlvbi5yaWdodCArIG1hcmdpbjtcbiAgICB9XG5cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLm1pbldpZHRoKSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgICAgcmVjdC5taW5XaWR0aCA9IGNvbnRhaW5lcldpZHRoO1xuICAgIH1cblxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmF1dG8pIHtcbiAgICAgIGlmIChcbiAgICAgICAgY29udGFpbmVyUG9zaXRpb24uYm90dG9tICtcbiAgICAgICAgICAoZWxlbWVudFBvc2l0aW9uLmJvdHRvbSAtIGVsZW1lbnRQb3NpdGlvbi50b3ApIDw9XG4gICAgICAgIHdpbmRvdy5pbm5lckhlaWdodFxuICAgICAgKSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmJvdHRvbTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLnRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24udG9wKSB7XG4gICAgICByZWN0LmJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGNvbnRhaW5lclBvc2l0aW9uLnRvcCArIHZlcnRpY2FsTWFyZ2luO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20pIHtcbiAgICAgIHJlY3QudG9wID0gY29udGFpbmVyUG9zaXRpb24uYm90dG9tICsgdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC50b3AgPVxuICAgICAgICAoY29udGFpbmVyUG9zaXRpb24udG9wICsgY29udGFpbmVyUG9zaXRpb24uYm90dG9tKSAvIDIgLVxuICAgICAgICBlbGVtZW50SGVpZ2h0IC8gMjtcbiAgICB9XG5cbiAgICBpZiAocmVjdC5sZWZ0IDwgMCkge1xuICAgICAgcmVjdC5sZWZ0ID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wICsgZWxlbWVudEhlaWdodCA+IHdpbmRvdy5pbm5lckhlaWdodCB8fCByZWN0LmJvdHRvbSA8IDApIHtcbiAgICAgIHJlY3QuYm90dG9tID0gMDtcbiAgICB9XG4gICAgaWYgKHJlY3QudG9wIDwgMCkge1xuICAgICAgcmVjdC50b3AgPSAwO1xuICAgIH1cbiAgICBpZiAodmVydGljYWxBbGlnbiA9PT0gVmVydGljYWxBbGlnbi5ib3R0b20pIHtcbiAgICAgIHJlY3QubWF4SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gcmVjdC50b3A7XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLnRvcCkge1xuICAgICAgcmVjdC5tYXhIZWlnaHQgPSBjb250YWluZXJQb3NpdGlvbi50b3A7XG4gICAgfVxuICAgIHJldHVybiByZWN0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRFbGVtZW50UG9zaXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQsIHJlY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gcmVjdC5sZWZ0ICE9IG51bGwgPyBgJHtyZWN0LmxlZnR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5yaWdodCA9IHJlY3QucmlnaHQgIT0gbnVsbCA/IGAke3JlY3QucmlnaHR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS50b3AgPSByZWN0LnRvcCAhPSBudWxsID8gYCR7cmVjdC50b3B9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5ib3R0b20gPSByZWN0LmJvdHRvbSAhPSBudWxsID8gYCR7cmVjdC5ib3R0b219cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPVxuICAgICAgcmVjdC5tYXhIZWlnaHQgIT0gbnVsbCA/IGAke3JlY3QubWF4SGVpZ2h0fXB4YCA6ICcnO1xuICAgIGVsZW1lbnQuc3R5bGUubWluV2lkdGggPSByZWN0Lm1pbldpZHRoICE9IG51bGwgPyBgJHtyZWN0Lm1pbldpZHRofXB4YCA6ICcnO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRNYXhIZWlnaHQocG9zaXRpb246IElSZWN0KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IG1heEhlaWdodCA9IG51bGw7XG4gICAgbWF4SGVpZ2h0ID0gMTtcbiAgICByZXR1cm4gbWF4SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRNYXhXaWR0aChwb3NpdGlvbjogSVJlY3QpOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgbWF4V2lkdGggPSBudWxsO1xuICAgIG1heFdpZHRoID0gMTtcbiAgICByZXR1cm4gbWF4V2lkdGg7XG4gIH1cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24tdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sWUFBWTtJQUNoQixNQUFNLENBQUMsV0FBVyxDQUN2QixpQkFBd0IsRUFDeEIsZUFBc0IsRUFDdEIsS0FBWSxFQUNaLGFBQTRCLEVBQzVCLFNBQWlCLENBQUMsRUFDbEIsaUJBQXlCLENBQUMsRUFDMUIsd0JBQStCO1FBQzdCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQztRQUNOLE1BQU0sRUFBRSxDQUFDO0tBQ1Y7UUFFRCxNQUFNLElBQUksR0FBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ2xFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQztRQUNuRSxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBQ3hFLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7UUFDekUsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7U0FDN0M7UUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLFlBQVksR0FBRyxNQUFNLENBQUM7U0FDN0Q7UUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzFCLElBQUksQ0FBQyxJQUFJO2dCQUNQLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7b0JBQ3RELFlBQVksR0FBRyxDQUFDLENBQUM7U0FDcEI7UUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztTQUNuRTtRQUVELElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRTtZQUN4QyxJQUNFLGlCQUFpQixDQUFDLE1BQU07Z0JBQ3hCLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDO2dCQUM5QyxNQUFNLENBQUMsV0FBVyxFQUNsQjtnQkFDQSxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUN0QztpQkFBTTtnQkFDTCxhQUFhLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQzthQUNuQztTQUNGO1FBQ0QsSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLEdBQUcsRUFBRTtZQUN2QyxJQUFJLENBQUMsR0FBRyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxhQUFhLEdBQUcsY0FBYyxDQUFDO1NBQ25FO1FBQ0QsSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxJQUFJLENBQUMsR0FBRyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUM7U0FDdEQ7UUFDRCxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQzFDLElBQUksQ0FBQyxHQUFHO2dCQUNOLENBQUMsaUJBQWlCLENBQUMsR0FBRyxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQ3RELGFBQWEsR0FBRyxDQUFDLENBQUM7U0FDckI7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsYUFBYSxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDcEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDakI7UUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsTUFBTSxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQ3BGLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLEdBQUcsRUFBRTtZQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQztRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcscUJBQXFCLENBQUMsR0FBRyxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLE9BQW9CLEVBQUUsSUFBVztRQUNoRSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvRCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRSxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDckIsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0UsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBZTtRQUN4QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDckIsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWU7UUFDdkMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lSZWN0fSBmcm9tICcuLi9jb250cmFjdC9pLXJlY3QnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0UG9zaXRpb24oXG4gICAgY29udGFpbmVyUG9zaXRpb246IElSZWN0LFxuICAgIGVsZW1lbnRQb3NpdGlvbjogSVJlY3QsXG4gICAgYWxpZ246IEFsaWduLFxuICAgIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24sXG4gICAgbWFyZ2luOiBudW1iZXIgPSAwLFxuICAgIHZlcnRpY2FsTWFyZ2luOiBudW1iZXIgPSAwLFxuICAgIHRyYW5zZm9ybWVkUGFyZW50UmVjdDogSVJlY3QgPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9XG4gICk6IElSZWN0IHtcbiAgICBjb25zdCByZWN0OiBJUmVjdCA9IHt9O1xuICAgIGNvbnN0IGVsZW1lbnRXaWR0aCA9IGVsZW1lbnRQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRQb3NpdGlvbi5sZWZ0O1xuICAgIGNvbnN0IGVsZW1lbnRIZWlnaHQgPSBlbGVtZW50UG9zaXRpb24uYm90dG9tIC0gZWxlbWVudFBvc2l0aW9uLnRvcDtcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IGNvbnRhaW5lclBvc2l0aW9uLnJpZ2h0IC0gY29udGFpbmVyUG9zaXRpb24ubGVmdDtcbiAgICBjb25zdCBjb250YWluZXJIZWlnaHQgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gLSBjb250YWluZXJQb3NpdGlvbi50b3A7XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5sZWZ0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgIH1cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLnJpZ2h0KSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5yaWdodCAtIGVsZW1lbnRXaWR0aCAtIG1hcmdpbjtcbiAgICB9XG4gICAgaWYgKGFsaWduID09PSBBbGlnbi5jZW50ZXIpIHtcbiAgICAgIHJlY3QubGVmdCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgY29udGFpbmVyUG9zaXRpb24ucmlnaHQpIC8gMiAtXG4gICAgICAgIGVsZW1lbnRXaWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChhbGlnbiA9PT0gQWxpZ24uZml0V2lkdGgpIHtcbiAgICAgIHJlY3QubGVmdCA9IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQgKyBtYXJnaW47XG4gICAgICByZWN0LnJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSBjb250YWluZXJQb3NpdGlvbi5yaWdodCArIG1hcmdpbjtcbiAgICB9XG5cbiAgICBpZiAoYWxpZ24gPT09IEFsaWduLm1pbldpZHRoKSB7XG4gICAgICByZWN0LmxlZnQgPSBjb250YWluZXJQb3NpdGlvbi5sZWZ0ICsgbWFyZ2luO1xuICAgICAgcmVjdC5taW5XaWR0aCA9IGNvbnRhaW5lcldpZHRoO1xuICAgIH1cblxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmF1dG8pIHtcbiAgICAgIGlmIChcbiAgICAgICAgY29udGFpbmVyUG9zaXRpb24uYm90dG9tICtcbiAgICAgICAgKGVsZW1lbnRQb3NpdGlvbi5ib3R0b20gLSBlbGVtZW50UG9zaXRpb24udG9wKSA8PVxuICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICkge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5ib3R0b207XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi50b3A7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLnRvcCkge1xuICAgICAgcmVjdC50b3AgPSBjb250YWluZXJQb3NpdGlvbi50b3AgLSBlbGVtZW50SGVpZ2h0IC0gdmVydGljYWxNYXJnaW47XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmJvdHRvbSkge1xuICAgICAgcmVjdC50b3AgPSBjb250YWluZXJQb3NpdGlvbi5ib3R0b20gKyB2ZXJ0aWNhbE1hcmdpbjtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24uY2VudGVyKSB7XG4gICAgICByZWN0LnRvcCA9XG4gICAgICAgIChjb250YWluZXJQb3NpdGlvbi50b3AgKyBjb250YWluZXJQb3NpdGlvbi5ib3R0b20pIC8gMiAtXG4gICAgICAgIGVsZW1lbnRIZWlnaHQgLyAyO1xuICAgIH1cblxuICAgIGlmIChyZWN0LmxlZnQgPCAwKSB7XG4gICAgICByZWN0LmxlZnQgPSAwO1xuICAgIH1cbiAgICBpZiAocmVjdC50b3AgKyBlbGVtZW50SGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0IHx8IHJlY3QuYm90dG9tIDwgMCkge1xuICAgICAgcmVjdC5ib3R0b20gPSAwO1xuICAgIH1cbiAgICBpZiAocmVjdC50b3AgPCAwKSB7XG4gICAgICByZWN0LnRvcCA9IDA7XG4gICAgfVxuICAgIGlmICh2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmJvdHRvbSB8fCB2ZXJ0aWNhbEFsaWduID09PSBWZXJ0aWNhbEFsaWduLmNlbnRlcikge1xuICAgICAgcmVjdC5tYXhIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSByZWN0LnRvcDtcbiAgICB9XG4gICAgaWYgKHZlcnRpY2FsQWxpZ24gPT09IFZlcnRpY2FsQWxpZ24udG9wKSB7XG4gICAgICByZWN0Lm1heEhlaWdodCA9IGNvbnRhaW5lclBvc2l0aW9uLnRvcDtcbiAgICB9XG4gICAgcmVjdC5sZWZ0ID0gcmVjdC5sZWZ0IC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LmxlZnQ7XG4gICAgcmVjdC5yaWdodCA9IHJlY3QucmlnaHQgLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QubGVmdDtcbiAgICByZWN0LnRvcCA9IHJlY3QudG9wIC0gdHJhbnNmb3JtZWRQYXJlbnRSZWN0LnRvcDtcbiAgICByZWN0LmJvdHRvbSA9IHJlY3QuYm90dG9tID8gcmVjdC5ib3R0b20gLSB0cmFuc2Zvcm1lZFBhcmVudFJlY3QuYm90dG9tIDogcmVjdC5ib3R0b207XG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNldEVsZW1lbnRQb3NpdGlvbihlbGVtZW50OiBIVE1MRWxlbWVudCwgcmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSByZWN0LmxlZnQgIT0gbnVsbCA/IGAke3JlY3QubGVmdH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLnJpZ2h0ID0gcmVjdC5yaWdodCAhPSBudWxsID8gYCR7cmVjdC5yaWdodH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLnRvcCA9IHJlY3QudG9wICE9IG51bGwgPyBgJHtyZWN0LnRvcH1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLmJvdHRvbSA9IHJlY3QuYm90dG9tICE9IG51bGwgPyBgJHtyZWN0LmJvdHRvbX1weGAgOiAnJztcbiAgICBlbGVtZW50LnN0eWxlLm1heEhlaWdodCA9XG4gICAgICByZWN0Lm1heEhlaWdodCAhPSBudWxsID8gYCR7cmVjdC5tYXhIZWlnaHR9cHhgIDogJyc7XG4gICAgZWxlbWVudC5zdHlsZS5taW5XaWR0aCA9IHJlY3QubWluV2lkdGggIT0gbnVsbCA/IGAke3JlY3QubWluV2lkdGh9cHhgIDogJyc7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1heEhlaWdodChwb3NpdGlvbjogSVJlY3QpOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgbWF4SGVpZ2h0ID0gbnVsbDtcbiAgICBtYXhIZWlnaHQgPSAxO1xuICAgIHJldHVybiBtYXhIZWlnaHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1heFdpZHRoKHBvc2l0aW9uOiBJUmVjdCk6IG51bWJlciB8IG51bGwge1xuICAgIGxldCBtYXhXaWR0aCA9IG51bGw7XG4gICAgbWF4V2lkdGggPSAxO1xuICAgIHJldHVybiBtYXhXaWR0aDtcbiAgfVxufVxuIl19
@@ -2,6 +2,7 @@ import { AxisOptions } from './axis-options';
2
2
  import { Series } from './series';
3
3
  import { TooltipOptions } from './tooltip-options';
4
4
  import { ChartBounds } from './chart-bounds';
5
+ import { LegendType } from './enum/legend-type';
5
6
  import { ZoomType } from './enum/zoom-type';
6
7
  export class ChartOptions {
7
8
  constructor(options) {
@@ -24,9 +25,13 @@ export class ChartOptions {
24
25
  this.gridLines = options?.gridLines == null ? true : options.gridLines;
25
26
  this.width = options?.width;
26
27
  this.height = options?.height;
27
- this.legend = { ...options?.legend };
28
+ this.legend = {
29
+ visible: true,
30
+ type: LegendType.swatches,
31
+ ...options?.legend,
32
+ };
28
33
  this.bounds = { ...this.bounds, ...options?.bounds };
29
34
  this.annotations = options?.annotations;
30
35
  }
31
36
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9jaGFydC9tb2RlbC9jaGFydC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTVDLE1BQU0sT0FBTyxZQUFZO0lBcUJ2QixZQUFZLE9Bb0JYO1FBdkJELFdBQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBd0J6QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRztZQUNWLE1BQU0sRUFBRSxLQUFLO1lBQ2IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3BCLEdBQUcsT0FBTyxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELEdBQUcsTUFBTTtZQUNULEVBQUUsRUFBRSxHQUFHO1NBQ1IsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN0RSxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF4aXNPcHRpb25zIH0gZnJvbSAnLi9heGlzLW9wdGlvbnMnO1xuaW1wb3J0IHsgU2VyaWVzIH0gZnJvbSAnLi9zZXJpZXMnO1xuaW1wb3J0IHsgQmFzZVBvaW50IH0gZnJvbSAnLi9wb2ludC9iYXNlLXBvaW50JztcbmltcG9ydCB7IFRvb2x0aXBPcHRpb25zIH0gZnJvbSAnLi90b29sdGlwLW9wdGlvbnMnO1xuaW1wb3J0IHsgQ2hhcnRCb3VuZHMgfSBmcm9tICcuL2NoYXJ0LWJvdW5kcyc7XG5pbXBvcnQgeyBMZWdlbmRUeXBlIH0gZnJvbSAnLi9lbnVtL2xlZ2VuZC10eXBlJztcbmltcG9ydCB7IFpvb21UeXBlIH0gZnJvbSAnLi9lbnVtL3pvb20tdHlwZSc7XG5pbXBvcnQgeyBab29tVHJhbnNmb3JtIH0gZnJvbSAnZDMnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbiB9IGZyb20gJy4vYW5ub3RhdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBDaGFydE9wdGlvbnMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNlcmllcz86IFNlcmllczxCYXNlUG9pbnQ+W107XG4gIGxlZ2VuZD86IHtcbiAgICB0eXBlPzogTGVnZW5kVHlwZTtcbiAgICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgfTtcbiAgem9vbT86IHtcbiAgICBlbmFibGU/OiBib29sZWFuO1xuICAgIHpvb21UeXBlPzogWm9vbVR5cGU7XG4gICAgem9vbVRyYW5zZm9ybT86IFpvb21UcmFuc2Zvcm07XG4gIH07XG4gIHRvb2x0aXA/OiBUb29sdGlwT3B0aW9ucztcbiAgeEF4aXM6IEF4aXNPcHRpb25zW107XG4gIHlBeGlzOiBBeGlzT3B0aW9uc1tdO1xuICBncmlkTGluZXM/OiBib29sZWFuO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBib3VuZHMgPSBuZXcgQ2hhcnRCb3VuZHMoKTtcbiAgYW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uW107XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHNlcmllcz86IFNlcmllczxCYXNlUG9pbnQ+W107XG4gICAgem9vbT86IHtcbiAgICAgIGVuYWJsZT86IGJvb2xlYW47XG4gICAgICB6b29tVHlwZT86IFpvb21UeXBlO1xuICAgICAgem9vbVRyYW5zZm9ybT86IFpvb21UcmFuc2Zvcm07XG4gICAgfTtcbiAgICB0b29sdGlwPzogVG9vbHRpcE9wdGlvbnM7XG4gICAgeEF4aXM6IEF4aXNPcHRpb25zW107XG4gICAgeUF4aXM6IEF4aXNPcHRpb25zW107XG4gICAgZ3JpZExpbmVzPzogYm9vbGVhbjtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgbGVnZW5kPzoge1xuICAgICAgdHlwZT86IExlZ2VuZFR5cGU7XG4gICAgICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgICB9O1xuICAgIGJvdW5kcz86IENoYXJ0Qm91bmRzO1xuICAgIGFubm90YXRpb25zPzogQW5ub3RhdGlvbltdO1xuICB9KSB7XG4gICAgdGhpcy5uYW1lID0gb3B0aW9ucz8ubmFtZTtcbiAgICB0aGlzLnpvb20gPSB7XG4gICAgICBlbmFibGU6IGZhbHNlLFxuICAgICAgem9vbVR5cGU6IFpvb21UeXBlLngsXG4gICAgICAuLi5vcHRpb25zPy56b29tLFxuICAgIH07XG4gICAgdGhpcy5zZXJpZXMgPSBvcHRpb25zPy5zZXJpZXM/Lm1hcCgoc2VyaWVzLCBpZHgpID0+ICh7XG4gICAgICAuLi5zZXJpZXMsXG4gICAgICBpZDogaWR4LFxuICAgIH0pKTtcbiAgICB0aGlzLnpvb20gPSB7IGVuYWJsZTogZmFsc2UsIHpvb21UeXBlOiBab29tVHlwZS54LCAuLi5vcHRpb25zPy56b29tIH07XG4gICAgdGhpcy5zZXJpZXMgPSBvcHRpb25zPy5zZXJpZXM/Lm1hcCgoc2VyaWVzLCBpZHgpID0+IG5ldyBTZXJpZXMoc2VyaWVzKSk7XG4gICAgdGhpcy50b29sdGlwID0gbmV3IFRvb2x0aXBPcHRpb25zKHsgLi4ub3B0aW9ucz8udG9vbHRpcCB9KTtcbiAgICB0aGlzLnhBeGlzID0gb3B0aW9ucz8ueEF4aXM/Lm1hcCgoXykgPT4gbmV3IEF4aXNPcHRpb25zKF8pKTtcbiAgICB0aGlzLnlBeGlzID0gb3B0aW9ucz8ueUF4aXM/Lm1hcCgoXykgPT4gbmV3IEF4aXNPcHRpb25zKF8pKTtcbiAgICB0aGlzLmdyaWRMaW5lcyA9IG9wdGlvbnM/LmdyaWRMaW5lcyA9PSBudWxsID8gdHJ1ZSA6IG9wdGlvbnMuZ3JpZExpbmVzO1xuICAgIHRoaXMud2lkdGggPSBvcHRpb25zPy53aWR0aDtcbiAgICB0aGlzLmhlaWdodCA9IG9wdGlvbnM/LmhlaWdodDtcbiAgICB0aGlzLmxlZ2VuZCA9IHsgLi4ub3B0aW9ucz8ubGVnZW5kIH07XG4gICAgdGhpcy5ib3VuZHMgPSB7IC4uLnRoaXMuYm91bmRzLCAuLi5vcHRpb25zPy5ib3VuZHMgfTtcbiAgICB0aGlzLmFubm90YXRpb25zID0gb3B0aW9ucz8uYW5ub3RhdGlvbnM7XG4gIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9jaGFydC9tb2RlbC9jaGFydC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUk1QyxNQUFNLE9BQU8sWUFBWTtJQXFCdkIsWUFBWSxPQW9CWDtRQXZCRCxXQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQXdCekIsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDVixNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNwQixHQUFHLE9BQU8sRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRCxHQUFHLE1BQU07WUFDVCxFQUFFLEVBQUUsR0FBRztTQUNSLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUN2RSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtZQUN6QixHQUFHLE9BQU8sRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBeGlzT3B0aW9ucyB9IGZyb20gJy4vYXhpcy1vcHRpb25zJztcbmltcG9ydCB7IFNlcmllcyB9IGZyb20gJy4vc2VyaWVzJztcbmltcG9ydCB7IEJhc2VQb2ludCB9IGZyb20gJy4vcG9pbnQvYmFzZS1wb2ludCc7XG5pbXBvcnQgeyBUb29sdGlwT3B0aW9ucyB9IGZyb20gJy4vdG9vbHRpcC1vcHRpb25zJztcbmltcG9ydCB7IENoYXJ0Qm91bmRzIH0gZnJvbSAnLi9jaGFydC1ib3VuZHMnO1xuaW1wb3J0IHsgTGVnZW5kVHlwZSB9IGZyb20gJy4vZW51bS9sZWdlbmQtdHlwZSc7XG5pbXBvcnQgeyBab29tVHlwZSB9IGZyb20gJy4vZW51bS96b29tLXR5cGUnO1xuaW1wb3J0IHsgWm9vbVRyYW5zZm9ybSB9IGZyb20gJ2QzJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuL2Fubm90YXRpb24nO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZXJpZXM/OiBTZXJpZXM8QmFzZVBvaW50PltdO1xuICBsZWdlbmQ/OiB7XG4gICAgdHlwZT86IExlZ2VuZFR5cGU7XG4gICAgdmlzaWJsZT86IGJvb2xlYW47XG4gIH07XG4gIHpvb20/OiB7XG4gICAgZW5hYmxlPzogYm9vbGVhbjtcbiAgICB6b29tVHlwZT86IFpvb21UeXBlO1xuICAgIHpvb21UcmFuc2Zvcm0/OiBab29tVHJhbnNmb3JtO1xuICB9O1xuICB0b29sdGlwPzogVG9vbHRpcE9wdGlvbnM7XG4gIHhBeGlzOiBBeGlzT3B0aW9uc1tdO1xuICB5QXhpczogQXhpc09wdGlvbnNbXTtcbiAgZ3JpZExpbmVzPzogYm9vbGVhbjtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgYm91bmRzID0gbmV3IENoYXJ0Qm91bmRzKCk7XG4gIGFubm90YXRpb25zPzogQW5ub3RhdGlvbltdO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBzZXJpZXM/OiBTZXJpZXM8QmFzZVBvaW50PltdO1xuICAgIHpvb20/OiB7XG4gICAgICBlbmFibGU/OiBib29sZWFuO1xuICAgICAgem9vbVR5cGU/OiBab29tVHlwZTtcbiAgICAgIHpvb21UcmFuc2Zvcm0/OiBab29tVHJhbnNmb3JtO1xuICAgIH07XG4gICAgdG9vbHRpcD86IFRvb2x0aXBPcHRpb25zO1xuICAgIHhBeGlzOiBBeGlzT3B0aW9uc1tdO1xuICAgIHlBeGlzOiBBeGlzT3B0aW9uc1tdO1xuICAgIGdyaWRMaW5lcz86IGJvb2xlYW47XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIGxlZ2VuZD86IHtcbiAgICAgIHR5cGU/OiBMZWdlbmRUeXBlO1xuICAgICAgdmlzaWJsZT86IGJvb2xlYW47XG4gICAgfTtcbiAgICBib3VuZHM/OiBDaGFydEJvdW5kcztcbiAgICBhbm5vdGF0aW9ucz86IEFubm90YXRpb25bXTtcbiAgfSkge1xuICAgIHRoaXMubmFtZSA9IG9wdGlvbnM/Lm5hbWU7XG4gICAgdGhpcy56b29tID0ge1xuICAgICAgZW5hYmxlOiBmYWxzZSxcbiAgICAgIHpvb21UeXBlOiBab29tVHlwZS54LFxuICAgICAgLi4ub3B0aW9ucz8uem9vbSxcbiAgICB9O1xuICAgIHRoaXMuc2VyaWVzID0gb3B0aW9ucz8uc2VyaWVzPy5tYXAoKHNlcmllcywgaWR4KSA9PiAoe1xuICAgICAgLi4uc2VyaWVzLFxuICAgICAgaWQ6IGlkeCxcbiAgICB9KSk7XG4gICAgdGhpcy56b29tID0geyBlbmFibGU6IGZhbHNlLCB6b29tVHlwZTogWm9vbVR5cGUueCwgLi4ub3B0aW9ucz8uem9vbSB9O1xuICAgIHRoaXMuc2VyaWVzID0gb3B0aW9ucz8uc2VyaWVzPy5tYXAoKHNlcmllcywgaWR4KSA9PiBuZXcgU2VyaWVzKHNlcmllcykpO1xuICAgIHRoaXMudG9vbHRpcCA9IG5ldyBUb29sdGlwT3B0aW9ucyh7IC4uLm9wdGlvbnM/LnRvb2x0aXAgfSk7XG4gICAgdGhpcy54QXhpcyA9IG9wdGlvbnM/LnhBeGlzPy5tYXAoKF8pID0+IG5ldyBBeGlzT3B0aW9ucyhfKSk7XG4gICAgdGhpcy55QXhpcyA9IG9wdGlvbnM/LnlBeGlzPy5tYXAoKF8pID0+IG5ldyBBeGlzT3B0aW9ucyhfKSk7XG4gICAgdGhpcy5ncmlkTGluZXMgPSBvcHRpb25zPy5ncmlkTGluZXMgPT0gbnVsbCA/IHRydWUgOiBvcHRpb25zLmdyaWRMaW5lcztcbiAgICB0aGlzLndpZHRoID0gb3B0aW9ucz8ud2lkdGg7XG4gICAgdGhpcy5oZWlnaHQgPSBvcHRpb25zPy5oZWlnaHQ7XG4gICAgdGhpcy5sZWdlbmQgPSB7XG4gICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgdHlwZTogTGVnZW5kVHlwZS5zd2F0Y2hlcyxcbiAgICAgIC4uLm9wdGlvbnM/LmxlZ2VuZCxcbiAgICB9O1xuICAgIHRoaXMuYm91bmRzID0geyAuLi50aGlzLmJvdW5kcywgLi4ub3B0aW9ucz8uYm91bmRzIH07XG4gICAgdGhpcy5hbm5vdGF0aW9ucyA9IG9wdGlvbnM/LmFubm90YXRpb25zO1xuICB9XG59XG4iXX0=
@@ -130,23 +130,31 @@ export class DropdownBase {
130
130
  this.setPosition(this._head.nativeElement, this._body);
131
131
  }
132
132
  setPosition(container, target) {
133
- const containerRect = container.getBoundingClientRect();
133
+ const containerPosition = container.getBoundingClientRect();
134
+ const targetPosition = target.getBoundingClientRect();
134
135
  const rect = {
135
- bottom: containerRect.bottom,
136
- top: containerRect.top,
137
- left: containerRect.left,
138
- right: containerRect.right,
136
+ bottom: containerPosition.bottom,
137
+ top: containerPosition.top,
138
+ left: containerPosition.left,
139
+ right: containerPosition.right,
139
140
  };
140
- // const transformedParent = DomUtil.findTransformedParent(container);
141
- // console.log(transformedParent);
142
- // if (transformedParent) {
143
- // const parentPosition = transformedParent.getBoundingClientRect();
144
- // rect.left = rect.left - parentPosition.left;
145
- // rect.top = rect.top - parentPosition.top;
146
- // rect.bottom = parentPosition.bottom - rect.top;
147
- // rect.right = parentPosition.right - rect.right;
148
- // }
149
- const position = PositionUtil.getPosition(rect, target.getBoundingClientRect(), this.align, this.verticalAlign);
141
+ const targetRect = {
142
+ bottom: targetPosition.bottom,
143
+ top: targetPosition.top,
144
+ left: targetPosition.left,
145
+ right: targetPosition.right,
146
+ };
147
+ const targetTransformedParent = DomUtil.findTransformedParent(target);
148
+ let parentPosition = {
149
+ left: 0,
150
+ right: 0,
151
+ top: 0,
152
+ bottom: 0
153
+ };
154
+ if (targetTransformedParent) {
155
+ parentPosition = targetTransformedParent.getBoundingClientRect();
156
+ }
157
+ const position = PositionUtil.getPosition(rect, targetRect, this.align, this.verticalAlign, 0, 0, parentPosition);
150
158
  PositionUtil.setElementPosition(target, position);
151
159
  }
152
160
  }
@@ -193,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
193
201
  type: HostListener,
194
202
  args: ['window:keyup', ['$event']]
195
203
  }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9kcm9wZG93bi9kcm9wZG93bi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3pELGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sWUFBWTtJQThDdkIsWUFDWSxJQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBb0MsRUFDcEMsS0FBYSxFQUNiLFNBQW9CO1FBSnBCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFsRHZCLFVBQUssR0FBVSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzFCLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFHcEQsV0FBTSxHQUFH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QUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0YsSUFBSTtzQkFEUCxLQUFLO2dCQXFCSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFNSSxLQUFLO3NCQUpkLFlBQVk7dUJBQUMscUJBQXFCLEVBQUU7d0JBQ25DLE1BQU0sRUFBRSxLQUFLO3dCQUNiLElBQUksRUFBRSxVQUFVO3FCQUNqQjtnQkFJUyxRQUFRO3NCQURqQixZQUFZO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkE4QnRCLEtBQUs7c0JBQXZDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVlXLGFBQWE7c0JBQXhELFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBdUJBLEtBQUs7c0JBQTlDLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tVXRpbCB9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2RvbS11dGlsJztcbmltcG9ydCB7IFBvc2l0aW9uVXRpbCB9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuaW1wb3J0IHsgQWxpZ24gfSBmcm9tICcuLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ24gfSBmcm9tICcuLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcbmltcG9ydCB7IERyb3Bkb3duSGVhZERpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24taGVhZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJvcGRvd25Db250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvQ2xvc2VJZ25vcmVDYXNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnRyYWN0L2F1dG8tY2xvc2UtaWdub3JlLWNhc2UnO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7IHRha2VXaGlsZSwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQmFzZSB7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLmxlZnQ7XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmJvdHRvbTtcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hhZG93ID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBASW5wdXQoKVxuICBzZXQgb3Blbih2YWw6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsICE9IG51bGwgJiYgdmFsICE9PSB0aGlzLl9vcGVuICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIGdldCBjb250YWluZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwZW5kVG9Cb2R5XG4gICAgICA/IHRoaXMuX2RvY3VtZW50LmJvZHlcbiAgICAgIDogdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KCkgYXV0b0Nsb3NlID0gdHJ1ZTtcbiAgQElucHV0KCkgYXV0b0Nsb3NlSWdub3JlOiBBcnJheTxBdXRvQ2xvc2VJZ25vcmVDYXNlPiA9IFsnaW5zaWRlJ107XG5cbiAgQENvbnRlbnRDaGlsZChEcm9wZG93bkhlYWREaXJlY3RpdmUsIHtcbiAgICBzdGF0aWM6IGZhbHNlLFxuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHByb3RlY3RlZCBfaGVhZDogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkKERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByb3RlY3RlZCBfY29udGVudDogRHJvcGRvd25Db250ZW50RGlyZWN0aXZlO1xuXG4gIHByb3RlY3RlZCBfYm9keTogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIF9vcGVuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcm90ZWN0ZWQgX2RvY3VtZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgX3pvbmU6IE5nWm9uZSxcbiAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5fem9uZS5vblN0YWJsZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICB0aHJvdHRsZVRpbWUoMTAsIHVuZGVmaW5lZCwgeyB0cmFpbGluZzogdHJ1ZSB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgaWYgKCFEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoRG9tVXRpbC5jbGlja2VkSW5zaWRlKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBkb2N1bWVudENsaWNrKFxuICAgIGV2ZW50OiBNb3VzZUV2ZW50XG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICF0aGlzLmF1dG9DbG9zZSB8fFxuICAgICAgZXZlbnQuZGV0YWlsID09PSAwIHx8XG4gICAgICBEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCBldmVudCkgfHxcbiAgICAgIERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudCkpIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdpbnNpZGUnKSA8IDApIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdvdXRzaWRlJykgPCAwKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pIGtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMub3BlbiB8fFxuICAgICAgIXRoaXMuYXV0b0Nsb3NlIHx8XG4gICAgICBbJ2VzYycsICdlbnRlciddLmV2ZXJ5KFxuICAgICAgICAoXzogJ2VzYycgfCAnZW50ZXInKSA9PiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKF8pID49IDBcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VzYycpIDwgMCkgfHxcbiAgICAgIChldmVudC5jb2RlID09PSAnRW50ZXInICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VudGVyJykgPCAwKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLl9ib2R5ICYmIHRoaXMuY29udGFpbmVyLmNvbnRhaW5zKHRoaXMuX2JvZHkpKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lciwgdGhpcy5fYm9keSk7XG4gICAgICB0aGlzLl9vcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLl9ib2R5ID0gbnVsbDtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW4gfHwgIXRoaXMuX2NvbnRlbnQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5fcmVuZGVyZXI7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjb250YWluZXIgPSAodGhpcy5fYm9keSA9XG4gICAgICB0aGlzLl9ib2R5IHx8IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICByZW5kZXJlci5hZGRDbGFzcyhjb250YWluZXIsICdkcm9wZG93bicpO1xuXG4gICAgaWYgKHRoaXMuY2xhc3NOYW1lICE9IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLmNsYXNzTmFtZSBpbnN0YW5jZW9mIEFycmF5ICYmIHRoaXMuY2xhc3NOYW1lLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5jbGFzc05hbWUuZm9yRWFjaCgoXykgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgXyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNsYXNzTmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MoY29udGFpbmVyLCB0aGlzLmNsYXNzTmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoY29udGFpbmVyLCBjb250ZW50KTtcbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lciwgY29udGFpbmVyKTtcblxuICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9zaXRpb24oY29udGFpbmVyOiBIVE1MRWxlbWVudCwgdGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgcmVjdDogSVJlY3QgPSB7XG4gICAgICBib3R0b206IGNvbnRhaW5lclJlY3QuYm90dG9tLFxuICAgICAgdG9wOiBjb250YWluZXJSZWN0LnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclJlY3QubGVmdCxcbiAgICAgIHJpZ2h0OiBjb250YWluZXJSZWN0LnJpZ2h0LFxuICAgIH07XG4gICAgLy8gY29uc3QgdHJhbnNmb3JtZWRQYXJlbnQgPSBEb21VdGlsLmZpbmRUcmFuc2Zvcm1lZFBhcmVudChjb250YWluZXIpO1xuICAgIC8vIGNvbnNvbGUubG9nKHRyYW5zZm9ybWVkUGFyZW50KTtcbiAgICAvLyBpZiAodHJhbnNmb3JtZWRQYXJlbnQpIHtcbiAgICAvLyAgIGNvbnN0IHBhcmVudFBvc2l0aW9uID0gdHJhbnNmb3JtZWRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy8gICByZWN0LmxlZnQgPSByZWN0LmxlZnQgLSBwYXJlbnRQb3NpdGlvbi5sZWZ0O1xuICAgIC8vICAgcmVjdC50b3AgPSByZWN0LnRvcCAtIHBhcmVudFBvc2l0aW9uLnRvcDtcbiAgICAvLyAgIHJlY3QuYm90dG9tID0gcGFyZW50UG9zaXRpb24uYm90dG9tIC0gcmVjdC50b3A7XG4gICAgLy8gICByZWN0LnJpZ2h0ID0gcGFyZW50UG9zaXRpb24ucmlnaHQgLSByZWN0LnJpZ2h0O1xuICAgIC8vIH1cblxuICAgIGNvbnN0IHBvc2l0aW9uID0gUG9zaXRpb25VdGlsLmdldFBvc2l0aW9uKFxuICAgICAgcmVjdCxcbiAgICAgIHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgIHRoaXMuYWxpZ24sXG4gICAgICB0aGlzLnZlcnRpY2FsQWxpZ25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9kcm9wZG93bi9kcm9wZG93bi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR3RFLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3ZELGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sWUFBWTtJQThDdkIsWUFDWSxJQUF1QixFQUN2QixTQUFjLEVBQ2QsV0FBb0MsRUFDcEMsS0FBYSxFQUNiLFNBQW9CO1FBSnBCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFsRHZCLFVBQUssR0FBVSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzFCLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFHcEQsV0FBTSxHQUFH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ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZG9tLXV0aWwnO1xuaW1wb3J0IHtQb3NpdGlvblV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtEcm9wZG93bkhlYWREaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24taGVhZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtEcm9wZG93bkNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtBdXRvQ2xvc2VJZ25vcmVDYXNlfSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvYXV0by1jbG9zZS1pZ25vcmUtY2FzZSc7XG5pbXBvcnQge0lSZWN0fSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7dGFrZVdoaWxlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSgpXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkJhc2Uge1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ24gPSBBbGlnbi5sZWZ0O1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5ib3R0b207XG4gIEBJbnB1dCgpIGFwcGVuZFRvQm9keTogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNoYWRvdyA9IHRydWU7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgc2V0IG9wZW4odmFsOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbCAhPSBudWxsICYmIHZhbCAhPT0gdGhpcy5fb3BlbiAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHZhbCkge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IG9wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW47XG4gIH1cblxuICBnZXQgY29udGFpbmVyKCkge1xuICAgIHJldHVybiB0aGlzLmFwcGVuZFRvQm9keVxuICAgICAgPyB0aGlzLl9kb2N1bWVudC5ib2R5XG4gICAgICA6IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKSBvcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZSA9IHRydWU7XG4gIEBJbnB1dCgpIGF1dG9DbG9zZUlnbm9yZTogQXJyYXk8QXV0b0Nsb3NlSWdub3JlQ2FzZT4gPSBbJ2luc2lkZSddO1xuXG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25IZWFkRGlyZWN0aXZlLCB7XG4gICAgc3RhdGljOiBmYWxzZSxcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KVxuICBwcm90ZWN0ZWQgX2hlYWQ6IEVsZW1lbnRSZWY7XG5cbiAgQENvbnRlbnRDaGlsZChEcm9wZG93bkNvbnRlbnREaXJlY3RpdmUsIHtzdGF0aWM6IGZhbHNlfSlcbiAgcHJvdGVjdGVkIF9jb250ZW50OiBEcm9wZG93bkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgcHJvdGVjdGVkIF9ib2R5OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgX29wZW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByb3RlY3RlZCBfZG9jdW1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBfem9uZTogTmdab25lLFxuICAgIHByb3RlY3RlZCBfcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLl96b25lLm9uU3RhYmxlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHRocm90dGxlVGltZSgxMCwgdW5kZWZpbmVkLCB7dHJhaWxpbmc6IHRydWV9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5faGVhZD8ubmF0aXZlRWxlbWVudCAmJiB0aGlzLl9ib2R5KSB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0UG9zaXRpb24odGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCB0aGlzLl9ib2R5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3Blbikge1xuICAgICAgaWYgKCFEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fYm9keSwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoRG9tVXRpbC5jbGlja2VkSW5zaWRlKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgZXZlbnQpKSB7XG4gICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKSBkb2N1bWVudENsaWNrKFxuICAgIGV2ZW50OiBNb3VzZUV2ZW50XG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLm9wZW4gfHxcbiAgICAgICF0aGlzLmF1dG9DbG9zZSB8fFxuICAgICAgZXZlbnQuZGV0YWlsID09PSAwIHx8XG4gICAgICBEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5faGVhZC5uYXRpdmVFbGVtZW50LCBldmVudCkgfHxcbiAgICAgIERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKERvbVV0aWwuY2xpY2tlZEluc2lkZSh0aGlzLl9ib2R5LCBldmVudCkpIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdpbnNpZGUnKSA8IDApIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKCdvdXRzaWRlJykgPCAwKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pIGtleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMub3BlbiB8fFxuICAgICAgIXRoaXMuYXV0b0Nsb3NlIHx8XG4gICAgICBbJ2VzYycsICdlbnRlciddLmV2ZXJ5KFxuICAgICAgICAoXzogJ2VzYycgfCAnZW50ZXInKSA9PiB0aGlzLmF1dG9DbG9zZUlnbm9yZS5pbmRleE9mKF8pID49IDBcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VzYycpIDwgMCkgfHxcbiAgICAgIChldmVudC5jb2RlID09PSAnRW50ZXInICYmIHRoaXMuYXV0b0Nsb3NlSWdub3JlLmluZGV4T2YoJ2VudGVyJykgPCAwKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3BlbiAmJiB0aGlzLl9ib2R5ICYmIHRoaXMuY29udGFpbmVyLmNvbnRhaW5zKHRoaXMuX2JvZHkpKSB7XG4gICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lciwgdGhpcy5fYm9keSk7XG4gICAgICB0aGlzLl9vcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLl9ib2R5ID0gbnVsbDtcbiAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KHRoaXMub3Blbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX29wZW4gfHwgIXRoaXMuX2NvbnRlbnQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9vcGVuID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5fcmVuZGVyZXI7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2NvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjb250YWluZXIgPSAodGhpcy5fYm9keSA9XG4gICAgICB0aGlzLl9ib2R5IHx8IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcbiAgICByZW5kZXJlci5hZGRDbGFzcyhjb250YWluZXIsICdkcm9wZG93bicpO1xuICAgIGlmICh0aGlzLmNsYXNzTmFtZSAhPSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5jbGFzc05hbWUgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLmNsYXNzTmFtZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuY2xhc3NOYW1lLmZvckVhY2goKF8pID0+IHtcbiAgICAgICAgICByZW5kZXJlci5hZGRDbGFzcyhjb250YWluZXIsIF8pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jbGFzc05hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKGNvbnRhaW5lciwgdGhpcy5jbGFzc05hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGNvbnRhaW5lciwgY29udGVudCk7XG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIsIGNvbnRhaW5lcik7XG5cbiAgICB0aGlzLnNldFBvc2l0aW9uKHRoaXMuX2hlYWQubmF0aXZlRWxlbWVudCwgdGhpcy5fYm9keSk7XG4gIH1cblxuICBwcml2YXRlIHNldFBvc2l0aW9uKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXJQb3NpdGlvbiA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiBjb250YWluZXJQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IGNvbnRhaW5lclBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogY29udGFpbmVyUG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiB0YXJnZXRQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IHRhcmdldFBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IHRhcmdldFBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogdGFyZ2V0UG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWVkUGFyZW50ID0gRG9tVXRpbC5maW5kVHJhbnNmb3JtZWRQYXJlbnQodGFyZ2V0KTtcbiAgICBsZXQgcGFyZW50UG9zaXRpb24gPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9O1xuICAgIGlmICh0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCkge1xuICAgICAgcGFyZW50UG9zaXRpb24gPSB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvc2l0aW9uVXRpbC5nZXRQb3NpdGlvbihcbiAgICAgIHJlY3QsXG4gICAgICB0YXJnZXRSZWN0LFxuICAgICAgdGhpcy5hbGlnbixcbiAgICAgIHRoaXMudmVydGljYWxBbGlnbixcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgcGFyZW50UG9zaXRpb25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
@@ -14,28 +14,20 @@ export class FilterItem {
14
14
  * Возможность фильтровать поле
15
15
  */
16
16
  this.filterable = true;
17
- if (options) {
18
- this.sortOrder = options.sortOrder || Number.MAX_VALUE;
19
- this.name = options.name || '';
20
- this.caption = options.caption === null || options.caption === undefined ? this.name : options.caption;
21
- this.hint = options.hint === null || options.hint === undefined ? '' : options.hint;
22
- this.sortable = options.sortable === null || options.sortable === undefined ? true : options.sortable;
23
- this.filterable = options.filterable === null || options.filterable === undefined ? true : options.filterable;
24
- this.sortField = options.sortField === null || options.sortField === undefined ? this.name : options.sortField;
25
- this.filterField = options.filterField === null || options.filterField === undefined ? this.name : options.filterField;
26
- this.filterType = options.filterType === null || options.filterType === undefined ? null : options.filterType;
27
- this.stringFilterType = options.stringFilterType === null || options.stringFilterType === undefined
28
- ? StringFilterType.Contains
29
- : options.stringFilterType;
30
- this.listFilterType = options.listFilterType === null || options.listFilterType === undefined
31
- ? ListFilterType.None
32
- : options.listFilterType;
33
- this.strict = options.strict || false;
34
- this.filterComponent = options.filterComponent;
35
- if (options.columns && options.columns.length) {
36
- this.columns = options.columns.map(_ => new FilterItem(_));
37
- }
38
- }
17
+ this.sortOrder = options?.sortOrder ?? Number.MAX_VALUE;
18
+ this.name = options?.name ?? '';
19
+ this.caption = options?.caption ?? this.name;
20
+ this.hint = options?.hint ?? '';
21
+ this.sortable = options?.sortable ?? true;
22
+ this.filterable = options?.filterable ?? true;
23
+ this.sortField = options?.sortField ?? this.name;
24
+ this.filterField = options?.filterField ?? this.name;
25
+ this.filterType = options?.filterType;
26
+ this.stringFilterType = options?.stringFilterType ?? StringFilterType.Contains;
27
+ this.listFilterType = options?.listFilterType ?? ListFilterType.None;
28
+ this.strict = options?.strict ?? false;
29
+ this.filterComponent = options?.filterComponent;
30
+ this.columns = options?.columns?.map(_ => new FilterItem(_)) ?? [];
39
31
  }
40
32
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sVUFBVTtJQTJEckIsWUFBWSxPQWVYO1FBekVEOztXQUVHO1FBQ0gsY0FBUyxHQUFXLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFhckM7O1dBRUc7UUFDSCxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCOztXQUVHO1FBQ0gsZUFBVSxHQUFHLElBQUksQ0FBQztRQW1EaEIsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUN2RCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDdkcsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUN0RyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDOUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUMvRyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3ZILElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUM5RyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEtBQUssU0FBUztnQkFDakcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVE7Z0JBQzNCLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsY0FBYyxLQUFLLFNBQVM7Z0JBQzNGLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSTtnQkFDckIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztZQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDL0MsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1RDtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuLi9lbnVtL2ZpbHRlci10eXBlLmVudW0nO1xuaW1wb3J0IHtTdHJpbmdGaWx0ZXJUeXBlfSBmcm9tICcuLi9lbnVtL3N0cmluZy1maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7TGlzdEZpbHRlclR5cGV9IGZyb20gJy4uL2VudW0vbGlzdC1maWx0ZXItdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIEZpbHRlckl0ZW0ge1xuICAvKipcbiAgICog0J/QvtGA0Y/QtNC60L7QstGL0Lkg0L3QvtC80LXRgFxuICAgKi9cbiAgc29ydE9yZGVyOiBudW1iZXIgPSBOdW1iZXIuTUFYX1ZBTFVFO1xuICAvKipcbiAgICog0J3QsNC30LLQsNC90LjQtSDRgdGC0L7Qu9Cx0YbQsCDQtNC70Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGC0LDQsdC70LjRhtGLXG4gICAqL1xuICBjYXB0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiDQn9C+0LTRgdC60LDQt9C60LBcbiAgICovXG4gIGhpbnQ6IHN0cmluZztcbiAgLyoqXG4gICAqINCd0LDQt9Cy0LDQvdC40LUg0YHRgtC+0LvQsdGG0LAg0LIg0YHRgtGA0L7QutC1INGA0LXQt9GD0LvRjNGC0LDRgtC+0LJcbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqINCS0L7Qt9C80L7QttC90L7RgdGC0Ywg0YHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9C+0LvQtVxuICAgKi9cbiAgc29ydGFibGUgPSB0cnVlO1xuICAvKipcbiAgICog0JLQvtC30LzQvtC20L3QvtGB0YLRjCDRhNC40LvRjNGC0YDQvtCy0LDRgtGMINC/0L7Qu9C1XG4gICAqL1xuICBmaWx0ZXJhYmxlID0gdHJ1ZTtcbiAgLyoqXG4gICAqINCf0L7Qu9C1INC00LvRjyDRgdC+0YDRgtC40YDQvtCy0LrQuFxuICAgKi9cbiAgc29ydEZpZWxkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiDQn9C+0LvQtSDQtNC70Y8g0YTQuNC70YzRgtGA0LDRhtC40LhcbiAgICovXG4gIGZpbHRlckZpZWxkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiDQotC40L8g0YTQuNC70YzRgtGA0LBcbiAgICovXG4gIGZpbHRlclR5cGU6IEZpbHRlclR5cGUgfCBudWxsO1xuICAvKipcbiAgICog0KLQuNC/INGB0YDQsNCy0L3QtdC90LjRjyDRgdGC0YDQvtC60L7QstC+0LPQviDRhNC40LvRjNGC0YDQsFxuICAgKi9cbiAgc3RyaW5nRmlsdGVyVHlwZTogU3RyaW5nRmlsdGVyVHlwZTtcbiAgLyoqXG4gICAqINCi0LjQvyDRgdGA0LDQstC90LXQvdC40Y8g0YHRgtGA0L7QutC+0LLQvtCz0L4g0YTQuNC70YzRgtGA0LBcbiAgICovXG4gIGxpc3RGaWx0ZXJUeXBlOiBMaXN0RmlsdGVyVHlwZTtcbiAgLyoqXG4gICAqINCh0YLRgNC+0LPQvtC1INGB0YDQsNCy0L3QtdC90LjQtVxuICAgKi9cbiAgc3RyaWN0OiBib29sZWFuO1xuICAvKipcbiAgICog0JrQvtC80L/QvtC90LXQvdGCINC00LvRjyDRgNC10L3QtNC10YDQsCDRhNC40LvRjNGC0YDQsFxuICAgKi9cbiAgZmlsdGVyQ29tcG9uZW50OiBhbnk7XG5cbiAgLyoqXG4gICAqINCU0L7Rh9C10YDQvdC40LUg0Y3Qu9C10LzQtdC90YLRi1xuICAgKi9cbiAgY29sdW1uczogRmlsdGVySXRlbVtdO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiB7XG4gICAgc29ydE9yZGVyPzogbnVtYmVyO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY2FwdGlvbj86IHN0cmluZztcbiAgICBoaW50Pzogc3RyaW5nO1xuICAgIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgICBzb3J0RmllbGQ/OiBzdHJpbmc7XG4gICAgZmlsdGVyYWJsZT86IGJvb2xlYW47XG4gICAgZmlsdGVyRmllbGQ/OiBzdHJpbmc7XG4gICAgZmlsdGVyVHlwZT86IEZpbHRlclR5cGUgfCBudWxsO1xuICAgIHN0cmluZ0ZpbHRlclR5cGU/OiBTdHJpbmdGaWx0ZXJUeXBlO1xuICAgIGxpc3RGaWx0ZXJUeXBlPzogTGlzdEZpbHRlclR5cGU7XG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgICBmaWx0ZXJDb21wb25lbnQ/OiBhbnk7XG4gICAgY29sdW1ucz86IEZpbHRlckl0ZW1bXTtcbiAgfSkge1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLnNvcnRPcmRlciA9IG9wdGlvbnMuc29ydE9yZGVyIHx8IE51bWJlci5NQVhfVkFMVUU7XG4gICAgICB0aGlzLm5hbWUgPSBvcHRpb25zLm5hbWUgfHwgJyc7XG4gICAgICB0aGlzLmNhcHRpb24gPSBvcHRpb25zLmNhcHRpb24gPT09IG51bGwgfHwgb3B0aW9ucy5jYXB0aW9uID09PSB1bmRlZmluZWQgPyB0aGlzLm5hbWUgOiBvcHRpb25zLmNhcHRpb247XG4gICAgICB0aGlzLmhpbnQgPSBvcHRpb25zLmhpbnQgPT09IG51bGwgfHwgb3B0aW9ucy5oaW50ID09PSB1bmRlZmluZWQgPyAnJyA6IG9wdGlvbnMuaGludDtcbiAgICAgIHRoaXMuc29ydGFibGUgPSBvcHRpb25zLnNvcnRhYmxlID09PSBudWxsIHx8IG9wdGlvbnMuc29ydGFibGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBvcHRpb25zLnNvcnRhYmxlO1xuICAgICAgdGhpcy5maWx0ZXJhYmxlID0gb3B0aW9ucy5maWx0ZXJhYmxlID09PSBudWxsIHx8IG9wdGlvbnMuZmlsdGVyYWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbnMuZmlsdGVyYWJsZTtcbiAgICAgIHRoaXMuc29ydEZpZWxkID0gb3B0aW9ucy5zb3J0RmllbGQgPT09IG51bGwgfHwgb3B0aW9ucy5zb3J0RmllbGQgPT09IHVuZGVmaW5lZCA/IHRoaXMubmFtZSA6IG9wdGlvbnMuc29ydEZpZWxkO1xuICAgICAgdGhpcy5maWx0ZXJGaWVsZCA9IG9wdGlvbnMuZmlsdGVyRmllbGQgPT09IG51bGwgfHwgb3B0aW9ucy5maWx0ZXJGaWVsZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5uYW1lIDogb3B0aW9ucy5maWx0ZXJGaWVsZDtcbiAgICAgIHRoaXMuZmlsdGVyVHlwZSA9IG9wdGlvbnMuZmlsdGVyVHlwZSA9PT0gbnVsbCB8fCBvcHRpb25zLmZpbHRlclR5cGUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBvcHRpb25zLmZpbHRlclR5cGU7XG4gICAgICB0aGlzLnN0cmluZ0ZpbHRlclR5cGUgPSBvcHRpb25zLnN0cmluZ0ZpbHRlclR5cGUgPT09IG51bGwgfHwgb3B0aW9ucy5zdHJpbmdGaWx0ZXJUeXBlID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBTdHJpbmdGaWx0ZXJUeXBlLkNvbnRhaW5zXG4gICAgICAgIDogb3B0aW9ucy5zdHJpbmdGaWx0ZXJUeXBlO1xuICAgICAgdGhpcy5saXN0RmlsdGVyVHlwZSA9IG9wdGlvbnMubGlzdEZpbHRlclR5cGUgPT09IG51bGwgfHwgb3B0aW9ucy5saXN0RmlsdGVyVHlwZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gTGlzdEZpbHRlclR5cGUuTm9uZVxuICAgICAgICA6IG9wdGlvbnMubGlzdEZpbHRlclR5cGU7XG4gICAgICB0aGlzLnN0cmljdCA9IG9wdGlvbnMuc3RyaWN0IHx8IGZhbHNlO1xuICAgICAgdGhpcy5maWx0ZXJDb21wb25lbnQgPSBvcHRpb25zLmZpbHRlckNvbXBvbmVudDtcbiAgICAgIGlmIChvcHRpb25zLmNvbHVtbnMgJiYgb3B0aW9ucy5jb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmNvbHVtbnMgPSBvcHRpb25zLmNvbHVtbnMubWFwKF8gPT4gbmV3IEZpbHRlckl0ZW0oXykpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvZmlsdGVyL2NvbnRhcmN0L2ZpbHRlci1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxNQUFNLE9BQU8sVUFBVTtJQTJEckIsWUFBWSxPQWVYO1FBekVEOztXQUVHO1FBQ0gsY0FBUyxHQUFXLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFhckM7O1dBRUc7UUFDSCxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCOztXQUVHO1FBQ0gsZUFBVSxHQUFHLElBQUksQ0FBQztRQW1EaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyRCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7UUFDL0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLEVBQUUsY0FBYyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sRUFBRSxlQUFlLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsdGVyVHlwZX0gZnJvbSAnLi4vZW51bS9maWx0ZXItdHlwZS5lbnVtJztcbmltcG9ydCB7U3RyaW5nRmlsdGVyVHlwZX0gZnJvbSAnLi4vZW51bS9zdHJpbmctZmlsdGVyLXR5cGUuZW51bSc7XG5pbXBvcnQge0xpc3RGaWx0ZXJUeXBlfSBmcm9tICcuLi9lbnVtL2xpc3QtZmlsdGVyLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJJdGVtIHtcbiAgLyoqXG4gICAqINCf0L7RgNGP0LTQutC+0LLRi9C5INC90L7QvNC10YBcbiAgICovXG4gIHNvcnRPcmRlcjogbnVtYmVyID0gTnVtYmVyLk1BWF9WQUxVRTtcbiAgLyoqXG4gICAqINCd0LDQt9Cy0LDQvdC40LUg0YHRgtC+0LvQsdGG0LAg0LTQu9GPINC30LDQs9C+0LvQvtCy0LrQsCDRgtCw0LHQu9C40YbRi1xuICAgKi9cbiAgY2FwdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICog0J/QvtC00YHQutCw0LfQutCwXG4gICAqL1xuICBoaW50OiBzdHJpbmc7XG4gIC8qKlxuICAgKiDQndCw0LfQstCw0L3QuNC1INGB0YLQvtC70LHRhtCwINCyINGB0YLRgNC+0LrQtSDRgNC10LfRg9C70YzRgtCw0YLQvtCyXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiDQktC+0LfQvNC+0LbQvdC+0YHRgtGMINGB0L7RgNGC0LjRgNC+0LLQsNGC0Ywg0L/QvtC70LVcbiAgICovXG4gIHNvcnRhYmxlID0gdHJ1ZTtcbiAgLyoqXG4gICAqINCS0L7Qt9C80L7QttC90L7RgdGC0Ywg0YTQuNC70YzRgtGA0L7QstCw0YLRjCDQv9C+0LvQtVxuICAgKi9cbiAgZmlsdGVyYWJsZSA9IHRydWU7XG4gIC8qKlxuICAgKiDQn9C+0LvQtSDQtNC70Y8g0YHQvtGA0YLQuNGA0L7QstC60LhcbiAgICovXG4gIHNvcnRGaWVsZDogc3RyaW5nO1xuICAvKipcbiAgICog0J/QvtC70LUg0LTQu9GPINGE0LjQu9GM0YLRgNCw0YbQuNC4XG4gICAqL1xuICBmaWx0ZXJGaWVsZDogc3RyaW5nO1xuICAvKipcbiAgICog0KLQuNC/INGE0LjQu9GM0YLRgNCwXG4gICAqL1xuICBmaWx0ZXJUeXBlOiBGaWx0ZXJUeXBlIHwgbnVsbDtcbiAgLyoqXG4gICAqINCi0LjQvyDRgdGA0LDQstC90LXQvdC40Y8g0YHRgtGA0L7QutC+0LLQvtCz0L4g0YTQuNC70YzRgtGA0LBcbiAgICovXG4gIHN0cmluZ0ZpbHRlclR5cGU6IFN0cmluZ0ZpbHRlclR5cGU7XG4gIC8qKlxuICAgKiDQotC40L8g0YHRgNCw0LLQvdC10L3QuNGPINGB0YLRgNC+0LrQvtCy0L7Qs9C+INGE0LjQu9GM0YLRgNCwXG4gICAqL1xuICBsaXN0RmlsdGVyVHlwZTogTGlzdEZpbHRlclR5cGU7XG4gIC8qKlxuICAgKiDQodGC0YDQvtCz0L7QtSDRgdGA0LDQstC90LXQvdC40LVcbiAgICovXG4gIHN0cmljdDogYm9vbGVhbjtcbiAgLyoqXG4gICAqINCa0L7QvNC/0L7QvdC10L3RgiDQtNC70Y8g0YDQtdC90LTQtdGA0LAg0YTQuNC70YzRgtGA0LBcbiAgICovXG4gIGZpbHRlckNvbXBvbmVudDogYW55O1xuXG4gIC8qKlxuICAgKiDQlNC+0YfQtdGA0L3QuNC1INGN0LvQtdC80LXQvdGC0YtcbiAgICovXG4gIGNvbHVtbnM6IEZpbHRlckl0ZW1bXTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zPzoge1xuICAgIHNvcnRPcmRlcj86IG51bWJlcjtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGNhcHRpb24/OiBzdHJpbmc7XG4gICAgaGludD86IHN0cmluZztcbiAgICBzb3J0YWJsZT86IGJvb2xlYW47XG4gICAgc29ydEZpZWxkPzogc3RyaW5nO1xuICAgIGZpbHRlcmFibGU/OiBib29sZWFuO1xuICAgIGZpbHRlckZpZWxkPzogc3RyaW5nO1xuICAgIGZpbHRlclR5cGU/OiBGaWx0ZXJUeXBlIHwgbnVsbDtcbiAgICBzdHJpbmdGaWx0ZXJUeXBlPzogU3RyaW5nRmlsdGVyVHlwZTtcbiAgICBsaXN0RmlsdGVyVHlwZT86IExpc3RGaWx0ZXJUeXBlO1xuICAgIHN0cmljdD86IGJvb2xlYW47XG4gICAgZmlsdGVyQ29tcG9uZW50PzogYW55O1xuICAgIGNvbHVtbnM/OiBGaWx0ZXJJdGVtW107XG4gIH0pIHtcbiAgICB0aGlzLnNvcnRPcmRlciA9IG9wdGlvbnM/LnNvcnRPcmRlciA/PyBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIHRoaXMubmFtZSA9IG9wdGlvbnM/Lm5hbWUgPz8gJyc7XG4gICAgdGhpcy5jYXB0aW9uID0gb3B0aW9ucz8uY2FwdGlvbiA/PyB0aGlzLm5hbWU7XG4gICAgdGhpcy5oaW50ID0gb3B0aW9ucz8uaGludCA/PyAnJztcbiAgICB0aGlzLnNvcnRhYmxlID0gb3B0aW9ucz8uc29ydGFibGUgPz8gdHJ1ZTtcbiAgICB0aGlzLmZpbHRlcmFibGUgPSBvcHRpb25zPy5maWx0ZXJhYmxlID8/IHRydWU7XG4gICAgdGhpcy5zb3J0RmllbGQgPSBvcHRpb25zPy5zb3J0RmllbGQgPz8gdGhpcy5uYW1lO1xuICAgIHRoaXMuZmlsdGVyRmllbGQgPSBvcHRpb25zPy5maWx0ZXJGaWVsZCA/PyB0aGlzLm5hbWU7XG4gICAgdGhpcy5maWx0ZXJUeXBlID0gb3B0aW9ucz8uZmlsdGVyVHlwZTtcbiAgICB0aGlzLnN0cmluZ0ZpbHRlclR5cGUgPSBvcHRpb25zPy5zdHJpbmdGaWx0ZXJUeXBlID8/IFN0cmluZ0ZpbHRlclR5cGUuQ29udGFpbnM7XG4gICAgdGhpcy5saXN0RmlsdGVyVHlwZSA9IG9wdGlvbnM/Lmxpc3RGaWx0ZXJUeXBlID8/IExpc3RGaWx0ZXJUeXBlLk5vbmU7XG4gICAgdGhpcy5zdHJpY3QgPSBvcHRpb25zPy5zdHJpY3QgPz8gZmFsc2U7XG4gICAgdGhpcy5maWx0ZXJDb21wb25lbnQgPSBvcHRpb25zPy5maWx0ZXJDb21wb25lbnQ7XG4gICAgdGhpcy5jb2x1bW5zID0gb3B0aW9ucz8uY29sdW1ucz8ubWFwKF8gPT4gbmV3IEZpbHRlckl0ZW0oXykpID8/IFtdO1xuICB9XG59XG4iXX0=
@@ -109,7 +109,7 @@ export class ResizePanelComponent {
109
109
  }
110
110
  restore() {
111
111
  if (this.name?.length > 0) {
112
- return JSON.parse(localStorage.getItem(`resize-panel${this.name}`) || '');
112
+ return JSON.parse(localStorage.getItem(`resize-panel${this.name}`));
113
113
  }
114
114
  }
115
115
  restorePosition() {
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
159
159
  type: HostBinding,
160
160
  args: ['class.resize-panel']
161
161
  }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9yZXNpemUtcGFuZWwvcmVzaXplLXBhbmVsL3Jlc2l6ZS1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvcmVzaXplLXBhbmVsL3Jlc2l6ZS1wYW5lbC9yZXNpemUtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVF6QyxNQUFNLE9BQU8sb0JBQW9CO0lBNEMvQixZQUNVLFdBQXVCLEVBQ3ZCLFNBQW9CLEVBQ0YsU0FBYztRQUZoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ0YsY0FBUyxHQUFULFNBQVMsQ0FBSztRQWhCVSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFcEUsZUFBVSxHQUE4QixZQUFZLENBQUM7UUFDckQsa0JBQWEsR0FBd0MsTUFBTSxDQUFDO1FBSTVELGlCQUFZLEdBQXdCLElBQUksR0FBRyxFQUFrQjthQUNsRSxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO2FBQy9CLEdBQUcsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7YUFDakMsR0FBRyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQzthQUM3QixHQUFHLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFPdkMsQ0FBQztJQWhERCxJQUNJLFNBQVMsQ0FBQyxHQUE4QjtRQUMx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QUs7Z0JBQzhDLGdCQUFnQjtzQkFBbkUsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXJlc2l6ZS1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNpemUtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXNpemUtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6ZVBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBzZXQgZGlyZWN0aW9uKHZhbDogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJykge1xuICAgIHRoaXMuX2RpcmVjdGlvbiA9IHZhbDtcbiAgfVxuXG4gIGdldCBkaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RpcmVjdGlvbjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBncmFiUG9zaXRpb24odmFsOiAndG9wJyB8ICdsZWZ0JyB8ICdib3R0b20nIHwgJ3JpZ2h0Jykge1xuICAgIHRoaXMuX2dyYWJQb3NpdGlvbiA9IHZhbDtcbiAgfVxuXG4gIGdldCBncmFiUG9zaXRpb24oKSB7XG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICBpZiAoWydsZWZ0JywgJ3JpZ2h0J10uaW5jbHVkZXModGhpcy5fZ3JhYlBvc2l0aW9uKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ3JhYlBvc2l0aW9uO1xuICAgICAgfVxuICAgICAgcmV0dXJuICdsZWZ0JztcbiAgICB9XG4gICAgaWYgKFsndG9wJywgJ2JvdHRvbSddLmluY2x1ZGVzKHRoaXMuX2dyYWJQb3NpdGlvbikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ncmFiUG9zaXRpb247XG4gICAgfVxuICAgIHJldHVybiAnYm90dG9tJztcbiAgfVxuXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgbWluU2l6ZTogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhTaXplOiBudW1iZXI7XG4gIEBIb3N0QmluZGluZygnY2xhc3MucmVzaXplLXBhbmVsJykgcHJpdmF0ZSByZWFkb25seSByZXNpemVQYW5lbENsYXNzID0gdHJ1ZTtcblxuICBwcml2YXRlIF9kaXJlY3Rpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XG4gIHByaXZhdGUgX2dyYWJQb3NpdGlvbjogJ3RvcCcgfCAnbGVmdCcgfCAnYm90dG9tJyB8ICdyaWdodCcgPSAnbGVmdCc7XG4gIHByaXZhdGUgX3N0YXJ0U2l6ZTogbnVtYmVyO1xuICBwcml2YXRlIF9zdGFydFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfcG9zaXRpb25NYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpXG4gICAgLnNldCgnbGVmdCcsICdyZXNpemUtZ3JhYl9sZWZ0JylcbiAgICAuc2V0KCdyaWdodCcsICdyZXNpemUtZ3JhYl9yaWdodCcpXG4gICAgLnNldCgndG9wJywgJ3Jlc2l6ZS1ncmFiX3RvcCcpXG4gICAgLnNldCgnYm90dG9tJywgJ3Jlc2l6ZS1ncmFiX2JvdHRvbScpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55XG4gICkge1xuICB9XG5cbiAgcmVzaXplU3RhcnQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLnNldFN0YXJ0UG9zaXRpb24oKTtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHRoaXMuX3N0YXJ0U2l6ZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIHRoaXMuX3N0YXJ0UG9zaXRpb24gPSBldmVudC5jbGllbnRYO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zdGFydFNpemUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IGV2ZW50LmNsaWVudFk7XG4gICAgfVxuICB9XG5cbiAgcmVzaXplUHJvY2VzcyhldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICB0aGlzLm1hbmFnZVZlcnRpY2FsKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYW5hZ2VIb3Jpem9udGFsKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICByZXNpemVFbmQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzdG9yZVBvc2l0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgfVxuXG4gIGdldENsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb25NYXAuZ2V0KHRoaXMuZ3JhYlBvc2l0aW9uKSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3RhcnRQb3NpdGlvbigpIHtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd3aWR0aCcsXG4gICAgICAgIGAke3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aH1weGBcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdoZWlnaHQnLFxuICAgICAgICBgJHt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0fXB4YFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1ncm93JywgYDBgKTtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4LXNocmluaycsIGAwYCk7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleCcsIGBub25lYCk7XG4gIH1cblxuICBwcml2YXRlIG1hbmFnZUhvcml6b250YWwoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBsZXQgbmV3U2l6ZSA9XG4gICAgICB0aGlzLmdyYWJQb3NpdGlvbiA9PT0gJ2JvdHRvbSdcbiAgICAgICAgPyB0aGlzLl9zdGFydFNpemUgKyAoZXZlbnQuY2xpZW50WSAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pXG4gICAgICAgIDogdGhpcy5fc3RhcnRTaXplIC0gKGV2ZW50LmNsaWVudFkgLSB0aGlzLl9zdGFydFBvc2l0aW9uKTtcbiAgICBpZiAodGhpcy5tYXhTaXplICYmIG5ld1NpemUgPiB0aGlzLm1heFNpemUpIHtcbiAgICAgIG5ld1NpemUgPSB0aGlzLm1heFNpemU7XG4gICAgfVxuICAgIGlmICh0aGlzLm1pblNpemUgJiYgbmV3U2l6ZSA8IHRoaXMubWluU2l6ZSkge1xuICAgICAgbmV3U2l6ZSA9IHRoaXMubWluU2l6ZTtcbiAgICB9XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAnaGVpZ2h0JyxcbiAgICAgIGAke25ld1NpemV9cHhgXG4gICAgKTtcbiAgICB0aGlzLnNhdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFuYWdlVmVydGljYWwoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBsZXQgbmV3U2l6ZSA9XG4gICAgICB0aGlzLmdyYWJQb3NpdGlvbiA9PT0gJ3JpZ2h0J1xuICAgICAgICA/IHRoaXMuX3N0YXJ0U2l6ZSArIChldmVudC5jbGllbnRYIC0gdGhpcy5fc3RhcnRQb3NpdGlvbilcbiAgICAgICAgOiB0aGlzLl9zdGFydFNpemUgLSAoZXZlbnQuY2xpZW50WCAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pO1xuICAgIGlmICh0aGlzLm1heFNpemUgJiYgbmV3U2l6ZSA+IHRoaXMubWF4U2l6ZSkge1xuICAgICAgbmV3U2l6ZSA9IHRoaXMubWF4U2l6ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWluU2l6ZSAmJiBuZXdTaXplIDwgdGhpcy5taW5TaXplKSB7XG4gICAgICBuZXdTaXplID0gdGhpcy5taW5TaXplO1xuICAgIH1cbiAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICd3aWR0aCcsXG4gICAgICBgJHtuZXdTaXplfXB4YFxuICAgICk7XG4gICAgdGhpcy5zYXZlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlc3RvcmUoKSB7XG4gICAgaWYgKHRoaXMubmFtZT8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oYHJlc2l6ZS1wYW5lbCR7dGhpcy5uYW1lfWApIHx8ICcnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc3RvcmVQb3NpdGlvbigpIHtcbiAgICBjb25zdCBzYXZlZFNpemUgPSB0aGlzLnJlc3RvcmUoKTtcbiAgICBpZiAoc2F2ZWRTaXplKSB7XG4gICAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICd3aWR0aCcsXG4gICAgICAgICAgYCR7c2F2ZWRTaXplfXB4YFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICdoZWlnaHQnLFxuICAgICAgICAgIGAke3NhdmVkU2l6ZX1weGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZsZXgtZ3JvdycsIGAwYCk7XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnZmxleC1zaHJpbmsnLFxuICAgICAgICBgMGBcbiAgICAgICk7XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4JywgYG5vbmVgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNhdmUoKSB7XG4gICAgaWYgKHRoaXMubmFtZT8ubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgIGByZXNpemUtcGFuZWwke3RoaXMubmFtZX1gLFxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgICAgYHJlc2l6ZS1wYW5lbCR7dGhpcy5uYW1lfWAsXG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGRpdiAjZ3JhYiBjbGFzcz1cInJlc2l6ZS1ncmFiXCJcbiAgICAgKHJlc2l6ZVN0YXJ0KT1cInJlc2l6ZVN0YXJ0KCRldmVudClcIlxuICAgICAocmVzaXplUHJvY2Vzcyk9XCJyZXNpemVQcm9jZXNzKCRldmVudClcIlxuICAgICAocmVzaXplRW5kKT1cInJlc2l6ZUVuZCgkZXZlbnQpXCJcbiAgICAgW3RldGFSZXNpemVEcmFnXT1cImRpcmVjdGlvblwiXG4gICAgIFtuZ0NsYXNzXT1cImdldENsYXNzTmFtZSgpXCI+XG4gIDx0ZXRhLWljb24gW25hbWVdPVwiZGlyZWN0aW9uXCI+PC90ZXRhLWljb24+XG48L2Rpdj5cbiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudC9yZXNpemUtcGFuZWwvcmVzaXplLXBhbmVsL3Jlc2l6ZS1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnQvcmVzaXplLXBhbmVsL3Jlc2l6ZS1wYW5lbC9yZXNpemUtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVF6QyxNQUFNLE9BQU8sb0JBQW9CO0lBNEMvQixZQUNVLFdBQXVCLEVBQ3ZCLFNBQW9CLEVBQ0YsU0FBYztRQUZoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ0YsY0FBUyxHQUFULFNBQVMsQ0FBSztRQWhCVSxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFcEUsZUFBVSxHQUE4QixZQUFZLENBQUM7UUFDckQsa0JBQWEsR0FBd0MsTUFBTSxDQUFDO1FBSTVELGlCQUFZLEdBQXdCLElBQUksR0FBRyxFQUFrQjthQUNsRSxHQUFHLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO2FBQy9CLEdBQUcsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7YUFDakMsR0FBRyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQzthQUM3QixHQUFHLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFPdkMsQ0FBQztJQWhERCxJQUNJLFNBQVMsQ0FBQyxHQUE4QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUNJLFlBQVksQ0FBQyxHQUF3QztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNqQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ2xELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUMzQjtZQUNELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDbEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQXlCRCxXQUFXLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUM3RCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQzlELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN6QixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7SUFDWCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixPQUFPLEVBQ1AsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksQ0FDbEQsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLFFBQVEsRUFDUixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksSUFBSSxDQUNuRCxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBaUI7UUFDeEMsSUFBSSxPQUFPLEdBQ1QsSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUQsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixRQUFRLEVBQ1IsR0FBRyxPQUFPLElBQUksQ0FDZixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFpQjtRQUN0QyxJQUFJLE9BQU8sR0FDVCxJQUFJLENBQUMsWUFBWSxLQUFLLE9BQU87WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDekQsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDeEI7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLE9BQU8sRUFDUCxHQUFHLE9BQU8sSUFBSSxDQUNmLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyRTtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDOUIsT0FBTyxFQUNQLEdBQUcsU0FBUyxJQUFJLENBQ2pCLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQzlCLFFBQVEsRUFDUixHQUFHLFNBQVMsSUFBSSxDQUNqQixDQUFDO2FBQ0g7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixhQUFhLEVBQ2IsR0FBRyxDQUNKLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7Z0JBQ2pDLFlBQVksQ0FBQyxPQUFPLENBQ2xCLGVBQWUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQzNDLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxZQUFZLENBQUMsT0FBTyxDQUNsQixlQUFlLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUM1QyxDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7O2lIQTdMVSxvQkFBb0IscUVBK0NyQixRQUFRO3FHQS9DUCxvQkFBb0IsMFBDbkJqQyxvVUFTQTsyRkRVYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OzBCQWlENUMsTUFBTTsyQkFBQyxRQUFROzRDQTdDZCxTQUFTO3NCQURaLEtBQUs7Z0JBVUYsWUFBWTtzQkFEZixLQUFLO2dCQWtCRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDOEMsZ0JBQWdCO3NCQUFuRSxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcmVzaXplLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc2l6ZS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Jlc2l6ZS1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXplUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHNldCBkaXJlY3Rpb24odmFsOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnKSB7XG4gICAgdGhpcy5fZGlyZWN0aW9uID0gdmFsO1xuICB9XG5cbiAgZ2V0IGRpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlyZWN0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGdyYWJQb3NpdGlvbih2YWw6ICd0b3AnIHwgJ2xlZnQnIHwgJ2JvdHRvbScgfCAncmlnaHQnKSB7XG4gICAgdGhpcy5fZ3JhYlBvc2l0aW9uID0gdmFsO1xuICB9XG5cbiAgZ2V0IGdyYWJQb3NpdGlvbigpIHtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIGlmIChbJ2xlZnQnLCAncmlnaHQnXS5pbmNsdWRlcyh0aGlzLl9ncmFiUG9zaXRpb24pKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ncmFiUG9zaXRpb247XG4gICAgICB9XG4gICAgICByZXR1cm4gJ2xlZnQnO1xuICAgIH1cbiAgICBpZiAoWyd0b3AnLCAnYm90dG9tJ10uaW5jbHVkZXModGhpcy5fZ3JhYlBvc2l0aW9uKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2dyYWJQb3NpdGlvbjtcbiAgICB9XG4gICAgcmV0dXJuICdib3R0b20nO1xuICB9XG5cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBtaW5TaXplOiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heFNpemU6IG51bWJlcjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZXNpemUtcGFuZWwnKSBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZVBhbmVsQ2xhc3MgPSB0cnVlO1xuXG4gIHByaXZhdGUgX2RpcmVjdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyA9ICdob3Jpem9udGFsJztcbiAgcHJpdmF0ZSBfZ3JhYlBvc2l0aW9uOiAndG9wJyB8ICdsZWZ0JyB8ICdib3R0b20nIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcbiAgcHJpdmF0ZSBfc3RhcnRTaXplOiBudW1iZXI7XG4gIHByaXZhdGUgX3N0YXJ0UG9zaXRpb246IG51bWJlcjtcblxuICBwcml2YXRlIF9wb3NpdGlvbk1hcDogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KClcbiAgICAuc2V0KCdsZWZ0JywgJ3Jlc2l6ZS1ncmFiX2xlZnQnKVxuICAgIC5zZXQoJ3JpZ2h0JywgJ3Jlc2l6ZS1ncmFiX3JpZ2h0JylcbiAgICAuc2V0KCd0b3AnLCAncmVzaXplLWdyYWJfdG9wJylcbiAgICAuc2V0KCdib3R0b20nLCAncmVzaXplLWdyYWJfYm90dG9tJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnlcbiAgKSB7XG4gIH1cblxuICByZXNpemVTdGFydChldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuc2V0U3RhcnRQb3NpdGlvbigpO1xuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgdGhpcy5fc3RhcnRTaXplID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgdGhpcy5fc3RhcnRQb3NpdGlvbiA9IGV2ZW50LmNsaWVudFg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3N0YXJ0U2l6ZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICB0aGlzLl9zdGFydFBvc2l0aW9uID0gZXZlbnQuY2xpZW50WTtcbiAgICB9XG4gIH1cblxuICByZXNpemVQcm9jZXNzKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgIHRoaXMubWFuYWdlVmVydGljYWwoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hbmFnZUhvcml6b250YWwoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2l6ZUVuZChldmVudDogTW91c2VFdmVudCkge1xuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVzaXplJykpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZXN0b3JlUG9zaXRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICB9XG5cbiAgZ2V0Q2xhc3NOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbk1hcC5nZXQodGhpcy5ncmFiUG9zaXRpb24pIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGFydFBvc2l0aW9uKCkge1xuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgYCR7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofXB4YFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgIGAke3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4LWdyb3cnLCBgMGApO1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZsZXgtc2hyaW5rJywgYDBgKTtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmbGV4JywgYG5vbmVgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFuYWdlSG9yaXpvbnRhbChldmVudDogTW91c2VFdmVudCkge1xuICAgIGxldCBuZXdTaXplID1cbiAgICAgIHRoaXMuZ3JhYlBvc2l0aW9uID09PSAnYm90dG9tJ1xuICAgICAgICA/IHRoaXMuX3N0YXJ0U2l6ZSArIChldmVudC5jbGllbnRZIC0gdGhpcy5fc3RhcnRQb3NpdGlvbilcbiAgICAgICAgOiB0aGlzLl9zdGFydFNpemUgLSAoZXZlbnQuY2xpZW50WSAtIHRoaXMuX3N0YXJ0UG9zaXRpb24pO1xuICAgIGlmICh0aGlzLm1heFNpemUgJiYgbmV3U2l6ZSA+IHRoaXMubWF4U2l6ZSkge1xuICAgICAgbmV3U2l6ZSA9IHRoaXMubWF4U2l6ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWluU2l6ZSAmJiBuZXdTaXplIDwgdGhpcy5taW5TaXplKSB7XG4gICAgICBuZXdTaXplID0gdGhpcy5taW5TaXplO1xuICAgIH1cbiAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICdoZWlnaHQnLFxuICAgICAgYCR7bmV3U2l6ZX1weGBcbiAgICApO1xuICAgIHRoaXMuc2F2ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYW5hZ2VWZXJ0aWNhbChldmVudDogTW91c2VFdmVudCkge1xuICAgIGxldCBuZXdTaXplID1cbiAgICAgIHRoaXMuZ3JhYlBvc2l0aW9uID09PSAncmlnaHQnXG4gICAgICAgID8gdGhpcy5fc3RhcnRTaXplICsgKGV2ZW50LmNsaWVudFggLSB0aGlzLl9zdGFydFBvc2l0aW9uKVxuICAgICAgICA6IHRoaXMuX3N0YXJ0U2l6ZSAtIChldmVudC5jbGllbnRYIC0gdGhpcy5fc3RhcnRQb3NpdGlvbik7XG4gICAgaWYgKHRoaXMubWF4U2l6ZSAmJiBuZXdTaXplID4gdGhpcy5tYXhTaXplKSB7XG4gICAgICBuZXdTaXplID0gdGhpcy5tYXhTaXplO1xuICAgIH1cbiAgICBpZiAodGhpcy5taW5TaXplICYmIG5ld1NpemUgPCB0aGlzLm1pblNpemUpIHtcbiAgICAgIG5ld1NpemUgPSB0aGlzLm1pblNpemU7XG4gICAgfVxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgJ3dpZHRoJyxcbiAgICAgIGAke25ld1NpemV9cHhgXG4gICAgKTtcbiAgICB0aGlzLnNhdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzdG9yZSgpIHtcbiAgICBpZiAodGhpcy5uYW1lPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShgcmVzaXplLXBhbmVsJHt0aGlzLm5hbWV9YCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVzdG9yZVBvc2l0aW9uKCkge1xuICAgIGNvbnN0IHNhdmVkU2l6ZSA9IHRoaXMucmVzdG9yZSgpO1xuICAgIGlmIChzYXZlZFNpemUpIHtcbiAgICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgICBgJHtzYXZlZFNpemV9cHhgXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgJ2hlaWdodCcsXG4gICAgICAgICAgYCR7c2F2ZWRTaXplfXB4YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZmxleC1ncm93JywgYDBgKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdmbGV4LXNocmluaycsXG4gICAgICAgIGAwYFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZsZXgnLCBgbm9uZWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2F2ZSgpIHtcbiAgICBpZiAodGhpcy5uYW1lPy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgICAgYHJlc2l6ZS1wYW5lbCR7dGhpcy5uYW1lfWAsXG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICBgcmVzaXplLXBhbmVsJHt0aGlzLm5hbWV9YCxcbiAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48ZGl2ICNncmFiIGNsYXNzPVwicmVzaXplLWdyYWJcIlxuICAgICAocmVzaXplU3RhcnQpPVwicmVzaXplU3RhcnQoJGV2ZW50KVwiXG4gICAgIChyZXNpemVQcm9jZXNzKT1cInJlc2l6ZVByb2Nlc3MoJGV2ZW50KVwiXG4gICAgIChyZXNpemVFbmQpPVwicmVzaXplRW5kKCRldmVudClcIlxuICAgICBbdGV0YVJlc2l6ZURyYWddPVwiZGlyZWN0aW9uXCJcbiAgICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NOYW1lKClcIj5cbiAgPHRldGEtaWNvbiBbbmFtZV09XCJkaXJlY3Rpb25cIj48L3RldGEtaWNvbj5cbjwvZGl2PlxuIl19