@sbb-esta/lyne-elements 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-group.js +3 -3
- package/autocomplete/autocomplete-base-element.d.ts +4 -0
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-cell.js +3 -3
- package/autocomplete-grid/autocomplete-grid-row.js +3 -3
- package/autocomplete.js +25 -19
- package/breadcrumb/breadcrumb-group.js +1 -1
- package/button/common.js +15 -15
- package/card/card-badge.js +3 -3
- package/card/card.js +3 -3
- package/chip-label.js +3 -3
- package/clock.js +3 -3
- package/container/container.js +3 -3
- package/core/a11y/focus.d.ts.map +1 -1
- package/core/a11y.js +8 -8
- package/core/base-elements/link-base-element.d.ts +2 -0
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements.js +124 -113
- package/core/controllers.js +2 -2
- package/core/dom/scroll.d.ts +1 -0
- package/core/dom/scroll.d.ts.map +1 -1
- package/core/dom.js +31 -31
- package/core/images.d.ts.map +1 -1
- package/core/styles/core.scss +2 -0
- package/core.css +2 -0
- package/custom-elements.json +465 -4
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +11 -14
- package/datepicker/datepicker.js +4 -4
- package/development/action-group.js +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts +4 -0
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-cell.js +1 -1
- package/development/autocomplete-grid/autocomplete-grid-row.js +1 -1
- package/development/autocomplete.js +14 -1
- package/development/breadcrumb/breadcrumb-group.js +3 -3
- package/development/button/common.js +69 -72
- package/development/card/card-badge.js +1 -1
- package/development/card/card.js +1 -1
- package/development/chip-label.js +1 -1
- package/development/clock.js +1 -1
- package/development/container/container.js +1 -1
- package/development/core/a11y/focus.d.ts.map +1 -1
- package/development/core/a11y.js +3 -3
- package/development/core/base-elements/link-base-element.d.ts +2 -0
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +22 -5
- package/development/core/controllers.js +1 -1
- package/development/core/dom/scroll.d.ts +1 -0
- package/development/core/dom/scroll.d.ts.map +1 -1
- package/development/core/dom.js +5 -2
- package/development/core/images.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +12 -5
- package/development/datepicker/datepicker.js +1 -1
- package/development/dialog/dialog-content.js +1 -1
- package/development/dialog/dialog.js +1 -1
- package/development/expansion-panel/expansion-panel-content.js +1 -1
- package/development/flip-card/flip-card-details.js +1 -1
- package/development/flip-card/flip-card-summary.js +1 -1
- package/development/icon.js +1 -1
- package/development/image.js +2 -2
- package/development/lead-container.js +1 -1
- package/development/link-list/link-list-anchor.js +1 -1
- package/development/link-list/link-list.js +1 -1
- package/development/loading-indicator-circle.js +1 -1
- package/development/loading-indicator.js +1 -1
- package/development/map-container.js +1 -1
- package/development/message.js +1 -1
- package/development/notification.js +1 -1
- package/development/option/optgroup.js +1 -1
- package/development/option/option.js +1 -1
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay.js +2 -2
- package/development/paginator/paginator.js +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +2 -2
- package/development/{sbb-tokens-BdGhUJjM.js → sbb-tokens-CSAKTXUi.js} +15 -15
- package/development/screen-reader-only.js +1 -1
- package/development/signet.js +1 -1
- package/development/stepper/step.js +1 -1
- package/development/tabs/tab.js +1 -1
- package/development/time-input.js +1 -1
- package/development/title/title-base.d.ts.map +1 -1
- package/development/title.js +4 -5
- package/development/toggle/toggle.js +1 -1
- package/development/train/train-blocked-passage.js +1 -1
- package/dialog/dialog-content.js +3 -3
- package/dialog/dialog.js +1 -1
- package/expansion-panel/expansion-panel-content.js +3 -3
- package/flip-card/flip-card-details.js +3 -3
- package/flip-card/flip-card-summary.js +3 -3
- package/icon.js +1 -1
- package/image.js +16 -16
- package/lead-container.js +3 -3
- package/link-list/link-list-anchor.js +3 -3
- package/link-list/link-list.js +3 -3
- package/loading-indicator-circle.js +3 -3
- package/loading-indicator.js +3 -3
- package/map-container.js +3 -3
- package/message.js +3 -3
- package/notification.js +3 -3
- package/option/optgroup.js +3 -3
- package/option/option.js +3 -3
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.js +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +1 -1
- package/{sbb-tokens-Dx20OtVg.js → sbb-tokens-BgDF8jIh.js} +14 -14
- package/screen-reader-only.js +3 -3
- package/signet.js +1 -1
- package/standard-theme.css +2 -0
- package/stepper/step.js +3 -3
- package/tabs/tab.js +3 -3
- package/time-input.js +3 -3
- package/title/title-base.d.ts.map +1 -1
- package/title.js +41 -42
- package/toggle/toggle.js +3 -3
- package/train/train-blocked-passage.js +3 -3
|
@@ -75,16 +75,13 @@ const buttonCommon = css`*,
|
|
|
75
75
|
display: inline-block;
|
|
76
76
|
outline: none !important;
|
|
77
77
|
--sbb-button-icon-size: var(--sbb-size-icon-ui-small);
|
|
78
|
-
--sbb-button-color-disabled-background: var(--sbb-color-milk);
|
|
79
|
-
--sbb-button-color-disabled-border: var(--sbb-color-smoke);
|
|
80
|
-
--sbb-button-color-disabled-text: var(--sbb-color-granite);
|
|
81
78
|
--sbb-button-shadow-1-offset-y: var(--sbb-shadow-elevation-level-3-shadow-1-offset-y);
|
|
82
79
|
--sbb-button-shadow-2-offset-y: var(--sbb-shadow-elevation-level-3-shadow-2-offset-y);
|
|
83
80
|
--sbb-button-shadow-1-blur: var(--sbb-shadow-elevation-level-3-shadow-1-blur);
|
|
84
81
|
--sbb-button-shadow-2-blur: var(--sbb-shadow-elevation-level-3-shadow-2-blur);
|
|
85
|
-
--sbb-button-
|
|
86
|
-
--sbb-button-
|
|
87
|
-
--sbb-button-
|
|
82
|
+
--sbb-button-color-disabled-background: var(--sbb-color-milk);
|
|
83
|
+
--sbb-button-color-disabled-border: var(--sbb-color-smoke);
|
|
84
|
+
--sbb-button-color-disabled-text: var(--sbb-color-granite);
|
|
88
85
|
--sbb-button-border-disabled-style: dashed;
|
|
89
86
|
--sbb-button-border-width: var(--sbb-border-width-2x);
|
|
90
87
|
--sbb-button-border-disabled-width: var(--sbb-border-width-1x);
|
|
@@ -98,14 +95,21 @@ const buttonCommon = css`*,
|
|
|
98
95
|
--sbb-button-padding-block-min: var(--sbb-spacing-fixed-1x);
|
|
99
96
|
--sbb-button-padding-inline: var(--sbb-spacing-fixed-8x);
|
|
100
97
|
--sbb-button-gap: var(--sbb-spacing-fixed-2x);
|
|
101
|
-
--sbb-button-
|
|
102
|
-
--sbb-button-box-shadow: transparent;
|
|
98
|
+
--sbb-button-box-shadow: transparent 0 0;
|
|
103
99
|
--sbb-button-box-shadow-definition: var(--sbb-shadow-elevation-level-3-shadow-2-offset-x)
|
|
104
100
|
var(--sbb-button-shadow-2-offset-y) var(--sbb-button-shadow-2-blur)
|
|
105
101
|
var(--sbb-shadow-elevation-level-3-shadow-2-spread) var(--sbb-button-shadow-2-color),
|
|
106
102
|
var(--sbb-shadow-elevation-level-3-shadow-1-offset-x) var(--sbb-button-shadow-1-offset-y)
|
|
107
103
|
var(--sbb-button-shadow-1-blur) var(--sbb-shadow-elevation-level-3-shadow-1-spread)
|
|
108
104
|
var(--sbb-button-shadow-1-color);
|
|
105
|
+
--_width: unset;
|
|
106
|
+
--_border-color: var(--sbb-button-color-default-border);
|
|
107
|
+
--_background-color: var(--sbb-button-color-default-background);
|
|
108
|
+
--_color: var(--sbb-button-color-default-text);
|
|
109
|
+
--_button-inset: 0;
|
|
110
|
+
--_outline-width: 0;
|
|
111
|
+
--_border: calc(var(--sbb-button-border-width) + var(--sbb-button-border-overlap-fix, 1px)) solid
|
|
112
|
+
var(--_border-color);
|
|
109
113
|
}
|
|
110
114
|
@media (min-width: calc(52.5rem)) {
|
|
111
115
|
:host {
|
|
@@ -124,6 +128,7 @@ const buttonCommon = css`*,
|
|
|
124
128
|
--sbb-button-color-default-text: CanvasText !important;
|
|
125
129
|
--sbb-button-color-hover-text: CanvasText !important;
|
|
126
130
|
--sbb-button-color-active-text: CanvasText !important;
|
|
131
|
+
--sbb-button-border-overlap-fix: 0rem;
|
|
127
132
|
}
|
|
128
133
|
}
|
|
129
134
|
|
|
@@ -171,16 +176,22 @@ const buttonCommon = css`*,
|
|
|
171
176
|
|
|
172
177
|
:host(:where([data-slot-names~=icon], [icon-name]):not([data-slot-names~=unnamed])) {
|
|
173
178
|
--sbb-button-padding-inline: 0;
|
|
179
|
+
--_width: var(--sbb-button-min-height);
|
|
174
180
|
}
|
|
175
181
|
|
|
176
182
|
@media (any-hover: hover) {
|
|
177
183
|
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active]):hover) {
|
|
178
|
-
--sbb-button-translate-y-content-hover:
|
|
184
|
+
--sbb-button-translate-y-content-hover: 0.0625rem;
|
|
179
185
|
--sbb-button-shadow-1-offset-y: calc(
|
|
180
186
|
0.5 * var(--sbb-shadow-elevation-level-3-shadow-1-offset-y)
|
|
181
187
|
);
|
|
182
188
|
--sbb-button-shadow-1-blur: calc(0.5 * var(--sbb-shadow-elevation-level-3-shadow-1-blur));
|
|
183
189
|
--sbb-button-shadow-2-blur: calc(0.5 * var(--sbb-shadow-elevation-level-3-shadow-2-blur));
|
|
190
|
+
--sbb-button-cursor: pointer;
|
|
191
|
+
--_border-color: var(--sbb-button-color-hover-border);
|
|
192
|
+
--_color: var(--sbb-button-color-hover-text);
|
|
193
|
+
--_background-color: var(--sbb-button-color-hover-background);
|
|
194
|
+
--_button-inset: calc(var(--sbb-button-border-width) * -1);
|
|
184
195
|
}
|
|
185
196
|
}
|
|
186
197
|
@media (forced-colors: active) {
|
|
@@ -189,6 +200,27 @@ const buttonCommon = css`*,
|
|
|
189
200
|
}
|
|
190
201
|
}
|
|
191
202
|
|
|
203
|
+
:host(:is([disabled], :disabled, [disabled-interactive])) {
|
|
204
|
+
--sbb-button-cursor: default;
|
|
205
|
+
--_color: var(--sbb-button-color-disabled-text);
|
|
206
|
+
--_background-color: var(--sbb-button-color-disabled-background);
|
|
207
|
+
--_border-color: var(--sbb-button-color-disabled-border);
|
|
208
|
+
--_border: var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style)
|
|
209
|
+
var(--_border-color);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
:host(:not([disabled], :disabled, [disabled-interactive]):is(:active, [data-active])) {
|
|
213
|
+
--_color: var(--sbb-button-color-active-text);
|
|
214
|
+
--_background-color: var(--sbb-button-color-active-background);
|
|
215
|
+
--_border-color: var(--sbb-button-color-active-border);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
:host([data-focus-visible]),
|
|
219
|
+
:host(:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch])),
|
|
220
|
+
:host(:not([data-focus-origin=mouse], [data-focus-origin=touch])) .sbb-action-base:focus-visible {
|
|
221
|
+
--_outline-width: var(--sbb-focus-outline-width);
|
|
222
|
+
}
|
|
223
|
+
|
|
192
224
|
.sbb-action-base {
|
|
193
225
|
--sbb-text-font-size: var(--sbb-font-size-text-xs);
|
|
194
226
|
font-family: var(--sbb-typo-font-family);
|
|
@@ -197,89 +229,51 @@ const buttonCommon = css`*,
|
|
|
197
229
|
letter-spacing: var(--sbb-typo-letter-spacing-body-text);
|
|
198
230
|
font-size: var(--sbb-text-font-size);
|
|
199
231
|
font-weight: bold;
|
|
200
|
-
|
|
201
|
-
width: 100%;
|
|
202
|
-
position: relative;
|
|
203
|
-
display: flex;
|
|
232
|
+
display: inline-flex;
|
|
204
233
|
gap: var(--sbb-button-gap);
|
|
205
234
|
align-items: center;
|
|
206
235
|
justify-content: center;
|
|
207
236
|
text-align: left;
|
|
208
|
-
transition-duration: var(--sbb-button-transition-duration);
|
|
209
|
-
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
210
|
-
transition-property: color;
|
|
211
237
|
min-height: var(--sbb-button-min-height);
|
|
238
|
+
outline: none;
|
|
239
|
+
width: var(--_width);
|
|
212
240
|
border-radius: var(--sbb-button-border-radius);
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
color: var(--sbb-button-color-default-text);
|
|
216
|
-
cursor: pointer;
|
|
241
|
+
color: var(--_color);
|
|
242
|
+
cursor: var(--sbb-button-cursor);
|
|
217
243
|
user-select: none;
|
|
218
|
-
|
|
244
|
+
background-color: var(--_background-color);
|
|
245
|
+
transition-duration: var(--sbb-button-transition-duration);
|
|
246
|
+
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
247
|
+
transition-property: color, padding, background-color;
|
|
248
|
+
padding-block: var(--sbb-button-padding-block-min) calc(var(--sbb-button-padding-block-min) + 2 * var(--sbb-button-translate-y-content-hover, 0rem));
|
|
249
|
+
padding-inline: var(--sbb-button-padding-inline);
|
|
250
|
+
position: relative;
|
|
219
251
|
}
|
|
220
252
|
.sbb-action-base::before {
|
|
221
|
-
position: absolute;
|
|
222
253
|
content: "";
|
|
223
|
-
|
|
224
|
-
|
|
254
|
+
position: absolute;
|
|
255
|
+
inset: var(--_button-inset);
|
|
256
|
+
border: var(--_border);
|
|
225
257
|
border-radius: var(--sbb-button-border-radius);
|
|
226
|
-
background-color: var(--sbb-button-color-default-background);
|
|
227
|
-
transition-duration: var(--sbb-button-transition-duration);
|
|
228
|
-
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
229
|
-
transition-property: inset, background-color, border-color, box-shadow;
|
|
230
|
-
box-shadow: var(--sbb-button-box-shadow);
|
|
231
|
-
}
|
|
232
|
-
:host(:is([disabled], :disabled, [disabled-interactive])) .sbb-action-base::before {
|
|
233
|
-
background-color: var(--sbb-button-color-disabled-background);
|
|
234
|
-
border-width: var(--sbb-button-border-disabled-width);
|
|
235
|
-
border-color: var(--sbb-button-color-disabled-border);
|
|
236
|
-
border-style: var(--sbb-button-border-disabled-style);
|
|
237
|
-
}
|
|
238
|
-
@media (any-hover: hover) {
|
|
239
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active]):hover) .sbb-action-base::before {
|
|
240
|
-
inset: calc(var(--sbb-button-border-width) * -1);
|
|
241
|
-
background-color: var(--sbb-button-color-hover-background);
|
|
242
|
-
border-color: var(--sbb-button-color-hover-border);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
:host(:not([disabled], :disabled, [disabled-interactive]):is(:active, [data-active])) .sbb-action-base::before {
|
|
246
|
-
background-color: var(--sbb-button-color-active-background);
|
|
247
|
-
border-color: var(--sbb-button-color-active-border);
|
|
248
|
-
}
|
|
249
|
-
:host(:where([data-slot-names~=icon], [icon-name]):not([data-slot-names~=unnamed])) .sbb-action-base {
|
|
250
|
-
width: var(--sbb-button-min-height);
|
|
251
|
-
justify-content: center;
|
|
252
|
-
}
|
|
253
|
-
:host(:is([disabled], :disabled, [disabled-interactive])) .sbb-action-base {
|
|
254
|
-
color: var(--sbb-button-color-disabled-text);
|
|
255
|
-
cursor: default;
|
|
256
258
|
pointer-events: none;
|
|
257
|
-
|
|
258
|
-
:
|
|
259
|
-
color: var(--sbb-button-color-active-text);
|
|
260
|
-
}
|
|
261
|
-
@media (any-hover: hover) {
|
|
262
|
-
:host(:not([disabled], :disabled, [disabled-interactive], :active, [data-active]):hover) .sbb-action-base {
|
|
263
|
-
color: var(--sbb-button-color-hover-text);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
:host([data-focus-visible]) .sbb-action-base::before, :host(:focus-visible:not([data-focus-origin=mouse], [data-focus-origin=touch])) .sbb-action-base::before, :host(:not([data-focus-origin=mouse], [data-focus-origin=touch])) .sbb-action-base:focus-visible::before {
|
|
259
|
+
box-shadow: var(--sbb-button-box-shadow);
|
|
260
|
+
outline: var(--sbb-focus-outline-color) solid var(--_outline-width);
|
|
267
261
|
outline-offset: var(--sbb-focus-outline-offset);
|
|
268
|
-
|
|
262
|
+
transition-duration: var(--sbb-button-transition-duration);
|
|
263
|
+
transition-timing-function: var(--sbb-button-transition-easing-function);
|
|
264
|
+
transition-property: inset, border, box-shadow;
|
|
269
265
|
}
|
|
270
266
|
|
|
271
|
-
.sbb-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
transform: translateY(var(--sbb-button-translate-y-content-hover, 0rem));
|
|
267
|
+
.sbb-action-base {
|
|
268
|
+
text-decoration: none;
|
|
269
|
+
display: flex;
|
|
270
|
+
white-space: nowrap;
|
|
276
271
|
}
|
|
277
272
|
|
|
278
273
|
.sbb-button__label {
|
|
279
274
|
overflow: hidden;
|
|
280
275
|
white-space: nowrap;
|
|
281
276
|
text-overflow: ellipsis;
|
|
282
|
-
display: block;
|
|
283
277
|
}
|
|
284
278
|
:host(:where([data-slot-names~=icon], [icon-name]):not([data-slot-names~=unnamed])) .sbb-button__label {
|
|
285
279
|
display: none;
|
|
@@ -294,6 +288,8 @@ const primaryButton = css`:host {
|
|
|
294
288
|
--sbb-button-color-hover-background: var(--sbb-color-red125);
|
|
295
289
|
--sbb-button-color-hover-border: var(--sbb-color-red125);
|
|
296
290
|
--sbb-button-color-hover-text: var(--sbb-color-milk);
|
|
291
|
+
--sbb-button-shadow-1-color: var(--sbb-color-red-alpha-20);
|
|
292
|
+
--sbb-button-shadow-2-color: var(--sbb-color-red125-alpha-20);
|
|
297
293
|
}
|
|
298
294
|
|
|
299
295
|
:host([negative]) {
|
|
@@ -325,6 +321,7 @@ const secondaryButton = css`:host {
|
|
|
325
321
|
--sbb-button-color-hover-text: var(--sbb-color-iron);
|
|
326
322
|
--sbb-button-shadow-1-color: var(--sbb-color-platinum-alpha-20);
|
|
327
323
|
--sbb-button-shadow-2-color: var(--sbb-color-cement-alpha-20);
|
|
324
|
+
--sbb-button-border-overlap-fix: 0rem;
|
|
328
325
|
}
|
|
329
326
|
|
|
330
327
|
:host([negative]) {
|
|
@@ -404,4 +401,4 @@ export {
|
|
|
404
401
|
secondaryButton as buttonSecondaryStyle,
|
|
405
402
|
transparentButton as buttonTransparentStyle
|
|
406
403
|
};
|
|
407
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL2NvbW1vbi9idXR0b24tY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBY3Rpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcywgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgQWJzdHJhY3RDb25zdHJ1Y3RvcixcbiAgU2JiRGlzYWJsZWRNaXhpblR5cGUsXG4gIFNiYk5lZ2F0aXZlTWl4aW5UeXBlLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiwgdHlwZSBTYmJJY29uTmFtZU1peGluVHlwZSB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuXG5leHBvcnQgdHlwZSBTYmJCdXR0b25Db21tb25FbGVtZW50ID0gU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluVHlwZSAmIFNiYkFjdGlvbkJhc2VFbGVtZW50O1xuXG5leHBvcnQgdHlwZSBTYmJCdXR0b25TaXplID0gJ2wnIHwgJ20nIHwgJ3MnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW5UeXBlXG4gIGltcGxlbWVudHMgU2JiTmVnYXRpdmVNaXhpblR5cGUsIFBhcnRpYWw8U2JiRGlzYWJsZWRNaXhpblR5cGU+LCBQYXJ0aWFsPFNiYkljb25OYW1lTWl4aW5UeXBlPlxue1xuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiQnV0dG9uU2l6ZTtcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuO1xuICBwdWJsaWMgYWNjZXNzb3IgaWNvbk5hbWU6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIG5lZ2F0aXZlOiBib29sZWFuO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkFjdGlvbkJhc2VFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIEBob3N0QXR0cmlidXRlcyh7XG4gICAgJ2RhdGEtc2JiLWJ1dHRvbic6ICcnLFxuICB9KVxuICBAc2xvdFN0YXRlKClcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQnV0dG9uQ29tbW9uRWxlbWVudENsYXNzXG4gICAgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFNiYkljb25OYW1lTWl4aW4oc3VwZXJDbGFzcykpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICAvKipcbiAgICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsLCBtIG9yIHMuXG4gICAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYkJ1dHRvblNpemUgPSBpc0xlYW4oKSA/ICdzJyA6ICdsJztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgJHtzdXBlci5yZW5kZXJJY29uU2xvdCgpfVxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1idXR0b25fX2xhYmVsXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+
|
|
404
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL2NvbW1vbi9idXR0b24tY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBodG1sIH0gZnJvbSAnbGl0L3N0YXRpYy1odG1sLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBY3Rpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcywgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgQWJzdHJhY3RDb25zdHJ1Y3RvcixcbiAgU2JiRGlzYWJsZWRNaXhpblR5cGUsXG4gIFNiYk5lZ2F0aXZlTWl4aW5UeXBlLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiwgdHlwZSBTYmJJY29uTmFtZU1peGluVHlwZSB9IGZyb20gJy4uLy4uL2ljb24uanMnO1xuXG5leHBvcnQgdHlwZSBTYmJCdXR0b25Db21tb25FbGVtZW50ID0gU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluVHlwZSAmIFNiYkFjdGlvbkJhc2VFbGVtZW50O1xuXG5leHBvcnQgdHlwZSBTYmJCdXR0b25TaXplID0gJ2wnIHwgJ20nIHwgJ3MnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW5UeXBlXG4gIGltcGxlbWVudHMgU2JiTmVnYXRpdmVNaXhpblR5cGUsIFBhcnRpYWw8U2JiRGlzYWJsZWRNaXhpblR5cGU+LCBQYXJ0aWFsPFNiYkljb25OYW1lTWl4aW5UeXBlPlxue1xuICBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiQnV0dG9uU2l6ZTtcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuO1xuICBwdWJsaWMgYWNjZXNzb3IgaWNvbk5hbWU6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIG5lZ2F0aXZlOiBib29sZWFuO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkFjdGlvbkJhc2VFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIEBob3N0QXR0cmlidXRlcyh7XG4gICAgJ2RhdGEtc2JiLWJ1dHRvbic6ICcnLFxuICB9KVxuICBAc2xvdFN0YXRlKClcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQnV0dG9uQ29tbW9uRWxlbWVudENsYXNzXG4gICAgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFNiYkljb25OYW1lTWl4aW4oc3VwZXJDbGFzcykpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICAvKipcbiAgICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBsLCBtIG9yIHMuXG4gICAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYkJ1dHRvblNpemUgPSBpc0xlYW4oKSA/ICdzJyA6ICdsJztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgJHtzdXBlci5yZW5kZXJJY29uU2xvdCgpfVxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1idXR0b25fX2xhYmVsXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICBgO1xuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiQnV0dG9uQ29tbW9uRWxlbWVudENsYXNzIGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBNkJhLE1BQUEsOEJBQThCLENBQ3pDLGVBQzREO01BSzdDLCtCQUEyQixNQUFBOztBQUp6QyxRQUFBLG1CQUFBLENBQUEsZUFBZTtBQUFBLE1BQ2QsbUJBQW1CO0FBQUEsSUFBQSxDQUNwQixHQUNBLFVBQUEsQ0FBVzs7OztBQUVGLFFBQUEsY0FBQSxpQkFBaUIsaUJBQWlCLFVBQVUsQ0FBQzs7OztBQUFyRCxJQUFBLG1CQUFRLFlBQThDO0FBQUE7O0FBT3pCLG1EQUFzQyxrQkFBQSxNQUFBLG9CQUFBLE9BQVEsSUFBRyxNQUFNLEdBQUc7Ozs7Ozs7TUFBMUQsSUFBZ0IsT0FBMkM7QUFBQSxlQUFBLG1CQUFBO0FBQUEsTUFBQTtBQUFBLE1BQTNELElBQWdCLEtBQTJDLE9BQUE7QUFBQSwyQkFBQSx3QkFBQTtBQUFBLE1BQUE7QUFBQSxNQUVyRSxpQkFBYztBQUN4QixlQUFBO0FBQUEsVUFDSCxNQUFNLGVBQWdCLENBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BQUE7QUFBQSxPQUpDOztBQUE1Qix5QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQU0sQ0FBQSxDQUFDO0FBQWlCLG1CQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEsTUFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsWUFBQSxPQUEyQztBQUFBLFdBQUEsVUFBQSxhQUFBLG9CQUFBLHVCQUFBO0FBUjFGLG1CQWtCQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O0FBbEJjLHdCQUEyQixZQUFBLHVCQUFBO0FBQUEsSUFBQSxNQUN4Qzs7O0FBa0JLLFNBQUE7QUFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
|
|
@@ -6,7 +6,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
|
-
import { css,
|
|
9
|
+
import { css, LitElement, html } from "lit";
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
import { hostAttributes } from "../core/decorators.js";
|
|
12
12
|
const style = css`*,
|
package/development/card/card.js
CHANGED
|
@@ -6,7 +6,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
-
import { css, html, nothing
|
|
9
|
+
import { css, LitElement, html, nothing } from "lit";
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
import { isLean } from "../core/dom.js";
|
|
12
12
|
const style = css`*,
|
|
@@ -6,7 +6,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
-
import { css,
|
|
9
|
+
import { css, LitElement, html } from "lit";
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
const style = css`*,
|
|
12
12
|
::before,
|
package/development/clock.js
CHANGED
|
@@ -6,7 +6,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
import { __runInitializers, __esDecorate } from "tslib";
|
|
9
|
-
import { css, isServer, html
|
|
9
|
+
import { css, LitElement, isServer, html } from "lit";
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
import { ref } from "lit/directives/ref.js";
|
|
12
12
|
const clockFaceSVG = '<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 105 105"><g class="face"><circle fill="#FFF" cx="52.5" cy="52.5" r="52.5"/><path d="M50.75 4h3.5v12h-3.5zM50.75 89h3.5v12h-3.5zM75.233 9.623l3.03 1.75-6 10.392-3.03-1.75zM32.734 83.233l3.03 1.75-6 10.392-3.03-1.75zM93.628 26.732l1.75 3.031-10.392 6-1.75-3.03zM20.017 69.234l1.75 3.031-10.392 6-1.75-3.03zM101 50.75v3.5H89v-3.5zM16 50.75v3.5H4v-3.5zM95.379 75.232l-1.75 3.031-10.392-6 1.75-3.03zM21.766 32.734l-1.75 3.031-10.392-6 1.75-3.03zM78.267 93.63l-3.03 1.75-6-10.393 3.03-1.75zM35.766 20.015l-3.03 1.75-6-10.392 3.03-1.75z"/><g><path d="M56.873 4.19l1.392.147-.366 3.48-1.392-.145zM47.101 97.177l1.393.146-.366 3.481-1.392-.146zM61.896 4.914l1.37.29-.728 3.424-1.37-.29zM42.458 96.366l1.37.29-.728 3.424-1.37-.291zM66.825 6.157l1.332.432-1.082 3.33-1.331-.434zM37.931 95.085l1.332.432-1.082 3.33-1.331-.433zM71.584 7.906l1.28.569-1.424 3.197-1.28-.57zM33.56 93.32l1.278.569-1.423 3.197-1.28-.57zM80.44 12.852l1.133.823-2.058 2.831-1.132-.823zM25.481 88.494l1.133.822-2.057 2.832-1.133-.823zM84.43 15.986l1.04.937-2.342 2.6-1.04-.936zM21.87 85.469l1.04.936-2.341 2.601-1.04-.937zM88.072 19.522l.937 1.04-2.6 2.343-.937-1.04zM18.593 82.088l.937 1.04-2.601 2.342-.937-1.04zM91.328 23.425l.823 1.133-2.832 2.057-.823-1.132zM15.684 78.385l.823 1.132-2.832 2.058-.822-1.133zM96.52 32.128l.57 1.279-3.198 1.423-.57-1.278zM11.109 70.161l.569 1.279-3.197 1.423-.57-1.279zM98.407 36.85l.433 1.332-3.33 1.081-.432-1.331zM9.483 65.74l.432 1.33-3.329 1.082-.432-1.331zM99.795 41.726l.291 1.37-3.423.727-.29-1.37zM8.34 61.17l.292 1.37-3.424.728-.29-1.37zM100.66 46.73l.146 1.393-3.48.366-.147-1.392zM7.674 56.506l.146 1.392-3.48.366-.147-1.392zM100.811 56.873l-.146 1.392-3.48-.365.145-1.393zM7.821 47.101l-.146 1.392-3.48-.365.145-1.393zM100.09 61.895l-.291 1.369-3.424-.728.291-1.369zM8.631 42.46l-.291 1.37-3.423-.728.29-1.37zM98.84 66.827l-.432 1.331-3.329-1.081.433-1.332zM9.918 37.93l-.433 1.331-3.329-1.082.433-1.331zM97.098 71.585l-.569 1.28-3.197-1.424.57-1.28zM11.677 33.558l-.57 1.28-3.197-1.424.57-1.279zM92.149 80.439l-.823 1.133-2.832-2.058.823-1.132zM16.506 25.482l-.823 1.133-2.831-2.057.823-1.133zM89.017 84.431l-.937 1.04-2.6-2.341.936-1.04zM19.528 21.869l-.936 1.04-2.601-2.342.936-1.04zM85.48 88.076l-1.041.936-2.342-2.6 1.04-.937zM22.91 18.59l-1.04.937-2.341-2.601 1.04-.937zM81.574 91.328l-1.133.823-2.057-2.831 1.132-.823zM26.617 15.684l-1.133.823-2.057-2.832 1.132-.823zM72.873 96.524l-1.279.57-1.423-3.198 1.278-.57zM34.838 11.105l-1.279.57-1.423-3.198 1.279-.57zM68.151 98.405l-1.331.432-1.082-3.329 1.332-.432zM39.259 9.485l-1.332.433-1.081-3.33 1.331-.432zM63.272 99.799l-1.369.29-.728-3.422 1.37-.291zM43.83 8.337l-1.369.291-.727-3.423 1.37-.291zM58.27 100.662l-1.393.146-.366-3.48 1.393-.147zM48.494 7.672l-1.392.147-.366-3.481 1.392-.147z"/></g></g></svg>\n';
|
|
@@ -6,7 +6,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
6
6
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
8
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
9
|
-
import { css,
|
|
9
|
+
import { css, LitElement, html } from "lit";
|
|
10
10
|
import { customElement, property } from "lit/decorators.js";
|
|
11
11
|
import { slotState, forceType } from "../core/decorators.js";
|
|
12
12
|
const style = css`@charset "UTF-8";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/a11y/focus.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/a11y/focus.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,QAWnB,CAAC;AAGb,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,CAAC,EAAE;IACX,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;IACtC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GACA,WAAW,EAAE,CAuCf;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,WAAW,EAAE,EACvB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,GACpC,WAAW,GAAG,IAAI,CAMpB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAyB;IAE5C;;;;;OAKG;IACI,IAAI,CACT,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;QACtC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;KAC3C,GACA,IAAI;IA4CA,UAAU,IAAI,IAAI;CAI1B"}
|
package/development/core/a11y.js
CHANGED
|
@@ -176,9 +176,9 @@ const IS_FOCUSABLE_QUERY = [
|
|
|
176
176
|
"select",
|
|
177
177
|
"textarea",
|
|
178
178
|
"details",
|
|
179
|
-
"summary
|
|
179
|
+
"summary",
|
|
180
180
|
"[tabindex]"
|
|
181
|
-
].map((selector) => `${selector}:not([disabled],[tabindex="-1"],[inert])`).
|
|
181
|
+
].map((selector) => `${selector}:not([disabled],:disabled,[tabindex="-1"],[inert])`).join(",");
|
|
182
182
|
function getFocusableElements(elements, properties) {
|
|
183
183
|
const focusableEls = /* @__PURE__ */ new Set();
|
|
184
184
|
function getFocusables(elements2, filter) {
|
|
@@ -269,4 +269,4 @@ export {
|
|
|
269
269
|
sbbInputModalityDetector,
|
|
270
270
|
setModalityOnNextFocus
|
|
271
271
|
};
|
|
272
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYTExeS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9hcnJvdy1uYXZpZ2F0aW9uLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9mYWtlLWV2ZW50LWRldGVjdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ZvY3VzLXZpc2libGUtd2l0aGluLWNvbnRyb2xsZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ludGVyYWN0aXZpdHktY2hlY2tlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvZm9jdXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIFByZXZBbmROZXh0S2V5cyB7XG4gIHByZXZLZXk6IHN0cmluZztcbiAgbmV4dEtleTogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRQcmV2QW5kTmV4dEtleXMoKTogUHJldkFuZE5leHRLZXlzIHtcbiAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5tYXRjaGVzKCc6ZGlyKHJ0bCknKSkge1xuICAgIHJldHVybiB7IHByZXZLZXk6ICdBcnJvd1JpZ2h0JywgbmV4dEtleTogJ0Fycm93TGVmdCcgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyBwcmV2S2V5OiAnQXJyb3dMZWZ0JywgbmV4dEtleTogJ0Fycm93UmlnaHQnIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUga2V5IHByZXNzZWQgaXMgYW1vbmcgdGhvc2UgYWxsb3dlZCBmb3IgbmF2aWdhdGlvbi5cbiAqIEBwYXJhbSBldmVudCBUaGUga2V5Ym9hcmQgZXZlbnQgdG8gY2hlY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Fycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gWydBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdBcnJvd1VwJywgJ0Fycm93RG93biddLmluY2x1ZGVzKGV2ZW50LmtleSk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIHNob3VsZCBtb3ZlIHRoZSBuYXZpZ2F0aW9uIHRvIHRoZSBuZXh0IGVsZW1lbnQuXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQcmV2aW91c0Fycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSBnZXRQcmV2QW5kTmV4dEtleXMoKS5wcmV2S2V5O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBrZXkgcHJlc3NlZCBzaG91bGQgbW92ZSB0aGUgbmF2aWdhdGlvbiB0byB0aGUgbmV4dCBlbGVtZW50LlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmV4dEFycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyB8fCBldmVudC5rZXkgPT09IGdldFByZXZBbmROZXh0S2V5cygpLm5leHRLZXk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIGlzIGFtb25nIHRob3NlIGFsbG93ZWQgZm9yIG5hdmlnYXRpb24uXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJvd0tleU9yUGFnZUtleXNQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0Fycm93S2V5UHJlc3NlZChldmVudCkgfHwgWydQYWdlVXAnLCAnUGFnZURvd24nLCAnSG9tZScsICdFbmQnXS5pbmNsdWRlcyhldmVudC5rZXkpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgaW5kZXggb2YgdGhlIG5leHQgZWxlbWVudCBiYXNlZCBvbiB0aGUgZ2l2ZW4gb2Zmc2V0LlxuICogQHBhcmFtIGN1cnJlbnRJbmRleCBUaGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgZWxlbWVudC5cbiAqIEBwYXJhbSBtYXhJbmRleCBUaGUgbWF4aW11bSBwZXJtaXR0ZWQgdmFsdWUgKGUuZy4gYXJyYXkgc2l6ZSkuXG4gKiBAcGFyYW0gb2Zmc2V0IFRoZSBhbW91bnQgdG8gbW92ZSBieS5cbiAqL1xuZnVuY3Rpb24gY2FsY05leHRJbmRleEluUmFuZ2UoY3VycmVudEluZGV4OiBudW1iZXIsIG1heEluZGV4OiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIChjdXJyZW50SW5kZXggKyBvZmZzZXQgKyBtYXhJbmRleCkgJSBtYXhJbmRleDtcbn1cblxuZnVuY3Rpb24gZ2V0TGFzdEluZGV4KHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBzaXplIC0gMTtcbn1cblxuY29uc3QgZmlyc3RJbmRleCA9IDA7XG5cbi8qKlxuICogR2V0cyB0aGUgaW5kZXggb2YgdGhlIGVsZW1lbnQgdG8gbW92ZSB0bywgYmFzZWQgb24gdGhlIGtleWJvYXJkIGlucHV0LCB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0IGFuZCB0aGUgbGlzdCBzaXplLlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqIEBwYXJhbSBjdXJyZW50IFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0LlxuICogQHBhcmFtIHNpemUgVGhlIHNpemUgb2YgdGhlIGxpc3QuXG4gKiBAcmV0dXJucyBpZiBpdCBpcyBhICdwcmV2aW91cycgZXZlbnQsIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBwcmV2aW91cyBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBsYXN0IG9uZSBpZiB0aGUgY3VycmVudCBlbGVtZW50IGlzIHRoZSBmaXJzdCBpbiB0aGUgbGlzdDtcbiAqIGlmIGl0IGlzIGEgJ25leHQnIGV2ZW50LCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvbmUsIGlmIHRoZSBjdXJyZW50IGlzIHRoZSBsYXN0IGluIHRoZSBsaXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudDogS2V5Ym9hcmRFdmVudCwgY3VycmVudDogbnVtYmVyLCBzaXplOiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCB7IHByZXZLZXksIG5leHRLZXkgfSA9IGdldFByZXZBbmROZXh0S2V5cygpO1xuXG4gIGlmIChldmVudC5rZXkgPT09IHByZXZLZXkgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICByZXR1cm4gY3VycmVudCA8IGZpcnN0SW5kZXggPyBnZXRMYXN0SW5kZXgoc2l6ZSkgOiBjYWxjTmV4dEluZGV4SW5SYW5nZShjdXJyZW50LCBzaXplLCAtMSk7XG4gIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSBuZXh0S2V5IHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICByZXR1cm4gY3VycmVudCA+PSBzaXplID8gZmlyc3RJbmRleCA6IGNhbGNOZXh0SW5kZXhJblJhbmdlKGN1cnJlbnQsIHNpemUsIDEpO1xuICB9XG4gIHJldHVybiBjdXJyZW50O1xufVxuIiwiLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvYTExeS9mYWtlLWV2ZW50LWRldGVjdGlvbi50c1xuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGV2ZW50IGNvdWxkIGJlIGEgZmFrZWQgYG1vdXNlZG93bmAgZXZlbnQgZGlzcGF0Y2hlZCBieSBhIHNjcmVlbiByZWFkZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAvLyBTb21lIHNjcmVlbiByZWFkZXJzIHdpbGwgZGlzcGF0Y2ggYSBmYWtlIGBtb3VzZWRvd25gIGV2ZW50IHdoZW4gcHJlc3NpbmcgZW50ZXIgb3Igc3BhY2Ugb25cbiAgLy8gYSBjbGlja2FibGUgZWxlbWVudC4gV2UgY2FuIGRpc3Rpbmd1aXNoIHRoZXNlIGV2ZW50cyB3aGVuIGBldmVudC5idXR0b25zYCBpcyB6ZXJvLCBvclxuICAvLyBgZXZlbnQuZGV0YWlsYCBpcyB6ZXJvIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcjpcbiAgLy8gLSBgZXZlbnQuYnV0dG9uc2Agd29ya3Mgb24gRmlyZWZveCwgYnV0IGZhaWxzIG9uIENocm9tZS5cbiAgLy8gLSBgZGV0YWlsYCB3b3JrcyBvbiBDaHJvbWUsIGJ1dCBmYWlscyBvbiBGaXJlZm94LlxuICByZXR1cm4gZXZlbnQuYnV0dG9ucyA9PT0gMCB8fCBldmVudC5kZXRhaWwgPT09IDA7XG59XG5cbi8qKiBHZXRzIHdoZXRoZXIgYW4gZXZlbnQgY291bGQgYmUgYSBmYWtlZCBgdG91Y2hzdGFydGAgZXZlbnQgZGlzcGF0Y2hlZCBieSBhIHNjcmVlbiByZWFkZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIoZXZlbnQ6IFRvdWNoRXZlbnQpOiBib29sZWFuIHtcbiAgY29uc3QgdG91Y2g6IFRvdWNoIHwgdW5kZWZpbmVkID1cbiAgICAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzWzBdKSB8fCAoZXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0pO1xuXG4gIC8vIEEgZmFrZSBgdG91Y2hzdGFydGAgY2FuIGJlIGRpc3Rpbmd1aXNoZWQgZnJvbSBhIHJlYWwgb25lIGJ5IGxvb2tpbmcgYXQgdGhlIGBpZGVudGlmaWVyYFxuICAvLyB3aGljaCBpcyB0eXBpY2FsbHkgPj0gMCBvbiBhIHJlYWwgZGV2aWNlIHZlcnN1cyAtMSBmcm9tIGEgc2NyZWVuIHJlYWRlci4gSnVzdCB0byBiZSBzYWZlLFxuICAvLyB3ZSBjYW4gYWxzbyBsb29rIGF0IGByYWRpdXNYYCBhbmQgYHJhZGl1c1lgLiBUaGlzIGJlaGF2aW9yIHdhcyBvYnNlcnZlZCBhZ2FpbnN0IGEgV2luZG93cyAxMFxuICAvLyBkZXZpY2Ugd2l0aCBhIHRvdWNoIHNjcmVlbiBydW5uaW5nIE5WREEgdjIwMjAuNCBhbmQgRmlyZWZveCA4NSBvciBDaHJvbWUgODguXG4gIHJldHVybiAoXG4gICAgISF0b3VjaCAmJlxuICAgIHRvdWNoLmlkZW50aWZpZXIgPT09IC0xICYmXG4gICAgKHRvdWNoLnJhZGl1c1ggPT0gbnVsbCB8fCB0b3VjaC5yYWRpdXNYID09PSAxKSAmJlxuICAgICh0b3VjaC5yYWRpdXNZID09IG51bGwgfHwgdG91Y2gucmFkaXVzWSA9PT0gMSlcbiAgKTtcbn1cbiIsIi8vIFRoaXMgaW1wbGVtZW50YXRpb24gaXMgaW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21haW4vc3JjL2Nkay9hMTF5L2lucHV0LW1vZGFsaXR5L2lucHV0LW1vZGFsaXR5LWRldGVjdG9yLnRzXG5cbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgZ2V0RXZlbnRUYXJnZXQgfSBmcm9tICcuLi9ldmVudGluZy5qcyc7XG5cbmltcG9ydCB7XG4gIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIsXG4gIGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyLFxufSBmcm9tICcuL2Zha2UtZXZlbnQtZGV0ZWN0aW9uLmpzJztcblxuZXhwb3J0IHR5cGUgU2JiSW5wdXRNb2RhbGl0eSA9ICd0b3VjaCcgfCAnbW91c2UnIHwgJ2tleWJvYXJkJyB8ICdwcm9ncmFtJyB8IG51bGw7XG5cbi8qKiBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgYmVoYXZpb3Igb2YgdGhlIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci4gKi9cbmludGVyZmFjZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zIHtcbiAgLyoqIEtleXMgdG8gaWdub3JlIHdoZW4gZGV0ZWN0aW5nIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LiAqL1xuICBpZ25vcmVLZXlzPzogbnVtYmVyW107XG59XG5cbmNvbnN0IFNISUZUID0gMTY7XG5jb25zdCBDT05UUk9MID0gMTc7XG5jb25zdCBBTFQgPSAxODtcbmNvbnN0IE1FVEEgPSA5MTsgLy8gV0lOX0tFWV9MRUZUXG5jb25zdCBNQUNfTUVUQSA9IDIyNDtcblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IuXG4gKlxuICogTW9kaWZpZXIga2V5cyBhcmUgaWdub3JlZCBieSBkZWZhdWx0IChpLmUuIHdoZW4gcHJlc3NlZCB3b24ndCBjYXVzZSB0aGUgc2VydmljZSB0byBkZXRlY3RcbiAqIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5KSBmb3IgdHdvIHJlYXNvbnM6XG4gKlxuICogMS4gTW9kaWZpZXIga2V5cyBhcmUgY29tbW9ubHkgdXNlZCB3aXRoIG1vdXNlIHRvIHBlcmZvcm0gYWN0aW9ucyBzdWNoIGFzICdyaWdodCBjbGljaycgb3IgJ29wZW5cbiAqICAgIGluIG5ldyB0YWInLCBhbmQgYXJlIHRodXMgbGVzcyByZXByZXNlbnRhdGl2ZSBvZiBhY3R1YWwga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gKiAyLiBWb2ljZU92ZXIgdHJpZ2dlcnMgc29tZSBrZXlib2FyZCBldmVudHMgd2hlbiBsaW5lYXJseSBuYXZpZ2F0aW5nIHdpdGggQ29udHJvbCArIE9wdGlvbiAoYnV0XG4gKiAgICBjb25mdXNpbmdseSBub3Qgd2l0aCBDYXBzIExvY2spLiBUaHVzLCB0byBoYXZlIHBhcml0eSB3aXRoIG90aGVyIHNjcmVlbiByZWFkZXJzLCB3ZSBpZ25vcmVcbiAqICAgIHRoZXNlIGtleXMgc28sIGFzIHRvIG5vdCB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5LlxuICpcbiAqIE5vdGUgdGhhdCB3ZSBkbyBub3QgYnkgZGVmYXVsdCBpZ25vcmUgdGhlIHJpZ2h0IE1ldGEga2V5IG9uIFNhZmFyaSBiZWNhdXNlIGl0IGhhcyB0aGUgc2FtZSBrZXlcbiAqIGNvZGUgYXMgdGhlIENvbnRleHRNZW51IGtleSBvbiBvdGhlciBicm93c2Vycy4gV2hlbiB3ZSBzd2l0Y2ggdG8gdXNpbmcgZXZlbnQua2V5LCB3ZSBjYW5cbiAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3by5cbiAqL1xuY29uc3QgaW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9uczogU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyA9IHtcbiAgaWdub3JlS2V5czogW0FMVCwgQ09OVFJPTCwgTUFDX01FVEEsIE1FVEEsIFNISUZUXSxcbn07XG5cbi8qKlxuICogVGhlIGFtb3VudCBvZiB0aW1lIG5lZWRlZCB0byBwYXNzIGFmdGVyIGEgdG91Y2hzdGFydCBldmVudCBpbiBvcmRlciBmb3IgYSBzdWJzZXF1ZW50IG1vdXNlZG93blxuICogZXZlbnQgdG8gYmUgYXR0cmlidXRlZCBhcyBtb3VzZSBhbmQgbm90IHRvdWNoLlxuICpcbiAqIFRocm91Z2ggdHJpYWwgYW5kIGVycm9yIGl0IHdhcyBmb3VuZCB0aGF0IGEgdmFsdWUgb2YgYXJvdW5kIDY1MG1zIHNlZW1zIGFwcHJvcHJpYXRlLlxuICovXG5jb25zdCB0b3VjaEJ1ZmZlck1zID0gNjUwO1xuXG4vKipcbiAqIEV2ZW50IGxpc3RlbmVyIG9wdGlvbnMgdGhhdCBlbmFibGUgY2FwdHVyaW5nIGFuZCBhbHNvIG1hcmsgdGhlIGxpc3RlbmVyIGFzIHBhc3NpdmUgaWYgdGhlIGJyb3dzZXJcbiAqIHN1cHBvcnRzIGl0LlxuICovXG5jb25zdCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zID0ge1xuICBwYXNzaXZlOiB0cnVlLFxuICBjYXB0dXJlOiB0cnVlLFxufTtcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgZGV0ZWN0cyB0aGUgdXNlcidzIGlucHV0IG1vZGFsaXR5LlxuICpcbiAqIFRoaXMgc2VydmljZSBkb2VzIG5vdCB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5IHdoZW4gYSB1c2VyIG5hdmlnYXRlcyB3aXRoIGEgc2NyZWVuIHJlYWRlclxuICogKGUuZy4gbGluZWFyIG5hdmlnYXRpb24gd2l0aCBWb2ljZU92ZXIsIG9iamVjdCBuYXZpZ2F0aW9uIC8gYnJvd3NlIG1vZGUgd2l0aCBOVkRBLCB2aXJ0dWFsIFBDXG4gKiBjdXJzb3IgbW9kZSB3aXRoIEpBV1MpLiBUaGlzIGlzIGluIHBhcnQgZHVlIHRvIHRlY2huaWNhbCBsaW1pdGF0aW9ucyAoaS5lLiBrZXlib2FyZCBldmVudHMgZG8gbm90XG4gKiBmaXJlIGFzIGV4cGVjdGVkIGluIHRoZXNlIG1vZGVzKSBidXQgaXMgYWxzbyBhcmd1YWJseSB0aGUgY29ycmVjdCBiZWhhdmlvci4gTmF2aWdhdGluZyB3aXRoIGFcbiAqIHNjcmVlbiByZWFkZXIgaXMgYWtpbiB0byB2aXN1YWxseSBzY2FubmluZyBhIHBhZ2UsIGFuZCBzaG91bGQgbm90IGJlIGludGVycHJldGVkIGFzIGFjdHVhbCB1c2VyXG4gKiBpbnB1dCBpbnRlcmFjdGlvbi5cbiAqXG4gKiBXaGVuIGEgdXNlciBpcyBub3QgbmF2aWdhdGluZyBidXQgKmludGVyYWN0aW5nKiB3aXRoIGEgc2NyZWVuIHJlYWRlciwgdGhpcyBzZXJ2aWNlIGF0dGVtcHRzIHRvXG4gKiB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5IHRvIGtleWJvYXJkLCBidXQgaW4gZ2VuZXJhbCB0aGlzIHNlcnZpY2UncyBiZWhhdmlvciBpcyBsYXJnZWx5XG4gKiB1bmRlZmluZWQuXG4gKi9cbmNsYXNzIFNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB7XG4gIC8qKiBUaGUgbW9zdCByZWNlbnRseSBkZXRlY3RlZCBpbnB1dCBtb2RhbGl0eS4gKi9cbiAgcHVibGljIGdldCBtb3N0UmVjZW50TW9kYWxpdHkoKTogU2JiSW5wdXRNb2RhbGl0eSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1vc3QgcmVjZW50IG1vZGFsaXR5IG11c3QgYmUgaW5pdGlhbGlzZWQgd2l0aCB0aGUgdmFsdWUgJ21vdXNlJyB0byBjb3ZlciB0aGUgY2FzZSB3aGVyZSBhbiBhY3Rpb24gaXNcbiAgICogcGVyZm9ybWVkIGJ1dCBubyBtb3VzZSBvciBrZXlib2FyZCBldmVudCBoYXMgeWV0IG9jY3VycmVkIG9uIHRoZSBwYWdlIChlLmcuIGBzYmItcG9wb3ZlcmAgd2l0aCBob3ZlciB0cmlnZ2VyKS5cbiAgICovXG4gIHByaXZhdGUgX21vc3RSZWNlbnRNb2RhbGl0eTogU2JiSW5wdXRNb2RhbGl0eSB8IG51bGwgPSAnbW91c2UnO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCByZWNlbnRseSBkZXRlY3RlZCBpbnB1dCBtb2RhbGl0eSBldmVudCB0YXJnZXQuIElzIG51bGwgaWYgbm8gaW5wdXQgbW9kYWxpdHkgaGFzIGJlZW5cbiAgICogZGV0ZWN0ZWQgb3IgaWYgdGhlIGFzc29jaWF0ZWQgZXZlbnQgdGFyZ2V0IGlzIG51bGwgZm9yIHNvbWUgdW5rbm93biByZWFzb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1vc3RSZWNlbnRUYXJnZXQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbW9zdFJlY2VudFRhcmdldDtcbiAgfVxuICBwcml2YXRlIF9tb3N0UmVjZW50VGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPcHRpb25zIGZvciB0aGlzIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uczogU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyA9IHtcbiAgICAuLi5pbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zLFxuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRvdWNoIGlucHV0IG1vZGFsaXR5LiBVc2VkIHRvIGRldGVybWluZSB3aGV0aGVyIG1vdXNlZG93biBldmVudHNcbiAgICogc2hvdWxkIGJlIGF0dHJpYnV0ZWQgdG8gbW91c2Ugb3IgdG91Y2guXG4gICAqL1xuICBwcml2YXRlIF9sYXN0VG91Y2hNcyA9IDA7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleWRvd24sIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5fb25Nb3VzZWRvd24sIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMuX29uVG91Y2hzdGFydCwgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSA9ICdtb3VzZSc7XG4gICAgdGhpcy5fbW9zdFJlY2VudFRhcmdldCA9IG51bGw7XG4gICAgdGhpcy5fbGFzdFRvdWNoTXMgPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMga2V5ZG93biBldmVudHMuIE11c3QgYmUgYW4gYXJyb3cgZnVuY3Rpb24gaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHQgd2hlbiBpdCBnZXRzXG4gICAqIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gSWYgdGhpcyBpcyBvbmUgb2YgdGhlIGtleXMgd2Ugc2hvdWxkIGlnbm9yZSwgdGhlbiBpZ25vcmUgaXQgYW5kIGRvbid0IHVwZGF0ZSB0aGUgaW5wdXRcbiAgICAvLyBtb2RhbGl0eSB0byBrZXlib2FyZC5cbiAgICBpZiAodGhpcy5fb3B0aW9ucz8uaWdub3JlS2V5cz8uc29tZSgoa2V5Q29kZSkgPT4ga2V5Q29kZSA9PT0gZXZlbnQua2V5Q29kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSAna2V5Ym9hcmQnO1xuICAgIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbW91c2Vkb3duIGV2ZW50cy4gTXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBpbiBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgY29udGV4dCB3aGVuIGl0XG4gICAqIGdldHMgYm91bmQuXG4gICAqL1xuICBwcml2YXRlIF9vbk1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFRvdWNoZXMgdHJpZ2dlciBib3RoIHRvdWNoIGFuZCBtb3VzZSBldmVudHMsIHNvIHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBtb3VzZSBldmVudHNcbiAgICAvLyB0aGF0IHdlcmUgdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC4gVG8gZG8gc28sIGNoZWNrIGlmIHRoZSBtb3VzZSBldmVudCBvY2N1cnMgY2xvc2VseVxuICAgIC8vIGFmdGVyIHRoZSBwcmV2aW91cyB0b3VjaCBldmVudC5cbiAgICBpZiAoRGF0ZS5ub3coKSAtIHRoaXMuX2xhc3RUb3VjaE1zIDwgdG91Y2hCdWZmZXJNcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEZha2UgbW91c2Vkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnkgc29tZSBzY3JlZW4gcmVhZGVycyB3aGVuIGNvbnRyb2xzIGFyZSBhY3RpdmF0ZWQgYnkgdGhlXG4gICAgLy8gc2NyZWVuIHJlYWRlci4gQXR0cmlidXRlIHRoZW0gdG8ga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuXG4gICAgdGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5ID0gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCkgPyAna2V5Ym9hcmQnIDogJ21vdXNlJztcbiAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRvdWNoc3RhcnQgZXZlbnRzLiBNdXN0IGJlIGFuIGFycm93IGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZSBjb250ZXh0IHdoZW4gaXRcbiAgICogZ2V0cyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgX29uVG91Y2hzdGFydCA9IChldmVudDogVG91Y2hFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFNhbWUgc2NlbmFyaW8gYXMgbWVudGlvbmVkIGluIF9vbk1vdXNlZG93biwgYnV0IG9uIHRvdWNoIHNjcmVlbiBkZXZpY2VzLCBmYWtlIHRvdWNoc3RhcnRcbiAgICAvLyBldmVudHMgYXJlIGZpcmVkLiBBZ2FpbiwgYXR0cmlidXRlIHRvIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LlxuICAgIGlmIChpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudCkpIHtcbiAgICAgIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSA9ICdrZXlib2FyZCc7XG4gICAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFN0b3JlIHRoZSB0aW1lc3RhbXAgb2YgdGhpcyB0b3VjaCBldmVudCwgYXMgaXQncyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gbW91c2UgZXZlbnRzXG4gICAgLy8gdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC5cbiAgICB0aGlzLl9sYXN0VG91Y2hNcyA9IERhdGUubm93KCk7XG5cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSAndG91Y2gnO1xuICAgIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChldmVudCk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgPSBuZXcgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yKCk7XG5cbi8vIFNldCB0aGUgaW5wdXQgbW9kYWxpdHkgaW4gb3JkZXIgdG8gYXZvaWQgc2hvd2luZyB0aGUgb3V0bGluZSBpbiBTYWZhcmkuXG5leHBvcnQgZnVuY3Rpb24gc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhlbGVtZW50VG9Gb2N1czogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gIGlmICghZWxlbWVudFRvRm9jdXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtb3N0UmVjZW50TW9kYWxpdHkgPSBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5O1xuXG4gIC8vIFNldCBmb2N1cyBvcmlnaW4gdG8gZWxlbWVudCB3aGljaCBzaG91bGQgcmVjZWl2ZSBmb2N1c1xuICBpZiAoIShlbGVtZW50VG9Gb2N1cyAmJiBtb3N0UmVjZW50TW9kYWxpdHkgIT09IG51bGwpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGVsZW1lbnRUb0ZvY3VzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgJ2ZvY3VzJyxcbiAgICAoKSA9PiB7XG4gICAgICBlbGVtZW50VG9Gb2N1cy5zZXRBdHRyaWJ1dGUoJ2RhdGEtZm9jdXMtb3JpZ2luJywgbW9zdFJlY2VudE1vZGFsaXR5KTtcbiAgICAgIGVsZW1lbnRUb0ZvY3VzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdibHVyJyxcbiAgICAgICAgKCkgPT4gZWxlbWVudFRvRm9jdXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWZvY3VzLW9yaWdpbicpLFxuICAgICAgICB7XG4gICAgICAgICAgb25jZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSxcbiAgICB7IG9uY2U6IHRydWUgfSxcbiAgKTtcbn1cbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5cbi8vIERldGVybWluZSB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBhIHZpc2libGUgZm9jdXMgd2l0aGluLlxuZXhwb3J0IGNsYXNzIFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNpbkhhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5faG9zdC50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nLFxuICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2ZvY3Vzb3V0SGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nKTtcbiAgfTtcblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBoYXNHZW9tZXRyeShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAvLyBVc2UgbG9naWMgZnJvbSBqUXVlcnkgdG8gY2hlY2sgZm9yIGFuIGludmlzaWJsZSBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2pxdWVyeS9qcXVlcnkvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9oaWRkZW5WaXNpYmxlU2VsZWN0b3JzLmpzI0wxMlxuICByZXR1cm4gISEoXG4gICAgZWxlbWVudC5vZmZzZXRXaWR0aCB8fFxuICAgIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8XG4gICAgKHR5cGVvZiBlbGVtZW50LmdldENsaWVudFJlY3RzID09PSAnZnVuY3Rpb24nICYmIGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW50ZXJhY3Rpdml0eUNoZWNrZXIge1xuICBpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZXJhY3Rpdml0eUNoZWNrZXIgaW1wbGVtZW50cyBJbnRlcmZhY2VJbnRlcmFjdGl2aXR5Q2hlY2tlciB7XG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBpcyB2aXNpYmxlIGZvciB0aGUgcHVycG9zZXMgb2YgaW50ZXJhY3Rpdml0eS5cbiAgICpcbiAgICogVGhpcyB3aWxsIGNhcHR1cmUgc3RhdGVzIGxpa2UgYGRpc3BsYXk6IG5vbmVgIGFuZCBgdmlzaWJpbGl0eTogaGlkZGVuYCwgYnV0IG5vdCB0aGluZ3MgbGlrZVxuICAgKiBiZWluZyBjbGlwcGVkIGJ5IGFuIGBvdmVyZmxvdzogaGlkZGVuYCBwYXJlbnQgb3IgYmVpbmcgb3V0c2lkZSB0aGUgdmlld3BvcnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZS5cbiAgICovXG4gIHB1YmxpYyBpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzR2VvbWV0cnkoZWxlbWVudCkgJiYgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS52aXNpYmlsaXR5ID09PSAndmlzaWJsZSc7XG4gIH1cbn1cblxuY2xhc3MgSW50ZXJhY3Rpdml0eUNoZWNrZXJNb2NrIGltcGxlbWVudHMgSW50ZXJmYWNlSW50ZXJhY3Rpdml0eUNoZWNrZXIge1xuICBwdWJsaWMgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8vIEZvciB1bml0IHRlc3RzIHdlIG5lZWQgdG8gcHJldGVuZCB0aGF0IGFuIGVsZW1lbnQgaXMgYWx3YXlzIHZpc2libGUuXG4vLyBUaGlzIGNhbiBiZSBkb25lIGJ5IGNoZWNraW5nIGlmIHZpc2liaWxpdHkgcHJvcGVydHkgaXMgc2V0IHRvIGVtcHR5LlxuZXhwb3J0IGNvbnN0IGludGVyYWN0aXZpdHlDaGVja2VyOiBJbnRlcmZhY2VJbnRlcmFjdGl2aXR5Q2hlY2tlciA9XG4gIHR5cGVvZiBnZXRDb21wdXRlZFN0eWxlID09PSAndW5kZWZpbmVkJyB8fFxuICBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkudmlzaWJpbGl0eSA9PT0gJydcbiAgICA/IG5ldyBJbnRlcmFjdGl2aXR5Q2hlY2tlck1vY2soKVxuICAgIDogbmV3IEludGVyYWN0aXZpdHlDaGVja2VyKCk7XG4iLCJpbXBvcnQgeyBpbnRlcmFjdGl2aXR5Q2hlY2tlciB9IGZyb20gJy4vaW50ZXJhY3Rpdml0eS1jaGVja2VyLmpzJztcblxuZXhwb3J0IGNvbnN0IElTX0ZPQ1VTQUJMRV9RVUVSWSA9IFtcbiAgJ2J1dHRvbicsXG4gICdbaHJlZl0nLFxuICAnaW5wdXQnLFxuICAnc2VsZWN0JyxcbiAgJ3RleHRhcmVhJyxcbiAgJ2RldGFpbHMnLFxuICAnc3VtbWFyeTpub3QoOmRpc2FibGVkKScsXG4gICdbdGFiaW5kZXhdJyxcbl1cbiAgLm1hcCgoc2VsZWN0b3IpID0+IGAke3NlbGVjdG9yfTpub3QoW2Rpc2FibGVkXSxbdGFiaW5kZXg9XCItMVwiXSxbaW5lcnRdKWApXG4gIC5jb25jYXQoJ1tkaXNhYmxlZF1bZGlzYWJsZWQtaW50ZXJhY3RpdmVdOm5vdChbaW5lcnRdLFt0YWJpbmRleD1cIi0xXCJdKScpXG4gIC5qb2luKCcsJyk7XG5cbi8vIE5vdGU6IHRoZSB1c2Ugb2YgdGhpcyBmdW5jdGlvbiBmb3IgbW9yZSBjb21wbGV4IHNjZW5hcmlvcyAod2l0aCBtYW55IG5lc3RlZCBlbGVtZW50cykgbWF5IGJlIGV4cGVuc2l2ZS5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2N1c2FibGVFbGVtZW50cyhcbiAgZWxlbWVudHM6IEhUTUxFbGVtZW50W10sXG4gIHByb3BlcnRpZXM/OiB7XG4gICAgZmlsdGVyPzogKGVsOiBIVE1MRWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBmaW5kRmlyc3RGb2N1c2FibGU/OiBib29sZWFuO1xuICAgIGluY2x1ZGVJbnZpc2libGVFbGVtZW50cz86IGJvb2xlYW47XG4gIH0sXG4pOiBIVE1MRWxlbWVudFtdIHtcbiAgY29uc3QgZm9jdXNhYmxlRWxzID0gbmV3IFNldDxIVE1MRWxlbWVudD4oKTtcblxuICBmdW5jdGlvbiBnZXRGb2N1c2FibGVzKGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdLCBmaWx0ZXI/OiAoZWw6IEhUTUxFbGVtZW50KSA9PiBib29sZWFuKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBlbCBvZiBlbGVtZW50cykge1xuICAgICAgaWYgKGZpbHRlciAmJiAhZmlsdGVyKGVsKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVsLm5vZGVOYW1lID09PSAnU0xPVCcpIHtcbiAgICAgICAgZ2V0Rm9jdXNhYmxlcyhcbiAgICAgICAgICBBcnJheS5mcm9tKChlbCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkRWxlbWVudHMoKSkgYXMgSFRNTEVsZW1lbnRbXSxcbiAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGVsLm1hdGNoZXMoSVNfRk9DVVNBQkxFX1FVRVJZKSAmJlxuICAgICAgICAocHJvcGVydGllcz8uaW5jbHVkZUludmlzaWJsZUVsZW1lbnRzID8/IGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZShlbCkpXG4gICAgICApIHtcbiAgICAgICAgZm9jdXNhYmxlRWxzLmFkZChlbCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0aWVzPy5maW5kRmlyc3RGb2N1c2FibGUgJiYgZm9jdXNhYmxlRWxzLnNpemUgPiAwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWwuY2hpbGRyZW4ubGVuZ3RoIHx8IGVsLnNoYWRvd1Jvb3Q/LmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IEFycmF5LmZyb20oZWwuY2hpbGRyZW4pLmxlbmd0aFxuICAgICAgICAgID8gKEFycmF5LmZyb20oZWwuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W10pXG4gICAgICAgICAgOiAoQXJyYXkuZnJvbShlbC5zaGFkb3dSb290IS5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXSk7XG4gICAgICAgIGdldEZvY3VzYWJsZXMoY2hpbGRyZW4sIGZpbHRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGdldEZvY3VzYWJsZXMoZWxlbWVudHMsIHByb3BlcnRpZXM/LmZpbHRlcik7XG5cbiAgcmV0dXJuIFsuLi5mb2N1c2FibGVFbHNdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rmlyc3RGb2N1c2FibGVFbGVtZW50KFxuICBlbGVtZW50czogSFRNTEVsZW1lbnRbXSxcbiAgZmlsdGVyPzogKGVsOiBIVE1MRWxlbWVudCkgPT4gYm9vbGVhbixcbik6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnRzID0gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoZWxlbWVudHMsIHtcbiAgICBmaWx0ZXIsXG4gICAgZmluZEZpcnN0Rm9jdXNhYmxlOiB0cnVlLFxuICB9KTtcbiAgcmV0dXJuIGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCA/IGZvY3VzYWJsZUVsZW1lbnRzWzBdIDogbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIFNiYkZvY3VzSGFuZGxlciB7XG4gIHByaXZhdGUgX2NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBlbGVtZW50IGluIHdoaWNoIHRoZSBmb2N1cyBzaG91bGQgYmUgdHJhcHBlZC5cbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSBvcHRpb25zLmZpbHRlciBmaWx0ZXIgZnVuY3Rpb24gd2hpY2ggaXMgYXBwbGllZCBkdXJpbmcgc2VhcmNoaW5nIGZvciBmb2N1c2FibGUgZWxlbWVudC4gSWYgYW4gZWxlbWVudCBpcyBmaWx0ZXJlZCwgYWxzbyBjaGlsZCBlbGVtZW50cyBhcmUgZmlsdGVyZWQuXG4gICAqIEBwYXJhbSBvcHRpb25zLnBvc3RGaWx0ZXIgZmlsdGVyIGZ1bmN0aW9uIHdoaWNoIGlzIGFwcGxpZWQgYWZ0ZXIgY29sbGVjdGluZyBmb2N1c2FibGUgZWxlbWVudHMuXG4gICAqL1xuICBwdWJsaWMgdHJhcChcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBvcHRpb25zPzoge1xuICAgICAgZmlsdGVyPzogKGVsOiBIVE1MRWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICAgIHBvc3RGaWx0ZXI/OiAoZWw6IEhUTUxFbGVtZW50KSA9PiBib29sZWFuO1xuICAgIH0sXG4gICk6IHZvaWQge1xuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdrZXlkb3duJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIER5bmFtaWNhbGx5IGdldCBmaXJzdCBhbmQgbGFzdCBmb2N1c2FibGUgZWxlbWVudCwgYXMgdGhpcyBtaWdodCBoYXZlIGNoYW5nZWQgc2luY2Ugb3BlbmluZyBvdmVybGF5XG4gICAgICAgIGNvbnN0IGVsZW1lbnRDaGlsZHJlbjogSFRNTEVsZW1lbnRbXSA9IEFycmF5LmZyb20oXG4gICAgICAgICAgZWxlbWVudC5zaGFkb3dSb290IS5jaGlsZHJlbiB8fCBbXSxcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKGVsZW1lbnRDaGlsZHJlbiwge1xuICAgICAgICAgIGZpbHRlcjogb3B0aW9ucz8uZmlsdGVyLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRGb2N1c2FibGVFbGVtZW50cyA9IGZvY3VzYWJsZUVsZW1lbnRzLmZpbHRlcihcbiAgICAgICAgICBvcHRpb25zPy5wb3N0RmlsdGVyID8/ICgoKSA9PiB0cnVlKSxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWZpbHRlcmVkRm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlyc3RGb2N1c2FibGUgPSBmaWx0ZXJlZEZvY3VzYWJsZUVsZW1lbnRzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBsYXN0Rm9jdXNhYmxlID0gZmlsdGVyZWRGb2N1c2FibGVFbGVtZW50c1tcbiAgICAgICAgICBmaWx0ZXJlZEZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFcbiAgICAgICAgXSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICBjb25zdCBbcGl2b3QsIG5leHRdID0gZXZlbnQuc2hpZnRLZXlcbiAgICAgICAgICA/IFtmaXJzdEZvY3VzYWJsZSwgbGFzdEZvY3VzYWJsZV1cbiAgICAgICAgICA6IFtsYXN0Rm9jdXNhYmxlLCBmaXJzdEZvY3VzYWJsZV07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIChmaXJzdEZvY3VzYWJsZS5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuYWN0aXZlRWxlbWVudCA9PT0gcGl2b3QgfHxcbiAgICAgICAgICAobGFzdEZvY3VzYWJsZS5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuYWN0aXZlRWxlbWVudCA9PT0gcGl2b3RcbiAgICAgICAgKSB7XG4gICAgICAgICAgbmV4dC5mb2N1cygpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IHNpZ25hbDogdGhpcy5fY29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGRpc2Nvbm5lY3QoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbGxlci5hYm9ydCgpO1xuICAgIHRoaXMuX2NvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJlbGVtZW50cyJdLCJtYXBwaW5ncyI6Ijs7QUFLQSxTQUFTLHFCQUFrQjtBQUN6QixNQUFJLFNBQVMsZ0JBQWdCLFFBQVEsV0FBVyxHQUFHO0FBQ2pELFdBQU8sRUFBRSxTQUFTLGNBQWMsU0FBUyxZQUFXO0FBQUEsRUFBQSxPQUMvQztBQUNMLFdBQU8sRUFBRSxTQUFTLGFBQWEsU0FBUyxhQUFZO0FBQUEsRUFBQTtBQUV4RDtBQU1NLFNBQVUsa0JBQWtCLE9BQW9CO0FBQzdDLFNBQUEsQ0FBQyxjQUFjLGFBQWEsV0FBVyxXQUFXLEVBQUUsU0FBUyxNQUFNLEdBQUc7QUFDL0U7QUFNTSxTQUFVLDBCQUEwQixPQUFvQjtBQUM1RCxTQUFPLE1BQU0sUUFBUSxhQUFhLE1BQU0sUUFBUSxxQkFBcUI7QUFDdkU7QUFNTSxTQUFVLHNCQUFzQixPQUFvQjtBQUN4RCxTQUFPLE1BQU0sUUFBUSxlQUFlLE1BQU0sUUFBUSxxQkFBcUI7QUFDekU7QUFNTSxTQUFVLDRCQUE0QixPQUFvQjtBQUN2RCxTQUFBLGtCQUFrQixLQUFLLEtBQUssQ0FBQyxVQUFVLFlBQVksUUFBUSxLQUFLLEVBQUUsU0FBUyxNQUFNLEdBQUc7QUFDN0Y7QUFRQSxTQUFTLHFCQUFxQixjQUFzQixVQUFrQixRQUFjO0FBQzFFLFVBQUEsZUFBZSxTQUFTLFlBQVk7QUFDOUM7QUFFQSxTQUFTLGFBQWEsTUFBWTtBQUNoQyxTQUFPLE9BQU87QUFDaEI7QUFFQSxNQUFNLGFBQWE7QUFZSCxTQUFBLG9CQUFvQixPQUFzQixTQUFpQixNQUFZO0FBQ3JGLFFBQU0sRUFBRSxTQUFTLFlBQVk7QUFFN0IsTUFBSSxNQUFNLFFBQVEsV0FBVyxNQUFN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
|
|
272
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYTExeS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9hcnJvdy1uYXZpZ2F0aW9uLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9mYWtlLWV2ZW50LWRldGVjdGlvbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ZvY3VzLXZpc2libGUtd2l0aGluLWNvbnRyb2xsZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ludGVyYWN0aXZpdHktY2hlY2tlci50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvZm9jdXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIFByZXZBbmROZXh0S2V5cyB7XG4gIHByZXZLZXk6IHN0cmluZztcbiAgbmV4dEtleTogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRQcmV2QW5kTmV4dEtleXMoKTogUHJldkFuZE5leHRLZXlzIHtcbiAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5tYXRjaGVzKCc6ZGlyKHJ0bCknKSkge1xuICAgIHJldHVybiB7IHByZXZLZXk6ICdBcnJvd1JpZ2h0JywgbmV4dEtleTogJ0Fycm93TGVmdCcgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4geyBwcmV2S2V5OiAnQXJyb3dMZWZ0JywgbmV4dEtleTogJ0Fycm93UmlnaHQnIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUga2V5IHByZXNzZWQgaXMgYW1vbmcgdGhvc2UgYWxsb3dlZCBmb3IgbmF2aWdhdGlvbi5cbiAqIEBwYXJhbSBldmVudCBUaGUga2V5Ym9hcmQgZXZlbnQgdG8gY2hlY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Fycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gWydBcnJvd1JpZ2h0JywgJ0Fycm93TGVmdCcsICdBcnJvd1VwJywgJ0Fycm93RG93biddLmluY2x1ZGVzKGV2ZW50LmtleSk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIHNob3VsZCBtb3ZlIHRoZSBuYXZpZ2F0aW9uIHRvIHRoZSBuZXh0IGVsZW1lbnQuXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQcmV2aW91c0Fycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSBnZXRQcmV2QW5kTmV4dEtleXMoKS5wcmV2S2V5O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBrZXkgcHJlc3NlZCBzaG91bGQgbW92ZSB0aGUgbmF2aWdhdGlvbiB0byB0aGUgbmV4dCBlbGVtZW50LlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmV4dEFycm93S2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyB8fCBldmVudC5rZXkgPT09IGdldFByZXZBbmROZXh0S2V5cygpLm5leHRLZXk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIGlzIGFtb25nIHRob3NlIGFsbG93ZWQgZm9yIG5hdmlnYXRpb24uXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJvd0tleU9yUGFnZUtleXNQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0Fycm93S2V5UHJlc3NlZChldmVudCkgfHwgWydQYWdlVXAnLCAnUGFnZURvd24nLCAnSG9tZScsICdFbmQnXS5pbmNsdWRlcyhldmVudC5rZXkpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgaW5kZXggb2YgdGhlIG5leHQgZWxlbWVudCBiYXNlZCBvbiB0aGUgZ2l2ZW4gb2Zmc2V0LlxuICogQHBhcmFtIGN1cnJlbnRJbmRleCBUaGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgZWxlbWVudC5cbiAqIEBwYXJhbSBtYXhJbmRleCBUaGUgbWF4aW11bSBwZXJtaXR0ZWQgdmFsdWUgKGUuZy4gYXJyYXkgc2l6ZSkuXG4gKiBAcGFyYW0gb2Zmc2V0IFRoZSBhbW91bnQgdG8gbW92ZSBieS5cbiAqL1xuZnVuY3Rpb24gY2FsY05leHRJbmRleEluUmFuZ2UoY3VycmVudEluZGV4OiBudW1iZXIsIG1heEluZGV4OiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIChjdXJyZW50SW5kZXggKyBvZmZzZXQgKyBtYXhJbmRleCkgJSBtYXhJbmRleDtcbn1cblxuZnVuY3Rpb24gZ2V0TGFzdEluZGV4KHNpemU6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBzaXplIC0gMTtcbn1cblxuY29uc3QgZmlyc3RJbmRleCA9IDA7XG5cbi8qKlxuICogR2V0cyB0aGUgaW5kZXggb2YgdGhlIGVsZW1lbnQgdG8gbW92ZSB0bywgYmFzZWQgb24gdGhlIGtleWJvYXJkIGlucHV0LCB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0IGFuZCB0aGUgbGlzdCBzaXplLlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqIEBwYXJhbSBjdXJyZW50IFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0LlxuICogQHBhcmFtIHNpemUgVGhlIHNpemUgb2YgdGhlIGxpc3QuXG4gKiBAcmV0dXJucyBpZiBpdCBpcyBhICdwcmV2aW91cycgZXZlbnQsIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBwcmV2aW91cyBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBsYXN0IG9uZSBpZiB0aGUgY3VycmVudCBlbGVtZW50IGlzIHRoZSBmaXJzdCBpbiB0aGUgbGlzdDtcbiAqIGlmIGl0IGlzIGEgJ25leHQnIGV2ZW50LCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvbmUsIGlmIHRoZSBjdXJyZW50IGlzIHRoZSBsYXN0IGluIHRoZSBsaXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dEVsZW1lbnRJbmRleChldmVudDogS2V5Ym9hcmRFdmVudCwgY3VycmVudDogbnVtYmVyLCBzaXplOiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCB7IHByZXZLZXksIG5leHRLZXkgfSA9IGdldFByZXZBbmROZXh0S2V5cygpO1xuXG4gIGlmIChldmVudC5rZXkgPT09IHByZXZLZXkgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICByZXR1cm4gY3VycmVudCA8IGZpcnN0SW5kZXggPyBnZXRMYXN0SW5kZXgoc2l6ZSkgOiBjYWxjTmV4dEluZGV4SW5SYW5nZShjdXJyZW50LCBzaXplLCAtMSk7XG4gIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSBuZXh0S2V5IHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICByZXR1cm4gY3VycmVudCA+PSBzaXplID8gZmlyc3RJbmRleCA6IGNhbGNOZXh0SW5kZXhJblJhbmdlKGN1cnJlbnQsIHNpemUsIDEpO1xuICB9XG4gIHJldHVybiBjdXJyZW50O1xufVxuIiwiLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyB0YWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9jZGsvYTExeS9mYWtlLWV2ZW50LWRldGVjdGlvbi50c1xuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGV2ZW50IGNvdWxkIGJlIGEgZmFrZWQgYG1vdXNlZG93bmAgZXZlbnQgZGlzcGF0Y2hlZCBieSBhIHNjcmVlbiByZWFkZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAvLyBTb21lIHNjcmVlbiByZWFkZXJzIHdpbGwgZGlzcGF0Y2ggYSBmYWtlIGBtb3VzZWRvd25gIGV2ZW50IHdoZW4gcHJlc3NpbmcgZW50ZXIgb3Igc3BhY2Ugb25cbiAgLy8gYSBjbGlja2FibGUgZWxlbWVudC4gV2UgY2FuIGRpc3Rpbmd1aXNoIHRoZXNlIGV2ZW50cyB3aGVuIGBldmVudC5idXR0b25zYCBpcyB6ZXJvLCBvclxuICAvLyBgZXZlbnQuZGV0YWlsYCBpcyB6ZXJvIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcjpcbiAgLy8gLSBgZXZlbnQuYnV0dG9uc2Agd29ya3Mgb24gRmlyZWZveCwgYnV0IGZhaWxzIG9uIENocm9tZS5cbiAgLy8gLSBgZGV0YWlsYCB3b3JrcyBvbiBDaHJvbWUsIGJ1dCBmYWlscyBvbiBGaXJlZm94LlxuICByZXR1cm4gZXZlbnQuYnV0dG9ucyA9PT0gMCB8fCBldmVudC5kZXRhaWwgPT09IDA7XG59XG5cbi8qKiBHZXRzIHdoZXRoZXIgYW4gZXZlbnQgY291bGQgYmUgYSBmYWtlZCBgdG91Y2hzdGFydGAgZXZlbnQgZGlzcGF0Y2hlZCBieSBhIHNjcmVlbiByZWFkZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIoZXZlbnQ6IFRvdWNoRXZlbnQpOiBib29sZWFuIHtcbiAgY29uc3QgdG91Y2g6IFRvdWNoIHwgdW5kZWZpbmVkID1cbiAgICAoZXZlbnQudG91Y2hlcyAmJiBldmVudC50b3VjaGVzWzBdKSB8fCAoZXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0pO1xuXG4gIC8vIEEgZmFrZSBgdG91Y2hzdGFydGAgY2FuIGJlIGRpc3Rpbmd1aXNoZWQgZnJvbSBhIHJlYWwgb25lIGJ5IGxvb2tpbmcgYXQgdGhlIGBpZGVudGlmaWVyYFxuICAvLyB3aGljaCBpcyB0eXBpY2FsbHkgPj0gMCBvbiBhIHJlYWwgZGV2aWNlIHZlcnN1cyAtMSBmcm9tIGEgc2NyZWVuIHJlYWRlci4gSnVzdCB0byBiZSBzYWZlLFxuICAvLyB3ZSBjYW4gYWxzbyBsb29rIGF0IGByYWRpdXNYYCBhbmQgYHJhZGl1c1lgLiBUaGlzIGJlaGF2aW9yIHdhcyBvYnNlcnZlZCBhZ2FpbnN0IGEgV2luZG93cyAxMFxuICAvLyBkZXZpY2Ugd2l0aCBhIHRvdWNoIHNjcmVlbiBydW5uaW5nIE5WREEgdjIwMjAuNCBhbmQgRmlyZWZveCA4NSBvciBDaHJvbWUgODguXG4gIHJldHVybiAoXG4gICAgISF0b3VjaCAmJlxuICAgIHRvdWNoLmlkZW50aWZpZXIgPT09IC0xICYmXG4gICAgKHRvdWNoLnJhZGl1c1ggPT0gbnVsbCB8fCB0b3VjaC5yYWRpdXNYID09PSAxKSAmJlxuICAgICh0b3VjaC5yYWRpdXNZID09IG51bGwgfHwgdG91Y2gucmFkaXVzWSA9PT0gMSlcbiAgKTtcbn1cbiIsIi8vIFRoaXMgaW1wbGVtZW50YXRpb24gaXMgaW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21haW4vc3JjL2Nkay9hMTF5L2lucHV0LW1vZGFsaXR5L2lucHV0LW1vZGFsaXR5LWRldGVjdG9yLnRzXG5cbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgZ2V0RXZlbnRUYXJnZXQgfSBmcm9tICcuLi9ldmVudGluZy5qcyc7XG5cbmltcG9ydCB7XG4gIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIsXG4gIGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyLFxufSBmcm9tICcuL2Zha2UtZXZlbnQtZGV0ZWN0aW9uLmpzJztcblxuZXhwb3J0IHR5cGUgU2JiSW5wdXRNb2RhbGl0eSA9ICd0b3VjaCcgfCAnbW91c2UnIHwgJ2tleWJvYXJkJyB8ICdwcm9ncmFtJyB8IG51bGw7XG5cbi8qKiBPcHRpb25zIHRvIGNvbmZpZ3VyZSB0aGUgYmVoYXZpb3Igb2YgdGhlIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci4gKi9cbmludGVyZmFjZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zIHtcbiAgLyoqIEtleXMgdG8gaWdub3JlIHdoZW4gZGV0ZWN0aW5nIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LiAqL1xuICBpZ25vcmVLZXlzPzogbnVtYmVyW107XG59XG5cbmNvbnN0IFNISUZUID0gMTY7XG5jb25zdCBDT05UUk9MID0gMTc7XG5jb25zdCBBTFQgPSAxODtcbmNvbnN0IE1FVEEgPSA5MTsgLy8gV0lOX0tFWV9MRUZUXG5jb25zdCBNQUNfTUVUQSA9IDIyNDtcblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IuXG4gKlxuICogTW9kaWZpZXIga2V5cyBhcmUgaWdub3JlZCBieSBkZWZhdWx0IChpLmUuIHdoZW4gcHJlc3NlZCB3b24ndCBjYXVzZSB0aGUgc2VydmljZSB0byBkZXRlY3RcbiAqIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5KSBmb3IgdHdvIHJlYXNvbnM6XG4gKlxuICogMS4gTW9kaWZpZXIga2V5cyBhcmUgY29tbW9ubHkgdXNlZCB3aXRoIG1vdXNlIHRvIHBlcmZvcm0gYWN0aW9ucyBzdWNoIGFzICdyaWdodCBjbGljaycgb3IgJ29wZW5cbiAqICAgIGluIG5ldyB0YWInLCBhbmQgYXJlIHRodXMgbGVzcyByZXByZXNlbnRhdGl2ZSBvZiBhY3R1YWwga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gKiAyLiBWb2ljZU92ZXIgdHJpZ2dlcnMgc29tZSBrZXlib2FyZCBldmVudHMgd2hlbiBsaW5lYXJseSBuYXZpZ2F0aW5nIHdpdGggQ29udHJvbCArIE9wdGlvbiAoYnV0XG4gKiAgICBjb25mdXNpbmdseSBub3Qgd2l0aCBDYXBzIExvY2spLiBUaHVzLCB0byBoYXZlIHBhcml0eSB3aXRoIG90aGVyIHNjcmVlbiByZWFkZXJzLCB3ZSBpZ25vcmVcbiAqICAgIHRoZXNlIGtleXMgc28sIGFzIHRvIG5vdCB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5LlxuICpcbiAqIE5vdGUgdGhhdCB3ZSBkbyBub3QgYnkgZGVmYXVsdCBpZ25vcmUgdGhlIHJpZ2h0IE1ldGEga2V5IG9uIFNhZmFyaSBiZWNhdXNlIGl0IGhhcyB0aGUgc2FtZSBrZXlcbiAqIGNvZGUgYXMgdGhlIENvbnRleHRNZW51IGtleSBvbiBvdGhlciBicm93c2Vycy4gV2hlbiB3ZSBzd2l0Y2ggdG8gdXNpbmcgZXZlbnQua2V5LCB3ZSBjYW5cbiAqIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3by5cbiAqL1xuY29uc3QgaW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9uczogU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyA9IHtcbiAgaWdub3JlS2V5czogW0FMVCwgQ09OVFJPTCwgTUFDX01FVEEsIE1FVEEsIFNISUZUXSxcbn07XG5cbi8qKlxuICogVGhlIGFtb3VudCBvZiB0aW1lIG5lZWRlZCB0byBwYXNzIGFmdGVyIGEgdG91Y2hzdGFydCBldmVudCBpbiBvcmRlciBmb3IgYSBzdWJzZXF1ZW50IG1vdXNlZG93blxuICogZXZlbnQgdG8gYmUgYXR0cmlidXRlZCBhcyBtb3VzZSBhbmQgbm90IHRvdWNoLlxuICpcbiAqIFRocm91Z2ggdHJpYWwgYW5kIGVycm9yIGl0IHdhcyBmb3VuZCB0aGF0IGEgdmFsdWUgb2YgYXJvdW5kIDY1MG1zIHNlZW1zIGFwcHJvcHJpYXRlLlxuICovXG5jb25zdCB0b3VjaEJ1ZmZlck1zID0gNjUwO1xuXG4vKipcbiAqIEV2ZW50IGxpc3RlbmVyIG9wdGlvbnMgdGhhdCBlbmFibGUgY2FwdHVyaW5nIGFuZCBhbHNvIG1hcmsgdGhlIGxpc3RlbmVyIGFzIHBhc3NpdmUgaWYgdGhlIGJyb3dzZXJcbiAqIHN1cHBvcnRzIGl0LlxuICovXG5jb25zdCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zID0ge1xuICBwYXNzaXZlOiB0cnVlLFxuICBjYXB0dXJlOiB0cnVlLFxufTtcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgZGV0ZWN0cyB0aGUgdXNlcidzIGlucHV0IG1vZGFsaXR5LlxuICpcbiAqIFRoaXMgc2VydmljZSBkb2VzIG5vdCB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5IHdoZW4gYSB1c2VyIG5hdmlnYXRlcyB3aXRoIGEgc2NyZWVuIHJlYWRlclxuICogKGUuZy4gbGluZWFyIG5hdmlnYXRpb24gd2l0aCBWb2ljZU92ZXIsIG9iamVjdCBuYXZpZ2F0aW9uIC8gYnJvd3NlIG1vZGUgd2l0aCBOVkRBLCB2aXJ0dWFsIFBDXG4gKiBjdXJzb3IgbW9kZSB3aXRoIEpBV1MpLiBUaGlzIGlzIGluIHBhcnQgZHVlIHRvIHRlY2huaWNhbCBsaW1pdGF0aW9ucyAoaS5lLiBrZXlib2FyZCBldmVudHMgZG8gbm90XG4gKiBmaXJlIGFzIGV4cGVjdGVkIGluIHRoZXNlIG1vZGVzKSBidXQgaXMgYWxzbyBhcmd1YWJseSB0aGUgY29ycmVjdCBiZWhhdmlvci4gTmF2aWdhdGluZyB3aXRoIGFcbiAqIHNjcmVlbiByZWFkZXIgaXMgYWtpbiB0byB2aXN1YWxseSBzY2FubmluZyBhIHBhZ2UsIGFuZCBzaG91bGQgbm90IGJlIGludGVycHJldGVkIGFzIGFjdHVhbCB1c2VyXG4gKiBpbnB1dCBpbnRlcmFjdGlvbi5cbiAqXG4gKiBXaGVuIGEgdXNlciBpcyBub3QgbmF2aWdhdGluZyBidXQgKmludGVyYWN0aW5nKiB3aXRoIGEgc2NyZWVuIHJlYWRlciwgdGhpcyBzZXJ2aWNlIGF0dGVtcHRzIHRvXG4gKiB1cGRhdGUgdGhlIGlucHV0IG1vZGFsaXR5IHRvIGtleWJvYXJkLCBidXQgaW4gZ2VuZXJhbCB0aGlzIHNlcnZpY2UncyBiZWhhdmlvciBpcyBsYXJnZWx5XG4gKiB1bmRlZmluZWQuXG4gKi9cbmNsYXNzIFNiYklucHV0TW9kYWxpdHlEZXRlY3RvciB7XG4gIC8qKiBUaGUgbW9zdCByZWNlbnRseSBkZXRlY3RlZCBpbnB1dCBtb2RhbGl0eS4gKi9cbiAgcHVibGljIGdldCBtb3N0UmVjZW50TW9kYWxpdHkoKTogU2JiSW5wdXRNb2RhbGl0eSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1vc3QgcmVjZW50IG1vZGFsaXR5IG11c3QgYmUgaW5pdGlhbGlzZWQgd2l0aCB0aGUgdmFsdWUgJ21vdXNlJyB0byBjb3ZlciB0aGUgY2FzZSB3aGVyZSBhbiBhY3Rpb24gaXNcbiAgICogcGVyZm9ybWVkIGJ1dCBubyBtb3VzZSBvciBrZXlib2FyZCBldmVudCBoYXMgeWV0IG9jY3VycmVkIG9uIHRoZSBwYWdlIChlLmcuIGBzYmItcG9wb3ZlcmAgd2l0aCBob3ZlciB0cmlnZ2VyKS5cbiAgICovXG4gIHByaXZhdGUgX21vc3RSZWNlbnRNb2RhbGl0eTogU2JiSW5wdXRNb2RhbGl0eSB8IG51bGwgPSAnbW91c2UnO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCByZWNlbnRseSBkZXRlY3RlZCBpbnB1dCBtb2RhbGl0eSBldmVudCB0YXJnZXQuIElzIG51bGwgaWYgbm8gaW5wdXQgbW9kYWxpdHkgaGFzIGJlZW5cbiAgICogZGV0ZWN0ZWQgb3IgaWYgdGhlIGFzc29jaWF0ZWQgZXZlbnQgdGFyZ2V0IGlzIG51bGwgZm9yIHNvbWUgdW5rbm93biByZWFzb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1vc3RSZWNlbnRUYXJnZXQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbW9zdFJlY2VudFRhcmdldDtcbiAgfVxuICBwcml2YXRlIF9tb3N0UmVjZW50VGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBPcHRpb25zIGZvciB0aGlzIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uczogU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yT3B0aW9ucyA9IHtcbiAgICAuLi5pbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zLFxuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRvdWNoIGlucHV0IG1vZGFsaXR5LiBVc2VkIHRvIGRldGVybWluZSB3aGV0aGVyIG1vdXNlZG93biBldmVudHNcbiAgICogc2hvdWxkIGJlIGF0dHJpYnV0ZWQgdG8gbW91c2Ugb3IgdG91Y2guXG4gICAqL1xuICBwcml2YXRlIF9sYXN0VG91Y2hNcyA9IDA7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleWRvd24sIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5fb25Nb3VzZWRvd24sIG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMuX29uVG91Y2hzdGFydCwgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSA9ICdtb3VzZSc7XG4gICAgdGhpcy5fbW9zdFJlY2VudFRhcmdldCA9IG51bGw7XG4gICAgdGhpcy5fbGFzdFRvdWNoTXMgPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMga2V5ZG93biBldmVudHMuIE11c3QgYmUgYW4gYXJyb3cgZnVuY3Rpb24gaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHQgd2hlbiBpdCBnZXRzXG4gICAqIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gSWYgdGhpcyBpcyBvbmUgb2YgdGhlIGtleXMgd2Ugc2hvdWxkIGlnbm9yZSwgdGhlbiBpZ25vcmUgaXQgYW5kIGRvbid0IHVwZGF0ZSB0aGUgaW5wdXRcbiAgICAvLyBtb2RhbGl0eSB0byBrZXlib2FyZC5cbiAgICBpZiAodGhpcy5fb3B0aW9ucz8uaWdub3JlS2V5cz8uc29tZSgoa2V5Q29kZSkgPT4ga2V5Q29kZSA9PT0gZXZlbnQua2V5Q29kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSAna2V5Ym9hcmQnO1xuICAgIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbW91c2Vkb3duIGV2ZW50cy4gTXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBpbiBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgY29udGV4dCB3aGVuIGl0XG4gICAqIGdldHMgYm91bmQuXG4gICAqL1xuICBwcml2YXRlIF9vbk1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFRvdWNoZXMgdHJpZ2dlciBib3RoIHRvdWNoIGFuZCBtb3VzZSBldmVudHMsIHNvIHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBtb3VzZSBldmVudHNcbiAgICAvLyB0aGF0IHdlcmUgdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC4gVG8gZG8gc28sIGNoZWNrIGlmIHRoZSBtb3VzZSBldmVudCBvY2N1cnMgY2xvc2VseVxuICAgIC8vIGFmdGVyIHRoZSBwcmV2aW91cyB0b3VjaCBldmVudC5cbiAgICBpZiAoRGF0ZS5ub3coKSAtIHRoaXMuX2xhc3RUb3VjaE1zIDwgdG91Y2hCdWZmZXJNcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEZha2UgbW91c2Vkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnkgc29tZSBzY3JlZW4gcmVhZGVycyB3aGVuIGNvbnRyb2xzIGFyZSBhY3RpdmF0ZWQgYnkgdGhlXG4gICAgLy8gc2NyZWVuIHJlYWRlci4gQXR0cmlidXRlIHRoZW0gdG8ga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuXG4gICAgdGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5ID0gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCkgPyAna2V5Ym9hcmQnIDogJ21vdXNlJztcbiAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRvdWNoc3RhcnQgZXZlbnRzLiBNdXN0IGJlIGFuIGFycm93IGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZSBjb250ZXh0IHdoZW4gaXRcbiAgICogZ2V0cyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgX29uVG91Y2hzdGFydCA9IChldmVudDogVG91Y2hFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFNhbWUgc2NlbmFyaW8gYXMgbWVudGlvbmVkIGluIF9vbk1vdXNlZG93biwgYnV0IG9uIHRvdWNoIHNjcmVlbiBkZXZpY2VzLCBmYWtlIHRvdWNoc3RhcnRcbiAgICAvLyBldmVudHMgYXJlIGZpcmVkLiBBZ2FpbiwgYXR0cmlidXRlIHRvIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LlxuICAgIGlmIChpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudCkpIHtcbiAgICAgIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSA9ICdrZXlib2FyZCc7XG4gICAgICB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFN0b3JlIHRoZSB0aW1lc3RhbXAgb2YgdGhpcyB0b3VjaCBldmVudCwgYXMgaXQncyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gbW91c2UgZXZlbnRzXG4gICAgLy8gdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC5cbiAgICB0aGlzLl9sYXN0VG91Y2hNcyA9IERhdGUubm93KCk7XG5cbiAgICB0aGlzLl9tb3N0UmVjZW50TW9kYWxpdHkgPSAndG91Y2gnO1xuICAgIHRoaXMuX21vc3RSZWNlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChldmVudCk7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgPSBuZXcgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yKCk7XG5cbi8vIFNldCB0aGUgaW5wdXQgbW9kYWxpdHkgaW4gb3JkZXIgdG8gYXZvaWQgc2hvd2luZyB0aGUgb3V0bGluZSBpbiBTYWZhcmkuXG5leHBvcnQgZnVuY3Rpb24gc2V0TW9kYWxpdHlPbk5leHRGb2N1cyhlbGVtZW50VG9Gb2N1czogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gIGlmICghZWxlbWVudFRvRm9jdXMpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBtb3N0UmVjZW50TW9kYWxpdHkgPSBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5O1xuXG4gIC8vIFNldCBmb2N1cyBvcmlnaW4gdG8gZWxlbWVudCB3aGljaCBzaG91bGQgcmVjZWl2ZSBmb2N1c1xuICBpZiAoIShlbGVtZW50VG9Gb2N1cyAmJiBtb3N0UmVjZW50TW9kYWxpdHkgIT09IG51bGwpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGVsZW1lbnRUb0ZvY3VzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgJ2ZvY3VzJyxcbiAgICAoKSA9PiB7XG4gICAgICBlbGVtZW50VG9Gb2N1cy5zZXRBdHRyaWJ1dGUoJ2RhdGEtZm9jdXMtb3JpZ2luJywgbW9zdFJlY2VudE1vZGFsaXR5KTtcbiAgICAgIGVsZW1lbnRUb0ZvY3VzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdibHVyJyxcbiAgICAgICAgKCkgPT4gZWxlbWVudFRvRm9jdXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWZvY3VzLW9yaWdpbicpLFxuICAgICAgICB7XG4gICAgICAgICAgb25jZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSxcbiAgICB7IG9uY2U6IHRydWUgfSxcbiAgKTtcbn1cbiIsImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5cbi8vIERldGVybWluZSB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBhIHZpc2libGUgZm9jdXMgd2l0aGluLlxuZXhwb3J0IGNsYXNzIFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNpbkhhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5faG9zdC50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nLFxuICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2ZvY3Vzb3V0SGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nKTtcbiAgfTtcblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cbn1cbiIsImV4cG9ydCBmdW5jdGlvbiBoYXNHZW9tZXRyeShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAvLyBVc2UgbG9naWMgZnJvbSBqUXVlcnkgdG8gY2hlY2sgZm9yIGFuIGludmlzaWJsZSBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2pxdWVyeS9qcXVlcnkvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9oaWRkZW5WaXNpYmxlU2VsZWN0b3JzLmpzI0wxMlxuICByZXR1cm4gISEoXG4gICAgZWxlbWVudC5vZmZzZXRXaWR0aCB8fFxuICAgIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IHx8XG4gICAgKHR5cGVvZiBlbGVtZW50LmdldENsaWVudFJlY3RzID09PSAnZnVuY3Rpb24nICYmIGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpXG4gICk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW50ZXJhY3Rpdml0eUNoZWNrZXIge1xuICBpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZXJhY3Rpdml0eUNoZWNrZXIgaW1wbGVtZW50cyBJbnRlcmZhY2VJbnRlcmFjdGl2aXR5Q2hlY2tlciB7XG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBpcyB2aXNpYmxlIGZvciB0aGUgcHVycG9zZXMgb2YgaW50ZXJhY3Rpdml0eS5cbiAgICpcbiAgICogVGhpcyB3aWxsIGNhcHR1cmUgc3RhdGVzIGxpa2UgYGRpc3BsYXk6IG5vbmVgIGFuZCBgdmlzaWJpbGl0eTogaGlkZGVuYCwgYnV0IG5vdCB0aGluZ3MgbGlrZVxuICAgKiBiZWluZyBjbGlwcGVkIGJ5IGFuIGBvdmVyZmxvdzogaGlkZGVuYCBwYXJlbnQgb3IgYmVpbmcgb3V0c2lkZSB0aGUgdmlld3BvcnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZS5cbiAgICovXG4gIHB1YmxpYyBpc1Zpc2libGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzR2VvbWV0cnkoZWxlbWVudCkgJiYgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS52aXNpYmlsaXR5ID09PSAndmlzaWJsZSc7XG4gIH1cbn1cblxuY2xhc3MgSW50ZXJhY3Rpdml0eUNoZWNrZXJNb2NrIGltcGxlbWVudHMgSW50ZXJmYWNlSW50ZXJhY3Rpdml0eUNoZWNrZXIge1xuICBwdWJsaWMgaXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8vIEZvciB1bml0IHRlc3RzIHdlIG5lZWQgdG8gcHJldGVuZCB0aGF0IGFuIGVsZW1lbnQgaXMgYWx3YXlzIHZpc2libGUuXG4vLyBUaGlzIGNhbiBiZSBkb25lIGJ5IGNoZWNraW5nIGlmIHZpc2liaWxpdHkgcHJvcGVydHkgaXMgc2V0IHRvIGVtcHR5LlxuZXhwb3J0IGNvbnN0IGludGVyYWN0aXZpdHlDaGVja2VyOiBJbnRlcmZhY2VJbnRlcmFjdGl2aXR5Q2hlY2tlciA9XG4gIHR5cGVvZiBnZXRDb21wdXRlZFN0eWxlID09PSAndW5kZWZpbmVkJyB8fFxuICBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkudmlzaWJpbGl0eSA9PT0gJydcbiAgICA/IG5ldyBJbnRlcmFjdGl2aXR5Q2hlY2tlck1vY2soKVxuICAgIDogbmV3IEludGVyYWN0aXZpdHlDaGVja2VyKCk7XG4iLCJpbXBvcnQgeyBpbnRlcmFjdGl2aXR5Q2hlY2tlciB9IGZyb20gJy4vaW50ZXJhY3Rpdml0eS1jaGVja2VyLmpzJztcblxuZXhwb3J0IGNvbnN0IElTX0ZPQ1VTQUJMRV9RVUVSWSA9IFtcbiAgJ2J1dHRvbicsXG4gICdbaHJlZl0nLFxuICAnaW5wdXQnLFxuICAnc2VsZWN0JyxcbiAgJ3RleHRhcmVhJyxcbiAgJ2RldGFpbHMnLFxuICAnc3VtbWFyeScsXG4gICdbdGFiaW5kZXhdJyxcbl1cbiAgLm1hcCgoc2VsZWN0b3IpID0+IGAke3NlbGVjdG9yfTpub3QoW2Rpc2FibGVkXSw6ZGlzYWJsZWQsW3RhYmluZGV4PVwiLTFcIl0sW2luZXJ0XSlgKVxuICAuam9pbignLCcpO1xuXG4vLyBOb3RlOiB0aGUgdXNlIG9mIHRoaXMgZnVuY3Rpb24gZm9yIG1vcmUgY29tcGxleCBzY2VuYXJpb3MgKHdpdGggbWFueSBuZXN0ZWQgZWxlbWVudHMpIG1heSBiZSBleHBlbnNpdmUuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9jdXNhYmxlRWxlbWVudHMoXG4gIGVsZW1lbnRzOiBIVE1MRWxlbWVudFtdLFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIGZpbHRlcj86IChlbDogSFRNTEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgZmluZEZpcnN0Rm9jdXNhYmxlPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlSW52aXNpYmxlRWxlbWVudHM/OiBib29sZWFuO1xuICB9LFxuKTogSFRNTEVsZW1lbnRbXSB7XG4gIGNvbnN0IGZvY3VzYWJsZUVscyA9IG5ldyBTZXQ8SFRNTEVsZW1lbnQ+KCk7XG5cbiAgZnVuY3Rpb24gZ2V0Rm9jdXNhYmxlcyhlbGVtZW50czogSFRNTEVsZW1lbnRbXSwgZmlsdGVyPzogKGVsOiBIVE1MRWxlbWVudCkgPT4gYm9vbGVhbik6IHZvaWQge1xuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIGlmIChmaWx0ZXIgJiYgIWZpbHRlcihlbCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbC5ub2RlTmFtZSA9PT0gJ1NMT1QnKSB7XG4gICAgICAgIGdldEZvY3VzYWJsZXMoXG4gICAgICAgICAgQXJyYXkuZnJvbSgoZWwgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZEVsZW1lbnRzKCkpIGFzIEhUTUxFbGVtZW50W10sXG4gICAgICAgICAgZmlsdGVyLFxuICAgICAgICApO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBlbC5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkgJiZcbiAgICAgICAgKHByb3BlcnRpZXM/LmluY2x1ZGVJbnZpc2libGVFbGVtZW50cyA/PyBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1Zpc2libGUoZWwpKVxuICAgICAgKSB7XG4gICAgICAgIGZvY3VzYWJsZUVscy5hZGQoZWwpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydGllcz8uZmluZEZpcnN0Rm9jdXNhYmxlICYmIGZvY3VzYWJsZUVscy5zaXplID4gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKGVsLmNoaWxkcmVuLmxlbmd0aCB8fCBlbC5zaGFkb3dSb290Py5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKGVsLmNoaWxkcmVuKS5sZW5ndGhcbiAgICAgICAgICA/IChBcnJheS5mcm9tKGVsLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdKVxuICAgICAgICAgIDogKEFycmF5LmZyb20oZWwuc2hhZG93Um9vdCEuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W10pO1xuICAgICAgICBnZXRGb2N1c2FibGVzKGNoaWxkcmVuLCBmaWx0ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBnZXRGb2N1c2FibGVzKGVsZW1lbnRzLCBwcm9wZXJ0aWVzPy5maWx0ZXIpO1xuXG4gIHJldHVybiBbLi4uZm9jdXNhYmxlRWxzXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcnN0Rm9jdXNhYmxlRWxlbWVudChcbiAgZWxlbWVudHM6IEhUTUxFbGVtZW50W10sXG4gIGZpbHRlcj86IChlbDogSFRNTEVsZW1lbnQpID0+IGJvb2xlYW4sXG4pOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IGdldEZvY3VzYWJsZUVsZW1lbnRzKGVsZW1lbnRzLCB7XG4gICAgZmlsdGVyLFxuICAgIGZpbmRGaXJzdEZvY3VzYWJsZTogdHJ1ZSxcbiAgfSk7XG4gIHJldHVybiBmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggPyBmb2N1c2FibGVFbGVtZW50c1swXSA6IG51bGw7XG59XG5cbmV4cG9ydCBjbGFzcyBTYmJGb2N1c0hhbmRsZXIge1xuICBwcml2YXRlIF9jb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gZWxlbWVudCBpbiB3aGljaCB0aGUgZm9jdXMgc2hvdWxkIGJlIHRyYXBwZWQuXG4gICAqIEBwYXJhbSBvcHRpb25zIG9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0gb3B0aW9ucy5maWx0ZXIgZmlsdGVyIGZ1bmN0aW9uIHdoaWNoIGlzIGFwcGxpZWQgZHVyaW5nIHNlYXJjaGluZyBmb3IgZm9jdXNhYmxlIGVsZW1lbnQuIElmIGFuIGVsZW1lbnQgaXMgZmlsdGVyZWQsIGFsc28gY2hpbGQgZWxlbWVudHMgYXJlIGZpbHRlcmVkLlxuICAgKiBAcGFyYW0gb3B0aW9ucy5wb3N0RmlsdGVyIGZpbHRlciBmdW5jdGlvbiB3aGljaCBpcyBhcHBsaWVkIGFmdGVyIGNvbGxlY3RpbmcgZm9jdXNhYmxlIGVsZW1lbnRzLlxuICAgKi9cbiAgcHVibGljIHRyYXAoXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGZpbHRlcj86IChlbDogSFRNTEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgICBwb3N0RmlsdGVyPzogKGVsOiBIVE1MRWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICB9LFxuICApOiB2b2lkIHtcbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAna2V5ZG93bicsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gJ1RhYicpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEeW5hbWljYWxseSBnZXQgZmlyc3QgYW5kIGxhc3QgZm9jdXNhYmxlIGVsZW1lbnQsIGFzIHRoaXMgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNpbmNlIG9wZW5pbmcgb3ZlcmxheVxuICAgICAgICBjb25zdCBlbGVtZW50Q2hpbGRyZW46IEhUTUxFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgICAgIGVsZW1lbnQuc2hhZG93Um9vdCEuY2hpbGRyZW4gfHwgW10sXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBnZXRGb2N1c2FibGVFbGVtZW50cyhlbGVtZW50Q2hpbGRyZW4sIHtcbiAgICAgICAgICBmaWx0ZXI6IG9wdGlvbnM/LmZpbHRlcixcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRm9jdXNhYmxlRWxlbWVudHMgPSBmb2N1c2FibGVFbGVtZW50cy5maWx0ZXIoXG4gICAgICAgICAgb3B0aW9ucz8ucG9zdEZpbHRlciA/PyAoKCkgPT4gdHJ1ZSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFmaWx0ZXJlZEZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZmlsdGVyZWRGb2N1c2FibGVFbGVtZW50c1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgbGFzdEZvY3VzYWJsZSA9IGZpbHRlcmVkRm9jdXNhYmxlRWxlbWVudHNbXG4gICAgICAgICAgZmlsdGVyZWRGb2N1c2FibGVFbGVtZW50cy5sZW5ndGggLSAxXG4gICAgICAgIF0gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgW3Bpdm90LCBuZXh0XSA9IGV2ZW50LnNoaWZ0S2V5XG4gICAgICAgICAgPyBbZmlyc3RGb2N1c2FibGUsIGxhc3RGb2N1c2FibGVdXG4gICAgICAgICAgOiBbbGFzdEZvY3VzYWJsZSwgZmlyc3RGb2N1c2FibGVdO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAoZmlyc3RGb2N1c2FibGUuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3QpLmFjdGl2ZUVsZW1lbnQgPT09IHBpdm90IHx8XG4gICAgICAgICAgKGxhc3RGb2N1c2FibGUuZ2V0Um9vdE5vZGUoKSBhcyBEb2N1bWVudCB8IFNoYWRvd1Jvb3QpLmFjdGl2ZUVsZW1lbnQgPT09IHBpdm90XG4gICAgICAgICkge1xuICAgICAgICAgIG5leHQuZm9jdXMoKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2NvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICB0aGlzLl9jb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICB9XG59XG4iXSwibmFtZXMiOlsiZWxlbWVudHMiXSwibWFwcGluZ3MiOiI7O0FBS0EsU0FBUyxxQkFBa0I7QUFDekIsTUFBSSxTQUFTLGdCQUFnQixRQUFRLFdBQVcsR0FBRztBQUNqRCxXQUFPLEVBQUUsU0FBUyxjQUFjLFNBQVMsWUFBVztBQUFBLEVBQUEsT0FDL0M7QUFDTCxXQUFPLEVBQUUsU0FBUyxhQUFhLFNBQVMsYUFBWTtBQUFBLEVBQUE7QUFFeEQ7QUFNTSxTQUFVLGtCQUFrQixPQUFvQjtBQUM3QyxTQUFBLENBQUMsY0FBYyxhQUFhLFdBQVcsV0FBVyxFQUFFLFNBQVMsTUFBTSxHQUFHO0FBQy9FO0FBTU0sU0FBVSwwQkFBMEIsT0FBb0I7QUFDNUQsU0FBTyxNQUFNLFFBQVEsYUFBYSxNQUFNLFFBQVEscUJBQXFCO0FBQ3ZFO0FBTU0sU0FBVSxzQkFBc0IsT0FBb0I7QUFDeEQsU0FBTyxNQUFNLFFBQVEsZUFBZSxNQUFNLFFBQVEscUJBQXFCO0FBQ3pFO0FBTU0sU0FBVSw0QkFBNEIsT0FBb0I7QUFDdkQsU0FBQSxrQkFBa0IsS0FBSyxLQUFLLENBQUMsVUFBVSxZQUFZLFFBQVEsS0FBSyxFQUFFLFNBQVMsTUFBTSxHQUFHO0FBQzdGO0FBUUEsU0FBUyxxQkFBcUIsY0FBc0IsVUFBa0IsUUFBYztBQUMxRSxVQUFBLGVBQWUsU0FBUyxZQUFZO0FBQzlDO0FBRUEsU0FBUyxhQUFhLE1BQVk7QUFDaEMsU0FBTyxPQUFPO0FBQ2hCO0FBRUEsTUFBTSxhQUFhO0FBWUgsU0FBQSxvQkFBb0IsT0FBc0IsU0FBaUIsTUFBWTtBQUNyRixRQUFNLEVBQUUsU0FBUyxZQUFZO0FBRTdCLE1BQUksTUFBTSxRQUFRLFdBQVcsTUFBTSxRQUFRLFdBQVc7QUFDN0MsV0FBQSxVQUFVLGFBQWEsYUFBYSxJQUFJLElBQUkscUJBQXFCLFNBQVMsTUFBTSxFQUFFO0FBQUEsRUFBQSxXQUNo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
|
|
@@ -15,6 +15,8 @@ export declare abstract class SbbLinkBaseElement extends SbbActionBaseElement {
|
|
|
15
15
|
accessor download: boolean;
|
|
16
16
|
/** This will be forwarded as aria-label to the inner anchor element. */
|
|
17
17
|
accessor accessibilityLabel: string;
|
|
18
|
+
/** This will be forwarded as aria-current to the inner anchor element. */
|
|
19
|
+
accessor accessibilityCurrent: string;
|
|
18
20
|
protected language: SbbLanguageController;
|
|
19
21
|
constructor();
|
|
20
22
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/base-elements/link-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,6BAA6B,CAAC;AAErC,0DAA0D;AAC1D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,uBAAuB;AACvB,8BAIe,kBAAmB,SAAQ,oBAAoB;IAC5D,0CAA0C;IAC1C,SAEgB,IAAI,EAAE,MAAM,CAAM;IAElC,uCAAuC;IACvC,SAEgB,MAAM,EAAE,cAAc,GAAG,MAAM,CAAM;IAErD,wEAAwE;IACxE,SAEgB,GAAG,EAAE,MAAM,CAAM;IAEjC,kEAAkE;IAClE,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,wEAAwE;IACxE,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD,SAAS,CAAC,QAAQ,wBAAmC;;IASrD,gBAAgB;IACA,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAI/D,gBAAgB;IACA,IAAI,IAAI,IAAI;IAI5B,gBAAgB;IACA,KAAK,IAAI,IAAI;IAI7B,OAAO,CAAC,qBAAqB,CAE3B;IAEF,mHAAmH;cAChG,MAAM,IAAI,cAAc;IAI3C,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"link-base-element.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/base-elements/link-base-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,6BAA6B,CAAC;AAErC,0DAA0D;AAC1D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAErE,uBAAuB;AACvB,8BAIe,kBAAmB,SAAQ,oBAAoB;IAC5D,0CAA0C;IAC1C,SAEgB,IAAI,EAAE,MAAM,CAAM;IAElC,uCAAuC;IACvC,SAEgB,MAAM,EAAE,cAAc,GAAG,MAAM,CAAM;IAErD,wEAAwE;IACxE,SAEgB,GAAG,EAAE,MAAM,CAAM;IAEjC,kEAAkE;IAClE,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C,wEAAwE;IACxE,SAEgB,kBAAkB,EAAE,MAAM,CAAM;IAEhD,0EAA0E;IAC1E,SAEgB,oBAAoB,EAAE,MAAM,CAAM;IAElD,SAAS,CAAC,QAAQ,wBAAmC;;IASrD,gBAAgB;IACA,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAI/D,gBAAgB;IACA,IAAI,IAAI,IAAI;IAI5B,gBAAgB;IACA,KAAK,IAAI,IAAI;IAI7B,OAAO,CAAC,qBAAqB,CAE3B;IAEF,mHAAmH;cAChG,MAAM,IAAI,cAAc;IAI3C,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,GAAG,cAAc;CAsBpE"}
|