@fundamental-ngx/platform 0.48.0-rc.21 → 0.48.0-rc.23
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.
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +6 -8
- package/esm2022/form/combobox/commons/base-combobox.mjs +6 -5
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +8 -8
- package/esm2022/form/form-generator/form-generator.service.mjs +8 -13
- package/esm2022/form/form-group/form-field/form-field.component.mjs +27 -29
- package/esm2022/form/form-group/form-group.component.mjs +37 -40
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +9 -8
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +3 -3
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +10 -13
- package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
- package/esm2022/form/multi-input/base-multi-input.mjs +5 -4
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +4 -7
- package/esm2022/form/radio-group/radio-group.component.mjs +23 -24
- package/esm2022/form/select/commons/base-select.mjs +3 -3
- package/esm2022/form/step-input/base.step-input.mjs +25 -35
- package/esm2022/form/step-input/number/number-step-input.component.mjs +3 -3
- package/esm2022/form/step-input/step-input-action-button.mjs +6 -10
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +6 -8
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +10 -19
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +7 -9
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +7 -8
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +9 -20
- package/esm2022/list/list.component.mjs +7 -8
- package/esm2022/menu/menu.component.mjs +3 -4
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +8 -11
- package/esm2022/message-popover/message-popover.component.mjs +52 -53
- package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +3 -7
- package/esm2022/search-field/search-field.component.mjs +20 -21
- package/esm2022/settings-generator/settings-generator.service.mjs +9 -10
- package/esm2022/shared/form/base.input.mjs +7 -8
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +10 -15
- package/esm2022/split-menu-button/split-menu-button.component.mjs +7 -18
- package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -6
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -7
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -8
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +3 -7
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +29 -13
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +7 -11
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +5 -7
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +5 -8
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +5 -8
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +5 -8
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +4 -5
- package/esm2022/table/components/table-row/table-row.component.mjs +6 -13
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +34 -21
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +5 -8
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -9
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
- package/esm2022/table/table.component.mjs +39 -49
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +8 -10
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +6 -6
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +14 -17
- package/esm2022/table-helpers/services/table-responsive.service.mjs +6 -11
- package/esm2022/table-helpers/services/table.service.mjs +20 -18
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +10 -18
- package/esm2022/wizard-generator/base-wizard-generator.mjs +12 -19
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +5 -4
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -13
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +8 -7
- package/fesm2022/fundamental-ngx-platform-form.mjs +137 -174
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +24 -46
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +6 -7
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +3 -3
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +57 -60
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +21 -38
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +6 -8
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +6 -7
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +9 -15
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +6 -17
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +42 -52
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +145 -157
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +9 -17
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +20 -33
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -4
- package/form/form-generator/form-generator/form-generator.component.d.ts +1 -1
- package/form/form-generator/form-generator.service.d.ts +3 -7
- package/form/form-group/form-field/form-field.component.d.ts +12 -12
- package/form/form-group/form-group.component.d.ts +35 -31
- package/form/multi-combobox/commons/base-multi-combobox.d.ts +2 -2
- package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +3 -5
- package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
- package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -4
- package/form/radio-group/radio-group.component.d.ts +3 -3
- package/form/step-input/base.step-input.d.ts +5 -6
- package/form/step-input/step-input-action-button.d.ts +4 -7
- package/fundamental-ngx-platform-v0.48.0-rc.23.tgz +0 -0
- package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +1 -1
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
- package/icon-tab-bar/icon-tab-bar.component.d.ts +4 -6
- package/list/list.component.d.ts +1 -3
- package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
- package/message-popover/message-popover.component.d.ts +13 -20
- package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
- package/package.json +4 -4
- package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +4 -6
- package/search-field/search-field.component.d.ts +6 -4
- package/settings-generator/settings-generator.service.d.ts +1 -1
- package/shared/form/base.input.d.ts +2 -2
- package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
- package/split-menu-button/split-menu-button.component.d.ts +3 -8
- package/table/components/reset-button/reset-button.component.d.ts +2 -3
- package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +1 -2
- package/table/components/table-column-resizer/table-column-resizer.component.d.ts +1 -1
- package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
- package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
- package/table/components/table-header-row/table-header-row.component.d.ts +1 -1
- package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
- package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
- package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/components/table-row/table-row.component.d.ts +2 -2
- package/table/components/table-toolbar/table-toolbar.component.d.ts +20 -7
- package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/table.component.d.ts +4 -18
- package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
- package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -1
- package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
- package/table-helpers/services/table-column-resize.service.d.ts +2 -2
- package/table-helpers/services/table-responsive.service.d.ts +3 -5
- package/table-helpers/services/table.service.d.ts +12 -10
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +2 -1
- package/wizard-generator/base-wizard-generator.d.ts +4 -8
- package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
- package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
- package/fundamental-ngx-platform-v0.48.0-rc.21.tgz +0 -0
- package/search-field/search-field-mobile/search-field-mobile.module.d.ts +0 -7
|
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
19
19
|
standalone: true
|
|
20
20
|
}]
|
|
21
21
|
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1oZWFkZXItcG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3RhYmxlLWhlbHBlcnMvZGlyZWN0aXZlcy90YWJsZS1jZWxsLWhlYWRlci1wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVL0QsTUFBTSxPQUFPLCtCQUErQjtJQUN4QyxjQUFjO0lBQ2QsWUFBbUIsV0FBZ0U7UUFBaEUsZ0JBQVcsR0FBWCxXQUFXLENBQXFEO0lBQUcsQ0FBQztJQUV2RixjQUFjO0lBQ2QsTUFBTSxDQUFDLHNCQUFzQixDQUN6QixTQUEwQyxFQUMxQyxPQUFnQjtRQUVoQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzhHQVZRLCtCQUErQjtrR0FBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUozQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgU2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2VsbEhlYWRlclBvcG92ZXJEaXJlY3RpdmVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IFNpZ25hbDxUZW1wbGF0ZVJlZjxhbnk+W10+O1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZHBUYWJsZUNlbGxIZWFkZXJQb3BvdmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxIZWFkZXJQb3BvdmVyRGlyZWN0aXZlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VGFibGVDZWxsSGVhZGVyUG9wb3ZlckRpcmVjdGl2ZUNvbnRleHQ+KSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChcbiAgICAgICAgZGlyZWN0aXZlOiBUYWJsZUNlbGxIZWFkZXJQb3BvdmVyRGlyZWN0aXZlLFxuICAgICAgICBjb250ZXh0OiB1bmtub3duXG4gICAgKTogY29udGV4dCBpcyBUYWJsZUNlbGxIZWFkZXJQb3BvdmVyRGlyZWN0aXZlQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, inject, Input } from '@angular/core';
|
|
1
|
+
import { computed, Directive, inject, Input } from '@angular/core';
|
|
2
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { FDK_FOCUSABLE_ITEM_DIRECTIVE, FocusableItemDirective, RtlService } from '@fundamental-ngx/cdk/utils';
|
|
4
4
|
import { TableCellDirective } from '@fundamental-ngx/core/table';
|
|
@@ -20,15 +20,13 @@ export class PlatformTableCellResizableDirective extends TableCellDirective {
|
|
|
20
20
|
this._resizableSide = value;
|
|
21
21
|
}
|
|
22
22
|
/** @hidden */
|
|
23
|
-
get _isRtl() {
|
|
24
|
-
return this._rtlService?.rtl.getValue() ?? false;
|
|
25
|
-
}
|
|
26
|
-
/** @hidden */
|
|
27
23
|
constructor() {
|
|
28
24
|
super();
|
|
29
25
|
/** @hidden */
|
|
30
26
|
this._resizableSide = 'both';
|
|
31
27
|
/** @hidden */
|
|
28
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
29
|
+
/** @hidden */
|
|
32
30
|
this._tableColumnResizeService = inject(TableColumnResizeService);
|
|
33
31
|
/** @hidden */
|
|
34
32
|
this._rtlService = inject(RtlService, {
|
|
@@ -67,20 +65,20 @@ export class PlatformTableCellResizableDirective extends TableCellDirective {
|
|
|
67
65
|
const elPosition = el.getBoundingClientRect();
|
|
68
66
|
let resizerPosition;
|
|
69
67
|
let resizedColumn;
|
|
70
|
-
const pointerOnLeft = this.
|
|
68
|
+
const pointerOnLeft = this._rtl$()
|
|
71
69
|
? elPosition.right - event.clientX < TABLE_CELL_RESIZABLE_THRESHOLD_PX
|
|
72
70
|
: event.clientX - elPosition.left < TABLE_CELL_RESIZABLE_THRESHOLD_PX;
|
|
73
71
|
if (pointerOnLeft && this._resizableSide !== 'end') {
|
|
74
|
-
resizerPosition = this.
|
|
72
|
+
resizerPosition = this._rtl$()
|
|
75
73
|
? el.parentElement.offsetWidth - (el.offsetLeft + el.offsetWidth)
|
|
76
74
|
: el.offsetLeft;
|
|
77
75
|
resizedColumn = this._tableColumnResizeService.getPreviousColumnName(this.columnName);
|
|
78
76
|
}
|
|
79
|
-
const pointerOnRight = this.
|
|
77
|
+
const pointerOnRight = this._rtl$()
|
|
80
78
|
? event.clientX - elPosition.left < TABLE_CELL_RESIZABLE_THRESHOLD_PX
|
|
81
79
|
: elPosition.right - event.clientX < TABLE_CELL_RESIZABLE_THRESHOLD_PX;
|
|
82
80
|
if (pointerOnRight && this._resizableSide !== 'start') {
|
|
83
|
-
resizerPosition = this.
|
|
81
|
+
resizerPosition = this._rtl$()
|
|
84
82
|
? el.parentElement.offsetWidth - el.offsetLeft
|
|
85
83
|
: el.offsetLeft + el.offsetWidth;
|
|
86
84
|
resizedColumn = this.columnName;
|
|
@@ -132,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
132
130
|
}], columnName: [{
|
|
133
131
|
type: Input
|
|
134
132
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1yZXNpemFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL2RpcmVjdGl2ZXMvdGFibGUtY2VsbC1yZXNpemFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBSW5GLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMsQ0FBQztBQUVuRDs7R0FFRztBQW1CSCxNQUFNLE9BQU8sbUNBQ1QsU0FBUSxrQkFBa0I7SUFHMUIsa0RBQWtEO0lBQ2xELElBQ0ksYUFBYSxDQUFDLEtBQStCO1FBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBU0QsY0FBYztJQUNkLElBQVksTUFBTTtRQUNkLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUks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QUFFLG1DQUFtQzthQUNuRDtZQUNEO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxtQ0FBbUM7YUFDbkQ7U0FDSjs7MkZBRVEsbUNBQW1DO2tCQWxCL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSw0QkFBNEI7NEJBQ3JDLFdBQVcscUNBQXFDO3lCQUNuRDt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsc0JBQXNCOzRCQUMvQixXQUFXLHFDQUFxQzt5QkFDbkQ7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxxQ0FBcUM7eUJBQ25EO3FCQUNKO2lCQUNKO3dEQU9PLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQVc5QixVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUsIEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBUYWJsZUNlbGxEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGFibGUnO1xuaW1wb3J0IGVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLWNvbHVtbi1yZXNpemUuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIFRhYmxlQ29sdW1uUmVzaXphYmxlU2lkZSA9ICdzdGFydCcgfCAnZW5kJyB8ICdib3RoJztcblxuZXhwb3J0IGNvbnN0IFRBQkxFX0NFTExfUkVTSVpBQkxFX1RIUkVTSE9MRF9QWCA9IDQ7XG5cbi8qKlxuICogVHJhY2tzIG1vdXNlIG1vdmVtZW50IG92ZXIgdGhlIGNlbGwgaWYgdGhlIG1vdXNlIHBvaW50ZXIgbmVhciB0aGUgc2lkZSBvZiB0aGUgY2VsbCwgaW5mb3JtcyByZXNpemUgc2VydmljZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRwVGFibGVDZWxsUmVzaXphYmxlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBQbGF0Zm9ybVRhYmxlQ2VsbFJlc2l6YWJsZURpcmVjdGl2ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGb2N1c2FibGVJdGVtRGlyZWN0aXZlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFBsYXRmb3JtVGFibGVDZWxsUmVzaXphYmxlRGlyZWN0aXZlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRhYmxlQ2VsbERpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBQbGF0Zm9ybVRhYmxlQ2VsbFJlc2l6YWJsZURpcmVjdGl2ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVRhYmxlQ2VsbFJlc2l6YWJsZURpcmVjdGl2ZVxuICAgIGV4dGVuZHMgVGFibGVDZWxsRGlyZWN0aXZlXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAgIC8qKiBGaXJzdCBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQgb25seSBieSBpdHMgZW5kICovXG4gICAgQElucHV0KCdmZHBUYWJsZUNlbGxSZXNpemFibGUnKVxuICAgIHNldCByZXNpemFibGVTaWRlKHZhbHVlOiBUYWJsZUNvbHVtblJlc2l6YWJsZVNpZGUpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVzaXphYmxlU2lkZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBDb2x1bW4gbmFtZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uTmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemFibGVTaWRlOiBUYWJsZUNvbHVtblJlc2l6YWJsZVNpZGUgPSAnYm90aCc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9pc1J0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC5nZXRWYWx1ZSgpID8/IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlID0gaW5qZWN0KFRhYmxlQ29sdW1uUmVzaXplU2VydmljZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2UgPSBpbmplY3QoUnRsU2VydmljZSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2U/LnJlc2l6ZUluUHJvZ3Jlc3MgIT09IHRydWUpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKGV2ZW50KSA9PiB0aGlzLl9nZXRSZXNpemVyKGV2ZW50KSB8fCB7IHJlc2l6ZXJQb3NpdGlvbjogMCwgcmVzaXplZENvbHVtbjogdGhpcy5jb2x1bW5OYW1lIH0pLFxuICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gZXF1YWwocHJldiwgY3VycikpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2Uuc2V0SW5pdGlhbFJlc2l6ZXJQb3NpdGlvbihkYXRhLnJlc2l6ZXJQb3NpdGlvbiwgZGF0YS5yZXNpemVkQ29sdW1uKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGZyb21FdmVudDxGb2N1c0V2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3VzJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5zZXRJbml0aWFsUmVzaXplclBvc2l0aW9uKDAsIHRoaXMuY29sdW1uTmFtZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb2x1bW5OYW1lID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZT8ucmVnaXN0ZXJDb2x1bW5DZWxsKHRoaXMuY29sdW1uTmFtZSwgdGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2U/LnVucmVnaXN0ZXJDb2x1bW5DZWxsKHRoaXMuY29sdW1uTmFtZSwgdGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldFJlc2l6ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB7IHJlc2l6ZXJQb3NpdGlvbjogbnVtYmVyOyByZXNpemVkQ29sdW1uOiBzdHJpbmcgfSB8IG51bGwge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBlbFBvc2l0aW9uID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgbGV0IHJlc2l6ZXJQb3NpdGlvbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICBsZXQgcmVzaXplZENvbHVtbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIGNvbnN0IHBvaW50ZXJPbkxlZnQgPSB0aGlzLl9pc1J0bFxuICAgICAgICAgICAgPyBlbFBvc2l0aW9uLnJpZ2h0IC0gZXZlbnQuY2xpZW50WCA8IFRBQkxFX0NFTExfUkVTSVpBQkxFX1RIUkVTSE9MRF9QWFxuICAgICAgICAgICAgOiBldmVudC5jbGllbnRYIC0gZWxQb3NpdGlvbi5sZWZ0IDwgVEFCTEVfQ0VMTF9SRVNJWkFCTEVfVEhSRVNIT0xEX1BYO1xuXG4gICAgICAgIGlmIChwb2ludGVyT25MZWZ0ICYmIHRoaXMuX3Jlc2l6YWJsZVNpZGUgIT09ICdlbmQnKSB7XG4gICAgICAgICAgICByZXNpemVyUG9zaXRpb24gPSB0aGlzLl9pc1J0bFxuICAgICAgICAgICAgICAgID8gZWwucGFyZW50RWxlbWVudCEub2Zmc2V0V2lkdGggLSAoZWwub2Zmc2V0TGVmdCArIGVsLm9mZnNldFdpZHRoKVxuICAgICAgICAgICAgICAgIDogZWwub2Zmc2V0TGVmdDtcblxuICAgICAgICAgICAgcmVzaXplZENvbHVtbiA9IHRoaXMuX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5nZXRQcmV2aW91c0NvbHVtbk5hbWUodGhpcy5jb2x1bW5OYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBvaW50ZXJPblJpZ2h0ID0gdGhpcy5faXNSdGxcbiAgICAgICAgICAgID8gZXZlbnQuY2xpZW50WCAtIGVsUG9zaXRpb24ubGVmdCA8IFRBQkxFX0NFTExfUkVTSVpBQkxFX1RIUkVTSE9MRF9QWFxuICAgICAgICAgICAgOiBlbFBvc2l0aW9uLnJpZ2h0IC0gZXZlbnQuY2xpZW50WCA8IFRBQkxFX0NFTExfUkVTSVpBQkxFX1RIUkVTSE9MRF9QWDtcblxuICAgICAgICBpZiAocG9pbnRlck9uUmlnaHQgJiYgdGhpcy5fcmVzaXphYmxlU2lkZSAhPT0gJ3N0YXJ0Jykge1xuICAgICAgICAgICAgcmVzaXplclBvc2l0aW9uID0gdGhpcy5faXNSdGxcbiAgICAgICAgICAgICAgICA/IGVsLnBhcmVudEVsZW1lbnQhLm9mZnNldFdpZHRoIC0gZWwub2Zmc2V0TGVmdFxuICAgICAgICAgICAgICAgIDogZWwub2Zmc2V0TGVmdCArIGVsLm9mZnNldFdpZHRoO1xuXG4gICAgICAgICAgICByZXNpemVkQ29sdW1uID0gdGhpcy5jb2x1bW5OYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyZXNpemVkQ29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IHJlc2l6ZXJQb3NpdGlvbjogcmVzaXplclBvc2l0aW9uISwgcmVzaXplZENvbHVtbiB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1yZXNpemFibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL2RpcmVjdGl2ZXMvdGFibGUtY2VsbC1yZXNpemFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVyRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUluRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7QUFFbkQ7O0dBRUc7QUFtQkgsTUFBTSxPQUFPLG1DQUNULFNBQVEsa0JBQWtCO0lBRzFCLGtEQUFrRDtJQUNsRCxJQUNJLGFBQWEsQ0FBQyxLQUErQjtRQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQW9CRCxjQUFjO0lBQ2Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQWhCWixjQUFjO1FBQ04sbUJBQWMsR0FBNkIsTUFBTSxD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LE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFdBQVcsRUFBRSxtQ0FBbUM7YUFDbkQ7WUFDRDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsbUNBQW1DO2FBQ25EO1NBQ0o7OzJGQUVRLG1DQUFtQztrQkFsQi9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLHFDQUFxQzt5QkFDbkQ7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsV0FBVyxxQ0FBcUM7eUJBQ25EO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcscUNBQXFDO3lCQUNuRDtxQkFDSjtpQkFDSjt3REFPTyxhQUFhO3NCQURoQixLQUFLO3VCQUFDLHVCQUF1QjtnQkFXOUIsVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRkRLX0ZPQ1VTQUJMRV9JVEVNX0RJUkVDVElWRSwgRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSwgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFRhYmxlQ2VsbERpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90YWJsZSc7XG5pbXBvcnQgZXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUtY29sdW1uLXJlc2l6ZS5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgVGFibGVDb2x1bW5SZXNpemFibGVTaWRlID0gJ3N0YXJ0JyB8ICdlbmQnIHwgJ2JvdGgnO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfQ0VMTF9SRVNJWkFCTEVfVEhSRVNIT0xEX1BYID0gNDtcblxuLyoqXG4gKiBUcmFja3MgbW91c2UgbW92ZW1lbnQgb3ZlciB0aGUgY2VsbCBpZiB0aGUgbW91c2UgcG9pbnRlciBuZWFyIHRoZSBzaWRlIG9mIHRoZSBjZWxsLCBpbmZvcm1zIHJlc2l6ZSBzZXJ2aWNlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZHBUYWJsZUNlbGxSZXNpemFibGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGREtfRk9DVVNBQkxFX0lURU1fRElSRUNUSVZFLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFBsYXRmb3JtVGFibGVDZWxsUmVzaXphYmxlRGlyZWN0aXZlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogUGxhdGZvcm1UYWJsZUNlbGxSZXNpemFibGVEaXJlY3RpdmVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVGFibGVDZWxsRGlyZWN0aXZlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFBsYXRmb3JtVGFibGVDZWxsUmVzaXphYmxlRGlyZWN0aXZlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFBsYXRmb3JtVGFibGVDZWxsUmVzaXphYmxlRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBUYWJsZUNlbGxEaXJlY3RpdmVcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgLyoqIEZpcnN0IGNvbHVtbiBjYW4gYmUgcmVzaXplZCBvbmx5IGJ5IGl0cyBlbmQgKi9cbiAgICBASW5wdXQoJ2ZkcFRhYmxlQ2VsbFJlc2l6YWJsZScpXG4gICAgc2V0IHJlc2l6YWJsZVNpZGUodmFsdWU6IFRhYmxlQ29sdW1uUmVzaXphYmxlU2lkZSkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZXNpemFibGVTaWRlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIENvbHVtbiBuYW1lICovXG4gICAgQElucHV0KClcbiAgICBjb2x1bW5OYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6YWJsZVNpZGU6IFRhYmxlQ29sdW1uUmVzaXphYmxlU2lkZSA9ICdib3RoJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcnRsJCA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5fcnRsU2VydmljZT8ucnRsU2lnbmFsKCkpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UgPSBpbmplY3QoVGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcnRsU2VydmljZSA9IGluamVjdChSdGxTZXJ2aWNlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZT8ucmVzaXplSW5Qcm9ncmVzcyAhPT0gdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IHRoaXMuX2dldFJlc2l6ZXIoZXZlbnQpIHx8IHsgcmVzaXplclBvc2l0aW9uOiAwLCByZXNpemVkQ29sdW1uOiB0aGlzLmNvbHVtbk5hbWUgfSksXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBlcXVhbChwcmV2LCBjdXJyKSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZS5zZXRJbml0aWFsUmVzaXplclBvc2l0aW9uKGRhdGEucmVzaXplclBvc2l0aW9uLCBkYXRhLnJlc2l6ZWRDb2x1bW4pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9jdXMnKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlLnNldEluaXRpYWxSZXNpemVyUG9zaXRpb24oMCwgdGhpcy5jb2x1bW5OYW1lKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbk5hbWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlPy5yZWdpc3RlckNvbHVtbkNlbGwodGhpcy5jb2x1bW5OYW1lLCB0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlQ29sdW1uUmVzaXplU2VydmljZT8udW5yZWdpc3RlckNvbHVtbkNlbGwodGhpcy5jb2x1bW5OYW1lLCB0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0UmVzaXplcihldmVudDogTW91c2VFdmVudCk6IHsgcmVzaXplclBvc2l0aW9uOiBudW1iZXI7IHJlc2l6ZWRDb2x1bW46IHN0cmluZyB9IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGVsUG9zaXRpb24gPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBsZXQgcmVzaXplclBvc2l0aW9uOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGxldCByZXNpemVkQ29sdW1uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgY29uc3QgcG9pbnRlck9uTGVmdCA9IHRoaXMuX3J0bCQoKVxuICAgICAgICAgICAgPyBlbFBvc2l0aW9uLnJpZ2h0IC0gZXZlbnQuY2xpZW50WCA8IFRBQkxFX0NFTExfUkVTSVpBQkxFX1RIUkVTSE9MRF9QWFxuICAgICAgICAgICAgOiBldmVudC5jbGllbnRYIC0gZWxQb3NpdGlvbi5sZWZ0IDwgVEFCTEVfQ0VMTF9SRVNJWkFCTEVfVEhSRVNIT0xEX1BYO1xuXG4gICAgICAgIGlmIChwb2ludGVyT25MZWZ0ICYmIHRoaXMuX3Jlc2l6YWJsZVNpZGUgIT09ICdlbmQnKSB7XG4gICAgICAgICAgICByZXNpemVyUG9zaXRpb24gPSB0aGlzLl9ydGwkKClcbiAgICAgICAgICAgICAgICA/IGVsLnBhcmVudEVsZW1lbnQhLm9mZnNldFdpZHRoIC0gKGVsLm9mZnNldExlZnQgKyBlbC5vZmZzZXRXaWR0aClcbiAgICAgICAgICAgICAgICA6IGVsLm9mZnNldExlZnQ7XG5cbiAgICAgICAgICAgIHJlc2l6ZWRDb2x1bW4gPSB0aGlzLl90YWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UuZ2V0UHJldmlvdXNDb2x1bW5OYW1lKHRoaXMuY29sdW1uTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwb2ludGVyT25SaWdodCA9IHRoaXMuX3J0bCQoKVxuICAgICAgICAgICAgPyBldmVudC5jbGllbnRYIC0gZWxQb3NpdGlvbi5sZWZ0IDwgVEFCTEVfQ0VMTF9SRVNJWkFCTEVfVEhSRVNIT0xEX1BYXG4gICAgICAgICAgICA6IGVsUG9zaXRpb24ucmlnaHQgLSBldmVudC5jbGllbnRYIDwgVEFCTEVfQ0VMTF9SRVNJWkFCTEVfVEhSRVNIT0xEX1BYO1xuXG4gICAgICAgIGlmIChwb2ludGVyT25SaWdodCAmJiB0aGlzLl9yZXNpemFibGVTaWRlICE9PSAnc3RhcnQnKSB7XG4gICAgICAgICAgICByZXNpemVyUG9zaXRpb24gPSB0aGlzLl9ydGwkKClcbiAgICAgICAgICAgICAgICA/IGVsLnBhcmVudEVsZW1lbnQhLm9mZnNldFdpZHRoIC0gZWwub2Zmc2V0TGVmdFxuICAgICAgICAgICAgICAgIDogZWwub2Zmc2V0TGVmdCArIGVsLm9mZnNldFdpZHRoO1xuXG4gICAgICAgICAgICByZXNpemVkQ29sdW1uID0gdGhpcy5jb2x1bW5OYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFyZXNpemVkQ29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7IHJlc2l6ZXJQb3NpdGlvbjogcmVzaXplclBvc2l0aW9uISwgcmVzaXplZENvbHVtbiB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
1
|
+
import { Directive, EventEmitter, inject, Input, Output, signal } from '@angular/core';
|
|
2
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
3
|
import { DataSourceDirective, FD_DATA_SOURCE_TRANSFORMER, isDataSource } from '@fundamental-ngx/cdk/data-source';
|
|
4
4
|
import { BehaviorSubject, Subject, Subscription } from 'rxjs';
|
|
@@ -17,7 +17,7 @@ export class TableDataSourceDirective extends DataSourceDirective {
|
|
|
17
17
|
/** Event emitted when data loading is finished. */
|
|
18
18
|
this.onDataReceived = new EventEmitter();
|
|
19
19
|
/** Total items count stream. */
|
|
20
|
-
this.totalItems$ =
|
|
20
|
+
this.totalItems$ = signal(0);
|
|
21
21
|
/** Items stream. */
|
|
22
22
|
this.items$ = new BehaviorSubject([]);
|
|
23
23
|
/** Child items stream. */
|
|
@@ -51,10 +51,10 @@ export class TableDataSourceDirective extends DataSourceDirective {
|
|
|
51
51
|
}
|
|
52
52
|
/** @hidden */
|
|
53
53
|
set totalItems(value) {
|
|
54
|
-
this.totalItems$.
|
|
54
|
+
this.totalItems$.set(value);
|
|
55
55
|
}
|
|
56
56
|
get totalItems() {
|
|
57
|
-
return this.totalItems
|
|
57
|
+
return this.totalItems$();
|
|
58
58
|
}
|
|
59
59
|
/** @hidden */
|
|
60
60
|
initializeDataSource() {
|
|
@@ -116,7 +116,7 @@ export class TableDataSourceDirective extends DataSourceDirective {
|
|
|
116
116
|
throw new Error(`[TableDataSource] source did not match an Array, Observable, nor DataSource`);
|
|
117
117
|
}
|
|
118
118
|
this._tableDsSubscription.add(this.dataChanged$.subscribe((items) => {
|
|
119
|
-
this.totalItems$.
|
|
119
|
+
this.totalItems$.set(dataSourceStream.dataProvider.totalItems);
|
|
120
120
|
this.items$.next(items);
|
|
121
121
|
}));
|
|
122
122
|
this._tableDsSubscription.add(dataSourceStream.onDataRequested().subscribe(() => {
|
|
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
187
187
|
}], onDataReceived: [{
|
|
188
188
|
type: Output
|
|
189
189
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS1zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL2RpcmVjdGl2ZXMvdGFibGUtZGF0YS1zb3VyY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEIsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUF5QyxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBYXpELE1BQU0sT0FBTyx3QkFBNEIsU0FBUSxtQkFBMEM7SUFWM0Y7O1FBMEJJLG1FQUFtRTtRQUVuRSwyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWxELGtEQUFrRDtRQUV6QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEQsbURBQW1EO1FBRTFDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuRCxnQ0FBZ0M7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUU3QyxvQkFBb0I7UUFD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O29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsUUFBUSxFQUFFLHFCQUFxQjt5QkFDbEM7cUJBQ0o7aUJBQ0o7OEJBT08sZUFBZTtzQkFEbEIsS0FBSztnQkFhTixzQkFBc0I7c0JBRHJCLE1BQU07Z0JBS0UsZUFBZTtzQkFEdkIsTUFBTTtnQkFLRSxjQUFjO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEYXRhU291cmNlRGlyZWN0aXZlLCBGRF9EQVRBX1NPVVJDRV9UUkFOU0ZPUk1FUiwgaXNEYXRhU291cmNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRkRQX1RBQkxFX1NUQVRFX0RJUkVDVElWRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDaGlsZFRhYmxlRGF0YVNvdXJjZSwgVGFibGVEYXRhU291cmNlLCBUYWJsZURhdGFTb3VyY2VQYXJzZXIgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgVGFibGVJbml0aWFsU3RhdGUsIFRhYmxlUm93IH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcFRhYmxlRGF0YVNvdXJjZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0RBVEFfU09VUkNFX1RSQU5TRk9STUVSLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFRhYmxlRGF0YVNvdXJjZVBhcnNlclxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZURhdGFTb3VyY2VEaXJlY3RpdmU8VD4gZXh0ZW5kcyBEYXRhU291cmNlRGlyZWN0aXZlPFQsIFRhYmxlRGF0YVNvdXJjZTxUPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIERhdGEgc291cmNlLlxuICAgICAqIEBwYXJhbSBzb3VyY2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjaGlsZERhdGFTb3VyY2Uoc291cmNlOiBDaGlsZFRhYmxlRGF0YVNvdXJjZTxUPiB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fY2hpbGREYXRhU291cmNlID0gc291cmNlO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplQ2hpbGREYXRhU291cmNlKCk7XG4gICAgICAgIHRoaXMuY2hpbGREYXRhU291cmNlQ2hhbmdlZC5uZXh0KCk7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkRGF0YVNvdXJjZSgpOiBDaGlsZFRhYmxlRGF0YVNvdXJjZTxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hpbGREYXRhU291cmNlO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gY2hpbGQgZGF0YSBzb3VyY2UgaW5zdGFuY2UgYmVpbmcgY2hhbmdlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBjaGlsZERhdGFTb3VyY2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBkYXRhIGxvYWRpbmcgaXMgc3RhcnRlZC4gKi9cbiAgICBAT3V0cHV0KCkgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcmVhZG9ubHkgb25EYXRhUmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBkYXRhIGxvYWRpbmcgaXMgZmluaXNoZWQuICovXG4gICAgQE91dHB1dCgpIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIHJlYWRvbmx5IG9uRGF0YVJlY2VpdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIFRvdGFsIGl0ZW1zIGNvdW50IHN0cmVhbS4gKi9cbiAgICB0b3RhbEl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIC8qKiBJdGVtcyBzdHJlYW0uICovXG4gICAgaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcblxuICAgIC8qKiBDaGlsZCBpdGVtcyBzdHJlYW0uICovXG4gICAgY2hpbGRJdGVtcyQgPSBuZXcgU3ViamVjdDxNYXA8VGFibGVSb3c8VD4sIFRbXT4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90YWJsZURhdGFTb3VyY2U6IFRhYmxlRGF0YVNvdXJjZTxUPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZpcnN0TG9hZGluZ0RvbmUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ludGVybmFsTG9hZGluZ1N0YXRlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbnRlcm5hbENoaWxkcmVuTG9hZGluZ1N0YXRlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NoaWxkRGF0YVNvdXJjZTogQ2hpbGRUYWJsZURhdGFTb3VyY2U8VD4gfCBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jaGlsZERzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXQgdG90YWxJdGVtcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudG90YWxJdGVtcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHRvdGFsSXRlbXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG90YWxJdGVtcyQudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gZm9yIGRhdGEgc291cmNlIGhhbmRsaW5nICovXG4gICAgcHJpdmF0ZSBfdGFibGVEc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFibGU6IFRhYmxlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxTdGF0ZSA9IGluamVjdDxUYWJsZUluaXRpYWxTdGF0ZT4oRkRQX1RBQkxFX1NUQVRFX0RJUkVDVElWRSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNlcnZpY2UgPSBpbmplY3QoVGFibGVTZXJ2aWNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgaW5pdGlhbGl6ZURhdGFTb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZUNoYW5nZWQucGlwZShzdGFydFdpdGgodHJ1ZSksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NlRGF0YVNvdXJjZSgpO1xuICAgICAgICAgICAgdGhpcy5fbGlzdGVuVG9EYXRhU291cmNlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3RhYmxlRHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRUYWJsZSh0YWJsZTogVGFibGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGUgPSB0YWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogSW5pdGlhbGl6ZXMgdGhlIGNoaWxkIGRhdGEgc291cmNlIHRvIGZldGNoIGNoaWxkIHJvd3MuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNoaWxkRGF0YVNvdXJjZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRGF0YVNvdXJjZSh0aGlzLmNoaWxkRGF0YVNvdXJjZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGREYXRhU291cmNlPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICB0aGlzLl9jaGlsZERzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jaGlsZERhdGFTb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NoaWxkRHNTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fY2hpbGREc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmNoaWxkRGF0YVNvdXJjZS5vbkRhdGFSZXF1ZXN0ZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVybmFsQ2hpbGRyZW5Mb2FkaW5nU3RhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5zZXRUYWJsZUxvYWRpbmcodGhpcy5fdGFibGUubG9hZGluZ1N0YXRlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fY2hpbGREc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmNoaWxkRGF0YVNvdXJjZS5vbkRhdGFSZWNlaXZlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWxDaGlsZHJlbkxvYWRpbmdTdGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5zZXRUYWJsZUxvYWRpbmcodGhpcy5fdGFibGUubG9hZGluZ1N0YXRlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fY2hpbGREc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmNoaWxkRGF0YVNvdXJjZS5kYXRhTG9hZGluZ1xuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHN0YXRlKSA9PiAhIXN0YXRlKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxvYWRpbmdTdGF0ZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1N0YXRlcy5mb3JFYWNoKChzdGF0ZSkgPT4gc3RhdGUucm93Py5jaGlsZEl0ZW1zTG9hZGluZyQubmV4dChzdGF0ZS5sb2FkaW5nKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9jaGlsZERzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuY2hpbGREYXRhU291cmNlLmRhdGFDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoaWxkSXRlbXMkLm5leHQoZGF0YSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIGlzIGEgc2luZ2xlIHBvaW50IG9mIGRhdGEgZW50cnkgdG8gdGhlIGNvbXBvbmVudC4gV2UgZG9uJ3Qgd2FudCB0byBzZXQgZGF0YSBvbiBkaWZmZXJlbnRcbiAgICAgKiBwbGFjZXMuIElmIGFueSBuZXcgZGF0YSBjb21lcyBpbiwgb3IgeW91IGRvIGEgc2VhcmNoLCBhbmQgeW91IHdhbnQgdG8gcGFzcyBpbml0aWFsIGRhdGFcbiAgICAgKiBpdHMgaGVyZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub0RhdGFTb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlRHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3RhYmxlRHNTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgZGF0YVNvdXJjZVN0cmVhbSA9IHRoaXMuZGF0YVNvdXJjZVByb3ZpZGVyO1xuICAgICAgICBpZiAoZGF0YVNvdXJjZVN0cmVhbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFtUYWJsZURhdGFTb3VyY2VdIHNvdXJjZSBkaWQgbm90IG1hdGNoIGFuIEFycmF5LCBPYnNlcnZhYmxlLCBub3IgRGF0YVNvdXJjZWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdGFibGVEc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2VkJC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zJC5uZXh0KGRhdGFTb3VyY2VTdHJlYW0uZGF0YVByb3ZpZGVyLnRvdGFsSXRlbXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMkLm5leHQoaXRlbXMpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl90YWJsZURzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIGRhdGFTb3VyY2VTdHJlYW0ub25EYXRhUmVxdWVzdGVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRGF0YVJlcXVlc3RlZC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWxMb2FkaW5nU3RhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlU2VydmljZS5zZXRUYWJsZUxvYWRpbmcodGhpcy5fdGFibGUubG9hZGluZ1N0YXRlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3RhYmxlRHNTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgZGF0YVNvdXJjZVN0cmVhbS5vbkRhdGFSZWNlaXZlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkRhdGFSZWNlaXZlZC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWxMb2FkaW5nU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9maXJzdExvYWRpbmdEb25lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc2V0VGFibGVMb2FkaW5nKHRoaXMuX3RhYmxlLmxvYWRpbmdTdGF0ZSk7XG5cbiAgICAgICAgICAgICAgICAvLyBSZXN0b3JlIG5vcm1hbCBwYWdpbmF0aW9uIGFmdGVyIHRoZSBmaXJzdCBmZXRjaCBvZiBkYXRhLlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl90YWJsZS5fbG9hZFByZXZpb3VzUGFnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLl90YWJsZVNlcnZpY2UuZ2V0VGFibGVTdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc2V0VGFibGVTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmluaXRpYWxTdGF0ZT8uaW5pdGlhbFBhZ2UgfHwgc3RhdGUucGFnZS5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVNpemU6IHRoaXMuX3RhYmxlLnBhZ2VTaXplIHx8IHN0YXRlLnBhZ2UucGFnZVNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YWJsZS5fbG9hZFByZXZpb3VzUGFnZXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIGluaXRpYWwgZGF0YSBmZXRjaFxuICAgICAgICBkYXRhU291cmNlU3RyZWFtLmZldGNoKHRoaXMuX3RhYmxlU2VydmljZS5nZXRUYWJsZVN0YXRlKCkpO1xuXG4gICAgICAgIHRoaXMuX3RhYmxlRGF0YVNvdXJjZSA9IGRhdGFTb3VyY2VTdHJlYW07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbG9zZURhdGFTb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fdGFibGVEYXRhU291cmNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90YWJsZURhdGFTb3VyY2UuY2xvc2UoKTtcblxuICAgICAgICB0aGlzLl90YWJsZURzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl90YWJsZURzU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5fdGFibGUuY2xlYXJUYWJsZVJvd3MoKTtcbiAgICB9XG59XG4iXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS1zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL2RpcmVjdGl2ZXMvdGFibGUtZGF0YS1zb3VyY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMEJBQTBCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakgsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBeUMscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWF6RCxNQUFNLE9BQU8sd0JBQTRCLFNBQVEsbUJBQTBDO0lBVjNGOztRQTBCSSxtRUFBbUU7UUFFbkUsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVsRCxrREFBa0Q7UUFFekMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXBELG1EQUFtRDtRQUUxQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFbkQsZ0NBQWdDO1FBQ2hDLGdCQUFXLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRWhDLG9CQUFv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O29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLDBCQUEwQjs0QkFDbkMsUUFBUSxFQUFFLHFCQUFxQjt5QkFDbEM7cUJBQ0o7aUJBQ0o7OEJBT08sZUFBZTtzQkFEbEIsS0FBSztnQkFhTixzQkFBc0I7c0JBRHJCLE1BQU07Z0JBS0UsZUFBZTtzQkFEdkIsTUFBTTtnQkFLRSxjQUFjO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IERhdGFTb3VyY2VEaXJlY3RpdmUsIEZEX0RBVEFfU09VUkNFX1RSQU5TRk9STUVSLCBpc0RhdGFTb3VyY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGRFBfVEFCTEVfU1RBVEVfRElSRUNUSVZFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IENoaWxkVGFibGVEYXRhU291cmNlLCBUYWJsZURhdGFTb3VyY2UsIFRhYmxlRGF0YVNvdXJjZVBhcnNlciB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBUYWJsZUluaXRpYWxTdGF0ZSwgVGFibGVSb3cgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFibGUuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRwVGFibGVEYXRhU291cmNlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIsXG4gICAgICAgICAgICB1c2VDbGFzczogVGFibGVEYXRhU291cmNlUGFyc2VyXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YVNvdXJjZURpcmVjdGl2ZTxUPiBleHRlbmRzIERhdGFTb3VyY2VEaXJlY3RpdmU8VCwgVGFibGVEYXRhU291cmNlPFQ+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogRGF0YSBzb3VyY2UuXG4gICAgICogQHBhcmFtIHNvdXJjZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNoaWxkRGF0YVNvdXJjZShzb3VyY2U6IENoaWxkVGFibGVEYXRhU291cmNlPFQ+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9jaGlsZERhdGFTb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVDaGlsZERhdGFTb3VyY2UoKTtcbiAgICAgICAgdGhpcy5jaGlsZERhdGFTb3VyY2VDaGFuZ2VkLm5leHQoKTtcbiAgICB9XG5cbiAgICBnZXQgY2hpbGREYXRhU291cmNlKCk6IENoaWxkVGFibGVEYXRhU291cmNlPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGlsZERhdGFTb3VyY2U7XG4gICAgfVxuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBjaGlsZCBkYXRhIHNvdXJjZSBpbnN0YW5jZSBiZWluZyBjaGFuZ2VkLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNoaWxkRGF0YVNvdXJjZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGRhdGEgbG9hZGluZyBpcyBzdGFydGVkLiAqL1xuICAgIEBPdXRwdXQoKSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICByZWFkb25seSBvbkRhdGFSZXF1ZXN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGRhdGEgbG9hZGluZyBpcyBmaW5pc2hlZC4gKi9cbiAgICBAT3V0cHV0KCkgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgcmVhZG9ubHkgb25EYXRhUmVjZWl2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogVG90YWwgaXRlbXMgY291bnQgc3RyZWFtLiAqL1xuICAgIHRvdGFsSXRlbXMkID0gc2lnbmFsPG51bWJlcj4oMCk7XG5cbiAgICAvKiogSXRlbXMgc3RyZWFtLiAqL1xuICAgIGl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XG5cbiAgICAvKiogQ2hpbGQgaXRlbXMgc3RyZWFtLiAqL1xuICAgIGNoaWxkSXRlbXMkID0gbmV3IFN1YmplY3Q8TWFwPFRhYmxlUm93PFQ+LCBUW10+PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdGFibGVEYXRhU291cmNlOiBUYWJsZURhdGFTb3VyY2U8VD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9maXJzdExvYWRpbmdEb25lID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbnRlcm5hbExvYWRpbmdTdGF0ZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW50ZXJuYWxDaGlsZHJlbkxvYWRpbmdTdGF0ZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jaGlsZERhdGFTb3VyY2U6IENoaWxkVGFibGVEYXRhU291cmNlPFQ+IHwgbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hpbGREc1N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0IHRvdGFsSXRlbXModmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnRvdGFsSXRlbXMkLnNldCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHRvdGFsSXRlbXMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG90YWxJdGVtcyQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBmb3IgZGF0YSBzb3VyY2UgaGFuZGxpbmcgKi9cbiAgICBwcml2YXRlIF90YWJsZURzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJsZTogVGFibGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbFN0YXRlID0gaW5qZWN0PFRhYmxlSW5pdGlhbFN0YXRlPihGRFBfVEFCTEVfU1RBVEVfRElSRUNUSVZFLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlU2VydmljZSA9IGluamVjdChUYWJsZVNlcnZpY2UpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBpbml0aWFsaXplRGF0YVNvdXJjZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlQ2hhbmdlZC5waXBlKHN0YXJ0V2l0aCh0cnVlKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvc2VEYXRhU291cmNlKCk7XG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5Ub0RhdGFTb3VyY2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fdGFibGVEc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFRhYmxlKHRhYmxlOiBUYWJsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZSA9IHRhYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBJbml0aWFsaXplcyB0aGUgY2hpbGQgZGF0YSBzb3VyY2UgdG8gZmV0Y2ggY2hpbGQgcm93cy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9pbml0aWFsaXplQ2hpbGREYXRhU291cmNlKCk6IHZvaWQge1xuICAgICAgICBpZiAoaXNEYXRhU291cmNlKHRoaXMuY2hpbGREYXRhU291cmNlKSkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZERhdGFTb3VyY2U/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NoaWxkRHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNoaWxkRGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2hpbGREc1N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgICAgICB0aGlzLl9jaGlsZERzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuY2hpbGREYXRhU291cmNlLm9uRGF0YVJlcXVlc3RlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJuYWxDaGlsZHJlbkxvYWRpbmdTdGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldFRhYmxlTG9hZGluZyh0aGlzLl90YWJsZS5sb2FkaW5nU3RhdGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9jaGlsZERzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuY2hpbGREYXRhU291cmNlLm9uRGF0YVJlY2VpdmVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcm5hbENoaWxkcmVuTG9hZGluZ1N0YXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldFRhYmxlTG9hZGluZyh0aGlzLl90YWJsZS5sb2FkaW5nU3RhdGUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9jaGlsZERzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuY2hpbGREYXRhU291cmNlLmRhdGFMb2FkaW5nXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoc3RhdGUpID0+ICEhc3RhdGUpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgobG9hZGluZ1N0YXRlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nU3RhdGVzLmZvckVhY2goKHN0YXRlKSA9PiBzdGF0ZS5yb3c/LmNoaWxkSXRlbXNMb2FkaW5nJC5uZXh0KHN0YXRlLmxvYWRpbmcpKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2NoaWxkRHNTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5jaGlsZERhdGFTb3VyY2UuZGF0YUNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRJdGVtcyQubmV4dChkYXRhKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoaXMgaXMgYSBzaW5nbGUgcG9pbnQgb2YgZGF0YSBlbnRyeSB0byB0aGUgY29tcG9uZW50LiBXZSBkb24ndCB3YW50IHRvIHNldCBkYXRhIG9uIGRpZmZlcmVudFxuICAgICAqIHBsYWNlcy4gSWYgYW55IG5ldyBkYXRhIGNvbWVzIGluLCBvciB5b3UgZG8gYSBzZWFyY2gsIGFuZCB5b3Ugd2FudCB0byBwYXNzIGluaXRpYWwgZGF0YVxuICAgICAqIGl0cyBoZXJlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvRGF0YVNvdXJjZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVEc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fdGFibGVEc1N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgICAgICBjb25zdCBkYXRhU291cmNlU3RyZWFtID0gdGhpcy5kYXRhU291cmNlUHJvdmlkZXI7XG4gICAgICAgIGlmIChkYXRhU291cmNlU3RyZWFtID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgW1RhYmxlRGF0YVNvdXJjZV0gc291cmNlIGRpZCBub3QgbWF0Y2ggYW4gQXJyYXksIE9ic2VydmFibGUsIG5vciBEYXRhU291cmNlYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl90YWJsZURzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZWQkLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMkLnNldChkYXRhU291cmNlU3RyZWFtLmRhdGFQcm92aWRlci50b3RhbEl0ZW1zKTtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zJC5uZXh0KGl0ZW1zKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fdGFibGVEc1N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICBkYXRhU291cmNlU3RyZWFtLm9uRGF0YVJlcXVlc3RlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkRhdGFSZXF1ZXN0ZWQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVybmFsTG9hZGluZ1N0YXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc2V0VGFibGVMb2FkaW5nKHRoaXMuX3RhYmxlLmxvYWRpbmdTdGF0ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl90YWJsZURzU3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIGRhdGFTb3VyY2VTdHJlYW0ub25EYXRhUmVjZWl2ZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25EYXRhUmVjZWl2ZWQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVybmFsTG9hZGluZ1N0YXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5fZmlyc3RMb2FkaW5nRG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldFRhYmxlTG9hZGluZyh0aGlzLl90YWJsZS5sb2FkaW5nU3RhdGUpO1xuXG4gICAgICAgICAgICAgICAgLy8gUmVzdG9yZSBub3JtYWwgcGFnaW5hdGlvbiBhZnRlciB0aGUgZmlyc3QgZmV0Y2ggb2YgZGF0YS5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGFibGUuX2xvYWRQcmV2aW91c1BhZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fdGFibGVTZXJ2aWNlLmdldFRhYmxlU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGVTZXJ2aWNlLnNldFRhYmxlU3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5pbml0aWFsU3RhdGU/LmluaXRpYWxQYWdlIHx8IHN0YXRlLnBhZ2UuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLl90YWJsZS5wYWdlU2l6ZSB8fCBzdGF0ZS5wYWdlLnBhZ2VTaXplXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGUuX2xvYWRQcmV2aW91c1BhZ2VzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBpbml0aWFsIGRhdGEgZmV0Y2hcbiAgICAgICAgZGF0YVNvdXJjZVN0cmVhbS5mZXRjaCh0aGlzLl90YWJsZVNlcnZpY2UuZ2V0VGFibGVTdGF0ZSgpKTtcblxuICAgICAgICB0aGlzLl90YWJsZURhdGFTb3VyY2UgPSBkYXRhU291cmNlU3RyZWFtO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2xvc2VEYXRhU291cmNlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3RhYmxlRGF0YVNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdGFibGVEYXRhU291cmNlLmNsb3NlKCk7XG5cbiAgICAgICAgdGhpcy5fdGFibGVEc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fdGFibGVEc1N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMuX3RhYmxlLmNsZWFyVGFibGVSb3dzKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Injectable, Optional } from '@angular/core';
|
|
1
|
+
import { DestroyRef, Injectable, Optional, computed, inject, signal } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Subject, Subscription, fromEvent } from 'rxjs';
|
|
3
|
-
import { debounceTime
|
|
3
|
+
import { debounceTime } from 'rxjs/operators';
|
|
4
4
|
import { RtlService } from '@fundamental-ngx/cdk/utils';
|
|
5
5
|
import { TABLE_COLUMN_MIN_WIDTH } from '../constants';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
7
|
import { TableScrollDispatcherService } from './table-scroll-dispatcher.service';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "./table-scroll-dispatcher.service";
|
|
@@ -32,10 +33,6 @@ export class TableColumnResizeService {
|
|
|
32
33
|
return this._fixedColumnsWidthMap.size === this._visibleColumnNames.length;
|
|
33
34
|
}
|
|
34
35
|
/** @hidden */
|
|
35
|
-
get _rtl() {
|
|
36
|
-
return this._rtlService?.rtl.getValue();
|
|
37
|
-
}
|
|
38
|
-
/** @hidden */
|
|
39
36
|
constructor(_tableScrollDispatcherService, _rtlService) {
|
|
40
37
|
this._tableScrollDispatcherService = _tableScrollDispatcherService;
|
|
41
38
|
this._rtlService = _rtlService;
|
|
@@ -66,26 +63,26 @@ export class TableColumnResizeService {
|
|
|
66
63
|
/** @hidden */
|
|
67
64
|
this._markForCheck = new Subject();
|
|
68
65
|
/** @hidden */
|
|
69
|
-
this._destroyed =
|
|
66
|
+
this._destroyed = inject(DestroyRef);
|
|
70
67
|
/** @hidden */
|
|
71
68
|
this._resizerMoveSubscription = new Subscription();
|
|
72
69
|
/** Resize progress stream. */
|
|
73
70
|
this.resizeInProgress$ = new BehaviorSubject(this._resizeInProgress);
|
|
74
71
|
/** Whether cell mock should be visible. */
|
|
75
|
-
this.cellMockVisible$ =
|
|
72
|
+
this.cellMockVisible$ = signal(false);
|
|
76
73
|
/** Resizer position stream. */
|
|
77
74
|
this.resizerPosition$ = new BehaviorSubject(0);
|
|
75
|
+
/** @hidden */
|
|
76
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
78
77
|
this._tableScrollDispatcherService
|
|
79
78
|
?.horizontallyScrolled()
|
|
80
|
-
.pipe(
|
|
79
|
+
.pipe(takeUntilDestroyed(this._destroyed))
|
|
81
80
|
.subscribe((scrollable) => (this._scrollLeft = scrollable.getScrollLeft()));
|
|
82
81
|
}
|
|
83
82
|
/** @hidden */
|
|
84
83
|
ngOnDestroy() {
|
|
85
84
|
this._resizeInProgress = false;
|
|
86
85
|
this.resizeInProgress$.next(false);
|
|
87
|
-
this._destroyed.next();
|
|
88
|
-
this._destroyed.complete();
|
|
89
86
|
this._resizerMoveSubscription.unsubscribe();
|
|
90
87
|
}
|
|
91
88
|
/** @hidden */
|
|
@@ -180,7 +177,7 @@ export class TableColumnResizeService {
|
|
|
180
177
|
this._resizerPosition = null;
|
|
181
178
|
this.resizerPosition$.next(this.resizerPosition);
|
|
182
179
|
if (resizerPosition != null) {
|
|
183
|
-
const scrollLeftOffset = this._scrollLeft * (this._rtl ? 1 : -1);
|
|
180
|
+
const scrollLeftOffset = this._scrollLeft * (this._rtl$() ? 1 : -1);
|
|
184
181
|
this._resizerPosition = resizerPosition - TABLE_RESIZER_BORDER_WIDTH + scrollLeftOffset;
|
|
185
182
|
this.resizerPosition$.next(this.resizerPosition);
|
|
186
183
|
}
|
|
@@ -212,7 +209,7 @@ export class TableColumnResizeService {
|
|
|
212
209
|
this.resizerPosition$.next(this.resizerPosition);
|
|
213
210
|
if (this._startX != null) {
|
|
214
211
|
const clientStartX = this._clientStartX ?? 0;
|
|
215
|
-
const diffX = this._rtl ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
212
|
+
const diffX = this._rtl$() ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
216
213
|
this._processResize(diffX);
|
|
217
214
|
}
|
|
218
215
|
this._startX = null;
|
|
@@ -258,8 +255,8 @@ export class TableColumnResizeService {
|
|
|
258
255
|
const updatedWidth = columnWidth + diffX;
|
|
259
256
|
this._fixedColumnsWidthMap.set(this._resizedColumn, updatedWidth + 'px');
|
|
260
257
|
this.updateFrozenColumnsWidthAfterResize(this._resizedColumn, diffX);
|
|
261
|
-
const
|
|
262
|
-
const padding = parseInt(
|
|
258
|
+
const computedStyles = window.getComputedStyle(resizedElement);
|
|
259
|
+
const padding = parseInt(computedStyles.paddingLeft, 10) + parseInt(computedStyles.paddingRight, 10);
|
|
263
260
|
this._updateHeaderOverflowState(updatedWidth - padding);
|
|
264
261
|
this._markForCheck.next();
|
|
265
262
|
}
|
|
@@ -269,7 +266,7 @@ export class TableColumnResizeService {
|
|
|
269
266
|
.pipe(debounceTime(10))
|
|
270
267
|
.subscribe((event) => {
|
|
271
268
|
const clientStartX = this._clientStartX ?? 0;
|
|
272
|
-
const diffX = this._rtl ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
269
|
+
const diffX = this._rtl$() ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
273
270
|
this._resizerPosition = (this._startX ?? 0) + diffX;
|
|
274
271
|
this.resizerPosition$.next(this.resizerPosition);
|
|
275
272
|
this._markForCheck.next();
|
|
@@ -299,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
299
296
|
}], ctorParameters: () => [{ type: i1.TableScrollDispatcherService }, { type: i2.RtlService, decorators: [{
|
|
300
297
|
type: Optional
|
|
301
298
|
}] }] });
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLWNvbHVtbi1yZXNpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUd0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUVqRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBb0RqQyxnREFBZ0Q7SUFDaEQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQVFELHVDQUF1QztJQUN2QyxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUtELHFDQUFxQztJQUNyQyxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFD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Z0JBQWdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRTFHLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbkMsT0FBTztTQUNWO1FBQ0QsYUFBYSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUM5RSxDQUFDOzhHQXBXUSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7MEJBMEZGLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFRBQkxFX0NPTFVNTl9NSU5fV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcbmltcG9ydCB7IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuL3RhYmxlLXNjcm9sbC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfUkVTSVpFUl9CT1JERVJfV0lEVEggPSAzO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIGFsbCB0aGluZ3MgcmVsYXRlZCB0byBjb2x1bW4gcmVzaXppbmc6XG4gKiAtIFNldHRpbmcgcmVzaXplclxuICogLSBQcm9jZXNzaW5nIHJlc2l6ZVxuICogLSBDYWxjdWxhdGluZyB0aGUgcmVhbCBjb2x1bW5zIHdpZHRoXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtblJlc2l6ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZml4ZWRDb2x1bW5zV2lkdGhNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jb2x1bW5zQ2VsbE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBFbGVtZW50UmVmPEhUTUxUYWJsZURhdGFDZWxsRWxlbWVudD5bXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUNvbHVtbk5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uUmlnaHRPZmZzZXRQeE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N0YXJ0WDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NsaWVudFN0YXJ0WDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZUluUHJvZ3Jlc3MgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplZENvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVyUG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zY3JvbGxMZWZ0ID0gMDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbWFya0ZvckNoZWNrID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplck1vdmVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RhYmxlUmVmOiBUYWJsZTtcblxuICAgIC8qKiBJbmRpY2F0ZSBpZiByZXNpemluZyBwcm9jZXNzIGluIHByb2dyZXNzLiAqL1xuICAgIGdldCByZXNpemVJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzaXplSW5Qcm9ncmVzcztcbiAgICB9XG5cbiAgICAvKiogUmVzaXplIHByb2dyZXNzIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSByZXNpemVJblByb2dyZXNzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5fcmVzaXplSW5Qcm9ncmVzcyk7XG5cbiAgICAvKiogV2hldGhlciBjZWxsIG1vY2sgc2hvdWxkIGJlIHZpc2libGUuICovXG4gICAgcmVhZG9ubHkgY2VsbE1vY2tWaXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqIEN1cnJlbnQgY29sdW1uIHJlc2l6ZXIgcG9zaXRpb24uICovXG4gICAgZ2V0IHJlc2l6ZXJQb3NpdGlvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzaXplclBvc2l0aW9uID8/IDA7XG4gICAgfVxuXG4gICAgLyoqIFJlc2l6ZXIgcG9zaXRpb24gc3RyZWFtLiAqL1xuICAgIHJlYWRvbmx5IHJlc2l6ZXJQb3NpdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgICAvKiogT2JzZXJ2YWJsZSB0byBub3RpZnkgdG8gcnVuIENEICovXG4gICAgZ2V0IG1hcmtGb3JDaGVjaygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hcmtGb3JDaGVjay5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKiogdGFibGUgaGFzIGZpeGVkIHdpZHRoIGlmIGFsbCBvZiBpdCdzIGNvbHVtbnMgYXJlIGZpeGVkICovXG4gICAgZ2V0IGZpeGVkV2lkdGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maXhlZENvbHVtbnNXaWR0aE1hcC5zaXplID09PSB0aGlzLl92aXNpYmxlQ29sdW1uTmFtZXMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3J0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2U6IFRhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgX3J0bFNlcnZpY2U6IFJ0bFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fdGFibGVTY3JvbGxEaXNwYXRjaGVyU2VydmljZVxuICAgICAgICAgICAgPy5ob3Jpem9udGFsbHlTY3JvbGxlZCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGFibGUpID0+ICh0aGlzLl9zY3JvbGxMZWZ0ID0gc2Nyb2xsYWJsZS5nZXRTY3JvbGxMZWZ0KCkpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgdGhpcy5fcmVzaXplck1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldFRhYmxlUmVmKHJlZjogVGFibGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFibGVSZWYgPSByZWY7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gaW5pdGlhbGl6ZXMgc2VydmljZSB3aXRoIGRhdGEsIHRyaWdnZXIgY29sdW1ucyB3aWR0aCBjYWxjdWxhdGlvbi4gKi9cbiAgICBzZXRDb2x1bW5OYW1lcyh2aXNpYmxlQ29sdW1uTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0TmVpZ2hib3VyTWFwLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcC5jbGVhcigpO1xuICAgICAgICB2aXNpYmxlQ29sdW1uTmFtZXMuZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbkxlZnROZWlnaGJvdXJNYXAuc2V0KGNvbHVtbiwgdmlzaWJsZUNvbHVtbk5hbWVzW2luZGV4IC0gMV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdmlzaWJsZUNvbHVtbk5hbWVzLnJldmVyc2UoKS5mb3JFYWNoKChjb2x1bW4sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uUmlnaHROZWlnaGJvdXJNYXAuc2V0KGNvbHVtbiwgdmlzaWJsZUNvbHVtbk5hbWVzW2luZGV4IC0gMV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbk5hbWVzID0gWy4uLnZpc2libGVDb2x1bW5OYW1lc107XG4gICAgICAgIHRoaXMudXBkYXRlRnJvemVuQ29sdW1uc1dpZHRoKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB1cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGgoKTogdm9pZCB7XG4gICAgICAgIGxldCBhbGxQcmV2aW91c1dpZHRocyA9IDAsXG4gICAgICAgICAgICBhbGxOZXh0V2lkdGhzID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBbY29sdW1uLCBwcmV2Q29sdW1uXSBvZiB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGFsbFByZXZpb3VzV2lkdGhzICs9XG4gICAgICAgICAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuZ2V0KHByZXZDb2x1bW4gYXMgc3RyaW5nKT8uWzBdPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoID8/IDA7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE9mZnNldFB4TWFwLnNldChjb2x1bW4sIGFsbFByZXZpb3VzV2lkdGhzKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IFtjb2x1bW4sIG5leHRDb2x1bW5dIG9mIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGFsbE5leHRXaWR0aHMgKz1cbiAgICAgICAgICAgICAgICB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5nZXQobmV4dENvbHVtbiBhcyBzdHJpbmcpPy5bMF0/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggPz8gMDtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE9mZnNldFB4TWFwLnNldChjb2x1bW4sIGFsbE5leHRXaWR0aHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB1cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGhBZnRlclJlc2l6ZShjb2x1bW5OYW1lOiBzdHJpbmcsIGRpZmZYOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgW2NvbHVtbiwgd2lkdGhdIG9mIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uID09PSBjb2x1bW5OYW1lKSB7XG4gICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuc2V0KGNvbHVtbiwgd2lkdGggKyBkaWZmWCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIGN1c3RvbSBjb2x1bW4gdmFsdWUgb3IgcmV0dXJucyBgdW5zZXRgICovXG4gICAgZ2V0Q29sdW1uV2lkdGhTdHlsZShjb2x1bW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjYWxjdWxhdGVkV2lkdGggPSB0aGlzLl9maXhlZENvbHVtbnNXaWR0aE1hcC5nZXQoY29sdW1uTmFtZSk7XG4gICAgICAgIHJldHVybiBjYWxjdWxhdGVkV2lkdGggfHwgJ3Vuc2V0JztcbiAgICB9XG5cbiAgICAvKiogUHJldmlvdXMgY29sdW1uIG5hbWUgKi9cbiAgICBnZXRQcmV2aW91c0NvbHVtbk5hbWUoY29sdW1uTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0TmVpZ2hib3VyTWFwLmdldChjb2x1bW5OYW1lKTtcbiAgICB9XG5cbiAgICAvKiogUHJldmlvdXMgY29sdW1uIG5hbWUgKi9cbiAgICBnZXROZXh0Q29sdW1uTmFtZShjb2x1bW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZUNvbHVtblJpZ2h0TmVpZ2hib3VyTWFwLmdldChjb2x1bW5OYW1lKTtcbiAgICB9XG5cbiAgICAvKiogT3ZlcmFsbCBwcmV2aW91cyBjb2x1bW5zIHdpZHRoLiBVc2VkIHRvIGNhbGN1bGF0ZSBvZmZzZXQgZm9yIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGNlbGxzLiAqL1xuICAgIGdldFByZXZDb2x1bW5zV2lkdGgoY29sdW1uTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0T2Zmc2V0UHhNYXAuZ2V0KGNvbHVtbk5hbWUpID8/IDA7XG4gICAgfVxuXG4gICAgLyoqIE92ZXJhbGwgbmV4dCBjb2x1bW5zIHdpZHRoLiBVc2VkIHRvIGNhbGN1bGF0ZSBvZmZzZXQgZm9yIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIGNlbGxzLiAqL1xuICAgIGdldE5leHRDb2x1bW5zV2lkdGgoY29sdW1uTmFtZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE9mZnNldFB4TWFwLmdldChjb2x1bW5OYW1lKSA/PyAwO1xuICAgIH1cblxuICAgIC8qKiBSZWdpc3RlciBjb2x1bW4ncyBjZWxsIHRvIGdldCBpdHMgZGltZW5zaW9ucyBpbiBmdXJ0aGVyLiAqL1xuICAgIHJlZ2lzdGVyQ29sdW1uQ2VsbChjb2x1bW5OYW1lOiBzdHJpbmcsIGNlbGxFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2x1bW5DZWxscyA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldChjb2x1bW5OYW1lKSB8fCBbXTtcbiAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuc2V0KGNvbHVtbk5hbWUsIFtjZWxsRWxSZWYsIC4uLmNvbHVtbkNlbGxzXSk7XG4gICAgfVxuXG4gICAgLyoqIFVucmVnaXN0ZXIgY29sdW1uJ3MgY2VsbC4gKi9cbiAgICB1bnJlZ2lzdGVyQ29sdW1uQ2VsbChjb2x1bW5OYW1lOiBzdHJpbmcsIGNlbGxFbFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb2x1bW5DZWxscyA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldChjb2x1bW5OYW1lKSB8fCBbXTtcbiAgICAgICAgY29uc3QgZWxtSW5kZXggPSBjb2x1bW5DZWxscy5maW5kSW5kZXgoKGUpID0+IGUubmF0aXZlRWxlbWVudCA9PT0gY2VsbEVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChlbG1JbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbHVtbkNlbGxzLnNwbGljZShlbG1JbmRleCwgMSk7XG5cbiAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuc2V0KGNvbHVtbk5hbWUsIGNvbHVtbkNlbGxzKTtcbiAgICB9XG5cbiAgICAvKiogUmVnaXN0ZXIgdGhlIHZhbHVlIG9mIGNvbHVtbiB3aWR0aCB0aGF0IGNoYW5nZWQgZnJvbSAgaW5wdXQgKi9cbiAgICBzZXRDdXN0b21XaWR0aChjb2x1bW5OYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuc2V0KGNvbHVtbk5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRoZSBhcHByb3ByaWF0ZSBjb2x1bW4gcmVzaXplciBwb3NpdGlvbi4gKi9cbiAgICBzZXRJbml0aWFsUmVzaXplclBvc2l0aW9uKHJlc2l6ZXJQb3NpdGlvbjogbnVtYmVyLCByZXNpemVkQ29sdW1uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVzaXplSW5Qcm9ncmVzcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmVzaXplZENvbHVtbiA9IHJlc2l6ZWRDb2x1bW47XG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcblxuICAgICAgICBpZiAocmVzaXplclBvc2l0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbExlZnRPZmZzZXQgPSB0aGlzLl9zY3JvbGxMZWZ0ICogKHRoaXMuX3J0bCA/IDEgOiAtMSk7XG4gICAgICAgICAgICB0aGlzLl9yZXNpemVyUG9zaXRpb24gPSByZXNpemVyUG9zaXRpb24gLSBUQUJMRV9SRVNJWkVSX0JPUkRFUl9XSURUSCArIHNjcm9sbExlZnRPZmZzZXQ7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZXJQb3NpdGlvbiQubmV4dCh0aGlzLnJlc2l6ZXJQb3NpdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBIaWRlIHRoZSBjb2x1bW4gcmVzaXplci4gKi9cbiAgICBoaWRlUmVzaXplcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Jlc2l6ZUluUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlIHN0YXJ0IHJlc2l6aW5nLiAqL1xuICAgIHN0YXJ0UmVzaXplKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N0YXJ0WCA9IHRoaXMucmVzaXplclBvc2l0aW9uO1xuICAgICAgICB0aGlzLl9jbGllbnRTdGFydFggPSBldmVudC5jbGllbnRYO1xuXG4gICAgICAgIHRoaXMuX3VwZGF0ZVJlc2l6ZXJQb3NpdGlvbk9uTW91c2VNb3ZlKCk7XG5cbiAgICAgICAgdGhpcy5fcmVzaXplSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcyQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlIGVuZCByZXNpemluZy4gKi9cbiAgICBmaW5pc2hSZXNpemUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplck1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVJblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcyQubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcblxuICAgICAgICBpZiAodGhpcy5fc3RhcnRYICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsaWVudFN0YXJ0WCA9IHRoaXMuX2NsaWVudFN0YXJ0WCA/PyAwO1xuICAgICAgICAgICAgY29uc3QgZGlmZlggPSB0aGlzLl9ydGwgPyBjbGllbnRTdGFydFggLSBldmVudC5jbGllbnRYIDogZXZlbnQuY2xpZW50WCAtIGNsaWVudFN0YXJ0WDtcblxuICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc1Jlc2l6ZShkaWZmWCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zdGFydFggPSBudWxsO1xuICAgICAgICB0aGlzLl9jbGllbnRTdGFydFggPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSBjb2x1bW5zIHdpZHRoIGFmdGVyIHJlc2l6aW5nLCBwcmV2ZW50IGZyb20gaGF2aW5nIHRvbyBzbWFsbCBjb2x1bW5zLiAqL1xuICAgIF9wcm9jZXNzUmVzaXplKGRpZmZYOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVzaXplZEVsZW1lbnQgPSB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5nZXQodGhpcy5fcmVzaXplZENvbHVtbik/LlswXT8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSByZXNpemVkRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG5cbiAgICAgICAgaWYgKCFjb2x1bW5XaWR0aCB8fCAhcmVzaXplZEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkaWZmWCA8IDAgJiYgY29sdW1uV2lkdGggKyBkaWZmWCA8IFRBQkxFX0NPTFVNTl9NSU5fV0lEVEgpIHtcbiAgICAgICAgICAgIGRpZmZYID0gVEFCTEVfQ09MVU1OX01JTl9XSURUSCAtIGNvbHVtbldpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmZpeGVkV2lkdGgpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2NvbHVtbk5hbWUsIGNlbGxzXSBvZiB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2VsbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpeGVkQ29sdW1uc1dpZHRoTWFwLnNldChcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjZWxsc1swXS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICsgJ3B4J1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJbiBjYXNlIFwiX3Jlc2l6ZWRDb2x1bW5cIiBpcyBmcmVlemFibGUsIG1ha2Ugc3VyZSB0aGUgb3ZlcmFsbCB3aWR0aCBvZiBmcmVlemFibGUgY29sdW1ucyBkb2VzIG5vdCBleGNlZWQgdGhlIHdpZHRoIG9mIHRoZSB0YWJsZS5cbiAgICAgICAgICogSWYgaXQgZG9lcywgY29sdW1ucyB3aWxsIGJlIG1hZGUgdW5mcm96ZW4uXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBkaWZmWCA+IDAgJiZcbiAgICAgICAgICAgICh0aGlzLl90YWJsZVJlZi5fZnJlZXphYmxlQ29sdW1ucy5oYXModGhpcy5fcmVzaXplZENvbHVtbikgfHxcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVJlZi5fZnJlZXphYmxlRW5kQ29sdW1ucz8uaGFzKHRoaXMuX3Jlc2l6ZWRDb2x1bW4pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBhY3R1YWxXaWR0aCA9IHRoaXMuZ2V0UHJldkNvbHVtbnNXaWR0aCh0aGlzLl9yZXNpemVkQ29sdW1uKSArIGNvbHVtbldpZHRoO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3RhYmxlUmVmLl9mcmVlemFibGVFbmRDb2x1bW5zPy5oYXModGhpcy5fcmVzaXplZENvbHVtbikpIHtcbiAgICAgICAgICAgICAgICBhY3R1YWxXaWR0aCA9IHRoaXMuZ2V0TmV4dENvbHVtbnNXaWR0aCh0aGlzLl9yZXNpemVkQ29sdW1uKSArIGNvbHVtbldpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbmV3V2lkdGggPSBhY3R1YWxXaWR0aCArIGRpZmZYO1xuICAgICAgICAgICAgY29uc3QgbWF4V2lkdGggPSB0aGlzLl90YWJsZVJlZi5nZXRNYXhBbGxvd2VkRnJlZXphYmxlQ29sdW1uc1dpZHRoKCk7XG4gICAgICAgICAgICBpZiAobmV3V2lkdGggPj0gbWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJsZVJlZi5fZnJlZXphYmxlQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFibGVSZWYudW5mcmVlemUoY29sdW1uLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXBkYXRlZFdpZHRoID0gY29sdW1uV2lkdGggKyBkaWZmWDtcbiAgICAgICAgdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuc2V0KHRoaXMuX3Jlc2l6ZWRDb2x1bW4sIHVwZGF0ZWRXaWR0aCArICdweCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZyb3plbkNvbHVtbnNXaWR0aEFmdGVyUmVzaXplKHRoaXMuX3Jlc2l6ZWRDb2x1bW4sIGRpZmZYKTtcblxuICAgICAgICBjb25zdCBjb21wdXRlZCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHJlc2l6ZWRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgcGFkZGluZyA9IHBhcnNlSW50KGNvbXB1dGVkLnBhZGRpbmdMZWZ0LCAxMCkgKyBwYXJzZUludChjb21wdXRlZC5wYWRkaW5nUmlnaHQsIDEwKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlSGVhZGVyT3ZlcmZsb3dTdGF0ZSh1cGRhdGVkV2lkdGggLSBwYWRkaW5nKTtcbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogVXBkYXRlIGNvbHVtbiByZXNpemVyIHBvc2l0aW9uLiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVJlc2l6ZXJQb3NpdGlvbk9uTW91c2VNb3ZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZXNpemVyTW92ZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTApKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGllbnRTdGFydFggPSB0aGlzLl9jbGllbnRTdGFydFggPz8gMDtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWZmWCA9IHRoaXMuX3J0bCA/IGNsaWVudFN0YXJ0WCAtIGV2ZW50LmNsaWVudFggOiBldmVudC5jbGllbnRYIC0gY2xpZW50U3RhcnRYO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVzaXplclBvc2l0aW9uID0gKHRoaXMuX3N0YXJ0WCA/PyAwKSArIGRpZmZYO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplclBvc2l0aW9uJC5uZXh0KHRoaXMucmVzaXplclBvc2l0aW9uKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgaGVhZGVyIHRleHQgbGVuZ3RoIGdvZXMgb3ZlciB0aGUgY29sdW1uIHdpZHRoLiBJbiBzdWNoIGNhc2UgYXBwbGllcyB0ZXh0IHRydW5jYXRpb24gd2l0aFxuICAgICAqIGVsbGlwc2lzIGFuZCBtYWtlIHN1cmUgd2UgYWxzbyBzaG93IGEgdG9vbHRpcC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlSGVhZGVyT3ZlcmZsb3dTdGF0ZSh1cGRhdGVkV2lkdGg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fY29sdW1uc0NlbGxNYXAuZ2V0KHRoaXMuX3Jlc2l6ZWRDb2x1bW4pPy5maW5kKChjKSA9PiBjPy5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdUSCcpXG4gICAgICAgICAgICA/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW4gPSB0aGlzLl90YWJsZVJlZi5nZXRWaXNpYmxlVGFibGVDb2x1bW5zKCkuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9yZXNpemVkQ29sdW1uKTtcbiAgICAgICAgY29uc3QgaGVhZGVyVGV4dEVsZW0gPSBlbGVtZW50Py5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLl90YWJsZVJlZi5pZH0taGVhZGVyLWNlbGwtJHt0aGlzLl9yZXNpemVkQ29sdW1ufWApO1xuXG4gICAgICAgIGlmICghaGVhZGVyVGV4dEVsZW0gfHwgIXZpc2libGVDb2x1bW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2aXNpYmxlQ29sdW1uLmhlYWRlck92ZXJmbG93cyA9IGhlYWRlclRleHRFbGVtLnNjcm9sbFdpZHRoID4gdXBkYXRlZFdpZHRoO1xuICAgIH1cbn1cbiJdfQ==
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLXJlc2l6ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLWNvbHVtbi1yZXNpemUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFjLFVBQVUsRUFBYSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUVqRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBb0RqQyxnREFBZ0Q7SUFDaEQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsQ0FBQztJQVFELHVDQUF1QztJQUN2QyxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUtELHFDQUFxQztJQUNyQyxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVE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QUFDLFNBQVMsQ0FBQyxFQUFFLGdCQUFnQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUUxRyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ25DLE9BQU87U0FDVjtRQUNELGFBQWEsQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUM7SUFDOUUsQ0FBQzs4R0EvVlEsd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7OzBCQXdGRixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBUQUJMRV9DT0xVTU5fTUlOX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tICcuLi90YWJsZSc7XG5pbXBvcnQgeyBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi90YWJsZS1zY3JvbGwtZGlzcGF0Y2hlci5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IFRBQkxFX1JFU0laRVJfQk9SREVSX1dJRFRIID0gMztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSBhbGwgdGhpbmdzIHJlbGF0ZWQgdG8gY29sdW1uIHJlc2l6aW5nOlxuICogLSBTZXR0aW5nIHJlc2l6ZXJcbiAqIC0gUHJvY2Vzc2luZyByZXNpemVcbiAqIC0gQ2FsY3VsYXRpbmcgdGhlIHJlYWwgY29sdW1ucyB3aWR0aFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5SZXNpemVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ZpeGVkQ29sdW1uc1dpZHRoTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29sdW1uc0NlbGxNYXAgPSBuZXcgTWFwPHN0cmluZywgRWxlbWVudFJlZjxIVE1MVGFibGVEYXRhQ2VsbEVsZW1lbnQ+W10+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Zpc2libGVDb2x1bW5OYW1lczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUNvbHVtbkxlZnROZWlnaGJvdXJNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uUmlnaHROZWlnaGJvdXJNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF92aXNpYmxlQ29sdW1uTGVmdE9mZnNldFB4TWFwID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmlzaWJsZUNvbHVtblJpZ2h0T2Zmc2V0UHhNYXAgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdGFydFg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGllbnRTdGFydFg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVJblByb2dyZXNzID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Jlc2l6ZWRDb2x1bW46IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplclBvc2l0aW9uOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2Nyb2xsTGVmdCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21hcmtGb3JDaGVjayA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3llZCA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVzaXplck1vdmVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RhYmxlUmVmOiBUYWJsZTtcblxuICAgIC8qKiBJbmRpY2F0ZSBpZiByZXNpemluZyBwcm9jZXNzIGluIHByb2dyZXNzLiAqL1xuICAgIGdldCByZXNpemVJblByb2dyZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzaXplSW5Qcm9ncmVzcztcbiAgICB9XG5cbiAgICAvKiogUmVzaXplIHByb2dyZXNzIHN0cmVhbS4gKi9cbiAgICByZWFkb25seSByZXNpemVJblByb2dyZXNzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5fcmVzaXplSW5Qcm9ncmVzcyk7XG5cbiAgICAvKiogV2hldGhlciBjZWxsIG1vY2sgc2hvdWxkIGJlIHZpc2libGUuICovXG4gICAgcmVhZG9ubHkgY2VsbE1vY2tWaXNpYmxlJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQ3VycmVudCBjb2x1bW4gcmVzaXplciBwb3NpdGlvbi4gKi9cbiAgICBnZXQgcmVzaXplclBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNpemVyUG9zaXRpb24gPz8gMDtcbiAgICB9XG5cbiAgICAvKiogUmVzaXplciBwb3NpdGlvbiBzdHJlYW0uICovXG4gICAgcmVhZG9ubHkgcmVzaXplclBvc2l0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIC8qKiBPYnNlcnZhYmxlIHRvIG5vdGlmeSB0byBydW4gQ0QgKi9cbiAgICBnZXQgbWFya0ZvckNoZWNrKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWFya0ZvckNoZWNrLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKiB0YWJsZSBoYXMgZml4ZWQgd2lkdGggaWYgYWxsIG9mIGl0J3MgY29sdW1ucyBhcmUgZml4ZWQgKi9cbiAgICBnZXQgZml4ZWRXaWR0aCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpeGVkQ29sdW1uc1dpZHRoTWFwLnNpemUgPT09IHRoaXMuX3Zpc2libGVDb2x1bW5OYW1lcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ydGwkID0gY29tcHV0ZWQoKCkgPT4gISF0aGlzLl9ydGxTZXJ2aWNlPy5ydGxTaWduYWwoKSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlOiBUYWJsZVNjcm9sbERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX3RhYmxlU2Nyb2xsRGlzcGF0Y2hlclNlcnZpY2VcbiAgICAgICAgICAgID8uaG9yaXpvbnRhbGx5U2Nyb2xsZWQoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChzY3JvbGxhYmxlKSA9PiAodGhpcy5fc2Nyb2xsTGVmdCA9IHNjcm9sbGFibGUuZ2V0U2Nyb2xsTGVmdCgpKSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MkLm5leHQoZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJNb3ZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXRUYWJsZVJlZihyZWY6IFRhYmxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlUmVmID0gcmVmO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIGluaXRpYWxpemVzIHNlcnZpY2Ugd2l0aCBkYXRhLCB0cmlnZ2VyIGNvbHVtbnMgd2lkdGggY2FsY3VsYXRpb24uICovXG4gICAgc2V0Q29sdW1uTmFtZXModmlzaWJsZUNvbHVtbk5hbWVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcC5jbGVhcigpO1xuICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uUmlnaHROZWlnaGJvdXJNYXAuY2xlYXIoKTtcbiAgICAgICAgdmlzaWJsZUNvbHVtbk5hbWVzLmZvckVhY2goKGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5MZWZ0TmVpZ2hib3VyTWFwLnNldChjb2x1bW4sIHZpc2libGVDb2x1bW5OYW1lc1tpbmRleCAtIDFdKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZpc2libGVDb2x1bW5OYW1lcy5yZXZlcnNlKCkuZm9yRWFjaCgoY29sdW1uLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtblJpZ2h0TmVpZ2hib3VyTWFwLnNldChjb2x1bW4sIHZpc2libGVDb2x1bW5OYW1lc1tpbmRleCAtIDFdKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3Zpc2libGVDb2x1bW5OYW1lcyA9IFsuLi52aXNpYmxlQ29sdW1uTmFtZXNdO1xuICAgICAgICB0aGlzLnVwZGF0ZUZyb3plbkNvbHVtbnNXaWR0aCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdXBkYXRlRnJvemVuQ29sdW1uc1dpZHRoKCk6IHZvaWQge1xuICAgICAgICBsZXQgYWxsUHJldmlvdXNXaWR0aHMgPSAwLFxuICAgICAgICAgICAgYWxsTmV4dFdpZHRocyA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgW2NvbHVtbiwgcHJldkNvbHVtbl0gb2YgdGhpcy5fdmlzaWJsZUNvbHVtbkxlZnROZWlnaGJvdXJNYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICBhbGxQcmV2aW91c1dpZHRocyArPVxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldChwcmV2Q29sdW1uIGFzIHN0cmluZyk/LlswXT8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCA/PyAwO1xuICAgICAgICAgICAgdGhpcy5fdmlzaWJsZUNvbHVtbkxlZnRPZmZzZXRQeE1hcC5zZXQoY29sdW1uLCBhbGxQcmV2aW91c1dpZHRocyk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBbY29sdW1uLCBuZXh0Q29sdW1uXSBvZiB0aGlzLl92aXNpYmxlQ29sdW1uUmlnaHROZWlnaGJvdXJNYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICBhbGxOZXh0V2lkdGhzICs9XG4gICAgICAgICAgICAgICAgdGhpcy5fY29sdW1uc0NlbGxNYXAuZ2V0KG5leHRDb2x1bW4gYXMgc3RyaW5nKT8uWzBdPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoID8/IDA7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uUmlnaHRPZmZzZXRQeE1hcC5zZXQoY29sdW1uLCBhbGxOZXh0V2lkdGhzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdXBkYXRlRnJvemVuQ29sdW1uc1dpZHRoQWZ0ZXJSZXNpemUoY29sdW1uTmFtZTogc3RyaW5nLCBkaWZmWDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICBmb3IgKGNvbnN0IFtjb2x1bW4sIHdpZHRoXSBvZiB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE9mZnNldFB4TWFwLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgaWYgKGNvbHVtbiA9PT0gY29sdW1uTmFtZSkge1xuICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE9mZnNldFB4TWFwLnNldChjb2x1bW4sIHdpZHRoICsgZGlmZlgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyBjdXN0b20gY29sdW1uIHZhbHVlIG9yIHJldHVybnMgYHVuc2V0YCAqL1xuICAgIGdldENvbHVtbldpZHRoU3R5bGUoY29sdW1uTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2FsY3VsYXRlZFdpZHRoID0gdGhpcy5fZml4ZWRDb2x1bW5zV2lkdGhNYXAuZ2V0KGNvbHVtbk5hbWUpO1xuICAgICAgICByZXR1cm4gY2FsY3VsYXRlZFdpZHRoIHx8ICd1bnNldCc7XG4gICAgfVxuXG4gICAgLyoqIFByZXZpb3VzIGNvbHVtbiBuYW1lICovXG4gICAgZ2V0UHJldmlvdXNDb2x1bW5OYW1lKGNvbHVtbk5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE5laWdoYm91ck1hcC5nZXQoY29sdW1uTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqIFByZXZpb3VzIGNvbHVtbiBuYW1lICovXG4gICAgZ2V0TmV4dENvbHVtbk5hbWUoY29sdW1uTmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGVDb2x1bW5SaWdodE5laWdoYm91ck1hcC5nZXQoY29sdW1uTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqIE92ZXJhbGwgcHJldmlvdXMgY29sdW1ucyB3aWR0aC4gVXNlZCB0byBjYWxjdWxhdGUgb2Zmc2V0IGZvciB0aGUgYWJzb2x1dGUgcG9zaXRpb25lZCBjZWxscy4gKi9cbiAgICBnZXRQcmV2Q29sdW1uc1dpZHRoKGNvbHVtbk5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlQ29sdW1uTGVmdE9mZnNldFB4TWFwLmdldChjb2x1bW5OYW1lKSA/PyAwO1xuICAgIH1cblxuICAgIC8qKiBPdmVyYWxsIG5leHQgY29sdW1ucyB3aWR0aC4gVXNlZCB0byBjYWxjdWxhdGUgb2Zmc2V0IGZvciB0aGUgYWJzb2x1dGUgcG9zaXRpb25lZCBjZWxscy4gKi9cbiAgICBnZXROZXh0Q29sdW1uc1dpZHRoKGNvbHVtbk5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl92aXNpYmxlQ29sdW1uUmlnaHRPZmZzZXRQeE1hcC5nZXQoY29sdW1uTmFtZSkgPz8gMDtcbiAgICB9XG5cbiAgICAvKiogUmVnaXN0ZXIgY29sdW1uJ3MgY2VsbCB0byBnZXQgaXRzIGRpbWVuc2lvbnMgaW4gZnVydGhlci4gKi9cbiAgICByZWdpc3RlckNvbHVtbkNlbGwoY29sdW1uTmFtZTogc3RyaW5nLCBjZWxsRWxSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29sdW1uQ2VsbHMgPSB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5nZXQoY29sdW1uTmFtZSkgfHwgW107XG4gICAgICAgIHRoaXMuX2NvbHVtbnNDZWxsTWFwLnNldChjb2x1bW5OYW1lLCBbY2VsbEVsUmVmLCAuLi5jb2x1bW5DZWxsc10pO1xuICAgIH1cblxuICAgIC8qKiBVbnJlZ2lzdGVyIGNvbHVtbidzIGNlbGwuICovXG4gICAgdW5yZWdpc3RlckNvbHVtbkNlbGwoY29sdW1uTmFtZTogc3RyaW5nLCBjZWxsRWxSZWY6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29sdW1uQ2VsbHMgPSB0aGlzLl9jb2x1bW5zQ2VsbE1hcC5nZXQoY29sdW1uTmFtZSkgfHwgW107XG4gICAgICAgIGNvbnN0IGVsbUluZGV4ID0gY29sdW1uQ2VsbHMuZmluZEluZGV4KChlKSA9PiBlLm5hdGl2ZUVsZW1lbnQgPT09IGNlbGxFbFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoZWxtSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb2x1bW5DZWxscy5zcGxpY2UoZWxtSW5kZXgsIDEpO1xuXG4gICAgICAgIHRoaXMuX2NvbHVtbnNDZWxsTWFwLnNldChjb2x1bW5OYW1lLCBjb2x1bW5DZWxscyk7XG4gICAgfVxuXG4gICAgLyoqIFJlZ2lzdGVyIHRoZSB2YWx1ZSBvZiBjb2x1bW4gd2lkdGggdGhhdCBjaGFuZ2VkIGZyb20gIGlucHV0ICovXG4gICAgc2V0Q3VzdG9tV2lkdGgoY29sdW1uTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZpeGVkQ29sdW1uc1dpZHRoTWFwLnNldChjb2x1bW5OYW1lLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIFNldCB0aGUgYXBwcm9wcmlhdGUgY29sdW1uIHJlc2l6ZXIgcG9zaXRpb24uICovXG4gICAgc2V0SW5pdGlhbFJlc2l6ZXJQb3NpdGlvbihyZXNpemVyUG9zaXRpb246IG51bWJlciwgcmVzaXplZENvbHVtbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZWRDb2x1bW4gPSByZXNpemVkQ29sdW1uO1xuICAgICAgICB0aGlzLl9yZXNpemVyUG9zaXRpb24gPSBudWxsO1xuICAgICAgICB0aGlzLnJlc2l6ZXJQb3NpdGlvbiQubmV4dCh0aGlzLnJlc2l6ZXJQb3NpdGlvbik7XG5cbiAgICAgICAgaWYgKHJlc2l6ZXJQb3NpdGlvbiAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxMZWZ0T2Zmc2V0ID0gdGhpcy5fc2Nyb2xsTGVmdCAqICh0aGlzLl9ydGwkKCkgPyAxIDogLTEpO1xuICAgICAgICAgICAgdGhpcy5fcmVzaXplclBvc2l0aW9uID0gcmVzaXplclBvc2l0aW9uIC0gVEFCTEVfUkVTSVpFUl9CT1JERVJfV0lEVEggKyBzY3JvbGxMZWZ0T2Zmc2V0O1xuICAgICAgICAgICAgdGhpcy5yZXNpemVyUG9zaXRpb24kLm5leHQodGhpcy5yZXNpemVyUG9zaXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogSGlkZSB0aGUgY29sdW1uIHJlc2l6ZXIuICovXG4gICAgaGlkZVJlc2l6ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9yZXNpemVJblByb2dyZXNzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9yZXNpemVyUG9zaXRpb24gPSBudWxsO1xuICAgICAgICB0aGlzLnJlc2l6ZXJQb3NpdGlvbiQubmV4dCh0aGlzLnJlc2l6ZXJQb3NpdGlvbik7XG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZSBzdGFydCByZXNpemluZy4gKi9cbiAgICBzdGFydFJlc2l6ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdGFydFggPSB0aGlzLnJlc2l6ZXJQb3NpdGlvbjtcbiAgICAgICAgdGhpcy5fY2xpZW50U3RhcnRYID0gZXZlbnQuY2xpZW50WDtcblxuICAgICAgICB0aGlzLl91cGRhdGVSZXNpemVyUG9zaXRpb25Pbk1vdXNlTW92ZSgpO1xuXG4gICAgICAgIHRoaXMuX3Jlc2l6ZUluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MkLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZSBlbmQgcmVzaXppbmcuICovXG4gICAgZmluaXNoUmVzaXplKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZXJNb3ZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgdGhpcy5fcmVzaXplSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MkLm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLl9yZXNpemVyUG9zaXRpb24gPSBudWxsO1xuICAgICAgICB0aGlzLnJlc2l6ZXJQb3NpdGlvbiQubmV4dCh0aGlzLnJlc2l6ZXJQb3NpdGlvbik7XG5cbiAgICAgICAgaWYgKHRoaXMuX3N0YXJ0WCAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBjbGllbnRTdGFydFggPSB0aGlzLl9jbGllbnRTdGFydFggPz8gMDtcbiAgICAgICAgICAgIGNvbnN0IGRpZmZYID0gdGhpcy5fcnRsJCgpID8gY2xpZW50U3RhcnRYIC0gZXZlbnQuY2xpZW50WCA6IGV2ZW50LmNsaWVudFggLSBjbGllbnRTdGFydFg7XG5cbiAgICAgICAgICAgIHRoaXMuX3Byb2Nlc3NSZXNpemUoZGlmZlgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc3RhcnRYID0gbnVsbDtcbiAgICAgICAgdGhpcy5fY2xpZW50U3RhcnRYID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBVcGRhdGUgY29sdW1ucyB3aWR0aCBhZnRlciByZXNpemluZywgcHJldmVudCBmcm9tIGhhdmluZyB0b28gc21hbGwgY29sdW1ucy4gKi9cbiAgICBfcHJvY2Vzc1Jlc2l6ZShkaWZmWDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlc2l6ZWRFbGVtZW50ID0gdGhpcy5fY29sdW1uc0NlbGxNYXAuZ2V0KHRoaXMuX3Jlc2l6ZWRDb2x1bW4pPy5bMF0/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGNvbHVtbldpZHRoID0gcmVzaXplZEVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuXG4gICAgICAgIGlmICghY29sdW1uV2lkdGggfHwgIXJlc2l6ZWRFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZGlmZlggPCAwICYmIGNvbHVtbldpZHRoICsgZGlmZlggPCBUQUJMRV9DT0xVTU5fTUlOX1dJRFRIKSB7XG4gICAgICAgICAgICBkaWZmWCA9IFRBQkxFX0NPTFVNTl9NSU5fV0lEVEggLSBjb2x1bW5XaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5maXhlZFdpZHRoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtjb2x1bW5OYW1lLCBjZWxsc10gb2YgdGhpcy5fY29sdW1uc0NlbGxNYXAuZW50cmllcygpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNlbGxzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9maXhlZENvbHVtbnNXaWR0aE1hcC5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2VsbHNbMF0ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCArICdweCdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogSW4gY2FzZSBcIl9yZXNpemVkQ29sdW1uXCIgaXMgZnJlZXphYmxlLCBtYWtlIHN1cmUgdGhlIG92ZXJhbGwgd2lkdGggb2YgZnJlZXphYmxlIGNvbHVtbnMgZG9lcyBub3QgZXhjZWVkIHRoZSB3aWR0aCBvZiB0aGUgdGFibGUuXG4gICAgICAgICAqIElmIGl0IGRvZXMsIGNvbHVtbnMgd2lsbCBiZSBtYWRlIHVuZnJvemVuLlxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZGlmZlggPiAwICYmXG4gICAgICAgICAgICAodGhpcy5fdGFibGVSZWYuX2ZyZWV6YWJsZUNvbHVtbnMuaGFzKHRoaXMuX3Jlc2l6ZWRDb2x1bW4pIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGVSZWYuX2ZyZWV6YWJsZUVuZENvbHVtbnM/Lmhhcyh0aGlzLl9yZXNpemVkQ29sdW1uKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgYWN0dWFsV2lkdGggPSB0aGlzLmdldFByZXZDb2x1bW5zV2lkdGgodGhpcy5fcmVzaXplZENvbHVtbikgKyBjb2x1bW5XaWR0aDtcbiAgICAgICAgICAgIGlmICh0aGlzLl90YWJsZVJlZi5fZnJlZXphYmxlRW5kQ29sdW1ucz8uaGFzKHRoaXMuX3Jlc2l6ZWRDb2x1bW4pKSB7XG4gICAgICAgICAgICAgICAgYWN0dWFsV2lkdGggPSB0aGlzLmdldE5leHRDb2x1bW5zV2lkdGgodGhpcy5fcmVzaXplZENvbHVtbikgKyBjb2x1bW5XaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG5ld1dpZHRoID0gYWN0dWFsV2lkdGggKyBkaWZmWDtcbiAgICAgICAgICAgIGNvbnN0IG1heFdpZHRoID0gdGhpcy5fdGFibGVSZWYuZ2V0TWF4QWxsb3dlZEZyZWV6YWJsZUNvbHVtbnNXaWR0aCgpO1xuICAgICAgICAgICAgaWYgKG5ld1dpZHRoID49IG1heFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGFibGVSZWYuX2ZyZWV6YWJsZUNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RhYmxlUmVmLnVuZnJlZXplKGNvbHVtbi50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVwZGF0ZWRXaWR0aCA9IGNvbHVtbldpZHRoICsgZGlmZlg7XG4gICAgICAgIHRoaXMuX2ZpeGVkQ29sdW1uc1dpZHRoTWFwLnNldCh0aGlzLl9yZXNpemVkQ29sdW1uLCB1cGRhdGVkV2lkdGggKyAncHgnKTtcbiAgICAgICAgdGhpcy51cGRhdGVGcm96ZW5Db2x1bW5zV2lkdGhBZnRlclJlc2l6ZSh0aGlzLl9yZXNpemVkQ29sdW1uLCBkaWZmWCk7XG5cbiAgICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShyZXNpemVkRWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHBhZGRpbmcgPSBwYXJzZUludChjb21wdXRlZFN0eWxlcy5wYWRkaW5nTGVmdCwgMTApICsgcGFyc2VJbnQoY29tcHV0ZWRTdHlsZXMucGFkZGluZ1JpZ2h0LCAxMCk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUhlYWRlck92ZXJmbG93U3RhdGUodXBkYXRlZFdpZHRoIC0gcGFkZGluZyk7XG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIFVwZGF0ZSBjb2x1bW4gcmVzaXplciBwb3NpdGlvbi4gKi9cbiAgICBwcml2YXRlIF91cGRhdGVSZXNpemVyUG9zaXRpb25Pbk1vdXNlTW92ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzaXplck1vdmVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW1vdmUnKVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xpZW50U3RhcnRYID0gdGhpcy5fY2xpZW50U3RhcnRYID8/IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlmZlggPSB0aGlzLl9ydGwkKCkgPyBjbGllbnRTdGFydFggLSBldmVudC5jbGllbnRYIDogZXZlbnQuY2xpZW50WCAtIGNsaWVudFN0YXJ0WDtcblxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2l6ZXJQb3NpdGlvbiA9ICh0aGlzLl9zdGFydFggPz8gMCkgKyBkaWZmWDtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZXJQb3NpdGlvbiQubmV4dCh0aGlzLnJlc2l6ZXJQb3NpdGlvbik7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2submV4dCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGhlYWRlciB0ZXh0IGxlbmd0aCBnb2VzIG92ZXIgdGhlIGNvbHVtbiB3aWR0aC4gSW4gc3VjaCBjYXNlIGFwcGxpZXMgdGV4dCB0cnVuY2F0aW9uIHdpdGhcbiAgICAgKiBlbGxpcHNpcyBhbmQgbWFrZSBzdXJlIHdlIGFsc28gc2hvdyBhIHRvb2x0aXAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZUhlYWRlck92ZXJmbG93U3RhdGUodXBkYXRlZFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2NvbHVtbnNDZWxsTWFwLmdldCh0aGlzLl9yZXNpemVkQ29sdW1uKT8uZmluZCgoYykgPT4gYz8ubmF0aXZlRWxlbWVudC50YWdOYW1lID09PSAnVEgnKVxuICAgICAgICAgICAgPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB2aXNpYmxlQ29sdW1uID0gdGhpcy5fdGFibGVSZWYuZ2V0VmlzaWJsZVRhYmxlQ29sdW1ucygpLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fcmVzaXplZENvbHVtbik7XG4gICAgICAgIGNvbnN0IGhlYWRlclRleHRFbGVtID0gZWxlbWVudD8ucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5fdGFibGVSZWYuaWR9LWhlYWRlci1jZWxsLSR7dGhpcy5fcmVzaXplZENvbHVtbn1gKTtcblxuICAgICAgICBpZiAoIWhlYWRlclRleHRFbGVtIHx8ICF2aXNpYmxlQ29sdW1uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmlzaWJsZUNvbHVtbi5oZWFkZXJPdmVyZmxvd3MgPSBoZWFkZXJUZXh0RWxlbS5zY3JvbGxXaWR0aCA+IHVwZGF0ZWRXaWR0aDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ElementRef, Inject, Injectable } from '@angular/core';
|
|
1
|
+
import { DestroyRef, ElementRef, Inject, Injectable, inject } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
2
3
|
import { resizeObservable } from '@fundamental-ngx/cdk/utils';
|
|
3
|
-
import {
|
|
4
|
-
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { debounceTime } from 'rxjs/operators';
|
|
5
5
|
import { Table } from '../table';
|
|
6
6
|
import { TableService } from './table.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -16,7 +16,7 @@ export class TableResponsiveService {
|
|
|
16
16
|
/** @hidden */
|
|
17
17
|
this._responsiveBreakpoints = new Map();
|
|
18
18
|
/** @hidden */
|
|
19
|
-
this.
|
|
19
|
+
this._destroyRef = inject(DestroyRef);
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Registers responsive column with it's breakpoint configuration.
|
|
@@ -27,11 +27,6 @@ export class TableResponsiveService {
|
|
|
27
27
|
this._responsiveBreakpoints.set(column, this._normalizeBreakpoints(breakpoints));
|
|
28
28
|
this._listenToTableResize();
|
|
29
29
|
}
|
|
30
|
-
/** @hidden */
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
this._onDestroy$.next();
|
|
33
|
-
this._onDestroy$.complete();
|
|
34
|
-
}
|
|
35
30
|
/**
|
|
36
31
|
* @hidden
|
|
37
32
|
* Transforms plain breakpoints into a list with minimal/maximal element width with it's visibility state.
|
|
@@ -57,7 +52,7 @@ export class TableResponsiveService {
|
|
|
57
52
|
_listenToTableResize() {
|
|
58
53
|
this._resizeSubscription?.unsubscribe();
|
|
59
54
|
this._resizeSubscription = resizeObservable(this._elmRef.nativeElement)
|
|
60
|
-
.pipe(debounceTime(20),
|
|
55
|
+
.pipe(debounceTime(20), takeUntilDestroyed(this._destroyRef))
|
|
61
56
|
.subscribe(() => {
|
|
62
57
|
this._processResponsiveColumns();
|
|
63
58
|
});
|
|
@@ -93,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
93
88
|
type: Inject,
|
|
94
89
|
args: [Table]
|
|
95
90
|
}] }, { type: i1.TableService }, { type: i0.ElementRef }] });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVzcG9uc2l2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90YWJsZS1oZWxwZXJzL3NlcnZpY2VzL3RhYmxlLXJlc3BvbnNpdmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTL0MsTUFBTSxPQUFPLHNCQUFzQjtJQVUvQixjQUFjO0lBQ2QsWUFDb0MsTUFBYSxFQUM1QixhQUEyQixFQUMzQixPQUFtQjtRQUZKLFdBQU0sR0FBTixNQUFNLENBQU87UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQWJ4QyxjQUFjO1FBQ0csMkJBQXNCLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFdkYsY0FBYztRQUNHLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBVS9DLENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsd0JBQXdCLENBQUMsTUFBbUIsRUFBRSxXQUFxRDtRQUMvRixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUVqRixJQUFJLENB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LENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7OEdBM0ZRLHNCQUFzQixrQkFZbkIsS0FBSztrSEFaUixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQWFGLE1BQU07MkJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyByZXNpemVPYnNlcnZhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGZHBDb2x1bW5SZXNwb25zaXZlU3RhdGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbHVtbi1yZXNwb25zaXZlLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL3RhYmxlJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vdGFibGUtY29sdW1uJztcbmltcG9ydCB7IFRhYmxlU2VydmljZSB9IGZyb20gJy4vdGFibGUuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmRwVGFibGVCcmVha3BvaW50IHtcbiAgICBtaW46IG51bWJlcjtcbiAgICBtYXg6IG51bWJlcjtcbiAgICB2aXNpYmlsaXR5OiBGZHBDb2x1bW5SZXNwb25zaXZlU3RhdGU7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZVJlc3BvbnNpdmVTZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3BvbnNpdmVCcmVha3BvaW50cyA9IG5ldyBNYXA8VGFibGVDb2x1bW4sIEZkcFRhYmxlQnJlYWtwb2ludFtdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZXNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVGFibGUpIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlOiBUYWJsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGFibGVTZXJ2aWNlOiBUYWJsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsbVJlZjogRWxlbWVudFJlZlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyByZXNwb25zaXZlIGNvbHVtbiB3aXRoIGl0J3MgYnJlYWtwb2ludCBjb25maWd1cmF0aW9uLlxuICAgICAqIEBwYXJhbSBjb2x1bW4gVGFibGUgQ29sdW1uXG4gICAgICogQHBhcmFtIGJyZWFrcG9pbnRzIEJyZWFrcG9pbnQgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICByZWdpc3RlclJlc3BvbnNpdmVDb2x1bW4oY29sdW1uOiBUYWJsZUNvbHVtbiwgYnJlYWtwb2ludHM6IFJlY29yZDxzdHJpbmcsIEZkcENvbHVtblJlc3BvbnNpdmVTdGF0ZT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZUJyZWFrcG9pbnRzLnNldChjb2x1bW4sIHRoaXMuX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzKSk7XG5cbiAgICAgICAgdGhpcy5fbGlzdGVuVG9UYWJsZVJlc2l6ZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVHJhbnNmb3JtcyBwbGFpbiBicmVha3BvaW50cyBpbnRvIGEgbGlzdCB3aXRoIG1pbmltYWwvbWF4aW1hbCBlbGVtZW50IHdpZHRoIHdpdGggaXQncyB2aXNpYmlsaXR5IHN0YXRlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX25vcm1hbGl6ZUJyZWFrcG9pbnRzKGJyZWFrcG9pbnRzOiBSZWNvcmQ8c3RyaW5nLCBGZHBDb2x1bW5SZXNwb25zaXZlU3RhdGU+KTogRmRwVGFibGVCcmVha3BvaW50W10ge1xuICAgICAgICBjb25zdCBzb3J0ZWRCcmVha3BvaW50cyA9IE9iamVjdC5rZXlzKGJyZWFrcG9pbnRzKVxuICAgICAgICAgICAgLm1hcCgoaSkgPT4gcGFyc2VJbnQoaSwgMTApKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgICAgICAgY29uc3QgbmV3QnJlYWtwb2ludHMgPSBzb3J0ZWRCcmVha3BvaW50cy5yZWR1Y2UoKHJlc3VsdDogRmRwVGFibGVCcmVha3BvaW50W10sIHZhbHVlLCBpbmRleCwgYXJyYXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBtaW46IHZhbHVlLFxuICAgICAgICAgICAgICAgIG1heDogaW5kZXggKyAxIDwgYXJyYXkubGVuZ3RoID8gYXJyYXlbaW5kZXggKyAxXSAtIDEgOiBJbmZpbml0eSxcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBicmVha3BvaW50c1t2YWx1ZS50b1N0cmluZygpXVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sIFtdKTtcblxuICAgICAgICByZXR1cm4gbmV3QnJlYWtwb2ludHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIExpc3RlbnMgdG8gdGhlIHRhYmxlIGVsZW1lbnQgcmVzaXplIGFuZCBjYWxjdWxhdGVzIGNvbHVtbnMgdmlzaWJpbGl0eSBiYXNlZCBvbiB0aGUgY3VycmVudCBicmVha3BvaW50LlxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvVGFibGVSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSByZXNpemVPYnNlcnZhYmxlKHRoaXMuX2VsbVJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcHJvY2Vzc1Jlc3BvbnNpdmVDb2x1bW5zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb2Nlc3NSZXNwb25zaXZlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgbGV0IHNob3VsZE5vdGlmeSA9IGZhbHNlO1xuICAgICAgICBjb25zdCB7IHdpZHRoIH0gPSB0aGlzLl9lbG1SZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICB0aGlzLl9yZXNwb25zaXZlQnJlYWtwb2ludHMuZm9yRWFjaCgoYnJlYWtwb2ludHMsIGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpdHRpbmdCcmVha3BvaW50ID0gYnJlYWtwb2ludHMuZmluZChcbiAgICAgICAgICAgICAgICAoYnJlYWtwb2ludCkgPT4gYnJlYWtwb2ludC5taW4gPD0gd2lkdGggJiYgYnJlYWtwb2ludC5tYXggPj0gd2lkdGhcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChmaXR0aW5nQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHNob3VsZE5vdGlmeSA9IHNob3VsZE5vdGlmeSB8fCBpdGVtLnJlc3BvbnNpdmVTdGF0ZSAhPT0gZml0dGluZ0JyZWFrcG9pbnQudmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgICBpdGVtLnJlc3BvbnNpdmVTdGF0ZSA9IGZpdHRpbmdCcmVha3BvaW50LnZpc2liaWxpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIE5vdGlmeSBvbmx5IHdoZW4gdGhlcmUncyBhY3R1YWwgdmlzaWJpbGl0eSBjaGFuZ2VzIHRvIGFueSBvZiB0aGUgY29sdW1ucy5cbiAgICAgICAgaWYgKCFzaG91bGROb3RpZnkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUYWJsZUNvbHVtbnMgPSB0aGlzLl90YWJsZS5nZXRWaXNpYmxlVGFibGVDb2x1bW5zKCkubWFwKChjb2x1bW4pID0+IGNvbHVtbi5uYW1lKTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2Uuc3RhdGVDaGFuZ2UkLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogJ2NvbHVtbnMnLFxuICAgICAgICAgICAgc3RhdGU6IHsgcHJldmlvdXM6IGN1cnJlbnRUYWJsZUNvbHVtbnMsIGN1cnJlbnQ6IGN1cnJlbnRUYWJsZUNvbHVtbnMgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90YWJsZVNlcnZpY2UuY29sdW1uc0NoYW5nZSQubmV4dCh7IHByZXZpb3VzOiBjdXJyZW50VGFibGVDb2x1bW5zLCBjdXJyZW50OiBjdXJyZW50VGFibGVDb2x1bW5zIH0pO1xuICAgIH1cbn1cbiJdfQ==
|