@alauda/ui 7.3.3-beta.1 → 7.3.3-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, ElementRef, EventEmitter, inject, Inject, Input, Optional, Output, } from '@angular/core';
3
- import { fromEvent, Subject, takeUntil } from 'rxjs';
1
+ import { Directive, ElementRef, EventEmitter, inject, Input, Output, Renderer2, } from '@angular/core';
2
+ import { fromEvent, Subject, take, takeUntil } from 'rxjs';
3
+ import { handlePixel } from '../utils';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ContainerForResizableDirective {
6
6
  el = inject(ElementRef);
@@ -18,44 +18,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
18
18
  }]
19
19
  }] });
20
20
  export class ResizableDirective {
21
- renderer2;
22
- doc;
23
- containerDirective;
24
21
  minWidth;
25
22
  maxWidth;
23
+ manualAdjustment = false;
26
24
  resizeStart = new EventEmitter();
27
25
  resizing = new EventEmitter();
28
26
  resizeEnd = new EventEmitter();
27
+ elementRef = inject(ElementRef);
28
+ renderer2 = inject(Renderer2);
29
+ containerDirective = inject(ContainerForResizableDirective, {
30
+ optional: true,
31
+ });
32
+ element = this.elementRef.nativeElement;
33
+ containerElement = this.containerDirective?.el.nativeElement || this.element;
29
34
  destroy$$ = new Subject();
30
- containerElement;
31
- element;
32
35
  initialWidth;
33
36
  mouseDownScreenX;
34
37
  resizeHandle;
35
38
  resizeOverlay;
36
39
  resizeBar;
37
- mouseUpSubscription;
38
- document;
39
40
  handleHasUp;
40
41
  BAR_WIDTH = 2;
41
- constructor(element, renderer2, doc, containerDirective) {
42
- this.renderer2 = renderer2;
43
- this.doc = doc;
44
- this.containerDirective = containerDirective;
45
- this.element = element.nativeElement;
46
- this.document = this.doc;
47
- this.containerElement =
48
- this.containerDirective?.el.nativeElement || this.element;
49
- }
50
42
  ngAfterViewInit() {
51
43
  this.createResizeHandle();
52
- this.binEvent(this.element, 'mouseover', () => {
44
+ this.binEvent(this.element, 'mouseover').subscribe(() => {
53
45
  this.handleHasUp = true;
54
46
  if (!this.resizeBar) {
55
47
  this.setResizeHandleVisible(true);
56
48
  }
57
49
  });
58
- this.binEvent(this.element, 'mouseout', () => {
50
+ this.binEvent(this.element, 'mouseout').subscribe(() => {
59
51
  this.handleHasUp = false;
60
52
  this.setResizeHandleVisible(false);
61
53
  });
@@ -64,23 +56,25 @@ export class ResizableDirective {
64
56
  this.destroy$$.next();
65
57
  this.destroy$$.complete();
66
58
  }
67
- binEvent(target, eventType, callback) {
68
- return fromEvent(target, eventType)
69
- .pipe(takeUntil(this.destroy$$))
70
- .subscribe(callback);
59
+ binEvent(target, eventType) {
60
+ return fromEvent(target, eventType).pipe(takeUntil(this.destroy$$));
71
61
  }
72
62
  setResizeHandleVisible(isVisible) {
73
- this.resizeHandle &&
63
+ if (this.resizeHandle) {
74
64
  this.renderer2.setStyle(this.resizeHandle, 'visibility', isVisible ? 'visible' : 'hidden');
65
+ }
75
66
  }
76
67
  createResizeHandle() {
77
- if (!this.resizeHandle) {
78
- this.resizeHandle = this.renderer2.createElement('div');
79
- this.renderer2.addClass(this.resizeHandle, 'resize-handle');
80
- this.binEvent(this.resizeHandle, 'click', (e) => e.stopPropagation());
81
- this.binEvent(this.resizeHandle, 'mousedown', this.onMousedown.bind(this));
82
- this.renderer2.appendChild(this.element, this.resizeHandle);
68
+ if (this.resizeHandle) {
69
+ return;
83
70
  }
71
+ this.resizeHandle = this.renderer2.createElement('div');
72
+ this.renderer2.addClass(this.resizeHandle, 'resize-handle');
73
+ this.binEvent(this.resizeHandle, 'click').subscribe(event => event.stopPropagation());
74
+ this.binEvent(this.resizeHandle, 'mousedown').subscribe(event => {
75
+ this.onMousedown(event);
76
+ });
77
+ this.renderer2.appendChild(this.element, this.resizeHandle);
84
78
  }
85
79
  createResizeOverlay() {
86
80
  this.resizeOverlay = this.renderer2.createElement('div');
@@ -102,33 +96,42 @@ export class ResizableDirective {
102
96
  this.mouseDownScreenX = event.clientX;
103
97
  this.createResizeOverlay();
104
98
  this.createResizeBar();
105
- this.mouseUpSubscription = this.binEvent(document, 'mouseup', ev => this.onMouseup(ev));
106
- this.binEvent(document, 'mousemove', this.move);
99
+ const mouseup$ = this.binEvent(document, 'mouseup').pipe(take(1));
100
+ mouseup$.subscribe(event => {
101
+ this.onMouseup(event);
102
+ });
103
+ this.binEvent(document, 'mousemove')
104
+ .pipe(takeUntil(mouseup$))
105
+ .subscribe(event => {
106
+ this.move(event);
107
+ });
107
108
  }
108
109
  onMouseup(event) {
109
- this.handleHasUp && this.setResizeHandleVisible(true);
110
+ if (this.handleHasUp) {
111
+ this.setResizeHandleVisible(true);
112
+ }
110
113
  this.renderer2.removeChild(this.containerElement, this.resizeOverlay);
111
114
  this.resizeOverlay = null;
112
115
  this.renderer2.removeChild(this.containerElement, this.resizeBar);
113
116
  this.resizeBar = null;
114
117
  const movementX = event.clientX - this.mouseDownScreenX;
115
118
  const newWidth = this.initialWidth + movementX;
116
- this.resizeEnd.emit(this.getFinalWidth(newWidth));
117
- if (this.mouseUpSubscription && !this.mouseUpSubscription.closed) {
118
- this._destroySubscription();
119
+ const width = this.getFinalWidth(newWidth);
120
+ if (!this.manualAdjustment) {
121
+ this.renderer2.setStyle(this.element, 'width', handlePixel(width));
119
122
  }
120
- this.document.removeEventListener('mousemove', this.move);
123
+ this.resizeEnd.emit(width);
121
124
  }
122
- move = (event) => {
125
+ move(event) {
123
126
  if (!this.resizeBar) {
124
127
  return;
125
128
  }
126
129
  const movementX = event.clientX - this.mouseDownScreenX;
127
130
  const newWidth = this.initialWidth + movementX;
128
131
  const finalWidth = this.getFinalWidth(newWidth);
129
- this.renderer2.setStyle(this.resizeBar, 'left', `${finalWidth - this.BAR_WIDTH}px`);
132
+ this.renderer2.setStyle(this.resizeBar, 'left', handlePixel(finalWidth + this.getOffset() - this.BAR_WIDTH));
130
133
  this.resizing.emit(finalWidth);
131
- };
134
+ }
132
135
  getFinalWidth(newWidth) {
133
136
  const _max = this.containerElement.clientWidth + this.getOffset();
134
137
  const minWidth = this.handleWidth(this.minWidth || this.getOffset());
@@ -146,20 +149,14 @@ export class ResizableDirective {
146
149
  if (!width) {
147
150
  return;
148
151
  }
149
- if (width.includes('%')) {
152
+ if (width.endsWith('%')) {
150
153
  const tableWidth = this.containerElement.clientWidth;
151
154
  return (tableWidth * Number.parseFloat(width)) / 100;
152
155
  }
153
156
  return Number.parseFloat(width.replace(/\D+/, ''));
154
157
  }
155
- _destroySubscription() {
156
- if (this.mouseUpSubscription) {
157
- this.mouseUpSubscription.unsubscribe();
158
- this.mouseUpSubscription = null;
159
- }
160
- }
161
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: ContainerForResizableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
162
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { classAttribute: "aui-resizable" }, ngImport: i0 });
158
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
159
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth", manualAdjustment: "manualAdjustment" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { classAttribute: "aui-resizable" }, ngImport: i0 });
163
160
  }
164
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
165
162
  type: Directive,
@@ -170,15 +167,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
170
167
  },
171
168
  standalone: true,
172
169
  }]
173
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: Document, decorators: [{
174
- type: Inject,
175
- args: [DOCUMENT]
176
- }] }, { type: ContainerForResizableDirective, decorators: [{
177
- type: Optional
178
- }] }]; }, propDecorators: { minWidth: [{
170
+ }], propDecorators: { minWidth: [{
179
171
  type: Input
180
172
  }], maxWidth: [{
181
173
  type: Input
174
+ }], manualAdjustment: [{
175
+ type: Input
182
176
  }], resizeStart: [{
183
177
  type: Output
184
178
  }], resizing: [{
@@ -186,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
186
180
  }], resizeEnd: [{
187
181
  type: Output
188
182
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFTbkUsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3VHQURiLDhCQUE4QjsyRkFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQVAxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsNkJBQTZCO3FCQUNyQztvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBZUQsTUFBTSxPQUFPLGtCQUFrQjtJQWdDbEI7SUFFUTtJQUVBO0lBbENuQixRQUFRLENBQWtCO0lBRzFCLFFBQVEsQ0FBa0I7SUFHMUIsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFHekMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFHdEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFdkMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDaEMsZ0JBQWdCLENBQVU7SUFFVCxPQUFPLENBQWM7SUFDOUIsWUFBWSxDQUFTO0lBQ3JCLGdCQUFnQixDQUFTO0lBQ2pDLFlBQVksQ0FBYztJQUMxQixhQUFhLENBQWM7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OzswQkFFZixRQUFROzRDQWpDWCxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxRQUFRO3NCQURQLE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpQ29udGFpbmVyRm9yUmVzaXphYmxlXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS1jb250YWluZXItZm9yLXJlc2l6YWJsZScsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckZvclJlc2l6YWJsZURpcmVjdGl2ZSB7XG4gIGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xufVxuXG4vKipcbiAqIOS9v+eUqOatpOaMh+S7pOmcgOimgeW8leWFpXJlc2l6YWJsZS5zY3NzXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlSZXNpemFibGVdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYXVpLXJlc2l6YWJsZScsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgcmVzaXplU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVzaXppbmcgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVzaXplRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29udGFpbmVyRWxlbWVudDogRWxlbWVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGluaXRpYWxXaWR0aDogbnVtYmVyO1xuICBwcml2YXRlIG1vdXNlRG93blNjcmVlblg6IG51bWJlcjtcbiAgcmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudDsgLy8g5Zyo5oyH5Luk5L2c55So55qE5YWD57Sg5LiK5o+S5YWl5byV5a+85YiG5Ymy57q/77yMaG92ZXLliLDkvZznlKjlhYPntKDlkI7lh7rnjrDvvIzmi5bliqjkuovku7bnmoTlrr/kuLtcbiAgcmVzaXplT3ZlcmxheTogSFRNTEVsZW1lbnQ7IC8vIOWcqOaLluWKqOaXtuWIm+W7uuWHuuS4gOS4qumAj+aYjueahOmBrue9qeWxgu+8jOeUqOS7pem8oOagh+agt+W8j+WcqOaLluWKqOaXtuaAu+aYr+aLluWKqOagt+W8j1xuICByZXNpemVCYXI6IEhUTUxFbGVtZW50OyAvLyDmi5bliqjml7bnmoTlj4LogIPnur/vvIzor6Xlj4LogIPnur/kvJrooqvmj5LlhaXliLAgY29udGFpbmVyRWxlbWVudFxuICBwcml2YXRlIG1vdXNlVXBTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgaGFuZGxlSGFzVXA6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgQkFSX1dJRFRIID0gMjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHJlYWRvbmx5IHJlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXJEaXJlY3RpdmU6IENvbnRhaW5lckZvclJlc2l6YWJsZURpcmVjdGl2ZSxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuZG9jdW1lbnQgPSB0aGlzLmRvYztcbiAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQgPVxuICAgICAgdGhpcy5jb250YWluZXJEaXJlY3RpdmU/LmVsLm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5lbGVtZW50O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY3JlYXRlUmVzaXplSGFuZGxlKCk7XG5cbiAgICB0aGlzLmJpbkV2ZW50KHRoaXMuZWxlbWVudCwgJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlSGFzVXAgPSB0cnVlO1xuICAgICAgaWYgKCF0aGlzLnJlc2l6ZUJhcikge1xuICAgICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5iaW5FdmVudCh0aGlzLmVsZW1lbnQsICdtb3VzZW91dCcsICgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlSGFzVXAgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2V0UmVzaXplSGFuZGxlVmlzaWJsZShmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYmluRXZlbnQ8RT4oXG4gICAgdGFyZ2V0OiBIVE1MRWxlbWVudCB8IERvY3VtZW50IHwgV2luZG93LFxuICAgIGV2ZW50VHlwZTogc3RyaW5nLFxuICAgIGNhbGxiYWNrOiAoZTogRSkgPT4gdm9pZCxcbiAgKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudDxFPih0YXJnZXQsIGV2ZW50VHlwZSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKGNhbGxiYWNrKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVzaXplSGFuZGxlVmlzaWJsZShpc1Zpc2libGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnJlc2l6ZUhhbmRsZSAmJlxuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMucmVzaXplSGFuZGxlLFxuICAgICAgICAndmlzaWJpbGl0eScsXG4gICAgICAgIGlzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplSGFuZGxlKCkge1xuICAgIGlmICghdGhpcy5yZXNpemVIYW5kbGUpIHtcbiAgICAgIHRoaXMucmVzaXplSGFuZGxlID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZUhhbmRsZSwgJ3Jlc2l6ZS1oYW5kbGUnKTtcblxuICAgICAgdGhpcy5iaW5FdmVudCh0aGlzLnJlc2l6ZUhhbmRsZSwgJ2NsaWNrJywgKGU6IEV2ZW50KSA9PlxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuYmluRXZlbnQoXG4gICAgICAgIHRoaXMucmVzaXplSGFuZGxlLFxuICAgICAgICAnbW91c2Vkb3duJyxcbiAgICAgICAgdGhpcy5vbk1vdXNlZG93bi5iaW5kKHRoaXMpLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50LCB0aGlzLnJlc2l6ZUhhbmRsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVPdmVybGF5KCkge1xuICAgIHRoaXMucmVzaXplT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHRoaXMucmVzaXplT3ZlcmxheSwgJ3Jlc2l6ZS1vdmVybGF5Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZU92ZXJsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVCYXIoKSB7XG4gICAgdGhpcy5yZXNpemVCYXIgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZUJhciwgJ3Jlc2l6ZS1iYXInKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIHRoaXMucmVzaXplQmFyLFxuICAgICAgJ2xlZnQnLFxuICAgICAgdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKSAtIHRoaXMuQkFSX1dJRFRIICsgJ3B4JyxcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVCYXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlZG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAvLyDpgb/lhY3kuKTmnaHnur/kuI3lr7npvZBcbiAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUoZmFsc2UpO1xuXG4gICAgdGhpcy5pbml0aWFsV2lkdGggPSB0aGlzLmVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgdGhpcy5yZXNpemVTdGFydC5lbWl0KHRoaXMuaW5pdGlhbFdpZHRoKTtcbiAgICB0aGlzLm1vdXNlRG93blNjcmVlblggPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplT3ZlcmxheSgpO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplQmFyKCk7XG5cbiAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24gPSB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KFxuICAgICAgZG9jdW1lbnQsXG4gICAgICAnbW91c2V1cCcsXG4gICAgICBldiA9PiB0aGlzLm9uTW91c2V1cChldiksXG4gICAgKTtcblxuICAgIHRoaXMuYmluRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm1vdmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNldXAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUhhc1VwICYmIHRoaXMuc2V0UmVzaXplSGFuZGxlVmlzaWJsZSh0cnVlKTtcblxuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSBudWxsO1xuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVCYXIpO1xuICAgIHRoaXMucmVzaXplQmFyID0gbnVsbDtcblxuICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcbiAgICB0aGlzLnJlc2l6ZUVuZC5lbWl0KHRoaXMuZ2V0RmluYWxXaWR0aChuZXdXaWR0aCkpO1xuXG4gICAgaWYgKHRoaXMubW91c2VVcFN1YnNjcmlwdGlvbiAmJiAhdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgdGhpcy5fZGVzdHJveVN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5tb3ZlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbW92ZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGlmICghdGhpcy5yZXNpemVCYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbW92ZW1lbnRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VEb3duU2NyZWVuWDtcbiAgICBjb25zdCBuZXdXaWR0aCA9IHRoaXMuaW5pdGlhbFdpZHRoICsgbW92ZW1lbnRYO1xuXG4gICAgY29uc3QgZmluYWxXaWR0aCA9IHRoaXMuZ2V0RmluYWxXaWR0aChuZXdXaWR0aCk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICB0aGlzLnJlc2l6ZUJhcixcbiAgICAgICdsZWZ0JyxcbiAgICAgIGAke2ZpbmFsV2lkdGggLSB0aGlzLkJBUl9XSURUSH1weGAsXG4gICAgKTtcbiAgICB0aGlzLnJlc2l6aW5nLmVtaXQoZmluYWxXaWR0aCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRGaW5hbFdpZHRoKG5ld1dpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIC8vIOS4jeiDvei2heWHuui+ueeVjFxuICAgIGNvbnN0IF9tYXggPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGggKyB0aGlzLmdldE9mZnNldCgpO1xuICAgIGNvbnN0IG1pbldpZHRoID0gdGhpcy5oYW5kbGVXaWR0aCh0aGlzLm1pbldpZHRoIHx8IHRoaXMuZ2V0T2Zmc2V0KCkpO1xuXG4gICAgY29uc3QgbWF4V2lkdGggPSB0aGlzLmhhbmRsZVdpZHRoKHRoaXMubWF4V2lkdGggfHwgX21heCk7XG4gICAgcmV0dXJuIE1hdGgubWF4KE1hdGgubWluKG1heFdpZHRoLCBuZXdXaWR0aCksIG1pbldpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2Zmc2V0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtXG4gICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVdpZHRoKHdpZHRoOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBpZiAodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cbiAgICBpZiAoIXdpZHRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh3aWR0aC5pbmNsdWRlcygnJScpKSB7XG4gICAgICBjb25zdCB0YWJsZVdpZHRoID0gdGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgcmV0dXJuICh0YWJsZVdpZHRoICogTnVtYmVyLnBhcnNlRmxvYXQod2lkdGgpKSAvIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KHdpZHRoLnJlcGxhY2UoL1xcRCsvLCAnJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVzdHJveVN1YnNjcmlwdGlvbigpIHtcbiAgICBpZiAodGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMubW91c2VVcFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFTdkMsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxFQUFFLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQzt1R0FEdEMsOEJBQThCOzJGQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBUDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSw2QkFBNkI7cUJBQ3JDO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFnQkQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixRQUFRLENBQWtCO0lBRzFCLFFBQVEsQ0FBa0I7SUFHMUIsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBR3pCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBR3pDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBR3RDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXZDLFVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixFQUFFO1FB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QURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxRQUFRO3NCQURQLE1BQU07Z0JBSVAsU0FBUztzQkFEUixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgaGFuZGxlUGl4ZWwgfSBmcm9tICcuLi91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlDb250YWluZXJGb3JSZXNpemFibGVdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYXVpLWNvbnRhaW5lci1mb3ItcmVzaXphYmxlJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyRm9yUmVzaXphYmxlRGlyZWN0aXZlIHtcbiAgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xufVxuXG4vKipcbiAqIOS9v+eUqOatpOaMh+S7pOmcgOimgeW8leWFpSByZXNpemFibGUuc2Nzc1xuICogQGV4YW1wbGUgYG5vZGVfbW9kdWxlcy9AYWxhdWRhL3VpL3Jlc2l6YWJsZS9yZXNpemFibGVgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlSZXNpemFibGVdJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYXVpLXJlc2l6YWJsZScsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBtYW51YWxBZGp1c3RtZW50ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZUVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgY29udGFpbmVyRGlyZWN0aXZlID0gaW5qZWN0KENvbnRhaW5lckZvclJlc2l6YWJsZURpcmVjdGl2ZSwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgY29udGFpbmVyRWxlbWVudCA9IHRoaXMuY29udGFpbmVyRGlyZWN0aXZlPy5lbC5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudDtcblxuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgaW5pdGlhbFdpZHRoOiBudW1iZXI7XG4gIHByaXZhdGUgbW91c2VEb3duU2NyZWVuWDogbnVtYmVyO1xuICByZXNpemVIYW5kbGU6IEhUTUxFbGVtZW50OyAvLyDlnKjmjIfku6TkvZznlKjnmoTlhYPntKDkuIrmj5LlhaXlvJXlr7zliIblibLnur/vvIxob3ZlcuWIsOS9nOeUqOWFg+e0oOWQjuWHuueOsO+8jOaLluWKqOS6i+S7tueahOWuv+S4u1xuICByZXNpemVPdmVybGF5OiBIVE1MRWxlbWVudDsgLy8g5Zyo5ouW5Yqo5pe25Yib5bu65Ye65LiA5Liq6YCP5piO55qE6YGu572p5bGC77yM55So5Lul6byg5qCH5qC35byP5Zyo5ouW5Yqo5pe25oC75piv5ouW5Yqo5qC35byPXG4gIHJlc2l6ZUJhcjogSFRNTEVsZW1lbnQ7IC8vIOaLluWKqOaXtueahOWPguiAg+e6v++8jOivpeWPguiAg+e6v+S8muiiq+aPkuWFpeWIsCBjb250YWluZXJFbGVtZW50XG4gIHByaXZhdGUgaGFuZGxlSGFzVXA6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgQkFSX1dJRFRIID0gMjtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVSZXNpemVIYW5kbGUoKTtcblxuICAgIHRoaXMuYmluRXZlbnQodGhpcy5lbGVtZW50LCAnbW91c2VvdmVyJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlSGFzVXAgPSB0cnVlO1xuICAgICAgaWYgKCF0aGlzLnJlc2l6ZUJhcikge1xuICAgICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5iaW5FdmVudCh0aGlzLmVsZW1lbnQsICdtb3VzZW91dCcpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gZmFsc2U7XG4gICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbkV2ZW50PEU+KFxuICAgIHRhcmdldDogSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IFdpbmRvdyxcbiAgICBldmVudFR5cGU6IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudDxFPih0YXJnZXQsIGV2ZW50VHlwZSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVzaXplSGFuZGxlVmlzaWJsZShpc1Zpc2libGU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5yZXNpemVIYW5kbGUpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZSxcbiAgICAgICAgJ3Zpc2liaWxpdHknLFxuICAgICAgICBpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVIYW5kbGUoKSB7XG4gICAgaWYgKHRoaXMucmVzaXplSGFuZGxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXNpemVIYW5kbGUgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZUhhbmRsZSwgJ3Jlc2l6ZS1oYW5kbGUnKTtcblxuICAgIHRoaXMuYmluRXZlbnQ8RXZlbnQ+KHRoaXMucmVzaXplSGFuZGxlLCAnY2xpY2snKS5zdWJzY3JpYmUoZXZlbnQgPT5cbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpLFxuICAgICk7XG4gICAgdGhpcy5iaW5FdmVudDxNb3VzZUV2ZW50Pih0aGlzLnJlc2l6ZUhhbmRsZSwgJ21vdXNlZG93bicpLnN1YnNjcmliZShcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgdGhpcy5vbk1vdXNlZG93bihldmVudCk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQsIHRoaXMucmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplT3ZlcmxheSgpIHtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZU92ZXJsYXksICdyZXNpemUtb3ZlcmxheScpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplQmFyKCkge1xuICAgIHRoaXMucmVzaXplQmFyID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVCYXIsICdyZXNpemUtYmFyJyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICB0aGlzLnJlc2l6ZUJhcixcbiAgICAgICdsZWZ0JyxcbiAgICAgIHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgLSB0aGlzLkJBUl9XSURUSCArICdweCcsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMucmVzaXplQmFyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgLy8g6YG/5YWN5Lik5p2h57q/5LiN5a+56b2QXG4gICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKGZhbHNlKTtcblxuICAgIHRoaXMuaW5pdGlhbFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIHRoaXMucmVzaXplU3RhcnQuZW1pdCh0aGlzLmluaXRpYWxXaWR0aCk7XG4gICAgdGhpcy5tb3VzZURvd25TY3JlZW5YID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUJhcigpO1xuXG4gICAgY29uc3QgbW91c2V1cCQgPSB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2V1cCcpLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICk7XG4gICAgbW91c2V1cCQuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIHRoaXMub25Nb3VzZXVwKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMuYmluRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKG1vdXNldXAkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICB0aGlzLm1vdmUoZXZlbnQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTW91c2V1cChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhbmRsZUhhc1VwKSB7XG4gICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZU92ZXJsYXkpO1xuICAgIHRoaXMucmVzaXplT3ZlcmxheSA9IG51bGw7XG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZUJhcik7XG4gICAgdGhpcy5yZXNpemVCYXIgPSBudWxsO1xuXG4gICAgY29uc3QgbW92ZW1lbnRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VEb3duU2NyZWVuWDtcbiAgICBjb25zdCBuZXdXaWR0aCA9IHRoaXMuaW5pdGlhbFdpZHRoICsgbW92ZW1lbnRYO1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5nZXRGaW5hbFdpZHRoKG5ld1dpZHRoKTtcblxuICAgIGlmICghdGhpcy5tYW51YWxBZGp1c3RtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLmVsZW1lbnQsICd3aWR0aCcsIGhhbmRsZVBpeGVsKHdpZHRoKSk7XG4gICAgfVxuICAgIHRoaXMucmVzaXplRW5kLmVtaXQod2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLnJlc2l6ZUJhcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlbWVudFggPSBldmVudC5jbGllbnRYIC0gdGhpcy5tb3VzZURvd25TY3JlZW5YO1xuICAgIGNvbnN0IG5ld1dpZHRoID0gdGhpcy5pbml0aWFsV2lkdGggKyBtb3ZlbWVudFg7XG5cbiAgICBjb25zdCBmaW5hbFdpZHRoID0gdGhpcy5nZXRGaW5hbFdpZHRoKG5ld1dpZHRoKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIHRoaXMucmVzaXplQmFyLFxuICAgICAgJ2xlZnQnLFxuICAgICAgaGFuZGxlUGl4ZWwoZmluYWxXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgLSB0aGlzLkJBUl9XSURUSCksXG4gICAgKTtcbiAgICB0aGlzLnJlc2l6aW5nLmVtaXQoZmluYWxXaWR0aCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbmFsV2lkdGgobmV3V2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgLy8g5LiN6IO96LaF5Ye66L6555WMXG4gICAgY29uc3QgX21heCA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCk7XG4gICAgY29uc3QgbWluV2lkdGggPSB0aGlzLmhhbmRsZVdpZHRoKHRoaXMubWluV2lkdGggfHwgdGhpcy5nZXRPZmZzZXQoKSk7XG4gICAgY29uc3QgbWF4V2lkdGggPSB0aGlzLmhhbmRsZVdpZHRoKHRoaXMubWF4V2lkdGggfHwgX21heCk7XG4gICAgcmV0dXJuIE1hdGgubWF4KE1hdGgubWluKG1heFdpZHRoLCBuZXdXaWR0aCksIG1pbldpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2Zmc2V0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtXG4gICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVdpZHRoKHdpZHRoOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBpZiAodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cbiAgICBpZiAoIXdpZHRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh3aWR0aC5lbmRzV2l0aCgnJScpKSB7XG4gICAgICBjb25zdCB0YWJsZVdpZHRoID0gdGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgcmV0dXJuICh0YWJsZVdpZHRoICogTnVtYmVyLnBhcnNlRmxvYXQod2lkdGgpKSAvIDEwMDtcbiAgICB9XG4gICAgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KHdpZHRoLnJlcGxhY2UoL1xcRCsvLCAnJykpO1xuICB9XG59XG4iXX0=
@@ -1,15 +1,13 @@
1
1
  import { CdkCell } from '@angular/cdk/table';
2
2
  import { Directive, Input } from '@angular/core';
3
- import { buildBem } from '../utils';
4
- import { TABLE_PREFIX_CLASSNAME } from './table.component';
3
+ import { tableBem } from './table.component';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@angular/cdk/table";
7
- const bem = buildBem(TABLE_PREFIX_CLASSNAME);
8
6
  export class TableCellDirective extends CdkCell {
9
7
  direction = 'row';
10
8
  constructor(columnDef, elementRef) {
11
9
  super(columnDef, elementRef);
12
- elementRef.nativeElement.classList.add(bem.element(`column-${columnDef.cssClassFriendlyName}`));
10
+ elementRef.nativeElement.classList.add(tableBem.element(`column-${columnDef.cssClassFriendlyName}`));
13
11
  }
14
12
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableCellDirective, deps: [{ token: i1.CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
15
13
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableCellDirective, isStandalone: true, selector: "aui-table-cell", inputs: { direction: "direction" }, host: { attributes: { "role": "gridcell" }, properties: { "class.aui-table__cell--column": "direction === \"column\"" }, classAttribute: "aui-table__cell" }, usesInheritance: true, ngImport: i0 });
@@ -28,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
28
26
  }], ctorParameters: function () { return [{ type: i1.CdkColumnDef }, { type: i0.ElementRef }]; }, propDecorators: { direction: [{
29
27
  type: Input
30
28
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFM0QsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFhN0MsTUFBTSxPQUFPLGtCQUFtQixTQUFRLE9BQU87SUFFN0MsU0FBUyxHQUFxQixLQUFLLENBQUM7SUFFcEMsWUFBWSxTQUF1QixFQUFFLFVBQW1DO1FBQ3RFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0IsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNwQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FDeEQsQ0FBQztJQUNKLENBQUM7dUdBVFUsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBVjlCLFNBQVM7bUJBQUM7b0JBRVQsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxpQkFBaUI7d0JBQ3hCLElBQUksRUFBRSxVQUFVO3dCQUNoQixpQ0FBaUMsRUFBRSx3QkFBd0I7cUJBQzVEO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs0SEFHQyxTQUFTO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDZWxsLCBDZGtDb2x1bW5EZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVEFCTEVfUFJFRklYX0NMQVNTTkFNRSB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuY29uc3QgYmVtID0gYnVpbGRCZW0oVEFCTEVfUFJFRklYX0NMQVNTTkFNRSk7XG5cbi8qKiBDZWxsIHRlbXBsYXRlIGNvbnRhaW5lciB0aGF0IGFkZHMgdGhlIHJpZ2h0IGNsYXNzZXMgYW5kIHJvbGUuICovXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhdWktdGFibGUtY2VsbCcsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9fY2VsbCcsXG4gICAgcm9sZTogJ2dyaWRjZWxsJyxcbiAgICAnW2NsYXNzLmF1aS10YWJsZV9fY2VsbC0tY29sdW1uXSc6ICdkaXJlY3Rpb24gPT09IFwiY29sdW1uXCInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxEaXJlY3RpdmUgZXh0ZW5kcyBDZGtDZWxsIHtcbiAgQElucHV0KClcbiAgZGlyZWN0aW9uOiAncm93JyB8ICdjb2x1bW4nID0gJ3Jvdyc7XG5cbiAgY29uc3RydWN0b3IoY29sdW1uRGVmOiBDZGtDb2x1bW5EZWYsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoY29sdW1uRGVmLCBlbGVtZW50UmVmKTtcbiAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcbiAgICAgIGJlbS5lbGVtZW50KGBjb2x1bW4tJHtjb2x1bW5EZWYuY3NzQ2xhc3NGcmllbmRseU5hbWV9YCksXG4gICAgKTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWE3QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsT0FBTztJQUU3QyxTQUFTLEdBQXFCLEtBQUssQ0FBQztJQUVwQyxZQUFZLFNBQXVCLEVBQUUsVUFBbUM7UUFDdEUsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ3BDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxTQUFTLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQzt1R0FUVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFWOUIsU0FBUzttQkFBQztvQkFFVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLGlDQUFpQyxFQUFFLHdCQUF3QjtxQkFDNUQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzRIQUdDLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0NlbGwsIENka0NvbHVtbkRlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRhYmxlQmVtIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG4vKiogQ2VsbCB0ZW1wbGF0ZSBjb250YWluZXIgdGhhdCBhZGRzIHRoZSByaWdodCBjbGFzc2VzIGFuZCByb2xlLiAqL1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYXVpLXRhYmxlLWNlbGwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktdGFibGVfX2NlbGwnLFxuICAgIHJvbGU6ICdncmlkY2VsbCcsXG4gICAgJ1tjbGFzcy5hdWktdGFibGVfX2NlbGwtLWNvbHVtbl0nOiAnZGlyZWN0aW9uID09PSBcImNvbHVtblwiJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsRGlyZWN0aXZlIGV4dGVuZHMgQ2RrQ2VsbCB7XG4gIEBJbnB1dCgpXG4gIGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJyA9ICdyb3cnO1xuXG4gIGNvbnN0cnVjdG9yKGNvbHVtbkRlZjogQ2RrQ29sdW1uRGVmLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGNvbHVtbkRlZiwgZWxlbWVudFJlZik7XG4gICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXG4gICAgICB0YWJsZUJlbS5lbGVtZW50KGBjb2x1bW4tJHtjb2x1bW5EZWYuY3NzQ2xhc3NGcmllbmRseU5hbWV9YCksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,39 +1,60 @@
1
1
  import { Directive, inject, Input } from '@angular/core';
2
2
  import { takeUntil } from 'rxjs';
3
3
  import { ResizableDirective } from '../resizable';
4
- import { buildBem, handlePixel } from '../utils';
5
- import { TABLE_PREFIX_CLASSNAME, TableColumnDefDirective, TableComponent, TableScrollWrapperDirective, } from './index';
4
+ import { handlePixel } from '../utils';
5
+ import { tableBem, TableColumnDefDirective, TableComponent, TableScrollWrapperDirective, } from './index';
6
6
  import * as i0 from "@angular/core";
7
+ let tableResizableDynamicStyleUid = 0;
7
8
  export class TableColResizableDirective extends ResizableDirective {
8
9
  minWidth = '60px';
10
+ manualAdjustment = true;
9
11
  tableColumnDefDirective = inject(TableColumnDefDirective);
10
12
  tableComponent = inject(TableComponent);
11
13
  tableScrollWrapperDirective = inject(TableScrollWrapperDirective, {
12
14
  optional: true,
13
15
  });
14
16
  styleEl;
17
+ sheet;
15
18
  hostAttr;
16
19
  ngAfterViewInit() {
17
20
  super.ngAfterViewInit();
18
21
  this.containerElement = (this.tableScrollWrapperDirective || this.tableComponent).el.nativeElement;
19
- const bem = buildBem(TABLE_PREFIX_CLASSNAME);
20
22
  this.resizeEnd.pipe(takeUntil(this.destroy$$)).subscribe(width => {
21
- const className = bem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
23
+ const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
22
24
  if (!this.hostAttr) {
23
- this.hostAttr = `resizable-${(Math.random() * 1000000).toFixed(0)}`;
25
+ this.hostAttr = `table-resizable-dynamic-style-${tableResizableDynamicStyleUid++}`;
24
26
  this.containerElement.setAttribute(this.hostAttr, '');
25
- this.styleEl = this.renderer2.createElement('style');
26
- this.renderer2.appendChild(this.containerElement, this.styleEl);
27
27
  }
28
- this.styleEl.innerHTML = `
28
+ const styleString = `
29
29
  [${this.hostAttr}] .${className} {
30
30
  width: ${handlePixel(width)} !important;
31
31
  flex: none !important;
32
32
  }
33
33
  `;
34
+ if (CSSStyleSheet) {
35
+ if (!this.sheet) {
36
+ this.sheet = new CSSStyleSheet();
37
+ document.adoptedStyleSheets.push(this.sheet);
38
+ }
39
+ this.sheet.replaceSync(styleString);
40
+ }
41
+ else {
42
+ if (!this.styleEl) {
43
+ this.styleEl = this.renderer2.createElement('style');
44
+ this.renderer2.appendChild(this.containerElement, this.styleEl);
45
+ }
46
+ this.styleEl.innerHTML = styleString;
47
+ }
34
48
  this.tableComponent.updateStickyColumnStyles();
35
49
  });
36
50
  }
51
+ ngOnDestroy() {
52
+ super.ngOnDestroy();
53
+ if (this.sheet) {
54
+ const idx = document.adoptedStyleSheets.indexOf(this.sheet);
55
+ document.adoptedStyleSheets.splice(idx, 1);
56
+ }
57
+ }
37
58
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColResizableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
38
59
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableColResizableDirective, isStandalone: true, selector: "[auiTableColResizable]", inputs: { minWidth: "minWidth" }, usesInheritance: true, ngImport: i0 });
39
60
  }
@@ -46,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
46
67
  }], propDecorators: { minWidth: [{
47
68
  type: Input
48
69
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsMkJBQTJCLEdBQzVCLE1BQU0sU0FBUyxDQUFDOztBQU1qQixNQUFNLE9BQU8sMEJBQ1gsU0FBUSxrQkFBa0I7SUFJakIsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUVWLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsMkJBQTJCLEdBQUcsTUFBTSxDQUNuRCwyQkFBMkIsRUFDM0I7UUFDRSxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQ0YsQ0FBQztJQUVNLE9BQU8sQ0FBbUI7SUFDMUIsUUFBUSxDQUFTO0lBRWhCLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUN0QixJQUFJLENBQUMsMkJBQTJCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDeEQsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBRW5CLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0QsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FDM0IsVUFBVSxJQUFJLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLEVBQUUsQ0FDOUQsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqRTtZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHO1VBQ3JCLElBQUksQ0FBQyxRQUFRLE1BQU0sU0FBUztpQkFDckIsV0FBVyxDQUFDLEtBQUssQ0FBQzs7O09BRzVCLENBQUM7WUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQS9DVSwwQkFBMEI7MkZBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBTVUsUUFBUTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFJlc2l6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uL3Jlc2l6YWJsZSc7XG5pbXBvcnQgeyBidWlsZEJlbSwgaGFuZGxlUGl4ZWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIFRBQkxFX1BSRUZJWF9DTEFTU05BTUUsXG4gIFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLFxuICBUYWJsZUNvbXBvbmVudCxcbiAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxufSBmcm9tICcuL2luZGV4JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYmxlQ29sUmVzaXphYmxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sUmVzaXphYmxlRGlyZWN0aXZlXG4gIGV4dGVuZHMgUmVzaXphYmxlRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoKVxuICBvdmVycmlkZSBtaW5XaWR0aCA9ICc2MHB4JztcblxuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlID0gaW5qZWN0KFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbXBvbmVudCA9IGluamVjdChUYWJsZUNvbXBvbmVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlID0gaW5qZWN0KFxuICAgIFRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSxcbiAgICB7XG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9LFxuICApO1xuXG4gIHByaXZhdGUgc3R5bGVFbDogSFRNTFN0eWxlRWxlbWVudDtcbiAgcHJpdmF0ZSBob3N0QXR0cjogc3RyaW5nO1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IChcbiAgICAgIHRoaXMudGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlIHx8IHRoaXMudGFibGVDb21wb25lbnRcbiAgICApLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCBiZW0gPSBidWlsZEJlbShUQUJMRV9QUkVGSVhfQ0xBU1NOQU1FKTtcblxuICAgIHRoaXMucmVzaXplRW5kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHdpZHRoID0+IHtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGJlbS5lbGVtZW50KFxuICAgICAgICBgY29sdW1uLSR7dGhpcy50YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZS5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gLFxuICAgICAgKTtcbiAgICAgIGlmICghdGhpcy5ob3N0QXR0cikge1xuICAgICAgICB0aGlzLmhvc3RBdHRyID0gYHJlc2l6YWJsZS0keyhNYXRoLnJhbmRvbSgpICogMV8wMDBfMDAwKS50b0ZpeGVkKDApfWA7XG4gICAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5ob3N0QXR0ciwgJycpO1xuICAgICAgICB0aGlzLnN0eWxlRWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMuc3R5bGVFbCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0eWxlRWwuaW5uZXJIVE1MID0gYFxuICAgICAgIFske3RoaXMuaG9zdEF0dHJ9XSAuJHtjbGFzc05hbWV9IHtcbiAgICAgICAgd2lkdGg6ICR7aGFuZGxlUGl4ZWwod2lkdGgpfSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBgO1xuXG4gICAgICB0aGlzLnRhYmxlQ29tcG9uZW50LnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCwyQkFBMkIsR0FDNUIsTUFBTSxTQUFTLENBQUM7O0FBRWpCLElBQUksNkJBQTZCLEdBQUcsQ0FBQyxDQUFDO0FBTXRDLE1BQU0sT0FBTywwQkFDWCxTQUFRLGtCQUFrQjtJQUlqQixRQUFRLEdBQUcsTUFBTSxDQUFDO0lBRVQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBRXpCLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsMkJBQTJCLEdBQUcsTUFBTSxDQUNuRCwyQkFBMkIsRUFDM0I7UUFDRSxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQ0YsQ0FBQztJQUVNLE9BQU8sQ0FBbUI7SUFDMUIsS0FBSyxDQUFnQjtJQUNyQixRQUFRLENBQVM7SUFFaEIsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQ3RCLElBQUksQ0FBQywyQkFBMkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUN4RCxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUNoQyxVQUFVLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUM5RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsaUNBQWlDLDZCQUE2QixFQUFFLEVBQUUsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZEO1lBQ0QsTUFBTSxXQUFXLEdBQUc7VUFDaEIsSUFBSSxDQUFDLFFBQVEsTUFBTSxTQUFTO2lCQUNyQixXQUFXLENBQUMsS0FBSyxDQUFDOzs7T0FHNUIsQ0FBQztZQUNGLElBQUksYUFBYSxFQUFFO2dCQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7b0JBQ2pDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM5QztnQkFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDakU7Z0JBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO2FBQ3RDO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXBCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVELFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQzt1R0FwRVUsMEJBQTBCOzJGQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQU1VLFFBQVE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBSZXNpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi9yZXNpemFibGUnO1xuaW1wb3J0IHsgaGFuZGxlUGl4ZWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIHRhYmxlQmVtLFxuICBUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSxcbiAgVGFibGVDb21wb25lbnQsXG4gIFRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9pbmRleCc7XG5cbmxldCB0YWJsZVJlc2l6YWJsZUR5bmFtaWNTdHlsZVVpZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZUNvbFJlc2l6YWJsZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbFJlc2l6YWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIFJlc2l6YWJsZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXRcbntcbiAgQElucHV0KClcbiAgb3ZlcnJpZGUgbWluV2lkdGggPSAnNjBweCc7XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbWFudWFsQWRqdXN0bWVudCA9IHRydWU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSA9IGluamVjdChUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb21wb25lbnQgPSBpbmplY3QoVGFibGVDb21wb25lbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSA9IGluamVjdChcbiAgICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG4gICAge1xuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSxcbiAgKTtcblxuICBwcml2YXRlIHN0eWxlRWw6IEhUTUxTdHlsZUVsZW1lbnQ7XG4gIHByaXZhdGUgc2hlZXQ6IENTU1N0eWxlU2hlZXQ7XG4gIHByaXZhdGUgaG9zdEF0dHI6IHN0cmluZztcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG5cbiAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQgPSAoXG4gICAgICB0aGlzLnRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSB8fCB0aGlzLnRhYmxlQ29tcG9uZW50XG4gICAgKS5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgdGhpcy5yZXNpemVFbmQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUod2lkdGggPT4ge1xuICAgICAgY29uc3QgY2xhc3NOYW1lID0gdGFibGVCZW0uZWxlbWVudChcbiAgICAgICAgYGNvbHVtbi0ke3RoaXMudGFibGVDb2x1bW5EZWZEaXJlY3RpdmUuY3NzQ2xhc3NGcmllbmRseU5hbWV9YCxcbiAgICAgICk7XG4gICAgICBpZiAoIXRoaXMuaG9zdEF0dHIpIHtcbiAgICAgICAgdGhpcy5ob3N0QXR0ciA9IGB0YWJsZS1yZXNpemFibGUtZHluYW1pYy1zdHlsZS0ke3RhYmxlUmVzaXphYmxlRHluYW1pY1N0eWxlVWlkKyt9YDtcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyLCAnJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBzdHlsZVN0cmluZyA9IGBcbiAgICAgICBbJHt0aGlzLmhvc3RBdHRyfV0gLiR7Y2xhc3NOYW1lfSB7XG4gICAgICAgIHdpZHRoOiAke2hhbmRsZVBpeGVsKHdpZHRoKX0gIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgYDtcbiAgICAgIGlmIChDU1NTdHlsZVNoZWV0KSB7XG4gICAgICAgIGlmICghdGhpcy5zaGVldCkge1xuICAgICAgICAgIHRoaXMuc2hlZXQgPSBuZXcgQ1NTU3R5bGVTaGVldCgpO1xuICAgICAgICAgIGRvY3VtZW50LmFkb3B0ZWRTdHlsZVNoZWV0cy5wdXNoKHRoaXMuc2hlZXQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2hlZXQucmVwbGFjZVN5bmMoc3R5bGVTdHJpbmcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLnN0eWxlRWwpIHtcbiAgICAgICAgICB0aGlzLnN0eWxlRWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5zdHlsZUVsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0eWxlRWwuaW5uZXJIVE1MID0gc3R5bGVTdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudGFibGVDb21wb25lbnQudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuXG4gICAgaWYgKHRoaXMuc2hlZXQpIHtcbiAgICAgIGNvbnN0IGlkeCA9IGRvY3VtZW50LmFkb3B0ZWRTdHlsZVNoZWV0cy5pbmRleE9mKHRoaXMuc2hlZXQpO1xuICAgICAgZG9jdW1lbnQuYWRvcHRlZFN0eWxlU2hlZXRzLnNwbGljZShpZHgsIDEpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,14 +1,12 @@
1
1
  import { CdkHeaderCell } from '@angular/cdk/table';
2
2
  import { Directive } from '@angular/core';
3
- import { buildBem } from '../utils';
4
- import { TABLE_PREFIX_CLASSNAME } from './table.component';
3
+ import { tableBem } from './table.component';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@angular/cdk/table";
7
- const bem = buildBem(TABLE_PREFIX_CLASSNAME);
8
6
  export class TableHeaderCellDirective extends CdkHeaderCell {
9
7
  constructor(columnDef, elementRef) {
10
8
  super(columnDef, elementRef);
11
- elementRef.nativeElement.classList.add(bem.element(`column-${columnDef.cssClassFriendlyName}`));
9
+ elementRef.nativeElement.classList.add(tableBem.element(`column-${columnDef.cssClassFriendlyName}`));
12
10
  }
13
11
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableHeaderCellDirective, deps: [{ token: i1.CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
14
12
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableHeaderCellDirective, isStandalone: true, selector: "aui-table-header-cell", host: { attributes: { "role": "columnheader" }, classAttribute: "aui-table__header-cell" }, usesInheritance: true, ngImport: i0 });
@@ -24,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
24
22
  standalone: true,
25
23
  }]
26
24
  }], ctorParameters: function () { return [{ type: i1.CdkColumnDef }, { type: i0.ElementRef }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBRTNELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBWTdDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBQ3pELFlBQVksU0FBdUIsRUFBRSxVQUFtQztRQUN0RSxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDcEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO3VHQU5VLHdCQUF3QjsyRkFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQVRwQyxTQUFTO21CQUFDO29CQUVULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsd0JBQXdCO3dCQUMvQixJQUFJLEVBQUUsY0FBYztxQkFDckI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29sdW1uRGVmLCBDZGtIZWFkZXJDZWxsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVEFCTEVfUFJFRklYX0NMQVNTTkFNRSB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuY29uc3QgYmVtID0gYnVpbGRCZW0oVEFCTEVfUFJFRklYX0NMQVNTTkFNRSk7XG5cbi8qKiBIZWFkZXIgY2VsbCB0ZW1wbGF0ZSBjb250YWluZXIgdGhhdCBhZGRzIHRoZSByaWdodCBjbGFzc2VzIGFuZCByb2xlLiAqL1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYXVpLXRhYmxlLWhlYWRlci1jZWxsJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYXVpLXRhYmxlX19oZWFkZXItY2VsbCcsXG4gICAgcm9sZTogJ2NvbHVtbmhlYWRlcicsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSGVhZGVyQ2VsbERpcmVjdGl2ZSBleHRlbmRzIENka0hlYWRlckNlbGwge1xuICBjb25zdHJ1Y3Rvcihjb2x1bW5EZWY6IENka0NvbHVtbkRlZiwgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBzdXBlcihjb2x1bW5EZWYsIGVsZW1lbnRSZWYpO1xuICAgIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFxuICAgICAgYmVtLmVsZW1lbnQoYGNvbHVtbi0ke2NvbHVtbkRlZi5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gKSxcbiAgICApO1xuICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFZN0MsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFDekQsWUFBWSxTQUF1QixFQUFFLFVBQW1DO1FBQ3RFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0IsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7dUdBTlUsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBVHBDLFNBQVM7bUJBQUM7b0JBRVQsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSx3QkFBd0I7d0JBQy9CLElBQUksRUFBRSxjQUFjO3FCQUNyQjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb2x1bW5EZWYsIENka0hlYWRlckNlbGwgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRhYmxlQmVtIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG4vKiogSGVhZGVyIGNlbGwgdGVtcGxhdGUgY29udGFpbmVyIHRoYXQgYWRkcyB0aGUgcmlnaHQgY2xhc3NlcyBhbmQgcm9sZS4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2F1aS10YWJsZS1oZWFkZXItY2VsbCcsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9faGVhZGVyLWNlbGwnLFxuICAgIHJvbGU6ICdjb2x1bW5oZWFkZXInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUhlYWRlckNlbGxEaXJlY3RpdmUgZXh0ZW5kcyBDZGtIZWFkZXJDZWxsIHtcbiAgY29uc3RydWN0b3IoY29sdW1uRGVmOiBDZGtDb2x1bW5EZWYsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoY29sdW1uRGVmLCBlbGVtZW50UmVmKTtcbiAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcbiAgICAgIHRhYmxlQmVtLmVsZW1lbnQoYGNvbHVtbi0ke2NvbHVtbkRlZi5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,16 +1,15 @@
1
1
  import { CdkScrollable } from '@angular/cdk/scrolling';
2
2
  import { Directive, ElementRef, Host, HostBinding, inject, Input, Optional, } from '@angular/core';
3
3
  import { Subject, fromEvent, merge, startWith, takeUntil, switchMap, NEVER, BehaviorSubject, } from 'rxjs';
4
- import { coerceAttrBoolean, observeResizeOn } from '../utils';
5
- import { TABLE_PREFIX_CLASSNAME } from './table.component';
4
+ import { buildBem, coerceAttrBoolean, observeResizeOn } from '../utils';
5
+ import { tableBem } from './table.component';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/cdk/scrolling";
8
8
  import * as i2 from "./table.component";
9
9
  import * as i3 from "@angular/cdk/bidi";
10
- const SHADOW_CLASS = `${TABLE_PREFIX_CLASSNAME}__scroll-shadow`;
11
- const HAS_SCROLL_CLASS = `${SHADOW_CLASS}--has-scroll`;
12
- const SCROLLING_CLASS = `${SHADOW_CLASS}--scrolling`;
13
- const SCROLL_BEFORE_END_CLASS = `${SHADOW_CLASS}--before-end`;
10
+ const shadowClass = tableBem.element('scroll-shadow');
11
+ const shadowBem = buildBem(shadowClass);
12
+ const scrollBeforeEndClass = shadowBem.modifier('before-end');
14
13
  const HAS_TABLE_TOP_SHADOW = 'hasTableTopShadow';
15
14
  const HAS_TABLE_BOTTOM_SHADOW = 'hasTableBottomShadow';
16
15
  const HAS_TABLE_VERTICAL_SCROLL = 'hasTableVerticalScroll';
@@ -53,8 +52,7 @@ export class TableScrollableDirective extends CdkScrollable {
53
52
  this.el = el;
54
53
  this.table = table;
55
54
  }
56
- SCROLL_BEFORE_END_CLASS = true;
57
- SHADOW_CLASS = true;
55
+ className = `${scrollBeforeEndClass} ${shadowClass}`;
58
56
  get containerEl() {
59
57
  return this.el.nativeElement;
60
58
  }
@@ -97,16 +95,16 @@ export class TableScrollableDirective extends CdkScrollable {
97
95
  }
98
96
  mutateHorizontalScroll() {
99
97
  const scrollDis = this.containerEl.scrollWidth - this.containerEl.offsetWidth;
100
- this.placeClassList(this.containerEl.classList, scrollDis > 0, HAS_SCROLL_CLASS);
98
+ this.placeClassList(this.containerEl.classList, scrollDis > 0, shadowBem.modifier('has-scroll'));
101
99
  const scrollLeft = this.containerEl.scrollLeft;
102
- this.placeClassList(this.containerEl.classList, scrollLeft > 0, SCROLLING_CLASS);
103
- this.placeClassList(this.containerEl.classList, scrollLeft < scrollDis, SCROLL_BEFORE_END_CLASS);
100
+ this.placeClassList(this.containerEl.classList, scrollLeft > 0, shadowBem.modifier('scrolling'));
101
+ this.placeClassList(this.containerEl.classList, scrollLeft < scrollDis, scrollBeforeEndClass);
104
102
  }
105
103
  placeClassList(classList, condition, className) {
106
104
  classList[condition ? 'add' : 'remove'](className);
107
105
  }
108
106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }, { token: i2.TableComponent, host: true }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
109
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollableDirective, isStandalone: true, selector: "[auiTableScrollable]", inputs: { scrollable: ["auiTableScrollable", "scrollable"] }, host: { properties: { "class.aui-table__scroll-shadow--before-end": "this.SCROLL_BEFORE_END_CLASS", "class.aui-table__scroll-shadow": "this.SHADOW_CLASS" } }, providers: [
107
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollableDirective, isStandalone: true, selector: "[auiTableScrollable]", inputs: { scrollable: ["auiTableScrollable", "scrollable"] }, host: { properties: { "class": "this.className" } }, providers: [
110
108
  { provide: CdkScrollable, useExisting: TableScrollableDirective },
111
109
  ], usesInheritance: true, ngImport: i0 });
112
110
  }
@@ -126,11 +124,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
126
124
  }] }]; }, propDecorators: { scrollable: [{
127
125
  type: Input,
128
126
  args: ['auiTableScrollable']
129
- }], SCROLL_BEFORE_END_CLASS: [{
127
+ }], className: [{
130
128
  type: HostBinding,
131
- args: [`class.${SCROLL_BEFORE_END_CLASS}`]
132
- }], SHADOW_CLASS: [{
133
- type: HostBinding,
134
- args: [`class.${SHADOW_CLASS}`]
129
+ args: ['class']
135
130
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsR0FDaEIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBa0IsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFFM0UsTUFBTSxZQUFZLEdBQUcsR0FBRyxzQkFBc0IsaUJBQWlCLENBQUM7QUFDaEUsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLFlBQVksY0FBYyxDQUFDO0FBQ3ZELE1BQU0sZUFBZSxHQUFHLEdBQUcsWUFBWSxhQUFhLENBQUM7QUFDckQsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLFlBQVksY0FBYyxDQUFDO0FBRTlELE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQUM7QUFDakQsTUFBTSx1QkFBdUIsR0FBRyxzQkFBc0IsQ0FBQztBQUN2RCxNQUFNLHlCQUF5QixHQUFHLHdCQUF3QixDQUFDO0FBUzNELE1BQU0sT0FBTywyQkFBMkI7SUFHdEMscUJBQXFCLEdBQUcsTUFBTSxDQUFDO0lBRS9CLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7dUdBTGIsMkJBQTJCOzJGQUEzQiwyQkFBMkI7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LENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBcklVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLGdTQUx4QjtZQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUU7U0FDbEU7OzJGQUdVLHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsMEJBQTBCLEVBQUU7cUJBQ2xFO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBd0JJLElBQUk7OzBCQUNKLFFBQVE7NENBbkJQLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMEIzQix1QkFBdUI7c0JBRHRCLFdBQVc7dUJBQUMsU0FBUyx1QkFBdUIsRUFBRTtnQkFJL0MsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLFNBQVMsWUFBWSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlLCBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTdWJqZWN0LFxuICBmcm9tRXZlbnQsXG4gIG1lcmdlLFxuICBzdGFydFdpdGgsXG4gIHRha2VVbnRpbCxcbiAgc3dpdGNoTWFwLFxuICBORVZFUixcbiAgQmVoYXZpb3JTdWJqZWN0LFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgY29lcmNlQXR0ckJvb2xlYW4sIG9ic2VydmVSZXNpemVPbiB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVEFCTEVfUFJFRklYX0NMQVNTTkFNRSwgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IFNIQURPV19DTEFTUyA9IGAke1RBQkxFX1BSRUZJWF9DTEFTU05BTUV9X19zY3JvbGwtc2hhZG93YDtcbmNvbnN0IEhBU19TQ1JPTExfQ0xBU1MgPSBgJHtTSEFET1dfQ0xBU1N9LS1oYXMtc2Nyb2xsYDtcbmNvbnN0IFNDUk9MTElOR19DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLXNjcm9sbGluZ2A7XG5jb25zdCBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLWJlZm9yZS1lbmRgO1xuXG5jb25zdCBIQVNfVEFCTEVfVE9QX1NIQURPVyA9ICdoYXNUYWJsZVRvcFNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyA9ICdoYXNUYWJsZUJvdHRvbVNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMID0gJ2hhc1RhYmxlVmVydGljYWxTY3JvbGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVTY3JvbGxXcmFwcGVyXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9fc2Nyb2xsLXdyYXBwZXInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBASW5wdXQoKVxuICBhdWlUYWJsZVNjcm9sbFdyYXBwZXIgPSAnMTAwJSc7XG5cbiAgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZVNjcm9sbGFibGVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDZGtTY3JvbGxhYmxlLCB1c2VFeGlzdGluZzogVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIENka1Njcm9sbGFibGVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2F1aVRhYmxlU2Nyb2xsYWJsZScpXG4gIHNldCBzY3JvbGxhYmxlKHNjcm9sbGFibGU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX3Njcm9sbGFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbihzY3JvbGxhYmxlKTtcbiAgICB0aGlzLnNjcm9sbGFibGUkJC5uZXh0KHRoaXMuX3Njcm9sbGFibGUpO1xuICB9XG5cbiAgZ2V0IHNjcm9sbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxhYmxlID0gdHJ1ZTtcblxuICBzY3JvbGxhYmxlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuX3Njcm9sbGFibGUpO1xuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlOiBUYWJsZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBkaXI/OiBEaXJlY3Rpb25hbGl0eSxcbiAgKSB7XG4gICAgc3VwZXIoZWwsIHNjcm9sbERpc3BhdGNoZXIsIG5nWm9uZSwgZGlyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtTQ1JPTExfQkVGT1JFX0VORF9DTEFTU31gKVxuICBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1NIQURPV19DTEFTU31gKVxuICBTSEFET1dfQ0xBU1MgPSB0cnVlO1xuXG4gIGdldCBjb250YWluZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZpZXdNdXRhdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHZpZXdNdXRhdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbGFibGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChzY3JvbGxhYmxlID0+IHtcbiAgICAgICAgICBpZiAoc2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICBvYnNlcnZlUmVzaXplT24odGhpcy5jb250YWluZXJFbCksXG4gICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lckVsLCAnc2Nyb2xsJyksXG4gICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0ZVZlcnRpY2FsU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMubXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBtdXRhdGVWZXJ0aWNhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLmNvbnRhaW5lckVsLm9mZnNldEhlaWdodDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPiAwLFxuICAgICAgSEFTX1RBQkxFX1RPUF9TSEFET1csXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPCBzY3JvbGxEaXMsXG4gICAgICBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyxcbiAgICApO1xuXG4gICAgLy8g5YW85a655bGP5bmV57yp5pS+5pivIHN0aWNreeWkmuWIl+eahOagt+W8j+mXrumimFxuICAgIHRoaXMudGFibGUudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cblxuICBtdXRhdGVIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgIGNvbnN0IHNjcm9sbERpcyA9XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFdpZHRoIC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRXaWR0aDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfU0NST0xMX0NMQVNTLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gdGhpcy5jb250YWluZXJFbC5zY3JvbGxMZWZ0O1xuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbExlZnQgPiAwLFxuICAgICAgU0NST0xMSU5HX0NMQVNTLFxuICAgICk7XG4gICAgdGhpcy5wbGFjZUNsYXNzTGlzdChcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuY2xhc3NMaXN0LFxuICAgICAgc2Nyb2xsTGVmdCA8IHNjcm9sbERpcyxcbiAgICAgIFNDUk9MTF9CRUZPUkVfRU5EX0NMQVNTLFxuICAgICk7XG4gIH1cblxuICBwbGFjZUNsYXNzTGlzdChcbiAgICBjbGFzc0xpc3Q6IERPTVRva2VuTGlzdCxcbiAgICBjb25kaXRpb246IGJvb2xlYW4sXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIGNsYXNzTGlzdFtjb25kaXRpb24gPyAnYWRkJyA6ICdyZW1vdmUnXShjbGFzc05hbWUpO1xuICB9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsR0FDaEIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLG1CQUFtQixDQUFDOzs7OztBQUU3RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFOUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUNqRCxNQUFNLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFTM0QsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxxQkFBcUIsR0FBRyxNQUFNLENBQUM7SUFFL0IsRUFBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQzt1R0FMYiwyQkFBMkI7MkZBQTNCLDJCQUEyQjs7MkZB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QXVCLEVBQ3ZCLFNBQWtCLEVBQ2xCLFNBQWlCO1FBRWpCLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsQ0FBQzt1R0FsSVUsd0JBQXdCOzJGQUF4Qix3QkFBd0Isc0xBTHhCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTtTQUNsRTs7MkZBR1Usd0JBQXdCO2tCQVBwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVywwQkFBMEIsRUFBRTtxQkFDbEU7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkF3QkksSUFBSTs7MEJBQ0osUUFBUTs0Q0FuQlAsVUFBVTtzQkFEYixLQUFLO3VCQUFDLG9CQUFvQjtnQkEwQjNCLFNBQVM7c0JBRFIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlLCBTY3JvbGxEaXNwYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTdWJqZWN0LFxuICBmcm9tRXZlbnQsXG4gIG1lcmdlLFxuICBzdGFydFdpdGgsXG4gIHRha2VVbnRpbCxcbiAgc3dpdGNoTWFwLFxuICBORVZFUixcbiAgQmVoYXZpb3JTdWJqZWN0LFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgYnVpbGRCZW0sIGNvZXJjZUF0dHJCb29sZWFuLCBvYnNlcnZlUmVzaXplT24gfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IHRhYmxlQmVtLCBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuY29uc3Qgc2hhZG93Q2xhc3MgPSB0YWJsZUJlbS5lbGVtZW50KCdzY3JvbGwtc2hhZG93Jyk7XG5jb25zdCBzaGFkb3dCZW0gPSBidWlsZEJlbShzaGFkb3dDbGFzcyk7XG5jb25zdCBzY3JvbGxCZWZvcmVFbmRDbGFzcyA9IHNoYWRvd0JlbS5tb2RpZmllcignYmVmb3JlLWVuZCcpO1xuXG5jb25zdCBIQVNfVEFCTEVfVE9QX1NIQURPVyA9ICdoYXNUYWJsZVRvcFNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyA9ICdoYXNUYWJsZUJvdHRvbVNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMID0gJ2hhc1RhYmxlVmVydGljYWxTY3JvbGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVTY3JvbGxXcmFwcGVyXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9fc2Nyb2xsLXdyYXBwZXInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBASW5wdXQoKVxuICBhdWlUYWJsZVNjcm9sbFdyYXBwZXIgPSAnMTAwJSc7XG5cbiAgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZVNjcm9sbGFibGVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDZGtTY3JvbGxhYmxlLCB1c2VFeGlzdGluZzogVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIENka1Njcm9sbGFibGVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2F1aVRhYmxlU2Nyb2xsYWJsZScpXG4gIHNldCBzY3JvbGxhYmxlKHNjcm9sbGFibGU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX3Njcm9sbGFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbihzY3JvbGxhYmxlKTtcbiAgICB0aGlzLnNjcm9sbGFibGUkJC5uZXh0KHRoaXMuX3Njcm9sbGFibGUpO1xuICB9XG5cbiAgZ2V0IHNjcm9sbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxhYmxlID0gdHJ1ZTtcblxuICBzY3JvbGxhYmxlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuX3Njcm9sbGFibGUpO1xuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlOiBUYWJsZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBkaXI/OiBEaXJlY3Rpb25hbGl0eSxcbiAgKSB7XG4gICAgc3VwZXIoZWwsIHNjcm9sbERpc3BhdGNoZXIsIG5nWm9uZSwgZGlyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBjbGFzc05hbWUgPSBgJHtzY3JvbGxCZWZvcmVFbmRDbGFzc30gJHtzaGFkb3dDbGFzc31gO1xuXG4gIGdldCBjb250YWluZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZpZXdNdXRhdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHZpZXdNdXRhdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbGFibGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChzY3JvbGxhYmxlID0+IHtcbiAgICAgICAgICBpZiAoc2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICBvYnNlcnZlUmVzaXplT24odGhpcy5jb250YWluZXJFbCksXG4gICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lckVsLCAnc2Nyb2xsJyksXG4gICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0ZVZlcnRpY2FsU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMubXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBtdXRhdGVWZXJ0aWNhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLmNvbnRhaW5lckVsLm9mZnNldEhlaWdodDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPiAwLFxuICAgICAgSEFTX1RBQkxFX1RPUF9TSEFET1csXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPCBzY3JvbGxEaXMsXG4gICAgICBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyxcbiAgICApO1xuXG4gICAgLy8g5YW85a655bGP5bmV57yp5pS+5pivIHN0aWNreeWkmuWIl+eahOagt+W8j+mXrumimFxuICAgIHRoaXMudGFibGUudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cblxuICBtdXRhdGVIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgIGNvbnN0IHNjcm9sbERpcyA9XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFdpZHRoIC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRXaWR0aDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBzaGFkb3dCZW0ubW9kaWZpZXIoJ2hhcy1zY3JvbGwnKSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHRoaXMuY29udGFpbmVyRWwuc2Nyb2xsTGVmdDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxMZWZ0ID4gMCxcbiAgICAgIHNoYWRvd0JlbS5tb2RpZmllcignc2Nyb2xsaW5nJyksXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxMZWZ0IDwgc2Nyb2xsRGlzLFxuICAgICAgc2Nyb2xsQmVmb3JlRW5kQ2xhc3MsXG4gICAgKTtcbiAgfVxuXG4gIHBsYWNlQ2xhc3NMaXN0KFxuICAgIGNsYXNzTGlzdDogRE9NVG9rZW5MaXN0LFxuICAgIGNvbmRpdGlvbjogYm9vbGVhbixcbiAgICBjbGFzc05hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgY2xhc3NMaXN0W2NvbmRpdGlvbiA/ICdhZGQnIDogJ3JlbW92ZSddKGNsYXNzTmFtZSk7XG4gIH1cbn1cbiJdfQ==