@fundamental-ngx/core 0.36.0-rc.41 → 0.36.0-rc.44
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/action-bar/package.json +1 -1
- package/action-sheet/package.json +1 -1
- package/alert/package.json +1 -1
- package/avatar/package.json +1 -1
- package/avatar-group/package.json +1 -1
- package/bar/package.json +1 -1
- package/breadcrumb/package.json +1 -1
- package/busy-indicator/package.json +1 -1
- package/button/package.json +1 -1
- package/calendar/package.json +1 -1
- package/card/package.json +1 -1
- package/carousel/package.json +1 -1
- package/checkbox/package.json +1 -1
- package/combobox/package.json +1 -1
- package/content-density/package.json +2 -2
- package/date-picker/package.json +1 -1
- package/datetime/package.json +1 -1
- package/datetime-picker/package.json +1 -1
- package/dialog/package.json +1 -1
- package/dynamic-page/package.json +1 -1
- package/dynamic-side-content/package.json +1 -1
- package/esm2020/table/directives/table-body.directive.mjs +3 -3
- package/esm2020/table/directives/table-cell.directive.mjs +96 -37
- package/esm2020/table/directives/table-row.directive.mjs +45 -12
- package/esm2020/table/fd-table.interface.mjs +1 -1
- package/esm2020/table/table.component.mjs +74 -17
- package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +13 -40
- package/esm2020/utils/public_api.mjs +2 -1
- package/esm2020/utils/services/tabbable-element.service.mjs +41 -0
- package/facets/package.json +1 -1
- package/feed-input/package.json +1 -1
- package/feed-list-item/package.json +1 -1
- package/fesm2015/fundamental-ngx-core-table.mjs +453 -298
- package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-utils.mjs +49 -39
- package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-table.mjs +454 -308
- package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-utils.mjs +46 -36
- package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/file-uploader/package.json +1 -1
- package/fixed-card-layout/package.json +1 -1
- package/flexible-column-layout/package.json +1 -1
- package/form/package.json +1 -1
- package/formatted-text/package.json +1 -1
- package/grid-list/package.json +1 -1
- package/icon/package.json +1 -1
- package/illustrated-message/package.json +1 -1
- package/infinite-scroll/package.json +1 -1
- package/info-label/package.json +1 -1
- package/inline-help/package.json +1 -1
- package/input-group/package.json +1 -1
- package/layout-grid/package.json +1 -1
- package/layout-panel/package.json +1 -1
- package/link/package.json +1 -1
- package/list/package.json +1 -1
- package/menu/package.json +1 -1
- package/message-box/package.json +1 -1
- package/message-strip/package.json +1 -1
- package/message-toast/package.json +1 -1
- package/micro-process-flow/package.json +1 -1
- package/mobile-mode/package.json +1 -1
- package/multi-input/package.json +1 -1
- package/nested-list/package.json +1 -1
- package/notification/package.json +1 -1
- package/object-identifier/package.json +1 -1
- package/object-marker/package.json +1 -1
- package/object-number/package.json +1 -1
- package/object-status/package.json +1 -1
- package/overflow-layout/package.json +4 -4
- package/package.json +2 -2
- package/pagination/package.json +1 -1
- package/panel/package.json +1 -1
- package/popover/package.json +1 -1
- package/product-switch/package.json +1 -1
- package/progress-indicator/package.json +1 -1
- package/quick-view/package.json +1 -1
- package/radio/package.json +1 -1
- package/rating-indicator/package.json +1 -1
- package/resizable-card-layout/package.json +1 -1
- package/scroll-spy/package.json +1 -1
- package/scrollbar/package.json +1 -1
- package/segmented-button/package.json +1 -1
- package/select/package.json +1 -1
- package/shared/package.json +1 -1
- package/shellbar/package.json +1 -1
- package/side-navigation/package.json +1 -1
- package/slider/package.json +1 -1
- package/split-button/package.json +1 -1
- package/splitter/package.json +1 -1
- package/status-indicator/package.json +1 -1
- package/step-input/package.json +1 -1
- package/switch/package.json +1 -1
- package/table/directives/table-body.directive.d.ts +2 -2
- package/table/directives/table-cell.directive.d.ts +48 -26
- package/table/directives/table-row.directive.d.ts +25 -10
- package/table/esm2020/directives/table-body.directive.mjs +3 -3
- package/table/esm2020/directives/table-cell.directive.mjs +96 -37
- package/table/esm2020/directives/table-row.directive.mjs +45 -12
- package/table/esm2020/fd-table.interface.mjs +1 -1
- package/table/esm2020/table.component.mjs +74 -17
- package/table/fd-table.interface.d.ts +4 -0
- package/table/fesm2015/fundamental-ngx-core-table.mjs +453 -298
- package/table/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/table/fesm2020/fundamental-ngx-core-table.mjs +454 -308
- package/table/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/table/package.json +1 -1
- package/table/table.component.d.ts +22 -6
- package/tabs/package.json +1 -1
- package/text/package.json +1 -1
- package/theming/package.json +1 -1
- package/tile/package.json +1 -1
- package/time/package.json +1 -1
- package/time-picker/package.json +1 -1
- package/timeline/package.json +1 -1
- package/title/package.json +1 -1
- package/token/package.json +1 -1
- package/toolbar/package.json +1 -1
- package/tree/package.json +1 -1
- package/upload-collection/package.json +1 -1
- package/utils/directives/initial-focus/initial-focus.directive.d.ts +4 -9
- package/utils/esm2020/directives/initial-focus/initial-focus.directive.mjs +13 -40
- package/utils/esm2020/public_api.mjs +2 -1
- package/utils/esm2020/services/tabbable-element.service.mjs +41 -0
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs +49 -39
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs +46 -36
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/package.json +1 -1
- package/utils/public_api.d.ts +1 -0
- package/utils/services/tabbable-element.service.d.ts +11 -0
- package/vertical-navigation/package.json +1 -1
- package/wizard/package.json +1 -1
package/action-bar/package.json
CHANGED
package/alert/package.json
CHANGED
package/avatar/package.json
CHANGED
package/bar/package.json
CHANGED
package/breadcrumb/package.json
CHANGED
package/button/package.json
CHANGED
package/calendar/package.json
CHANGED
package/card/package.json
CHANGED
package/carousel/package.json
CHANGED
package/checkbox/package.json
CHANGED
package/combobox/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core/content-density",
|
|
3
|
-
"version": "0.36.0-rc.
|
|
3
|
+
"version": "0.36.0-rc.44",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^14.0.0",
|
|
6
6
|
"@angular/core": "^14.0.0",
|
|
7
7
|
"rxjs": "7.5.6",
|
|
8
8
|
"@angular/cdk": "14.0.2",
|
|
9
|
-
"@fundamental-ngx/core/utils": "0.36.0-rc.
|
|
9
|
+
"@fundamental-ngx/core/utils": "0.36.0-rc.44"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"tslib": "^2.0.0"
|
package/date-picker/package.json
CHANGED
package/datetime/package.json
CHANGED
package/dialog/package.json
CHANGED
|
@@ -4,9 +4,9 @@ export class TableBodyDirective {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
/** @hidden */
|
|
6
6
|
this.fdTableBodyClass = true;
|
|
7
|
-
/**
|
|
7
|
+
/** Whether to show the table body's horizontal borders */
|
|
8
8
|
this.noBorderX = false;
|
|
9
|
-
/**
|
|
9
|
+
/** Whether to show the table body's vertical borders */
|
|
10
10
|
this.noBorderY = false;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
31
31
|
}, {
|
|
32
32
|
type: Input
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90YWJsZS9kaXJlY3RpdmVzL3RhYmxlLWJvZHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLOUQsTUFBTSxPQUFPLGtCQUFrQjtJQUgvQjtRQUlJLGNBQWM7UUFFZCxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFeEIsMkRBQTJEO1FBRzNELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIseURBQXlEO1FBR3pELGNBQVMsR0FBRyxLQUFLLENBQUM7S0FDckI7OytHQWRZLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdDQUFnQztpQkFDN0M7OEJBSUcsZ0JBQWdCO3NCQURmLFdBQVc7dUJBQUMsc0JBQXNCO2dCQU1uQyxTQUFTO3NCQUZSLFdBQVc7dUJBQUMsNkNBQTZDOztzQkFDekQsS0FBSztnQkFNTixTQUFTO3NCQUZSLFdBQVc7dUJBQUMsMkNBQTJDOztzQkFDdkQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVGFibGVCb2R5XSwgW2ZkLXRhYmxlLWJvZHldJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUJvZHlEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fYm9keScpXG4gICAgZmRUYWJsZUJvZHlDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogIFdoZXRoZXIgdG8gc2hvdyB0aGUgdGFibGUgYm9keSdzIGhvcml6b250YWwgYm9yZGVycyAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2JvZHktLW5vLWhvcml6b250YWwtYm9yZGVycycpXG4gICAgQElucHV0KClcbiAgICBub0JvcmRlclggPSBmYWxzZTtcblxuICAgIC8qKiAgV2hldGhlciB0byBzaG93IHRoZSB0YWJsZSBib2R5J3MgdmVydGljYWwgYm9yZGVycyAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2JvZHktLW5vLXZlcnRpY2FsLWJvcmRlcnMnKVxuICAgIEBJbnB1dCgpXG4gICAgbm9Cb3JkZXJZID0gZmFsc2U7XG59XG4iXX0=
|
|
@@ -1,38 +1,44 @@
|
|
|
1
1
|
import { LiveAnnouncer } from '@angular/cdk/a11y';
|
|
2
|
-
import { Directive, ElementRef, HostBinding, Input, QueryList, ContentChildren, forwardRef, Optional } from '@angular/core';
|
|
2
|
+
import { Directive, ElementRef, HostBinding, Input, QueryList, ContentChildren, forwardRef, Optional, HostListener } from '@angular/core';
|
|
3
3
|
import { CheckboxComponent } from '@fundamental-ngx/core/checkbox';
|
|
4
|
-
import {
|
|
4
|
+
import { DestroyedService, TabbableElementService } from '@fundamental-ngx/core/utils';
|
|
5
5
|
import { FdTable } from '../fd-table.interface';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/cdk/a11y";
|
|
8
|
-
import * as i2 from "
|
|
8
|
+
import * as i2 from "@fundamental-ngx/core/utils";
|
|
9
|
+
import * as i3 from "../fd-table.interface";
|
|
9
10
|
export class TableCellDirective {
|
|
10
|
-
|
|
11
|
+
/** @hidden */
|
|
12
|
+
constructor(elementRef, _liveAnnouncer, _onDestroy$, _tabbableElementService, _table) {
|
|
11
13
|
this.elementRef = elementRef;
|
|
12
14
|
this._liveAnnouncer = _liveAnnouncer;
|
|
15
|
+
this._onDestroy$ = _onDestroy$;
|
|
16
|
+
this._tabbableElementService = _tabbableElementService;
|
|
13
17
|
this._table = _table;
|
|
14
|
-
/** Whether
|
|
18
|
+
/** Whether to show the table cell's horizontal borders */
|
|
15
19
|
this.noBorderX = false;
|
|
16
|
-
/** Whether
|
|
20
|
+
/** Whether to show the table cell's vertical borders */
|
|
17
21
|
this.noBorderY = false;
|
|
18
|
-
/** Whether
|
|
22
|
+
/** Whether the table cell is activable */
|
|
19
23
|
this.activable = false;
|
|
20
|
-
/** Whether
|
|
24
|
+
/** Whether the table cell is hoverable */
|
|
21
25
|
this.hoverable = false;
|
|
22
|
-
/** Whether
|
|
26
|
+
/** Whether the table cell's width should fit to content */
|
|
23
27
|
this.fitContent = false;
|
|
24
|
-
/** Whether
|
|
28
|
+
/** Whether the table cell shouldn't have padding on sides */
|
|
25
29
|
this.noPadding = false;
|
|
26
|
-
/** Whether
|
|
30
|
+
/** Whether the table cell indicates that there is no data */
|
|
27
31
|
this.noData = false;
|
|
28
|
-
/** Function, that creates a string to be announced by
|
|
32
|
+
/** Function, that creates a string to be announced by screen-reader whenever cell receives focus */
|
|
29
33
|
this.cellFocusedEventAnnouncer = this._defaultCellFocusedEventAnnouncer;
|
|
30
34
|
/** @hidden */
|
|
31
35
|
this._fdTableCellClass = true;
|
|
32
36
|
/** @hidden */
|
|
33
|
-
this.
|
|
37
|
+
this._tabbableElements = new Map();
|
|
38
|
+
/** @hidden */
|
|
39
|
+
this._canBeFocused = true;
|
|
34
40
|
}
|
|
35
|
-
/** Whether
|
|
41
|
+
/** Whether the table cell is focusable */
|
|
36
42
|
set focusable(value) {
|
|
37
43
|
this._focusable = value;
|
|
38
44
|
}
|
|
@@ -46,8 +52,9 @@ export class TableCellDirective {
|
|
|
46
52
|
get tabindex() {
|
|
47
53
|
return this._tabindex ?? (this.focusable ? 0 : null);
|
|
48
54
|
}
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
/** @hidden */
|
|
56
|
+
get _cellTabIndex() {
|
|
57
|
+
return this._canBeFocused ? this.tabindex : -1;
|
|
51
58
|
}
|
|
52
59
|
/** @hidden */
|
|
53
60
|
ngAfterContentInit() {
|
|
@@ -58,19 +65,6 @@ export class TableCellDirective {
|
|
|
58
65
|
if (this.noData) {
|
|
59
66
|
cell.setAttribute('colspan', '100%');
|
|
60
67
|
}
|
|
61
|
-
fromEvent(cell, 'focusin')
|
|
62
|
-
.pipe(takeUntil(this._onDestroy$))
|
|
63
|
-
.subscribe(() => {
|
|
64
|
-
const data = this.getCellPosition();
|
|
65
|
-
if (!data) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
this._liveAnnouncer.clear();
|
|
69
|
-
this._liveAnnouncer.announce(this.cellFocusedEventAnnouncer(data));
|
|
70
|
-
});
|
|
71
|
-
fromEvent(cell, 'keydown')
|
|
72
|
-
.pipe(takeUntil(this._onDestroy$))
|
|
73
|
-
.subscribe((event) => this._table?._onCellKeydown(event, this));
|
|
74
68
|
}
|
|
75
69
|
/** Returns row and col indexes for the cell */
|
|
76
70
|
getCellPosition() {
|
|
@@ -94,19 +88,75 @@ export class TableCellDirective {
|
|
|
94
88
|
origin: section
|
|
95
89
|
};
|
|
96
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Toggles focusable state of the cell.
|
|
93
|
+
* @param canFocus When `false`, disables any tabbable element inside cell.
|
|
94
|
+
*/
|
|
95
|
+
toggleFocusableState(canFocus) {
|
|
96
|
+
this._canBeFocused = canFocus;
|
|
97
|
+
if (!canFocus) {
|
|
98
|
+
this._disableTabbableElements();
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this._enableTabbableElements();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** @hidden */
|
|
105
|
+
_disableTabbableElements() {
|
|
106
|
+
// Since we cannot select by tabindex attribute (links, inputs, buttons might not have one but still can be focusable),
|
|
107
|
+
// Select all elements from the cell and filter by tabIndex property.
|
|
108
|
+
Array.from(this.elementRef.nativeElement.querySelectorAll('*'))
|
|
109
|
+
.filter((elm) => elm.tabIndex >= 0)
|
|
110
|
+
.forEach((elm) => {
|
|
111
|
+
this._tabbableElements.set(elm, elm.tabIndex);
|
|
112
|
+
elm.tabIndex = -1;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/** @hidden */
|
|
116
|
+
_enableTabbableElements() {
|
|
117
|
+
// If there's no elements in map, skip action.
|
|
118
|
+
if (this._tabbableElements.size === 0) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
this._tabbableElements.forEach((tabIndex, element) => {
|
|
122
|
+
element.tabIndex = tabIndex;
|
|
123
|
+
});
|
|
124
|
+
this._canBeFocused = false;
|
|
125
|
+
}
|
|
126
|
+
/** @hidden */
|
|
127
|
+
_onFocus() {
|
|
128
|
+
this._table?._setCurrentFocusableCell(this);
|
|
129
|
+
this._enableTabbableElements();
|
|
130
|
+
const tabbableElement = this._tabbableElementService.getTabbableElement(this.elementRef.nativeElement, false, true);
|
|
131
|
+
tabbableElement?.focus();
|
|
132
|
+
}
|
|
133
|
+
/** @hidden */
|
|
134
|
+
async _onFocusIn() {
|
|
135
|
+
const data = this.getCellPosition();
|
|
136
|
+
if (!data) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this._liveAnnouncer.clear();
|
|
140
|
+
await this._liveAnnouncer.announce(this.cellFocusedEventAnnouncer(data));
|
|
141
|
+
}
|
|
142
|
+
/** @hidden */
|
|
143
|
+
_onKeyDown(event) {
|
|
144
|
+
this._table?._onCellKeydown(event, this);
|
|
145
|
+
}
|
|
97
146
|
/** @hidden */
|
|
98
147
|
_defaultCellFocusedEventAnnouncer(data) {
|
|
99
148
|
return `Column ${data.col + 1} of ${data.totalCols}, row: ${data.row + 1} of ${data.totalRows}`;
|
|
100
149
|
}
|
|
101
150
|
}
|
|
102
|
-
TableCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TableCellDirective, deps: [{ token: i0.ElementRef }, { token: i1.LiveAnnouncer }, { token: i2.FdTable, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
103
|
-
TableCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: { noBorderX: "noBorderX", noBorderY: "noBorderY", activable: "activable", focusable: "focusable", tabindex: "tabindex", hoverable: "hoverable", fitContent: "fitContent", noPadding: "noPadding", noData: "noData", key: "key", cellFocusedEventAnnouncer: "cellFocusedEventAnnouncer" }, host: { properties: { "class.fd-table__cell--no-horizontal-border": "this.noBorderX", "class.fd-table__cell--no-vertical-border": "this.noBorderY", "class.fd-table__cell--activable": "this.activable", "class.fd-table__cell--focusable": "this.focusable", "
|
|
151
|
+
TableCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TableCellDirective, deps: [{ token: i0.ElementRef }, { token: i1.LiveAnnouncer }, { token: i2.DestroyedService }, { token: i2.TabbableElementService }, { token: i3.FdTable, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
152
|
+
TableCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: { noBorderX: "noBorderX", noBorderY: "noBorderY", activable: "activable", focusable: "focusable", tabindex: "tabindex", hoverable: "hoverable", fitContent: "fitContent", noPadding: "noPadding", noData: "noData", key: "key", cellFocusedEventAnnouncer: "cellFocusedEventAnnouncer" }, host: { listeners: { "focus": "_onFocus()", "focusin": "_onFocusIn()", "keydown": "_onKeyDown($event)" }, properties: { "class.fd-table__cell--no-horizontal-border": "this.noBorderX", "class.fd-table__cell--no-vertical-border": "this.noBorderY", "class.fd-table__cell--activable": "this.activable", "class.fd-table__cell--focusable": "this.focusable", "class.fd-table__cell--hoverable": "this.hoverable", "class.fd-table__cell--fit-content": "this.fitContent", "class.fd-table__cell--no-padding": "this.noPadding", "class.fd-table__cell--no-data": "this.noData", "class.fd-table__cell": "this._fdTableCellClass", "attr.tabindex": "this._cellTabIndex" } }, providers: [DestroyedService, TabbableElementService], queries: [{ propertyName: "_checkboxes", predicate: i0.forwardRef(function () { return CheckboxComponent; }) }], ngImport: i0 });
|
|
104
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TableCellDirective, decorators: [{
|
|
105
154
|
type: Directive,
|
|
106
155
|
args: [{
|
|
107
|
-
selector: '[fdTableCell], [fd-table-cell]'
|
|
156
|
+
selector: '[fdTableCell], [fd-table-cell]',
|
|
157
|
+
providers: [DestroyedService, TabbableElementService]
|
|
108
158
|
}]
|
|
109
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LiveAnnouncer }, { type: i2.FdTable, decorators: [{
|
|
159
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LiveAnnouncer }, { type: i2.DestroyedService }, { type: i2.TabbableElementService }, { type: i3.FdTable, decorators: [{
|
|
110
160
|
type: Optional
|
|
111
161
|
}] }]; }, propDecorators: { noBorderX: [{
|
|
112
162
|
type: HostBinding,
|
|
@@ -129,9 +179,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
129
179
|
}, {
|
|
130
180
|
type: Input
|
|
131
181
|
}], tabindex: [{
|
|
132
|
-
type: HostBinding,
|
|
133
|
-
args: ['attr.tabindex']
|
|
134
|
-
}, {
|
|
135
182
|
type: Input
|
|
136
183
|
}], hoverable: [{
|
|
137
184
|
type: HostBinding,
|
|
@@ -163,5 +210,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
163
210
|
}], _fdTableCellClass: [{
|
|
164
211
|
type: HostBinding,
|
|
165
212
|
args: ['class.fd-table__cell']
|
|
213
|
+
}], _cellTabIndex: [{
|
|
214
|
+
type: HostBinding,
|
|
215
|
+
args: ['attr.tabindex']
|
|
216
|
+
}], _onFocus: [{
|
|
217
|
+
type: HostListener,
|
|
218
|
+
args: ['focus']
|
|
219
|
+
}], _onFocusIn: [{
|
|
220
|
+
type: HostListener,
|
|
221
|
+
args: ['focusin']
|
|
222
|
+
}], _onKeyDown: [{
|
|
223
|
+
type: HostListener,
|
|
224
|
+
args: ['keydown', ['$event']]
|
|
166
225
|
}] } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90YWJsZS9kaXJlY3RpdmVzL3RhYmxlLWNlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUVWLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBS2hELE1BQU0sT0FBTyxrQkFBa0I7SUFtRjNCLFlBQ29CLFVBQW1DLEVBQ2xDLGNBQTZCLEVBQ2pCLE1BQWdCO1FBRjdCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFyRmpELGlFQUFpRTtRQUdqRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLCtEQUErRDtRQUcvRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGlEQUFpRDtRQUdqRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBOEJsQixpREFBaUQ7UUFHakQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtRUFBbUU7UUFHbkUsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixvRUFBb0U7UUFHcEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixvRUFBb0U7UUFHcEUsV0FBTSxHQUFHLEtBQUssQ0FB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O3NCQUM5QyxLQUFLO2dCQU1OLE1BQU07c0JBRkwsV0FBVzt1QkFBQywrQkFBK0I7O3NCQUMzQyxLQUFLO2dCQUtOLEdBQUc7c0JBREYsS0FBSztnQkFLTix5QkFBeUI7c0JBRHhCLEtBQUs7Z0JBS04sV0FBVztzQkFEVixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFLcEQsaUJBQWlCO3NCQURoQixXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpdmVBbm5vdW5jZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBmb3J3YXJkUmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NoZWNrYm94JztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRmRUYWJsZSB9IGZyb20gJy4uL2ZkLXRhYmxlLmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkVGFibGVDZWxsXSwgW2ZkLXRhYmxlLWNlbGxdJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSB0YWJsZSBjZWxsJ3MgaG9yaXpvbnRhbCBib3JkZXJzICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbC0tbm8taG9yaXpvbnRhbC1ib3JkZXInKVxuICAgIEBJbnB1dCgpXG4gICAgbm9Cb3JkZXJYID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdG8gc2hvdyB0aGUgdGFibGUgY2VsbCdzIHZlcnRpY2FsIGJvcmRlcnMgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1uby12ZXJ0aWNhbC1ib3JkZXInKVxuICAgIEBJbnB1dCgpXG4gICAgbm9Cb3JkZXJZID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdGhlIHRhYmxlIGNlbGwgaXMgYWN0aXZhYmxlICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbC0tYWN0aXZhYmxlJylcbiAgICBASW5wdXQoKVxuICAgIGFjdGl2YWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB0YWJsZSBjZWxsIGlzIGZvY3VzYWJsZSAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLWZvY3VzYWJsZScpXG4gICAgQElucHV0KClcbiAgICBzZXQgZm9jdXNhYmxlKHZhbHVlOiBOdWxsYWJsZTxib29sZWFuPikge1xuICAgICAgICB0aGlzLl9mb2N1c2FibGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNhYmxlKCk6IE51bGxhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzYWJsZSA/PyB0aGlzLl90YWJsZT8uYWxsQ2VsbHNGb2N1c2FibGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9mb2N1c2FibGU6IE51bGxhYmxlPGJvb2xlYW4+O1xuXG4gICAgLyoqIFRhYmluZGV4IGF0dHJpYnV0ZSBmb3IgdGhlIGNlbGwgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRhYmluZGV4KHZhbHVlOiBOdWxsYWJsZTxOdW1iZXJJbnB1dD4pIHtcbiAgICAgICAgdGhpcy5fdGFiaW5kZXggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgdGFiaW5kZXgoKTogTnVsbGFibGU8TnVtYmVySW5wdXQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmluZGV4ID8/ICh0aGlzLmZvY3VzYWJsZSA/IDAgOiBudWxsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RhYmluZGV4OiBOdWxsYWJsZTxOdW1iZXJJbnB1dD47XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdGhlIHRhYmxlIGNlbGwgaXMgaG92ZXJhYmxlICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbC0taG92ZXJhYmxlJylcbiAgICBASW5wdXQoKVxuICAgIGhvdmVyYWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSB0YWJsZSBjZWxsJ3Mgd2lkdGggc2hvdWxkIGZpdCB0byBjb250ZW50ICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLWZpdC1jb250ZW50JylcbiAgICBASW5wdXQoKVxuICAgIGZpdENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGFibGUgY2VsbCBzaG91bGRuJ3QgaGF2ZSBwYWRkaW5nIG9uIHNpZGVzICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbC0tbm8tcGFkZGluZycpXG4gICAgQElucHV0KClcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGFibGUgY2VsbCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBubyBkYXRhICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC10YWJsZV9fY2VsbC0tbm8tZGF0YScpXG4gICAgQElucHV0KClcbiAgICBub0RhdGEgPSBmYWxzZTtcblxuICAgIC8qKiBLZXkgb2YgY2VsbCBlbGVtZW50LCBpdCdzIHVzZWQgdG8gaWRlbnRpZnkgdGhpcyBjZWxsIHdpdGggY2VydGFpbiBjb2x1bW4gKi9cbiAgICBASW5wdXQoKVxuICAgIGtleTogc3RyaW5nO1xuXG4gICAgLyoqIEZ1bmN0aW9uLCB0aGF0IGNyZWF0ZXMgYSBzdHJpbmcgdG8gYmUgYW5ub3VuY2VkIGJ5IHNjcmVlbnJlYWRlciB3aGVuZXZlciBjZWxsIHJlY2VpdmVzIGZvY3VzICovXG4gICAgQElucHV0KClcbiAgICBjZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyOiAoZGF0YTogVGFibGVDZWxsUG9zaXRpb24pID0+IHN0cmluZyA9IHRoaXMuX2RlZmF1bHRDZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpKVxuICAgIF9jaGVja2JveGVzOiBRdWVyeUxpc3Q8Q2hlY2tib3hDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsJylcbiAgICBfZmRUYWJsZUNlbGxDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfbGl2ZUFubm91bmNlcjogTGl2ZUFubm91bmNlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBfdGFibGU/OiBGZFRhYmxlXG4gICAgKSB7fVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjZWxsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NoZWNrYm94ZXMgJiYgdGhpcy5fY2hlY2tib3hlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNlbGwuY2xhc3NMaXN0LmFkZCgnZmQtdGFibGVfX2NlbGwtLWNoZWNrYm94Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ub0RhdGEpIHtcbiAgICAgICAgICAgIGNlbGwuc2V0QXR0cmlidXRlKCdjb2xzcGFuJywgJzEwMCUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZyb21FdmVudChjZWxsLCAnZm9jdXNpbicpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRDZWxsUG9zaXRpb24oKTtcblxuICAgICAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fbGl2ZUFubm91bmNlci5jbGVhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodGhpcy5jZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyKGRhdGEpKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50PihjZWxsLCAna2V5ZG93bicpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5fdGFibGU/Ll9vbkNlbGxLZXlkb3duKGV2ZW50LCB0aGlzKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgcm93IGFuZCBjb2wgaW5kZXhlcyBmb3IgdGhlIGNlbGwgKi9cbiAgICBnZXRDZWxsUG9zaXRpb24oKTogVGFibGVDZWxsUG9zaXRpb24gfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBwYXJlbnRSb3cgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICBpZiAoIShwYXJlbnRSb3cgaW5zdGFuY2VvZiBIVE1MVGFibGVSb3dFbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSBwYXJlbnRSb3cucGFyZW50RWxlbWVudDtcbiAgICAgICAgaWYgKCEoc2VjdGlvbiBpbnN0YW5jZW9mIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvd3MgPSBzZWN0aW9uLmNoaWxkcmVuO1xuICAgICAgICBjb25zdCBjb2xzID0gcGFyZW50Um93LmNoaWxkcmVuO1xuXG4gICAgICAgIGNvbnN0IHJvdyA9IFsuLi4ocm93cyBhcyBhbnkgYXMgRWxlbWVudFtdKV0uaW5kZXhPZihwYXJlbnRSb3cpO1xuICAgICAgICBjb25zdCBjb2wgPSBbLi4uKGNvbHMgYXMgYW55IGFzIEVsZW1lbnRbXSldLmluZGV4T2YodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcm93LFxuICAgICAgICAgICAgY29sLFxuICAgICAgICAgICAgdG90YWxSb3dzOiByb3dzLmxlbmd0aCxcbiAgICAgICAgICAgIHRvdGFsQ29sczogY29scy5sZW5ndGgsXG4gICAgICAgICAgICBvcmlnaW46IHNlY3Rpb25cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RlZmF1bHRDZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyKGRhdGE6IFRhYmxlQ2VsbFBvc2l0aW9uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBDb2x1bW4gJHtkYXRhLmNvbCArIDF9IG9mICR7ZGF0YS50b3RhbENvbHN9LCByb3c6ICR7ZGF0YS5yb3cgKyAxfSBvZiAke2RhdGEudG90YWxSb3dzfWA7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2VsbFBvc2l0aW9uIHtcbiAgICByb3c6IG51bWJlcjtcbiAgICBjb2w6IG51bWJlcjtcbiAgICB0b3RhbFJvd3M6IG51bWJlcjtcbiAgICB0b3RhbENvbHM6IG51bWJlcjtcbiAgICBvcmlnaW46IEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50O1xufVxuIl19
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90YWJsZS9kaXJlY3RpdmVzL3RhYmxlLWNlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFFBQVEsRUFDUixZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQWNoRCxNQUFNLE9BQU8sa0JBQWtCO0lBMkYzQixjQUFjO0lBQ2QsWUFDb0IsVUFBbUMsRUFDbEMsY0FBNkIsRUFDN0IsV0FBNkIsRUFDN0IsdUJBQStDLEVBQ25DLE1BQWdCO1FBSjdCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVU7UUFoR2pELDBEQUEwRDtRQUcxRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLHdEQUF3RDtRQUd4RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLDBDQUEwQztRQUcxQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBdUJsQiwwQ0FBMEM7UUFHMUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQiw0REFBNEQ7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QUFTO3NCQUZSLFdBQVc7dUJBQUMsMENBQTBDOztzQkFDdEQsS0FBSztnQkFNTixTQUFTO3NCQUZSLFdBQVc7dUJBQUMsaUNBQWlDOztzQkFDN0MsS0FBSztnQkFNRixTQUFTO3NCQUZaLFdBQVc7dUJBQUMsaUNBQWlDOztzQkFDN0MsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7Z0JBWU4sU0FBUztzQkFGUixXQUFXO3VCQUFDLGlDQUFpQzs7c0JBQzdDLEtBQUs7Z0JBTU4sVUFBVTtzQkFGVCxXQUFXO3VCQUFDLG1DQUFtQzs7c0JBQy9DLEtBQUs7Z0JBTU4sU0FBUztzQkFGUixXQUFXO3VCQUFDLGtDQUFrQzs7c0JBQzlDLEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxXQUFXO3VCQUFDLCtCQUErQjs7c0JBQzNDLEtBQUs7Z0JBS04sR0FBRztzQkFERixLQUFLO2dCQUtOLHlCQUF5QjtzQkFEeEIsS0FBSztnQkFLTixXQUFXO3NCQURWLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUtwRCxpQkFBaUI7c0JBRGhCLFdBQVc7dUJBQUMsc0JBQXNCO2dCQWlCdkIsYUFBYTtzQkFEeEIsV0FBVzt1QkFBQyxlQUFlO2dCQTJGcEIsUUFBUTtzQkFEZixZQUFZO3VCQUFDLE9BQU87Z0JBZ0JQLFVBQVU7c0JBRHZCLFlBQVk7dUJBQUMsU0FBUztnQkFjZixVQUFVO3NCQURqQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpdmVBbm5vdW5jZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBmb3J3YXJkUmVmLFxuICAgIE9wdGlvbmFsLFxuICAgIEhvc3RMaXN0ZW5lclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NoZWNrYm94JztcbmltcG9ydCB7IERlc3Ryb3llZFNlcnZpY2UsIFRhYmJhYmxlRWxlbWVudFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcbmltcG9ydCB7IE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEZkVGFibGUgfSBmcm9tICcuLi9mZC10YWJsZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2VsbFBvc2l0aW9uIHtcbiAgICByb3c6IG51bWJlcjtcbiAgICBjb2w6IG51bWJlcjtcbiAgICB0b3RhbFJvd3M6IG51bWJlcjtcbiAgICB0b3RhbENvbHM6IG51bWJlcjtcbiAgICBvcmlnaW46IEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50O1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZFRhYmxlQ2VsbF0sIFtmZC10YWJsZS1jZWxsXScsXG4gICAgcHJvdmlkZXJzOiBbRGVzdHJveWVkU2VydmljZSwgVGFiYmFibGVFbGVtZW50U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgdG8gc2hvdyB0aGUgdGFibGUgY2VsbCdzIGhvcml6b250YWwgYm9yZGVycyAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLW5vLWhvcml6b250YWwtYm9yZGVyJylcbiAgICBASW5wdXQoKVxuICAgIG5vQm9yZGVyWCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gc2hvdyB0aGUgdGFibGUgY2VsbCdzIHZlcnRpY2FsIGJvcmRlcnMgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1uby12ZXJ0aWNhbC1ib3JkZXInKVxuICAgIEBJbnB1dCgpXG4gICAgbm9Cb3JkZXJZID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdGFibGUgY2VsbCBpcyBhY3RpdmFibGUgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1hY3RpdmFibGUnKVxuICAgIEBJbnB1dCgpXG4gICAgYWN0aXZhYmxlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdGFibGUgY2VsbCBpcyBmb2N1c2FibGUgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1mb2N1c2FibGUnKVxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvY3VzYWJsZSh2YWx1ZTogTnVsbGFibGU8Ym9vbGVhbj4pIHtcbiAgICAgICAgdGhpcy5fZm9jdXNhYmxlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzYWJsZSgpOiBOdWxsYWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb2N1c2FibGUgPz8gdGhpcy5fdGFibGU/LmFsbENlbGxzRm9jdXNhYmxlO1xuICAgIH1cblxuICAgIC8qKiBUYWJpbmRleCBhdHRyaWJ1dGUgZm9yIHRoZSBjZWxsICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGFiaW5kZXgodmFsdWU6IE51bGxhYmxlPE51bWJlcklucHV0Pikge1xuICAgICAgICB0aGlzLl90YWJpbmRleCA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCB0YWJpbmRleCgpOiBOdWxsYWJsZTxOdW1iZXJJbnB1dD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFiaW5kZXggPz8gKHRoaXMuZm9jdXNhYmxlID8gMCA6IG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSBjZWxsIGlzIGhvdmVyYWJsZSAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLWhvdmVyYWJsZScpXG4gICAgQElucHV0KClcbiAgICBob3ZlcmFibGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSBjZWxsJ3Mgd2lkdGggc2hvdWxkIGZpdCB0byBjb250ZW50ICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLWZpdC1jb250ZW50JylcbiAgICBASW5wdXQoKVxuICAgIGZpdENvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0YWJsZSBjZWxsIHNob3VsZG4ndCBoYXZlIHBhZGRpbmcgb24gc2lkZXMgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXRhYmxlX19jZWxsLS1uby1wYWRkaW5nJylcbiAgICBASW5wdXQoKVxuICAgIG5vUGFkZGluZyA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIGNlbGwgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgbm8gZGF0YSAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwtLW5vLWRhdGEnKVxuICAgIEBJbnB1dCgpXG4gICAgbm9EYXRhID0gZmFsc2U7XG5cbiAgICAvKiogS2V5IG9mIGNlbGwgZWxlbWVudCwgaXQncyB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgY2VsbCB3aXRoIGNlcnRhaW4gY29sdW1uICovXG4gICAgQElucHV0KClcbiAgICBrZXk6IHN0cmluZztcblxuICAgIC8qKiBGdW5jdGlvbiwgdGhhdCBjcmVhdGVzIGEgc3RyaW5nIHRvIGJlIGFubm91bmNlZCBieSBzY3JlZW4tcmVhZGVyIHdoZW5ldmVyIGNlbGwgcmVjZWl2ZXMgZm9jdXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXI6IChkYXRhOiBUYWJsZUNlbGxQb3NpdGlvbikgPT4gc3RyaW5nID0gdGhpcy5fZGVmYXVsdENlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCkpXG4gICAgX2NoZWNrYm94ZXM6IFF1ZXJ5TGlzdDxDaGVja2JveENvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtdGFibGVfX2NlbGwnKVxuICAgIF9mZFRhYmxlQ2VsbENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFiYmFibGVFbGVtZW50cyA9IG5ldyBNYXA8SFRNTEVsZW1lbnQsIG51bWJlcj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNhYmxlOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFiaW5kZXg6IE51bGxhYmxlPE51bWJlcklucHV0PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FuQmVGb2N1c2VkID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICBwcml2YXRlIGdldCBfY2VsbFRhYkluZGV4KCk6IE51bGxhYmxlPE51bWJlcklucHV0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5CZUZvY3VzZWQgPyB0aGlzLnRhYmluZGV4IDogLTE7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9saXZlQW5ub3VuY2VyOiBMaXZlQW5ub3VuY2VyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBEZXN0cm95ZWRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJiYWJsZUVsZW1lbnRTZXJ2aWNlOiBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF90YWJsZT86IEZkVGFibGVcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2VsbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGlmICh0aGlzLl9jaGVja2JveGVzICYmIHRoaXMuX2NoZWNrYm94ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoJ2ZkLXRhYmxlX19jZWxsLS1jaGVja2JveCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubm9EYXRhKSB7XG4gICAgICAgICAgICBjZWxsLnNldEF0dHJpYnV0ZSgnY29sc3BhbicsICcxMDAlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyByb3cgYW5kIGNvbCBpbmRleGVzIGZvciB0aGUgY2VsbCAqL1xuICAgIGdldENlbGxQb3NpdGlvbigpOiBUYWJsZUNlbGxQb3NpdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudFJvdyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIGlmICghKHBhcmVudFJvdyBpbnN0YW5jZW9mIEhUTUxUYWJsZVJvd0VsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHBhcmVudFJvdy5wYXJlbnRFbGVtZW50O1xuICAgICAgICBpZiAoIShzZWN0aW9uIGluc3RhbmNlb2YgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93cyA9IHNlY3Rpb24uY2hpbGRyZW47XG4gICAgICAgIGNvbnN0IGNvbHMgPSBwYXJlbnRSb3cuY2hpbGRyZW47XG5cbiAgICAgICAgY29uc3Qgcm93ID0gWy4uLihyb3dzIGFzIGFueSBhcyBFbGVtZW50W10pXS5pbmRleE9mKHBhcmVudFJvdyk7XG4gICAgICAgIGNvbnN0IGNvbCA9IFsuLi4oY29scyBhcyBhbnkgYXMgRWxlbWVudFtdKV0uaW5kZXhPZih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByb3csXG4gICAgICAgICAgICBjb2wsXG4gICAgICAgICAgICB0b3RhbFJvd3M6IHJvd3MubGVuZ3RoLFxuICAgICAgICAgICAgdG90YWxDb2xzOiBjb2xzLmxlbmd0aCxcbiAgICAgICAgICAgIG9yaWdpbjogc2VjdGlvblxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgZm9jdXNhYmxlIHN0YXRlIG9mIHRoZSBjZWxsLlxuICAgICAqIEBwYXJhbSBjYW5Gb2N1cyBXaGVuIGBmYWxzZWAsIGRpc2FibGVzIGFueSB0YWJiYWJsZSBlbGVtZW50IGluc2lkZSBjZWxsLlxuICAgICAqL1xuICAgIHRvZ2dsZUZvY3VzYWJsZVN0YXRlKGNhbkZvY3VzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NhbkJlRm9jdXNlZCA9IGNhbkZvY3VzO1xuXG4gICAgICAgIGlmICghY2FuRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVUYWJiYWJsZUVsZW1lbnRzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9lbmFibGVUYWJiYWJsZUVsZW1lbnRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rpc2FibGVUYWJiYWJsZUVsZW1lbnRzKCk6IHZvaWQge1xuICAgICAgICAvLyBTaW5jZSB3ZSBjYW5ub3Qgc2VsZWN0IGJ5IHRhYmluZGV4IGF0dHJpYnV0ZSAobGlua3MsIGlucHV0cywgYnV0dG9ucyBtaWdodCBub3QgaGF2ZSBvbmUgYnV0IHN0aWxsIGNhbiBiZSBmb2N1c2FibGUpLFxuICAgICAgICAvLyBTZWxlY3QgYWxsIGVsZW1lbnRzIGZyb20gdGhlIGNlbGwgYW5kIGZpbHRlciBieSB0YWJJbmRleCBwcm9wZXJ0eS5cbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignKicpKVxuICAgICAgICAgICAgLmZpbHRlcigoZWxtKSA9PiBlbG0udGFiSW5kZXggPj0gMClcbiAgICAgICAgICAgIC5mb3JFYWNoKChlbG0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl90YWJiYWJsZUVsZW1lbnRzLnNldChlbG0sIGVsbS50YWJJbmRleCk7XG4gICAgICAgICAgICAgICAgZWxtLnRhYkluZGV4ID0gLTE7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2VuYWJsZVRhYmJhYmxlRWxlbWVudHMoKTogdm9pZCB7XG4gICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gZWxlbWVudHMgaW4gbWFwLCBza2lwIGFjdGlvbi5cbiAgICAgICAgaWYgKHRoaXMuX3RhYmJhYmxlRWxlbWVudHMuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3RhYmJhYmxlRWxlbWVudHMuZm9yRWFjaCgodGFiSW5kZXgsIGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGVsZW1lbnQudGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2NhbkJlRm9jdXNlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIHByaXZhdGUgX29uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5fc2V0Q3VycmVudEZvY3VzYWJsZUNlbGwodGhpcyk7XG4gICAgICAgIHRoaXMuX2VuYWJsZVRhYmJhYmxlRWxlbWVudHMoKTtcblxuICAgICAgICBjb25zdCB0YWJiYWJsZUVsZW1lbnQgPSB0aGlzLl90YWJiYWJsZUVsZW1lbnRTZXJ2aWNlLmdldFRhYmJhYmxlRWxlbWVudChcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgdGFiYmFibGVFbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicpXG4gICAgcHJpdmF0ZSBhc3luYyBfb25Gb2N1c0luKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRDZWxsUG9zaXRpb24oKTtcblxuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2xpdmVBbm5vdW5jZXIuY2xlYXIoKTtcbiAgICAgICAgYXdhaXQgdGhpcy5fbGl2ZUFubm91bmNlci5hbm5vdW5jZSh0aGlzLmNlbGxGb2N1c2VkRXZlbnRBbm5vdW5jZXIoZGF0YSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgcHJpdmF0ZSBfb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlPy5fb25DZWxsS2V5ZG93bihldmVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZWZhdWx0Q2VsbEZvY3VzZWRFdmVudEFubm91bmNlcihkYXRhOiBUYWJsZUNlbGxQb3NpdGlvbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgQ29sdW1uICR7ZGF0YS5jb2wgKyAxfSBvZiAke2RhdGEudG90YWxDb2xzfSwgcm93OiAke2RhdGEucm93ICsgMX0gb2YgJHtkYXRhLnRvdGFsUm93c31gO1xuICAgIH1cbn1cbiJdfQ==
|