@agorapulse/ui-components 18.0.23 → 18.0.25
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/agorapulse-ui-components-18.0.25.tgz +0 -0
- package/esm2022/media-display-overlay/media-display-overlay-dialog.component.mjs +3 -3
- package/esm2022/nav-selector/nav-selector-category/nav-selector-category.component.mjs +40 -6
- package/esm2022/nav-selector/nav-selector-group/nav-selector-group.component.mjs +21 -14
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.component.mjs +46 -20
- package/esm2022/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.mjs +4 -1
- package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.component.mjs +5 -3
- package/esm2022/nav-selector/nav-selector-leaf-detail/nav-selector-leaf-detail.presenter.mjs +4 -2
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover-item.component.mjs +39 -10
- package/esm2022/nav-selector/nav-selector-popover/nav-selector-popover.component.mjs +3 -4
- package/esm2022/nav-selector/nav-selector.component.mjs +20 -7
- package/esm2022/nav-selector/nav-selector.mjs +1 -1
- package/esm2022/nav-selector/nav-selector.state.mjs +17 -5
- package/esm2022/nav-selector/public_api.mjs +2 -1
- package/esm2022/nav-selector/utils/nav-selector.builder.mjs +6 -3
- package/esm2022/nav-selector/utils/nav-selector.filter.mjs +2 -1
- package/esm2022/nav-selector/utils/nav-selector.folding.mjs +106 -46
- package/esm2022/nav-selector/utils/nav-selector.minifying.mjs +6 -2
- package/esm2022/popmenu/popmenu.directive.mjs +1 -1
- package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs +2 -2
- package/esm2022/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.mjs +2 -2
- package/esm2022/select/dropdown-search-form/dropdown-search-form.component.mjs +2 -4
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +504 -310
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-popmenu.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-select.mjs +3 -5
- package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
- package/nav-selector/nav-selector-category/nav-selector-category.component.d.ts +10 -0
- package/nav-selector/nav-selector-group/nav-selector-group.component.d.ts +1 -0
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.component.d.ts +5 -1
- package/nav-selector/nav-selector-leaf/nav-selector-leaf.presenter.d.ts +2 -1
- package/nav-selector/nav-selector-popover/nav-selector-popover-item.component.d.ts +7 -2
- package/nav-selector/nav-selector.component.d.ts +1 -0
- package/nav-selector/nav-selector.d.ts +2 -0
- package/nav-selector/nav-selector.state.d.ts +2 -0
- package/nav-selector/public_api.d.ts +1 -0
- package/nav-selector/utils/nav-selector.folding.d.ts +32 -9
- package/package.json +7 -7
- package/popmenu/popmenu.directive.d.ts +6 -4
- package/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.d.ts +1 -1
- package/select/dropdown-item-multiple-two-lines/dropdown-item-multiple-two-lines.component.d.ts +1 -1
- package/agorapulse-ui-components-18.0.23.tgz +0 -0
|
@@ -4,6 +4,15 @@ import { isInternalNavSelectorEntryALeafFocusable } from '../utils/leaf.utils';
|
|
|
4
4
|
* Class to handle the folding and unfolding of nav selector entries.
|
|
5
5
|
*/
|
|
6
6
|
export class NavSelectorFolding {
|
|
7
|
+
/**
|
|
8
|
+
* Unfolds all parents of the entry with the given uid until the root.
|
|
9
|
+
* @param entries nav selector entries
|
|
10
|
+
* @param entryUid the entry uid to unfold parents for
|
|
11
|
+
* @param options options for folding operations
|
|
12
|
+
*/
|
|
13
|
+
static unfoldParents(entries, entryUid, options) {
|
|
14
|
+
return this.unfoldParentsOfEntry(entries, entryUid, options).entries;
|
|
15
|
+
}
|
|
7
16
|
/**
|
|
8
17
|
* Toggle the folding state of an entry.
|
|
9
18
|
*
|
|
@@ -11,11 +20,10 @@ export class NavSelectorFolding {
|
|
|
11
20
|
*
|
|
12
21
|
* @param entries nav selector entries
|
|
13
22
|
* @param entryUid the entry uid to toggle
|
|
14
|
-
* @param
|
|
15
|
-
* @param minified true if the nav selector is minified. Needed for leaf as they are not foldable in minified mode
|
|
23
|
+
* @param options options for folding operations
|
|
16
24
|
*/
|
|
17
|
-
static toggleFolding(entries, entryUid,
|
|
18
|
-
return this.toggleEntryFolding(entries, entryUid,
|
|
25
|
+
static toggleFolding(entries, entryUid, options) {
|
|
26
|
+
return this.toggleEntryFolding(entries, entryUid, options);
|
|
19
27
|
}
|
|
20
28
|
/**
|
|
21
29
|
* Fold an entry.
|
|
@@ -25,11 +33,10 @@ export class NavSelectorFolding {
|
|
|
25
33
|
*
|
|
26
34
|
* @param entries nav selector entries
|
|
27
35
|
* @param entryUid the entry uid to fold
|
|
28
|
-
* @param
|
|
29
|
-
* @param minified true if the nav selector is minified. Needed for leaf as they are not foldable in minified mode
|
|
36
|
+
* @param options options for folding operations
|
|
30
37
|
*/
|
|
31
|
-
static fold(entries, entryUid,
|
|
32
|
-
return this.foldEntry(entries, entryUid,
|
|
38
|
+
static fold(entries, entryUid, options) {
|
|
39
|
+
return this.foldEntry(entries, entryUid, options);
|
|
33
40
|
}
|
|
34
41
|
/**
|
|
35
42
|
* Unfold an entry.
|
|
@@ -39,156 +46,155 @@ export class NavSelectorFolding {
|
|
|
39
46
|
*
|
|
40
47
|
* @param entries nav selector entries
|
|
41
48
|
* @param entryUid the entry uid to unfold
|
|
42
|
-
* @param
|
|
43
|
-
* @param minified true if the nav selector is minified. Needed for leaf as they are not foldable in minified mode
|
|
49
|
+
* @param options options for folding operations
|
|
44
50
|
*/
|
|
45
|
-
static unfold(entries, entryUid,
|
|
46
|
-
return this.unfoldEntry(entries, entryUid,
|
|
51
|
+
static unfold(entries, entryUid, options) {
|
|
52
|
+
return this.unfoldEntry(entries, entryUid, options);
|
|
47
53
|
}
|
|
48
|
-
static toggleEntryFolding(entries, entryUid,
|
|
54
|
+
static toggleEntryFolding(entries, entryUid, options, parentFolded = false) {
|
|
49
55
|
return entries.map(entry => {
|
|
50
56
|
if (isInternalNavSelectorEntryACategory(entry)) {
|
|
51
57
|
if (entry.uid === entryUid) {
|
|
52
58
|
const folded = !entry.folded;
|
|
53
59
|
if (folded) {
|
|
54
|
-
return this.foldCategory(entry,
|
|
60
|
+
return this.foldCategory(entry, options);
|
|
55
61
|
}
|
|
56
62
|
else {
|
|
57
|
-
return this.unfoldCategory(entry,
|
|
63
|
+
return this.unfoldCategory(entry, options);
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
66
|
return {
|
|
61
67
|
...entry,
|
|
62
|
-
children: this.toggleEntryFolding(entry.children, entryUid,
|
|
68
|
+
children: this.toggleEntryFolding(entry.children, entryUid, options, entry.folded),
|
|
63
69
|
};
|
|
64
70
|
}
|
|
65
71
|
if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
66
72
|
if (entry.uid === entryUid) {
|
|
67
73
|
const folded = !entry.folded;
|
|
68
74
|
if (folded) {
|
|
69
|
-
return this.foldGroup(entry,
|
|
75
|
+
return this.foldGroup(entry, options);
|
|
70
76
|
}
|
|
71
77
|
else {
|
|
72
|
-
return this.unfoldGroup(entry,
|
|
78
|
+
return this.unfoldGroup(entry, options);
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
81
|
return {
|
|
76
82
|
...entry,
|
|
77
|
-
children: this.toggleEntryFolding(entry.children, entryUid,
|
|
83
|
+
children: this.toggleEntryFolding(entry.children, entryUid, options, parentFolded || entry.folded),
|
|
78
84
|
};
|
|
79
85
|
}
|
|
80
86
|
if (isInternalNavSelectorEntryALeaf(entry)) {
|
|
81
87
|
if (entry.uid === entryUid) {
|
|
82
88
|
const folded = !entry.folded;
|
|
83
89
|
if (folded) {
|
|
84
|
-
return this.foldLeaf(entry, minified);
|
|
90
|
+
return this.foldLeaf(entry, options.minified);
|
|
85
91
|
}
|
|
86
92
|
else {
|
|
87
|
-
return this.unfoldLeaf(entry, minified);
|
|
93
|
+
return this.unfoldLeaf(entry, options.minified);
|
|
88
94
|
}
|
|
89
95
|
}
|
|
90
96
|
return {
|
|
91
97
|
...entry,
|
|
92
|
-
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode }),
|
|
98
|
+
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode: options.multipleMode }),
|
|
93
99
|
};
|
|
94
100
|
}
|
|
95
101
|
return { ...entry, focusable: !parentFolded };
|
|
96
102
|
});
|
|
97
103
|
}
|
|
98
|
-
static foldEntry(entries, entryUid,
|
|
104
|
+
static foldEntry(entries, entryUid, options, parentFolded = false) {
|
|
99
105
|
return entries.map(entry => {
|
|
100
106
|
if (isInternalNavSelectorEntryACategory(entry)) {
|
|
101
107
|
if (entry.uid === entryUid) {
|
|
102
|
-
return this.foldCategory(entry,
|
|
108
|
+
return this.foldCategory(entry, options);
|
|
103
109
|
}
|
|
104
110
|
return {
|
|
105
111
|
...entry,
|
|
106
|
-
children: this.foldEntry(entry.children, entryUid,
|
|
112
|
+
children: this.foldEntry(entry.children, entryUid, options, entry.folded),
|
|
107
113
|
};
|
|
108
114
|
}
|
|
109
115
|
if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
110
116
|
if (entry.uid === entryUid) {
|
|
111
|
-
return this.foldGroup(entry,
|
|
117
|
+
return this.foldGroup(entry, options);
|
|
112
118
|
}
|
|
113
119
|
return {
|
|
114
120
|
...entry,
|
|
115
121
|
focusable: !parentFolded,
|
|
116
|
-
children: this.foldEntry(entry.children, entryUid,
|
|
122
|
+
children: this.foldEntry(entry.children, entryUid, options, parentFolded || entry.folded),
|
|
117
123
|
};
|
|
118
124
|
}
|
|
119
125
|
if (isInternalNavSelectorEntryALeaf(entry)) {
|
|
120
126
|
if (entry.uid === entryUid) {
|
|
121
|
-
return this.foldLeaf(entry, minified);
|
|
127
|
+
return this.foldLeaf(entry, options.minified);
|
|
122
128
|
}
|
|
123
129
|
return {
|
|
124
130
|
...entry,
|
|
125
|
-
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode }),
|
|
131
|
+
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode: options.multipleMode }),
|
|
126
132
|
};
|
|
127
133
|
}
|
|
128
134
|
return { ...entry, focusable: !parentFolded };
|
|
129
135
|
});
|
|
130
136
|
}
|
|
131
|
-
static unfoldEntry(entries, entryUid,
|
|
137
|
+
static unfoldEntry(entries, entryUid, options, parentFolded = false) {
|
|
132
138
|
return entries.map(entry => {
|
|
133
139
|
if (isInternalNavSelectorEntryACategory(entry)) {
|
|
134
140
|
if (entry.uid === entryUid) {
|
|
135
|
-
return this.unfoldCategory(entry,
|
|
141
|
+
return this.unfoldCategory(entry, options);
|
|
136
142
|
}
|
|
137
143
|
return {
|
|
138
144
|
...entry,
|
|
139
|
-
children: this.unfoldEntry(entry.children, entryUid,
|
|
145
|
+
children: this.unfoldEntry(entry.children, entryUid, options, entry.folded),
|
|
140
146
|
};
|
|
141
147
|
}
|
|
142
148
|
if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
143
149
|
if (entry.uid === entryUid) {
|
|
144
|
-
return this.unfoldGroup(entry,
|
|
150
|
+
return this.unfoldGroup(entry, options);
|
|
145
151
|
}
|
|
146
152
|
return {
|
|
147
153
|
...entry,
|
|
148
|
-
children: this.unfoldEntry(entry.children, entryUid,
|
|
154
|
+
children: this.unfoldEntry(entry.children, entryUid, options, parentFolded || entry.folded),
|
|
149
155
|
focusable: !parentFolded,
|
|
150
156
|
};
|
|
151
157
|
}
|
|
152
158
|
if (isInternalNavSelectorEntryALeaf(entry)) {
|
|
153
159
|
if (entry.uid === entryUid) {
|
|
154
|
-
return this.unfoldLeaf(entry, minified);
|
|
160
|
+
return this.unfoldLeaf(entry, options.minified);
|
|
155
161
|
}
|
|
156
162
|
return {
|
|
157
163
|
...entry,
|
|
158
|
-
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode }),
|
|
164
|
+
focusable: isInternalNavSelectorEntryALeafFocusable(entry, { parentFolded, multipleMode: options.multipleMode }),
|
|
159
165
|
};
|
|
160
166
|
}
|
|
161
167
|
return { ...entry, focusable: !parentFolded };
|
|
162
168
|
});
|
|
163
169
|
}
|
|
164
|
-
static foldCategory(category,
|
|
170
|
+
static foldCategory(category, options) {
|
|
165
171
|
return {
|
|
166
172
|
...category,
|
|
167
173
|
folded: true,
|
|
168
|
-
children: this.foldEntry(category.children, category.uid,
|
|
174
|
+
children: this.foldEntry(category.children, category.uid, options, true),
|
|
169
175
|
};
|
|
170
176
|
}
|
|
171
|
-
static unfoldCategory(category,
|
|
177
|
+
static unfoldCategory(category, options) {
|
|
172
178
|
return {
|
|
173
179
|
...category,
|
|
174
180
|
folded: false,
|
|
175
|
-
children: this.unfoldEntry(category.children, category.uid,
|
|
181
|
+
children: this.unfoldEntry(category.children, category.uid, options, false),
|
|
176
182
|
};
|
|
177
183
|
}
|
|
178
|
-
static foldGroup(group,
|
|
184
|
+
static foldGroup(group, options) {
|
|
179
185
|
return {
|
|
180
186
|
...group,
|
|
181
187
|
folded: true,
|
|
182
|
-
children: this.foldEntry(group.children, group.uid,
|
|
188
|
+
children: this.foldEntry(group.children, group.uid, options, true),
|
|
183
189
|
displayCounter: !!group.counter,
|
|
184
190
|
displayTokenInvalid: group.children.some(({ displayTokenInvalid }) => displayTokenInvalid),
|
|
185
191
|
};
|
|
186
192
|
}
|
|
187
|
-
static unfoldGroup(group,
|
|
193
|
+
static unfoldGroup(group, options) {
|
|
188
194
|
return {
|
|
189
195
|
...group,
|
|
190
196
|
folded: false,
|
|
191
|
-
children: this.unfoldEntry(group.children, group.uid,
|
|
197
|
+
children: this.unfoldEntry(group.children, group.uid, options, false),
|
|
192
198
|
displayCounter: false,
|
|
193
199
|
displayTokenInvalid: false,
|
|
194
200
|
};
|
|
@@ -214,9 +220,63 @@ export class NavSelectorFolding {
|
|
|
214
220
|
folded: false,
|
|
215
221
|
details: leaf.details.map((detail, idx) => ({
|
|
216
222
|
...detail,
|
|
217
|
-
focusable: idx < leaf.viewMoreDetailsDisplayedLimit,
|
|
223
|
+
focusable: idx < leaf.viewMoreDetailsDisplayedLimit && !detail.displayError,
|
|
218
224
|
})),
|
|
219
225
|
};
|
|
220
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* Unfolds all parents of the entry with the given uid until the root.
|
|
229
|
+
* @param entries nav selector entries
|
|
230
|
+
* @param entryUid the entry uid to unfold parents for
|
|
231
|
+
* @param options options for folding operations
|
|
232
|
+
*/
|
|
233
|
+
static unfoldParentsOfEntry(entries, entryUid, options) {
|
|
234
|
+
let found = false;
|
|
235
|
+
const newEntries = entries.map(entry => {
|
|
236
|
+
if (isInternalNavSelectorEntryACategory(entry)) {
|
|
237
|
+
const entryFound = entry.children.some(({ uid }) => uid === entryUid);
|
|
238
|
+
if (entryFound) {
|
|
239
|
+
found = true;
|
|
240
|
+
return this.unfoldCategory(entry, options);
|
|
241
|
+
}
|
|
242
|
+
const result = this.unfoldParentsOfEntry(entry.children, entryUid, options);
|
|
243
|
+
found ||= result.found;
|
|
244
|
+
if (found) {
|
|
245
|
+
return {
|
|
246
|
+
...entry,
|
|
247
|
+
children: result.entries,
|
|
248
|
+
folded: false,
|
|
249
|
+
focusable: true,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
254
|
+
const entryFound = entry.children.some(({ uid }) => uid === entryUid);
|
|
255
|
+
if (entryFound) {
|
|
256
|
+
found = true;
|
|
257
|
+
return { ...this.unfoldGroup(entry, options), focusable: true };
|
|
258
|
+
}
|
|
259
|
+
const result = this.unfoldParentsOfEntry(entry.children, entryUid, options);
|
|
260
|
+
found ||= result.found;
|
|
261
|
+
if (found) {
|
|
262
|
+
return {
|
|
263
|
+
...entry,
|
|
264
|
+
children: result.entries,
|
|
265
|
+
folded: false,
|
|
266
|
+
focusable: true,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
else if (isInternalNavSelectorEntryALeaf(entry)) {
|
|
271
|
+
const entryFound = entry.details.some(({ uid }) => uid === entryUid);
|
|
272
|
+
if (entryFound) {
|
|
273
|
+
found = true;
|
|
274
|
+
return { ...this.unfoldLeaf(entry, options.minified), focusable: true };
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return entry;
|
|
278
|
+
});
|
|
279
|
+
return { found, entries: newEntries };
|
|
280
|
+
}
|
|
221
281
|
}
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZvbGRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3IuZm9sZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0gsbUNBQW1DLEVBQ25DLGdDQUFnQyxFQUNoQywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FDaEIsT0FBWSxFQUNaLFFBQWdCLEVBQ2hCLFlBQXFCLEVBQ3JCLFFBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FDUCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FDVCxPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsWUFBcUIsRUFDckIsUUFBaUI7UUFFakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQzdCLE9BQVksRUFDWixRQUFnQixFQUNoQixZQUFx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QU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsY0FBYyxFQUFFLEtBQUs7WUFDckIsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxHQUFHLE1BQU07Z0JBQ1QsU0FBUyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsNkJBQTZCO2FBQ3RELENBQUMsQ0FBQztTQUNOLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnksXG4gICAgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwLFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5LFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYsXG59IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRm9jdXNhYmxlIH0gZnJvbSAnLi4vdXRpbHMvbGVhZi51dGlscyc7XG5cbi8qKlxuICogQ2xhc3MgdG8gaGFuZGxlIHRoZSBmb2xkaW5nIGFuZCB1bmZvbGRpbmcgb2YgbmF2IHNlbGVjdG9yIGVudHJpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvckZvbGRpbmcge1xuICAgIC8qKlxuICAgICAqIFRvZ2dsZSB0aGUgZm9sZGluZyBzdGF0ZSBvZiBhbiBlbnRyeS5cbiAgICAgKlxuICAgICAqIEBzZWUge0BsaW5rIE5hdlNlbGVjdG9yRm9sZGluZy5mb2xkfSBhbmQge0BsaW5rIE5hdlNlbGVjdG9yRm9sZGluZy51bmZvbGR9IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGZvbGRpbmcgYW5kIHVuZm9sZGluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gdG9nZ2xlXG4gICAgICogQHBhcmFtIG11bHRpcGxlTW9kZSB0byB1cGRhdGUgdGhlIGZvY3VzYWJsZSBzdGF0ZSBvZiBsZWF2ZXMgYW5kIGRldGFpbHMgY29ycmVjdGx5LlxuICAgICAqIEBwYXJhbSBtaW5pZmllZCB0cnVlIGlmIHRoZSBuYXYgc2VsZWN0b3IgaXMgbWluaWZpZWQuIE5lZWRlZCBmb3IgbGVhZiBhcyB0aGV5IGFyZSBub3QgZm9sZGFibGUgaW4gbWluaWZpZWQgbW9kZVxuICAgICAqL1xuICAgIHN0YXRpYyB0b2dnbGVGb2xkaW5nPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KFxuICAgICAgICBlbnRyaWVzOiBUW10sXG4gICAgICAgIGVudHJ5VWlkOiBzdHJpbmcsXG4gICAgICAgIG11bHRpcGxlTW9kZTogYm9vbGVhbixcbiAgICAgICAgbWluaWZpZWQ6IGJvb2xlYW5cbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZUVudHJ5Rm9sZGluZyhlbnRyaWVzLCBlbnRyeVVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9sZCBhbiBlbnRyeS5cbiAgICAgKlxuICAgICAqIFNldCB1bmZvY3VzYWJsZSBvbiBhbGwgY2hpbGRyZW4gb2YgdGhlIGZvbGRlZCBlbnRyeS5cbiAgICAgKiBDb21wdXRlIHdoZW5ldmVyIHRoZSBjb3VudGVyIGFuZCB0b2tlbiBpbnZhbGlkIHNob3VsZCBiZSBkaXNwbGF5ZWQgb24gZ3JvdXBzIGFuZCBsZWF2ZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZW50cmllcyBuYXYgc2VsZWN0b3IgZW50cmllc1xuICAgICAqIEBwYXJhbSBlbnRyeVVpZCB0aGUgZW50cnkgdWlkIHRvIGZvbGRcbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBhbmQgZGV0YWlscyBjb3JyZWN0bHkuXG4gICAgICogQHBhcmFtIG1pbmlmaWVkIHRydWUgaWYgdGhlIG5hdiBzZWxlY3RvciBpcyBtaW5pZmllZC4gTmVlZGVkIGZvciBsZWFmIGFzIHRoZXkgYXJlIG5vdCBmb2xkYWJsZSBpbiBtaW5pZmllZCBtb2RlXG4gICAgICovXG4gICAgc3RhdGljIGZvbGQ8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhblxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9sZEVudHJ5KGVudHJpZXMsIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbmZvbGQgYW4gZW50cnkuXG4gICAgICpcbiAgICAgKiBTZXQgZm9jdXNhYmxlIG9uIGFsbCBjaGlsZHJlbiBvZiB0aGUgZm9sZGVkIGVudHJ5LlxuICAgICAqIENvbXB1dGUgd2hlbmV2ZXIgdGhlIGNvdW50ZXIgYW5kIHRva2VuIGludmFsaWQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBncm91cHMgYW5kIGxlYXZlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gdW5mb2xkXG4gICAgICogQHBhcmFtIG11bHRpcGxlTW9kZSB0byB1cGRhdGUgdGhlIGZvY3VzYWJsZSBzdGF0ZSBvZiBsZWF2ZXMgYW5kIGRldGFpbHMgY29ycmVjdGx5LlxuICAgICAqIEBwYXJhbSBtaW5pZmllZCB0cnVlIGlmIHRoZSBuYXYgc2VsZWN0b3IgaXMgbWluaWZpZWQuIE5lZWRlZCBmb3IgbGVhZiBhcyB0aGV5IGFyZSBub3QgZm9sZGFibGUgaW4gbWluaWZpZWQgbW9kZVxuICAgICAqL1xuICAgIHN0YXRpYyB1bmZvbGQ8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhblxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkRW50cnkoZW50cmllcywgZW50cnlVaWQsIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHRvZ2dsZUVudHJ5Rm9sZGluZzxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuLFxuICAgICAgICBwYXJlbnRGb2xkZWQgPSBmYWxzZVxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2xkZWQgPSAhZW50cnkuZm9sZGVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkQ2F0ZWdvcnkoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnRvZ2dsZUVudHJ5Rm9sZGluZyhlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG1pbmlmaWVkLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9sZGVkID0gIWVudHJ5LmZvbGRlZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvbGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZEdyb3VwKGVudHJ5LCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVuZm9sZEdyb3VwKGVudHJ5LCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudG9nZ2xlRW50cnlGb2xkaW5nKGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCwgcGFyZW50Rm9sZGVkIHx8IGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb2xkRW50cnk8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhbixcbiAgICAgICAgcGFyZW50Rm9sZGVkID0gZmFsc2VcbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZENhdGVnb3J5KGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtaW5pZmllZCwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRHcm91cChlbnRyeSwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmZvbGRFbnRyeShlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZExlYWYoZW50cnksIG1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZSB9KSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgLi4uZW50cnksIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRFbnRyeTxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBtdWx0aXBsZU1vZGU6IGJvb2xlYW4sXG4gICAgICAgIG1pbmlmaWVkOiBib29sZWFuLFxuICAgICAgICBwYXJlbnRGb2xkZWQgPSBmYWxzZVxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRDYXRlZ29yeShlbnRyeSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG11bHRpcGxlTW9kZSwgbWluaWZpZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhcGFyZW50Rm9sZGVkLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBtaW5pZmllZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHsgcGFyZW50Rm9sZGVkLCBtdWx0aXBsZU1vZGUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZENhdGVnb3J5KGNhdGVnb3J5OiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNhdGVnb3J5LFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuZm9sZEVudHJ5KGNhdGVnb3J5LmNoaWxkcmVuLCBjYXRlZ29yeS51aWQsIG1pbmlmaWVkLCB0cnVlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkQ2F0ZWdvcnkoY2F0ZWdvcnk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2F0ZWdvcnksXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoY2F0ZWdvcnkuY2hpbGRyZW4sIGNhdGVnb3J5LnVpZCwgbWluaWZpZWQsIGZhbHNlKSBhcyAoXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZlxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwXG4gICAgICAgICAgICApW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZEdyb3VwKGdyb3VwOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsIG11bHRpcGxlTW9kZTogYm9vbGVhbiwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZ3JvdXAsXG4gICAgICAgICAgICBmb2xkZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZ3JvdXAuY2hpbGRyZW4sIGdyb3VwLnVpZCwgbXVsdGlwbGVNb2RlLCBtaW5pZmllZCwgdHJ1ZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiAhIWdyb3VwLmNvdW50ZXIsXG4gICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBncm91cC5jaGlsZHJlbi5zb21lKCh7IGRpc3BsYXlUb2tlbkludmFsaWQgfSkgPT4gZGlzcGxheVRva2VuSW52YWxpZCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkR3JvdXAoZ3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCwgbXVsdGlwbGVNb2RlOiBib29sZWFuLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy51bmZvbGRFbnRyeShncm91cC5jaGlsZHJlbiwgZ3JvdXAudWlkLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBmYWxzZSkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGRpc3BsYXlUb2tlbkludmFsaWQ6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGZvbGRMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgaWYgKCFsZWFmLmZvbGRhYmxlIHx8IG1pbmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBsZWFmLmNvdW50ZXJEaXNwbGF5YWJsZSxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgICAgIGRldGFpbHM6IGxlYWYuZGV0YWlscy5tYXAoZGV0YWlsID0+ICh7IC4uLmRldGFpbCwgZm9jdXNhYmxlOiBmYWxzZSB9KSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkTGVhZihsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiwgbWluaWZpZWQ6IGJvb2xlYW4pOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGlmICghbGVhZi5mb2xkYWJsZSB8fCBtaW5pZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIGxlYWY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBkaXNwbGF5Q291bnRlcjogZmFsc2UsXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZGV0YWlsczogbGVhZi5kZXRhaWxzLm1hcCgoZGV0YWlsLCBpZHgpID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uZGV0YWlsLFxuICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaWR4IDwgbGVhZi52aWV3TW9yZURldGFpbHNEaXNwbGF5ZWRMaW1pdCxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLmZvbGRpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3IuZm9sZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0gsbUNBQW1DLEVBQ25DLGdDQUFnQyxFQUNoQywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVkvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUNoQixPQUFZLEVBQ1osUUFBZ0IsRUFDaEIsT0FBa0M7UUFFbEMsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FDaEIsT0FBWSxFQUNaLFFBQWdCLEVBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQ1AsT0FBWSxFQUNaLFFBQWdCLEVBQ2hCLE9BQWtDO1FBRWxDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUNULE9BQVksRUFDWixRQUFnQixFQUNoQixPQUFrQztRQUVsQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFFB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QyxDQUFDO2dCQUNyRSxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNiLEtBQUssR0FBRyxJQUFJLENBQUM7b0JBQ2IsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDNUUsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnksXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZixcbn0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUgfSBmcm9tICcuLi91dGlscy9sZWFmLnV0aWxzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBmb2xkaW5nIG9wZXJhdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYXZTZWxlY3RvckZvbGRpbmdPcHRpb25zIHtcbiAgICAvKiogVG8gdXBkYXRlIHRoZSBmb2N1c2FibGUgc3RhdGUgb2YgbGVhdmVzIGFuZCBkZXRhaWxzIGNvcnJlY3RseSAqL1xuICAgIG11bHRpcGxlTW9kZTogYm9vbGVhbjtcbiAgICAvKiogVHJ1ZSBpZiB0aGUgbmF2IHNlbGVjdG9yIGlzIG1pbmlmaWVkLiBOZWVkZWQgZm9yIGxlYWYgYXMgdGhleSBhcmUgbm90IGZvbGRhYmxlIGluIG1pbmlmaWVkIG1vZGUgKi9cbiAgICBtaW5pZmllZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDbGFzcyB0byBoYW5kbGUgdGhlIGZvbGRpbmcgYW5kIHVuZm9sZGluZyBvZiBuYXYgc2VsZWN0b3IgZW50cmllcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yRm9sZGluZyB7XG4gICAgLyoqXG4gICAgICogVW5mb2xkcyBhbGwgcGFyZW50cyBvZiB0aGUgZW50cnkgd2l0aCB0aGUgZ2l2ZW4gdWlkIHVudGlsIHRoZSByb290LlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gdW5mb2xkIHBhcmVudHMgZm9yXG4gICAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBmb3IgZm9sZGluZyBvcGVyYXRpb25zXG4gICAgICovXG4gICAgc3RhdGljIHVuZm9sZFBhcmVudHM8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgb3B0aW9uczogTmF2U2VsZWN0b3JGb2xkaW5nT3B0aW9uc1xuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkUGFyZW50c09mRW50cnkoZW50cmllcywgZW50cnlVaWQsIG9wdGlvbnMpLmVudHJpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG9nZ2xlIHRoZSBmb2xkaW5nIHN0YXRlIG9mIGFuIGVudHJ5LlxuICAgICAqXG4gICAgICogQHNlZSB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLmZvbGR9IGFuZCB7QGxpbmsgTmF2U2VsZWN0b3JGb2xkaW5nLnVuZm9sZH0gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gZm9sZGluZyBhbmQgdW5mb2xkaW5nLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byB0b2dnbGVcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zIGZvciBmb2xkaW5nIG9wZXJhdGlvbnNcbiAgICAgKi9cbiAgICBzdGF0aWMgdG9nZ2xlRm9sZGluZzxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiBOYXZTZWxlY3RvckZvbGRpbmdPcHRpb25zXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2dnbGVFbnRyeUZvbGRpbmcoZW50cmllcywgZW50cnlVaWQsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvbGQgYW4gZW50cnkuXG4gICAgICpcbiAgICAgKiBTZXQgdW5mb2N1c2FibGUgb24gYWxsIGNoaWxkcmVuIG9mIHRoZSBmb2xkZWQgZW50cnkuXG4gICAgICogQ29tcHV0ZSB3aGVuZXZlciB0aGUgY291bnRlciBhbmQgdG9rZW4gaW52YWxpZCBzaG91bGQgYmUgZGlzcGxheWVkIG9uIGdyb3VwcyBhbmQgbGVhdmVzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byBmb2xkXG4gICAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBmb3IgZm9sZGluZyBvcGVyYXRpb25zXG4gICAgICovXG4gICAgc3RhdGljIGZvbGQ8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgb3B0aW9uczogTmF2U2VsZWN0b3JGb2xkaW5nT3B0aW9uc1xuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9sZEVudHJ5KGVudHJpZXMsIGVudHJ5VWlkLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbmZvbGQgYW4gZW50cnkuXG4gICAgICpcbiAgICAgKiBTZXQgZm9jdXNhYmxlIG9uIGFsbCBjaGlsZHJlbiBvZiB0aGUgZm9sZGVkIGVudHJ5LlxuICAgICAqIENvbXB1dGUgd2hlbmV2ZXIgdGhlIGNvdW50ZXIgYW5kIHRva2VuIGludmFsaWQgc2hvdWxkIGJlIGRpc3BsYXllZCBvbiBncm91cHMgYW5kIGxlYXZlcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gdW5mb2xkXG4gICAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBmb3IgZm9sZGluZyBvcGVyYXRpb25zXG4gICAgICovXG4gICAgc3RhdGljIHVuZm9sZDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiBOYXZTZWxlY3RvckZvbGRpbmdPcHRpb25zXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRFbnRyeShlbnRyaWVzLCBlbnRyeVVpZCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdG9nZ2xlRW50cnlGb2xkaW5nPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KFxuICAgICAgICBlbnRyaWVzOiBUW10sXG4gICAgICAgIGVudHJ5VWlkOiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM6IE5hdlNlbGVjdG9yRm9sZGluZ09wdGlvbnMsXG4gICAgICAgIHBhcmVudEZvbGRlZCA9IGZhbHNlXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9ICFlbnRyeS5mb2xkZWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRDYXRlZ29yeShlbnRyeSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRDYXRlZ29yeShlbnRyeSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnRvZ2dsZUVudHJ5Rm9sZGluZyhlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG9wdGlvbnMsIGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2xkZWQgPSAhZW50cnkuZm9sZGVkO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2xkR3JvdXAoZW50cnksIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy50b2dnbGVFbnRyeUZvbGRpbmcoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBvcHRpb25zLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9sZGVkID0gIWVudHJ5LmZvbGRlZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZvbGRlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZExlYWYoZW50cnksIG9wdGlvbnMubWluaWZpZWQpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkTGVhZihlbnRyeSwgb3B0aW9ucy5taW5pZmllZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZTogb3B0aW9ucy5tdWx0aXBsZU1vZGUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZEVudHJ5PFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KFxuICAgICAgICBlbnRyaWVzOiBUW10sXG4gICAgICAgIGVudHJ5VWlkOiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM6IE5hdlNlbGVjdG9yRm9sZGluZ09wdGlvbnMsXG4gICAgICAgIHBhcmVudEZvbGRlZCA9IGZhbHNlXG4gICAgKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRDYXRlZ29yeShlbnRyeSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBvcHRpb25zLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9sZEdyb3VwKGVudHJ5LCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogIXBhcmVudEZvbGRlZCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuZm9sZEVudHJ5KGVudHJ5LmNoaWxkcmVuLCBlbnRyeVVpZCwgb3B0aW9ucywgcGFyZW50Rm9sZGVkIHx8IGVudHJ5LmZvbGRlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeS51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvbGRMZWFmKGVudHJ5LCBvcHRpb25zLm1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZTogb3B0aW9ucy5tdWx0aXBsZU1vZGUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5mb2xkRW50cnk8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgZW50cnlVaWQ6IHN0cmluZyxcbiAgICAgICAgb3B0aW9uczogTmF2U2VsZWN0b3JGb2xkaW5nT3B0aW9ucyxcbiAgICAgICAgcGFyZW50Rm9sZGVkID0gZmFsc2VcbiAgICApOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkQ2F0ZWdvcnkoZW50cnksIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBvcHRpb25zLCBlbnRyeS5mb2xkZWQpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAoZW50cnkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudW5mb2xkR3JvdXAoZW50cnksIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBvcHRpb25zLCBwYXJlbnRGb2xkZWQgfHwgZW50cnkuZm9sZGVkKSxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhcGFyZW50Rm9sZGVkLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy51bmZvbGRMZWFmKGVudHJ5LCBvcHRpb25zLm1pbmlmaWVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZShlbnRyeSwgeyBwYXJlbnRGb2xkZWQsIG11bHRpcGxlTW9kZTogb3B0aW9ucy5tdWx0aXBsZU1vZGUgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVudHJ5LCBmb2N1c2FibGU6ICFwYXJlbnRGb2xkZWQgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZENhdGVnb3J5KGNhdGVnb3J5OiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksIG9wdGlvbnM6IE5hdlNlbGVjdG9yRm9sZGluZ09wdGlvbnMpOiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2F0ZWdvcnksXG4gICAgICAgICAgICBmb2xkZWQ6IHRydWUsXG4gICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5mb2xkRW50cnkoY2F0ZWdvcnkuY2hpbGRyZW4sIGNhdGVnb3J5LnVpZCwgb3B0aW9ucywgdHJ1ZSkgYXMgKFxuICAgICAgICAgICAgICAgIHwgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZcbiAgICAgICAgICAgICAgICB8IEludGVybmFsTmF2U2VsZWN0b3JHcm91cFxuICAgICAgICAgICAgKVtdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHVuZm9sZENhdGVnb3J5KGNhdGVnb3J5OiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksIG9wdGlvbnM6IE5hdlNlbGVjdG9yRm9sZGluZ09wdGlvbnMpOiBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY2F0ZWdvcnksXG4gICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5mb2xkRW50cnkoY2F0ZWdvcnkuY2hpbGRyZW4sIGNhdGVnb3J5LnVpZCwgb3B0aW9ucywgZmFsc2UpIGFzIChcbiAgICAgICAgICAgICAgICB8IEludGVybmFsTmF2U2VsZWN0b3JMZWFmXG4gICAgICAgICAgICAgICAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXBcbiAgICAgICAgICAgIClbXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBmb2xkR3JvdXAoZ3JvdXA6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCwgb3B0aW9uczogTmF2U2VsZWN0b3JGb2xkaW5nT3B0aW9ucyk6IEludGVybmFsTmF2U2VsZWN0b3JHcm91cCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ncm91cCxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmZvbGRFbnRyeShncm91cC5jaGlsZHJlbiwgZ3JvdXAudWlkLCBvcHRpb25zLCB0cnVlKSBhcyBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZltdLFxuICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6ICEhZ3JvdXAuY291bnRlcixcbiAgICAgICAgICAgIGRpc3BsYXlUb2tlbkludmFsaWQ6IGdyb3VwLmNoaWxkcmVuLnNvbWUoKHsgZGlzcGxheVRva2VuSW52YWxpZCB9KSA9PiBkaXNwbGF5VG9rZW5JbnZhbGlkKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRHcm91cChncm91cDogSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwLCBvcHRpb25zOiBOYXZTZWxlY3RvckZvbGRpbmdPcHRpb25zKTogSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmdyb3VwLFxuICAgICAgICAgICAgZm9sZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnVuZm9sZEVudHJ5KGdyb3VwLmNoaWxkcmVuLCBncm91cC51aWQsIG9wdGlvbnMsIGZhbHNlKSBhcyBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZltdLFxuICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6IGZhbHNlLFxuICAgICAgICAgICAgZGlzcGxheVRva2VuSW52YWxpZDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgZm9sZExlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIG1pbmlmaWVkOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAoIWxlYWYuZm9sZGFibGUgfHwgbWluaWZpZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBsZWFmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgZGlzcGxheUNvdW50ZXI6IGxlYWYuY291bnRlckRpc3BsYXlhYmxlLFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICAgICAgZGV0YWlsczogbGVhZi5kZXRhaWxzLm1hcChkZXRhaWwgPT4gKHsgLi4uZGV0YWlsLCBmb2N1c2FibGU6IGZhbHNlIH0pKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bmZvbGRMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBtaW5pZmllZDogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgaWYgKCFsZWFmLmZvbGRhYmxlIHx8IG1pbmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbGVhZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICBkZXRhaWxzOiBsZWFmLmRldGFpbHMubWFwKChkZXRhaWwsIGlkeCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5kZXRhaWwsXG4gICAgICAgICAgICAgICAgZm9jdXNhYmxlOiBpZHggPCBsZWFmLnZpZXdNb3JlRGV0YWlsc0Rpc3BsYXllZExpbWl0ICYmICFkZXRhaWwuZGlzcGxheUVycm9yLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuZm9sZHMgYWxsIHBhcmVudHMgb2YgdGhlIGVudHJ5IHdpdGggdGhlIGdpdmVuIHVpZCB1bnRpbCB0aGUgcm9vdC5cbiAgICAgKiBAcGFyYW0gZW50cmllcyBuYXYgc2VsZWN0b3IgZW50cmllc1xuICAgICAqIEBwYXJhbSBlbnRyeVVpZCB0aGUgZW50cnkgdWlkIHRvIHVuZm9sZCBwYXJlbnRzIGZvclxuICAgICAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMgZm9yIGZvbGRpbmcgb3BlcmF0aW9uc1xuICAgICAqL1xuICAgIHN0YXRpYyB1bmZvbGRQYXJlbnRzT2ZFbnRyeTxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihcbiAgICAgICAgZW50cmllczogVFtdLFxuICAgICAgICBlbnRyeVVpZDogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiBOYXZTZWxlY3RvckZvbGRpbmdPcHRpb25zXG4gICAgKTogeyBmb3VuZDogYm9vbGVhbjsgZW50cmllczogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10gfSB7XG4gICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBuZXdFbnRyaWVzID0gZW50cmllcy5tYXAoZW50cnkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudHJ5Rm91bmQgPSBlbnRyeS5jaGlsZHJlbi5zb21lKCh7IHVpZCB9KSA9PiB1aWQgPT09IGVudHJ5VWlkKTtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnlGb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVuZm9sZENhdGVnb3J5KGVudHJ5LCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy51bmZvbGRQYXJlbnRzT2ZFbnRyeShlbnRyeS5jaGlsZHJlbiwgZW50cnlVaWQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGZvdW5kIHx8PSByZXN1bHQuZm91bmQ7XG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiByZXN1bHQuZW50cmllcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbGRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRyeUZvdW5kID0gZW50cnkuY2hpbGRyZW4uc29tZSgoeyB1aWQgfSkgPT4gdWlkID09PSBlbnRyeVVpZCk7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5Rm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyAuLi50aGlzLnVuZm9sZEdyb3VwKGVudHJ5LCBvcHRpb25zKSwgZm9jdXNhYmxlOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudW5mb2xkUGFyZW50c09mRW50cnkoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICBmb3VuZCB8fD0gcmVzdWx0LmZvdW5kO1xuICAgICAgICAgICAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LmVudHJpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb2xkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRyeUZvdW5kID0gZW50cnkuZGV0YWlscy5zb21lKCh7IHVpZCB9KSA9PiB1aWQgPT09IGVudHJ5VWlkKTtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnlGb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnRoaXMudW5mb2xkTGVhZihlbnRyeSwgb3B0aW9ucy5taW5pZmllZCksIGZvY3VzYWJsZTogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IGZvdW5kLCBlbnRyaWVzOiBuZXdFbnRyaWVzIH07XG4gICAgfVxufVxuIl19
|
|
@@ -33,7 +33,11 @@ export class NavSelectorMinifying {
|
|
|
33
33
|
static compute(entries, multipleMode, minified, parent = null) {
|
|
34
34
|
return entries.map(entry => {
|
|
35
35
|
if (isInternalNavSelectorEntryALeafDetails(entry)) {
|
|
36
|
-
return {
|
|
36
|
+
return {
|
|
37
|
+
...entry,
|
|
38
|
+
focusable: !minified,
|
|
39
|
+
accessibility: { ...entry.accessibility, tabIndex: minified ? -1 : entry.accessibility.tabIndex },
|
|
40
|
+
};
|
|
37
41
|
}
|
|
38
42
|
if (isInternalNavSelectorEntryANode(entry)) {
|
|
39
43
|
return {
|
|
@@ -52,4 +56,4 @@ export class NavSelectorMinifying {
|
|
|
52
56
|
});
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLm1pbmlmeWluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL3V0aWxzL25hdi1zZWxlY3Rvci5taW5pZnlpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILHNDQUFzQyxFQUN0QywrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRTs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7Ozs7Ozs7OztPQVNHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBcUMsT0FBWSxFQUFFLFlBQXFCO1FBQ2pGLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFxQyxPQUFZLEVBQUUsWUFBcUI7UUFDakYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUFPLENBQ2xCLE9BQVksRUFDWixZQUFxQixFQUNyQixRQUFpQixFQUNqQixTQUF3RSxJQUFJO1FBRTVFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QixJQUFJLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE9BQU87b0JBQ0gsR0FBRyxLQUFLO29CQUNSLFNBQVMsRUFBRSxDQUFDLFFBQVE7b0JBQ3BCLGFBQWEsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7aUJBQ3BHLENBQUM7WUFDTixDQUFDO1lBQ0QsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxPQUFPO29CQUNILEdBQUcsS0FBSztvQkFDUixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDO2lCQUN4RSxDQUFDO1lBQ04sQ0FBQztZQUVELE9BQU87Z0JBQ0gsR0FBRyxLQUFLO2dCQUNSLFNBQVMsRUFBRSx3Q0FBd0MsQ0FBQyxLQUFLLEVBQUU7b0JBQ3ZELFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLElBQUk7b0JBQ3JDLFlBQVk7aUJBQ2YsQ0FBQztnQkFDRixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7YUFDL0QsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnksXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JHcm91cCxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRGV0YWlscyxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlLFxufSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZkZvY3VzYWJsZSB9IGZyb20gJy4uL3V0aWxzL2xlYWYudXRpbHMnO1xuXG4vKipcbiAqIE5hdlNlbGVjdG9yTWluaWZ5aW5nIGlzIGEgdXRpbGl0eSBjbGFzcyB0aGF0IHByb3ZpZGVzIG1ldGhvZHMgdG8gYXBwbHkgcnVsZXMgb24gZW50cmllcyB3aGVuIG1pbmlmeWluZyBvciBleHBhbmRlZCBuYXYgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3Rvck1pbmlmeWluZyB7XG4gICAgLyoqXG4gICAgICogV2hlbiBtaW5pZnlpbmcgdGhlIG5hdiBzZWxlY3RvciwgY29tcHV0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIHRoZSBlbnRyaWVzLlxuICAgICAqXG4gICAgICogTGVhZiBhcmUgbm90IGZvY3VzYWJsZSBpbiBhbnkgZXJyb3Igc3RhdGUgd2hlbiBtaW5pZmllZC5cbiAgICAgKiBEZXRhaWwgYXJlIG5vdCBmb2N1c2FibGUgd2hlbiBtaW5pZmllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIFRoZSBlbnRyaWVzIHRvIG1pbmlmeS5cbiAgICAgKiBAcGFyYW0gbXVsdGlwbGVNb2RlIHRvIHVwZGF0ZSB0aGUgZm9jdXNhYmxlIHN0YXRlIG9mIGxlYXZlcyBjb3JyZWN0bHkuXG4gICAgICogQHJldHVybnMgVGhlIG1vZGlmaWVkIGVudHJpZXMuXG4gICAgICovXG4gICAgc3RhdGljIG1pbmlmeTxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIG11bHRpcGxlTW9kZTogYm9vbGVhbik6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZShlbnRyaWVzLCBtdWx0aXBsZU1vZGUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdoZW4gZXhwYW5kaW5nIHRoZSBuYXYgc2VsZWN0b3IsIGNvbXB1dGUgdGhlIGZvY3VzYWJsZSBzdGF0ZSBvZiB0aGUgZW50cmllcy5cbiAgICAgKlxuICAgICAqIExlYWYgYXJlIG5vdCBmb2N1c2FibGUgaW4gZGlzYWJsZWQgc3RhdGUgd2hlbiBleHBhbmRlZC5cbiAgICAgKiBEZXRhaWwgYXJlIGZvY3VzYWJsZSB3aGVuIGV4cGFuZGVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVudHJpZXMgVGhlIGVudHJpZXMgdG8gbWluaWZ5LlxuICAgICAqIEBwYXJhbSBtdWx0aXBsZU1vZGUgdG8gdXBkYXRlIHRoZSBmb2N1c2FibGUgc3RhdGUgb2YgbGVhdmVzIGFuZCBkZXRhaWxzIGNvcnJlY3RseS5cbiAgICAgKiBAcmV0dXJucyBUaGUgbW9kaWZpZWQgZW50cmllcy5cbiAgICAgKi9cbiAgICBzdGF0aWMgZXhwYW5kPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KGVudHJpZXM6IFRbXSwgbXVsdGlwbGVNb2RlOiBib29sZWFuKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlKGVudHJpZXMsIG11bHRpcGxlTW9kZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNvbXB1dGU8VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oXG4gICAgICAgIGVudHJpZXM6IFRbXSxcbiAgICAgICAgbXVsdGlwbGVNb2RlOiBib29sZWFuLFxuICAgICAgICBtaW5pZmllZDogYm9vbGVhbixcbiAgICAgICAgcGFyZW50OiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAgfCBJbnRlcm5hbE5hdlNlbGVjdG9yQ2F0ZWdvcnkgfCBudWxsID0gbnVsbFxuICAgICk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmRGV0YWlscyhlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlOiAhbWluaWZpZWQsXG4gICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHsgLi4uZW50cnkuYWNjZXNzaWJpbGl0eSwgdGFiSW5kZXg6IG1pbmlmaWVkID8gLTEgOiBlbnRyeS5hY2Nlc3NpYmlsaXR5LnRhYkluZGV4IH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5jb21wdXRlKGVudHJ5LmNoaWxkcmVuLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkLCBlbnRyeSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICBmb2N1c2FibGU6IGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWZGb2N1c2FibGUoZW50cnksIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50Rm9sZGVkOiBwYXJlbnQ/LmZvbGRlZCA9PT0gdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGVNb2RlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRldGFpbHM6IHRoaXMuY29tcHV0ZShlbnRyeS5kZXRhaWxzLCBtdWx0aXBsZU1vZGUsIG1pbmlmaWVkKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -289,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
289
289
|
type: HostListener,
|
|
290
290
|
args: ['click']
|
|
291
291
|
}] } });
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFHVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sR0FJVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWV2RCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkU4QjtJQUM1QztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBakZILGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUMzQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxDQUFxQjtJQUNoQyxhQUFhLENBQXFCO0lBQ2xDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxXQUFXLEdBQVksSUFBSSxDQUFDO0lBQzVCLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsVUFBVSxDQUFxQjtJQUMvQixNQUFNLENBQXFCO0lBQzNCLE9BQU8sQ0FBdUQ7SUFDOUQsU0FBUyxHQUFXLFFBQVEsQ0FBQztJQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ0osWUFBWSxDQUFvQjtJQUMzQyxRQUFRLENBQTRDO0lBQ3BELE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNkLFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN4RCxVQUFV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USxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjtxTEE1RXBDLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNjLFlBQVk7c0JBQS9CLEtBQUs7dUJBQUMsV0FBVztnQkFDVCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQWtCTSxPQUFPO3NCQUFuQixLQUFLO2dCQXNFTixjQUFjO3NCQURiLE1BQU07Z0JBS0gsUUFBUTtzQkFEWCxLQUFLO2dCQTRHTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgUG9wbWVudU9wdGlvbnMgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9wbWVudU9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wb3BtZW51LW9wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBQb3BtZW51Q29tcG9uZW50IH0gZnJvbSAnLi9wb3BtZW51LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRDb21wb25lbnQge1xuICAgIGRhdGE6IGFueTtcbiAgICBzaG93OiBib29sZWFuO1xuICAgIGNsb3NlOiBib29sZWFuO1xuICAgIG1lbnVDbG9zZWQ6IGFueTtcbiAgICBtZW51T3BlbmVkOiBhbnk7XG4gICAgbWVudU9wZW46IGJvb2xlYW47XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwUG9wbWVudV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG1lbnVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYXBQb3BtZW51Qm9yZGVyID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXBQb3BtZW51RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVCYWNrZ3JvdW5kID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhcnJvdyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFycm93T2Zmc2V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJyb3dQb3NpdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGNsb3NlID0gZmFsc2U7XG4gICAgQElucHV0KCkgaGFzQmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGJhY2tkcm9wQ2xhc3MgPSAnJztcbiAgICBASW5wdXQoKSBwYW5lbENsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgb2Zmc2V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgb2Zmc2V0czogeyBkaXN0YW5jZT86IG51bWJlcjsgc2tpZGRpbmc/OiBudW1iZXIgfSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwbGFjZW1lbnQ6IHN0cmluZyA9ICdib3R0b20nO1xuICAgIEBJbnB1dCgpIHBvaW50ZXIgPSB0cnVlO1xuICAgIEBJbnB1dCgnYXBQb3BtZW51JykgcG9wTWVudVZhbHVlITogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBwb3NpdGlvbjogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyIH0gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcm91bmRlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNoYWRvdyA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBtZW51Q2xvc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBtZW51T3BlbmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgY29tcG9uZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICAgIGhpZGVUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBkZXN0cm95VGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgY3JlYXRlVGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgc2hvd1RpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIGVsZW1lbnRQb3NpdGlvbjogYW55O1xuICAgIGNvbXBvbmVudFN1YnNjcmliZTogYW55O1xuICAgIF9kZWZhdWx0T3B0aW9uczogYW55O1xuXG4gICAgX29wdGlvbnM6IFBvcG1lbnVPcHRpb25zID0ge307XG5cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IFBvcG1lbnVPcHRpb25zKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBkZWZhdWx0T3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGRlc3Ryb3lEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmdldEhpZGVEZWxheSgpKSArIE51bWJlcih0aGlzLm9wdGlvbnNbJ2FuaW1hdGlvbkR1cmF0aW9uJ10pO1xuICAgIH1cblxuICAgIGdldCBpc0Rpc3BsYXlPbkhvdmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5J10gPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5VG91Y2hzY3JlZW4nXSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnNbJ3RyaWdnZXInXSAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzVG9vbHRpcERlc3Ryb3llZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmICYmIHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3LmRlc3Ryb3llZDtcbiAgICB9XG5cbiAgICBnZXQgdG9vbHRpcFBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydwb3NpdGlvbiddKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydwb3NpdGlvbiddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUG9wbWVudU9wdGlvbnNTZXJ2aWNlKSBwcml2YXRlIGluaXRPcHRpb25zOiBQb3BtZW51T3B0aW9ucyxcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge31cblxuICAgIGFwcGVuZENvbXBvbmVudFRvQm9keShjb21wb25lbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmRhdGEgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5wb3BNZW51VmFsdWUsXG4gICAgICAgICAgICBlbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGVsZW1lbnRQb3NpdGlvbjogdGhpcy50b29sdGlwUG9zaXRpb24sXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudEVsZW1lbnQgPSAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFN1YnNjcmliZSA9ICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm1lbnVDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMubWVudU9wZW4gPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbjtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50U3Vic2NyaWJlID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW5lZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVPcGVuKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPcGVuID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIG1lbnVPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgI21lbnVPcGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBtZW51T3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI21lbnVPcGVuO1xuICAgIH1cblxuICAgIHNldCBtZW51T3BlbihtZW51T3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1lbnVPcGVuQ2hhbmdlLmVtaXQobWVudU9wZW4pO1xuICAgICAgICB0aGlzLiNtZW51T3BlbiA9IG1lbnVPcGVuO1xuICAgICAgICBpZiAodGhpcy4jbWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvcG1lbnUtb3BlbicpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1jbG9zZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1vcGVuJyk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwb3BtZW51LWNsb3NlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5tZW51Q2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcGVuKCkge1xuICAgICAgICB0aGlzLm1lbnVPcGVuZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIGFwcGx5T3B0aW9uc0RlZmF1bHQoZGVmYXVsdE9wdGlvbnM6IFBvcG1lbnVPcHRpb25zLCBvcHRpb25zOiBQb3BtZW51T3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgdGhpcy5pbml0T3B0aW9ucyB8fCB7fSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jcmVhdGVUaW1lb3V0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvd1RpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXRJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oaWRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZW91dElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlUG9wTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZENvbXBvbmVudFRvQm9keShQb3BtZW51Q29tcG9uZW50KTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIGdldEhpZGVEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1snaGlkZURlbGF5J107XG4gICAgfVxuXG4gICAgZ2V0UHJvcGVydGllcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGxldCBwcm9wZXJ0aWVzOiBhbnkgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgaWYgKHByb3AgIT09ICdvcHRpb25zJyAmJiBwcm9wICE9PSAndG9vbHRpcFZhbHVlJykge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXNbcHJvcF0gPSBjaGFuZ2VzW3Byb3BdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wID09PSAnb3B0aW9ucycpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgZ2V0U2hvd0RlbGF5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydzaG93RGVsYXknXTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnBvaW50ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5jbG9zZSAmJiBjaGFuZ2VzLmNsb3NlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFuZ2VkT3B0aW9ucyA9IHRoaXMuZ2V0UHJvcGVydGllcyhjaGFuZ2VzKTtcbiAgICAgICAgdGhpcy5hcHBseU9wdGlvbnNEZWZhdWx0KHRoaXMub3B0aW9ucyAmJiBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpLmxlbmd0aCA+IDAgPyB0aGlzLm9wdGlvbnMgOiBkZWZhdWx0T3B0aW9ucywgY2hhbmdlZE9wdGlvbnMpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1lbnVPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmFwUG9wbWVudURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICAgIHRoaXMuY2xvc2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdygpIHtcbiAgICAgICAgdGhpcy5nZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3BNZW51KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNUb29sdGlwRGVzdHJveWVkKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwRWxlbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd1Rvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5kYXRhID0ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMucG9wTWVudVZhbHVlLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBlbGVtZW50UG9zaXRpb246IHRoaXMudG9vbHRpcFBvc2l0aW9uLFxuICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuc2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgaGlkZVRvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmNsb3NlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvcG9wbWVudS9zcmMvcG9wbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILFNBQVMsRUFHVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFFTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sR0FJVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQStCdkQsTUFBTSxPQUFPLGdCQUFnQjtJQThFOEI7SUFDNUM7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQWxGSCxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUMxQixtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDM0IsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNkLFdBQVcsQ0FBcUI7SUFDaEMsYUFBYSxDQUFtQztJQUNoRCxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxHQUFZLElBQUksQ0FBQztJQUM1QixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ25CLFVBQVUsQ0FBcUI7SUFDL0IsTUFBTSxDQUFxQjtJQUMzQixPQUFPLENBQXVEO0lBQzlELFNBQVMsR0FBcUIsUUFBUSxDQUFDO0lBRXZDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDSixZQUFZLENBQW9CO0lBQzNDLFFBQVEsQ0FBNEM7SUFDcEQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2QsVUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQzFELFVB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K0VRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3FMQTdFcEMsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2MsWUFBWTtzQkFBL0IsS0FBSzt1QkFBQyxXQUFXO2dCQUNULFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBa0JNLE9BQU87c0JBQW5CLEtBQUs7Z0JBc0VOLGNBQWM7c0JBRGIsTUFBTTtnQkFLSCxRQUFRO3NCQURYLEtBQUs7Z0JBNEdOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWZhdWx0T3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9ucyB9IGZyb20gJy4vcG9wbWVudS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb3BtZW51T3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuL3BvcG1lbnUtb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IFBvcG1lbnVDb21wb25lbnQgfSBmcm9tICcuL3BvcG1lbnUuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBBZENvbXBvbmVudCB7XG4gICAgZGF0YTogYW55O1xuICAgIHNob3c6IGJvb2xlYW47XG4gICAgY2xvc2U6IGJvb2xlYW47XG4gICAgbWVudUNsb3NlZDogYW55O1xuICAgIG1lbnVPcGVuZWQ6IGFueTtcbiAgICBtZW51T3BlbjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgUG9wbWVudVBsYWNlbWVudCA9XG4gICAgfCAnYm90dG9tJ1xuICAgIHwgJ3RvcCdcbiAgICB8ICdsZWZ0J1xuICAgIHwgJ3JpZ2h0J1xuICAgIHwgJ2JvdHRvbSByaWdodCdcbiAgICB8ICdib3R0b20gbGVmdCdcbiAgICB8ICdyaWdodCBib3R0b20nXG4gICAgfCAnbGVmdCBib3R0b20nXG4gICAgfCAndG9wIHJpZ2h0J1xuICAgIHwgJ3RvcCBsZWZ0J1xuICAgIHwgJ3JpZ2h0IHRvcCdcbiAgICB8ICdsZWZ0IHRvcCc7XG5cbmV4cG9ydCB0eXBlIFBvcG1lbnVBcnJvd1Bvc2l0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwUG9wbWVudV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG1lbnVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYXBQb3BtZW51Qm9yZGVyID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXBQb3BtZW51RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcFBvcG1lbnVCYWNrZ3JvdW5kID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBhcnJvdyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFycm93T2Zmc2V0OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgYXJyb3dQb3NpdGlvbjogUG9wbWVudUFycm93UG9zaXRpb24gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgY2xvc2UgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoYXNCYWNrZHJvcDogYm9vbGVhbiA9IHRydWU7XG4gICAgQElucHV0KCkgYmFja2Ryb3BDbGFzcyA9ICcnO1xuICAgIEBJbnB1dCgpIHBhbmVsQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBvZmZzZXRzOiB7IGRpc3RhbmNlPzogbnVtYmVyOyBza2lkZGluZz86IG51bWJlciB9IHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogUG9wbWVudVBsYWNlbWVudCA9ICdib3R0b20nO1xuXG4gICAgQElucHV0KCkgcG9pbnRlciA9IHRydWU7XG4gICAgQElucHV0KCdhcFBvcG1lbnUnKSBwb3BNZW51VmFsdWUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSByb3VuZGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hhZG93ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIG1lbnVDbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgbWVudU9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY29tcG9uZW50RWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICAgIGhpZGVUaW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBkZXN0cm95VGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgY3JlYXRlVGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgc2hvd1RpbWVvdXRJZDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxhbnk+O1xuICAgIGVsZW1lbnRQb3NpdGlvbjogYW55O1xuICAgIGNvbXBvbmVudFN1YnNjcmliZTogYW55O1xuICAgIF9kZWZhdWx0T3B0aW9uczogYW55O1xuXG4gICAgX29wdGlvbnM6IFBvcG1lbnVPcHRpb25zID0ge307XG5cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IFBvcG1lbnVPcHRpb25zKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiBkZWZhdWx0T3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGRlc3Ryb3lEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmdldEhpZGVEZWxheSgpKSArIE51bWJlcih0aGlzLm9wdGlvbnNbJ2FuaW1hdGlvbkR1cmF0aW9uJ10pO1xuICAgIH1cblxuICAgIGdldCBpc0Rpc3BsYXlPbkhvdmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5J10gPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydkaXNwbGF5VG91Y2hzY3JlZW4nXSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnNbJ3RyaWdnZXInXSAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzVG9vbHRpcERlc3Ryb3llZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmICYmIHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3LmRlc3Ryb3llZDtcbiAgICB9XG5cbiAgICBnZXQgdG9vbHRpcFBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zWydwb3NpdGlvbiddKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydwb3NpdGlvbiddO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFBvc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUG9wbWVudU9wdGlvbnNTZXJ2aWNlKSBwcml2YXRlIGluaXRPcHRpb25zOiBQb3BtZW51T3B0aW9ucyxcbiAgICAgICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge31cblxuICAgIGFwcGVuZENvbXBvbmVudFRvQm9keShjb21wb25lbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmRhdGEgPSB7XG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5wb3BNZW51VmFsdWUsXG4gICAgICAgICAgICBlbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGVsZW1lbnRQb3NpdGlvbjogdGhpcy50b29sdGlwUG9zaXRpb24sXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudEVsZW1lbnQgPSAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbXBvbmVudEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFN1YnNjcmliZSA9ICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm1lbnVDbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMubWVudU9wZW4gPSAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5tZW51T3BlbjtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50U3Vic2NyaWJlID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW5lZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVPcGVuKCk7XG4gICAgICAgICAgICB0aGlzLm1lbnVPcGVuID0gKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkubWVudU9wZW47XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIG1lbnVPcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgI21lbnVPcGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBtZW51T3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI21lbnVPcGVuO1xuICAgIH1cblxuICAgIHNldCBtZW51T3BlbihtZW51T3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1lbnVPcGVuQ2hhbmdlLmVtaXQobWVudU9wZW4pO1xuICAgICAgICB0aGlzLiNtZW51T3BlbiA9IG1lbnVPcGVuO1xuICAgICAgICBpZiAodGhpcy4jbWVudU9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3BvcG1lbnUtb3BlbicpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1jbG9zZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9wbWVudS1vcGVuJyk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwb3BtZW51LWNsb3NlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5tZW51Q2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcGVuKCkge1xuICAgICAgICB0aGlzLm1lbnVPcGVuZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIGFwcGx5T3B0aW9uc0RlZmF1bHQoZGVmYXVsdE9wdGlvbnM6IFBvcG1lbnVPcHRpb25zLCBvcHRpb25zOiBQb3BtZW51T3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0T3B0aW9ucywgdGhpcy5pbml0T3B0aW9ucyB8fCB7fSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3JlYXRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jcmVhdGVUaW1lb3V0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvd1RpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc2hvd1RpbWVvdXRJZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oaWRlVGltZW91dElkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZW91dElkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmRlc3Ryb3lUaW1lb3V0SWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlUG9wTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXRzKCk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcGVuZENvbXBvbmVudFRvQm9keShQb3BtZW51Q29tcG9uZW50KTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfSwgdGhpcy5nZXRTaG93RGVsYXkoKSk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRQb3NpdGlvbiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cblxuICAgIGdldEhpZGVEZWxheSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1snaGlkZURlbGF5J107XG4gICAgfVxuXG4gICAgZ2V0UHJvcGVydGllcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGxldCBwcm9wZXJ0aWVzOiBhbnkgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgaWYgKHByb3AgIT09ICdvcHRpb25zJyAmJiBwcm9wICE9PSAndG9vbHRpcFZhbHVlJykge1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXNbcHJvcF0gPSBjaGFuZ2VzW3Byb3BdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9wID09PSAnb3B0aW9ucycpIHtcbiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzID0gY2hhbmdlc1twcm9wXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gICAgfVxuXG4gICAgZ2V0U2hvd0RlbGF5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zWydzaG93RGVsYXknXTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnBvaW50ZXIpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1cnNvcicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5jbG9zZSAmJiBjaGFuZ2VzLmNsb3NlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcEVsZW0oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGFuZ2VkT3B0aW9ucyA9IHRoaXMuZ2V0UHJvcGVydGllcyhjaGFuZ2VzKTtcbiAgICAgICAgdGhpcy5hcHBseU9wdGlvbnNEZWZhdWx0KHRoaXMub3B0aW9ucyAmJiBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpLmxlbmd0aCA+IDAgPyB0aGlzLm9wdGlvbnMgOiBkZWZhdWx0T3B0aW9ucywgY2hhbmdlZE9wdGlvbnMpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wb2ludGVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3Vyc29yJywgJ3BvaW50ZXInKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1lbnVPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmFwUG9wbWVudURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zaG93KCk7XG4gICAgICAgIHRoaXMuY2xvc2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hvdygpIHtcbiAgICAgICAgdGhpcy5nZXRFbGVtZW50UG9zaXRpb24oKTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZiB8fCB0aGlzLmlzVG9vbHRpcERlc3Ryb3llZCkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVQb3BNZW51KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNUb29sdGlwRGVzdHJveWVkKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwRWxlbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd1Rvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICAoPEFkQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS5kYXRhID0ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMucG9wTWVudVZhbHVlLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICBlbGVtZW50UG9zaXRpb246IHRoaXMudG9vbHRpcFBvc2l0aW9uLFxuICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dHMoKTtcbiAgICAgICAgKDxBZENvbXBvbmVudD50aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSkuc2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgaGlkZVRvb2x0aXBFbGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgICg8QWRDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLmNsb3NlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/select/dropdown-item-multiple-one-line/dropdown-item-multiple-one-line.component.mjs
CHANGED
|
@@ -16,7 +16,7 @@ export class DropdownItemMultipleOneLineComponent {
|
|
|
16
16
|
badgeText;
|
|
17
17
|
dividerEnabled = false;
|
|
18
18
|
onlyEnabled = false;
|
|
19
|
-
onlyText;
|
|
19
|
+
onlyText = 'Only';
|
|
20
20
|
isFeatureLocked = input(false);
|
|
21
21
|
roundedAvatar = input(true);
|
|
22
22
|
selectOnly = new EventEmitter();
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
72
72
|
type: HostListener,
|
|
73
73
|
args: ['click', ['$event']]
|
|
74
74
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS1tdWx0aXBsZS1vbmUtbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc2VsZWN0L3NyYy9kcm9wZG93bi1pdGVtLW11bHRpcGxlLW9uZS1saW5lL2Ryb3Bkb3duLWl0ZW0tbXVsdGlwbGUtb25lLWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NlbGVjdC9zcmMvZHJvcGRvd24taXRlbS1tdWx0aXBsZS1vbmUtbGluZS9kcm9wZG93bi1pdGVtLW11bHRpcGxlLW9uZS1saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUM1QyxLQUFLLEVBQUUsTUFBTSxFQUNiLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDOztBQVd2QixNQUFNLE9BQU8sb0NBQW9DO0lBQ2xCLElBQUksQ0FBVTtJQUNkLFFBQVEsQ0FBVztJQUNuQixNQUFNLENBQVU7SUFDbEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFVO0lBQ2xCLGVBQWUsQ0FBVTtJQUN6QixTQUFTLENBQVU7SUFDbkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDM0IsZUFBZSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUN4QyxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ2hELG9CQUFvQixHQUFHLE1BQU0sRUFBRSxDQUFDO0lBRUYsUUFBUSxDQUFxQjtJQUV4QixPQUFPLENBQUMsTUFBa0I7UUFDekQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO3VHQTlCUSxvQ0FBb0M7MkZBQXBDLG9DQUFvQywyL0RBa0JsQyxpQkFBaUIsZ0RDMUNoQyxtckRBd0RBLGtVRGxDYyxlQUFlLHNIQUFFLGlCQUFpQix3TUFBRSxlQUFlLDZNQUFFLGNBQWMsd0VBQUUsZ0JBQWdCOzsyRkFFdEYsb0NBQW9DO2tCQVRoRCxTQUFTOytCQUNJLG9DQUFvQyxjQUdsQyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDOzhCQUd2RyxJQUFJO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxNQUFNO3NCQUFoQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlJLFVBQVU7c0JBQW5CLE1BQU07Z0JBR3VCLFFBQVE7c0JBQXJDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUVPLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQmFkZ2VDb21wb25lbnQgfSBmcm9tICdAYWdvcmFwdWxzZS91aS1jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy9jaGVja2JveCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQGFnb3JhcHVsc2UvdWktY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IFN5bWJvbENvbXBvbmVudCB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsXG4gICAgaW5wdXQsIE91dHB1dCxcbiAgICBvdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1kcm9wZG93bi1pdGVtLW11bHRpcGxlLW9uZS1saW5lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24taXRlbS1tdWx0aXBsZS1vbmUtbGluZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24taXRlbS1tdWx0aXBsZS1vbmUtbGluZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbU3ltYm9sQ29tcG9uZW50LCBDaGVja2JveENvbXBvbmVudCwgQXZhdGFyQ29tcG9uZW50LCBCYWRnZUNvbXBvbmVudCwgVG9vbHRpcERpcmVjdGl2ZSwgU3ltYm9sQ29tcG9uZW50LCBTeW1ib2xDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkl0ZW1NdWx0aXBsZU9uZUxpbmVDb21wb25lbnQge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHRleHQhOiBzdHJpbmc7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc2VsZWN0ZWQhOiBib29sZWFuO1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGh0bWxJZCE6IHN0cmluZztcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGF2YXRhclVybD86IHN0cmluZztcbiAgICBASW5wdXQoKSBzeW1ib2xJZD86IHN0cmluZztcbiAgICBASW5wdXQoKSBkaXNhYmxlZFRvb2x0aXA/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgYmFkZ2VUZXh0Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRpdmlkZXJFbmFibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgb25seUVuYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBvbmx5VGV4dCA9ICdPbmx5JztcbiAgICBpc0ZlYXR1cmVMb2NrZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gICAgcm91bmRlZEF2YXRhciA9IGlucHV0KHRydWUpO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdE9ubHkgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgbG9ja2VkRmVhdHVyZUNsaWNrZWQgPSBvdXRwdXQoKTtcblxuICAgIEBWaWV3Q2hpbGQoQ2hlY2tib3hDb21wb25lbnQpIGNoZWNrYm94ITogQ2hlY2tib3hDb21wb25lbnQ7XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzRmVhdHVyZUxvY2tlZCgpKSB7XG4gICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmxvY2tlZEZlYXR1cmVDbGlja2VkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0T25seSgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RPbmx5LmVtaXQoKTtcbiAgICAgICAgdGhpcy5jaGVja2JveC5mb2N1cygpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImRpc2FibGVkLW9wYXF1ZVwiXG4gICAgW2FwVG9vbHRpcF09XCJkaXNhYmxlZFRvb2x0aXBcIlxuICAgIFthcFRvb2x0aXBEaXNhYmxlZF09XCIhZGlzYWJsZWRcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJvcHRpb24gbXVsdGlwbGVcIiBbY2xhc3MuZmVhdHVyZS1sb2NrZWQtb3B0aW9uXT1cImlzRmVhdHVyZUxvY2tlZCgpXCI+XG4gICAgPGFwLWNoZWNrYm94XG4gICAgICAgICNjaGVja2JveFxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBpc0ZlYXR1cmVMb2NrZWQoKVwiXG4gICAgICAgIFtuYW1lXT1cIidvcHRpb24tc2VsZWN0aW9uLScgKyBodG1sSWRcIj5cbiAgICAgICAgQGlmIChhdmF0YXJVcmwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgPGFwLWF2YXRhclxuICAgICAgICAgICAgICAgIFtyb3VuZGVkXT1cInJvdW5kZWRBdmF0YXIoKVwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgICAgICAgICAgIFtwcm9maWxlUGljdHVyZV09XCJhdmF0YXJVcmxcIlxuICAgICAgICAgICAgICAgIFt1c2VybmFtZV09XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbc2hvd0luaXRpYWxzXT1cInRydWVcIiAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc3ltYm9sSWQpIHtcbiAgICAgICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCJzeW1ib2xJZFwiIC8+XG4gICAgICAgIH1cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgW2NsYXNzLmZlYXR1cmUtbG9ja2VkLWxhYmVsXT1cImlzRmVhdHVyZUxvY2tlZCgpXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgQGlmIChiYWRnZVRleHQpIHtcbiAgICAgICAgICAgIDxhcC1iYWRnZSBjb2xvcj1cImJsdWVcIj5cbiAgICAgICAgICAgICAgICB7eyBiYWRnZVRleHQgfX1cbiAgICAgICAgICAgIDwvYXAtYmFkZ2U+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKGlzRmVhdHVyZUxvY2tlZCgpKSB7XG4gICAgICAgICAgICA8YXAtc3ltYm9sXG4gICAgICAgICAgICAgICAgc3ltYm9sSWQ9XCJmZWF0dXJlLWxvY2tcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHVycGxlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIi8+XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKG9ubHlFbmFibGVkICYmICFkaXNhYmxlZCAmJiAhaXNGZWF0dXJlTG9ja2VkKCkpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInN0YW5kYWxvbmUtbGlua1wiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IG9uU2VsZWN0T25seSgpXCI+XG4gICAgICAgICAgICAgICAge3sgb25seVRleHQgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICA8L2FwLWNoZWNrYm94PlxuPC9kaXY+XG5AaWYgKGRpdmlkZXJFbmFibGVkKSB7XG4gICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cbn1cbiJdfQ==
|