@gnggln/ng-ui-system 1.0.0-alpha.7 → 1.0.0-alpha.9

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.
Files changed (23) hide show
  1. package/esm2022/lib/components/accordion/accordion.component.mjs +106 -61
  2. package/esm2022/lib/components/accordion/accordion.types.mjs +1 -1
  3. package/esm2022/lib/components/base-layout/base-layout.component.mjs +25 -26
  4. package/esm2022/lib/components/crud-table/crud-table.component.mjs +1 -1
  5. package/esm2022/lib/components/form-builder/form-builder.component.mjs +453 -65
  6. package/esm2022/lib/components/form-builder/form-wizard.component.mjs +45 -8
  7. package/esm2022/lib/components/form-builder/types/field.types.mjs +1 -1
  8. package/esm2022/lib/components/form-builder/types/index.mjs +1 -1
  9. package/esm2022/lib/components/form-builder/types/schema.types.mjs +1 -1
  10. package/esm2022/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +2 -2
  11. package/esm2022/lib/components/page-header/breadcrumb.service.mjs +5 -4
  12. package/fesm2022/gnggln-ng-ui-system.mjs +626 -156
  13. package/fesm2022/gnggln-ng-ui-system.mjs.map +1 -1
  14. package/lib/components/accordion/accordion.component.d.ts +10 -3
  15. package/lib/components/accordion/accordion.types.d.ts +2 -0
  16. package/lib/components/base-layout/base-layout.component.d.ts +7 -10
  17. package/lib/components/form-builder/form-builder.component.d.ts +85 -12
  18. package/lib/components/form-builder/form-wizard.component.d.ts +13 -2
  19. package/lib/components/form-builder/types/field.types.d.ts +29 -3
  20. package/lib/components/form-builder/types/index.d.ts +2 -2
  21. package/lib/components/form-builder/types/schema.types.d.ts +51 -3
  22. package/lib/components/page-header/breadcrumb.service.d.ts +2 -2
  23. package/package.json +1 -1
@@ -68,9 +68,16 @@ export class UiAccordionComponent {
68
68
  /**
69
69
  * Template opzionale per contenuto aggiuntivo nell'header.
70
70
  * Il contesto fornisce il descriptor come `$implicit`.
71
- * Viene renderizzato tra il titolo e il chevron.
71
+ * Viene renderizzato all'interno del trigger, tra il titolo e il chevron.
72
72
  */
73
73
  this.headerTemplate = null;
74
+ /**
75
+ * Template opzionale per azioni nell'header del pannello.
76
+ * Posizionato tra il trigger e il chevron, al di fuori del button
77
+ * per consentire elementi interattivi (es. pulsanti duplica/elimina).
78
+ * Il contesto fornisce il descriptor come `$implicit`.
79
+ */
80
+ this.actionsTemplate = null;
74
81
  /**
75
82
  * Modalita di espansione.
76
83
  * - `multi`: piu pannelli aperti contemporaneamente
@@ -176,9 +183,9 @@ export class UiAccordionComponent {
176
183
  const headers = this.getHeaders();
177
184
  headers[headers.length - 1]?.focus();
178
185
  }
179
- /** @internal Recupera tutti gli header button del DOM. */
186
+ /** @internal Recupera tutti i trigger button del DOM. */
180
187
  getHeaders() {
181
- return Array.from(document.querySelectorAll('.ui-accordion__header:not(:disabled)'));
188
+ return Array.from(document.querySelectorAll('.ui-accordion__trigger:not(:disabled)'));
182
189
  }
183
190
  /**
184
191
  * @internal Calcola un fingerprint leggero basato sulle proprieta
@@ -188,45 +195,63 @@ export class UiAccordionComponent {
188
195
  return this.items.map((i) => `${i.id}:${i.hidden ?? 0}:${i.disabled ?? 0}:${i.expanded ?? 0}:${i.title}`).join('|');
189
196
  }
190
197
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiAccordionComponent, isStandalone: true, selector: "ui-accordion", inputs: { items: "items", itemTemplate: "itemTemplate", headerTemplate: "headerTemplate", mode: "mode", ariaLabel: "ariaLabel" }, outputs: { itemToggled: "itemToggled" }, host: { classAttribute: "ui-accordion-host" }, ngImport: i0, template: `
198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiAccordionComponent, isStandalone: true, selector: "ui-accordion", inputs: { items: "items", itemTemplate: "itemTemplate", headerTemplate: "headerTemplate", actionsTemplate: "actionsTemplate", mode: "mode", ariaLabel: "ariaLabel" }, outputs: { itemToggled: "itemToggled" }, host: { classAttribute: "ui-accordion-host" }, ngImport: i0, template: `
192
199
  @for (item of visibleItems; track item.id) {
193
200
  <div
194
201
  [class]="getPanelClasses(item)"
195
202
  [id]="'ui-accordion-' + item.id"
196
203
  >
197
- <!-- Header -->
198
- <button
204
+ <!-- Header: div wrapper per ospitare trigger + azioni + chevron -->
205
+ <div
199
206
  class="ui-accordion__header"
200
207
  [class.ui-accordion__header--expanded]="item.expanded"
201
208
  [class.ui-accordion__header--disabled]="item.disabled"
202
- [disabled]="item.disabled"
203
- [attr.aria-expanded]="item.expanded"
204
- [attr.aria-controls]="'ui-accordion-body-' + item.id"
205
- [attr.id]="'ui-accordion-header-' + item.id"
206
- type="button"
207
- (click)="toggle(item)"
208
- (keydown.home)="focusFirst($event)"
209
- (keydown.end)="focusLast($event)"
209
+ (click)="!item.disabled && toggle(item)"
210
210
  >
211
- <div class="ui-accordion__header-content">
212
- @if (item.icon) {
213
- <lucide-icon
214
- class="ui-accordion__icon"
215
- [name]="item.icon"
216
- [size]="18"
217
- aria-hidden="true"
218
- />
219
- }
220
- <span class="ui-accordion__title">{{ item.title }}</span>
221
- @if (item.subtitle) {
222
- <span class="ui-accordion__subtitle">{{ item.subtitle }}</span>
211
+ <button
212
+ class="ui-accordion__trigger"
213
+ [disabled]="item.disabled"
214
+ [attr.aria-expanded]="item.expanded"
215
+ [attr.aria-controls]="'ui-accordion-body-' + item.id"
216
+ [attr.id]="'ui-accordion-header-' + item.id"
217
+ type="button"
218
+ (keydown.home)="focusFirst($event)"
219
+ (keydown.end)="focusLast($event)"
220
+ >
221
+ <div class="ui-accordion__header-content">
222
+ @if (item.icon) {
223
+ <lucide-icon
224
+ class="ui-accordion__icon"
225
+ [name]="item.icon"
226
+ [size]="18"
227
+ aria-hidden="true"
228
+ />
229
+ }
230
+ <span class="ui-accordion__title">{{ item.title }}</span>
231
+ @if (item.subtitle) {
232
+ <span class="ui-accordion__subtitle">{{ item.subtitle }}</span>
233
+ }
234
+ </div>
235
+
236
+ @if (headerTemplate) {
237
+ <div class="ui-accordion__header-extra">
238
+ <ng-container
239
+ [ngTemplateOutlet]="headerTemplate"
240
+ [ngTemplateOutletContext]="{ $implicit: item }"
241
+ />
242
+ </div>
223
243
  }
224
- </div>
244
+ </button>
225
245
 
226
- @if (headerTemplate) {
227
- <div class="ui-accordion__header-extra">
246
+ @if (actionsTemplate) {
247
+ <div
248
+ class="ui-accordion__actions"
249
+ role="group"
250
+ aria-label="Azioni pannello"
251
+ (click)="$event.stopPropagation()"
252
+ >
228
253
  <ng-container
229
- [ngTemplateOutlet]="headerTemplate"
254
+ [ngTemplateOutlet]="actionsTemplate"
230
255
  [ngTemplateOutletContext]="{ $implicit: item }"
231
256
  />
232
257
  </div>
@@ -239,7 +264,7 @@ export class UiAccordionComponent {
239
264
  [size]="16"
240
265
  aria-hidden="true"
241
266
  />
242
- </button>
267
+ </div>
243
268
 
244
269
  <!-- Body (animazione CSS grid) -->
245
270
  <div
@@ -260,7 +285,7 @@ export class UiAccordionComponent {
260
285
  </div>
261
286
  </div>
262
287
  }
263
- `, isInline: true, styles: [".ui-accordion-host{display:flex;flex-direction:column;gap:var(--ui-spacing-2)}.ui-accordion__panel{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-surface);overflow:hidden;transition:box-shadow var(--ui-transition-fast)}.ui-accordion__panel--expanded{box-shadow:var(--ui-shadow-xs)}.ui-accordion__panel--disabled{opacity:.55}.ui-accordion__header{appearance:none;border:none;background:transparent;cursor:pointer;font-family:var(--ui-font-family);display:flex;align-items:center;width:100%;padding:var(--ui-spacing-4) var(--ui-spacing-5);gap:var(--ui-spacing-3);text-align:left;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-accordion__header:focus{outline:none}.ui-accordion__header:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-accordion__header:hover:not(:disabled){background:var(--ui-color-surface-hover)}.ui-accordion__header--expanded{background:var(--ui-color-bg-subtle);border-bottom:1px solid var(--ui-color-border)}.ui-accordion__header--disabled{cursor:not-allowed}.ui-accordion__header-content{flex:1;display:flex;align-items:center;gap:var(--ui-spacing-2);min-width:0}.ui-accordion__icon{color:var(--ui-color-primary);flex-shrink:0}.ui-accordion__title{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__subtitle{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__header-extra{flex-shrink:0}.ui-accordion__chevron{flex-shrink:0;color:var(--ui-color-text-muted);transition:transform var(--ui-transition-normal)}.ui-accordion__chevron--rotated{transform:rotate(180deg)}.ui-accordion__body-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--ui-transition-normal)}.ui-accordion__body-wrapper--open{grid-template-rows:1fr}.ui-accordion__body{overflow:hidden;padding:0 var(--ui-spacing-5);transition:padding var(--ui-transition-normal)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-5)}@media (max-width: 768px){.ui-accordion__header{padding:var(--ui-spacing-3) var(--ui-spacing-4)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-4)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
288
+ `, isInline: true, styles: [".ui-accordion-host{display:flex;flex-direction:column;gap:var(--ui-spacing-2)}.ui-accordion__panel{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-surface);overflow:hidden;transition:box-shadow var(--ui-transition-fast)}.ui-accordion__panel--expanded{box-shadow:var(--ui-shadow-xs)}.ui-accordion__panel--disabled{opacity:.55}.ui-accordion__header{display:flex;align-items:center;width:100%;padding:var(--ui-spacing-4) var(--ui-spacing-5);gap:var(--ui-spacing-3);cursor:pointer;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-accordion__header:hover:not(.ui-accordion__header--disabled){background:var(--ui-color-surface-hover)}.ui-accordion__header--expanded{background:var(--ui-color-bg-subtle);border-bottom:1px solid var(--ui-color-border)}.ui-accordion__header--disabled{cursor:not-allowed}.ui-accordion__trigger{appearance:none;border:none;background:transparent;cursor:pointer;font-family:var(--ui-font-family);padding:0;margin:0;flex:1;display:flex;align-items:center;gap:var(--ui-spacing-3);text-align:left;min-width:0;color:inherit}.ui-accordion__trigger:focus{outline:none}.ui-accordion__trigger:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-accordion__trigger:disabled{cursor:not-allowed}.ui-accordion__header-content{flex:1;display:flex;align-items:center;gap:var(--ui-spacing-2);min-width:0}.ui-accordion__icon{color:var(--ui-color-primary);flex-shrink:0}.ui-accordion__title{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__subtitle{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__header-extra{flex-shrink:0}.ui-accordion__actions{display:flex;align-items:center;gap:var(--ui-spacing-1);flex-shrink:0}.ui-accordion__chevron{flex-shrink:0;color:var(--ui-color-text-muted);transition:transform var(--ui-transition-normal)}.ui-accordion__chevron--rotated{transform:rotate(180deg)}.ui-accordion__body-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--ui-transition-normal)}.ui-accordion__body-wrapper--open{grid-template-rows:1fr}.ui-accordion__body{overflow:hidden;padding:0 var(--ui-spacing-5);transition:padding var(--ui-transition-normal)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-5)}@media (max-width: 768px){.ui-accordion__header{padding:var(--ui-spacing-3) var(--ui-spacing-4)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-4)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
264
289
  }
265
290
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiAccordionComponent, decorators: [{
266
291
  type: Component,
@@ -270,39 +295,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
270
295
  [class]="getPanelClasses(item)"
271
296
  [id]="'ui-accordion-' + item.id"
272
297
  >
273
- <!-- Header -->
274
- <button
298
+ <!-- Header: div wrapper per ospitare trigger + azioni + chevron -->
299
+ <div
275
300
  class="ui-accordion__header"
276
301
  [class.ui-accordion__header--expanded]="item.expanded"
277
302
  [class.ui-accordion__header--disabled]="item.disabled"
278
- [disabled]="item.disabled"
279
- [attr.aria-expanded]="item.expanded"
280
- [attr.aria-controls]="'ui-accordion-body-' + item.id"
281
- [attr.id]="'ui-accordion-header-' + item.id"
282
- type="button"
283
- (click)="toggle(item)"
284
- (keydown.home)="focusFirst($event)"
285
- (keydown.end)="focusLast($event)"
303
+ (click)="!item.disabled && toggle(item)"
286
304
  >
287
- <div class="ui-accordion__header-content">
288
- @if (item.icon) {
289
- <lucide-icon
290
- class="ui-accordion__icon"
291
- [name]="item.icon"
292
- [size]="18"
293
- aria-hidden="true"
294
- />
295
- }
296
- <span class="ui-accordion__title">{{ item.title }}</span>
297
- @if (item.subtitle) {
298
- <span class="ui-accordion__subtitle">{{ item.subtitle }}</span>
305
+ <button
306
+ class="ui-accordion__trigger"
307
+ [disabled]="item.disabled"
308
+ [attr.aria-expanded]="item.expanded"
309
+ [attr.aria-controls]="'ui-accordion-body-' + item.id"
310
+ [attr.id]="'ui-accordion-header-' + item.id"
311
+ type="button"
312
+ (keydown.home)="focusFirst($event)"
313
+ (keydown.end)="focusLast($event)"
314
+ >
315
+ <div class="ui-accordion__header-content">
316
+ @if (item.icon) {
317
+ <lucide-icon
318
+ class="ui-accordion__icon"
319
+ [name]="item.icon"
320
+ [size]="18"
321
+ aria-hidden="true"
322
+ />
323
+ }
324
+ <span class="ui-accordion__title">{{ item.title }}</span>
325
+ @if (item.subtitle) {
326
+ <span class="ui-accordion__subtitle">{{ item.subtitle }}</span>
327
+ }
328
+ </div>
329
+
330
+ @if (headerTemplate) {
331
+ <div class="ui-accordion__header-extra">
332
+ <ng-container
333
+ [ngTemplateOutlet]="headerTemplate"
334
+ [ngTemplateOutletContext]="{ $implicit: item }"
335
+ />
336
+ </div>
299
337
  }
300
- </div>
338
+ </button>
301
339
 
302
- @if (headerTemplate) {
303
- <div class="ui-accordion__header-extra">
340
+ @if (actionsTemplate) {
341
+ <div
342
+ class="ui-accordion__actions"
343
+ role="group"
344
+ aria-label="Azioni pannello"
345
+ (click)="$event.stopPropagation()"
346
+ >
304
347
  <ng-container
305
- [ngTemplateOutlet]="headerTemplate"
348
+ [ngTemplateOutlet]="actionsTemplate"
306
349
  [ngTemplateOutletContext]="{ $implicit: item }"
307
350
  />
308
351
  </div>
@@ -315,7 +358,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
315
358
  [size]="16"
316
359
  aria-hidden="true"
317
360
  />
318
- </button>
361
+ </div>
319
362
 
320
363
  <!-- Body (animazione CSS grid) -->
321
364
  <div
@@ -336,13 +379,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
336
379
  </div>
337
380
  </div>
338
381
  }
339
- `, styles: [".ui-accordion-host{display:flex;flex-direction:column;gap:var(--ui-spacing-2)}.ui-accordion__panel{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-surface);overflow:hidden;transition:box-shadow var(--ui-transition-fast)}.ui-accordion__panel--expanded{box-shadow:var(--ui-shadow-xs)}.ui-accordion__panel--disabled{opacity:.55}.ui-accordion__header{appearance:none;border:none;background:transparent;cursor:pointer;font-family:var(--ui-font-family);display:flex;align-items:center;width:100%;padding:var(--ui-spacing-4) var(--ui-spacing-5);gap:var(--ui-spacing-3);text-align:left;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-accordion__header:focus{outline:none}.ui-accordion__header:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-accordion__header:hover:not(:disabled){background:var(--ui-color-surface-hover)}.ui-accordion__header--expanded{background:var(--ui-color-bg-subtle);border-bottom:1px solid var(--ui-color-border)}.ui-accordion__header--disabled{cursor:not-allowed}.ui-accordion__header-content{flex:1;display:flex;align-items:center;gap:var(--ui-spacing-2);min-width:0}.ui-accordion__icon{color:var(--ui-color-primary);flex-shrink:0}.ui-accordion__title{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__subtitle{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__header-extra{flex-shrink:0}.ui-accordion__chevron{flex-shrink:0;color:var(--ui-color-text-muted);transition:transform var(--ui-transition-normal)}.ui-accordion__chevron--rotated{transform:rotate(180deg)}.ui-accordion__body-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--ui-transition-normal)}.ui-accordion__body-wrapper--open{grid-template-rows:1fr}.ui-accordion__body{overflow:hidden;padding:0 var(--ui-spacing-5);transition:padding var(--ui-transition-normal)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-5)}@media (max-width: 768px){.ui-accordion__header{padding:var(--ui-spacing-3) var(--ui-spacing-4)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-4)}}\n"] }]
382
+ `, styles: [".ui-accordion-host{display:flex;flex-direction:column;gap:var(--ui-spacing-2)}.ui-accordion__panel{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-surface);overflow:hidden;transition:box-shadow var(--ui-transition-fast)}.ui-accordion__panel--expanded{box-shadow:var(--ui-shadow-xs)}.ui-accordion__panel--disabled{opacity:.55}.ui-accordion__header{display:flex;align-items:center;width:100%;padding:var(--ui-spacing-4) var(--ui-spacing-5);gap:var(--ui-spacing-3);cursor:pointer;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-accordion__header:hover:not(.ui-accordion__header--disabled){background:var(--ui-color-surface-hover)}.ui-accordion__header--expanded{background:var(--ui-color-bg-subtle);border-bottom:1px solid var(--ui-color-border)}.ui-accordion__header--disabled{cursor:not-allowed}.ui-accordion__trigger{appearance:none;border:none;background:transparent;cursor:pointer;font-family:var(--ui-font-family);padding:0;margin:0;flex:1;display:flex;align-items:center;gap:var(--ui-spacing-3);text-align:left;min-width:0;color:inherit}.ui-accordion__trigger:focus{outline:none}.ui-accordion__trigger:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-accordion__trigger:disabled{cursor:not-allowed}.ui-accordion__header-content{flex:1;display:flex;align-items:center;gap:var(--ui-spacing-2);min-width:0}.ui-accordion__icon{color:var(--ui-color-primary);flex-shrink:0}.ui-accordion__title{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__subtitle{font-size:var(--ui-font-size-xs);color:var(--ui-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-accordion__header-extra{flex-shrink:0}.ui-accordion__actions{display:flex;align-items:center;gap:var(--ui-spacing-1);flex-shrink:0}.ui-accordion__chevron{flex-shrink:0;color:var(--ui-color-text-muted);transition:transform var(--ui-transition-normal)}.ui-accordion__chevron--rotated{transform:rotate(180deg)}.ui-accordion__body-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--ui-transition-normal)}.ui-accordion__body-wrapper--open{grid-template-rows:1fr}.ui-accordion__body{overflow:hidden;padding:0 var(--ui-spacing-5);transition:padding var(--ui-transition-normal)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-5)}@media (max-width: 768px){.ui-accordion__header{padding:var(--ui-spacing-3) var(--ui-spacing-4)}.ui-accordion__body-wrapper--open .ui-accordion__body{padding:var(--ui-spacing-4)}}\n"] }]
340
383
  }], propDecorators: { items: [{
341
384
  type: Input
342
385
  }], itemTemplate: [{
343
386
  type: Input
344
387
  }], headerTemplate: [{
345
388
  type: Input
389
+ }], actionsTemplate: [{
390
+ type: Input
346
391
  }], mode: [{
347
392
  type: Input
348
393
  }], ariaLabel: [{
@@ -350,4 +395,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
350
395
  }], itemToggled: [{
351
396
  type: Output
352
397
  }] } });
353
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUdqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFtRkgsTUFBTSxPQUFPLG9CQUFvQjtJQWxGakM7UUFtRm1CLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVqRDs7OztXQUlHO1FBQ0sscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBRTlCOzs7Ozs7V0FNRztRQUNNLFVBQUssR0FBNEIsRUFBRSxDQUFDO1FBRTdDOzs7Ozs7Ozs7O1dBVUc7UUFDTSxpQkFBWSxHQUFnQyxJQUFJLENBQUM7UUFFMUQ7Ozs7V0FJRztRQUNNLG1CQUFjLEdBQWdDLElBQUksQ0FBQztRQUU1RDs7OztXQUlHO1FBQ00sU0FBSSxHQUFvQixPQUFPLENBQUM7UUFFekMsaURBQWlEO1FBQ3hDLGNBQVMsR0FBRyxXQUFXLENBQUM7UUFFakMsdURBQXVEO1FBQzdDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7S0F1SHBFO0lBckhDOzs7Ozs7OztPQVFHO0lBQ0gsU0FBUztRQUNQLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELHNDQUFzQztJQUN0QyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLE1BQU0sQ0FBQyxJQUEyQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUUxQixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFbEMsNkNBQTZDO1FBQzdDLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsSUFBSSxDQUFDLEVBQVU7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxLQUFLLENBQUMsRUFBVTtRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELCtCQUErQjtJQUMvQixRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsZUFBZSxDQUFDLElBQTJCO1FBQ3pDLE9BQU87WUFDTCxxQkFBcUI7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDckQ7YUFDRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsbURBQW1EO0lBQ25ELFNBQVMsQ0FBQyxLQUFZO1FBQ3BCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELDBEQUEwRDtJQUNsRCxVQUFVO1FBQ2hCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQW9CLHNDQUFzQyxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEgsQ0FBQzsrR0F4S1Usb0JBQW9CO21HQUFwQixvQkFBb0Isa1NBM0VyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VULHE4RUE1RVMsZ0JBQWdCLG1KQUFFLG1CQUFtQjs7NEZBK0VwQyxvQkFBb0I7a0JBbEZoQyxTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxtQkFDL0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxZQUMxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VUOzhCQW9CUSxLQUFLO3NCQUFiLEtBQUs7Z0JBYUcsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIERvQ2hlY2ssXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgaW5qZWN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSB9IGZyb20gJ2x1Y2lkZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgVWlBY2NvcmRpb25EZXNjcmlwdG9yLCBVaUFjY29yZGlvblRvZ2dsZUV2ZW50LCBVaUFjY29yZGlvbk1vZGUgfSBmcm9tICcuL2FjY29yZGlvbi50eXBlcyc7XHJcblxyXG4vKipcclxuICogQWNjb3JkaW9uIGNvbmZpZ3VyYWJpbGUsIGRhdGEtZHJpdmVuLCBjb24gc3VwcG9ydG8gbXVsdGkvc2luZ2xlIGV4cGFuZCxcclxuICogYW5pbWF6aW9uaSBDU1MsIGljb25lIEx1Y2lkZSBlIHRlbXBsYXRlIHBlcnNvbmFsaXp6YWJpbGkuXHJcbiAqXHJcbiAqIElsIGNvbnRlbnV0byBkZWkgcGFubmVsbGkgdmllbmUgZm9ybml0byB0cmFtaXRlIHVuIGBpdGVtVGVtcGxhdGVgXHJcbiAqIGNoZSByaWNldmUgaWwgZGVzY3JpcHRvciBkZWwgcGFubmVsbG8gY29tZSBjb250ZXN0by5cclxuICpcclxuICogQHNlbGVjdG9yIHVpLWFjY29yZGlvblxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDx1aS1hY2NvcmRpb25cclxuICogICBbaXRlbXNdPVwic2VjdGlvbnNcIlxyXG4gKiAgIFtpdGVtVGVtcGxhdGVdPVwicGFuZWxUcGxcIlxyXG4gKiAgIG1vZGU9XCJzaW5nbGVcIlxyXG4gKiA+XHJcbiAqICAgPG5nLXRlbXBsYXRlICNwYW5lbFRwbCBsZXQtaXRlbT5cclxuICogICAgIEBzd2l0Y2ggKGl0ZW0uaWQpIHtcclxuICogICAgICAgQGNhc2UgKCdpbmZvJykgICAgeyA8YXBwLWluZm8tcGFuZWwgLz4gfVxyXG4gKiAgICAgICBAY2FzZSAoJ2FkZHJlc3MnKSB7IDxhcHAtYWRkcmVzcy1mb3JtIC8+IH1cclxuICogICAgIH1cclxuICogICA8L25nLXRlbXBsYXRlPlxyXG4gKiA8L3VpLWFjY29yZGlvbj5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogc2VjdGlvbnM6IFVpQWNjb3JkaW9uRGVzY3JpcHRvcltdID0gW1xyXG4gKiAgIHsgaWQ6ICdpbmZvJywgdGl0bGU6ICdJbmZvcm1hemlvbmknLCBpY29uOiAnaW5mbycsIGV4cGFuZGVkOiB0cnVlIH0sXHJcbiAqICAgeyBpZDogJ2FkZHJlc3MnLCB0aXRsZTogJ0luZGlyaXp6bycsIGljb246ICdtYXAtcGluJyB9LFxyXG4gKiBdO1xyXG4gKiBgYGBcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktYWNjb3JkaW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBMdWNpZGVBbmd1bGFyTW9kdWxlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICd1aS1hY2NvcmRpb24taG9zdCcgfSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgQGZvciAoaXRlbSBvZiB2aXNpYmxlSXRlbXM7IHRyYWNrIGl0ZW0uaWQpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtjbGFzc109XCJnZXRQYW5lbENsYXNzZXMoaXRlbSlcIlxyXG4gICAgICAgIFtpZF09XCIndWktYWNjb3JkaW9uLScgKyBpdGVtLmlkXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gSGVhZGVyIC0tPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIGNsYXNzPVwidWktYWNjb3JkaW9uX19oZWFkZXJcIlxyXG4gICAgICAgICAgW2NsYXNzLnVpLWFjY29yZGlvbl9faGVhZGVyLS1leHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkXCJcclxuICAgICAgICAgIFtjbGFzcy51aS1hY2NvcmRpb25fX2hlYWRlci0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uZXhwYW5kZWRcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndWktYWNjb3JkaW9uLWJvZHktJyArIGl0ZW0uaWRcIlxyXG4gICAgICAgICAgW2F0dHIuaWRdPVwiJ3VpLWFjY29yZGlvbi1oZWFkZXItJyArIGl0ZW0uaWRcIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlKGl0ZW0pXCJcclxuICAgICAgICAgIChrZXlkb3duLmhvbWUpPVwiZm9jdXNGaXJzdCgkZXZlbnQpXCJcclxuICAgICAgICAgIChrZXlkb3duLmVuZCk9XCJmb2N1c0xhc3QoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWFjY29yZGlvbl9faGVhZGVyLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcclxuICAgICAgICAgICAgICA8bHVjaWRlLWljb25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidWktYWNjb3JkaW9uX19pY29uXCJcclxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0uaWNvblwiXHJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCIxOFwiXHJcbiAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1hY2NvcmRpb25fX3RpdGxlXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgQGlmIChpdGVtLnN1YnRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1hY2NvcmRpb25fX3N1YnRpdGxlXCI+e3sgaXRlbS5zdWJ0aXRsZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgQGlmIChoZWFkZXJUZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidWktYWNjb3JkaW9uX19oZWFkZXItZXh0cmFcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgPGx1Y2lkZS1pY29uXHJcbiAgICAgICAgICAgIGNsYXNzPVwidWktYWNjb3JkaW9uX19jaGV2cm9uXCJcclxuICAgICAgICAgICAgW2NsYXNzLnVpLWFjY29yZGlvbl9fY2hldnJvbi0tcm90YXRlZF09XCJpdGVtLmV4cGFuZGVkXCJcclxuICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tZG93blwiXHJcbiAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcclxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDwhLS0gQm9keSAoYW5pbWF6aW9uZSBDU1MgZ3JpZCkgLS0+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJ1aS1hY2NvcmRpb25fX2JvZHktd3JhcHBlclwiXHJcbiAgICAgICAgICBbY2xhc3MudWktYWNjb3JkaW9uX19ib2R5LXdyYXBwZXItLW9wZW5dPVwiaXRlbS5leHBhbmRlZFwiXHJcbiAgICAgICAgICByb2xlPVwicmVnaW9uXCJcclxuICAgICAgICAgIFthdHRyLmlkXT1cIid1aS1hY2NvcmRpb24tYm9keS0nICsgaXRlbS5pZFwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3VpLWFjY29yZGlvbi1oZWFkZXItJyArIGl0ZW0uaWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1aS1hY2NvcmRpb25fX2JvZHlcIj5cclxuICAgICAgICAgICAgQGlmIChpdGVtLmV4cGFuZGVkICYmIGl0ZW1UZW1wbGF0ZSkge1xyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIGAsXHJcbiAgc3R5bGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUFjY29yZGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2sge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRmluZ2VycHJpbnQgZGVsbCd1bHRpbW8gc3RhdG8gZGVpIGRlc2NyaXB0b3IuXHJcbiAgICogVXNhdG8gZGEgRG9DaGVjayBwZXIgcmlsZXZhcmUgbXV0YXppb25pIGluLXBsYWNlIHN1bGxlIHByb3ByaWV0YVxyXG4gICAqIGRlZ2xpIGl0ZW0gc2VuemEgcmljaGllZGVyZSB1biBudW92byByaWZlcmltZW50byBkZWxsJ2FycmF5LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2xhc3RGaW5nZXJwcmludCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBBcnJheSBkaSBkZXNjcmlwdG9yIGRlaSBwYW5uZWxsaS5cclxuICAgKiBQYW5uZWxsaSBjb24gYGhpZGRlbjogdHJ1ZWAgdmVuZ29ubyBmaWx0cmF0aSBhdXRvbWF0aWNhbWVudGUuXHJcbiAgICpcclxuICAgKiBTdXBwb3J0YSBzaWEgYWdnaW9ybmFtZW50aSBpbW11dGFiaWxpIChudW92byBhcnJheSkgc2lhXHJcbiAgICogbXV0YXppb25pIGluLXBsYWNlIGRlbGxlIHByb3ByaWV0YSBkZWkgZGVzY3JpcHRvci5cclxuICAgKi9cclxuICBASW5wdXQoKSBpdGVtczogVWlBY2NvcmRpb25EZXNjcmlwdG9yW10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGVtcGxhdGUgcGVyIGlsIGNvbnRlbnV0byBkaSBvZ25pIHBhbm5lbGxvLlxyXG4gICAqIElsIGNvbnRlc3RvIGZvcm5pc2NlIGlsIGRlc2NyaXB0b3IgY29tZSBgJGltcGxpY2l0YC5cclxuICAgKlxyXG4gICAqIEBleGFtcGxlXHJcbiAgICogYGBgaHRtbFxyXG4gICAqIDxuZy10ZW1wbGF0ZSAjdHBsIGxldC1pdGVtPlxyXG4gICAqICAgPHA+Q29udGVudXRvIHBlcjoge3sgaXRlbS50aXRsZSB9fTwvcD5cclxuICAgKiA8L25nLXRlbXBsYXRlPlxyXG4gICAqIGBgYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVGVtcGxhdGUgb3B6aW9uYWxlIHBlciBjb250ZW51dG8gYWdnaXVudGl2byBuZWxsJ2hlYWRlci5cclxuICAgKiBJbCBjb250ZXN0byBmb3JuaXNjZSBpbCBkZXNjcmlwdG9yIGNvbWUgYCRpbXBsaWNpdGAuXHJcbiAgICogVmllbmUgcmVuZGVyaXp6YXRvIHRyYSBpbCB0aXRvbG8gZSBpbCBjaGV2cm9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBNb2RhbGl0YSBkaSBlc3BhbnNpb25lLlxyXG4gICAqIC0gYG11bHRpYDogcGl1IHBhbm5lbGxpIGFwZXJ0aSBjb250ZW1wb3JhbmVhbWVudGVcclxuICAgKiAtIGBzaW5nbGVgOiB1biBzb2xvIHBhbm5lbGxvIGFwZXJ0byBhbGxhIHZvbHRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9kZTogVWlBY2NvcmRpb25Nb2RlID0gJ211bHRpJztcclxuXHJcbiAgLyoqIExhYmVsIGFjY2Vzc2liaWxlIHBlciBpbCBncnVwcG8gYWNjb3JkaW9uLiAqL1xyXG4gIEBJbnB1dCgpIGFyaWFMYWJlbCA9ICdBY2NvcmRpb24nO1xyXG5cclxuICAvKiogRW1lc3NvIHF1YW5kbyB1biBwYW5uZWxsbyB2aWVuZSBhcGVydG8gbyBjaGl1c28uICovXHJcbiAgQE91dHB1dCgpIGl0ZW1Ub2dnbGVkID0gbmV3IEV2ZW50RW1pdHRlcjxVaUFjY29yZGlvblRvZ2dsZUV2ZW50PigpO1xyXG5cclxuICAvKipcclxuICAgKiBSaWxldmEgbXV0YXppb25pIGluLXBsYWNlIHN1bGxlIHByb3ByaWV0YSBkZWkgZGVzY3JpcHRvci5cclxuICAgKiBDb25mcm9udGEgdW4gZmluZ2VycHJpbnQgbGVnZ2VybyBkZWxsbyBzdGF0byBjb3JyZW50ZSBjb24gcXVlbGxvXHJcbiAgICogcHJlY2VkZW50ZSBlLCBzZSBkaXZlcnNvLCBmb3J6YSB1biBjaWNsbyBkaSBjaGFuZ2UgZGV0ZWN0aW9uLlxyXG4gICAqXHJcbiAgICogUXVlc3RvIHBlcm1ldHRlIGFsIGNvbnN1bWF0b3JlIGRpIGZhcmUgc2lhOlxyXG4gICAqIC0gYGl0ZW1zWzJdLmhpZGRlbiA9IHRydWVgICAobXV0YXppb25lIGluLXBsYWNlKVxyXG4gICAqIC0gYGl0ZW1zID0gWy4uLm5ld0l0ZW1zXWAgICAobnVvdm8gcmlmZXJpbWVudG8pXHJcbiAgICovXHJcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZnAgPSB0aGlzLmNvbXB1dGVGaW5nZXJwcmludCgpO1xyXG4gICAgaWYgKGZwICE9PSB0aGlzLl9sYXN0RmluZ2VycHJpbnQpIHtcclxuICAgICAgdGhpcy5fbGFzdEZpbmdlcnByaW50ID0gZnA7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFBhbm5lbGxpIHZpc2liaWxpIChub24gaGlkZGVuKS4gKi9cclxuICBnZXQgdmlzaWJsZUl0ZW1zKCk6IFVpQWNjb3JkaW9uRGVzY3JpcHRvcltdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLmZpbHRlcigoaSkgPT4gIWkuaGlkZGVuKTtcclxuICB9XHJcblxyXG4gIC8qKiBBbHRlcm5hIGwnZXNwYW5zaW9uZSBkaSB1biBwYW5uZWxsby4gKi9cclxuICB0b2dnbGUoaXRlbTogVWlBY2NvcmRpb25EZXNjcmlwdG9yKTogdm9pZCB7XHJcbiAgICBpZiAoaXRlbS5kaXNhYmxlZCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHdpbGxFeHBhbmQgPSAhaXRlbS5leHBhbmRlZDtcclxuXHJcbiAgICAvLyBJbiBtb2RhbGl0YSBzaW5nbGUsIGNoaXVkaSB0dXR0aSBnbGkgYWx0cmlcclxuICAgIGlmICh3aWxsRXhwYW5kICYmIHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcclxuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpKSA9PiB7XHJcbiAgICAgICAgaWYgKGkgIT09IGl0ZW0gJiYgaS5leHBhbmRlZCkge1xyXG4gICAgICAgICAgaS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pdGVtVG9nZ2xlZC5lbWl0KHsgaXRlbTogaSwgZXhwYW5kZWQ6IGZhbHNlIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbS5leHBhbmRlZCA9IHdpbGxFeHBhbmQ7XHJcbiAgICB0aGlzLml0ZW1Ub2dnbGVkLmVtaXQoeyBpdGVtLCBleHBhbmRlZDogd2lsbEV4cGFuZCB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBBcHJlIHVuIHBhbm5lbGxvIHNwZWNpZmljbyBwZXIgaWQuICovXHJcbiAgb3BlbihpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcy5maW5kKChpKSA9PiBpLmlkID09PSBpZCk7XHJcbiAgICBpZiAoaXRlbSAmJiAhaXRlbS5leHBhbmRlZCAmJiAhaXRlbS5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLnRvZ2dsZShpdGVtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBDaGl1ZGUgdW4gcGFubmVsbG8gc3BlY2lmaWNvIHBlciBpZC4gKi9cclxuICBjbG9zZShpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcy5maW5kKChpKSA9PiBpLmlkID09PSBpZCk7XHJcbiAgICBpZiAoaXRlbSAmJiBpdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgIGl0ZW0uZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pdGVtVG9nZ2xlZC5lbWl0KHsgaXRlbSwgZXhwYW5kZWQ6IGZhbHNlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEFwcmUgdHV0dGkgaSBwYW5uZWxsaSAoc29sbyBpbiBtb2RhbGl0YSBtdWx0aSkuICovXHJcbiAgb3BlbkFsbCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdzaW5nbGUnKSByZXR1cm47XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKCFpdGVtLmV4cGFuZGVkICYmICFpdGVtLmRpc2FibGVkICYmICFpdGVtLmhpZGRlbikge1xyXG4gICAgICAgIGl0ZW0uZXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaXRlbVRvZ2dsZWQuZW1pdCh7IGl0ZW0sIGV4cGFuZGVkOiB0cnVlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBDaGl1ZGUgdHV0dGkgaSBwYW5uZWxsaS4gKi9cclxuICBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5leHBhbmRlZCkge1xyXG4gICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLml0ZW1Ub2dnbGVkLmVtaXQoeyBpdGVtLCBleHBhbmRlZDogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBDbGFzc2kgQ1NTIHBlciBpbCBwYW5uZWxsby4gKi9cclxuICBnZXRQYW5lbENsYXNzZXMoaXRlbTogVWlBY2NvcmRpb25EZXNjcmlwdG9yKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgICd1aS1hY2NvcmRpb25fX3BhbmVsJyxcclxuICAgICAgaXRlbS5leHBhbmRlZCA/ICd1aS1hY2NvcmRpb25fX3BhbmVsLS1leHBhbmRlZCcgOiAnJyxcclxuICAgICAgaXRlbS5kaXNhYmxlZCA/ICd1aS1hY2NvcmRpb25fX3BhbmVsLS1kaXNhYmxlZCcgOiAnJyxcclxuICAgIF1cclxuICAgICAgLmZpbHRlcihCb29sZWFuKVxyXG4gICAgICAuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBTcG9zdGEgaWwgZm9jdXMgYWwgcHJpbW8gaGVhZGVyLiAqL1xyXG4gIGZvY3VzRmlyc3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgaGVhZGVyc1swXT8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgU3Bvc3RhIGlsIGZvY3VzIGFsbCd1bHRpbW8gaGVhZGVyLiAqL1xyXG4gIGZvY3VzTGFzdChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICBoZWFkZXJzW2hlYWRlcnMubGVuZ3RoIC0gMV0/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIFJlY3VwZXJhIHR1dHRpIGdsaSBoZWFkZXIgYnV0dG9uIGRlbCBET00uICovXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKCk6IEhUTUxCdXR0b25FbGVtZW50W10ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MQnV0dG9uRWxlbWVudD4oJy51aS1hY2NvcmRpb25fX2hlYWRlcjpub3QoOmRpc2FibGVkKScpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbCBDYWxjb2xhIHVuIGZpbmdlcnByaW50IGxlZ2dlcm8gYmFzYXRvIHN1bGxlIHByb3ByaWV0YVxyXG4gICAqIHJlYXR0aXZlIGRlaSBkZXNjcmlwdG9yIChxdWVsbGUgY2hlIGluZmx1ZW56YW5vIGlsIHJlbmRlcmluZykuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjb21wdXRlRmluZ2VycHJpbnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLm1hcCgoaSkgPT4gYCR7aS5pZH06JHtpLmhpZGRlbiA/PyAwfToke2kuZGlzYWJsZWQgPz8gMH06JHtpLmV4cGFuZGVkID8/IDB9OiR7aS50aXRsZX1gKS5qb2luKCd8Jyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUdqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFxR0gsTUFBTSxPQUFPLG9CQUFvQjtJQXBHakM7UUFxR21CLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVqRDs7OztXQUlHO1FBQ0sscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBRTlCOzs7Ozs7V0FNRztRQUNNLFVBQUssR0FBNEIsRUFBRSxDQUFDO1FBRTdDOzs7Ozs7Ozs7O1dBVUc7UUFDTSxpQkFBWSxHQUFnQyxJQUFJLENBQUM7UUFFMUQ7Ozs7V0FJRztRQUNNLG1CQUFjLEdBQWdDLElBQUksQ0FBQztRQUU1RDs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQWdDLElBQUksQ0FBQztRQUU3RDs7OztXQUlHO1FBQ00sU0FBSSxHQUFvQixPQUFPLENBQUM7UUFFekMsaURBQWlEO1FBQ3hDLGNBQVMsR0FBRyxXQUFXLENBQUM7UUFFakMsdURBQXVEO1FBQzdDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7S0F1SHBFO0lBckhDOzs7Ozs7OztPQVFHO0lBQ0gsU0FBUztRQUNQ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QUFLO3NCQUFiLEtBQUs7Z0JBYUcsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgRG9DaGVjayxcclxuICBUZW1wbGF0ZVJlZixcclxuICBpbmplY3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMdWNpZGVBbmd1bGFyTW9kdWxlIH0gZnJvbSAnbHVjaWRlLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBVaUFjY29yZGlvbkRlc2NyaXB0b3IsIFVpQWNjb3JkaW9uVG9nZ2xlRXZlbnQsIFVpQWNjb3JkaW9uTW9kZSB9IGZyb20gJy4vYWNjb3JkaW9uLnR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBBY2NvcmRpb24gY29uZmlndXJhYmlsZSwgZGF0YS1kcml2ZW4sIGNvbiBzdXBwb3J0byBtdWx0aS9zaW5nbGUgZXhwYW5kLFxyXG4gKiBhbmltYXppb25pIENTUywgaWNvbmUgTHVjaWRlIGUgdGVtcGxhdGUgcGVyc29uYWxpenphYmlsaS5cclxuICpcclxuICogSWwgY29udGVudXRvIGRlaSBwYW5uZWxsaSB2aWVuZSBmb3JuaXRvIHRyYW1pdGUgdW4gYGl0ZW1UZW1wbGF0ZWBcclxuICogY2hlIHJpY2V2ZSBpbCBkZXNjcmlwdG9yIGRlbCBwYW5uZWxsbyBjb21lIGNvbnRlc3RvLlxyXG4gKlxyXG4gKiBAc2VsZWN0b3IgdWktYWNjb3JkaW9uXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHVpLWFjY29yZGlvblxyXG4gKiAgIFtpdGVtc109XCJzZWN0aW9uc1wiXHJcbiAqICAgW2l0ZW1UZW1wbGF0ZV09XCJwYW5lbFRwbFwiXHJcbiAqICAgbW9kZT1cInNpbmdsZVwiXHJcbiAqID5cclxuICogICA8bmctdGVtcGxhdGUgI3BhbmVsVHBsIGxldC1pdGVtPlxyXG4gKiAgICAgQHN3aXRjaCAoaXRlbS5pZCkge1xyXG4gKiAgICAgICBAY2FzZSAoJ2luZm8nKSAgICB7IDxhcHAtaW5mby1wYW5lbCAvPiB9XHJcbiAqICAgICAgIEBjYXNlICgnYWRkcmVzcycpIHsgPGFwcC1hZGRyZXNzLWZvcm0gLz4gfVxyXG4gKiAgICAgfVxyXG4gKiAgIDwvbmctdGVtcGxhdGU+XHJcbiAqIDwvdWktYWNjb3JkaW9uPlxyXG4gKiBgYGBcclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBzZWN0aW9uczogVWlBY2NvcmRpb25EZXNjcmlwdG9yW10gPSBbXHJcbiAqICAgeyBpZDogJ2luZm8nLCB0aXRsZTogJ0luZm9ybWF6aW9uaScsIGljb246ICdpbmZvJywgZXhwYW5kZWQ6IHRydWUgfSxcclxuICogICB7IGlkOiAnYWRkcmVzcycsIHRpdGxlOiAnSW5kaXJpenpvJywgaWNvbjogJ21hcC1waW4nIH0sXHJcbiAqIF07XHJcbiAqIGBgYFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1hY2NvcmRpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIEx1Y2lkZUFuZ3VsYXJNb2R1bGVdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDogeyBjbGFzczogJ3VpLWFjY29yZGlvbi1ob3N0JyB9LFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICBAZm9yIChpdGVtIG9mIHZpc2libGVJdGVtczsgdHJhY2sgaXRlbS5pZCkge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgW2NsYXNzXT1cImdldFBhbmVsQ2xhc3NlcyhpdGVtKVwiXHJcbiAgICAgICAgW2lkXT1cIid1aS1hY2NvcmRpb24tJyArIGl0ZW0uaWRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPCEtLSBIZWFkZXI6IGRpdiB3cmFwcGVyIHBlciBvc3BpdGFyZSB0cmlnZ2VyICsgYXppb25pICsgY2hldnJvbiAtLT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInVpLWFjY29yZGlvbl9faGVhZGVyXCJcclxuICAgICAgICAgIFtjbGFzcy51aS1hY2NvcmRpb25fX2hlYWRlci0tZXhwYW5kZWRdPVwiaXRlbS5leHBhbmRlZFwiXHJcbiAgICAgICAgICBbY2xhc3MudWktYWNjb3JkaW9uX19oZWFkZXItLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIiFpdGVtLmRpc2FibGVkICYmIHRvZ2dsZShpdGVtKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cInVpLWFjY29yZGlvbl9fdHJpZ2dlclwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkXCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndWktYWNjb3JkaW9uLWJvZHktJyArIGl0ZW0uaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCIndWktYWNjb3JkaW9uLWhlYWRlci0nICsgaXRlbS5pZFwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5ob21lKT1cImZvY3VzRmlyc3QoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duLmVuZCk9XCJmb2N1c0xhc3QoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1aS1hY2NvcmRpb25fX2hlYWRlci1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcclxuICAgICAgICAgICAgICAgIDxsdWNpZGUtaWNvblxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInVpLWFjY29yZGlvbl9faWNvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIml0ZW0uaWNvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidWktYWNjb3JkaW9uX190aXRsZVwiPnt7IGl0ZW0udGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgQGlmIChpdGVtLnN1YnRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVpLWFjY29yZGlvbl9fc3VidGl0bGVcIj57eyBpdGVtLnN1YnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICBAaWYgKGhlYWRlclRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWFjY29yZGlvbl9faGVhZGVyLWV4dHJhXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgQGlmIChhY3Rpb25zVGVtcGxhdGUpIHtcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidWktYWNjb3JkaW9uX19hY3Rpb25zXCJcclxuICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJBemlvbmkgcGFubmVsbG9cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uc1RlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICA8bHVjaWRlLWljb25cclxuICAgICAgICAgICAgY2xhc3M9XCJ1aS1hY2NvcmRpb25fX2NoZXZyb25cIlxyXG4gICAgICAgICAgICBbY2xhc3MudWktYWNjb3JkaW9uX19jaGV2cm9uLS1yb3RhdGVkXT1cIml0ZW0uZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1kb3duXCJcclxuICAgICAgICAgICAgW3NpemVdPVwiMTZcIlxyXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBCb2R5IChhbmltYXppb25lIENTUyBncmlkKSAtLT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInVpLWFjY29yZGlvbl9fYm9keS13cmFwcGVyXCJcclxuICAgICAgICAgIFtjbGFzcy51aS1hY2NvcmRpb25fX2JvZHktd3JhcHBlci0tb3Blbl09XCJpdGVtLmV4cGFuZGVkXCJcclxuICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxyXG4gICAgICAgICAgW2F0dHIuaWRdPVwiJ3VpLWFjY29yZGlvbi1ib2R5LScgKyBpdGVtLmlkXCJcclxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndWktYWNjb3JkaW9uLWhlYWRlci0nICsgaXRlbS5pZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWFjY29yZGlvbl9fYm9keVwiPlxyXG4gICAgICAgICAgICBAaWYgKGl0ZW0uZXhwYW5kZWQgJiYgaXRlbVRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgYCxcclxuICBzdHlsZVVybDogJy4vYWNjb3JkaW9uLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG5cclxuICAvKipcclxuICAgKiBGaW5nZXJwcmludCBkZWxsJ3VsdGltbyBzdGF0byBkZWkgZGVzY3JpcHRvci5cclxuICAgKiBVc2F0byBkYSBEb0NoZWNrIHBlciByaWxldmFyZSBtdXRhemlvbmkgaW4tcGxhY2Ugc3VsbGUgcHJvcHJpZXRhXHJcbiAgICogZGVnbGkgaXRlbSBzZW56YSByaWNoaWVkZXJlIHVuIG51b3ZvIHJpZmVyaW1lbnRvIGRlbGwnYXJyYXkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfbGFzdEZpbmdlcnByaW50ID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFycmF5IGRpIGRlc2NyaXB0b3IgZGVpIHBhbm5lbGxpLlxyXG4gICAqIFBhbm5lbGxpIGNvbiBgaGlkZGVuOiB0cnVlYCB2ZW5nb25vIGZpbHRyYXRpIGF1dG9tYXRpY2FtZW50ZS5cclxuICAgKlxyXG4gICAqIFN1cHBvcnRhIHNpYSBhZ2dpb3JuYW1lbnRpIGltbXV0YWJpbGkgKG51b3ZvIGFycmF5KSBzaWFcclxuICAgKiBtdXRhemlvbmkgaW4tcGxhY2UgZGVsbGUgcHJvcHJpZXRhIGRlaSBkZXNjcmlwdG9yLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBVaUFjY29yZGlvbkRlc2NyaXB0b3JbXSA9IFtdO1xyXG5cclxuICAvKipcclxuICAgKiBUZW1wbGF0ZSBwZXIgaWwgY29udGVudXRvIGRpIG9nbmkgcGFubmVsbG8uXHJcbiAgICogSWwgY29udGVzdG8gZm9ybmlzY2UgaWwgZGVzY3JpcHRvciBjb21lIGAkaW1wbGljaXRgLlxyXG4gICAqXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiBgYGBodG1sXHJcbiAgICogPG5nLXRlbXBsYXRlICN0cGwgbGV0LWl0ZW0+XHJcbiAgICogICA8cD5Db250ZW51dG8gcGVyOiB7eyBpdGVtLnRpdGxlIH19PC9wPlxyXG4gICAqIDwvbmctdGVtcGxhdGU+XHJcbiAgICogYGBgXHJcbiAgICovXHJcbiAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBUZW1wbGF0ZSBvcHppb25hbGUgcGVyIGNvbnRlbnV0byBhZ2dpdW50aXZvIG5lbGwnaGVhZGVyLlxyXG4gICAqIElsIGNvbnRlc3RvIGZvcm5pc2NlIGlsIGRlc2NyaXB0b3IgY29tZSBgJGltcGxpY2l0YC5cclxuICAgKiBWaWVuZSByZW5kZXJpenphdG8gYWxsJ2ludGVybm8gZGVsIHRyaWdnZXIsIHRyYSBpbCB0aXRvbG8gZSBpbCBjaGV2cm9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBUZW1wbGF0ZSBvcHppb25hbGUgcGVyIGF6aW9uaSBuZWxsJ2hlYWRlciBkZWwgcGFubmVsbG8uXHJcbiAgICogUG9zaXppb25hdG8gdHJhIGlsIHRyaWdnZXIgZSBpbCBjaGV2cm9uLCBhbCBkaSBmdW9yaSBkZWwgYnV0dG9uXHJcbiAgICogcGVyIGNvbnNlbnRpcmUgZWxlbWVudGkgaW50ZXJhdHRpdmkgKGVzLiBwdWxzYW50aSBkdXBsaWNhL2VsaW1pbmEpLlxyXG4gICAqIElsIGNvbnRlc3RvIGZvcm5pc2NlIGlsIGRlc2NyaXB0b3IgY29tZSBgJGltcGxpY2l0YC5cclxuICAgKi9cclxuICBASW5wdXQoKSBhY3Rpb25zVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vZGFsaXRhIGRpIGVzcGFuc2lvbmUuXHJcbiAgICogLSBgbXVsdGlgOiBwaXUgcGFubmVsbGkgYXBlcnRpIGNvbnRlbXBvcmFuZWFtZW50ZVxyXG4gICAqIC0gYHNpbmdsZWA6IHVuIHNvbG8gcGFubmVsbG8gYXBlcnRvIGFsbGEgdm9sdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBtb2RlOiBVaUFjY29yZGlvbk1vZGUgPSAnbXVsdGknO1xyXG5cclxuICAvKiogTGFiZWwgYWNjZXNzaWJpbGUgcGVyIGlsIGdydXBwbyBhY2NvcmRpb24uICovXHJcbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJ0FjY29yZGlvbic7XHJcblxyXG4gIC8qKiBFbWVzc28gcXVhbmRvIHVuIHBhbm5lbGxvIHZpZW5lIGFwZXJ0byBvIGNoaXVzby4gKi9cclxuICBAT3V0cHV0KCkgaXRlbVRvZ2dsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFVpQWNjb3JkaW9uVG9nZ2xlRXZlbnQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJpbGV2YSBtdXRhemlvbmkgaW4tcGxhY2Ugc3VsbGUgcHJvcHJpZXRhIGRlaSBkZXNjcmlwdG9yLlxyXG4gICAqIENvbmZyb250YSB1biBmaW5nZXJwcmludCBsZWdnZXJvIGRlbGxvIHN0YXRvIGNvcnJlbnRlIGNvbiBxdWVsbG9cclxuICAgKiBwcmVjZWRlbnRlIGUsIHNlIGRpdmVyc28sIGZvcnphIHVuIGNpY2xvIGRpIGNoYW5nZSBkZXRlY3Rpb24uXHJcbiAgICpcclxuICAgKiBRdWVzdG8gcGVybWV0dGUgYWwgY29uc3VtYXRvcmUgZGkgZmFyZSBzaWE6XHJcbiAgICogLSBgaXRlbXNbMl0uaGlkZGVuID0gdHJ1ZWAgIChtdXRhemlvbmUgaW4tcGxhY2UpXHJcbiAgICogLSBgaXRlbXMgPSBbLi4ubmV3SXRlbXNdYCAgIChudW92byByaWZlcmltZW50bylcclxuICAgKi9cclxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XHJcbiAgICBjb25zdCBmcCA9IHRoaXMuY29tcHV0ZUZpbmdlcnByaW50KCk7XHJcbiAgICBpZiAoZnAgIT09IHRoaXMuX2xhc3RGaW5nZXJwcmludCkge1xyXG4gICAgICB0aGlzLl9sYXN0RmluZ2VycHJpbnQgPSBmcDtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogUGFubmVsbGkgdmlzaWJpbGkgKG5vbiBoaWRkZW4pLiAqL1xyXG4gIGdldCB2aXNpYmxlSXRlbXMoKTogVWlBY2NvcmRpb25EZXNjcmlwdG9yW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuZmlsdGVyKChpKSA9PiAhaS5oaWRkZW4pO1xyXG4gIH1cclxuXHJcbiAgLyoqIEFsdGVybmEgbCdlc3BhbnNpb25lIGRpIHVuIHBhbm5lbGxvLiAqL1xyXG4gIHRvZ2dsZShpdGVtOiBVaUFjY29yZGlvbkRlc2NyaXB0b3IpOiB2b2lkIHtcclxuICAgIGlmIChpdGVtLmRpc2FibGVkKSByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgd2lsbEV4cGFuZCA9ICFpdGVtLmV4cGFuZGVkO1xyXG5cclxuICAgIC8vIEluIG1vZGFsaXRhIHNpbmdsZSwgY2hpdWRpIHR1dHRpIGdsaSBhbHRyaVxyXG4gICAgaWYgKHdpbGxFeHBhbmQgJiYgdGhpcy5tb2RlID09PSAnc2luZ2xlJykge1xyXG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGkpID0+IHtcclxuICAgICAgICBpZiAoaSAhPT0gaXRlbSAmJiBpLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgICBpLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Ub2dnbGVkLmVtaXQoeyBpdGVtOiBpLCBleHBhbmRlZDogZmFsc2UgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpdGVtLmV4cGFuZGVkID0gd2lsbEV4cGFuZDtcclxuICAgIHRoaXMuaXRlbVRvZ2dsZWQuZW1pdCh7IGl0ZW0sIGV4cGFuZGVkOiB3aWxsRXhwYW5kIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIEFwcmUgdW4gcGFubmVsbG8gc3BlY2lmaWNvIHBlciBpZC4gKi9cclxuICBvcGVuKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGkpID0+IGkuaWQgPT09IGlkKTtcclxuICAgIGlmIChpdGVtICYmICFpdGVtLmV4cGFuZGVkICYmICFpdGVtLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlKGl0ZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIENoaXVkZSB1biBwYW5uZWxsbyBzcGVjaWZpY28gcGVyIGlkLiAqL1xyXG4gIGNsb3NlKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1zLmZpbmQoKGkpID0+IGkuaWQgPT09IGlkKTtcclxuICAgIGlmIChpdGVtICYmIGl0ZW0uZXhwYW5kZWQpIHtcclxuICAgICAgaXRlbS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLml0ZW1Ub2dnbGVkLmVtaXQoeyBpdGVtLCBleHBhbmRlZDogZmFsc2UgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogQXByZSB0dXR0aSBpIHBhbm5lbGxpIChzb2xvIGluIG1vZGFsaXRhIG11bHRpKS4gKi9cclxuICBvcGVuQWxsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHJldHVybjtcclxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpZiAoIWl0ZW0uZXhwYW5kZWQgJiYgIWl0ZW0uZGlzYWJsZWQgJiYgIWl0ZW0uaGlkZGVuKSB7XHJcbiAgICAgICAgaXRlbS5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pdGVtVG9nZ2xlZC5lbWl0KHsgaXRlbSwgZXhwYW5kZWQ6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIENoaXVkZSB0dXR0aSBpIHBhbm5lbGxpLiAqL1xyXG4gIGNsb3NlQWxsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgaXRlbS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXRlbVRvZ2dsZWQuZW1pdCh7IGl0ZW0sIGV4cGFuZGVkOiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIENsYXNzaSBDU1MgcGVyIGlsIHBhbm5lbGxvLiAqL1xyXG4gIGdldFBhbmVsQ2xhc3NlcyhpdGVtOiBVaUFjY29yZGlvbkRlc2NyaXB0b3IpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ3VpLWFjY29yZGlvbl9fcGFuZWwnLFxyXG4gICAgICBpdGVtLmV4cGFuZGVkID8gJ3VpLWFjY29yZGlvbl9fcGFuZWwtLWV4cGFuZGVkJyA6ICcnLFxyXG4gICAgICBpdGVtLmRpc2FibGVkID8gJ3VpLWFjY29yZGlvbl9fcGFuZWwtLWRpc2FibGVkJyA6ICcnLFxyXG4gICAgXVxyXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgIC5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIFNwb3N0YSBpbCBmb2N1cyBhbCBwcmltbyBoZWFkZXIuICovXHJcbiAgZm9jdXNGaXJzdChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICBoZWFkZXJzWzBdPy5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBTcG9zdGEgaWwgZm9jdXMgYWxsJ3VsdGltbyBoZWFkZXIuICovXHJcbiAgZm9jdXNMYXN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIGhlYWRlcnNbaGVhZGVycy5sZW5ndGggLSAxXT8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgUmVjdXBlcmEgdHV0dGkgaSB0cmlnZ2VyIGJ1dHRvbiBkZWwgRE9NLiAqL1xyXG4gIHByaXZhdGUgZ2V0SGVhZGVycygpOiBIVE1MQnV0dG9uRWxlbWVudFtdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEJ1dHRvbkVsZW1lbnQ+KCcudWktYWNjb3JkaW9uX190cmlnZ2VyOm5vdCg6ZGlzYWJsZWQpJykpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsIENhbGNvbGEgdW4gZmluZ2VycHJpbnQgbGVnZ2VybyBiYXNhdG8gc3VsbGUgcHJvcHJpZXRhXHJcbiAgICogcmVhdHRpdmUgZGVpIGRlc2NyaXB0b3IgKHF1ZWxsZSBjaGUgaW5mbHVlbnphbm8gaWwgcmVuZGVyaW5nKS5cclxuICAgKi9cclxuICBwcml2YXRlIGNvbXB1dGVGaW5nZXJwcmludCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKChpKSA9PiBgJHtpLmlkfToke2kuaGlkZGVuID8/IDB9OiR7aS5kaXNhYmxlZCA/PyAwfToke2kuZXhwYW5kZWQgPz8gMH06JHtpLnRpdGxlfWApLmpvaW4oJ3wnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -3,4 +3,4 @@
3
3
  * Tipi e interfacce per UiAccordion.
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vYWNjb3JkaW9uXG4gKiBUaXBpIGUgaW50ZXJmYWNjZSBwZXIgVWlBY2NvcmRpb24uXG4gKi9cblxuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVpSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcblxuLy8gUmUtZXhwb3J0IHBlciBjb21vZGl0YSBkZWwgY29uc3VtYXRvcmVcbmV4cG9ydCB7IFVpSWNvbk5hbWUgfTtcblxuLyoqXG4gKiBEZXNjcmlwdG9yIHBlciB1biBzaW5nb2xvIHBhbm5lbGxvIGRlbGwnYWNjb3JkaW9uLlxuICpcbiAqIENvbnNlbnRlIGRpIGRlZmluaXJlIGFjY29yZGlvbiBjb21lIHN0cnV0dHVyZSBkYXRpIGRpY2hpYXJhdGl2ZSxcbiAqIGFnZ2lvcm5hYmlsaSBkaW5hbWljYW1lbnRlIHRyYW1pdGUgbWFuaXBvbGF6aW9uZSBkZWxsJ2FycmF5LlxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKiAjIyMgVXRpbGl6em8gYmFzZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaXRlbXM6IFVpQWNjb3JkaW9uRGVzY3JpcHRvcltdID0gW1xuICogICB7IGlkOiAnaW5mbycsIHRpdGxlOiAnSW5mb3JtYXppb25pIGdlbmVyYWxpJywgaWNvbjogJ2luZm8nIH0sXG4gKiAgIHsgaWQ6ICdhZGRyZXNzJywgdGl0bGU6ICdJbmRpcml6em8nLCBpY29uOiAnbWFwLXBpbicgfSxcbiAqICAgeyBpZDogJ25vdGVzJywgdGl0bGU6ICdOb3RlIGFnZ2l1bnRpdmUnLCBleHBhbmRlZDogdHJ1ZSB9LFxuICogXTtcbiAqIGBgYFxuICpcbiAqICMjIyBWaXNpYmlsaXRhIGNvbmRpemlvbmFsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXRlbXNbMl0uaGlkZGVuID0gIXRoaXMuaGFzTm90ZXM7XG4gKiBpdGVtc1sxXS5kaXNhYmxlZCA9IHRoaXMuaXNSZWFkb25seTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpQWNjb3JkaW9uRGVzY3JpcHRvciB7XG4gIC8qKiBJZGVudGlmaWNhdG9yZSB1bml2b2NvIGRlbCBwYW5uZWxsby4gKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKiogVGl0b2xvIHZpc3VhbGl6emF0byBuZWxsJ2hlYWRlciBkZWwgcGFubmVsbG8uICovXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqIEljb25hIEx1Y2lkZSBvcHppb25hbGUgbW9zdHJhdGEgcHJpbWEgZGVsIHRpdG9sby4gQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMgKi9cbiAgaWNvbj86IFVpSWNvbk5hbWU7XG5cbiAgLyoqIFN0YXRvIGluaXppYWxlIGRpIGVzcGFuc2lvbmUuIEBkZWZhdWx0IGZhbHNlICovXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcblxuICAvKiogRGlzYWJpbGl0YSBsJ2ludGVyYXppb25lIGNvbiBpbCBwYW5uZWxsby4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBOYXNjb25kZSBpbCBwYW5uZWxsbyBkYWxsJ2ludGVyZmFjY2lhLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBoaWRkZW4/OiBib29sZWFuO1xuXG4gIC8qKiBEZXNjcml6aW9uZSBzZWNvbmRhcmlhIG1vc3RyYXRhIGFjY2FudG8gYWwgdGl0b2xvLiAqL1xuICBzdWJ0aXRsZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBFdmVudG8gZW1lc3NvIHF1YW5kbyB1biBwYW5uZWxsbyB2aWVuZSBhcGVydG8gbyBjaGl1c28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVWlBY2NvcmRpb25Ub2dnbGVFdmVudCB7XG4gIC8qKiBEZXNjcmlwdG9yIGRlbCBwYW5uZWxsbyBjb2ludm9sdG8uICovXG4gIGl0ZW06IFVpQWNjb3JkaW9uRGVzY3JpcHRvcjtcblxuICAvKiogYHRydWVgIHNlIGlsIHBhbm5lbGxvIGUgc3RhdG8gYXBlcnRvLCBgZmFsc2VgIHNlIGNoaXVzby4gKi9cbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogTW9kYWxpdGEgZGkgZXNwYW5zaW9uZSBkZWxsJ2FjY29yZGlvbi5cbiAqXG4gKiB8IE1vZGFsaXRhIHwgQ29tcG9ydGFtZW50byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8IGBtdWx0aWAgfCBQaXUgcGFubmVsbGkgcG9zc29ubyBlc3NlcmUgYXBlcnRpIGNvbnRlbXBvcmFuZWFtZW50ZSB8XG4gKiB8IGBzaW5nbGVgfCBVbiBzb2xvIHBhbm5lbGxvIGFwZXJ0byBhbGxhIHZvbHRhIChnbGkgYWx0cmkgc2kgY2hpdWRvbm8pIHxcbiAqL1xuZXhwb3J0IHR5cGUgVWlBY2NvcmRpb25Nb2RlID0gJ211bHRpJyB8ICdzaW5nbGUnO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vYWNjb3JkaW9uXG4gKiBUaXBpIGUgaW50ZXJmYWNjZSBwZXIgVWlBY2NvcmRpb24uXG4gKi9cblxuaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVpSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcblxuLy8gUmUtZXhwb3J0IHBlciBjb21vZGl0YSBkZWwgY29uc3VtYXRvcmVcbmV4cG9ydCB7IFVpSWNvbk5hbWUgfTtcblxuLyoqXG4gKiBEZXNjcmlwdG9yIHBlciB1biBzaW5nb2xvIHBhbm5lbGxvIGRlbGwnYWNjb3JkaW9uLlxuICpcbiAqIENvbnNlbnRlIGRpIGRlZmluaXJlIGFjY29yZGlvbiBjb21lIHN0cnV0dHVyZSBkYXRpIGRpY2hpYXJhdGl2ZSxcbiAqIGFnZ2lvcm5hYmlsaSBkaW5hbWljYW1lbnRlIHRyYW1pdGUgbWFuaXBvbGF6aW9uZSBkZWxsJ2FycmF5LlxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKiAjIyMgVXRpbGl6em8gYmFzZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaXRlbXM6IFVpQWNjb3JkaW9uRGVzY3JpcHRvcltdID0gW1xuICogICB7IGlkOiAnaW5mbycsIHRpdGxlOiAnSW5mb3JtYXppb25pIGdlbmVyYWxpJywgaWNvbjogJ2luZm8nIH0sXG4gKiAgIHsgaWQ6ICdhZGRyZXNzJywgdGl0bGU6ICdJbmRpcml6em8nLCBpY29uOiAnbWFwLXBpbicgfSxcbiAqICAgeyBpZDogJ25vdGVzJywgdGl0bGU6ICdOb3RlIGFnZ2l1bnRpdmUnLCBleHBhbmRlZDogdHJ1ZSB9LFxuICogXTtcbiAqIGBgYFxuICpcbiAqICMjIyBWaXNpYmlsaXRhIGNvbmRpemlvbmFsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaXRlbXNbMl0uaGlkZGVuID0gIXRoaXMuaGFzTm90ZXM7XG4gKiBpdGVtc1sxXS5kaXNhYmxlZCA9IHRoaXMuaXNSZWFkb25seTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVpQWNjb3JkaW9uRGVzY3JpcHRvciB7XG4gIC8qKiBJZGVudGlmaWNhdG9yZSB1bml2b2NvIGRlbCBwYW5uZWxsby4gKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKiogVGl0b2xvIHZpc3VhbGl6emF0byBuZWxsJ2hlYWRlciBkZWwgcGFubmVsbG8uICovXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqIEljb25hIEx1Y2lkZSBvcHppb25hbGUgbW9zdHJhdGEgcHJpbWEgZGVsIHRpdG9sby4gQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMgKi9cbiAgaWNvbj86IFVpSWNvbk5hbWU7XG5cbiAgLyoqIFN0YXRvIGluaXppYWxlIGRpIGVzcGFuc2lvbmUuIEBkZWZhdWx0IGZhbHNlICovXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcblxuICAvKiogRGlzYWJpbGl0YSBsJ2ludGVyYXppb25lIGNvbiBpbCBwYW5uZWxsby4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBOYXNjb25kZSBpbCBwYW5uZWxsbyBkYWxsJ2ludGVyZmFjY2lhLiBAZGVmYXVsdCBmYWxzZSAqL1xuICBoaWRkZW4/OiBib29sZWFuO1xuXG4gIC8qKiBEZXNjcml6aW9uZSBzZWNvbmRhcmlhIG1vc3RyYXRhIGFjY2FudG8gYWwgdGl0b2xvLiAqL1xuICBzdWJ0aXRsZT86IHN0cmluZztcblxuICAvKiogSW5kaWNlIHBvc2l6aW9uYWxlIGRlbCBwYW5uZWxsbyAodXRpbGUgcGVyIHNlemlvbmkgcmVwZWF0YWJsZSkuICovXG4gIGluZGV4PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEV2ZW50byBlbWVzc28gcXVhbmRvIHVuIHBhbm5lbGxvIHZpZW5lIGFwZXJ0byBvIGNoaXVzby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaUFjY29yZGlvblRvZ2dsZUV2ZW50IHtcbiAgLyoqIERlc2NyaXB0b3IgZGVsIHBhbm5lbGxvIGNvaW52b2x0by4gKi9cbiAgaXRlbTogVWlBY2NvcmRpb25EZXNjcmlwdG9yO1xuXG4gIC8qKiBgdHJ1ZWAgc2UgaWwgcGFubmVsbG8gZSBzdGF0byBhcGVydG8sIGBmYWxzZWAgc2UgY2hpdXNvLiAqL1xuICBleHBhbmRlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNb2RhbGl0YSBkaSBlc3BhbnNpb25lIGRlbGwnYWNjb3JkaW9uLlxuICpcbiAqIHwgTW9kYWxpdGEgfCBDb21wb3J0YW1lbnRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgYG11bHRpYCB8IFBpdSBwYW5uZWxsaSBwb3Nzb25vIGVzc2VyZSBhcGVydGkgY29udGVtcG9yYW5lYW1lbnRlIHxcbiAqIHwgYHNpbmdsZWB8IFVuIHNvbG8gcGFubmVsbG8gYXBlcnRvIGFsbGEgdm9sdGEgKGdsaSBhbHRyaSBzaSBjaGl1ZG9ubykgfFxuICovXG5leHBvcnQgdHlwZSBVaUFjY29yZGlvbk1vZGUgPSAnbXVsdGknIHwgJ3NpbmdsZSc7XG4iXX0=
@@ -1,11 +1,10 @@
1
- import { Component, DestroyRef, inject, Input, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, Input, inject, ViewEncapsulation, } from '@angular/core';
2
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { Location } from '@angular/common';
4
3
  import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
5
- import { filter, debounceTime } from 'rxjs/operators';
6
- import { UiPageHeaderComponent } from '../page-header/page-header.component';
7
- import { UiBreadcrumbService } from '../page-header/breadcrumb.service';
4
+ import { debounceTime, filter } from 'rxjs/operators';
8
5
  import { UiButtonAreaComponent } from '../button/button-area.component';
6
+ import { UiBreadcrumbService } from '../page-header/breadcrumb.service';
7
+ import { UiPageHeaderComponent } from '../page-header/page-header.component';
9
8
  import * as i0 from "@angular/core";
10
9
  /**
11
10
  * Full-page layout component that combines a page header (breadcrumbs + title),
@@ -63,12 +62,9 @@ export class UiBaseLayoutComponent {
63
62
  /** Gap size between footer buttons. */
64
63
  this.footerGap = 'sm';
65
64
  this.router = inject(Router);
66
- this.location = inject(Location);
67
65
  this.activatedRoute = inject(ActivatedRoute);
68
66
  this.breadcrumbService = inject(UiBreadcrumbService);
69
67
  this.destroyRef = inject(DestroyRef);
70
- /** @internal Current breadcrumbs, updated on each navigation. */
71
- this.breadcrumbs = [];
72
68
  }
73
69
  /**
74
70
  * Merged action list (back button + consumer actions).
@@ -78,14 +74,13 @@ export class UiBaseLayoutComponent {
78
74
  get mergedActions() {
79
75
  const result = [];
80
76
  if (this.showBackButton) {
81
- const backTarget = this.getBackTarget();
82
77
  result.push({
83
78
  id: '__ui-back',
84
79
  label: this.backButtonConfig.label ?? 'Indietro',
85
80
  icon: this.backButtonConfig.icon ?? 'arrow-left',
86
81
  iconPosition: 'leading',
87
82
  variant: this.backButtonConfig.variant ?? 'outline',
88
- hidden: !backTarget,
83
+ hidden: this.shouldHideBackButton(),
89
84
  action: () => this.navigateBack(),
90
85
  });
91
86
  }
@@ -102,25 +97,29 @@ export class UiBaseLayoutComponent {
102
97
  .pipe(filter((event) => event instanceof NavigationEnd), debounceTime(50), takeUntilDestroyed(this.destroyRef))
103
98
  .subscribe(() => this.refreshBreadcrumbs());
104
99
  }
105
- /** @internal Refreshes breadcrumb state from the current route. */
100
+ /** @internal Aggiorna lo stato dei breadcrumb nel service dalla rotta corrente. */
106
101
  refreshBreadcrumbs() {
107
- this.breadcrumbs = this.breadcrumbService.getBreadcrumbsForRoute(this.activatedRoute);
108
- }
109
- /** @internal Determines the back navigation target from breadcrumbs. */
110
- getBackTarget() {
111
- if (this.breadcrumbs.length < 2)
112
- return null;
113
- return this.breadcrumbs[this.breadcrumbs.length - 2];
102
+ this.breadcrumbService.getBreadcrumbsForRoute(this.activatedRoute);
114
103
  }
115
- /** @internal Navigates to the parent breadcrumb or falls back to browser history. */
116
- navigateBack() {
117
- const target = this.getBackTarget();
118
- if (target?.url) {
119
- this.router.navigateByUrl(target.url);
104
+ /** @internal Determina se il back button deve essere nascosto per la rotta corrente. */
105
+ shouldHideBackButton() {
106
+ const currentPath = this.router.url.split('?')[0].split('#')[0];
107
+ if (currentPath === this.homeRoute) {
108
+ return true;
109
+ }
110
+ let deepestRoute = this.activatedRoute;
111
+ while (deepestRoute.firstChild) {
112
+ deepestRoute = deepestRoute.firstChild;
120
113
  }
121
- else {
122
- this.location.back();
114
+ // biome-ignore lint/complexity/useLiteralKeys: <explanation>
115
+ if (deepestRoute.snapshot.data?.['hideBackButton'] === true) {
116
+ return true;
123
117
  }
118
+ return false;
119
+ }
120
+ /** @internal Naviga al breadcrumb genitore o esegue il fallback alla home route. */
121
+ navigateBack() {
122
+ this.breadcrumbService.navigateBack(this.homeRoute);
124
123
  }
125
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiBaseLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
125
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiBaseLayoutComponent, isStandalone: true, selector: "ui-base-layout", inputs: { showHeader: "showHeader", title: "title", homeRoute: "homeRoute", showHome: "showHome", updateDocumentTitle: "updateDocumentTitle", titleSuffix: "titleSuffix", showBackButton: "showBackButton", backButtonConfig: "backButtonConfig", actions: "actions", footerAlign: "footerAlign", footerGap: "footerGap" }, host: { classAttribute: "ui-base-layout-host" }, ngImport: i0, template: `
@@ -215,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
215
214
  }], footerGap: [{
216
215
  type: Input
217
216
  }] } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9iYXNlLWxheW91dC9iYXNlLWxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUl4RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBNENILE1BQU0sT0FBTyxxQkFBcUI7SUEzQ2xDO1FBNENFLGdFQUFnRTtRQUN2RCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRTNCLGlGQUFpRjtRQUN4RSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBCLCtDQUErQztRQUN0QyxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBRXpCLGdFQUFnRTtRQUN2RCxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXpCLDJEQUEyRDtRQUNsRCx3QkFBbUIsR0FBRyxLQUFLLENBQUM7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N0UsWUFBWTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDcEMsSUFBSSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzsrR0F4R1UscUJBQXFCO21HQUFyQixxQkFBcUIsdWJBbEN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVCxxbEJBckNTLHFCQUFxQiw2SUFBRSxxQkFBcUI7OzRGQXdDM0MscUJBQXFCO2tCQTNDakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQyxtQkFDdEMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0JUOzhCQUtRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRGVzdHJveVJlZixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGZpbHRlciwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBVaVBhZ2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJyZWFkY3J1bWJTZXJ2aWNlIH0gZnJvbSAnLi4vcGFnZS1oZWFkZXIvYnJlYWRjcnVtYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVWlCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLnR5cGVzJztcclxuaW1wb3J0IHsgVWlCdXR0b25BcmVhQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQnV0dG9uRGVzY3JpcHRvciwgVWlCdXR0b25BcmVhQWxpZ24gfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLnR5cGVzJztcclxuaW1wb3J0IHsgVWlCYWNrQnV0dG9uQ29uZmlnIH0gZnJvbSAnLi9iYXNlLWxheW91dC50eXBlcyc7XHJcblxyXG4vKipcclxuICogRnVsbC1wYWdlIGxheW91dCBjb21wb25lbnQgdGhhdCBjb21iaW5lcyBhIHBhZ2UgaGVhZGVyIChicmVhZGNydW1icyArIHRpdGxlKSxcclxuICogYSBtYWluIGNvbnRlbnQgYXJlYSB2aWEgYDxuZy1jb250ZW50PmAsIGFuZCBhIHN0aWNreSBmb290ZXIgYWN0aW9uIGJhclxyXG4gKiBwb3dlcmVkIGJ5IGBVaUJ1dHRvbkFyZWFDb21wb25lbnRgLlxyXG4gKlxyXG4gKiBPcHRpb25hbGx5IHJlbmRlcnMgYW4gYXV0b21hdGljIFwiYmFja1wiIGJ1dHRvbiBpbiB0aGUgZm9vdGVyLCBkZXJpdmVkIGZyb21cclxuICogdGhlIGJyZWFkY3J1bWIgdHJhaWwgKG5hdmlnYXRlcyB0byB0aGUgcGFyZW50IGJyZWFkY3J1bWIpLlxyXG4gKlxyXG4gKiBAc2VsZWN0b3IgdWktYmFzZS1sYXlvdXRcclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8dWktYmFzZS1sYXlvdXQgW2FjdGlvbnNdPVwicGFnZUFjdGlvbnNcIiBmb290ZXJBbGlnbj1cImVuZFwiPlxyXG4gKiAgIDxwPllvdXIgcGFnZSBjb250ZW50IGhlcmU8L3A+XHJcbiAqIDwvdWktYmFzZS1sYXlvdXQ+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDwhLS0gV2l0aCBiYWNrIGJ1dHRvbiBhbmQgY3VzdG9tIHRpdGxlIC0tPlxyXG4gKiA8dWktYmFzZS1sYXlvdXRcclxuICogICB0aXRsZT1cIkRldHRhZ2xpbyB1dGVudGVcIlxyXG4gKiAgIFtzaG93QmFja0J1dHRvbl09XCJ0cnVlXCJcclxuICogICBbYWN0aW9uc109XCJbXHJcbiAqICAgICB7IGlkOiAnc2F2ZScsIGxhYmVsOiAnU2FsdmEnLCB2YXJpYW50OiAncHJpbWFyeScsIGljb246ICdzYXZlJywgYWN0aW9uOiBzYXZlIH0sXHJcbiAqICAgXVwiXHJcbiAqID5cclxuICogICA8YXBwLXVzZXItZGV0YWlsIC8+XHJcbiAqIDwvdWktYmFzZS1sYXlvdXQ+XHJcbiAqIGBgYFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1iYXNlLWxheW91dCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVWlQYWdlSGVhZGVyQ29tcG9uZW50LCBVaUJ1dHRvbkFyZWFDb21wb25lbnRdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICd1aS1iYXNlLWxheW91dC1ob3N0JyxcclxuICB9LFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidWktYmFzZS1sYXlvdXRcIj5cclxuICAgICAgQGlmIChzaG93SGVhZGVyKSB7XHJcbiAgICAgICAgPHVpLXBhZ2UtaGVhZGVyXHJcbiAgICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgICAgW2hvbWVSb3V0ZV09XCJob21lUm91dGVcIlxyXG4gICAgICAgICAgW3Nob3dIb21lXT1cInNob3dIb21lXCJcclxuICAgICAgICAgIFt1cGRhdGVEb2N1bWVudFRpdGxlXT1cInVwZGF0ZURvY3VtZW50VGl0bGVcIlxyXG4gICAgICAgICAgW3RpdGxlU3VmZml4XT1cInRpdGxlU3VmZml4XCJcclxuICAgICAgICAvPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8bWFpbiBjbGFzcz1cInVpLWJhc2UtbGF5b3V0X19jb250ZW50XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cclxuICAgICAgPC9tYWluPlxyXG5cclxuICAgICAgQGlmIChoYXNWaXNpYmxlQWN0aW9ucykge1xyXG4gICAgICAgIDxhc2lkZVxyXG4gICAgICAgICAgY2xhc3M9XCJ1aS1iYXNlLWxheW91dF9fZm9vdGVyXCJcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJQYWdlIGFjdGlvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1aS1idXR0b24tYXJlYVxyXG4gICAgICAgICAgICBbYnV0dG9uc109XCJtZXJnZWRBY3Rpb25zXCJcclxuICAgICAgICAgICAgW2FsaWduXT1cImZvb3RlckFsaWduXCJcclxuICAgICAgICAgICAgW2dhcF09XCJmb290ZXJHYXBcIlxyXG4gICAgICAgICAgICBbc3RhY2tPbk1vYmlsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgYXJpYUxhYmVsPVwiUGFnZSBhY3Rpb25zXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9hc2lkZT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybDogJy4vYmFzZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlCYXNlTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBwYWdlIGhlYWRlciAoYnJlYWRjcnVtYnMgKyB0aXRsZSkuICovXHJcbiAgQElucHV0KCkgc2hvd0hlYWRlciA9IHRydWU7XHJcblxyXG4gIC8qKiBPdmVycmlkZSB0aGUgYXV0by1kZXRlY3RlZCBwYWdlIHRpdGxlLiBQYXNzZWQgdGhyb3VnaCB0byBgdWktcGFnZS1oZWFkZXJgLiAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcblxyXG4gIC8qKiBSb3V0ZSBwYXRoIGZvciB0aGUgSG9tZSBicmVhZGNydW1iIGxpbmsuICovXHJcbiAgQElucHV0KCkgaG9tZVJvdXRlID0gJy8nO1xyXG5cclxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBIb21lIGxpbmsgaW4gdGhlIGJyZWFkY3J1bWIgdHJhaWwuICovXHJcbiAgQElucHV0KCkgc2hvd0hvbWUgPSB0cnVlO1xyXG5cclxuICAvKiogV2hlbiBgdHJ1ZWAsIHVwZGF0ZXMgYGRvY3VtZW50LnRpdGxlYCBvbiBuYXZpZ2F0aW9uLiAqL1xyXG4gIEBJbnB1dCgpIHVwZGF0ZURvY3VtZW50VGl0bGUgPSBmYWxzZTtcclxuXHJcbiAgLyoqIFN1ZmZpeCBhcHBlbmRlZCB0byBgZG9jdW1lbnQudGl0bGVgLiAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlU3VmZml4ID0gJyc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgYW4gYXV0b21hdGljIFwiYmFja1wiIGJ1dHRvbiBiYXNlZCBvbiBicmVhZGNydW1icy4gKi9cclxuICBASW5wdXQoKSBzaG93QmFja0J1dHRvbiA9IHRydWU7XHJcblxyXG4gIC8qKiBDb25maWd1cmF0aW9uIG92ZXJyaWRlcyBmb3IgdGhlIGF1dG9tYXRpYyBiYWNrIGJ1dHRvbi4gKi9cclxuICBASW5wdXQoKSBiYWNrQnV0dG9uQ29uZmlnOiBVaUJhY2tCdXR0b25Db25maWcgPSB7fTtcclxuXHJcbiAgLyoqIEFycmF5IG9mIGJ1dHRvbiBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvb3RlciBhY3Rpb24gYXJlYS4gKi9cclxuICBASW5wdXQoKSBhY3Rpb25zOiBVaUJ1dHRvbkRlc2NyaXB0b3JbXSA9IFtdO1xyXG5cclxuICAvKiogSG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGZvb3RlciBidXR0b24gYXJlYS4gKi9cclxuICBASW5wdXQoKSBmb290ZXJBbGlnbjogVWlCdXR0b25BcmVhQWxpZ24gPSAnc3RhcnQnO1xyXG5cclxuICAvKiogR2FwIHNpemUgYmV0d2VlbiBmb290ZXIgYnV0dG9ucy4gKi9cclxuICBASW5wdXQoKSBmb290ZXJHYXA6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ3NtJztcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGJyZWFkY3J1bWJTZXJ2aWNlID0gaW5qZWN0KFVpQnJlYWRjcnVtYlNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBDdXJyZW50IGJyZWFkY3J1bWJzLCB1cGRhdGVkIG9uIGVhY2ggbmF2aWdhdGlvbi4gKi9cclxuICBwcml2YXRlIGJyZWFkY3J1bWJzOiBVaUJyZWFkY3J1bWJJdGVtW10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWVyZ2VkIGFjdGlvbiBsaXN0IChiYWNrIGJ1dHRvbiArIGNvbnN1bWVyIGFjdGlvbnMpLlxyXG4gICAqIENvbXB1dGVkIG9uIGV2ZXJ5IGNoYW5nZS1kZXRlY3Rpb24gY2hlY2sgc28gaXQgc3RheXMgaW4gc3luY1xyXG4gICAqIHdpdGggYm90aCBuYXZpZ2F0aW9uIHN0YXRlIChicmVhZGNydW1icykgYW5kIGlucHV0IGNoYW5nZXMuXHJcbiAgICovXHJcbiAgZ2V0IG1lcmdlZEFjdGlvbnMoKTogVWlCdXR0b25EZXNjcmlwdG9yW10ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBVaUJ1dHRvbkRlc2NyaXB0b3JbXSA9IFtdO1xyXG5cclxuICAgIGlmICh0aGlzLnNob3dCYWNrQnV0dG9uKSB7XHJcbiAgICAgIGNvbnN0IGJhY2tUYXJnZXQgPSB0aGlzLmdldEJhY2tUYXJnZXQoKTtcclxuICAgICAgcmVzdWx0LnB1c2goe1xyXG4gICAgICAgIGlkOiAnX191aS1iYWNrJyxcclxuICAgICAgICBsYWJlbDogdGhpcy5iYWNrQnV0dG9uQ29uZmlnLmxhYmVsID8/ICdJbmRpZXRybycsXHJcbiAgICAgICAgaWNvbjogKHRoaXMuYmFja0J1dHRvbkNvbmZpZy5pY29uIGFzIGFueSkgPz8gJ2Fycm93LWxlZnQnLFxyXG4gICAgICAgIGljb25Qb3NpdGlvbjogJ2xlYWRpbmcnLFxyXG4gICAgICAgIHZhcmlhbnQ6ICh0aGlzLmJhY2tCdXR0b25Db25maWcudmFyaWFudCBhcyBhbnkpID8/ICdvdXRsaW5lJyxcclxuICAgICAgICBoaWRkZW46ICFiYWNrVGFyZ2V0LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5uYXZpZ2F0ZUJhY2soKSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdWx0LnB1c2goLi4udGhpcy5hY3Rpb25zKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciB0aGUgZm9vdGVyIHNob3VsZCByZW5kZXIgKGF0IGxlYXN0IG9uZSBub24taGlkZGVuIGFjdGlvbiBleGlzdHMpLiAqL1xyXG4gIGdldCBoYXNWaXNpYmxlQWN0aW9ucygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1lcmdlZEFjdGlvbnMuc29tZSgoYSkgPT4gIWEuaGlkZGVuKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWZyZXNoQnJlYWRjcnVtYnMoKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUoNTApLFxyXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoQnJlYWRjcnVtYnMoKSk7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIFJlZnJlc2hlcyBicmVhZGNydW1iIHN0YXRlIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuICovXHJcbiAgcHJpdmF0ZSByZWZyZXNoQnJlYWRjcnVtYnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJzID0gdGhpcy5icmVhZGNydW1iU2VydmljZS5nZXRCcmVhZGNydW1ic0ZvclJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBEZXRlcm1pbmVzIHRoZSBiYWNrIG5hdmlnYXRpb24gdGFyZ2V0IGZyb20gYnJlYWRjcnVtYnMuICovXHJcbiAgcHJpdmF0ZSBnZXRCYWNrVGFyZ2V0KCk6IFVpQnJlYWRjcnVtYkl0ZW0gfCBudWxsIHtcclxuICAgIGlmICh0aGlzLmJyZWFkY3J1bWJzLmxlbmd0aCA8IDIpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIHRoaXMuYnJlYWRjcnVtYnNbdGhpcy5icmVhZGNydW1icy5sZW5ndGggLSAyXTtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgTmF2aWdhdGVzIHRvIHRoZSBwYXJlbnQgYnJlYWRjcnVtYiBvciBmYWxscyBiYWNrIHRvIGJyb3dzZXIgaGlzdG9yeS4gKi9cclxuICBwcml2YXRlIG5hdmlnYXRlQmFjaygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuZ2V0QmFja1RhcmdldCgpO1xyXG4gICAgaWYgKHRhcmdldD8udXJsKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGFyZ2V0LnVybCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9iYXNlLWxheW91dC9iYXNlLWxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRzdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUE0Q0gsTUFBTSxPQUFPLHFCQUFxQjtJQTNDbEM7UUE0Q0UsZ0VBQWdFO1FBQ3ZELGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFM0IsaUZBQWlGO1FBQ3hFLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFcEIsK0NBQStDO1FBQ3RDLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFFekIsZ0VBQWdFO1FBQ3ZELGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFekIsMkRBQTJEO1FBQ2xELHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUVyQywyQ0FBMkM7UUFDbEMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFF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QzdELElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELG9GQUFvRjtJQUM1RSxZQUFZO1FBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBL0dVLHFCQUFxQjttR0FBckIscUJBQXFCLHViQWxDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQlQscWxCQXJDUyxxQkFBcUIsNklBQUUscUJBQXFCOzs0RkF3QzNDLHFCQUFxQjtrQkEzQ2pDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsbUJBQ3RDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0IsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVDs4QkFLUSxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgSW5wdXQsXHJcbiAgaW5qZWN0LFxyXG4gIHR5cGUgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB0eXBlIHsgVWlCdXR0b25BcmVhQWxpZ24sIFVpQnV0dG9uRGVzY3JpcHRvciB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24udHlwZXMnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkFyZWFDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLWFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlCcmVhZGNydW1iU2VydmljZSB9IGZyb20gJy4uL3BhZ2UtaGVhZGVyL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB0eXBlIHsgVWlCYWNrQnV0dG9uQ29uZmlnIH0gZnJvbSAnLi9iYXNlLWxheW91dC50eXBlcyc7XHJcblxyXG4vKipcclxuICogRnVsbC1wYWdlIGxheW91dCBjb21wb25lbnQgdGhhdCBjb21iaW5lcyBhIHBhZ2UgaGVhZGVyIChicmVhZGNydW1icyArIHRpdGxlKSxcclxuICogYSBtYWluIGNvbnRlbnQgYXJlYSB2aWEgYDxuZy1jb250ZW50PmAsIGFuZCBhIHN0aWNreSBmb290ZXIgYWN0aW9uIGJhclxyXG4gKiBwb3dlcmVkIGJ5IGBVaUJ1dHRvbkFyZWFDb21wb25lbnRgLlxyXG4gKlxyXG4gKiBPcHRpb25hbGx5IHJlbmRlcnMgYW4gYXV0b21hdGljIFwiYmFja1wiIGJ1dHRvbiBpbiB0aGUgZm9vdGVyLCBkZXJpdmVkIGZyb21cclxuICogdGhlIGJyZWFkY3J1bWIgdHJhaWwgKG5hdmlnYXRlcyB0byB0aGUgcGFyZW50IGJyZWFkY3J1bWIpLlxyXG4gKlxyXG4gKiBAc2VsZWN0b3IgdWktYmFzZS1sYXlvdXRcclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8dWktYmFzZS1sYXlvdXQgW2FjdGlvbnNdPVwicGFnZUFjdGlvbnNcIiBmb290ZXJBbGlnbj1cImVuZFwiPlxyXG4gKiAgIDxwPllvdXIgcGFnZSBjb250ZW50IGhlcmU8L3A+XHJcbiAqIDwvdWktYmFzZS1sYXlvdXQ+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDwhLS0gV2l0aCBiYWNrIGJ1dHRvbiBhbmQgY3VzdG9tIHRpdGxlIC0tPlxyXG4gKiA8dWktYmFzZS1sYXlvdXRcclxuICogICB0aXRsZT1cIkRldHRhZ2xpbyB1dGVudGVcIlxyXG4gKiAgIFtzaG93QmFja0J1dHRvbl09XCJ0cnVlXCJcclxuICogICBbYWN0aW9uc109XCJbXHJcbiAqICAgICB7IGlkOiAnc2F2ZScsIGxhYmVsOiAnU2FsdmEnLCB2YXJpYW50OiAncHJpbWFyeScsIGljb246ICdzYXZlJywgYWN0aW9uOiBzYXZlIH0sXHJcbiAqICAgXVwiXHJcbiAqID5cclxuICogICA8YXBwLXVzZXItZGV0YWlsIC8+XHJcbiAqIDwvdWktYmFzZS1sYXlvdXQ+XHJcbiAqIGBgYFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1iYXNlLWxheW91dCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVWlQYWdlSGVhZGVyQ29tcG9uZW50LCBVaUJ1dHRvbkFyZWFDb21wb25lbnRdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICd1aS1iYXNlLWxheW91dC1ob3N0JyxcclxuICB9LFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidWktYmFzZS1sYXlvdXRcIj5cclxuICAgICAgQGlmIChzaG93SGVhZGVyKSB7XHJcbiAgICAgICAgPHVpLXBhZ2UtaGVhZGVyXHJcbiAgICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgICAgW2hvbWVSb3V0ZV09XCJob21lUm91dGVcIlxyXG4gICAgICAgICAgW3Nob3dIb21lXT1cInNob3dIb21lXCJcclxuICAgICAgICAgIFt1cGRhdGVEb2N1bWVudFRpdGxlXT1cInVwZGF0ZURvY3VtZW50VGl0bGVcIlxyXG4gICAgICAgICAgW3RpdGxlU3VmZml4XT1cInRpdGxlU3VmZml4XCJcclxuICAgICAgICAvPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8bWFpbiBjbGFzcz1cInVpLWJhc2UtbGF5b3V0X19jb250ZW50XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cclxuICAgICAgPC9tYWluPlxyXG5cclxuICAgICAgQGlmIChoYXNWaXNpYmxlQWN0aW9ucykge1xyXG4gICAgICAgIDxhc2lkZVxyXG4gICAgICAgICAgY2xhc3M9XCJ1aS1iYXNlLWxheW91dF9fZm9vdGVyXCJcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJQYWdlIGFjdGlvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDx1aS1idXR0b24tYXJlYVxyXG4gICAgICAgICAgICBbYnV0dG9uc109XCJtZXJnZWRBY3Rpb25zXCJcclxuICAgICAgICAgICAgW2FsaWduXT1cImZvb3RlckFsaWduXCJcclxuICAgICAgICAgICAgW2dhcF09XCJmb290ZXJHYXBcIlxyXG4gICAgICAgICAgICBbc3RhY2tPbk1vYmlsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgYXJpYUxhYmVsPVwiUGFnZSBhY3Rpb25zXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9hc2lkZT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybDogJy4vYmFzZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlCYXNlTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBwYWdlIGhlYWRlciAoYnJlYWRjcnVtYnMgKyB0aXRsZSkuICovXHJcbiAgQElucHV0KCkgc2hvd0hlYWRlciA9IHRydWU7XHJcblxyXG4gIC8qKiBPdmVycmlkZSB0aGUgYXV0by1kZXRlY3RlZCBwYWdlIHRpdGxlLiBQYXNzZWQgdGhyb3VnaCB0byBgdWktcGFnZS1oZWFkZXJgLiAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcblxyXG4gIC8qKiBSb3V0ZSBwYXRoIGZvciB0aGUgSG9tZSBicmVhZGNydW1iIGxpbmsuICovXHJcbiAgQElucHV0KCkgaG9tZVJvdXRlID0gJy8nO1xyXG5cclxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBIb21lIGxpbmsgaW4gdGhlIGJyZWFkY3J1bWIgdHJhaWwuICovXHJcbiAgQElucHV0KCkgc2hvd0hvbWUgPSB0cnVlO1xyXG5cclxuICAvKiogV2hlbiBgdHJ1ZWAsIHVwZGF0ZXMgYGRvY3VtZW50LnRpdGxlYCBvbiBuYXZpZ2F0aW9uLiAqL1xyXG4gIEBJbnB1dCgpIHVwZGF0ZURvY3VtZW50VGl0bGUgPSBmYWxzZTtcclxuXHJcbiAgLyoqIFN1ZmZpeCBhcHBlbmRlZCB0byBgZG9jdW1lbnQudGl0bGVgLiAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlU3VmZml4ID0gJyc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgYW4gYXV0b21hdGljIFwiYmFja1wiIGJ1dHRvbiBiYXNlZCBvbiBicmVhZGNydW1icy4gKi9cclxuICBASW5wdXQoKSBzaG93QmFja0J1dHRvbiA9IHRydWU7XHJcblxyXG4gIC8qKiBDb25maWd1cmF0aW9uIG92ZXJyaWRlcyBmb3IgdGhlIGF1dG9tYXRpYyBiYWNrIGJ1dHRvbi4gKi9cclxuICBASW5wdXQoKSBiYWNrQnV0dG9uQ29uZmlnOiBVaUJhY2tCdXR0b25Db25maWcgPSB7fTtcclxuXHJcbiAgLyoqIEFycmF5IG9mIGJ1dHRvbiBkZXNjcmlwdG9ycyBmb3IgdGhlIGZvb3RlciBhY3Rpb24gYXJlYS4gKi9cclxuICBASW5wdXQoKSBhY3Rpb25zOiBVaUJ1dHRvbkRlc2NyaXB0b3JbXSA9IFtdO1xyXG5cclxuICAvKiogSG9yaXpvbnRhbCBhbGlnbm1lbnQgb2YgdGhlIGZvb3RlciBidXR0b24gYXJlYS4gKi9cclxuICBASW5wdXQoKSBmb290ZXJBbGlnbjogVWlCdXR0b25BcmVhQWxpZ24gPSAnc3RhcnQnO1xyXG5cclxuICAvKiogR2FwIHNpemUgYmV0d2VlbiBmb290ZXIgYnV0dG9ucy4gKi9cclxuICBASW5wdXQoKSBmb290ZXJHYXA6ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnID0gJ3NtJztcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBicmVhZGNydW1iU2VydmljZSA9IGluamVjdChVaUJyZWFkY3J1bWJTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogTWVyZ2VkIGFjdGlvbiBsaXN0IChiYWNrIGJ1dHRvbiArIGNvbnN1bWVyIGFjdGlvbnMpLlxyXG4gICAqIENvbXB1dGVkIG9uIGV2ZXJ5IGNoYW5nZS1kZXRlY3Rpb24gY2hlY2sgc28gaXQgc3RheXMgaW4gc3luY1xyXG4gICAqIHdpdGggYm90aCBuYXZpZ2F0aW9uIHN0YXRlIChicmVhZGNydW1icykgYW5kIGlucHV0IGNoYW5nZXMuXHJcbiAgICovXHJcbiAgZ2V0IG1lcmdlZEFjdGlvbnMoKTogVWlCdXR0b25EZXNjcmlwdG9yW10ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBVaUJ1dHRvbkRlc2NyaXB0b3JbXSA9IFtdO1xyXG5cclxuICAgIGlmICh0aGlzLnNob3dCYWNrQnV0dG9uKSB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKHtcclxuICAgICAgICBpZDogJ19fdWktYmFjaycsXHJcbiAgICAgICAgbGFiZWw6IHRoaXMuYmFja0J1dHRvbkNvbmZpZy5sYWJlbCA/PyAnSW5kaWV0cm8nLFxyXG4gICAgICAgIGljb246ICh0aGlzLmJhY2tCdXR0b25Db25maWcuaWNvbiBhcyBhbnkpID8/ICdhcnJvdy1sZWZ0JyxcclxuICAgICAgICBpY29uUG9zaXRpb246ICdsZWFkaW5nJyxcclxuICAgICAgICB2YXJpYW50OiAodGhpcy5iYWNrQnV0dG9uQ29uZmlnLnZhcmlhbnQgYXMgYW55KSA/PyAnb3V0bGluZScsXHJcbiAgICAgICAgaGlkZGVuOiB0aGlzLnNob3VsZEhpZGVCYWNrQnV0dG9uKCksXHJcbiAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLm5hdmlnYXRlQmFjaygpLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXN1bHQucHVzaCguLi50aGlzLmFjdGlvbnMpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRoZSBmb290ZXIgc2hvdWxkIHJlbmRlciAoYXQgbGVhc3Qgb25lIG5vbi1oaWRkZW4gYWN0aW9uIGV4aXN0cykuICovXHJcbiAgZ2V0IGhhc1Zpc2libGVBY3Rpb25zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWVyZ2VkQWN0aW9ucy5zb21lKChhKSA9PiAhYS5oaWRkZW4pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZnJlc2hCcmVhZGNydW1icygpO1xyXG5cclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSg1MCksXHJcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2hCcmVhZGNydW1icygpKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgQWdnaW9ybmEgbG8gc3RhdG8gZGVpIGJyZWFkY3J1bWIgbmVsIHNlcnZpY2UgZGFsbGEgcm90dGEgY29ycmVudGUuICovXHJcbiAgcHJpdmF0ZSByZWZyZXNoQnJlYWRjcnVtYnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmdldEJyZWFkY3J1bWJzRm9yUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIERldGVybWluYSBzZSBpbCBiYWNrIGJ1dHRvbiBkZXZlIGVzc2VyZSBuYXNjb3N0byBwZXIgbGEgcm90dGEgY29ycmVudGUuICovXHJcbiAgcHJpdmF0ZSBzaG91bGRIaWRlQmFja0J1dHRvbigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF0uc3BsaXQoJyMnKVswXTtcclxuICAgIGlmIChjdXJyZW50UGF0aCA9PT0gdGhpcy5ob21lUm91dGUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGRlZXBlc3RSb3V0ZSA9IHRoaXMuYWN0aXZhdGVkUm91dGU7XHJcbiAgICB3aGlsZSAoZGVlcGVzdFJvdXRlLmZpcnN0Q2hpbGQpIHtcclxuICAgICAgZGVlcGVzdFJvdXRlID0gZGVlcGVzdFJvdXRlLmZpcnN0Q2hpbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQvY29tcGxleGl0eS91c2VMaXRlcmFsS2V5czogPGV4cGxhbmF0aW9uPlxyXG4gICAgaWYgKGRlZXBlc3RSb3V0ZS5zbmFwc2hvdC5kYXRhPy5bJ2hpZGVCYWNrQnV0dG9uJ10gPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBOYXZpZ2EgYWwgYnJlYWRjcnVtYiBnZW5pdG9yZSBvIGVzZWd1ZSBpbCBmYWxsYmFjayBhbGxhIGhvbWUgcm91dGUuICovXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZUJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLm5hdmlnYXRlQmFjayh0aGlzLmhvbWVSb3V0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -582,7 +582,7 @@ export class UiCrudTableComponent {
582
582
  </div>
583
583
  }
584
584
  </div>
585
- `, isInline: true, styles: [".ui-crud-table-host{display:block;width:100%}.ui-crud-table{display:flex;flex-direction:column;width:100%;font-family:var(--ui-font-family)}.ui-crud-table__empty{display:flex;justify-content:space-between;align-items:center;padding:var(--ui-spacing-5);border:1px dashed var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-bg-subtle);min-height:80px}.ui-crud-table__empty-message{display:flex;align-items:center;gap:var(--ui-spacing-2);color:var(--ui-color-text-muted);font-size:var(--ui-font-size-sm);font-style:italic}.ui-crud-table__empty-icon{color:var(--ui-color-text-muted);flex-shrink:0}.ui-crud-table__loading{display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--ui-spacing-6);border:1px dashed var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-bg-subtle)}.ui-crud-table__spinner{width:24px;height:24px;border:3px solid var(--ui-color-primary-light);border-top-color:var(--ui-color-primary);border-radius:50%;animation:ui-crud-table-spin .7s linear infinite}@keyframes ui-crud-table-spin{to{transform:rotate(360deg)}}.ui-crud-table__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-crud-table__container{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);overflow:hidden;overflow-x:auto;box-shadow:var(--ui-shadow-sm)}.ui-crud-table__table{width:100%;border-collapse:collapse;font-size:var(--ui-font-size-sm)}.ui-crud-table__th{padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:2px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text-secondary);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle}.ui-crud-table__th--actions{text-align:right;width:140px;min-width:140px}.ui-crud-table__row{transition-property:background-color;transition-duration:var(--ui-transition-fast);transition-timing-function:ease}.ui-crud-table__row:hover{background:var(--ui-color-surface-hover)}.ui-crud-table__row:last-child .ui-crud-table__td{border-bottom:none}.ui-crud-table__td{padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:1px solid var(--ui-color-border);color:var(--ui-color-text);vertical-align:middle;word-break:break-word}.ui-crud-table__td--actions{text-align:right;white-space:nowrap}.ui-crud-table__cell-text{color:var(--ui-color-text)}.ui-crud-table__ellipsis{cursor:help}.ui-crud-table__ellipsis:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.ui-crud-table__actions{display:inline-flex;gap:var(--ui-spacing-1);align-items:center;justify-content:flex-end}.ui-crud-table__action-btn{appearance:none;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ui-radius-md);color:var(--ui-color-primary);transition-property:\"background-color, color, transform, opacity\";transition-duration:var(--ui-transition-fast);transition-timing-function:ease}.ui-crud-table__action-btn:focus{outline:none}.ui-crud-table__action-btn:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-crud-table__action-btn:hover:not(.ui-crud-table__action-btn--disabled){background:var(--ui-color-primary-light);transform:scale(1.08)}.ui-crud-table__action-btn--warn{color:var(--ui-color-warn)}.ui-crud-table__action-btn--warn:hover:not(.ui-crud-table__action-btn--disabled){background:var(--ui-color-warn-light)}.ui-crud-table__action-btn--disabled{opacity:.35;cursor:not-allowed;color:var(--ui-color-text-muted)!important}.ui-crud-table__action-btn--disabled:hover{transform:none;background:transparent}.ui-crud-table__footer{margin-top:var(--ui-spacing-4)}.ui-crud-table__form{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-bg-subtle);box-shadow:var(--ui-shadow-sm);overflow:hidden}.ui-crud-table__form-header{padding:var(--ui-spacing-4) var(--ui-spacing-5);border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-surface)}.ui-crud-table__form-title{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text)}.ui-crud-table__form-content{padding:var(--ui-spacing-5)}@media (max-width: 768px){.ui-crud-table__th,.ui-crud-table__td{padding:var(--ui-spacing-2) var(--ui-spacing-3);font-size:var(--ui-font-size-xs)}.ui-crud-table__th--actions{width:auto;min-width:auto}.ui-crud-table__empty{flex-direction:column;gap:var(--ui-spacing-3);text-align:center}.ui-crud-table__form-content{padding:var(--ui-spacing-3)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i2.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: UiButtonAreaComponent, selector: "ui-button-area", inputs: ["buttons", "align", "ariaLabel", "gap", "stackOnMobile", "disableWhileLoading", "loadingIds"] }, { kind: "component", type: UiFormBuilderComponent, selector: "ui-form-builder", inputs: ["schema", "initialData", "readonly", "disabled", "buttonsOverride", "loadingFor"], outputs: ["valueChange", "validationChange", "formSubmit", "formReset", "customEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
585
+ `, isInline: true, styles: [".ui-crud-table-host{display:block;width:100%}.ui-crud-table{display:flex;flex-direction:column;width:100%;font-family:var(--ui-font-family)}.ui-crud-table__empty{display:flex;justify-content:space-between;align-items:center;padding:var(--ui-spacing-5);border:1px dashed var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-bg-subtle);min-height:80px}.ui-crud-table__empty-message{display:flex;align-items:center;gap:var(--ui-spacing-2);color:var(--ui-color-text-muted);font-size:var(--ui-font-size-sm);font-style:italic}.ui-crud-table__empty-icon{color:var(--ui-color-text-muted);flex-shrink:0}.ui-crud-table__loading{display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--ui-spacing-6);border:1px dashed var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-bg-subtle)}.ui-crud-table__spinner{width:24px;height:24px;border:3px solid var(--ui-color-primary-light);border-top-color:var(--ui-color-primary);border-radius:50%;animation:ui-crud-table-spin .7s linear infinite}@keyframes ui-crud-table-spin{to{transform:rotate(360deg)}}.ui-crud-table__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-crud-table__container{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);overflow:hidden;overflow-x:auto;box-shadow:var(--ui-shadow-sm)}.ui-crud-table__table{width:100%;border-collapse:collapse;font-size:var(--ui-font-size-sm)}.ui-crud-table__th{padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:2px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text-secondary);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle}.ui-crud-table__th--actions{text-align:right;width:140px;min-width:140px}.ui-crud-table__row{transition-property:background-color;transition-duration:var(--ui-transition-fast);transition-timing-function:ease}.ui-crud-table__row:hover{background:var(--ui-color-surface-hover)}.ui-crud-table__row:last-child .ui-crud-table__td{border-bottom:none}.ui-crud-table__td{padding:var(--ui-spacing-3) var(--ui-spacing-4);border-bottom:1px solid var(--ui-color-border);color:var(--ui-color-text);vertical-align:middle;word-break:break-word}.ui-crud-table__td--actions{text-align:right;white-space:nowrap}.ui-crud-table__cell-text{color:var(--ui-color-text)}.ui-crud-table__ellipsis{cursor:help}.ui-crud-table__ellipsis:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.ui-crud-table__actions{display:inline-flex;gap:var(--ui-spacing-1);align-items:center;justify-content:flex-end}.ui-crud-table__action-btn{appearance:none;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ui-radius-md);color:var(--ui-color-primary);transition-property:\"background-color, color, transform, opacity\";transition-duration:var(--ui-transition-fast);transition-timing-function:ease}.ui-crud-table__action-btn:focus{outline:none}.ui-crud-table__action-btn:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-crud-table__action-btn:hover:not(.ui-crud-table__action-btn--disabled){background:var(--ui-color-primary-light);transform:scale(1.08)}.ui-crud-table__action-btn--warn{color:var(--ui-color-warn)}.ui-crud-table__action-btn--warn:hover:not(.ui-crud-table__action-btn--disabled){background:var(--ui-color-warn-light)}.ui-crud-table__action-btn--disabled{opacity:.35;cursor:not-allowed;color:var(--ui-color-text-muted)!important}.ui-crud-table__action-btn--disabled:hover{transform:none;background:transparent}.ui-crud-table__footer{margin-top:var(--ui-spacing-4)}.ui-crud-table__form{border:1px solid var(--ui-color-border);border-radius:var(--ui-radius-lg);background:var(--ui-color-bg-subtle);box-shadow:var(--ui-shadow-sm);overflow:hidden}.ui-crud-table__form-header{padding:var(--ui-spacing-4) var(--ui-spacing-5);border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-surface)}.ui-crud-table__form-title{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text)}.ui-crud-table__form-content{padding:var(--ui-spacing-5)}@media (max-width: 768px){.ui-crud-table__th,.ui-crud-table__td{padding:var(--ui-spacing-2) var(--ui-spacing-3);font-size:var(--ui-font-size-xs)}.ui-crud-table__th--actions{width:auto;min-width:auto}.ui-crud-table__empty{flex-direction:column;gap:var(--ui-spacing-3);text-align:center}.ui-crud-table__form-content{padding:var(--ui-spacing-3)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i2.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: UiButtonAreaComponent, selector: "ui-button-area", inputs: ["buttons", "align", "ariaLabel", "gap", "stackOnMobile", "disableWhileLoading", "loadingIds"] }, { kind: "component", type: UiFormBuilderComponent, selector: "ui-form-builder", inputs: ["schema", "initialData", "readonly", "disabled", "buttonsOverride", "loadingFor", "customFieldTemplates", "customFieldTemplateFallback"], outputs: ["valueChange", "validationChange", "formSubmit", "formReset", "customEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
586
586
  }
587
587
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiCrudTableComponent, decorators: [{
588
588
  type: Component,