@softpak/components 0.0.0-beta.14 → 0.0.0-beta.141

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 (81) hide show
  1. package/esm2022/spx-alert/spx-alert.component.mjs +5 -2
  2. package/esm2022/spx-change-details/public-api.mjs +2 -0
  3. package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +5 -0
  4. package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +2 -0
  5. package/esm2022/spx-change-details/spx-change-details.component.mjs +118 -0
  6. package/esm2022/spx-channel-selection/src/spx-channel-selection.component.mjs +1 -1
  7. package/esm2022/spx-channel-selection/src/spx-company-selection.component.mjs +2 -2
  8. package/esm2022/spx-check-digit/spx-check-digit.component.mjs +4 -4
  9. package/esm2022/spx-form-section/spx-form-section.component.mjs +7 -7
  10. package/esm2022/spx-form-view/public-api.mjs +4 -0
  11. package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +5 -0
  12. package/esm2022/spx-form-view/spx-form-field.interface.mjs +2 -0
  13. package/esm2022/spx-form-view/spx-form-section.interface.mjs +2 -0
  14. package/esm2022/spx-form-view/spx-form-view.component.mjs +163 -0
  15. package/esm2022/spx-inputs/spx-dropdown.component.mjs +94 -0
  16. package/esm2022/spx-inputs/spx-input-box.component.mjs +74 -47
  17. package/esm2022/spx-inputs/spx-input-date.component.mjs +1 -1
  18. package/esm2022/spx-inputs/spx-input-radio.component.mjs +89 -27
  19. package/esm2022/spx-inputs/spx-input-text.component.mjs +21 -31
  20. package/esm2022/spx-inputs/spx-input-type.enum.mjs +2 -1
  21. package/esm2022/spx-inputs/spx-input.component.mjs +39 -13
  22. package/esm2022/spx-navigation/spx-home-tile.component.mjs +29 -10
  23. package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +1 -1
  24. package/esm2022/spx-navigation/spx-navigation.component.mjs +11 -5
  25. package/esm2022/spx-number-check/public-api.mjs +2 -0
  26. package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +5 -0
  27. package/esm2022/spx-number-check/spx-number-check.component.mjs +262 -0
  28. package/esm2022/spx-spinner/spx-spinner.component.mjs +5 -5
  29. package/esm2022/spx-suggestion/spx-suggestion.component.mjs +26 -10
  30. package/esm2022/spx-toaster/src/spx-toaster.component.mjs +3 -3
  31. package/esm2022/spx-update/src/spx-update-info.component.mjs +1 -1
  32. package/fesm2022/softpak-components-spx-alert.mjs +4 -1
  33. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  34. package/fesm2022/softpak-components-spx-change-details.mjs +125 -0
  35. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -0
  36. package/fesm2022/softpak-components-spx-channel-selection.mjs +2 -2
  37. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  38. package/fesm2022/softpak-components-spx-check-digit.mjs +3 -3
  39. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  40. package/fesm2022/softpak-components-spx-form-section.mjs +6 -6
  41. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  42. package/fesm2022/softpak-components-spx-form-view.mjs +170 -0
  43. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -0
  44. package/fesm2022/softpak-components-spx-inputs.mjs +306 -112
  45. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  46. package/fesm2022/softpak-components-spx-navigation.mjs +37 -12
  47. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  48. package/fesm2022/softpak-components-spx-number-check.mjs +269 -0
  49. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -0
  50. package/fesm2022/softpak-components-spx-spinner.mjs +4 -4
  51. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  52. package/fesm2022/softpak-components-spx-suggestion.mjs +25 -9
  53. package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
  54. package/fesm2022/softpak-components-spx-toaster.mjs +2 -2
  55. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  56. package/fesm2022/softpak-components-spx-update.mjs +1 -1
  57. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  58. package/package.json +59 -41
  59. package/spx-change-details/index.d.ts +5 -0
  60. package/spx-change-details/public-api.d.ts +1 -0
  61. package/spx-change-details/spx-change-details-value.interface.d.ts +7 -0
  62. package/spx-change-details/spx-change-details.component.d.ts +40 -0
  63. package/spx-form-view/index.d.ts +5 -0
  64. package/spx-form-view/public-api.d.ts +3 -0
  65. package/spx-form-view/spx-form-field.interface.d.ts +16 -0
  66. package/spx-form-view/spx-form-section.interface.d.ts +9 -0
  67. package/spx-form-view/spx-form-view.component.d.ts +27 -0
  68. package/spx-inputs/spx-dropdown.component.d.ts +18 -0
  69. package/spx-inputs/spx-input-box.component.d.ts +14 -7
  70. package/spx-inputs/spx-input-radio.component.d.ts +13 -5
  71. package/spx-inputs/spx-input-text.component.d.ts +2 -1
  72. package/spx-inputs/spx-input-type.enum.d.ts +2 -1
  73. package/spx-inputs/spx-input.component.d.ts +7 -3
  74. package/spx-navigation/spx-home-tile.component.d.ts +5 -1
  75. package/spx-navigation/spx-navigation-item.interface.d.ts +1 -0
  76. package/spx-navigation/spx-navigation.component.d.ts +4 -1
  77. package/spx-number-check/index.d.ts +5 -0
  78. package/spx-number-check/public-api.d.ts +1 -0
  79. package/spx-number-check/spx-number-check.component.d.ts +48 -0
  80. package/spx-suggestion/spx-suggestion.component.d.ts +3 -1
  81. package/tailwind.css +1 -1
@@ -1,5 +1,5 @@
1
1
  import { NgIf } from '@angular/common';
2
- import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
3
3
  import { SpxInputBoxComponent } from './spx-input-box.component';
4
4
  import { SpxInputTextComponent } from './spx-input-text.component';
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
@@ -19,6 +19,7 @@ export class SpxInputComponent {
19
19
  this.spxSelectDay = true;
20
20
  this.spxShowEdit = false;
21
21
  this.spxShowHelp = false;
22
+ this.spxShowLabel = true;
22
23
  this.spxCompact = false;
23
24
  this.spxShowClear = true;
24
25
  this.spxShowSearch = false;
@@ -37,9 +38,6 @@ export class SpxInputComponent {
37
38
  this.onChange = () => { };
38
39
  this.onTouched = () => { };
39
40
  }
40
- async spxSetFocus() {
41
- this.passFocusToControl();
42
- }
43
41
  handleBlur() {
44
42
  this.spxBlur.emit();
45
43
  }
@@ -60,17 +58,19 @@ export class SpxInputComponent {
60
58
  handleFocus() {
61
59
  this.spxFocus.emit();
62
60
  this.spxFocused = true;
63
- // this.elBox.spxSetFocus();
64
61
  }
65
62
  handleSearch() {
66
63
  this.spxSearch.emit();
67
64
  }
68
- setFocus() {
65
+ setFocusIn() {
69
66
  this.spxFocused = true;
70
67
  this.passFocusToControl();
71
68
  }
72
69
  setFocusOut() {
73
70
  this.spxFocused = false;
71
+ if (this.spxType === SpxInputTypeEnum.radio) {
72
+ this.radioInput?.spxFocusOut();
73
+ }
74
74
  }
75
75
  handleEdit() {
76
76
  this.spxEdit.emit();
@@ -81,9 +81,19 @@ export class SpxInputComponent {
81
81
  this.spxFocused = true;
82
82
  }
83
83
  passFocusToControl() {
84
+ switch (this.spxType) {
85
+ case SpxInputTypeEnum.autocomplete:
86
+ case SpxInputTypeEnum.text:
87
+ case SpxInputTypeEnum.overlayNumber:
88
+ this.textInput?.spxSetFocus();
89
+ break;
90
+ case SpxInputTypeEnum.radio:
91
+ this.radioInput?.spxFocusIn();
92
+ break;
93
+ }
84
94
  }
85
95
  writeValue(value) {
86
- this.value = this.lastValue = value == null ? '' : value;
96
+ this.value = this.lastValue = value;
87
97
  }
88
98
  handleChangeEvent(value) {
89
99
  if (value !== this.lastValue) {
@@ -101,13 +111,14 @@ export class SpxInputComponent {
101
111
  this.onTouched = fn;
102
112
  }
103
113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxInputComponent, isStandalone: true, selector: "spx-input", inputs: { spxLabel: "spxLabel", spxMax: "spxMax", spxMin: "spxMin", spxName: "spxName", spxReadonly: "spxReadonly", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxPattern: "spxPattern", spxRequired: "spxRequired", spxSelectMonth: "spxSelectMonth", spxSelectDay: "spxSelectDay", spxShowEdit: "spxShowEdit", spxShowHelp: "spxShowHelp", spxCompact: "spxCompact", spxShowClear: "spxShowClear", spxShowSearch: "spxShowSearch", spxShowValidationMessages: "spxShowValidationMessages", spxStep: "spxStep", spxSuggestions: "spxSuggestions", spxType: "spxType", spxValidators: "spxValidators", value: "value", spxCapitalize: "spxCapitalize", spxFocused: "spxFocused" }, outputs: { spxBlur: "spxBlur", spxClear: "spxClear", spxChange: "spxChange", spxFocus: "spxFocus", spxEdit: "spxEdit", spxHelp: "spxHelp", spxSearch: "spxSearch" }, host: { listeners: { "spxChange": "handleChangeEvent($event)", "focusout": "_handleBlurEvent()" } }, providers: [
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxInputComponent, isStandalone: true, selector: "spx-input", inputs: { spxLabel: "spxLabel", spxMax: "spxMax", spxMin: "spxMin", spxName: "spxName", spxReadonly: "spxReadonly", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxPattern: "spxPattern", spxRequired: "spxRequired", spxSelectMonth: "spxSelectMonth", spxSelectDay: "spxSelectDay", spxShowEdit: "spxShowEdit", spxShowHelp: "spxShowHelp", spxShowLabel: "spxShowLabel", spxCompact: "spxCompact", spxShowClear: "spxShowClear", spxShowSearch: "spxShowSearch", spxShowValidationMessages: "spxShowValidationMessages", spxStep: "spxStep", spxSuggestions: "spxSuggestions", spxType: "spxType", spxValidators: "spxValidators", value: "value", spxCapitalize: "spxCapitalize", spxFocused: "spxFocused" }, outputs: { spxBlur: "spxBlur", spxClear: "spxClear", spxChange: "spxChange", spxFocus: "spxFocus", spxEdit: "spxEdit", spxHelp: "spxHelp", spxSearch: "spxSearch" }, host: { listeners: { "spxChange": "handleChangeEvent($event)", "focusout": "_handleBlurEvent()" } }, providers: [
105
115
  {
106
116
  provide: NG_VALUE_ACCESSOR,
107
117
  useExisting: SpxInputComponent,
108
118
  multi: true
109
119
  }
110
- ], ngImport: i0, template: `<spx-input-box
120
+ ], viewQueries: [{ propertyName: "textInput", first: true, predicate: SpxInputTextComponent, descendants: true }, { propertyName: "radioInput", first: true, predicate: SpxInputRadioComponent, descendants: true }], ngImport: i0, template: `<spx-input-box
121
+ [spxFocused]="this.spxFocused"
111
122
  [spxLabel]="this.spxLabel"
112
123
  [spxReadonly]="this.spxReadonly"
113
124
  [spxRequired]="this.spxRequired"
@@ -116,12 +127,13 @@ export class SpxInputComponent {
116
127
  [spxCompact]="this.spxCompact"
117
128
  [spxShowClear]="this.spxShowClear"
118
129
  [spxShowEdit]="this.spxShowEdit"
130
+ [spxShowLabel]="this.spxShowLabel"
119
131
  [spxShowSearch]="this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'"
120
132
  [spxShowValidationMessages]="this.spxShowValidationMessages"
121
133
  (spxClear)="this.handleClear()"
122
134
  (spxEdit)="this.handleEdit()"
123
135
  (spxHelp)="this.handleHelp()"
124
- (spxFocus)="this.setFocus()"
136
+ (spxFocus)="this.setFocusIn()"
125
137
  (spxFocusOut)="this.setFocusOut()"
126
138
  (spxSearch)="this.handleSearch()">
127
139
  <div controls>
@@ -182,12 +194,14 @@ export class SpxInputComponent {
182
194
  [value]="this.value"
183
195
  ></spx-input-number>
184
196
  <spx-input-radio
197
+ #radioInput
185
198
  *ngIf="this.spxType === 'radio'"
186
199
  (spxChange)="this.handleChange($event)"
187
200
  (spxFocus)="this.handleFocus()"
188
201
  [spxFocused]="this.spxFocused"
189
202
  [spxName]="this.spxName"
190
203
  [spxReadonly]="this.spxReadonly"
204
+ [spxShowLabel]="this.spxShowLabel"
191
205
  [spxSuggestions]="this.spxSuggestions"
192
206
  [spxValidators]="this.spxValidators"
193
207
  [value]="this.value"
@@ -196,7 +210,7 @@ export class SpxInputComponent {
196
210
  <div validation-messages>
197
211
  <ng-content></ng-content>
198
212
  </div>
199
- </spx-input-box>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SpxInputBoxComponent, selector: "spx-input-box", inputs: ["spxLabel", "spxRequired", "spxReadonly", "spxShowHelp", "spxCompact", "spxShowClear", "spxShowEdit", "spxShowSearch", "spxShowValidationMessages", "spxValue", "spxFocused"], outputs: ["spxClear", "spxSearch", "spxFocus", "spxFocusOut", "spxEdit", "spxHelp"] }, { kind: "component", type: SpxInputDateComponent, selector: "spx-input-date", inputs: ["spxMax", "spxMin", "spxName", "spxReadonly", "spxValidators", "spxFocused", "spxSelectMonth", "spxSelectDay", "value", "spxLastKeyPressed", "spxSelectStep", "spxInternalValue", "spxSuggestions", "spxWasInternalUpdate"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputFloatComponent, selector: "spx-input-float", inputs: ["spxName", "spxAutofocus", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value", "spxWasInternalUpdate", "tick"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputNumberComponent, selector: "spx-input-number", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputRadioComponent, selector: "spx-input-radio", inputs: ["spxName", "spxValidators", "spxFocused", "spxReadonly", "spxSuggestions", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTextComponent, selector: "spx-input-text", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }] }); }
213
+ </spx-input-box>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SpxInputBoxComponent, selector: "spx-input-box", inputs: ["spxCompact", "spxFocused", "spxLabel", "spxReadonly", "spxRequired", "spxShowClear", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxShowSearch", "spxShowValidationMessages", "spxValue"], outputs: ["spxClear", "spxSearch", "spxFocus", "spxFocusOut", "spxEdit", "spxHelp"] }, { kind: "component", type: SpxInputDateComponent, selector: "spx-input-date", inputs: ["spxMax", "spxMin", "spxName", "spxReadonly", "spxValidators", "spxFocused", "spxSelectMonth", "spxSelectDay", "value", "spxLastKeyPressed", "spxSelectStep", "spxInternalValue", "spxSuggestions", "spxWasInternalUpdate"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputFloatComponent, selector: "spx-input-float", inputs: ["spxName", "spxAutofocus", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value", "spxWasInternalUpdate", "tick"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputNumberComponent, selector: "spx-input-number", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputRadioComponent, selector: "spx-input-radio", inputs: ["spxName", "spxValidators", "spxFocused", "spxShowLabel", "spxReadonly", "spxSuggestions", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTextComponent, selector: "spx-input-text", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }] }); }
200
214
  }
201
215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxInputComponent, decorators: [{
202
216
  type: Component,
@@ -223,6 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
223
237
  }
224
238
  ],
225
239
  template: `<spx-input-box
240
+ [spxFocused]="this.spxFocused"
226
241
  [spxLabel]="this.spxLabel"
227
242
  [spxReadonly]="this.spxReadonly"
228
243
  [spxRequired]="this.spxRequired"
@@ -231,12 +246,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
231
246
  [spxCompact]="this.spxCompact"
232
247
  [spxShowClear]="this.spxShowClear"
233
248
  [spxShowEdit]="this.spxShowEdit"
249
+ [spxShowLabel]="this.spxShowLabel"
234
250
  [spxShowSearch]="this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'"
235
251
  [spxShowValidationMessages]="this.spxShowValidationMessages"
236
252
  (spxClear)="this.handleClear()"
237
253
  (spxEdit)="this.handleEdit()"
238
254
  (spxHelp)="this.handleHelp()"
239
- (spxFocus)="this.setFocus()"
255
+ (spxFocus)="this.setFocusIn()"
240
256
  (spxFocusOut)="this.setFocusOut()"
241
257
  (spxSearch)="this.handleSearch()">
242
258
  <div controls>
@@ -297,12 +313,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
297
313
  [value]="this.value"
298
314
  ></spx-input-number>
299
315
  <spx-input-radio
316
+ #radioInput
300
317
  *ngIf="this.spxType === 'radio'"
301
318
  (spxChange)="this.handleChange($event)"
302
319
  (spxFocus)="this.handleFocus()"
303
320
  [spxFocused]="this.spxFocused"
304
321
  [spxName]="this.spxName"
305
322
  [spxReadonly]="this.spxReadonly"
323
+ [spxShowLabel]="this.spxShowLabel"
306
324
  [spxSuggestions]="this.spxSuggestions"
307
325
  [spxValidators]="this.spxValidators"
308
326
  [value]="this.value"
@@ -339,6 +357,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
339
357
  type: Input
340
358
  }], spxShowHelp: [{
341
359
  type: Input
360
+ }], spxShowLabel: [{
361
+ type: Input
342
362
  }], spxCompact: [{
343
363
  type: Input
344
364
  }], spxShowClear: [{
@@ -373,10 +393,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
373
393
  type: Output
374
394
  }], spxSearch: [{
375
395
  type: Output
396
+ }], textInput: [{
397
+ type: ViewChild,
398
+ args: [SpxInputTextComponent]
399
+ }], radioInput: [{
400
+ type: ViewChild,
401
+ args: [SpxInputRadioComponent]
376
402
  }], spxFocused: [{
377
403
  type: Input
378
404
  }], _handleBlurEvent: [{
379
405
  type: HostListener,
380
406
  args: ['focusout']
381
407
  }] } });
382
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQW1IekQsTUFBTSxPQUFPLGlCQUFpQjtJQWpIOUI7UUFrSFcsYUFBUSxHQUFXLE9BQU8sQ0FBQztRQUkzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUss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QUFVO3NCQUFsQixLQUFLO2dCQTBFTixnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhJbnB1dEJveENvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4SW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4VmFsdWVQYWlyIH0gZnJvbSAnLi9zcHgtdmFsdWUtaW50ZXJmYWNlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4SW5wdXREYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4SW5wdXRGbG9hdENvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LWZsb2F0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4SW5wdXRSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LXJhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFR5cGVFbnVtIH0gZnJvbSAnLi9zcHgtaW5wdXQtdHlwZS5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICcoc3B4Q2hhbmdlKSc6ICdoYW5kbGVDaGFuZ2VFdmVudCgkZXZlbnQpJ1xuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBTcHhJbnB1dEJveENvbXBvbmVudCxcbiAgICBTcHhJbnB1dERhdGVDb21wb25lbnQsXG4gICAgU3B4SW5wdXRGbG9hdENvbXBvbmVudCxcbiAgICBTcHhJbnB1dE51bWJlckNvbXBvbmVudCxcbiAgICBTcHhJbnB1dFJhZGlvQ29tcG9uZW50LFxuICAgIFNweElucHV0VGV4dENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogU3B4SW5wdXRDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgdGVtcGxhdGU6IGA8c3B4LWlucHV0LWJveFxuICBbc3B4TGFiZWxdPVwidGhpcy5zcHhMYWJlbFwiXG4gIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgW3NweFJlcXVpcmVkXT1cInRoaXMuc3B4UmVxdWlyZWRcIlxuICBbc3B4VmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gIFtzcHhTaG93SGVscF09XCJ0aGlzLnNweFNob3dIZWxwXCJcbiAgW3NweENvbXBhY3RdPVwidGhpcy5zcHhDb21wYWN0XCJcbiAgW3NweFNob3dDbGVhcl09XCJ0aGlzLnNweFNob3dDbGVhclwiXG4gIFtzcHhTaG93RWRpdF09XCJ0aGlzLnNweFNob3dFZGl0XCJcbiAgW3NweFNob3dTZWFyY2hdPVwidGhpcy5zcHhTaG93U2VhcmNoID8gdGhpcy5zcHhTaG93U2VhcmNoIDogdGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiXG4gIFtzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzXT1cInRoaXMuc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc1wiXG4gIChzcHhDbGVhcik9XCJ0aGlzLmhhbmRsZUNsZWFyKClcIlxuICAoc3B4RWRpdCk9XCJ0aGlzLmhhbmRsZUVkaXQoKVwiXG4gIChzcHhIZWxwKT1cInRoaXMuaGFuZGxlSGVscCgpXCJcbiAgKHNweEZvY3VzKT1cInRoaXMuc2V0Rm9jdXMoKVwiXG4gIChzcHhGb2N1c091dCk9XCJ0aGlzLnNldEZvY3VzT3V0KClcIlxuICAoc3B4U2VhcmNoKT1cInRoaXMuaGFuZGxlU2VhcmNoKClcIj5cbiAgPGRpdiBjb250cm9scz5cbiAgICA8c3B4LWlucHV0LXRleHRcbiAgICAgICpuZ0lmPVwidGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5JyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyB8fCB0aGlzLnNweFR5cGUgPT09ICd0ZXh0JyB8fCB0aGlzLnNweFR5cGUgPT09ICdwYXNzd29yZCdcIlxuICAgICAgKHNweEJsdXJGcm9tQ2hpbGQpPVwidGhpcy5oYW5kbGVCbHVyKClcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Q2FwaXRhbGl6ZV09XCJ0aGlzLnNweENhcGl0YWxpemVcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhJbnB1dE1vZGVdPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnbnVtZXJpYycgOiB0aGlzLnNweElucHV0TW9kZVwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFBhdHRlcm5dPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnWzAtOV0qJyA6IHRoaXMuc3B4UGF0dGVyblwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwidGhpcy5zcHhTdWdnZXN0aW9uc1wiXG4gICAgICBbc3B4VHlwZV09XCJ0aGlzLnNweFR5cGVcIlxuICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICAgID48L3NweC1pbnB1dC10ZXh0PlxuICAgIDxzcHgtaW5wdXQtZGF0ZVxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdkYXRlJ1wiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE1heF09XCJ0aGlzLnNweE1heFwiXG4gICAgICBbc3B4TWluXT1cInRoaXMuc3B4TWluXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U2VsZWN0RGF5XT1cInRoaXMuc3B4U2VsZWN0RGF5XCJcbiAgICAgIFtzcHhTZWxlY3RNb250aF09XCJ0aGlzLnNweFNlbGVjdE1vbnRoXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LWRhdGU+XG4gICAgPHNweC1pbnB1dC1mbG9hdFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdmbG9hdCdcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgID48L3NweC1pbnB1dC1mbG9hdD5cbiAgICA8c3B4LWlucHV0LW51bWJlclxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdudW1iZXInXCJcbiAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgIFtzcHhBdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXNcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhJbnB1dE1vZGVdPVwidGhpcy5zcHhJbnB1dE1vZGVcIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgID48L3NweC1pbnB1dC1udW1iZXI+XG4gICAgPHNweC1pbnB1dC1yYWRpb1xuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdyYWRpbydcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwidGhpcy5zcHhTdWdnZXN0aW9uc1wiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgID48L3NweC1pbnB1dC1yYWRpbz5cbiAgPC9kaXY+XG4gIDxkaXYgdmFsaWRhdGlvbi1tZXNzYWdlcz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9zcHgtaW5wdXQtYm94PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgc3B4TGFiZWw6IHN0cmluZyA9ICdsYWJlbCc7XG4gIEBJbnB1dCgpIHNweE1heD86IHN0cmluZztcbiAgQElucHV0KCkgc3B4TWluPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4SW5wdXRNb2RlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhQYXR0ZXJuPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhSZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTZWxlY3RNb250aCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNlbGVjdERheSA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFNob3dFZGl0ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dIZWxwID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweENvbXBhY3QgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd0NsZWFyID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4U2hvd1NlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzPzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U3RlcD86IG51bWJlcjtcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPltdID0gW107XG4gIEBJbnB1dCgpIHNweFR5cGU6IFNweElucHV0VHlwZUVudW0gPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnMhOiBhbnlbXTtcbiAgQElucHV0KCkgdmFsdWUhOiBTcHhWYWx1ZVBhaXI8YW55PjtcbiAgQElucHV0KCkgc3B4Q2FwaXRhbGl6ZSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc3B4Qmx1cjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4Q2xlYXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XG4gIEBPdXRwdXQoKSBzcHhGb2N1czogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4RWRpdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4SGVscDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSBmYWxzZTtcbiAgYXN5bmMgc3B4U2V0Rm9jdXMoKSB7XG4gICAgdGhpcy5wYXNzRm9jdXNUb0NvbnRyb2woKTtcbiAgfVxuXG4gIGhhbmRsZUJsdXIoKSB7XG4gICAgdGhpcy5zcHhCbHVyLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVDbGVhcigpIHtcbiAgICB0aGlzLnNweENsZWFyLmVtaXQoKTtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMucGFzc0ZvY3VzVG9Db250cm9sKCk7XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgdmFsdWU6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlRm9jdXMoKSB7XG4gICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgICAvLyB0aGlzLmVsQm94LnNweFNldEZvY3VzKCk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goKSB7XG4gICAgdGhpcy5zcHhTZWFyY2guZW1pdCgpO1xuICB9XG5cbiAgc2V0Rm9jdXMoKSB7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLnBhc3NGb2N1c1RvQ29udHJvbCgpO1xuICB9XG5cbiAgc2V0Rm9jdXNPdXQoKSB7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gZmFsc2U7XG4gIH1cblxuICBoYW5kbGVFZGl0KCkge1xuICAgIHRoaXMuc3B4RWRpdC5lbWl0KCk7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgfVxuICBcbiAgaGFuZGxlSGVscCgpIHtcbiAgICB0aGlzLnNweEhlbHAuZW1pdCgpO1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIHBhc3NGb2N1c1RvQ29udHJvbCgpIHtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gey8qKi99O1xuICBwcm90ZWN0ZWQgbGFzdFZhbHVlOiBhbnk7XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubGFzdFZhbHVlID0gdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWU7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2VFdmVudCh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xuICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcbiAgX2hhbmRsZUJsdXJFdmVudCgpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG59XG4iXX0=
408
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUF1SHpELE1BQU0sT0FBTyxpQkFBaUI7SUFySDlCO1FBc0hXLGFBQVEsR0FBVyxPQUFPLENBQUM7UUFJM0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcs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QUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQzJCLFNBQVM7c0JBQTFDLFNBQVM7dUJBQUMscUJBQXFCO2dCQUNHLFVBQVU7c0JBQTVDLFNBQVM7dUJBQUMsc0JBQXNCO2dCQUN4QixVQUFVO3NCQUFsQixLQUFLO2dCQWlGTixnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweElucHV0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTcHhJbnB1dERhdGVDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dEZsb2F0Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtZmxvYXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhJbnB1dFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IFNweElucHV0VHlwZUVudW0gfSBmcm9tICcuL3NweC1pbnB1dC10eXBlLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJyhzcHhDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZUV2ZW50KCRldmVudCknXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIFNweElucHV0Qm94Q29tcG9uZW50LFxuICAgIFNweElucHV0RGF0ZUNvbXBvbmVudCxcbiAgICBTcHhJbnB1dEZsb2F0Q29tcG9uZW50LFxuICAgIFNweElucHV0TnVtYmVyQ29tcG9uZW50LFxuICAgIFNweElucHV0UmFkaW9Db21wb25lbnQsXG4gICAgU3B4SW5wdXRUZXh0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBTcHhJbnB1dENvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICB0ZW1wbGF0ZTogYDxzcHgtaW5wdXQtYm94XG4gIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gIFtzcHhMYWJlbF09XCJ0aGlzLnNweExhYmVsXCJcbiAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICBbc3B4UmVxdWlyZWRdPVwidGhpcy5zcHhSZXF1aXJlZFwiXG4gIFtzcHhWYWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgW3NweFNob3dIZWxwXT1cInRoaXMuc3B4U2hvd0hlbHBcIlxuICBbc3B4Q29tcGFjdF09XCJ0aGlzLnNweENvbXBhY3RcIlxuICBbc3B4U2hvd0NsZWFyXT1cInRoaXMuc3B4U2hvd0NsZWFyXCJcbiAgW3NweFNob3dFZGl0XT1cInRoaXMuc3B4U2hvd0VkaXRcIlxuICBbc3B4U2hvd0xhYmVsXT1cInRoaXMuc3B4U2hvd0xhYmVsXCJcbiAgW3NweFNob3dTZWFyY2hdPVwidGhpcy5zcHhTaG93U2VhcmNoID8gdGhpcy5zcHhTaG93U2VhcmNoIDogdGhpcy5zcHhUeXBlID09PSAnYXV0b2NvbXBsZXRlJ1wiXG4gIFtzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzXT1cInRoaXMuc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc1wiXG4gIChzcHhDbGVhcik9XCJ0aGlzLmhhbmRsZUNsZWFyKClcIlxuICAoc3B4RWRpdCk9XCJ0aGlzLmhhbmRsZUVkaXQoKVwiXG4gIChzcHhIZWxwKT1cInRoaXMuaGFuZGxlSGVscCgpXCJcbiAgKHNweEZvY3VzKT1cInRoaXMuc2V0Rm9jdXNJbigpXCJcbiAgKHNweEZvY3VzT3V0KT1cInRoaXMuc2V0Rm9jdXNPdXQoKVwiXG4gIChzcHhTZWFyY2gpPVwidGhpcy5oYW5kbGVTZWFyY2goKVwiPlxuICA8ZGl2IGNvbnRyb2xzPlxuICAgIDxzcHgtaW5wdXQtdGV4dFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdhdXRvY29tcGxldGUnIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXknIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXludW1iZXInIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ3RleHQnIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ3Bhc3N3b3JkJ1wiXG4gICAgICAoc3B4Qmx1ckZyb21DaGlsZCk9XCJ0aGlzLmhhbmRsZUJsdXIoKVwiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcbiAgICAgIFtzcHhDYXBpdGFsaXplXT1cInRoaXMuc3B4Q2FwaXRhbGl6ZVwiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweElucHV0TW9kZV09XCJ0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyA/ICdudW1lcmljJyA6IHRoaXMuc3B4SW5wdXRNb2RlXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UGF0dGVybl09XCJ0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJyA/ICdbMC05XSonIDogdGhpcy5zcHhQYXR0ZXJuXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zXCJcbiAgICAgIFtzcHhUeXBlXT1cInRoaXMuc3B4VHlwZVwiXG4gICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxuICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxuICAgICAgPjwvc3B4LWlucHV0LXRleHQ+XG4gICAgPHNweC1pbnB1dC1kYXRlXG4gICAgICAqbmdJZj1cInRoaXMuc3B4VHlwZSA9PT0gJ2RhdGUnXCJcbiAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcbiAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gICAgICBbc3B4TWF4XT1cInRoaXMuc3B4TWF4XCJcbiAgICAgIFtzcHhNaW5dPVwidGhpcy5zcHhNaW5cIlxuICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgIFtzcHhTZWxlY3REYXldPVwidGhpcy5zcHhTZWxlY3REYXlcIlxuICAgICAgW3NweFNlbGVjdE1vbnRoXT1cInRoaXMuc3B4U2VsZWN0TW9udGhcIlxuICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcbiAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcbiAgICA+PC9zcHgtaW5wdXQtZGF0ZT5cbiAgICA8c3B4LWlucHV0LWZsb2F0XG4gICAgICAqbmdJZj1cInRoaXMuc3B4VHlwZSA9PT0gJ2Zsb2F0J1wiXG4gICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXG4gICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcbiAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgW3NweFN0ZXBdPVwidGhpcy5zcHhTdGVwXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LWZsb2F0PlxuICAgIDxzcHgtaW5wdXQtbnVtYmVyXG4gICAgICAqbmdJZj1cInRoaXMuc3B4VHlwZSA9PT0gJ251bWJlcidcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXG4gICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxuICAgICAgW3NweElucHV0TW9kZV09XCJ0aGlzLnNweElucHV0TW9kZVwiXG4gICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxuICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxuICAgICAgW3NweFN0ZXBdPVwidGhpcy5zcHhTdGVwXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LW51bWJlcj5cbiAgICA8c3B4LWlucHV0LXJhZGlvXG4gICAgICAjcmFkaW9JbnB1dFxuICAgICAgKm5nSWY9XCJ0aGlzLnNweFR5cGUgPT09ICdyYWRpbydcIlxuICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcbiAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXG4gICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgICBbc3B4U2hvd0xhYmVsXT1cInRoaXMuc3B4U2hvd0xhYmVsXCJcbiAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zXCJcbiAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXG4gICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXG4gICAgPjwvc3B4LWlucHV0LXJhZGlvPlxuICA8L2Rpdj5cbiAgPGRpdiB2YWxpZGF0aW9uLW1lc3NhZ2VzPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L3NweC1pbnB1dC1ib3g+YCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSBzcHhMYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcbiAgQElucHV0KCkgc3B4TWF4Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhNaW4/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweEF1dG9mb2N1cyA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhJbnB1dE1vZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFBhdHRlcm4/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNlbGVjdE1vbnRoID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4U2VsZWN0RGF5ID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4U2hvd0VkaXQgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd0hlbHAgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4U2hvd0xhYmVsID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4Q29tcGFjdCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTaG93Q2xlYXIgPSB0cnVlO1xuICBASW5wdXQoKSBzcHhTaG93U2VhcmNoID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dWYWxpZGF0aW9uTWVzc2FnZXM/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhTdGVwPzogbnVtYmVyO1xuICBASW5wdXQoKSBzcHhTdWdnZXN0aW9uczogU3B4VmFsdWVQYWlyPGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmc+W10gPSBbXTtcbiAgQElucHV0KCkgc3B4VHlwZTogU3B4SW5wdXRUeXBlRW51bSA9IFNweElucHV0VHlwZUVudW0udGV4dDtcbiAgQElucHV0KCkgc3B4VmFsaWRhdG9ycyE6IGFueVtdO1xuICBASW5wdXQoKSB2YWx1ZSE6IFNweFZhbHVlUGFpcjxhbnk+O1xuICBASW5wdXQoKSBzcHhDYXBpdGFsaXplID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBzcHhCbHVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhDbGVhcjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4oKTtcbiAgQE91dHB1dCgpIHNweEZvY3VzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhFZGl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhIZWxwOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2g6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQFZpZXdDaGlsZChTcHhJbnB1dFRleHRDb21wb25lbnQpIHRleHRJbnB1dD86IFNweElucHV0VGV4dENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChTcHhJbnB1dFJhZGlvQ29tcG9uZW50KSByYWRpb0lucHV0PzogU3B4SW5wdXRSYWRpb0NvbXBvbmVudDtcbiAgQElucHV0KCkgc3B4Rm9jdXNlZCA9IGZhbHNlO1xuICBoYW5kbGVCbHVyKCkge1xuICAgIHRoaXMuc3B4Qmx1ci5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSBldmVudDtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlQ2xlYXIoKSB7XG4gICAgdGhpcy5zcHhDbGVhci5lbWl0KCk7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgICB0aGlzLnBhc3NGb2N1c1RvQ29udHJvbCgpO1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBkZXNjcmlwdGlvbjogbnVsbCxcbiAgICAgIHZhbHVlOiBudWxsLFxuICAgIH07XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzKCkge1xuICAgIHRoaXMuc3B4Rm9jdXMuZW1pdCgpO1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goKSB7XG4gICAgdGhpcy5zcHhTZWFyY2guZW1pdCgpO1xuICB9XG5cbiAgc2V0Rm9jdXNJbigpIHtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMucGFzc0ZvY3VzVG9Db250cm9sKCk7XG4gIH1cblxuICBzZXRGb2N1c091dCgpIHtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5zcHhUeXBlID09PSBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvKSB7XG4gICAgICB0aGlzLnJhZGlvSW5wdXQ/LnNweEZvY3VzT3V0KCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRWRpdCgpIHtcbiAgICB0aGlzLnNweEVkaXQuZW1pdCgpO1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gIH1cbiAgXG4gIGhhbmRsZUhlbHAoKSB7XG4gICAgdGhpcy5zcHhIZWxwLmVtaXQoKTtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXNzRm9jdXNUb0NvbnRyb2woKSB7XG4gICAgc3dpdGNoICh0aGlzLnNweFR5cGUpIHtcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGU6XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0udGV4dDpcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS5vdmVybGF5TnVtYmVyOlxuICAgICAgICB0aGlzLnRleHRJbnB1dD8uc3B4U2V0Rm9jdXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0ucmFkaW86XG4gICAgICAgIHRoaXMucmFkaW9JbnB1dD8uc3B4Rm9jdXNJbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4gey8qKi99O1xuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHsvKiovfTtcbiAgcHJvdGVjdGVkIGxhc3RWYWx1ZTogYW55O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlRXZlbnQodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5sYXN0VmFsdWUpIHtcbiAgICAgIHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXG4gIF9oYW5kbGVCbHVyRXZlbnQoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxufVxuIl19
@@ -1,12 +1,16 @@
1
- import { NgClass } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
1
+ import { NgClass, NgIf } from '@angular/common';
2
+ import { Component, Input, ViewChild } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class SpxHomeTileComponent {
5
+ setFocus() {
6
+ this.buttonRef?.nativeElement.focus();
7
+ }
5
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxHomeTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxHomeTileComponent, isStandalone: true, selector: "spx-home-tile", inputs: { spxClass: "spxClass", spxTitle: "spxTitle" }, ngImport: i0, template: `<button
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxHomeTileComponent, isStandalone: true, selector: "spx-home-tile", inputs: { spxAutofocus: "spxAutofocus", spxClass: "spxClass", spxSubtitle: "spxSubtitle", spxTitle: "spxTitle" }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["button"], descendants: true }], ngImport: i0, template: `<button #button
7
10
  class="border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2"
8
11
  type="button"
9
12
  part="button"
13
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
10
14
  [class.bg-blue-600]="!this.spxClass"
11
15
  [class.focus:ring-blue-500]="!this.spxClass"
12
16
  [class.hover:bg-blue-800]="!this.spxClass"
@@ -14,9 +18,12 @@ export class SpxHomeTileComponent {
14
18
  [ngClass]="this.spxClass ? this.spxClass : undefined">
15
19
  <div class="flex gap-3 items-center">
16
20
  <div class="fal my-2.5 self-center text-xl"><ng-content></ng-content></div>
17
- <div class="grow text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
21
+ <div class="grow flex flex-col text-left">
22
+ <div class="text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
23
+ <div *ngIf="this.spxSubtitle" class="text-sm opacity-70 text-ellipsis overflow-hidden">{{ this.spxSubtitle }}</div>
24
+ </div>
18
25
  </div>
19
- </button>`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
26
+ </button>`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
20
27
  }
21
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxHomeTileComponent, decorators: [{
22
29
  type: Component,
@@ -24,12 +31,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
24
31
  selector: 'spx-home-tile',
25
32
  standalone: true,
26
33
  imports: [
27
- NgClass
34
+ NgClass,
35
+ NgIf,
28
36
  ],
29
- template: `<button
37
+ template: `<button #button
30
38
  class="border border-transparent flex flex-col w-full px-4 py-2 relative rounded text-center focus:outline-none focus:ring-2 focus:ring-offset-2"
31
39
  type="button"
32
40
  part="button"
41
+ [attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
33
42
  [class.bg-blue-600]="!this.spxClass"
34
43
  [class.focus:ring-blue-500]="!this.spxClass"
35
44
  [class.hover:bg-blue-800]="!this.spxClass"
@@ -37,13 +46,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
37
46
  [ngClass]="this.spxClass ? this.spxClass : undefined">
38
47
  <div class="flex gap-3 items-center">
39
48
  <div class="fal my-2.5 self-center text-xl"><ng-content></ng-content></div>
40
- <div class="grow text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
49
+ <div class="grow flex flex-col text-left">
50
+ <div class="text-lg font-bold text-ellipsis overflow-hidden">{{ this.spxTitle }}</div>
51
+ <div *ngIf="this.spxSubtitle" class="text-sm opacity-70 text-ellipsis overflow-hidden">{{ this.spxSubtitle }}</div>
52
+ </div>
41
53
  </div>
42
54
  </button>`,
43
55
  }]
44
- }], propDecorators: { spxClass: [{
56
+ }], propDecorators: { spxAutofocus: [{
57
+ type: Input
58
+ }], spxClass: [{
59
+ type: Input
60
+ }], spxSubtitle: [{
45
61
  type: Input
46
62
  }], spxTitle: [{
47
63
  type: Input
64
+ }], buttonRef: [{
65
+ type: ViewChild,
66
+ args: ['button']
48
67
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWhvbWUtdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LWhvbWUtdGlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXVCakQsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9CO2tHQUFwQixvQkFBb0IsaUlBZnJCOzs7Ozs7Ozs7Ozs7O1VBYUYsNERBZk4sT0FBTzs7MkZBaUJFLG9CQUFvQjtrQkFyQmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsT0FBTztxQkFDUjtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7VUFhRjtpQkFDVDs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWhvbWUtdGlsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGJ1dHRvblxuICBjbGFzcz1cImJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgZmxleCBmbGV4LWNvbCB3LWZ1bGwgcHgtNCBweS0yIHJlbGF0aXZlIHJvdW5kZWQgdGV4dC1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLW9mZnNldC0yXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIHBhcnQ9XCJidXR0b25cIlxuICBbY2xhc3MuYmctYmx1ZS02MDBdPVwiIXRoaXMuc3B4Q2xhc3NcIlxuICBbY2xhc3MuZm9jdXM6cmluZy1ibHVlLTUwMF09XCIhdGhpcy5zcHhDbGFzc1wiXG4gIFtjbGFzcy5ob3ZlcjpiZy1ibHVlLTgwMF09XCIhdGhpcy5zcHhDbGFzc1wiXG4gIFtjbGFzcy50ZXh0LXdoaXRlXT1cIiF0aGlzLnNweENsYXNzXCJcbiAgW25nQ2xhc3NdPVwidGhpcy5zcHhDbGFzcyA/IHRoaXMuc3B4Q2xhc3MgOiB1bmRlZmluZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTMgaXRlbXMtY2VudGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZhbCBteS0yLjUgc2VsZi1jZW50ZXIgdGV4dC14bFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdyB0ZXh0LWxnIGZvbnQtYm9sZCB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlblwiPnt7IHRoaXMuc3B4VGl0bGUgfX08L2Rpdj5cbiAgPC9kaXY+XG48L2J1dHRvbj5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhIb21lVGlsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNweENsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhUaXRsZT86IHN0cmluZztcbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWhvbWUtdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LWhvbWUtdGlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBNEJ4RSxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQVRVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGdTQW5CckI7Ozs7Ozs7Ozs7Ozs7Ozs7O1VBaUJGLDREQXBCTixPQUFPLG9GQUNQLElBQUk7OzJGQXFCSyxvQkFBb0I7a0JBMUJoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTtxQkFDTDtvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O1VBaUJGO2lCQUNUOzhCQUVVLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ3VCLFNBQVM7c0JBQXJDLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1ob21lLXRpbGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBOZ0lmLFxuICBdLFxuICB0ZW1wbGF0ZTogYDxidXR0b24gI2J1dHRvblxuICBjbGFzcz1cImJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgZmxleCBmbGV4LWNvbCB3LWZ1bGwgcHgtNCBweS0yIHJlbGF0aXZlIHJvdW5kZWQgdGV4dC1jZW50ZXIgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLW9mZnNldC0yXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIHBhcnQ9XCJidXR0b25cIlxuICBbYXR0ci5hdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXMgPyB0aGlzLnNweEF1dG9mb2N1cyA6IHVuZGVmaW5lZFwiXG4gIFtjbGFzcy5iZy1ibHVlLTYwMF09XCIhdGhpcy5zcHhDbGFzc1wiXG4gIFtjbGFzcy5mb2N1czpyaW5nLWJsdWUtNTAwXT1cIiF0aGlzLnNweENsYXNzXCJcbiAgW2NsYXNzLmhvdmVyOmJnLWJsdWUtODAwXT1cIiF0aGlzLnNweENsYXNzXCJcbiAgW2NsYXNzLnRleHQtd2hpdGVdPVwiIXRoaXMuc3B4Q2xhc3NcIlxuICBbbmdDbGFzc109XCJ0aGlzLnNweENsYXNzID8gdGhpcy5zcHhDbGFzcyA6IHVuZGVmaW5lZFwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMyBpdGVtcy1jZW50ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmFsIG15LTIuNSBzZWxmLWNlbnRlciB0ZXh0LXhsXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJncm93IGZsZXggZmxleC1jb2wgdGV4dC1sZWZ0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZyBmb250LWJvbGQgdGV4dC1lbGxpcHNpcyBvdmVyZmxvdy1oaWRkZW5cIj57eyB0aGlzLnNweFRpdGxlIH19PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5zcHhTdWJ0aXRsZVwiIGNsYXNzPVwidGV4dC1zbSBvcGFjaXR5LTcwIHRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuXCI+e3sgdGhpcy5zcHhTdWJ0aXRsZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYnV0dG9uPmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweEhvbWVUaWxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3B4QXV0b2ZvY3VzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3B4Q2xhc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFN1YnRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhUaXRsZT86IHN0cmluZztcbiAgQFZpZXdDaGlsZCgnYnV0dG9uJykgcHJpdmF0ZSBidXR0b25SZWY/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvblJlZj8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWNvbW1vbi10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3B4TmF2aWdhdGlvbkl0ZW1JIHtcbiAgICBhY2Nlc3NLZXk/OiBzdHJpbmc7XG4gICAgYWNjZXNzS2V5SW50cm9kdWNlZEluUGF0Y2hlcz86IHsgcmVsZWFzZTogc3RyaW5nOyBwYXRjaEF0TGVhc3Q6IG51bWJlcjsgfVtdO1xuICAgIGF0dHJpYnV0ZXM/OiBvYmplY3Q7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIGhhc1RhYj86IGJvb2xlYW47XG4gICAgaGFzVGlsZT86IGJvb2xlYW47XG4gICAgaWNvbjogSWNvbkRlZmluaXRpb247XG4gICAgaWNvblRhYj86IEljb25EZWZpbml0aW9uO1xuICAgIGljb25TaG9ydGN1dD86IEljb25EZWZpbml0aW9uO1xuICAgIHJvdXRlckxpbms6IHN0cmluZztcbiAgICBzaWduSW5SZXF1aXJlZD86IGJvb2xlYW47XG4gICAgdGlsZUNsYXNzZXM/OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjdXJyZW50U2V0dGluZ3NSZXF1aXJlZD86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW5hdmlnYXRpb24vc3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25EZWZpbml0aW9uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWNvbW1vbi10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3B4TmF2aWdhdGlvbkl0ZW1JIHtcbiAgICBhY2Nlc3NLZXk/OiBzdHJpbmc7XG4gICAgYWNjZXNzS2V5SW50cm9kdWNlZEluUGF0Y2hlcz86IHsgcmVsZWFzZTogc3RyaW5nOyBwYXRjaEF0TGVhc3Q6IG51bWJlcjsgfVtdO1xuICAgIGF0dHJpYnV0ZXM/OiBvYmplY3Q7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIGhhc1RhYj86IGJvb2xlYW47XG4gICAgaGFzVGlsZT86IGJvb2xlYW47XG4gICAgaWNvbjogSWNvbkRlZmluaXRpb247XG4gICAgaWNvblRhYj86IEljb25EZWZpbml0aW9uO1xuICAgIGljb25TaG9ydGN1dD86IEljb25EZWZpbml0aW9uO1xuICAgIHJvdXRlckxpbms6IHN0cmluZztcbiAgICBzaWduSW5SZXF1aXJlZD86IGJvb2xlYW47XG4gICAgdGlsZUNsYXNzZXM/OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRlPzogc3RyaW5nO1xuICAgIGN1cnJlbnRTZXR0aW5nc1JlcXVpcmVkPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, ContentChild, EventEmitter, Input, Output, ViewChildren } from '@angular/core';
2
2
  import { CommonModule, NgFor } from '@angular/common';
3
3
  import { TranslateModule } from '@ngx-translate/core';
4
4
  import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
@@ -14,11 +14,14 @@ export class SpxNavigationComponent {
14
14
  this.navItems = [];
15
15
  this.spxClick = new EventEmitter();
16
16
  }
17
+ setFocus() {
18
+ this.tiles?.first.setFocus();
19
+ }
17
20
  onNavigate(link) {
18
21
  this.spxClick.emit(link);
19
22
  }
20
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxNavigationComponent, isStandalone: true, selector: "spx-navigation", inputs: { navItems: "navItems" }, outputs: { spxClick: "spxClick" }, queries: [{ propertyName: "iconTemplateRef", first: true, predicate: ["icon"], descendants: true }], ngImport: i0, template: "<spx-home-tiles>\n <spx-home-tile *ngFor=\"let item of navItems\" (click)=\"onNavigate(item.routerLink)\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\" [spxTitle]=\"item.title | translate | capitalize\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n</spx-home-tiles>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxHomeTilesComponent, selector: "spx-home-tiles" }, { kind: "component", type: SpxHomeTileComponent, selector: "spx-home-tile", inputs: ["spxClass", "spxTitle"] }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxNavigationComponent, isStandalone: true, selector: "spx-navigation", inputs: { navItems: "navItems" }, outputs: { spxClick: "spxClick" }, queries: [{ propertyName: "iconTemplateRef", first: true, predicate: ["icon"], descendants: true }], viewQueries: [{ propertyName: "tiles", predicate: ["tiles"], descendants: true }], ngImport: i0, template: "<spx-home-tiles>\n <spx-home-tile #tiles *ngFor=\"let item of navItems; let i = index\" (click)=\"onNavigate(item.routerLink)\"\n [spxAutofocus]=\"i === 0\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\n [spxTitle]=\"item.title | translate | capitalize\"\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n</spx-home-tiles>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxHomeTilesComponent, selector: "spx-home-tiles" }, { kind: "component", type: SpxHomeTileComponent, selector: "spx-home-tile", inputs: ["spxAutofocus", "spxClass", "spxSubtitle", "spxTitle"] }] }); }
22
25
  }
23
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxNavigationComponent, decorators: [{
24
27
  type: Component,
@@ -30,8 +33,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
30
33
  SpxHomeTilesComponent,
31
34
  SpxHomeTileComponent,
32
35
  NgFor,
33
- ], template: "<spx-home-tiles>\n <spx-home-tile *ngFor=\"let item of navItems\" (click)=\"onNavigate(item.routerLink)\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\" [spxTitle]=\"item.title | translate | capitalize\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n</spx-home-tiles>\n" }]
34
- }], ctorParameters: () => [], propDecorators: { iconTemplateRef: [{
36
+ ], template: "<spx-home-tiles>\n <spx-home-tile #tiles *ngFor=\"let item of navItems; let i = index\" (click)=\"onNavigate(item.routerLink)\"\n [spxAutofocus]=\"i === 0\"\n [spxClass]=\"item.tileClasses ? item.tileClasses : undefined\"\n [spxTitle]=\"item.title | translate | capitalize\"\n [spxSubtitle]=\"item.subtite ? (item.subtite | translate | capitalize) : undefined\">\n <fa-icon [icon]=\"item.icon\"></fa-icon>\n </spx-home-tile>\n</spx-home-tiles>\n" }]
37
+ }], ctorParameters: () => [], propDecorators: { tiles: [{
38
+ type: ViewChildren,
39
+ args: ['tiles']
40
+ }], iconTemplateRef: [{
35
41
  type: ContentChild,
36
42
  args: ['icon', { static: false }]
37
43
  }], navItems: [{
@@ -39,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
39
45
  }], spxClick: [{
40
46
  type: Output
41
47
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1uYXZpZ2F0aW9uL3NweC1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtbmF2aWdhdGlvbi9zcHgtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFnQmpFLE1BQU0sT0FBTyxzQkFBc0I7SUFLakM7UUFIUyxhQUFRLEdBQXlCLEVBQUUsQ0FBQztRQUNuQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFHbkUsQ0FBQztJQUVHLFVBQVUsQ0FBQyxJQUFZO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7OEdBVlUsc0JBQXNCO2tHQUF0QixzQkFBc0Isb1BDdkJuQywyVEFNQSwyQ0RRSSxZQUFZLDJKQUNaLGVBQWUsMkZBQ2YsaUJBQWlCLDhSQUNqQixpQkFBaUIsbURBQ2pCLHFCQUFxQiwyREFDckIsb0JBQW9COzsyRkFJWCxzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBRWQsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLEtBQUs7cUJBQ047d0RBR3FDLGVBQWU7c0JBQXBELFlBQVk7dUJBQUMsTUFBTSxFQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFDM0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweE5hdmlnYXRpb25JdGVtSSB9IGZyb20gJy4vc3B4LW5hdmlnYXRpb24taXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgU3B4Q2FwaXRhbGl6ZVBpcGUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1jYXBpdGFsaXplJztcbmltcG9ydCB7IFNweEhvbWVUaWxlc0NvbXBvbmVudCB9IGZyb20gJy4vc3B4LWhvbWUtdGlsZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFNweEhvbWVUaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaG9tZS10aWxlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1uYXZpZ2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NweC1uYXZpZ2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXG4gICAgU3B4Q2FwaXRhbGl6ZVBpcGUsXG4gICAgU3B4SG9tZVRpbGVzQ29tcG9uZW50LFxuICAgIFNweEhvbWVUaWxlQ29tcG9uZW50LFxuICAgIE5nRm9yLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgQENvbnRlbnRDaGlsZCgnaWNvbicse3N0YXRpYzogZmFsc2V9KSBpY29uVGVtcGxhdGVSZWY/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBuYXZJdGVtczogU3B4TmF2aWdhdGlvbkl0ZW1JW10gPSBbXTtcbiAgQE91dHB1dCgpIHNweENsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHt9XG5cbiAgcHVibGljIG9uTmF2aWdhdGUobGluazogc3RyaW5nKSB7XG4gICAgdGhpcy5zcHhDbGljay5lbWl0KGxpbmspO1xuICB9XG59XG4iLCI8c3B4LWhvbWUtdGlsZXM+XG4gIDxzcHgtaG9tZS10aWxlICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdkl0ZW1zXCIgKGNsaWNrKT1cIm9uTmF2aWdhdGUoaXRlbS5yb3V0ZXJMaW5rKVwiXG4gICAgW3NweENsYXNzXT1cIml0ZW0udGlsZUNsYXNzZXMgPyBpdGVtLnRpbGVDbGFzc2VzIDogdW5kZWZpbmVkXCIgW3NweFRpdGxlXT1cIml0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplXCI+XG4gICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxuICA8L3NweC1ob21lLXRpbGU+XG48L3NweC1ob21lLXRpbGVzPlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1uYXZpZ2F0aW9uL3NweC1uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtbmF2aWdhdGlvbi9zcHgtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBMEIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNILE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQWdCakUsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQztRQUhTLGFBQVEsR0FBeUIsRUFBRSxDQUFDO1FBQ25DLGFBQVEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUduRSxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWTtRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOzhHQWZVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHVVQ3ZCbkMsZ2RBU0EsMkNES0ksWUFBWSwySkFDWixlQUFlLDJGQUNmLGlCQUFpQiw4UkFDakIsaUJBQWlCLG1EQUNqQixxQkFBcUIsMkRBQ3JCLG9CQUFvQjs7MkZBSVgsc0JBQXNCO2tCQWRsQyxTQUFTOytCQUNFLGdCQUFnQixjQUVkLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixLQUFLO3FCQUNOO3dEQUdzQixLQUFLO3NCQUEzQixZQUFZO3VCQUFDLE9BQU87Z0JBQ2lCLGVBQWU7c0JBQXBELFlBQVk7dUJBQUMsTUFBTSxFQUFDLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFDM0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhOYXZpZ2F0aW9uSXRlbUkgfSBmcm9tICcuL3NweC1uYXZpZ2F0aW9uLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IFNweENhcGl0YWxpemVQaXBlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtY2FwaXRhbGl6ZSc7XG5pbXBvcnQgeyBTcHhIb21lVGlsZXNDb21wb25lbnQgfSBmcm9tICcuL3NweC1ob21lLXRpbGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcHhIb21lVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vc3B4LWhvbWUtdGlsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtbmF2aWdhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvbnRBd2Vzb21lTW9kdWxlLFxuICAgIFNweENhcGl0YWxpemVQaXBlLFxuICAgIFNweEhvbWVUaWxlc0NvbXBvbmVudCxcbiAgICBTcHhIb21lVGlsZUNvbXBvbmVudCxcbiAgICBOZ0ZvcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B4TmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGRyZW4oJ3RpbGVzJykgdGlsZXM/OiBRdWVyeUxpc3Q8U3B4SG9tZVRpbGVDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkKCdpY29uJyx7c3RhdGljOiBmYWxzZX0pIGljb25UZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIG5hdkl0ZW1zOiBTcHhOYXZpZ2F0aW9uSXRlbUlbXSA9IFtdO1xuICBAT3V0cHV0KCkgc3B4Q2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICkge31cblxuICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnRpbGVzPy5maXJzdC5zZXRGb2N1cygpO1xuICB9XG5cbiAgb25OYXZpZ2F0ZShsaW5rOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNweENsaWNrLmVtaXQobGluayk7XG4gIH1cbn1cbiIsIjxzcHgtaG9tZS10aWxlcz5cbiAgPHNweC1ob21lLXRpbGUgI3RpbGVzICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdkl0ZW1zOyBsZXQgaSA9IGluZGV4XCIgKGNsaWNrKT1cIm9uTmF2aWdhdGUoaXRlbS5yb3V0ZXJMaW5rKVwiXG4gICAgW3NweEF1dG9mb2N1c109XCJpID09PSAwXCJcbiAgICBbc3B4Q2xhc3NdPVwiaXRlbS50aWxlQ2xhc3NlcyA/IGl0ZW0udGlsZUNsYXNzZXMgOiB1bmRlZmluZWRcIlxuICAgIFtzcHhUaXRsZV09XCJpdGVtLnRpdGxlIHwgdHJhbnNsYXRlIHwgY2FwaXRhbGl6ZVwiXG4gICAgW3NweFN1YnRpdGxlXT1cIml0ZW0uc3VidGl0ZSA/IChpdGVtLnN1YnRpdGUgfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplKSA6IHVuZGVmaW5lZFwiPlxuICAgIDxmYS1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiPjwvZmEtaWNvbj5cbiAgPC9zcHgtaG9tZS10aWxlPlxuPC9zcHgtaG9tZS10aWxlcz5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './spx-number-check.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtbnVtYmVyLWNoZWNrL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3B4LW51bWJlci1jaGVjay5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1udW1iZXItY2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LW51bWJlci1jaGVjay9zb2Z0cGFrLWNvbXBvbmVudHMtc3B4LW51bWJlci1jaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19