@energinet/watt 2.1.3 → 2.1.4

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 (109) hide show
  1. package/core/styles/@energinet-datahub/watt/theme/material-overwrites/datepicker.scss +8 -2
  2. package/esm2022/badge/watt-badge.component.js +8 -8
  3. package/esm2022/breadcrumbs/watt-breadcrumbs.component.js +8 -8
  4. package/esm2022/button/watt-button.component.js +14 -14
  5. package/esm2022/card/watt-card-title.component.js +3 -3
  6. package/esm2022/card/watt-card.component.js +7 -7
  7. package/esm2022/checkbox/watt-checkbox.component.js +7 -7
  8. package/esm2022/chip/watt-action-chip.component.js +6 -6
  9. package/esm2022/chip/watt-chip.component.js +7 -7
  10. package/esm2022/chip/watt-chip.directive.js +3 -3
  11. package/esm2022/chip/watt-date-chip.component.js +3 -3
  12. package/esm2022/chip/watt-date-range-chip.component.js +8 -8
  13. package/esm2022/chip/watt-filter-chip.component.js +3 -3
  14. package/esm2022/chip/watt-menu-chip.component.js +3 -3
  15. package/esm2022/clipboard/watt-clipboard-intl.service.js +3 -3
  16. package/esm2022/clipboard/watt-copy-to-clipboard.directive.js +5 -5
  17. package/esm2022/code/watt-code.component.js +6 -6
  18. package/esm2022/core/breakpoints/breakpoints-observer.js +3 -3
  19. package/esm2022/core/color/color-helper.service.js +3 -3
  20. package/esm2022/core/date/watt-date.pipe.js +3 -3
  21. package/esm2022/core/date/watt-locale.service.js +7 -7
  22. package/esm2022/data/watt-data-actions.component.js +3 -3
  23. package/esm2022/data/watt-data-filters.component.js +3 -3
  24. package/esm2022/data/watt-data-intl.service.js +3 -3
  25. package/esm2022/data/watt-data-table.component.js +19 -19
  26. package/esm2022/datetime-field/watt-datetime-field.component.js +11 -11
  27. package/esm2022/description-list/watt-description-list-item.component.js +7 -7
  28. package/esm2022/description-list/watt-description-list.component.js +9 -9
  29. package/esm2022/drawer/watt-drawer-actions.component.js +3 -3
  30. package/esm2022/drawer/watt-drawer-content.component.js +3 -3
  31. package/esm2022/drawer/watt-drawer-heading.component.js +3 -3
  32. package/esm2022/drawer/watt-drawer-topbar.component.js +3 -3
  33. package/esm2022/drawer/watt-drawer.component.js +13 -13
  34. package/esm2022/dropdown/watt-dropdown.component.js +4 -4
  35. package/esm2022/dropzone/watt-dropzone-intl.js +3 -3
  36. package/esm2022/dropzone/watt-dropzone-validators.js +6 -6
  37. package/esm2022/dropzone/watt-dropzone.js +9 -9
  38. package/esm2022/empty-state/icons/explore.js +3 -3
  39. package/esm2022/empty-state/icons/no-results.js +3 -3
  40. package/esm2022/empty-state/icons/power.js +3 -3
  41. package/esm2022/empty-state/watt-empty-state.component.js +10 -10
  42. package/esm2022/expandable-card/watt-expandable-card.component.js +15 -15
  43. package/esm2022/expansion/expansion.component.js +3 -3
  44. package/esm2022/field/watt-field-error.component.js +3 -3
  45. package/esm2022/field/watt-field-hint.component.js +3 -3
  46. package/esm2022/field/watt-field-intl.service.js +3 -3
  47. package/esm2022/field/watt-field.component.js +19 -19
  48. package/esm2022/icon/flags/watt-flag-ch.js +3 -3
  49. package/esm2022/icon/flags/watt-flag-de.js +3 -3
  50. package/esm2022/icon/flags/watt-flag-dk.js +3 -3
  51. package/esm2022/icon/flags/watt-flag-fi.js +3 -3
  52. package/esm2022/icon/flags/watt-flag-nl.js +3 -3
  53. package/esm2022/icon/flags/watt-flag-no.js +3 -3
  54. package/esm2022/icon/flags/watt-flag-pl.js +3 -3
  55. package/esm2022/icon/flags/watt-flag-se.js +3 -3
  56. package/esm2022/icon/flags/watt-flag.js +7 -7
  57. package/esm2022/icon/icon.component.js +11 -11
  58. package/esm2022/modal/watt-modal.component.js +8 -8
  59. package/esm2022/modal/watt-modal.service.js +7 -7
  60. package/esm2022/paginator/watt-paginator-intl.service.js +3 -3
  61. package/esm2022/paginator/watt-paginator.component.js +14 -14
  62. package/esm2022/phone-field/watt-phone-field-intl.service.js +3 -3
  63. package/esm2022/phone-field/watt-phone-field.component.js +7 -7
  64. package/esm2022/picker/__shared/placeholder-mask/watt-placeholder-mask.component.js +13 -13
  65. package/esm2022/picker/__shared/watt-picker-base.js +3 -3
  66. package/esm2022/picker/datepicker/watt-datepicker-intl.service.js +3 -3
  67. package/esm2022/picker/datepicker/watt-datepicker.component.js +13 -13
  68. package/esm2022/picker/timepicker/watt-timepicker.component.js +3 -3
  69. package/esm2022/progress-tracker/watt-progress-tracker-step.component.js +9 -9
  70. package/esm2022/progress-tracker/watt-progress-tracker.component.js +3 -3
  71. package/esm2022/query-params/watt-query-params.directive.js +3 -3
  72. package/esm2022/radio/watt-radio.component.js +6 -6
  73. package/esm2022/search/watt-search.component.js +7 -7
  74. package/esm2022/segmented-buttons/watt-segmented-button.component.js +5 -5
  75. package/esm2022/segmented-buttons/watt-segmented-buttons.component.js +7 -7
  76. package/esm2022/shell/nav-list/watt-expand-on-active-link.directive.js +5 -5
  77. package/esm2022/shell/nav-list/watt-nav-list-item.component.js +7 -7
  78. package/esm2022/shell/nav-list/watt-nav-list.component.js +7 -7
  79. package/esm2022/shell/shell.component.js +4 -4
  80. package/esm2022/slide-toggle/watt-slide-toggle.component.js +9 -9
  81. package/esm2022/slider/watt-slider.component.js +3 -3
  82. package/esm2022/spinner/watt-spinner.component.js +7 -7
  83. package/esm2022/stepper/watt-stepper-step.component.js +10 -10
  84. package/esm2022/stepper/watt-stepper.component.js +6 -6
  85. package/esm2022/table/watt-table.component.js +15 -15
  86. package/esm2022/tabs/watt-link-tab.component.js +6 -6
  87. package/esm2022/tabs/watt-link-tabs.component.js +5 -5
  88. package/esm2022/tabs/watt-tab.component.js +5 -5
  89. package/esm2022/tabs/watt-tabs-action.component.js +3 -3
  90. package/esm2022/tabs/watt-tabs.component.js +7 -7
  91. package/esm2022/text-field/watt-text-field.component.js +3 -3
  92. package/esm2022/textarea-field/watt-textarea-field.component.js +3 -3
  93. package/esm2022/toast/watt-toast.component.js +3 -3
  94. package/esm2022/toast/watt-toast.service.js +3 -3
  95. package/esm2022/tooltip/watt-tooltip.component.js +3 -3
  96. package/esm2022/tooltip/watt-tooltip.directive.js +3 -3
  97. package/esm2022/utils/css/css-custom-properties.service.js +3 -3
  98. package/esm2022/utils/intersection-observer/watt-intersection-observer.service.js +3 -3
  99. package/esm2022/utils/resize-observer/watt-resize-observer.directive.js +3 -3
  100. package/esm2022/utils/resize-observer/watt-resize-observer.service.js +3 -3
  101. package/esm2022/validation-message/watt-validation-message.component.js +12 -12
  102. package/esm2022/vater/vater-flex.component.js +5 -5
  103. package/esm2022/vater/vater-layout.directive.js +16 -16
  104. package/esm2022/vater/vater-spacer.component.js +3 -3
  105. package/esm2022/vater/vater-stack.component.js +3 -3
  106. package/esm2022/vater/vater-utility.directive.js +11 -11
  107. package/esm2022/year-field/watt-year-field.component.js +12 -12
  108. package/esm2022/yearmonth-field/watt-yearmonth-field.component.js +12 -12
  109. package/package.json +15 -15
@@ -59,20 +59,20 @@ export class WattDateTimeField {
59
59
  // the observable will already be closed and `subscribe` becomes a proper noop.
60
60
  valueChanges = this.control.valueChanges.pipe(map(this.viewToModel), takeUntilDestroyed(), share());
61
61
  /** Set the label text for `watt-field`. */
62
- label = input('');
62
+ label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
63
63
  /** The minimum selectable date. */
64
- min = input();
64
+ min = input(...(ngDevMode ? [undefined, { debugName: "min" }] : []));
65
65
  /** The maximum selectable date. */
66
- max = input();
66
+ max = input(...(ngDevMode ? [undefined, { debugName: "max" }] : []));
67
67
  /** When true, seconds will be set to 59 and milliseconds to 999. Otherwise, both are 0. */
68
- inclusive = input(false);
68
+ inclusive = input(false, ...(ngDevMode ? [{ debugName: "inclusive" }] : []));
69
69
  /** Emits when the selected date has changed. */
70
70
  dateChange = outputFromObservable(this.valueChanges);
71
71
  /** Emits when the field loses focus. */
72
72
  // eslint-disable-next-line @angular-eslint/no-output-native
73
73
  blur = output();
74
- selected = signal(null);
75
- placeholder = computed(() => (this.locale.isDanish() ? DA_FILLER : EN_FILLER));
74
+ selected = signal(null, ...(ngDevMode ? [{ debugName: "selected" }] : []));
75
+ placeholder = computed(() => (this.locale.isDanish() ? DA_FILLER : EN_FILLER), ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
76
76
  mask = computed(() => maskitoDateTimeOptionsGenerator({
77
77
  min: this.min(),
78
78
  max: this.max(),
@@ -80,7 +80,7 @@ export class WattDateTimeField {
80
80
  timeMode: 'HH:MM',
81
81
  dateSeparator: '-',
82
82
  timeStep: 1,
83
- }));
83
+ }), ...(ngDevMode ? [{ debugName: "mask" }] : []));
84
84
  handleBlur = (picker, event) => {
85
85
  if (event.relatedTarget instanceof HTMLElement && picker.contains(event.relatedTarget)) {
86
86
  const target = event.target; // safe type assertion
@@ -111,8 +111,8 @@ export class WattDateTimeField {
111
111
  setDisabledState = (x) => (x ? this.control.disable() : this.control.enable());
112
112
  registerOnTouched = (fn) => this.blur.subscribe(fn);
113
113
  registerOnChange = (fn) => this.valueChanges.subscribe(fn);
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateTimeField, deps: [], target: i0.ɵɵFactoryTarget.Component });
115
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.3", type: WattDateTimeField, isStandalone: true, selector: "watt-datetime-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, inclusive: { classPropertyName: "inclusive", publicName: "inclusive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange", blur: "blur" }, providers: [
114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDateTimeField, deps: [], target: i0.ɵɵFactoryTarget.Component });
115
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.3", type: WattDateTimeField, isStandalone: true, selector: "watt-datetime-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, inclusive: { classPropertyName: "inclusive", publicName: "inclusive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange", blur: "blur" }, providers: [
116
116
  {
117
117
  provide: NG_VALUE_ACCESSOR,
118
118
  useExisting: forwardRef(() => WattDateTimeField),
@@ -154,7 +154,7 @@ export class WattDateTimeField {
154
154
  </watt-field>
155
155
  `, isInline: true, styles: ["watt-datetime-field{display:block;width:100%}.watt-datetime-field-picker{position:fixed;position-area:bottom span-right;position-try-fallbacks:flip-block;width:296px;height:354px;inset:unset;margin:unset;border:0}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
156
156
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDateTimeField, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDateTimeField, decorators: [{
158
158
  type: Component,
159
159
  args: [{ selector: 'watt-datetime-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
160
160
  {
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
204
204
  </watt-field>
205
205
  `, styles: ["watt-datetime-field{display:block;width:100%}.watt-datetime-field-picker{position:fixed;position-area:bottom span-right;position-try-fallbacks:flip-block;width:296px;height:354px;inset:unset;margin:unset;border:0}\n"] }]
206
206
  }], ctorParameters: () => [] });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRldGltZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9kYXRldGltZS1maWVsZC93YXR0LWRhdGV0aW1lLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUU3RCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztBQUN0QyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztBQUN0QyxNQUFN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QyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLG9FQW9Gd0QsV0FBVyxnRUF6RDFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NULGdTQTNEQyxtQkFBbUIsMGtCQUNuQixnQkFBZ0IsNkZBQ2hCLFdBQVcsOFlBQ1gsbUJBQW1CLHNJQUNuQixrQkFBa0I7OzJGQXlEVCxpQkFBaUI7a0JBekU3QixTQUFTOytCQUNFLHFCQUFxQixpQkFDaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsV0FDUTt3QkFDUCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjtxQkFDbkIsWUFvQlM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgb3V0cHV0RnJvbU9ic2VydmFibGUsIHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE1hdENhbGVuZGFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXNraXRvRGlyZWN0aXZlIH0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgeyBtYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yIH0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7IG1hcCwgc2hhcmUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRheWpzLCBXYXR0TG9jYWxlU2VydmljZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9jb3JlL2RhdGUnO1xuaW1wb3J0IHsgV2F0dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ZpZWxkJztcbmltcG9ydCB7IFdhdHRCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvYnV0dG9uJztcblxuY29uc3QgREFfRklMTEVSID0gJ2RkLW1tLcOlw6XDpcOlLCB0dDptbSc7XG5jb25zdCBFTl9GSUxMRVIgPSAnZGQtbW0teXl5eSwgaGg6bW0nO1xuY29uc3QgREFURVRJTUVfRk9STUFUID0gJ0RELU1NLVlZWVksIEhIOm1tJztcbmNvbnN0IFBBUlRJQUxfREFURVRJTUVfRk9STUFUID0gJ0RELU1NLVlZWVksICc7XG5jb25zdCBEQU5JU0hfVElNRV9aT05FX0lERU5USUZJRVIgPSAnRXVyb3BlL0NvcGVuaGFnZW4nO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LWNsYXNzLXN1ZmZpeCAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2F0dC1kYXRldGltZS1maWVsZCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdhdHREYXRlVGltZUZpZWxkKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgTWF0Q2FsZW5kYXIsXG4gICAgV2F0dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBXYXR0RmllbGRDb21wb25lbnQsXG4gIF0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHdhdHQtZGF0ZXRpbWUtZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC53YXR0LWRhdGV0aW1lLWZpZWxkLXBpY2tlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcG9zaXRpb24tYXJlYTogYm90dG9tIHNwYW4tcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uLXRyeS1mYWxsYmFja3M6IGZsaXAtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyOTZweDtcbiAgICAgICAgaGVpZ2h0OiAzNTRweDtcbiAgICAgICAgaW5zZXQ6IHVuc2V0O1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8d2F0dC1maWVsZFxuICAgICAgW2xhYmVsXT1cImxhYmVsKClcIlxuICAgICAgW2NvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXG4gICAgICBbYW5jaG9yTmFtZV09XCJhbmNob3JOYW1lXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2ZpZWxkXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgW21hc2tpdG9dPVwibWFzaygpXCJcbiAgICAgICAgKGZvY3VzKT1cInBpY2tlci5zaG93UG9wb3ZlcigpXCJcbiAgICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cihwaWNrZXIsICRldmVudClcIlxuICAgICAgLz5cbiAgICAgIDx3YXR0LWJ1dHRvbiBpY29uPVwiZGF0ZVwiIHZhcmlhbnQ9XCJpY29uXCIgKGNsaWNrKT1cImZpZWxkLmZvY3VzKClcIiAvPlxuICAgICAgPGRpdlxuICAgICAgICAjcGlja2VyXG4gICAgICAgIGNsYXNzPVwid2F0dC1lbGV2YXRpb24gd2F0dC1kYXRldGltZS1maWVsZC1waWNrZXJcIlxuICAgICAgICBwb3BvdmVyPVwibWFudWFsXCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgW3N0eWxlLnBvc2l0aW9uLWFuY2hvcl09XCJhbmNob3JOYW1lXCJcbiAgICAgID5cbiAgICAgICAgPG1hdC1jYWxlbmRhclxuICAgICAgICAgIFtzdGFydEF0XT1cInNlbGVjdGVkKClcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZCgpXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW4oKVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4KClcIlxuICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJoYW5kbGVTZWxlY3RlZENoYW5nZShmaWVsZCwgcGlja2VyLCAkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICAgIDwvd2F0dC1maWVsZD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERhdGVUaW1lRmllbGQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgbG9jYWxlID0gaW5qZWN0KFdhdHRMb2NhbGVTZXJ2aWNlKTtcblxuICAvLyBQb3BvdmVycyBleGlzdHMgb24gYW4gZW50aXJlbHkgZGlmZmVyZW50IGxheWVyLCBtZWFuaW5nIHRoYXQgZm9yIGFuY2hvciBwb3NpdGlvbmluZyB0aGV5XG4gIC8vIGxvb2sgYXQgdGhlIGVudGlyZSB0cmVlIGZvciB0aGUgYW5jaG9yIG5hbWUuIFRoaXMgZ2l2ZXMgZWFjaCBmaWVsZCBhIHVuaXF1ZSBhbmNob3IgbmFtZS5cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2UgPSAwO1xuICBwcml2YXRlIGluc3RhbmNlID0gV2F0dERhdGVUaW1lRmllbGQuaW5zdGFuY2UrKztcbiAgcHJvdGVjdGVkIGFuY2hvck5hbWUgPSBgLS13YXR0LWRhdGV0aW1lLWZpZWxkLXBvcG92ZXItYW5jaG9yLSR7dGhpcy5pbnN0YW5jZX1gO1xuXG4gIC8qKiBDb252ZXJ0cyBkYXRlIGZyb20gb3V0ZXIgRm9ybUNvbnRyb2wgdG8gZm9ybWF0IG9mIGlubmVyIEZvcm1Db250cm9sLiAqL1xuICBwcm90ZWN0ZWQgbW9kZWxUb1ZpZXcgPSAodmFsdWU6IERhdGUgfCBudWxsLCBmb3JtYXQgPSBEQVRFVElNRV9GT1JNQVQpID0+XG4gICAgdmFsdWUgPyBkYXlqcyh2YWx1ZSkudHooREFOSVNIX1RJTUVfWk9ORV9JREVOVElGSUVSKS5mb3JtYXQoZm9ybWF0KSA6ICcnO1xuXG4gIC8qKiBDb252ZXJ0cyB2YWx1ZSBvZiBpbm5lciBGb3JtQ29udHJvbCB0byB0eXBlIG9mIG91dGVyIEZvcm1Db250cm9sLiAqL1xuICBwcm90ZWN0ZWQgdmlld1RvTW9kZWwgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGRhdGUgPSBkYXlqcyh2YWx1ZSwgREFURVRJTUVfRk9STUFULCB0cnVlKTtcbiAgICBpZiAoIWRhdGUuaXNWYWxpZCgpKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5pbmNsdXNpdmUoKSA/IGRhdGUuZW5kT2YoJ20nKS50b0RhdGUoKSA6IGRhdGUudG9EYXRlKCk7XG4gIH07XG5cbiAgLy8gTXVzdCB1bmZvcnR1bmF0ZWx5IGJlIHF1ZXJpZWQgaW4gb3JkZXIgdG8gdXBkYXRlIGBhY3RpdmVEYXRlYFxuICBwcml2YXRlIGNhbGVuZGFyID0gdmlld0NoaWxkLnJlcXVpcmVkPE1hdENhbGVuZGFyPERhdGU+PihNYXRDYWxlbmRhcik7XG5cbiAgLy8gVGhpcyBpbm5lciBGb3JtQ29udHJvbCBpcyBzdHJpbmcgb25seSwgYnV0IHRoZSBvdXRlciBGb3JtQ29udHJvbCBpcyBvZiB0eXBlIERhdGUuXG4gIHByb3RlY3RlZCBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuXG4gIC8vIGByZWdpc3Rlck9uQ2hhbmdlYCBtYXkgc3Vic2NyaWJlIHRvIHRoaXMgY29tcG9uZW50IGFmdGVyIGl0IGhhcyBiZWVuIGRlc3Ryb3llZCwgdGh1c1xuICAvLyB0cmlnZ2VyaW5nIGFuIE5HMDkxMSBmcm9tIHRoZSBgdGFrZVVudGlsRGVzdHJveWVkYCBvcGVyYXRvci4gQnkgc2hhcmluZyB0aGUgb2JzZXJ2YWJsZSxcbiAgLy8gdGhlIG9ic2VydmFibGUgd2lsbCBhbHJlYWR5IGJlIGNsb3NlZCBhbmQgYHN1YnNjcmliZWAgYmVjb21lcyBhIHByb3BlciBub29wLlxuICBwcml2YXRlIHZhbHVlQ2hhbmdlcyA9IHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICBtYXAodGhpcy52aWV3VG9Nb2RlbCksXG4gICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgc2hhcmUoKVxuICApO1xuXG4gIC8qKiBTZXQgdGhlIGxhYmVsIHRleHQgZm9yIGB3YXR0LWZpZWxkYC4gKi9cbiAgbGFiZWwgPSBpbnB1dCgnJyk7XG5cbiAgLyoqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZS4gKi9cbiAgbWluID0gaW5wdXQ8RGF0ZT4oKTtcblxuICAvKiogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlLiAqL1xuICBtYXggPSBpbnB1dDxEYXRlPigpO1xuXG4gIC8qKiBXaGVuIHRydWUsIHNlY29uZHMgd2lsbCBiZSBzZXQgdG8gNTkgYW5kIG1pbGxpc2Vjb25kcyB0byA5OTkuIE90aGVyd2lzZSwgYm90aCBhcmUgMC4gKi9cbiAgaW5jbHVzaXZlID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBzZWxlY3RlZCBkYXRlIGhhcyBjaGFuZ2VkLiAqL1xuICBkYXRlQ2hhbmdlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodGhpcy52YWx1ZUNoYW5nZXMpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBmaWVsZCBsb3NlcyBmb2N1cy4gKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIGJsdXIgPSBvdXRwdXQ8Rm9jdXNFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWQgPSBzaWduYWw8RGF0ZSB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgcGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5sb2NhbGUuaXNEYW5pc2goKSA/IERBX0ZJTExFUiA6IEVOX0ZJTExFUikpO1xuICBwcm90ZWN0ZWQgbWFzayA9IGNvbXB1dGVkKCgpID0+XG4gICAgbWFza2l0b0RhdGVUaW1lT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBtaW46IHRoaXMubWluKCksXG4gICAgICBtYXg6IHRoaXMubWF4KCksXG4gICAgICBkYXRlTW9kZTogJ2RkL21tL3l5eXknLFxuICAgICAgdGltZU1vZGU6ICdISDpNTScsXG4gICAgICBkYXRlU2VwYXJhdG9yOiAnLScsXG4gICAgICB0aW1lU3RlcDogMSxcbiAgICB9KVxuICApO1xuXG4gIHByb3RlY3RlZCBoYW5kbGVCbHVyID0gKHBpY2tlcjogSFRNTEVsZW1lbnQsIGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LnJlbGF0ZWRUYXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJiBwaWNrZXIuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50OyAvLyBzYWZlIHR5cGUgYXNzZXJ0aW9uXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRhcmdldC5mb2N1cygpKTsgLy8ga2VlcCBmb2N1cyBvbiBpbnB1dCBlbGVtZW50IHdoaWxlIHVzaW5nIHRoZSBwaWNrZXJcbiAgICB9IGVsc2Uge1xuICAgICAgcGlja2VyLmhpZGVQb3BvdmVyKCk7XG4gICAgICB0aGlzLmJsdXIuZW1pdChldmVudCk7XG4gICAgfVxuICB9O1xuXG4gIHByb3RlY3RlZCBoYW5kbGVTZWxlY3RlZENoYW5nZSA9IChcbiAgICBmaWVsZDogSFRNTElucHV0RWxlbWVudCxcbiAgICBwaWNrZXI6IEhUTUxEaXZFbGVtZW50LFxuICAgIGRhdGU6IERhdGVcbiAgKSA9PiB7XG4gICAgY29uc3QgcHJldiA9IHRoaXMudmlld1RvTW9kZWwodGhpcy5jb250cm9sLnZhbHVlKTtcblxuICAgIC8vIE9ubHkgd3JpdGUgdGhlIGRhdGUgcGFydFxuICAgIGZpZWxkLnZhbHVlID0gcHJldlxuICAgICAgPyB0aGlzLm1vZGVsVG9WaWV3KGRheWpzKGRhdGUpLnNldCgnaCcsIHByZXYuZ2V0SG91cnMoKSkuc2V0KCdtJywgcHJldi5nZXRNaW51dGVzKCkpLnRvRGF0ZSgpKVxuICAgICAgOiB0aGlzLm1vZGVsVG9WaWV3KGRhdGUsIFBBUlRJQUxfREFURVRJTUVfRk9STUFUKTtcblxuICAgIGZpZWxkLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgcGlja2VyLmhpZGVQb3BvdmVyKCk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZC5zZXQodmFsdWUpO1xuICAgICAgdGhpcy5jYWxlbmRhcigpLmFjdGl2ZURhdGUgPSB2YWx1ZSA/PyBuZXcgRGF0ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gSW1wbGVtZW50YXRpb24gZm9yIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG4gIHdyaXRlVmFsdWUgPSAodmFsdWU6IERhdGUgfCBudWxsKSA9PiB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5tb2RlbFRvVmlldyh2YWx1ZSkpO1xuICBzZXREaXNhYmxlZFN0YXRlID0gKHg6IGJvb2xlYW4pID0+ICh4ID8gdGhpcy5jb250cm9sLmRpc2FibGUoKSA6IHRoaXMuY29udHJvbC5lbmFibGUoKSk7XG4gIHJlZ2lzdGVyT25Ub3VjaGVkID0gKGZuOiAoKSA9PiB2b2lkKSA9PiB0aGlzLmJsdXIuc3Vic2NyaWJlKGZuKTtcbiAgcmVnaXN0ZXJPbkNoYW5nZSA9IChmbjogKHZhbHVlOiBEYXRlIHwgbnVsbCkgPT4gdm9pZCkgPT4gdGhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGZuKTtcbn1cbiJdfQ==
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRldGltZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9kYXRldGltZS1maWVsZC93YXR0LWRhdGV0aW1lLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUU3RCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztBQUN0QyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztBQUN0QyxNQUFN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QUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixvRUFvRndELFdBQVcsZ0VBekQxRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVCxnU0EzREMsbUJBQW1CLDBrQkFDbkIsZ0JBQWdCLDZGQUNoQixXQUFXLDhZQUNYLG1CQUFtQixzSUFDbkIsa0JBQWtCOzsyRkF5RFQsaUJBQWlCO2tCQXpFN0IsU0FBUzsrQkFDRSxxQkFBcUIsaUJBQ2hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLFdBQ1E7d0JBQ1AsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7cUJBQ25CLFlBb0JTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQ29udHJvbCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG91dHB1dEZyb21PYnNlcnZhYmxlLCB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWFza2l0b0RpcmVjdGl2ZSB9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHsgbWFza2l0b0RhdGVUaW1lT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkYXlqcywgV2F0dExvY2FsZVNlcnZpY2UgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY29yZS9kYXRlJztcbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9maWVsZCc7XG5pbXBvcnQgeyBXYXR0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2J1dHRvbic7XG5cbmNvbnN0IERBX0ZJTExFUiA9ICdkZC1tbS3DpcOlw6XDpSwgdHQ6bW0nO1xuY29uc3QgRU5fRklMTEVSID0gJ2RkLW1tLXl5eXksIGhoOm1tJztcbmNvbnN0IERBVEVUSU1FX0ZPUk1BVCA9ICdERC1NTS1ZWVlZLCBISDptbSc7XG5jb25zdCBQQVJUSUFMX0RBVEVUSU1FX0ZPUk1BVCA9ICdERC1NTS1ZWVlZLCAnO1xuY29uc3QgREFOSVNIX1RJTUVfWk9ORV9JREVOVElGSUVSID0gJ0V1cm9wZS9Db3BlbmhhZ2VuJztcblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1jbGFzcy1zdWZmaXggKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtZGF0ZXRpbWUtZmllbGQnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXYXR0RGF0ZVRpbWVGaWVsZCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXNraXRvRGlyZWN0aXZlLFxuICAgIE1hdENhbGVuZGFyLFxuICAgIFdhdHRCdXR0b25Db21wb25lbnQsXG4gICAgV2F0dEZpZWxkQ29tcG9uZW50LFxuICBdLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICB3YXR0LWRhdGV0aW1lLWZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAud2F0dC1kYXRldGltZS1maWVsZC1waWNrZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHBvc2l0aW9uLWFyZWE6IGJvdHRvbSBzcGFuLXJpZ2h0O1xuICAgICAgICBwb3NpdGlvbi10cnktZmFsbGJhY2tzOiBmbGlwLWJsb2NrO1xuICAgICAgICB3aWR0aDogMjk2cHg7XG4gICAgICAgIGhlaWdodDogMzU0cHg7XG4gICAgICAgIGluc2V0OiB1bnNldDtcbiAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHdhdHQtZmllbGRcbiAgICAgIFtsYWJlbF09XCJsYWJlbCgpXCJcbiAgICAgIFtjb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgW2FuY2hvck5hbWVdPVwiYW5jaG9yTmFtZVwiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgICNmaWVsZFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgIFttYXNraXRvXT1cIm1hc2soKVwiXG4gICAgICAgIChmb2N1cyk9XCJwaWNrZXIuc2hvd1BvcG92ZXIoKVwiXG4gICAgICAgIChibHVyKT1cImhhbmRsZUJsdXIocGlja2VyLCAkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8d2F0dC1idXR0b24gaWNvbj1cImRhdGVcIiB2YXJpYW50PVwiaWNvblwiIChjbGljayk9XCJmaWVsZC5mb2N1cygpXCIgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgI3BpY2tlclxuICAgICAgICBjbGFzcz1cIndhdHQtZWxldmF0aW9uIHdhdHQtZGF0ZXRpbWUtZmllbGQtcGlja2VyXCJcbiAgICAgICAgcG9wb3Zlcj1cIm1hbnVhbFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtzdHlsZS5wb3NpdGlvbi1hbmNob3JdPVwiYW5jaG9yTmFtZVwiXG4gICAgICA+XG4gICAgICAgIDxtYXQtY2FsZW5kYXJcbiAgICAgICAgICBbc3RhcnRBdF09XCJzZWxlY3RlZCgpXCJcbiAgICAgICAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWQoKVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluKClcIlxuICAgICAgICAgIFttYXhEYXRlXT1cIm1heCgpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0ZWRDaGFuZ2UoZmllbGQsIHBpY2tlciwgJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtaGludFwiIG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICA8L3dhdHQtZmllbGQ+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFdhdHREYXRlVGltZUZpZWxkIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIGxvY2FsZSA9IGluamVjdChXYXR0TG9jYWxlU2VydmljZSk7XG5cbiAgLy8gUG9wb3ZlcnMgZXhpc3RzIG9uIGFuIGVudGlyZWx5IGRpZmZlcmVudCBsYXllciwgbWVhbmluZyB0aGF0IGZvciBhbmNob3IgcG9zaXRpb25pbmcgdGhleVxuICAvLyBsb29rIGF0IHRoZSBlbnRpcmUgdHJlZSBmb3IgdGhlIGFuY2hvciBuYW1lLiBUaGlzIGdpdmVzIGVhY2ggZmllbGQgYSB1bmlxdWUgYW5jaG9yIG5hbWUuXG4gIHByaXZhdGUgc3RhdGljIGluc3RhbmNlID0gMDtcbiAgcHJpdmF0ZSBpbnN0YW5jZSA9IFdhdHREYXRlVGltZUZpZWxkLmluc3RhbmNlKys7XG4gIHByb3RlY3RlZCBhbmNob3JOYW1lID0gYC0td2F0dC1kYXRldGltZS1maWVsZC1wb3BvdmVyLWFuY2hvci0ke3RoaXMuaW5zdGFuY2V9YDtcblxuICAvKiogQ29udmVydHMgZGF0ZSBmcm9tIG91dGVyIEZvcm1Db250cm9sIHRvIGZvcm1hdCBvZiBpbm5lciBGb3JtQ29udHJvbC4gKi9cbiAgcHJvdGVjdGVkIG1vZGVsVG9WaWV3ID0gKHZhbHVlOiBEYXRlIHwgbnVsbCwgZm9ybWF0ID0gREFURVRJTUVfRk9STUFUKSA9PlxuICAgIHZhbHVlID8gZGF5anModmFsdWUpLnR6KERBTklTSF9USU1FX1pPTkVfSURFTlRJRklFUikuZm9ybWF0KGZvcm1hdCkgOiAnJztcblxuICAvKiogQ29udmVydHMgdmFsdWUgb2YgaW5uZXIgRm9ybUNvbnRyb2wgdG8gdHlwZSBvZiBvdXRlciBGb3JtQ29udHJvbC4gKi9cbiAgcHJvdGVjdGVkIHZpZXdUb01vZGVsID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBkYXRlID0gZGF5anModmFsdWUsIERBVEVUSU1FX0ZPUk1BVCwgdHJ1ZSk7XG4gICAgaWYgKCFkYXRlLmlzVmFsaWQoKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaW5jbHVzaXZlKCkgPyBkYXRlLmVuZE9mKCdtJykudG9EYXRlKCkgOiBkYXRlLnRvRGF0ZSgpO1xuICB9O1xuXG4gIC8vIE11c3QgdW5mb3J0dW5hdGVseSBiZSBxdWVyaWVkIGluIG9yZGVyIHRvIHVwZGF0ZSBgYWN0aXZlRGF0ZWBcbiAgcHJpdmF0ZSBjYWxlbmRhciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxNYXRDYWxlbmRhcjxEYXRlPj4oTWF0Q2FsZW5kYXIpO1xuXG4gIC8vIFRoaXMgaW5uZXIgRm9ybUNvbnRyb2wgaXMgc3RyaW5nIG9ubHksIGJ1dCB0aGUgb3V0ZXIgRm9ybUNvbnRyb2wgaXMgb2YgdHlwZSBEYXRlLlxuICBwcm90ZWN0ZWQgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICAvLyBgcmVnaXN0ZXJPbkNoYW5nZWAgbWF5IHN1YnNjcmliZSB0byB0aGlzIGNvbXBvbmVudCBhZnRlciBpdCBoYXMgYmVlbiBkZXN0cm95ZWQsIHRodXNcbiAgLy8gdHJpZ2dlcmluZyBhbiBORzA5MTEgZnJvbSB0aGUgYHRha2VVbnRpbERlc3Ryb3llZGAgb3BlcmF0b3IuIEJ5IHNoYXJpbmcgdGhlIG9ic2VydmFibGUsXG4gIC8vIHRoZSBvYnNlcnZhYmxlIHdpbGwgYWxyZWFkeSBiZSBjbG9zZWQgYW5kIGBzdWJzY3JpYmVgIGJlY29tZXMgYSBwcm9wZXIgbm9vcC5cbiAgcHJpdmF0ZSB2YWx1ZUNoYW5nZXMgPSB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgbWFwKHRoaXMudmlld1RvTW9kZWwpLFxuICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgIHNoYXJlKClcbiAgKTtcblxuICAvKiogU2V0IHRoZSBsYWJlbCB0ZXh0IGZvciBgd2F0dC1maWVsZGAuICovXG4gIGxhYmVsID0gaW5wdXQoJycpO1xuXG4gIC8qKiBUaGUgbWluaW11bSBzZWxlY3RhYmxlIGRhdGUuICovXG4gIG1pbiA9IGlucHV0PERhdGU+KCk7XG5cbiAgLyoqIFRoZSBtYXhpbXVtIHNlbGVjdGFibGUgZGF0ZS4gKi9cbiAgbWF4ID0gaW5wdXQ8RGF0ZT4oKTtcblxuICAvKiogV2hlbiB0cnVlLCBzZWNvbmRzIHdpbGwgYmUgc2V0IHRvIDU5IGFuZCBtaWxsaXNlY29uZHMgdG8gOTk5LiBPdGhlcndpc2UsIGJvdGggYXJlIDAuICovXG4gIGluY2x1c2l2ZSA9IGlucHV0KGZhbHNlKTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgc2VsZWN0ZWQgZGF0ZSBoYXMgY2hhbmdlZC4gKi9cbiAgZGF0ZUNoYW5nZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMudmFsdWVDaGFuZ2VzKTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgZmllbGQgbG9zZXMgZm9jdXMuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBibHVyID0gb3V0cHV0PEZvY3VzRXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIHNlbGVjdGVkID0gc2lnbmFsPERhdGUgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHBsYWNlaG9sZGVyID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubG9jYWxlLmlzRGFuaXNoKCkgPyBEQV9GSUxMRVIgOiBFTl9GSUxMRVIpKTtcbiAgcHJvdGVjdGVkIG1hc2sgPSBjb21wdXRlZCgoKSA9PlxuICAgIG1hc2tpdG9EYXRlVGltZU9wdGlvbnNHZW5lcmF0b3Ioe1xuICAgICAgbWluOiB0aGlzLm1pbigpLFxuICAgICAgbWF4OiB0aGlzLm1heCgpLFxuICAgICAgZGF0ZU1vZGU6ICdkZC9tbS95eXl5JyxcbiAgICAgIHRpbWVNb2RlOiAnSEg6TU0nLFxuICAgICAgZGF0ZVNlcGFyYXRvcjogJy0nLFxuICAgICAgdGltZVN0ZXA6IDEsXG4gICAgfSlcbiAgKTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlQmx1ciA9IChwaWNrZXI6IEhUTUxFbGVtZW50LCBldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgcGlja2VyLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDsgLy8gc2FmZSB0eXBlIGFzc2VydGlvblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0YXJnZXQuZm9jdXMoKSk7IC8vIGtlZXAgZm9jdXMgb24gaW5wdXQgZWxlbWVudCB3aGlsZSB1c2luZyB0aGUgcGlja2VyXG4gICAgfSBlbHNlIHtcbiAgICAgIHBpY2tlci5oaWRlUG9wb3ZlcigpO1xuICAgICAgdGhpcy5ibHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0ZWRDaGFuZ2UgPSAoXG4gICAgZmllbGQ6IEhUTUxJbnB1dEVsZW1lbnQsXG4gICAgcGlja2VyOiBIVE1MRGl2RWxlbWVudCxcbiAgICBkYXRlOiBEYXRlXG4gICkgPT4ge1xuICAgIGNvbnN0IHByZXYgPSB0aGlzLnZpZXdUb01vZGVsKHRoaXMuY29udHJvbC52YWx1ZSk7XG5cbiAgICAvLyBPbmx5IHdyaXRlIHRoZSBkYXRlIHBhcnRcbiAgICBmaWVsZC52YWx1ZSA9IHByZXZcbiAgICAgID8gdGhpcy5tb2RlbFRvVmlldyhkYXlqcyhkYXRlKS5zZXQoJ2gnLCBwcmV2LmdldEhvdXJzKCkpLnNldCgnbScsIHByZXYuZ2V0TWludXRlcygpKS50b0RhdGUoKSlcbiAgICAgIDogdGhpcy5tb2RlbFRvVmlldyhkYXRlLCBQQVJUSUFMX0RBVEVUSU1FX0ZPUk1BVCk7XG5cbiAgICBmaWVsZC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgIHBpY2tlci5oaWRlUG9wb3ZlcigpO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuc2V0KHZhbHVlKTtcbiAgICAgIHRoaXMuY2FsZW5kYXIoKS5hY3RpdmVEYXRlID0gdmFsdWUgPz8gbmV3IERhdGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEltcGxlbWVudGF0aW9uIGZvciBDb250cm9sVmFsdWVBY2Nlc3NvclxuICB3cml0ZVZhbHVlID0gKHZhbHVlOiBEYXRlIHwgbnVsbCkgPT4gdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMubW9kZWxUb1ZpZXcodmFsdWUpKTtcbiAgc2V0RGlzYWJsZWRTdGF0ZSA9ICh4OiBib29sZWFuKSA9PiAoeCA/IHRoaXMuY29udHJvbC5kaXNhYmxlKCkgOiB0aGlzLmNvbnRyb2wuZW5hYmxlKCkpO1xuICByZWdpc3Rlck9uVG91Y2hlZCA9IChmbjogKCkgPT4gdm9pZCkgPT4gdGhpcy5ibHVyLnN1YnNjcmliZShmbik7XG4gIHJlZ2lzdGVyT25DaGFuZ2UgPSAoZm46ICh2YWx1ZTogRGF0ZSB8IG51bGwpID0+IHZvaWQpID0+IHRoaXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShmbik7XG59XG4iXX0=
@@ -22,17 +22,17 @@ import * as i0 from "@angular/core";
22
22
  import * as i1 from "@angular/common";
23
23
  export class WattDescriptionListItemComponent {
24
24
  templateRef = viewChild.required('templateRef');
25
- label = input('');
26
- value = input(null);
27
- forceNewRow = input(false);
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDescriptionListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.3", type: WattDescriptionListItemComponent, isStandalone: true, selector: "watt-description-list-item", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, forceNewRow: { classPropertyName: "forceNewRow", publicName: "forceNewRow", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.NgClass }], ngImport: i0, template: `<ng-template #templateRef
25
+ label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
26
+ value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
27
+ forceNewRow = input(false, ...(ngDevMode ? [{ debugName: "forceNewRow" }] : []));
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDescriptionListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.1.3", type: WattDescriptionListItemComponent, isStandalone: true, selector: "watt-description-list-item", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, forceNewRow: { classPropertyName: "forceNewRow", publicName: "forceNewRow", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.NgClass }], ngImport: i0, template: `<ng-template #templateRef
30
30
  ><div [ngClass]="{ 'force-new-row': forceNewRow() }">
31
31
  <dt class="watt-label watt-on-light--high-emphasis">{{ label() }}</dt>
32
32
  <dd class="watt-text-s">{{ value() }}<ng-content /></dd></div
33
33
  ></ng-template>`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDescriptionListItemComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDescriptionListItemComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{
38
38
  imports: [NgClass],
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
46
46
  ></ng-template>`,
47
47
  }]
48
48
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kZXNjcmlwdGlvbi1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZGVzY3JpcHRpb24tbGlzdC93YXR0LWRlc2NyaXB0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFhMUMsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxXQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBOEIsYUFBYSxDQUFDLENBQUM7SUFDN0UsS0FBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUMxQixLQUFLLEdBQUcsS0FBSyxDQUFXLElBQUksQ0FBQyxDQUFDO0lBQzlCLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7dUdBSmhCLGdDQUFnQzsyRkFBaEMsZ0NBQWdDLHFvQkFOakM7Ozs7a0JBSU0sNERBUk4sT0FBTzs7MkZBVU4sZ0NBQWdDO2tCQVg1QyxTQUFTO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDekIsUUFBUSxFQUFFOzs7O2tCQUlNO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtOZ0NsYXNzXSxcbiAgc2VsZWN0b3I6ICd3YXR0LWRlc2NyaXB0aW9uLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW05nQ2xhc3NdLFxuICB0ZW1wbGF0ZTogYDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWZcbiAgICA+PGRpdiBbbmdDbGFzc109XCJ7ICdmb3JjZS1uZXctcm93JzogZm9yY2VOZXdSb3coKSB9XCI+XG4gICAgICA8ZHQgY2xhc3M9XCJ3YXR0LWxhYmVsIHdhdHQtb24tbGlnaHQtLWhpZ2gtZW1waGFzaXNcIj57eyBsYWJlbCgpIH19PC9kdD5cbiAgICAgIDxkZCBjbGFzcz1cIndhdHQtdGV4dC1zXCI+e3sgdmFsdWUoKSB9fTxuZy1jb250ZW50IC8+PC9kZD48L2RpdlxuICA+PC9uZy10ZW1wbGF0ZT5gLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGVzY3JpcHRpb25MaXN0SXRlbUNvbXBvbmVudDxUPiB7XG4gIHRlbXBsYXRlUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPHVua25vd24gfCBudWxsPj4oJ3RlbXBsYXRlUmVmJyk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHZhbHVlID0gaW5wdXQ8VCB8IG51bGw+KG51bGwpO1xuICBmb3JjZU5ld1JvdyA9IGlucHV0KGZhbHNlKTtcbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kZXNjcmlwdGlvbi1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZGVzY3JpcHRpb24tbGlzdC93YXR0LWRlc2NyaXB0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFhMUMsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxXQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBOEIsYUFBYSxDQUFDLENBQUM7SUFDN0UsS0FBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLGlEQUFDLENBQUM7SUFDMUIsS0FBSyxHQUFHLEtBQUssQ0FBVyxJQUFJLGlEQUFDLENBQUM7SUFDOUIsV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLHVEQUFDLENBQUM7dUdBSmhCLGdDQUFnQzsyRkFBaEMsZ0NBQWdDLHFvQkFOakM7Ozs7a0JBSU0sNERBUk4sT0FBTzs7MkZBVU4sZ0NBQWdDO2tCQVg1QyxTQUFTO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGNBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDekIsUUFBUSxFQUFFOzs7O2tCQUlNO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtOZ0NsYXNzXSxcbiAgc2VsZWN0b3I6ICd3YXR0LWRlc2NyaXB0aW9uLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW05nQ2xhc3NdLFxuICB0ZW1wbGF0ZTogYDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWZcbiAgICA+PGRpdiBbbmdDbGFzc109XCJ7ICdmb3JjZS1uZXctcm93JzogZm9yY2VOZXdSb3coKSB9XCI+XG4gICAgICA8ZHQgY2xhc3M9XCJ3YXR0LWxhYmVsIHdhdHQtb24tbGlnaHQtLWhpZ2gtZW1waGFzaXNcIj57eyBsYWJlbCgpIH19PC9kdD5cbiAgICAgIDxkZCBjbGFzcz1cIndhdHQtdGV4dC1zXCI+e3sgdmFsdWUoKSB9fTxuZy1jb250ZW50IC8+PC9kZD48L2RpdlxuICA+PC9uZy10ZW1wbGF0ZT5gLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGVzY3JpcHRpb25MaXN0SXRlbUNvbXBvbmVudDxUPiB7XG4gIHRlbXBsYXRlUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPFRlbXBsYXRlUmVmPHVua25vd24gfCBudWxsPj4oJ3RlbXBsYXRlUmVmJyk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHZhbHVlID0gaW5wdXQ8VCB8IG51bGw+KG51bGwpO1xuICBmb3JjZU5ld1JvdyA9IGlucHV0KGZhbHNlKTtcbn1cbiJdfQ==
@@ -27,11 +27,11 @@ import * as i1 from "@angular/common";
27
27
  */
28
28
  class WattDescriptionListComponent {
29
29
  ngClass = inject(NgClass);
30
- descriptionItems = contentChildren((WattDescriptionListItemComponent));
31
- variant = input('flow');
32
- descriptionVariant = computed(() => `watt-description-list-${this.variant()}`);
33
- groupsPerRow = input(3);
34
- itemSeparators = input(true);
30
+ descriptionItems = contentChildren((WattDescriptionListItemComponent), ...(ngDevMode ? [{ debugName: "descriptionItems" }] : []));
31
+ variant = input('flow', ...(ngDevMode ? [{ debugName: "variant" }] : []));
32
+ descriptionVariant = computed(() => `watt-description-list-${this.variant()}`, ...(ngDevMode ? [{ debugName: "descriptionVariant" }] : []));
33
+ groupsPerRow = input(3, ...(ngDevMode ? [{ debugName: "groupsPerRow" }] : []));
34
+ itemSeparators = input(true, ...(ngDevMode ? [{ debugName: "itemSeparators" }] : []));
35
35
  constructor() {
36
36
  effect(() => {
37
37
  this.ngClass.ngClass = {
@@ -39,14 +39,14 @@ class WattDescriptionListComponent {
39
39
  };
40
40
  });
41
41
  }
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDescriptionListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: WattDescriptionListComponent, isStandalone: true, selector: "watt-description-list", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, groupsPerRow: { classPropertyName: "groupsPerRow", publicName: "groupsPerRow", isSignal: true, isRequired: false, transformFunction: null }, itemSeparators: { classPropertyName: "itemSeparators", publicName: "itemSeparators", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--watt-description-list-groups-per-row": "groupsPerRow()", "class": "descriptionVariant()" } }, queries: [{ propertyName: "descriptionItems", predicate: (WattDescriptionListItemComponent), isSignal: true }], hostDirectives: [{ directive: i1.NgClass }], ngImport: i0, template: `<dl>
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDescriptionListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattDescriptionListComponent, isStandalone: true, selector: "watt-description-list", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, groupsPerRow: { classPropertyName: "groupsPerRow", publicName: "groupsPerRow", isSignal: true, isRequired: false, transformFunction: null }, itemSeparators: { classPropertyName: "itemSeparators", publicName: "itemSeparators", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--watt-description-list-groups-per-row": "groupsPerRow()", "class": "descriptionVariant()" } }, queries: [{ propertyName: "descriptionItems", predicate: (WattDescriptionListItemComponent), isSignal: true }], hostDirectives: [{ directive: i1.NgClass }], ngImport: i0, template: `<dl>
44
44
  @for (item of descriptionItems(); track item) {
45
45
  <ng-container *ngTemplateOutlet="item.templateRef()" />
46
46
  }
47
47
  </dl>`, isInline: true, styles: ["watt-description-list{display:block}watt-description-list.watt-description-list-flow dl{display:grid;gap:var(--watt-space-ml);grid-template-columns:repeat(var(--watt-description-list-groups-per-row, 3),1fr)}watt-description-list.watt-description-list-flow dl dd{margin:0}watt-description-list.watt-description-list-flow dl .force-new-row{grid-column-start:1}watt-description-list.watt-description-list-stack dl{display:grid;gap:var(--watt-space-m);grid-template-columns:1fr}watt-description-list.watt-description-list-stack dl dd{margin:0;flex:1}watt-description-list.watt-description-list-stack dl dt{width:240px}watt-description-list.watt-description-list-stack dl div{display:flex;align-items:baseline}watt-description-list.watt-description-list-stack.item-separators dl div{border-bottom:1px solid var(--watt-color-neutral-grey-300);padding-bottom:var(--watt-space-m)}watt-description-list.watt-description-list-compact dl{display:grid;gap:var(--watt-space-m) var(--watt-space-l);grid-template-columns:max-content max-content}watt-description-list.watt-description-list-compact dl dd{margin:0}watt-description-list.watt-description-list-compact dl div{display:contents}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDescriptionListComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDescriptionListComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ encapsulation: ViewEncapsulation.None, selector: 'watt-description-list', imports: [NgTemplateOutlet], template: `<dl>
52
52
  @for (item of descriptionItems(); track item) {
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImpor
58
58
  }, styles: ["watt-description-list{display:block}watt-description-list.watt-description-list-flow dl{display:grid;gap:var(--watt-space-ml);grid-template-columns:repeat(var(--watt-description-list-groups-per-row, 3),1fr)}watt-description-list.watt-description-list-flow dl dd{margin:0}watt-description-list.watt-description-list-flow dl .force-new-row{grid-column-start:1}watt-description-list.watt-description-list-stack dl{display:grid;gap:var(--watt-space-m);grid-template-columns:1fr}watt-description-list.watt-description-list-stack dl dd{margin:0;flex:1}watt-description-list.watt-description-list-stack dl dt{width:240px}watt-description-list.watt-description-list-stack dl div{display:flex;align-items:baseline}watt-description-list.watt-description-list-stack.item-separators dl div{border-bottom:1px solid var(--watt-color-neutral-grey-300);padding-bottom:var(--watt-space-m)}watt-description-list.watt-description-list-compact dl{display:grid;gap:var(--watt-space-m) var(--watt-space-l);grid-template-columns:max-content max-content}watt-description-list.watt-description-list-compact dl dd{margin:0}watt-description-list.watt-description-list-compact dl div{display:contents}\n"] }]
59
59
  }], ctorParameters: () => [] });
60
60
  export { WattDescriptionListItemComponent, WattDescriptionListComponent };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kZXNjcmlwdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2Rlc2NyaXB0aW9uLWxpc3Qvd2F0dC1kZXNjcmlwdGlvbi1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFDMUY7OztHQUdHO0FBQ0gsTUFnQk0sNEJBQTRCO0lBQ3hCLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLENBQUEsZ0NBQW1DLENBQUEsQ0FBQyxDQUFDO0lBQ3hFLE9BQU8sR0FBRyxLQUFLLENBQStCLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvRSxZQUFZLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFN0I7UUFDRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUc7Z0JBQ3JCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO2FBQzNDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBZEcsNEJBQTRCOzJGQUE1Qiw0QkFBNEIseXBCQUVHLENBQUEsZ0NBQW1DLENBQUEsMEZBYjVEOzs7O1FBSUosaXVDQUxJLGdCQUFnQjs7MkZBWXRCLDRCQUE0QjtrQkFoQmpDLFNBQVM7b0NBQ08saUJBQWlCLENBQUMsSUFBSSxZQUMzQix1QkFBdUIsV0FFeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQjs7OztRQUlKLGtCQUNVLENBQUMsT0FBTyxDQUFDLFFBQ25CO3dCQUNKLGdEQUFnRCxFQUFFLGdCQUFnQjt3QkFDbEUsU0FBUyxFQUFFLHNCQUFzQjtxQkFDbEM7O0FBbUJILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSw0QkFBNEIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXYXR0RGVzY3JpcHRpb25MaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kZXNjcmlwdGlvbi1saXN0LWl0ZW0uY29tcG9uZW50Jztcbi8qKlxuICogVXNhZ2U6XG4gKiBgaW1wb3J0IHsgV2F0dERlc2NyaXB0aW9uTGlzdENvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQtZGF0YWh1Yi93YXR0L2Rlc2NyaXB0aW9uLWxpc3QnO2BcbiAqL1xuQENvbXBvbmVudCh7XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnd2F0dC1kZXNjcmlwdGlvbi1saXN0JyxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1kZXNjcmlwdGlvbi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgdGVtcGxhdGU6IGA8ZGw+XG4gICAgQGZvciAoaXRlbSBvZiBkZXNjcmlwdGlvbkl0ZW1zKCk7IHRyYWNrIGl0ZW0pIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtLnRlbXBsYXRlUmVmKClcIiAvPlxuICAgIH1cbiAgPC9kbD5gLFxuICBob3N0RGlyZWN0aXZlczogW05nQ2xhc3NdLFxuICBob3N0OiB7XG4gICAgJ1tzdHlsZS4tLXdhdHQtZGVzY3JpcHRpb24tbGlzdC1ncm91cHMtcGVyLXJvd10nOiAnZ3JvdXBzUGVyUm93KCknLFxuICAgICdbY2xhc3NdJzogJ2Rlc2NyaXB0aW9uVmFyaWFudCgpJyxcbiAgfSxcbn0pXG5jbGFzcyBXYXR0RGVzY3JpcHRpb25MaXN0Q29tcG9uZW50PFQ+IHtcbiAgcHJpdmF0ZSBuZ0NsYXNzID0gaW5qZWN0KE5nQ2xhc3MpO1xuICBkZXNjcmlwdGlvbkl0ZW1zID0gY29udGVudENoaWxkcmVuKFdhdHREZXNjcmlwdGlvbkxpc3RJdGVtQ29tcG9uZW50PFQ+KTtcbiAgdmFyaWFudCA9IGlucHV0PCdmbG93JyB8ICdzdGFjaycgfCAnY29tcGFjdCc+KCdmbG93Jyk7XG4gIGRlc2NyaXB0aW9uVmFyaWFudCA9IGNvbXB1dGVkKCgpID0+IGB3YXR0LWRlc2NyaXB0aW9uLWxpc3QtJHt0aGlzLnZhcmlhbnQoKX1gKTtcbiAgZ3JvdXBzUGVyUm93ID0gaW5wdXQ8bnVtYmVyPigzKTtcbiAgaXRlbVNlcGFyYXRvcnMgPSBpbnB1dCh0cnVlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5uZ0NsYXNzLm5nQ2xhc3MgPSB7XG4gICAgICAgIFtgaXRlbS1zZXBhcmF0b3JzYF06IHRoaXMuaXRlbVNlcGFyYXRvcnMoKSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgV2F0dERlc2NyaXB0aW9uTGlzdEl0ZW1Db21wb25lbnQsIFdhdHREZXNjcmlwdGlvbkxpc3RDb21wb25lbnQgfTtcbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kZXNjcmlwdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2Rlc2NyaXB0aW9uLWxpc3Qvd2F0dC1kZXNjcmlwdGlvbi1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixlQUFlLEVBQ2YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFDMUY7OztHQUdHO0FBQ0gsTUFnQk0sNEJBQTRCO0lBQ3hCLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLENBQUEsZ0NBQW1DLENBQUEsNERBQUMsQ0FBQztJQUN4RSxPQUFPLEdBQUcsS0FBSyxDQUErQixNQUFNLG1EQUFDLENBQUM7SUFDdEQsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsOERBQUMsQ0FBQztJQUMvRSxZQUFZLEdBQUcsS0FBSyxDQUFTLENBQUMsd0RBQUMsQ0FBQztJQUNoQyxjQUFjLEdBQUcsS0FBSyxDQUFDLElBQUksMERBQUMsQ0FBQztJQUU3QjtRQUNFLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRztnQkFDckIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7YUFDM0MsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FkRyw0QkFBNEI7MkZBQTVCLDRCQUE0Qix5cEJBRUcsQ0FBQSxnQ0FBbUMsQ0FBQSwwRkFiNUQ7Ozs7UUFJSixpdUNBTEksZ0JBQWdCOzsyRkFZdEIsNEJBQTRCO2tCQWhCakMsU0FBUztvQ0FDTyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCLHVCQUF1QixXQUV4QixDQUFDLGdCQUFnQixDQUFDLFlBQ2pCOzs7O1FBSUosa0JBQ1UsQ0FBQyxPQUFPLENBQUMsUUFDbkI7d0JBQ0osZ0RBQWdELEVBQUUsZ0JBQWdCO3dCQUNsRSxTQUFTLEVBQUUsc0JBQXNCO3FCQUNsQzs7QUFtQkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDRCQUE0QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFdhdHREZXNjcmlwdGlvbkxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRlc2NyaXB0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQnO1xuLyoqXG4gKiBVc2FnZTpcbiAqIGBpbXBvcnQgeyBXYXR0RGVzY3JpcHRpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC1kYXRhaHViL3dhdHQvZGVzY3JpcHRpb24tbGlzdCc7YFxuICovXG5AQ29tcG9uZW50KHtcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc2VsZWN0b3I6ICd3YXR0LWRlc2NyaXB0aW9uLWxpc3QnLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LWRlc2NyaXB0aW9uLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxuICB0ZW1wbGF0ZTogYDxkbD5cbiAgICBAZm9yIChpdGVtIG9mIGRlc2NyaXB0aW9uSXRlbXMoKTsgdHJhY2sgaXRlbSkge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW0udGVtcGxhdGVSZWYoKVwiIC8+XG4gICAgfVxuICA8L2RsPmAsXG4gIGhvc3REaXJlY3RpdmVzOiBbTmdDbGFzc10sXG4gIGhvc3Q6IHtcbiAgICAnW3N0eWxlLi0td2F0dC1kZXNjcmlwdGlvbi1saXN0LWdyb3Vwcy1wZXItcm93XSc6ICdncm91cHNQZXJSb3coKScsXG4gICAgJ1tjbGFzc10nOiAnZGVzY3JpcHRpb25WYXJpYW50KCknLFxuICB9LFxufSlcbmNsYXNzIFdhdHREZXNjcmlwdGlvbkxpc3RDb21wb25lbnQ8VD4ge1xuICBwcml2YXRlIG5nQ2xhc3MgPSBpbmplY3QoTmdDbGFzcyk7XG4gIGRlc2NyaXB0aW9uSXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oV2F0dERlc2NyaXB0aW9uTGlzdEl0ZW1Db21wb25lbnQ8VD4pO1xuICB2YXJpYW50ID0gaW5wdXQ8J2Zsb3cnIHwgJ3N0YWNrJyB8ICdjb21wYWN0Jz4oJ2Zsb3cnKTtcbiAgZGVzY3JpcHRpb25WYXJpYW50ID0gY29tcHV0ZWQoKCkgPT4gYHdhdHQtZGVzY3JpcHRpb24tbGlzdC0ke3RoaXMudmFyaWFudCgpfWApO1xuICBncm91cHNQZXJSb3cgPSBpbnB1dDxudW1iZXI+KDMpO1xuICBpdGVtU2VwYXJhdG9ycyA9IGlucHV0KHRydWUpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLm5nQ2xhc3MubmdDbGFzcyA9IHtcbiAgICAgICAgW2BpdGVtLXNlcGFyYXRvcnNgXTogdGhpcy5pdGVtU2VwYXJhdG9ycygpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgeyBXYXR0RGVzY3JpcHRpb25MaXN0SXRlbUNvbXBvbmVudCwgV2F0dERlc2NyaXB0aW9uTGlzdENvbXBvbmVudCB9O1xuIl19
@@ -19,10 +19,10 @@
19
19
  import { Component } from '@angular/core';
20
20
  import * as i0 from "@angular/core";
21
21
  export class WattDrawerActionsComponent {
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: WattDrawerActionsComponent, isStandalone: true, selector: "watt-drawer-actions", ngImport: i0, template: `<ng-content select="watt-button" />`, isInline: true, styles: [":host{flex-shrink:0;display:flex;justify-content:flex-end;align-items:flex-start;gap:var(--watt-space-m);margin-left:auto;margin-right:var(--watt-space-ml)}\n"] });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: WattDrawerActionsComponent, isStandalone: true, selector: "watt-drawer-actions", ngImport: i0, template: `<ng-content select="watt-button" />`, isInline: true, styles: [":host{flex-shrink:0;display:flex;justify-content:flex-end;align-items:flex-start;gap:var(--watt-space-m);margin-left:auto;margin-right:var(--watt-space-ml)}\n"] });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerActionsComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerActionsComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'watt-drawer-actions', template: `<ng-content select="watt-button" />`, styles: [":host{flex-shrink:0;display:flex;justify-content:flex-end;align-items:flex-start;gap:var(--watt-space-m);margin-left:auto;margin-right:var(--watt-space-ml)}\n"] }]
28
28
  }] });
@@ -19,10 +19,10 @@
19
19
  import { Component } from '@angular/core';
20
20
  import * as i0 from "@angular/core";
21
21
  export class WattDrawerContentComponent {
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: WattDrawerContentComponent, isStandalone: true, selector: "watt-drawer-content", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{overflow:auto}\n"] });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: WattDrawerContentComponent, isStandalone: true, selector: "watt-drawer-content", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{overflow:auto}\n"] });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerContentComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerContentComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'watt-drawer-content', template: `<ng-content />`, styles: [":host{overflow:auto}\n"] }]
28
28
  }] });
@@ -19,10 +19,10 @@
19
19
  import { Component, ViewEncapsulation } from '@angular/core';
20
20
  import * as i0 from "@angular/core";
21
21
  export class WattDrawerHeadingComponent {
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: WattDrawerHeadingComponent, isStandalone: true, selector: "watt-drawer-heading", ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["watt-drawer-heading{margin-left:var(--watt-space-ml)}watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: WattDrawerHeadingComponent, isStandalone: true, selector: "watt-drawer-heading", ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["watt-drawer-heading{margin-left:var(--watt-space-ml)}watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerHeadingComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerHeadingComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'watt-drawer-heading', encapsulation: ViewEncapsulation.None, template: `<ng-content />`, styles: ["watt-drawer-heading{margin-left:var(--watt-space-ml)}watt-drawer-heading h1,watt-drawer-heading h2,watt-drawer-heading h3,watt-drawer-heading h4,watt-drawer-heading h5,watt-drawer-heading h6{margin:0;line-height:48px!important}\n"] }]
28
28
  }] });
@@ -19,10 +19,10 @@
19
19
  import { Component } from '@angular/core';
20
20
  import * as i0 from "@angular/core";
21
21
  export class WattDrawerTopbarComponent {
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerTopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: WattDrawerTopbarComponent, isStandalone: true, selector: "watt-drawer-topbar", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{align-items:center;background-color:var(--watt-color-neutral-white);display:flex;gap:var(--watt-space-s);margin:var(--watt-space-ml);position:sticky;top:0;flex-grow:1}\n"] });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerTopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: WattDrawerTopbarComponent, isStandalone: true, selector: "watt-drawer-topbar", ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{align-items:center;background-color:var(--watt-color-neutral-white);display:flex;gap:var(--watt-space-s);margin:var(--watt-space-ml);position:sticky;top:0;flex-grow:1}\n"] });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerTopbarComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerTopbarComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'watt-drawer-topbar', template: `<ng-content />`, styles: [":host{align-items:center;background-color:var(--watt-color-neutral-white);display:flex;gap:var(--watt-space-s);margin:var(--watt-space-ml);position:sticky;top:0;flex-grow:1}\n"] }]
28
28
  }] });
@@ -37,32 +37,32 @@ const APPEAR_ANIMATION_FRAMES = {
37
37
  export class WattDrawerComponent {
38
38
  elementRef = inject(ElementRef);
39
39
  overlayContainer = inject(OverlayContainer);
40
- content = contentChild(WattDrawerContentComponent, { read: ElementRef });
41
- heading = contentChild(WattDrawerHeadingComponent, { read: ElementRef });
42
- topBar = contentChild(WattDrawerTopbarComponent, { read: ElementRef });
40
+ content = contentChild(WattDrawerContentComponent, ...(ngDevMode ? [{ debugName: "content", read: ElementRef }] : [{ read: ElementRef }]));
41
+ heading = contentChild(WattDrawerHeadingComponent, ...(ngDevMode ? [{ debugName: "heading", read: ElementRef }] : [{ read: ElementRef }]));
42
+ topBar = contentChild(WattDrawerTopbarComponent, ...(ngDevMode ? [{ debugName: "topBar", read: ElementRef }] : [{ read: ElementRef }]));
43
43
  cdkTrapFocus = viewChild.required(CdkTrapFocus);
44
44
  bypassClickCheck = false;
45
- writableIsOpen = signal(false);
45
+ writableIsOpen = signal(false, ...(ngDevMode ? [{ debugName: "writableIsOpen" }] : []));
46
46
  // Multiple drawers open at the same time are not allowed. This keeps track of
47
47
  // the currently opened drawer and closes it when a new drawer is opened.
48
48
  static currentDrawer;
49
49
  /** Used to adjust drawer size to best fit the content. */
50
- size = input('normal');
50
+ size = input('normal', ...(ngDevMode ? [{ debugName: "size" }] : []));
51
51
  /**
52
52
  * Whether the drawer should open automatically. If `key` is provided and
53
53
  * `autoOpen` is true, the drawer will open every time the key changes.
54
54
  */
55
- autoOpen = input(false, { transform: booleanAttribute });
55
+ autoOpen = input(false, ...(ngDevMode ? [{ debugName: "autoOpen", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
56
56
  /**
57
57
  * Used to track the current drawer when reusing the same drawer instance to
58
58
  * render different content. This is required when interactions outside the
59
59
  * drawer should result in updating the drawer's content instead of closing it.
60
60
  */
61
- key = input();
61
+ key = input(...(ngDevMode ? [undefined, { debugName: "key" }] : []));
62
62
  /** Whether the drawer should show a loading state. */
63
- loading = input(false);
63
+ loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
64
64
  /** Adds a brief animation to indicate that the content has changed. */
65
- animateOnKeyChange = input(false);
65
+ animateOnKeyChange = input(false, ...(ngDevMode ? [{ debugName: "animateOnKeyChange" }] : []));
66
66
  /** Emits whenever the drawer is fully closed. */
67
67
  closed = output();
68
68
  /** Whether the drawer is open. */
@@ -157,10 +157,10 @@ export class WattDrawerComponent {
157
157
  WattDrawerComponent.currentDrawer = undefined;
158
158
  this.writableIsOpen.set(false);
159
159
  }
160
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: WattDrawerComponent, isStandalone: true, selector: "watt-drawer", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autoOpen: { classPropertyName: "autoOpen", publicName: "autoOpen", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, animateOnKeyChange: { classPropertyName: "animateOnKeyChange", publicName: "animateOnKeyChange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "document:click": "handleDocumentClick($event)", "keydown.escape": "handleEscKeyPressed()" } }, queries: [{ propertyName: "content", first: true, predicate: WattDrawerContentComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "heading", first: true, predicate: WattDrawerHeadingComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "topBar", first: true, predicate: WattDrawerTopbarComponent, descendants: true, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-space-inset-s watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <div class=\"watt-drawer__grid-container\">\n <header>\n <ng-content select=\"watt-drawer-topbar\" />\n <watt-button class=\"close-btn\" variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </header>\n\n <article class=\"watt-drawer__content\">\n <div class=\"watt-drawer__actions\">\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </div>\n <ng-content select=\"watt-drawer-content\" />\n </article>\n </div>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer{padding:0}.watt-drawer header{display:flex;justify-content:flex-end}.watt-drawer header .close-btn{align-self:center}.watt-drawer__grid-container{display:grid;grid-template-rows:auto 1fr;height:100%}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--small .watt-drawer__actions{margin-bottom:var(--watt-space-m)}.watt-drawer--normal{width:888px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer__content{display:grid;grid-template-rows:auto 1fr;overflow-y:auto}.watt-drawer__actions{display:flex;border-bottom:1px solid var(--watt-color-neutral-grey-300);padding-bottom:var(--watt-space-m)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i2.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
160
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
161
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattDrawerComponent, isStandalone: true, selector: "watt-drawer", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, autoOpen: { classPropertyName: "autoOpen", publicName: "autoOpen", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, animateOnKeyChange: { classPropertyName: "animateOnKeyChange", publicName: "animateOnKeyChange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { listeners: { "document:click": "handleDocumentClick($event)", "keydown.escape": "handleEscKeyPressed()" } }, queries: [{ propertyName: "content", first: true, predicate: WattDrawerContentComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "heading", first: true, predicate: WattDrawerHeadingComponent, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "topBar", first: true, predicate: WattDrawerTopbarComponent, descendants: true, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "cdkTrapFocus", first: true, predicate: CdkTrapFocus, descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<mat-drawer-container class=\"watt-drawer-container\" [hasBackdrop]=\"false\">\n <mat-drawer\n class=\"watt-drawer watt-space-inset-s watt-drawer--{{ size() }}\"\n mode=\"side\"\n position=\"end\"\n [opened]=\"isOpen()\"\n (closed)=\"closed.emit()\"\n [disableClose]=\"true\"\n [autoFocus]=\"true\"\n [cdkTrapFocus]=\"true\"\n >\n <div class=\"watt-drawer__grid-container\">\n <header>\n <ng-content select=\"watt-drawer-topbar\" />\n <watt-button class=\"close-btn\" variant=\"icon\" icon=\"close\" (click)=\"close()\" />\n </header>\n\n <article class=\"watt-drawer__content\">\n <div class=\"watt-drawer__actions\">\n <ng-content select=\"watt-drawer-heading\" />\n <ng-content select=\"watt-drawer-actions\" />\n </div>\n <ng-content select=\"watt-drawer-content\" />\n </article>\n </div>\n\n @if (loading()) {\n <div class=\"watt-drawer__spinner\">\n <watt-spinner />\n </div>\n }\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{display:block}.watt-drawer-container{box-shadow:0 4px 64px 3px #2e323440;height:100vh;position:fixed;right:0;top:0;width:auto;z-index:500}.watt-drawer{padding:0}.watt-drawer header{display:flex;justify-content:flex-end}.watt-drawer header .close-btn{align-self:center}.watt-drawer__grid-container{display:grid;grid-template-rows:auto 1fr;height:100%}.watt-drawer--small{width:460px;max-width:100vw}.watt-drawer--small .watt-drawer__actions{margin-bottom:var(--watt-space-m)}.watt-drawer--normal{width:888px;max-width:100vw}.watt-drawer--large{width:1174px;max-width:100vw}.watt-drawer__content{display:grid;grid-template-rows:auto 1fr;overflow-y:auto}.watt-drawer__actions{display:flex;border-bottom:1px solid var(--watt-color-neutral-grey-300);padding-bottom:var(--watt-space-m)}.watt-drawer__spinner{z-index:1;position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:var(--watt-color-neutral-white);opacity:.5}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i2.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i2.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattSpinnerComponent, selector: "watt-spinner", inputs: ["diameter", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
162
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: WattDrawerComponent, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDrawerComponent, decorators: [{
164
164
  type: Component,
165
165
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'watt-drawer', host: {
166
166
  '(document:click)': 'handleDocumentClick($event)',
@@ -174,4 +174,4 @@ export const WATT_DRAWER = [
174
174
  WattDrawerContentComponent,
175
175
  WattDrawerHeadingComponent,
176
176
  ];
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZHJhd2VyL3dhdHQtZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2RyYXdlci93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBSTdFLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBQ25DLE1BQU0sdUJBQXVCLEdB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ekIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDBCQUEwQjtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgdmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbnRlbnRDaGlsZCxcbiAgZWZmZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENka1RyYXBGb2N1cywgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcblxuaW1wb3J0IHsgV2F0dEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9idXR0b24nO1xuaW1wb3J0IHsgV2F0dFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvc3Bpbm5lcic7XG5cbmltcG9ydCB7IFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLXRvcGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERyYXdlckFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFdhdHREcmF3ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kcmF3ZXItaGVhZGluZy5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBXYXR0RHJhd2VyU2l6ZSA9ICdzbWFsbCcgfCAnbm9ybWFsJyB8ICdsYXJnZSc7XG5cbmNvbnN0IEFQUEVBUl9BTklNQVRJT05fREVMQVkgPSAyNTA7XG5jb25zdCBBUFBFQVJfQU5JTUFUSU9OX0ZSQU1FUyA9IHtcbiAgdHJhbnNmb3JtOiBbJ3RyYW5zbGF0ZVgoMzBweCknLCAndHJhbnNsYXRlWCgwKSddLFxuICBvcGFjaXR5OiBbJzAnLCAnMSddLFxufTtcblxuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzZWxlY3RvcjogJ3dhdHQtZHJhd2VyJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ2hhbmRsZURvY3VtZW50Q2xpY2soJGV2ZW50KScsXG4gICAgJyhrZXlkb3duLmVzY2FwZSknOiAnaGFuZGxlRXNjS2V5UHJlc3NlZCgpJyxcbiAgfSxcbiAgaW1wb3J0czogW0ExMXlNb2R1bGUsIE1hdFNpZGVuYXZNb2R1bGUsIFdhdHRCdXR0b25Db21wb25lbnQsIFdhdHRTcGlubmVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dERyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyID0gaW5qZWN0KE92ZXJsYXlDb250YWluZXIpO1xuICBwcml2YXRlIGNvbnRlbnQgPSBjb250ZW50Q2hpbGQoV2F0dERyYXdlckNvbnRlbnRDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgcHJpdmF0ZSBoZWFkaW5nID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJIZWFkaW5nQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gIHByaXZhdGUgdG9wQmFyID0gY29udGVudENoaWxkKFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgcHJpdmF0ZSBjZGtUcmFwRm9jdXMgPSB2aWV3Q2hpbGQucmVxdWlyZWQoQ2RrVHJhcEZvY3VzKTtcbiAgcHJpdmF0ZSBieXBhc3NDbGlja0NoZWNrID0gZmFsc2U7XG4gIHByaXZhdGUgd3JpdGFibGVJc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8vIE11bHRpcGxlIGRyYXdlcnMgb3BlbiBhdCB0aGUgc2FtZSB0aW1lIGFyZSBub3QgYWxsb3dlZC4gVGhpcyBrZWVwcyB0cmFjayBvZlxuICAvLyB0aGUgY3VycmVudGx5IG9wZW5lZCBkcmF3ZXIgYW5kIGNsb3NlcyBpdCB3aGVuIGEgbmV3IGRyYXdlciBpcyBvcGVuZWQuXG4gIHByaXZhdGUgc3RhdGljIGN1cnJlbnREcmF3ZXI/OiBXYXR0RHJhd2VyQ29tcG9uZW50O1xuXG4gIC8qKiBVc2VkIHRvIGFkanVzdCBkcmF3ZXIgc2l6ZSB0byBiZXN0IGZpdCB0aGUgY29udGVudC4gKi9cbiAgc2l6ZSA9IGlucHV0PFdhdHREcmF3ZXJTaXplPignbm9ybWFsJyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGRyYXdlciBzaG91bGQgb3BlbiBhdXRvbWF0aWNhbGx5LiBJZiBga2V5YCBpcyBwcm92aWRlZCBhbmRcbiAgICogYGF1dG9PcGVuYCBpcyB0cnVlLCB0aGUgZHJhd2VyIHdpbGwgb3BlbiBldmVyeSB0aW1lIHRoZSBrZXkgY2hhbmdlcy5cbiAgICovXG4gIGF1dG9PcGVuID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIHRyYWNrIHRoZSBjdXJyZW50IGRyYXdlciB3aGVuIHJldXNpbmcgdGhlIHNhbWUgZHJhd2VyIGluc3RhbmNlIHRvXG4gICAqIHJlbmRlciBkaWZmZXJlbnQgY29udGVudC4gVGhpcyBpcyByZXF1aXJlZCB3aGVuIGludGVyYWN0aW9ucyBvdXRzaWRlIHRoZVxuICAgKiBkcmF3ZXIgc2hvdWxkIHJlc3VsdCBpbiB1cGRhdGluZyB0aGUgZHJhd2VyJ3MgY29udGVudCBpbnN0ZWFkIG9mIGNsb3NpbmcgaXQuXG4gICAqL1xuICBrZXkgPSBpbnB1dDx1bmtub3duPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgc2hvdWxkIHNob3cgYSBsb2FkaW5nIHN0YXRlLiAqL1xuICBsb2FkaW5nID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBBZGRzIGEgYnJpZWYgYW5pbWF0aW9uIHRvIGluZGljYXRlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGNoYW5nZWQuICovXG4gIGFuaW1hdGVPbktleUNoYW5nZSA9IGlucHV0KGZhbHNlKTtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGRyYXdlciBpcyBmdWxseSBjbG9zZWQuICovXG4gIGNsb3NlZCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkcmF3ZXIgaXMgb3Blbi4gICovXG4gIGlzT3BlbiA9IHRoaXMud3JpdGFibGVJc09wZW4uYXNSZWFkb25seSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLmtleSgpO1xuICAgICAgaWYgKHRoaXMuYXV0b09wZW4oKSkgdGhpcy5vcGVuKCk7XG4gICAgICBpZiAoIXRoaXMuYW5pbWF0ZU9uS2V5Q2hhbmdlKCkpIHJldHVybjtcbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLmNvbnRlbnQoKT8ubmF0aXZlRWxlbWVudC5hbmltYXRlKEFQUEVBUl9BTklNQVRJT05fRlJBTUVTLCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZKTtcbiAgICAgICAgdGhpcy5oZWFkaW5nKCk/Lm5hdGl2ZUVsZW1lbnQuYW5pbWF0ZShBUFBFQVJfQU5JTUFUSU9OX0ZSQU1FUywgQVBQRUFSX0FOSU1BVElPTl9ERUxBWSk7XG4gICAgICAgIHRoaXMudG9wQmFyKCk/Lm5hdGl2ZUVsZW1lbnQuYW5pbWF0ZShBUFBFQVJfQU5JTUFUSU9OX0ZSQU1FUywgQVBQRUFSX0FOSU1BVElPTl9ERUxBWSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8vIFdobyBkb2Vzbid0IGxvdmUgYSBnb29kIHdvcmthcm91bmQsIHJpZ2h0P1xuICAgIC8vIExldCdzIG1ha2UgdGhlIGRyYXdlciByZXNpemUgaXRzZWxmIHdoZW5ldmVyIHRoZSBgc2l6ZWAgaW5wdXQgY2hhbmdlcy5cbiAgICAvL1xuICAgIC8vIFRoZSBgbWF0LWRyYXdlcmAgY29tcG9uZW50IG9mZmVycyB0aGUgYGF1dG9zaXplYCBpbnB1dCBmb3IgdGhpcy5cbiAgICAvLyBIb3dldmVyLCBpdCBpcyBzcGVjaWZpY2FsbHkgbWVudGlvbmVkIHRoYXQgdGhpcyBvcHRpb25zIHNob3VsZCBiZSB1c2VkIGF0IG93biByaXNrLFxuICAgIC8vIGFzIGl0IGNvdWxkIGNhdXNlIHBlcmZvcm1hbmNlIGlzc3Vlcy5cbiAgICAvLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5kZXYvY29tcG9uZW50cy9zaWRlbmF2L292ZXJ2aWV3I3Jlc2l6aW5nLWFuLW9wZW4tc2lkZW5hdlxuICAgIC8vXG4gICAgLy8gU28gdG8gd29yayBhcm91bmQgdGhpcywgYSBzaW1wbGUgYHJlc2l6ZWAgZXZlbnQgaXMgZGlzcGF0Y2hlZCB3aGVuZXZlciB0aGUgYHNpemVgIGlucHV0IGNoYW5nZXMuXG4gICAgLy8gVGhpcyB3b3JrcyBiZWNhdXNlIGBtYXQtZHJhd2VyYCB1c2VzIGBWaWV3cG9ydFJ1bGVyYCBmcm9tIGBAYW5ndWxhci9jZGsvc2Nyb2xsaW5nYFxuICAgIC8vIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iLzE5LjIuMS9zcmMvbWF0ZXJpYWwvc2lkZW5hdi9kcmF3ZXIudHMjTDgxMS1MODE2KVxuICAgIC8vIHRvIGxpc3RlbiB0byBgcmVzaXplYCBldmVudHMgYW5kIHJlLWNhbGN1bGF0ZXMgbWFyZ2lucyBhcHBsaWVkIHRvIHRoZSBkcmF3ZXIgY29udGVudFxuICAgIC8vIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iLzIwLjAuMC1yYy4yL3NyYy9jZGsvc2Nyb2xsaW5nL3ZpZXdwb3J0LXJ1bGVyLnRzI0w1MC1MNTMpLlxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNpemUoKTtcblxuICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBoYW5kbGVEb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgLy8gUHJldmVudCBjbG9zaW5nIHdoZW4gdGhlIGNsaWNrIHRyaWdnZXJlZCBhIGNhbGwgdG8gYG9wZW5gXG4gICAgaWYgKHRoaXMuYnlwYXNzQ2xpY2tDaGVjaykgcmV0dXJuO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIG9yaWdpbmF0ZWQgZnJvbSB3aXRoaW4gdGhlIGRyYXdlciBlbGVtZW50XG4gICAgY29uc3QgaXNDbGlja0luc2lkZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gICAgaWYgKGlzQ2xpY2tJbnNpZGUpIHJldHVybjtcblxuICAgIC8vIENoZWNrIGlmIHRoZSBjbGljayBvcmlnaW5hdGVkIGZyb20gd2l0aGluIGFuIG92ZXJsYXkgKHN1Y2ggYXMgYSBtb2RhbClcbiAgICBjb25zdCBvdmVybGF5Q29udGFpbmVyRWwgPSB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpO1xuICAgIGNvbnN0IGlzT3ZlcmxheUNsaWNrID0gb3ZlcmxheUNvbnRhaW5lckVsLmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKTtcbiAgICBpZiAoaXNPdmVybGF5Q2xpY2spIHJldHVybjtcblxuICAgIC8vIENsaWNrIGlzIGFsbG93ZWQgdG8gY2xvc2UgdGhlIGRyYXdlciBub3dcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBoYW5kbGVFc2NLZXlQcmVzc2VkKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmIChXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXIgPT09IHRoaXMpIHtcbiAgICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIGRyYXdlci4gU3Vic2VxdWVudCBjYWxscyBhcmUgaWdub3JlZCB3aGlsZSB0aGUgZHJhd2VyIGlzIG9wZW5lZC4gKi9cbiAgb3BlbigpIHtcbiAgICAvLyBUcmFwIGZvY3VzIHdoZW5ldmVyIG9wZW4gaXMgY2FsbGVkLiBUaGlzIGRvZXNuJ3Qgd29yayBvbiB0aGVcbiAgICAvLyBpbml0aWFsIGNhbGwgKHdoZW4gZmlyc3Qgb3BlbmluZyB0aGUgZHJhd2VyKSwgYnV0IHRoaXMgaXNcbiAgICAvLyBoYW5kbGVkIGJ5IHRoZSBhdXRvRm9jdXMgcHJvcGVydHkgb24gbWF0LWRyYXdlci5cbiAgICB0aGlzLmNka1RyYXBGb2N1cygpLmZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KCk7XG5cbiAgICAvLyBEaXNhYmxlIGNsaWNrIG91dHNpZGUgY2hlY2sgdW50aWwgdGhlIGN1cnJlbnQgZXZlbnQgbG9vcCBpcyBmaW5pc2hlZC5cbiAgICAvLyBUaGlzIG1pZ2h0IHNlZW0gaGFja2lzaCwgYnV0IHRoZSBvcmRlciBvZiBleGVjdXRpb24gaXMgc3RhYmxlIGhlcmUuXG4gICAgLy8gQWxzbyBwcmV2ZW50cyBhbiBpc3N1ZSB3aGVuIHRoZSBkcmF3ZXIgaXMgZGVzdHJveWVkIGFuZCB0aGVuIHJlY3JlYXRlZCxcbiAgICAvLyBjYXVzaW5nIHRoZSBjbGljayBvdXRzaWRlIGNoZWNrIHRvIHRyaWdnZXIgaW1tZWRpYXRlbHkgaWYgdGhlIGRyYXdlclxuICAgIC8vIGlzIGNyZWF0ZWQgYW5kIG9wZW5lZCBpbiByZXNwb25zZSB0byBhIGNsaWNrIGV2ZW50LlxuICAgIHRoaXMuYnlwYXNzQ2xpY2tDaGVjayA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmJ5cGFzc0NsaWNrQ2hlY2sgPSBmYWxzZTtcbiAgICB9LCAwKTtcblxuICAgIC8vIFdpdGhvdXQgYHVudHJhY2tlZGAsIGlmIHRoaXMgaXMgY2FsbGVkIGluIGEgcmVhY3RpdmUgY29udGV4dCAoc3VjaCBhcyBhbiBgZWZmZWN0YCksXG4gICAgLy8gaXQgd2lsbCBiZSB0cmlnZ2VyZWQgdHdpY2UgZHVlIHRvIGBpc09wZW5gIGJlaW5nIHRyYWNrZWQgYW5kIGltbWVkaWF0ZWx5IHVwZGF0ZWQuXG4gICAgaWYgKHVudHJhY2tlZCh0aGlzLmlzT3BlbikpIHJldHVybjtcbiAgICBXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXI/LmNsb3NlKCk7XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID0gdGhpcztcbiAgICB0aGlzLndyaXRhYmxlSXNPcGVuLnNldCh0cnVlKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIGRyYXdlci4gKi9cbiAgY2xvc2UoKSB7XG4gICAgaWYgKCF1bnRyYWNrZWQodGhpcy5pc09wZW4pKSByZXR1cm47XG4gICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMud3JpdGFibGVJc09wZW4uc2V0KGZhbHNlKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgV0FUVF9EUkFXRVIgPSBbXG4gIFdhdHREcmF3ZXJDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJUb3BiYXJDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJBY3Rpb25zQ29tcG9uZW50LFxuICBXYXR0RHJhd2VyQ29udGVudENvbXBvbmVudCxcbiAgV2F0dERyYXdlckhlYWRpbmdDb21wb25lbnQsXG5dO1xuIiwiPCEtLVxuQGxpY2Vuc2VcbkNvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cblVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxubGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4tLT5cbjxtYXQtZHJhd2VyLWNvbnRhaW5lciBjbGFzcz1cIndhdHQtZHJhd2VyLWNvbnRhaW5lclwiIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiPlxuICA8bWF0LWRyYXdlclxuICAgIGNsYXNzPVwid2F0dC1kcmF3ZXIgd2F0dC1zcGFjZS1pbnNldC1zIHdhdHQtZHJhd2VyLS17eyBzaXplKCkgfX1cIlxuICAgIG1vZGU9XCJzaWRlXCJcbiAgICBwb3NpdGlvbj1cImVuZFwiXG4gICAgW29wZW5lZF09XCJpc09wZW4oKVwiXG4gICAgKGNsb3NlZCk9XCJjbG9zZWQuZW1pdCgpXCJcbiAgICBbZGlzYWJsZUNsb3NlXT1cInRydWVcIlxuICAgIFthdXRvRm9jdXNdPVwidHJ1ZVwiXG4gICAgW2Nka1RyYXBGb2N1c109XCJ0cnVlXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ3YXR0LWRyYXdlcl9fZ3JpZC1jb250YWluZXJcIj5cbiAgICAgIDxoZWFkZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLXRvcGJhclwiIC8+XG4gICAgICAgIDx3YXR0LWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ0blwiIHZhcmlhbnQ9XCJpY29uXCIgaWNvbj1cImNsb3NlXCIgKGNsaWNrKT1cImNsb3NlKClcIiAvPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIDxhcnRpY2xlIGNsYXNzPVwid2F0dC1kcmF3ZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndhdHQtZHJhd2VyX19hY3Rpb25zXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1kcmF3ZXItaGVhZGluZ1wiIC8+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1kcmF3ZXItYWN0aW9uc1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1jb250ZW50XCIgLz5cbiAgICAgIDwvYXJ0aWNsZT5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwid2F0dC1kcmF3ZXJfX3NwaW5uZXJcIj5cbiAgICAgICAgPHdhdHQtc3Bpbm5lciAvPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L21hdC1kcmF3ZXI+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuIl19
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy93YXR0L3BhY2thZ2UvZHJhd2VyL3dhdHQtZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL2RyYXdlci93YXR0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFVBQVUsRUFDVix1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBSTdFLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBQ25DLE1BQU0sdUJBQXVCLEdB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NUMsV0FDUSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsQ0FBQzs7QUE0SXBGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsMEJBQTBCO0NBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICB2aWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29udGVudENoaWxkLFxuICBlZmZlY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2RrVHJhcEZvY3VzLCBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuXG5pbXBvcnQgeyBXYXR0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2J1dHRvbic7XG5pbXBvcnQgeyBXYXR0U3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9zcGlubmVyJztcblxuaW1wb3J0IHsgV2F0dERyYXdlclRvcGJhckNvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kcmF3ZXItdG9wYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXYXR0RHJhd2VyQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1kcmF3ZXItYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F0dERyYXdlckNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZHJhd2VyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFdhdHREcmF3ZXJIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LWRyYXdlci1oZWFkaW5nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFdhdHREcmF3ZXJTaXplID0gJ3NtYWxsJyB8ICdub3JtYWwnIHwgJ2xhcmdlJztcblxuY29uc3QgQVBQRUFSX0FOSU1BVElPTl9ERUxBWSA9IDI1MDtcbmNvbnN0IEFQUEVBUl9BTklNQVRJT05fRlJBTUVTID0ge1xuICB0cmFuc2Zvcm06IFsndHJhbnNsYXRlWCgzMHB4KScsICd0cmFuc2xhdGVYKDApJ10sXG4gIG9wYWNpdHk6IFsnMCcsICcxJ10sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnd2F0dC1kcmF3ZXInLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LWRyYXdlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vd2F0dC1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7XG4gICAgJyhkb2N1bWVudDpjbGljayknOiAnaGFuZGxlRG9jdW1lbnRDbGljaygkZXZlbnQpJyxcbiAgICAnKGtleWRvd24uZXNjYXBlKSc6ICdoYW5kbGVFc2NLZXlQcmVzc2VkKCknLFxuICB9LFxuICBpbXBvcnRzOiBbQTExeU1vZHVsZSwgTWF0U2lkZW5hdk1vZHVsZSwgV2F0dEJ1dHRvbkNvbXBvbmVudCwgV2F0dFNwaW5uZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RHJhd2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIG92ZXJsYXlDb250YWluZXIgPSBpbmplY3QoT3ZlcmxheUNvbnRhaW5lcik7XG4gIHByaXZhdGUgY29udGVudCA9IGNvbnRlbnRDaGlsZChXYXR0RHJhd2VyQ29udGVudENvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICBwcml2YXRlIGhlYWRpbmcgPSBjb250ZW50Q2hpbGQoV2F0dERyYXdlckhlYWRpbmdDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgcHJpdmF0ZSB0b3BCYXIgPSBjb250ZW50Q2hpbGQoV2F0dERyYXdlclRvcGJhckNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICBwcml2YXRlIGNka1RyYXBGb2N1cyA9IHZpZXdDaGlsZC5yZXF1aXJlZChDZGtUcmFwRm9jdXMpO1xuICBwcml2YXRlIGJ5cGFzc0NsaWNrQ2hlY2sgPSBmYWxzZTtcbiAgcHJpdmF0ZSB3cml0YWJsZUlzT3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLy8gTXVsdGlwbGUgZHJhd2VycyBvcGVuIGF0IHRoZSBzYW1lIHRpbWUgYXJlIG5vdCBhbGxvd2VkLiBUaGlzIGtlZXBzIHRyYWNrIG9mXG4gIC8vIHRoZSBjdXJyZW50bHkgb3BlbmVkIGRyYXdlciBhbmQgY2xvc2VzIGl0IHdoZW4gYSBuZXcgZHJhd2VyIGlzIG9wZW5lZC5cbiAgcHJpdmF0ZSBzdGF0aWMgY3VycmVudERyYXdlcj86IFdhdHREcmF3ZXJDb21wb25lbnQ7XG5cbiAgLyoqIFVzZWQgdG8gYWRqdXN0IGRyYXdlciBzaXplIHRvIGJlc3QgZml0IHRoZSBjb250ZW50LiAqL1xuICBzaXplID0gaW5wdXQ8V2F0dERyYXdlclNpemU+KCdub3JtYWwnKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZHJhd2VyIHNob3VsZCBvcGVuIGF1dG9tYXRpY2FsbHkuIElmIGBrZXlgIGlzIHByb3ZpZGVkIGFuZFxuICAgKiBgYXV0b09wZW5gIGlzIHRydWUsIHRoZSBkcmF3ZXIgd2lsbCBvcGVuIGV2ZXJ5IHRpbWUgdGhlIGtleSBjaGFuZ2VzLlxuICAgKi9cbiAgYXV0b09wZW4gPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gdHJhY2sgdGhlIGN1cnJlbnQgZHJhd2VyIHdoZW4gcmV1c2luZyB0aGUgc2FtZSBkcmF3ZXIgaW5zdGFuY2UgdG9cbiAgICogcmVuZGVyIGRpZmZlcmVudCBjb250ZW50LiBUaGlzIGlzIHJlcXVpcmVkIHdoZW4gaW50ZXJhY3Rpb25zIG91dHNpZGUgdGhlXG4gICAqIGRyYXdlciBzaG91bGQgcmVzdWx0IGluIHVwZGF0aW5nIHRoZSBkcmF3ZXIncyBjb250ZW50IGluc3RlYWQgb2YgY2xvc2luZyBpdC5cbiAgICovXG4gIGtleSA9IGlucHV0PHVua25vd24+KCk7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRyYXdlciBzaG91bGQgc2hvdyBhIGxvYWRpbmcgc3RhdGUuICovXG4gIGxvYWRpbmcgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqIEFkZHMgYSBicmllZiBhbmltYXRpb24gdG8gaW5kaWNhdGUgdGhhdCB0aGUgY29udGVudCBoYXMgY2hhbmdlZC4gKi9cbiAgYW5pbWF0ZU9uS2V5Q2hhbmdlID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgZHJhd2VyIGlzIGZ1bGx5IGNsb3NlZC4gKi9cbiAgY2xvc2VkID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRyYXdlciBpcyBvcGVuLiAgKi9cbiAgaXNPcGVuID0gdGhpcy53cml0YWJsZUlzT3Blbi5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMua2V5KCk7XG4gICAgICBpZiAodGhpcy5hdXRvT3BlbigpKSB0aGlzLm9wZW4oKTtcbiAgICAgIGlmICghdGhpcy5hbmltYXRlT25LZXlDaGFuZ2UoKSkgcmV0dXJuO1xuICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbigpKSByZXR1cm47XG4gICAgICAgIHRoaXMuY29udGVudCgpPy5uYXRpdmVFbGVtZW50LmFuaW1hdGUoQVBQRUFSX0FOSU1BVElPTl9GUkFNRVMsIEFQUEVBUl9BTklNQVRJT05fREVMQVkpO1xuICAgICAgICB0aGlzLmhlYWRpbmcoKT8ubmF0aXZlRWxlbWVudC5hbmltYXRlKEFQUEVBUl9BTklNQVRJT05fRlJBTUVTLCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZKTtcbiAgICAgICAgdGhpcy50b3BCYXIoKT8ubmF0aXZlRWxlbWVudC5hbmltYXRlKEFQUEVBUl9BTklNQVRJT05fRlJBTUVTLCBBUFBFQVJfQU5JTUFUSU9OX0RFTEFZKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gV2hvIGRvZXNuJ3QgbG92ZSBhIGdvb2Qgd29ya2Fyb3VuZCwgcmlnaHQ/XG4gICAgLy8gTGV0J3MgbWFrZSB0aGUgZHJhd2VyIHJlc2l6ZSBpdHNlbGYgd2hlbmV2ZXIgdGhlIGBzaXplYCBpbnB1dCBjaGFuZ2VzLlxuICAgIC8vXG4gICAgLy8gVGhlIGBtYXQtZHJhd2VyYCBjb21wb25lbnQgb2ZmZXJzIHRoZSBgYXV0b3NpemVgIGlucHV0IGZvciB0aGlzLlxuICAgIC8vIEhvd2V2ZXIsIGl0IGlzIHNwZWNpZmljYWxseSBtZW50aW9uZWQgdGhhdCB0aGlzIG9wdGlvbnMgc2hvdWxkIGJlIHVzZWQgYXQgb3duIHJpc2ssXG4gICAgLy8gYXMgaXQgY291bGQgY2F1c2UgcGVyZm9ybWFuY2UgaXNzdWVzLlxuICAgIC8vIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmRldi9jb21wb25lbnRzL3NpZGVuYXYvb3ZlcnZpZXcjcmVzaXppbmctYW4tb3Blbi1zaWRlbmF2XG4gICAgLy9cbiAgICAvLyBTbyB0byB3b3JrIGFyb3VuZCB0aGlzLCBhIHNpbXBsZSBgcmVzaXplYCBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW5ldmVyIHRoZSBgc2l6ZWAgaW5wdXQgY2hhbmdlcy5cbiAgICAvLyBUaGlzIHdvcmtzIGJlY2F1c2UgYG1hdC1kcmF3ZXJgIHVzZXMgYFZpZXdwb3J0UnVsZXJgIGZyb20gYEBhbmd1bGFyL2Nkay9zY3JvbGxpbmdgXG4gICAgLy8gKHNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvMTkuMi4xL3NyYy9tYXRlcmlhbC9zaWRlbmF2L2RyYXdlci50cyNMODExLUw4MTYpXG4gICAgLy8gdG8gbGlzdGVuIHRvIGByZXNpemVgIGV2ZW50cyBhbmQgcmUtY2FsY3VsYXRlcyBtYXJnaW5zIGFwcGxpZWQgdG8gdGhlIGRyYXdlciBjb250ZW50XG4gICAgLy8gKHNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvMjAuMC4wLXJjLjIvc3JjL2Nkay9zY3JvbGxpbmcvdmlld3BvcnQtcnVsZXIudHMjTDUwLUw1MykuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuc2l6ZSgpO1xuXG4gICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVzaXplJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGhhbmRsZURvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAvLyBQcmV2ZW50IGNsb3Npbmcgd2hlbiB0aGUgY2xpY2sgdHJpZ2dlcmVkIGEgY2FsbCB0byBgb3BlbmBcbiAgICBpZiAodGhpcy5ieXBhc3NDbGlja0NoZWNrKSByZXR1cm47XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgY2xpY2sgb3JpZ2luYXRlZCBmcm9tIHdpdGhpbiB0aGUgZHJhd2VyIGVsZW1lbnRcbiAgICBjb25zdCBpc0NsaWNrSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICBpZiAoaXNDbGlja0luc2lkZSkgcmV0dXJuO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIG9yaWdpbmF0ZWQgZnJvbSB3aXRoaW4gYW4gb3ZlcmxheSAoc3VjaCBhcyBhIG1vZGFsKVxuICAgIGNvbnN0IG92ZXJsYXlDb250YWluZXJFbCA9IHRoaXMub3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KCk7XG4gICAgY29uc3QgaXNPdmVybGF5Q2xpY2sgPSBvdmVybGF5Q29udGFpbmVyRWwuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpO1xuICAgIGlmIChpc092ZXJsYXlDbGljaykgcmV0dXJuO1xuXG4gICAgLy8gQ2xpY2sgaXMgYWxsb3dlZCB0byBjbG9zZSB0aGUgZHJhd2VyIG5vd1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGhhbmRsZUVzY0tleVByZXNzZWQoKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlciA9PT0gdGhpcykge1xuICAgICAgV2F0dERyYXdlckNvbXBvbmVudC5jdXJyZW50RHJhd2VyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBPcGVucyB0aGUgZHJhd2VyLiBTdWJzZXF1ZW50IGNhbGxzIGFyZSBpZ25vcmVkIHdoaWxlIHRoZSBkcmF3ZXIgaXMgb3BlbmVkLiAqL1xuICBvcGVuKCkge1xuICAgIC8vIFRyYXAgZm9jdXMgd2hlbmV2ZXIgb3BlbiBpcyBjYWxsZWQuIFRoaXMgZG9lc24ndCB3b3JrIG9uIHRoZVxuICAgIC8vIGluaXRpYWwgY2FsbCAod2hlbiBmaXJzdCBvcGVuaW5nIHRoZSBkcmF3ZXIpLCBidXQgdGhpcyBpc1xuICAgIC8vIGhhbmRsZWQgYnkgdGhlIGF1dG9Gb2N1cyBwcm9wZXJ0eSBvbiBtYXQtZHJhd2VyLlxuICAgIHRoaXMuY2RrVHJhcEZvY3VzKCkuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKTtcblxuICAgIC8vIERpc2FibGUgY2xpY2sgb3V0c2lkZSBjaGVjayB1bnRpbCB0aGUgY3VycmVudCBldmVudCBsb29wIGlzIGZpbmlzaGVkLlxuICAgIC8vIFRoaXMgbWlnaHQgc2VlbSBoYWNraXNoLCBidXQgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiBpcyBzdGFibGUgaGVyZS5cbiAgICAvLyBBbHNvIHByZXZlbnRzIGFuIGlzc3VlIHdoZW4gdGhlIGRyYXdlciBpcyBkZXN0cm95ZWQgYW5kIHRoZW4gcmVjcmVhdGVkLFxuICAgIC8vIGNhdXNpbmcgdGhlIGNsaWNrIG91dHNpZGUgY2hlY2sgdG8gdHJpZ2dlciBpbW1lZGlhdGVseSBpZiB0aGUgZHJhd2VyXG4gICAgLy8gaXMgY3JlYXRlZCBhbmQgb3BlbmVkIGluIHJlc3BvbnNlIHRvIGEgY2xpY2sgZXZlbnQuXG4gICAgdGhpcy5ieXBhc3NDbGlja0NoZWNrID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYnlwYXNzQ2xpY2tDaGVjayA9IGZhbHNlO1xuICAgIH0sIDApO1xuXG4gICAgLy8gV2l0aG91dCBgdW50cmFja2VkYCwgaWYgdGhpcyBpcyBjYWxsZWQgaW4gYSByZWFjdGl2ZSBjb250ZXh0IChzdWNoIGFzIGFuIGBlZmZlY3RgKSxcbiAgICAvLyBpdCB3aWxsIGJlIHRyaWdnZXJlZCB0d2ljZSBkdWUgdG8gYGlzT3BlbmAgYmVpbmcgdHJhY2tlZCBhbmQgaW1tZWRpYXRlbHkgdXBkYXRlZC5cbiAgICBpZiAodW50cmFja2VkKHRoaXMuaXNPcGVuKSkgcmV0dXJuO1xuICAgIFdhdHREcmF3ZXJDb21wb25lbnQuY3VycmVudERyYXdlcj8uY2xvc2UoKTtcbiAgICBXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXIgPSB0aGlzO1xuICAgIHRoaXMud3JpdGFibGVJc09wZW4uc2V0KHRydWUpO1xuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgZHJhd2VyLiAqL1xuICBjbG9zZSgpIHtcbiAgICBpZiAoIXVudHJhY2tlZCh0aGlzLmlzT3BlbikpIHJldHVybjtcbiAgICBXYXR0RHJhd2VyQ29tcG9uZW50LmN1cnJlbnREcmF3ZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy53cml0YWJsZUlzT3Blbi5zZXQoZmFsc2UpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBXQVRUX0RSQVdFUiA9IFtcbiAgV2F0dERyYXdlckNvbXBvbmVudCxcbiAgV2F0dERyYXdlclRvcGJhckNvbXBvbmVudCxcbiAgV2F0dERyYXdlckFjdGlvbnNDb21wb25lbnQsXG4gIFdhdHREcmF3ZXJDb250ZW50Q29tcG9uZW50LFxuICBXYXR0RHJhd2VySGVhZGluZ0NvbXBvbmVudCxcbl07XG4iLCI8IS0tXG5AbGljZW5zZVxuQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbi0tPlxuPG1hdC1kcmF3ZXItY29udGFpbmVyIGNsYXNzPVwid2F0dC1kcmF3ZXItY29udGFpbmVyXCIgW2hhc0JhY2tkcm9wXT1cImZhbHNlXCI+XG4gIDxtYXQtZHJhd2VyXG4gICAgY2xhc3M9XCJ3YXR0LWRyYXdlciB3YXR0LXNwYWNlLWluc2V0LXMgd2F0dC1kcmF3ZXItLXt7IHNpemUoKSB9fVwiXG4gICAgbW9kZT1cInNpZGVcIlxuICAgIHBvc2l0aW9uPVwiZW5kXCJcbiAgICBbb3BlbmVkXT1cImlzT3BlbigpXCJcbiAgICAoY2xvc2VkKT1cImNsb3NlZC5lbWl0KClcIlxuICAgIFtkaXNhYmxlQ2xvc2VdPVwidHJ1ZVwiXG4gICAgW2F1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICBbY2RrVHJhcEZvY3VzXT1cInRydWVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIndhdHQtZHJhd2VyX19ncmlkLWNvbnRhaW5lclwiPlxuICAgICAgPGhlYWRlcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1kcmF3ZXItdG9wYmFyXCIgLz5cbiAgICAgICAgPHdhdHQtYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnRuXCIgdmFyaWFudD1cImljb25cIiBpY29uPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiIC8+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPGFydGljbGUgY2xhc3M9XCJ3YXR0LWRyYXdlcl9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2F0dC1kcmF3ZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1oZWFkaW5nXCIgLz5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWRyYXdlci1hY3Rpb25zXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZHJhd2VyLWNvbnRlbnRcIiAvPlxuICAgICAgPC9hcnRpY2xlPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChsb2FkaW5nKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJ3YXR0LWRyYXdlcl9fc3Bpbm5lclwiPlxuICAgICAgICA8d2F0dC1zcGlubmVyIC8+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvbWF0LWRyYXdlcj5cbjwvbWF0LWRyYXdlci1jb250YWluZXI+XG4iXX0=