@skyux/forms 11.0.0-alpha.8 → 11.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/documentation.json +3835 -4255
  2. package/esm2022/index.mjs +14 -11
  3. package/esm2022/lib/modules/checkbox/checkbox.component.mjs +19 -25
  4. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-change.mjs +2 -0
  5. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-click.mjs +2 -0
  6. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs +32 -0
  7. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +485 -0
  8. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.module.mjs +24 -0
  9. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.service.mjs +103 -0
  10. package/esm2022/lib/modules/file-attachment/file-attachments.module.mjs +10 -73
  11. package/esm2022/lib/modules/file-attachment/file-drop/file-drop-change.mjs +2 -0
  12. package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +336 -0
  13. package/esm2022/lib/modules/file-attachment/file-drop/file-drop.module.mjs +18 -0
  14. package/esm2022/lib/modules/file-attachment/file-drop/file-item.component.mjs +163 -0
  15. package/esm2022/lib/modules/file-attachment/file-drop/file-link.mjs +2 -0
  16. package/esm2022/lib/modules/file-attachment/shared/file-item-error-type.mjs +2 -0
  17. package/esm2022/lib/modules/file-attachment/shared/file-item.mjs +2 -0
  18. package/esm2022/lib/modules/file-attachment/shared/file-item.service.mjs +71 -0
  19. package/esm2022/lib/modules/file-attachment/shared/file-size.pipe.mjs +61 -0
  20. package/esm2022/lib/modules/file-attachment/shared/file-validate-function.mjs +2 -0
  21. package/esm2022/lib/modules/input-box/input-box.component.mjs +18 -23
  22. package/esm2022/lib/modules/radio/radio-group.component.mjs +16 -23
  23. package/esm2022/lib/modules/radio/radio.component.mjs +15 -22
  24. package/esm2022/lib/modules/shared/form-field-label-text-required.directive.mjs +37 -0
  25. package/esm2022/lib/modules/shared/form-field-label-text-required.service.mjs +6 -4
  26. package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +14 -21
  27. package/fesm2022/skyux-forms.mjs +264 -269
  28. package/fesm2022/skyux-forms.mjs.map +1 -1
  29. package/index.d.ts +21 -18
  30. package/lib/modules/checkbox/checkbox.component.d.ts +4 -5
  31. package/lib/modules/file-attachment/{types → file-attachment}/file-attachment-change.d.ts +1 -1
  32. package/lib/modules/file-attachment/{types → file-attachment}/file-attachment-click.d.ts +1 -1
  33. package/lib/modules/file-attachment/{file-attachment-label.component.d.ts → file-attachment/file-attachment-label.component.d.ts} +7 -5
  34. package/lib/modules/file-attachment/{file-attachment.component.d.ts → file-attachment/file-attachment.component.d.ts} +8 -8
  35. package/lib/modules/file-attachment/file-attachment/file-attachment.module.d.ts +9 -0
  36. package/lib/modules/file-attachment/{file-attachment.service.d.ts → file-attachment/file-attachment.service.d.ts} +2 -2
  37. package/lib/modules/file-attachment/file-attachments.module.d.ts +6 -15
  38. package/lib/modules/file-attachment/{types → file-drop}/file-drop-change.d.ts +1 -1
  39. package/lib/modules/file-attachment/{file-drop.component.d.ts → file-drop/file-drop.component.d.ts} +7 -8
  40. package/lib/modules/file-attachment/file-drop/file-drop.module.d.ts +9 -0
  41. package/lib/modules/file-attachment/{file-item.component.d.ts → file-drop/file-item.component.d.ts} +3 -3
  42. package/lib/modules/file-attachment/{file-size.pipe.d.ts → shared/file-size.pipe.d.ts} +2 -3
  43. package/lib/modules/input-box/input-box.component.d.ts +2 -3
  44. package/lib/modules/radio/radio-group.component.d.ts +4 -5
  45. package/lib/modules/radio/radio.component.d.ts +4 -5
  46. package/lib/modules/shared/form-field-label-text-required.directive.d.ts +14 -0
  47. package/lib/modules/shared/form-field-label-text-required.service.d.ts +2 -1
  48. package/lib/modules/toggle-switch/toggle-switch.component.d.ts +4 -5
  49. package/package.json +9 -9
  50. package/esm2022/lib/modules/file-attachment/file-attachment-label.component.mjs +0 -28
  51. package/esm2022/lib/modules/file-attachment/file-attachment.component.mjs +0 -475
  52. package/esm2022/lib/modules/file-attachment/file-attachment.service.mjs +0 -103
  53. package/esm2022/lib/modules/file-attachment/file-drop.component.mjs +0 -328
  54. package/esm2022/lib/modules/file-attachment/file-item-error-type.mjs +0 -2
  55. package/esm2022/lib/modules/file-attachment/file-item.component.mjs +0 -155
  56. package/esm2022/lib/modules/file-attachment/file-item.mjs +0 -2
  57. package/esm2022/lib/modules/file-attachment/file-item.service.mjs +0 -70
  58. package/esm2022/lib/modules/file-attachment/file-link.mjs +0 -2
  59. package/esm2022/lib/modules/file-attachment/file-size.pipe.mjs +0 -61
  60. package/esm2022/lib/modules/file-attachment/file-validate-function.mjs +0 -2
  61. package/esm2022/lib/modules/file-attachment/types/file-attachment-change.mjs +0 -2
  62. package/esm2022/lib/modules/file-attachment/types/file-attachment-click.mjs +0 -2
  63. package/esm2022/lib/modules/file-attachment/types/file-drop-change.mjs +0 -2
  64. /package/lib/modules/file-attachment/{file-link.d.ts → file-drop/file-link.d.ts} +0 -0
  65. /package/lib/modules/file-attachment/{file-item-error-type.d.ts → shared/file-item-error-type.d.ts} +0 -0
  66. /package/lib/modules/file-attachment/{file-item.d.ts → shared/file-item.d.ts} +0 -0
  67. /package/lib/modules/file-attachment/{file-item.service.d.ts → shared/file-item.service.d.ts} +0 -0
  68. /package/lib/modules/file-attachment/{file-validate-function.d.ts → shared/file-validate-function.d.ts} +0 -0
package/esm2022/index.mjs CHANGED
@@ -1,10 +1,12 @@
1
1
  export { SkyCharacterCounterModule } from './lib/modules/character-counter/character-counter.module';
2
2
  export { SkyCheckboxModule } from './lib/modules/checkbox/checkbox.module';
3
3
  export { SkyFieldGroupModule } from './lib/modules/field-group/field-group.module';
4
+ export { SkyFileAttachmentModule } from './lib/modules/file-attachment/file-attachment/file-attachment.module';
4
5
  export { SkyFileAttachmentsModule } from './lib/modules/file-attachment/file-attachments.module';
5
- export { SkyFileSizePipe } from './lib/modules/file-attachment/file-size.pipe';
6
- export { SkyFormErrorsModule } from './lib/modules/form-error/form-errors.module';
6
+ export { SkyFileDropModule } from './lib/modules/file-attachment/file-drop/file-drop.module';
7
+ export { SkyFileSizePipe } from './lib/modules/file-attachment/shared/file-size.pipe';
7
8
  export { SkyFormErrorModule } from './lib/modules/form-error/form-error.module';
9
+ export { SkyFormErrorsModule } from './lib/modules/form-error/form-errors.module';
8
10
  export { SkyInputBoxHostService } from './lib/modules/input-box/input-box-host.service';
9
11
  export { SkyInputBoxModule } from './lib/modules/input-box/input-box.module';
10
12
  export { SkyRadioModule } from './lib/modules/radio/radio.module';
@@ -12,25 +14,26 @@ export { SkyRequiredStateDirective } from './lib/modules/required-state/required
12
14
  export { SkySelectionBoxModule } from './lib/modules/selection-box/selection-box.module';
13
15
  export { SkyToggleSwitchModule } from './lib/modules/toggle-switch/toggle-switch.module';
14
16
  export { SKY_FORM_ERRORS_ENABLED } from './lib/modules/form-error/form-errors-enabled-token';
17
+ export { SkyFormFieldLabelTextRequiredDirective } from './lib/modules/shared/form-field-label-text-required.directive';
15
18
  export { SkyFormFieldLabelTextRequiredService } from './lib/modules/shared/form-field-label-text-required.service';
16
19
  // Components and directives must be exported to support Angular's "partial" Ivy compiler.
17
20
  // Obscure names are used to indicate types are not part of the public API.
18
21
  export { SkyCharacterCounterIndicatorComponent as λ1 } from './lib/modules/character-counter/character-counter-indicator.component';
19
- export { SkyCharacterCounterInputDirective as λ2 } from './lib/modules/character-counter/character-counter.directive';
20
22
  export { SkyCharacterCounterScreenReaderPipe as λ23 } from './lib/modules/character-counter/character-counter-screen-reader.pipe';
23
+ export { SkyCharacterCounterInputDirective as λ2 } from './lib/modules/character-counter/character-counter.directive';
24
+ export { SkyCheckboxGroupComponent as λ24 } from './lib/modules/checkbox/checkbox-group.component';
21
25
  export { SkyCheckboxLabelComponent as λ4 } from './lib/modules/checkbox/checkbox-label.component';
22
26
  export { SkyCheckboxComponent as λ3 } from './lib/modules/checkbox/checkbox.component';
23
- export { SkyCheckboxGroupComponent as λ24 } from './lib/modules/checkbox/checkbox-group.component';
24
27
  export { SkyFieldGroupComponent as λ25 } from './lib/modules/field-group/field-group.component';
25
- export { SkyFileAttachmentLabelComponent as λ6 } from './lib/modules/file-attachment/file-attachment-label.component';
26
- export { SkyFileAttachmentComponent as λ7 } from './lib/modules/file-attachment/file-attachment.component';
27
- export { SkyFileDropComponent as λ8 } from './lib/modules/file-attachment/file-drop.component';
28
- export { SkyFileItemComponent as λ9 } from './lib/modules/file-attachment/file-item.component';
29
- export { SkyFormErrorsComponent as λ21 } from './lib/modules/form-error/form-errors.component';
28
+ export { SkyFileAttachmentLabelComponent as λ6 } from './lib/modules/file-attachment/file-attachment/file-attachment-label.component';
29
+ export { SkyFileAttachmentComponent as λ7 } from './lib/modules/file-attachment/file-attachment/file-attachment.component';
30
+ export { SkyFileDropComponent as λ8 } from './lib/modules/file-attachment/file-drop/file-drop.component';
31
+ export { SkyFileItemComponent as λ9 } from './lib/modules/file-attachment/file-drop/file-item.component';
30
32
  export { SkyFormErrorComponent as λ22 } from './lib/modules/form-error/form-error.component';
33
+ export { SkyFormErrorsComponent as λ21 } from './lib/modules/form-error/form-errors.component';
31
34
  export { SkyInputBoxControlDirective as λ20 } from './lib/modules/input-box/input-box-control.directive';
32
- export { SkyInputBoxComponent as λ10 } from './lib/modules/input-box/input-box.component';
33
35
  export { SkyInputBoxHintTextPipe as λ26 } from './lib/modules/input-box/input-box-hint-text.pipe';
36
+ export { SkyInputBoxComponent as λ10 } from './lib/modules/input-box/input-box.component';
34
37
  export { SkyRadioGroupComponent as λ11 } from './lib/modules/radio/radio-group.component';
35
38
  export { SkyRadioLabelComponent as λ12 } from './lib/modules/radio/radio-label.component';
36
39
  export { SkyRadioComponent as λ13 } from './lib/modules/radio/radio.component';
@@ -40,4 +43,4 @@ export { SkySelectionBoxHeaderComponent as λ16 } from './lib/modules/selection-
40
43
  export { SkySelectionBoxComponent as λ17 } from './lib/modules/selection-box/selection-box.component';
41
44
  export { SkyToggleSwitchLabelComponent as λ18 } from './lib/modules/toggle-switch/toggle-switch-label.component';
42
45
  export { SkyToggleSwitchComponent as λ19 } from './lib/modules/toggle-switch/toggle-switch.component';
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBS3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBSW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBSWpHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUsvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUs3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFJekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFN0YsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFbkgsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUscUNBQXFDLElBQUksRUFBRSxFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDcEksT0FBTyxFQUFFLGlDQUFpQyxJQUFJLEVBQUUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3RILE9BQU8sRUFBRSxtQ0FBbUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNsSSxPQUFPLEVBQUUseUJBQXlCLElBQUksRUFBRSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx5QkFBeUIsSUFBSSxHQUFHLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLElBQUksR0FBRyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEcsT0FBTyxFQUFFLCtCQUErQixJQUFJLEVBQUUsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3RILE9BQU8sRUFBRSwwQkFBMEIsSUFBSSxFQUFFLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLElBQUksRUFBRSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxHQUFHLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRixPQUFPLEVBQUUscUJBQXFCLElBQUksR0FBRyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxHQUFHLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLElBQUksR0FBRyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixJQUFJLEdBQUcsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxHQUFHLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLElBQUksR0FBRyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1DQUFtQyxJQUFJLEdBQUcsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdILE9BQU8sRUFBRSw0QkFBNEIsSUFBSSxHQUFHLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLElBQUksR0FBRyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFFLHdCQUF3QixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsSUFBSSxHQUFHLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqSCxPQUFPLEVBQUUsd0JBQXdCLElBQUksR0FBRyxFQUFFLE1BQU0scURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVyTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtY2hhbmdlJztcbmV4cG9ydCB7IFNreUNoZWNrYm94R3JvdXBIZWFkaW5nTGV2ZWwgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLWhlYWRpbmctbGV2ZWwnO1xuZXhwb3J0IHsgU2t5Q2hlY2tib3hHcm91cEhlYWRpbmdTdHlsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtZ3JvdXAtaGVhZGluZy1zdHlsZSc7XG5leHBvcnQgeyBTa3lDaGVja2JveE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcblxuZXhwb3J0IHsgU2t5RmllbGRHcm91cE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmllbGQtZ3JvdXAvZmllbGQtZ3JvdXAubW9kdWxlJztcbmV4cG9ydCB7IFNreUZpZWxkR3JvdXBIZWFkaW5nTGV2ZWwgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLWhlYWRpbmctbGV2ZWwnO1xuZXhwb3J0IHsgU2t5RmllbGRHcm91cEhlYWRpbmdTdHlsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmllbGQtZ3JvdXAvZmllbGQtZ3JvdXAtaGVhZGluZy1zdHlsZSc7XG5cbmV4cG9ydCB7IFNreUZpbGVBdHRhY2htZW50c01vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudHMubW9kdWxlJztcbmV4cG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtJztcbmV4cG9ydCB7IFNreUZpbGVJdGVtRXJyb3JUeXBlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtLWVycm9yLXR5cGUnO1xuZXhwb3J0IHsgU2t5RmlsZUxpbmsgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWxpbmsnO1xuZXhwb3J0IHsgU2t5RmlsZVNpemVQaXBlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1zaXplLnBpcGUnO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC90eXBlcy9maWxlLWF0dGFjaG1lbnQtY2hhbmdlJztcbmV4cG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2xpY2sgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC90eXBlcy9maWxlLWF0dGFjaG1lbnQtY2xpY2snO1xuZXhwb3J0IHsgU2t5RmlsZURyb3BDaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC90eXBlcy9maWxlLWRyb3AtY2hhbmdlJztcblxuZXhwb3J0IHsgU2t5Rm9ybUVycm9yc01vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5Rm9ybUVycm9yTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IubW9kdWxlJztcblxuZXhwb3J0IHsgU2t5SW5wdXRCb3hIb3N0U2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1ob3N0LnNlcnZpY2UnO1xuZXhwb3J0IHsgU2t5SW5wdXRCb3hQb3B1bGF0ZUFyZ3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2lucHV0LWJveC9pbnB1dC1ib3gtcG9wdWxhdGUtYXJncyc7XG5leHBvcnQgeyBTa3lJbnB1dEJveE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lSYWRpb0NoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vdHlwZXMvcmFkaW8tY2hhbmdlJztcbmV4cG9ydCB7IFNreVJhZGlvR3JvdXBIZWFkaW5nTGV2ZWwgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3R5cGVzL3JhZGlvLWdyb3VwLWhlYWRpbmctbGV2ZWwnO1xuZXhwb3J0IHsgU2t5UmFkaW9Hcm91cEhlYWRpbmdTdHlsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vdHlwZXMvcmFkaW8tZ3JvdXAtaGVhZGluZy1zdHlsZSc7XG5leHBvcnQgeyBTa3lSYWRpb01vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8ubW9kdWxlJztcbmV4cG9ydCB7IFNreVJhZGlvVHlwZSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vdHlwZXMvcmFkaW8tdHlwZSc7XG5cbmV4cG9ydCB7IFNreVJlcXVpcmVkU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JlcXVpcmVkLXN0YXRlL3JlcXVpcmVkLXN0YXRlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94Lm1vZHVsZSc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hHcmlkQWxpZ25JdGVtcyB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC90eXBlcy9zZWxlY3Rpb24tYm94LWdyaWQtYWxpZ24taXRlbXMnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uQm94R3JpZEFsaWduSXRlbXNUeXBlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3R5cGVzL3NlbGVjdGlvbi1ib3gtZ3JpZC1hbGlnbi1pdGVtcy10eXBlJztcblxuZXhwb3J0IHsgU2t5VG9nZ2xlU3dpdGNoTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2gubW9kdWxlJztcbmV4cG9ydCB7IFNreVRvZ2dsZVN3aXRjaENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdG9nZ2xlLXN3aXRjaC90eXBlcy90b2dnbGUtc3dpdGNoLWNoYW5nZSc7XG5cbmV4cG9ydCB7IFNLWV9GT1JNX0VSUk9SU19FTkFCTEVEIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWVuYWJsZWQtdG9rZW4nO1xuXG5leHBvcnQgeyBTa3lGb3JtRmllbGRMYWJlbFRleHRSZXF1aXJlZFNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NoYXJlZC9mb3JtLWZpZWxkLWxhYmVsLXRleHQtcmVxdWlyZWQuc2VydmljZSc7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXIncyBcInBhcnRpYWxcIiBJdnkgY29tcGlsZXIuXG4vLyBPYnNjdXJlIG5hbWVzIGFyZSB1c2VkIHRvIGluZGljYXRlIHR5cGVzIGFyZSBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cblxuZXhwb3J0IHsgU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckNvbXBvbmVudCBhcyDOuzEgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLWluZGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5Q2hhcmFjdGVyQ291bnRlcklucHV0RGlyZWN0aXZlIGFzIM67MiB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJTY3JlZW5SZWFkZXJQaXBlIGFzIM67MjMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLXNjcmVlbi1yZWFkZXIucGlwZSc7XG5leHBvcnQgeyBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50IGFzIM67NCB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUNoZWNrYm94Q29tcG9uZW50IGFzIM67MyB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUNoZWNrYm94R3JvdXBDb21wb25lbnQgYXMgzrsyNCB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZpZWxkR3JvdXBDb21wb25lbnQgYXMgzrsyNSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmllbGQtZ3JvdXAvZmllbGQtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQgYXMgzrs2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudENvbXBvbmVudCBhcyDOuzcgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZpbGVEcm9wQ29tcG9uZW50IGFzIM67OCB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtZHJvcC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5RmlsZUl0ZW1Db21wb25lbnQgYXMgzrs5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lGb3JtRXJyb3JzQ29tcG9uZW50IGFzIM67MjEgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZvcm1FcnJvckNvbXBvbmVudCBhcyDOuzIyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUlucHV0Qm94Q29udHJvbERpcmVjdGl2ZSBhcyDOuzIwIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWNvbnRyb2wuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNreUlucHV0Qm94Q29tcG9uZW50IGFzIM67MTAgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2lucHV0LWJveC9pbnB1dC1ib3guY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUlucHV0Qm94SGludFRleHRQaXBlIGFzIM67MjYgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2lucHV0LWJveC9pbnB1dC1ib3gtaGludC10ZXh0LnBpcGUnO1xuZXhwb3J0IHsgU2t5UmFkaW9Hcm91cENvbXBvbmVudCBhcyDOuzExIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yYWRpby9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5UmFkaW9MYWJlbENvbXBvbmVudCBhcyDOuzEyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yYWRpby9yYWRpby1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5UmFkaW9Db21wb25lbnQgYXMgzrsxMyB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveERlc2NyaXB0aW9uQ29tcG9uZW50IGFzIM67MTQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC1kZXNjcmlwdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uQm94R3JpZENvbXBvbmVudCBhcyDOuzE1IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5U2VsZWN0aW9uQm94SGVhZGVyQ29tcG9uZW50IGFzIM67MTYgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvc2VsZWN0aW9uLWJveC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveENvbXBvbmVudCBhcyDOuzE3IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3guY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVRvZ2dsZVN3aXRjaExhYmVsQ29tcG9uZW50IGFzIM67MTggfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RvZ2dsZS1zd2l0Y2gvdG9nZ2xlLXN3aXRjaC1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5VG9nZ2xlU3dpdGNoQ29tcG9uZW50IGFzIM67MTkgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RvZ2dsZS1zd2l0Y2gvdG9nZ2xlLXN3aXRjaC5jb21wb25lbnQnO1xuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBS3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBSTNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBSW5GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRWpHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBSTdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUV0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFNbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFJekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFN0YsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkgsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFbkgsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUUzRSxPQUFPLEVBQUUscUNBQXFDLElBQUksRUFBRSxFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDcEksT0FBTyxFQUFFLG1DQUFtQyxJQUFJLEdBQUcsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxpQ0FBaUMsSUFBSSxFQUFFLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN0SCxPQUFPLEVBQUUseUJBQXlCLElBQUksR0FBRyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkcsT0FBTyxFQUFFLHlCQUF5QixJQUFJLEVBQUUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxFQUFFLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsc0JBQXNCLElBQUksR0FBRyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDaEcsT0FBTyxFQUFFLCtCQUErQixJQUFJLEVBQUUsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSwwQkFBMEIsSUFBSSxFQUFFLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsb0JBQW9CLElBQUksRUFBRSxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFFLG9CQUFvQixJQUFJLEVBQUUsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxHQUFHLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLElBQUksR0FBRyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0YsT0FBTyxFQUFFLDJCQUEyQixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsSUFBSSxHQUFHLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsb0JBQW9CLElBQUksR0FBRyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDMUYsT0FBTyxFQUFFLHNCQUFzQixJQUFJLEdBQUcsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxHQUFHLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLElBQUksR0FBRyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1DQUFtQyxJQUFJLEdBQUcsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdILE9BQU8sRUFBRSw0QkFBNEIsSUFBSSxHQUFHLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUMvRyxPQUFPLEVBQUUsOEJBQThCLElBQUksR0FBRyxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkgsT0FBTyxFQUFFLHdCQUF3QixJQUFJLEdBQUcsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw2QkFBNkIsSUFBSSxHQUFHLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqSCxPQUFPLEVBQUUsd0JBQXdCLElBQUksR0FBRyxFQUFFLE1BQU0scURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lDaGFyYWN0ZXJDb3VudGVyTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jaGFyYWN0ZXItY291bnRlci9jaGFyYWN0ZXItY291bnRlci5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtY2hhbmdlJztcbmV4cG9ydCB7IFNreUNoZWNrYm94R3JvdXBIZWFkaW5nTGV2ZWwgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLWhlYWRpbmctbGV2ZWwnO1xuZXhwb3J0IHsgU2t5Q2hlY2tib3hHcm91cEhlYWRpbmdTdHlsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtZ3JvdXAtaGVhZGluZy1zdHlsZSc7XG5leHBvcnQgeyBTa3lDaGVja2JveE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcblxuZXhwb3J0IHsgU2t5RmllbGRHcm91cEhlYWRpbmdMZXZlbCB9IGZyb20gJy4vbGliL21vZHVsZXMvZmllbGQtZ3JvdXAvZmllbGQtZ3JvdXAtaGVhZGluZy1sZXZlbCc7XG5leHBvcnQgeyBTa3lGaWVsZEdyb3VwSGVhZGluZ1N0eWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC1oZWFkaW5nLXN0eWxlJztcbmV4cG9ydCB7IFNreUZpZWxkR3JvdXBNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLm1vZHVsZSc7XG5cbmV4cG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2hhbmdlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1jaGFuZ2UnO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDbGljayB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQtY2xpY2snO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50Lm1vZHVsZSc7XG5leHBvcnQgeyBTa3lGaWxlQXR0YWNobWVudHNNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnRzLm1vZHVsZSc7XG5leHBvcnQgeyBTa3lGaWxlRHJvcENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtZHJvcC9maWxlLWRyb3AtY2hhbmdlJztcbmV4cG9ydCB7IFNreUZpbGVEcm9wTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5RmlsZUxpbmsgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWRyb3AvZmlsZS1saW5rJztcbmV4cG9ydCB7IFNreUZpbGVJdGVtIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvc2hhcmVkL2ZpbGUtaXRlbSc7XG5leHBvcnQgeyBTa3lGaWxlSXRlbUVycm9yVHlwZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L3NoYXJlZC9maWxlLWl0ZW0tZXJyb3ItdHlwZSc7XG5leHBvcnQgeyBTa3lGaWxlU2l6ZVBpcGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9zaGFyZWQvZmlsZS1zaXplLnBpcGUnO1xuXG5leHBvcnQgeyBTa3lGb3JtRXJyb3JNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5Rm9ybUVycm9yc01vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy5tb2R1bGUnO1xuXG5leHBvcnQgeyBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhvc3Quc2VydmljZSc7XG5leHBvcnQgeyBTa3lJbnB1dEJveFBvcHVsYXRlQXJncyB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1wb3B1bGF0ZS1hcmdzJztcbmV4cG9ydCB7IFNreUlucHV0Qm94TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94Lm1vZHVsZSc7XG5cbmV4cG9ydCB7IFNreVJhZGlvTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yYWRpby9yYWRpby5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5UmFkaW9DaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3R5cGVzL3JhZGlvLWNoYW5nZSc7XG5leHBvcnQgeyBTa3lSYWRpb0dyb3VwSGVhZGluZ0xldmVsIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yYWRpby90eXBlcy9yYWRpby1ncm91cC1oZWFkaW5nLWxldmVsJztcbmV4cG9ydCB7IFNreVJhZGlvR3JvdXBIZWFkaW5nU3R5bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3R5cGVzL3JhZGlvLWdyb3VwLWhlYWRpbmctc3R5bGUnO1xuZXhwb3J0IHsgU2t5UmFkaW9UeXBlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yYWRpby90eXBlcy9yYWRpby10eXBlJztcblxuZXhwb3J0IHsgU2t5UmVxdWlyZWRTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmVxdWlyZWQtc3RhdGUvcmVxdWlyZWQtc3RhdGUuZGlyZWN0aXZlJztcblxuZXhwb3J0IHsgU2t5U2VsZWN0aW9uQm94TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gubW9kdWxlJztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEdyaWRBbGlnbkl0ZW1zIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3R5cGVzL3NlbGVjdGlvbi1ib3gtZ3JpZC1hbGlnbi1pdGVtcyc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hHcmlkQWxpZ25JdGVtc1R5cGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1ib3gvdHlwZXMvc2VsZWN0aW9uLWJveC1ncmlkLWFsaWduLWl0ZW1zLXR5cGUnO1xuXG5leHBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RvZ2dsZS1zd2l0Y2gvdG9nZ2xlLXN3aXRjaC5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5VG9nZ2xlU3dpdGNoQ2hhbmdlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3R5cGVzL3RvZ2dsZS1zd2l0Y2gtY2hhbmdlJztcblxuZXhwb3J0IHsgU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtZW5hYmxlZC10b2tlbic7XG5cbmV4cG9ydCB7IFNreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zaGFyZWQvZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lGb3JtRmllbGRMYWJlbFRleHRSZXF1aXJlZFNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3NoYXJlZC9mb3JtLWZpZWxkLWxhYmVsLXRleHQtcmVxdWlyZWQuc2VydmljZSc7XG5cbi8vIENvbXBvbmVudHMgYW5kIGRpcmVjdGl2ZXMgbXVzdCBiZSBleHBvcnRlZCB0byBzdXBwb3J0IEFuZ3VsYXIncyBcInBhcnRpYWxcIiBJdnkgY29tcGlsZXIuXG4vLyBPYnNjdXJlIG5hbWVzIGFyZSB1c2VkIHRvIGluZGljYXRlIHR5cGVzIGFyZSBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cblxuZXhwb3J0IHsgU2t5Q2hhcmFjdGVyQ291bnRlckluZGljYXRvckNvbXBvbmVudCBhcyDOuzEgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLWluZGljYXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5Q2hhcmFjdGVyQ291bnRlclNjcmVlblJlYWRlclBpcGUgYXMgzrsyMyB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItc2NyZWVuLXJlYWRlci5waXBlJztcbmV4cG9ydCB7IFNreUNoYXJhY3RlckNvdW50ZXJJbnB1dERpcmVjdGl2ZSBhcyDOuzIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoYXJhY3Rlci1jb3VudGVyL2NoYXJhY3Rlci1jb3VudGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lDaGVja2JveEdyb3VwQ29tcG9uZW50IGFzIM67MjQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50IGFzIM67NCB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3gtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUNoZWNrYm94Q29tcG9uZW50IGFzIM67MyB9IGZyb20gJy4vbGliL21vZHVsZXMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZpZWxkR3JvdXBDb21wb25lbnQgYXMgzrsyNSB9IGZyb20gJy4vbGliL21vZHVsZXMvZmllbGQtZ3JvdXAvZmllbGQtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQgYXMgzrs2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRDb21wb25lbnQgYXMgzrs3IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5RmlsZURyb3BDb21wb25lbnQgYXMgzrs4IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtZHJvcC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5RmlsZUl0ZW1Db21wb25lbnQgYXMgzrs5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1kcm9wL2ZpbGUtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5Rm9ybUVycm9yQ29tcG9uZW50IGFzIM67MjIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5Rm9ybUVycm9yc0NvbXBvbmVudCBhcyDOuzIxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lJbnB1dEJveENvbnRyb2xEaXJlY3RpdmUgYXMgzrsyMCB9IGZyb20gJy4vbGliL21vZHVsZXMvaW5wdXQtYm94L2lucHV0LWJveC1jb250cm9sLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lJbnB1dEJveEhpbnRUZXh0UGlwZSBhcyDOuzI2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pbnB1dC1ib3gvaW5wdXQtYm94LWhpbnQtdGV4dC5waXBlJztcbmV4cG9ydCB7IFNreUlucHV0Qm94Q29tcG9uZW50IGFzIM67MTAgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2lucHV0LWJveC9pbnB1dC1ib3guY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVJhZGlvR3JvdXBDb21wb25lbnQgYXMgzrsxMSB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVJhZGlvTGFiZWxDb21wb25lbnQgYXMgzrsxMiB9IGZyb20gJy4vbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVJhZGlvQ29tcG9uZW50IGFzIM67MTMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hEZXNjcmlwdGlvbkNvbXBvbmVudCBhcyDOuzE0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtZGVzY3JpcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEdyaWRDb21wb25lbnQgYXMgzrsxNSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVNlbGVjdGlvbkJveEhlYWRlckNvbXBvbmVudCBhcyDOuzE2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3Rpb24tYm94L3NlbGVjdGlvbi1ib3gtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lTZWxlY3Rpb25Cb3hDb21wb25lbnQgYXMgzrsxNyB9IGZyb20gJy4vbGliL21vZHVsZXMvc2VsZWN0aW9uLWJveC9zZWxlY3Rpb24tYm94LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lUb2dnbGVTd2l0Y2hMYWJlbENvbXBvbmVudCBhcyDOuzE4IH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2gtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreVRvZ2dsZVN3aXRjaENvbXBvbmVudCBhcyDOuzE5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2guY29tcG9uZW50JztcbiJdfQ==
@@ -4,16 +4,17 @@ import { SkyIdService, SkyLogService } from '@skyux/core';
4
4
  import { SkyThemeComponentClassDirective } from '@skyux/theme';
5
5
  import { BehaviorSubject } from 'rxjs';
6
6
  import { SKY_FORM_ERRORS_ENABLED } from '../form-error/form-errors-enabled-token';
7
- import { SkyFormFieldLabelTextRequiredService } from '../shared/form-field-label-text-required.service';
7
+ import { SkyFormFieldLabelTextRequiredDirective } from '../shared/form-field-label-text-required.directive';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@skyux/theme";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "../form-error/form-errors.component";
12
- import * as i4 from "@skyux/help-inline";
13
- import * as i5 from "@skyux/icon";
14
- import * as i6 from "@skyux/core";
15
- import * as i7 from "./checkbox-label-text-label.component";
16
- import * as i8 from "@skyux/i18n";
10
+ import * as i2 from "../shared/form-field-label-text-required.directive";
11
+ import * as i3 from "@angular/common";
12
+ import * as i4 from "../form-error/form-errors.component";
13
+ import * as i5 from "@skyux/help-inline";
14
+ import * as i6 from "@skyux/icon";
15
+ import * as i7 from "@skyux/core";
16
+ import * as i8 from "./checkbox-label-text-label.component";
17
+ import * as i9 from "@skyux/i18n";
17
18
  /**
18
19
  * Replaces the HTML input element with `type="checkbox"`. When users select a checkbox, its value
19
20
  * is driven through an `ngModel` attribute that you specify on the `sky-checkbox` element.
@@ -202,7 +203,6 @@ export class SkyCheckboxComponent {
202
203
  #idSvc;
203
204
  #defaultId;
204
205
  #logger;
205
- #labelTextRequired;
206
206
  constructor() {
207
207
  /**
208
208
  * The index for the checkbox. If not defined, the index is set to the position of the
@@ -241,9 +241,6 @@ export class SkyCheckboxComponent {
241
241
  this.#idSvc = inject(SkyIdService);
242
242
  this.#defaultId = this.#idSvc.generateId();
243
243
  this.#logger = inject(SkyLogService);
244
- this.#labelTextRequired = inject(SkyFormFieldLabelTextRequiredService, {
245
- optional: true,
246
- });
247
244
  this.errorId = this.#idSvc.generateId();
248
245
  /** Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor. */
249
246
  // eslint-disable-next-line @typescript-eslint/no-empty-function
@@ -260,12 +257,6 @@ export class SkyCheckboxComponent {
260
257
  this.id = this.#defaultId;
261
258
  this.name = this.#defaultId;
262
259
  }
263
- ngOnInit() {
264
- if (this.#labelTextRequired && !this.labelText) {
265
- this.display = 'none';
266
- }
267
- this.#labelTextRequired?.validateLabelText(this.labelText);
268
- }
269
260
  validate(control) {
270
261
  this.control ||= control;
271
262
  // In template-driven forms, Angular's native 'required' attribute directive only works
@@ -331,7 +322,7 @@ export class SkyCheckboxComponent {
331
322
  this.checked = !this.checked;
332
323
  }
333
324
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
334
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.1.2", type: SkyCheckboxComponent, selector: "sky-checkbox", inputs: { label: "label", labelledBy: "labelledBy", id: "id", disabled: ["disabled", "disabled", booleanAttribute], tabindex: "tabindex", name: "name", helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", icon: "icon", checkboxType: "checkboxType", checked: "checked", indeterminate: "indeterminate", required: ["required", "required", booleanAttribute], labelText: "labelText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], hintText: "hintText", stacked: ["stacked", "stacked", booleanAttribute], helpKey: "helpKey" }, outputs: { change: "change", checkedChange: "checkedChange", disabledChange: "disabledChange", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.sky-margin-stacked-lg": "this.stacked", "style.display": "this.display" } }, providers: [
325
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.1.2", type: SkyCheckboxComponent, selector: "sky-checkbox", inputs: { label: "label", labelledBy: "labelledBy", id: "id", disabled: ["disabled", "disabled", booleanAttribute], tabindex: "tabindex", name: "name", helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", icon: "icon", checkboxType: "checkboxType", checked: "checked", indeterminate: "indeterminate", required: ["required", "required", booleanAttribute], labelText: "labelText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], hintText: "hintText", stacked: ["stacked", "stacked", booleanAttribute], helpKey: "helpKey" }, outputs: { change: "change", checkedChange: "checkedChange", disabledChange: "disabledChange", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.sky-margin-stacked-lg": "this.stacked" } }, providers: [
335
326
  { provide: NG_VALIDATORS, useExisting: SkyCheckboxComponent, multi: true },
336
327
  {
337
328
  provide: NG_VALUE_ACCESSOR,
@@ -339,11 +330,17 @@ export class SkyCheckboxComponent {
339
330
  multi: true,
340
331
  },
341
332
  { provide: SKY_FORM_ERRORS_ENABLED, useValue: true },
342
- ], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.SkyThemeComponentClassDirective }], ngImport: i0, template: "<span class=\"sky-checkbox-outer-wrapper\">\n <label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': isCheckboxRequired,\n 'sky-switch-disabled': disabled,\n 'sky-margin-inline-xs': labelText && !icon\n }\"\n >\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"isCheckboxRequired\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-required]=\"isCheckboxRequired ? true : null\"\n [attr.aria-invalid]=\"!!control?.errors\"\n [attr.aria-errormessage]=\"\n labelText && control?.errors ? errorId : undefined\n \"\n [ngClass]=\"{\n 'sky-switch-invalid':\n (control?.touched || control?.dirty) && control?.errors\n }\"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n </label>\n <sky-help-inline\n *ngIf=\"(helpPopoverContent || helpKey) && labelText\"\n class=\"sky-checkbox-help-inline\"\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n</span>\n<span skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-font-deemphasized sky-checkbox-hint-text sky-checkbox-form-margin\"\n >\n {{ hintText }}\n </div>\n</span>\n<sky-form-errors\n class=\"sky-checkbox-form-margin\"\n *ngIf=\"labelText && control?.errors\"\n [id]=\"errorId\"\n [errors]=\"control?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"control?.touched || control?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-outer-wrapper:not(.sky-theme-modern *){display:inline-flex}.sky-checkbox-outer-wrapper:not(.sky-theme-modern *) .sky-checkbox-help-inline{display:inline-flex}.sky-checkbox-outer-wrapper:not(.sky-theme-modern *) .sky-checkbox-icon-indeterminate{font-size:14px}.sky-checkbox-hint-text:not(.sky-theme-modern *){margin-top:var(--sky-margin-stacked-xs)}.sky-checkbox-form-margin:not(.sky-theme-modern *){margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host.sky-margin-stacked-lg.sky-cmp-theme-default{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-default{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-default:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n", ":is(.sky-theme-modern .sky-checkbox-outer-wrapper){display:inline-flex}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-help-inline{display:inline-flex}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-icon-indeterminate{font-size:14px}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-icon-modern-checked,:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-switch-control{border-radius:6px}:is(.sky-theme-modern .sky-checkbox-hint-text){margin-top:var(--sky-margin-stacked-xs)}:is(.sky-theme-modern .sky-checkbox-form-margin){margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host-context(.sky-theme-modern) :host.sky-margin-stacked-lg.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) :host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) :host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-modern:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "component", type: i4.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i6.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i7.SkyCheckboxLabelTextLabelComponent, selector: "sky-checkbox-label-text-label", inputs: ["labelHidden", "labelText"] }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
333
+ ], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.SkyThemeComponentClassDirective }, { directive: i2.SkyFormFieldLabelTextRequiredDirective, inputs: ["labelText", "labelText"] }], ngImport: i0, template: "<span class=\"sky-checkbox-outer-wrapper\">\n <label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': isCheckboxRequired,\n 'sky-switch-disabled': disabled,\n 'sky-margin-inline-xs': labelText && !icon\n }\"\n >\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"isCheckboxRequired\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n [attr.aria-required]=\"isCheckboxRequired ? true : null\"\n [attr.aria-invalid]=\"!!control?.errors\"\n [attr.aria-errormessage]=\"\n labelText && control?.errors ? errorId : undefined\n \"\n [ngClass]=\"{\n 'sky-switch-invalid':\n (control?.touched || control?.dirty) && control?.errors\n }\"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n </label>\n <sky-help-inline\n *ngIf=\"(helpPopoverContent || helpKey) && labelText\"\n class=\"sky-checkbox-help-inline\"\n [helpKey]=\"helpKey\"\n [labelText]=\"labelText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n</span>\n<span skyId #hintTextEl=\"skyId\">\n <div\n *ngIf=\"hintText\"\n class=\"sky-font-deemphasized sky-checkbox-hint-text sky-checkbox-form-margin\"\n >\n {{ hintText }}\n </div>\n</span>\n<sky-form-errors\n class=\"sky-checkbox-form-margin\"\n *ngIf=\"labelText && control?.errors\"\n [id]=\"errorId\"\n [errors]=\"control?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"control?.touched || control?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-outer-wrapper:not(.sky-theme-modern *){display:inline-flex}.sky-checkbox-outer-wrapper:not(.sky-theme-modern *) .sky-checkbox-help-inline{display:inline-flex}.sky-checkbox-outer-wrapper:not(.sky-theme-modern *) .sky-checkbox-icon-indeterminate{font-size:14px}.sky-checkbox-hint-text:not(.sky-theme-modern *){margin-top:var(--sky-margin-stacked-xs)}.sky-checkbox-form-margin:not(.sky-theme-modern *){margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host.sky-margin-stacked-lg.sky-cmp-theme-default{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-default{display:block}:host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-default:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n", ":is(.sky-theme-modern .sky-checkbox-outer-wrapper){display:inline-flex}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-help-inline{display:inline-flex}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-icon-indeterminate{font-size:14px}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-icon-modern-checked,:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:is(.sky-theme-modern .sky-checkbox-outer-wrapper) .sky-switch-control{border-radius:6px}:is(.sky-theme-modern .sky-checkbox-hint-text){margin-top:var(--sky-margin-stacked-xs)}:is(.sky-theme-modern .sky-checkbox-form-margin){margin-left:calc(var(--sky-switch-size) + var(--sky-switch-margin))}:host-context(.sky-theme-modern) :host.sky-margin-stacked-lg.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) :host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-modern{display:block}:host-context(.sky-theme-modern) :host-context(sky-checkbox-group .sky-checkbox-group-stacked) :host.sky-cmp-theme-modern:not(:last-child){margin-bottom:var(--sky-margin-stacked-sm)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "component", type: i5.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "component", type: i6.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i7.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "component", type: i8.SkyCheckboxLabelTextLabelComponent, selector: "sky-checkbox-label-text-label", inputs: ["labelHidden", "labelText"] }, { kind: "pipe", type: i9.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
343
334
  }
344
335
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyCheckboxComponent, decorators: [{
345
336
  type: Component,
346
- args: [{ selector: 'sky-checkbox', hostDirectives: [SkyThemeComponentClassDirective], providers: [
337
+ args: [{ selector: 'sky-checkbox', hostDirectives: [
338
+ SkyThemeComponentClassDirective,
339
+ {
340
+ directive: SkyFormFieldLabelTextRequiredDirective,
341
+ inputs: ['labelText'],
342
+ },
343
+ ], providers: [
347
344
  { provide: NG_VALIDATORS, useExisting: SkyCheckboxComponent, multi: true },
348
345
  {
349
346
  provide: NG_VALUE_ACCESSOR,
@@ -406,8 +403,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
406
403
  }], inputEl: [{
407
404
  type: ViewChild,
408
405
  args: ['inputEl', { read: ElementRef }]
409
- }], display: [{
410
- type: HostBinding,
411
- args: ['style.display']
412
406
  }] } });
413
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFHakIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7QUFJeEc7OztHQUdHO0FBbUJILE1BQU0sT0FBTyxvQkFBb0I7SUFHL0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxLQUFLLENBQUMsS0FBeUI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFO2dCQUNwRCx1QkFBdUIsRUFBRSxDQUFDO2FBQzNCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUNXLFVBQVUsQ0FBQyxLQUF5QjtRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUNBQWlDLEVBQUU7Z0JBQ3pELHVCQUF1QixFQUFFLENBQUM7YUFDM0IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLEVBQUUsQ0FBQyxLQUF5QjtRQUNyQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsS0FBSyxRQUFRLENBQUM7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixJQUFJLENBQUMsVUFBVSxRQUFRLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQVNEOzs7T0FHRztJQUNILElBQ1csSUFBSSxDQUFDLEtBQXlCO1FBQ3ZDLElBQUksS0FBSyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLGdCQUFnQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQStCRDs7Ozs7Ozs7T0FRRztJQUNILElBQ1csWUFBWSxDQUFDLEtBQXlCO1FBQy9DLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsRUFBRTtnQkFDM0QsdUJBQXVCLEVBQUUsQ0FBQzthQUMzQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLE9BQU8sQ0FBQyxLQUEwQjtRQUMzQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxhQUFhLENBQUMsS0FBMEI7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFpREQ7O09BRUc7SUFDSCxJQUNXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDVyxPQUFPLENBQUMsRUFBMEI7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdCLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFLRCxJQUFjLGtCQUFrQjtRQUM5QixPQUFPLENBQUMsQ0FBQyxDQUNQLElBQUksQ0FBQyxRQUFRO1lBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBS0QsY0FBYyxDQUEyQjtJQUN6QyxpQkFBaUIsQ0FBc0I7SUFDdkMsZUFBZSxDQUEyQjtJQUMxQyxrQkFBa0IsQ0FBc0I7SUFDeEMsb0JBQW9CLENBQTJCO0lBQy9DLHVCQUF1QixDQUFzQjtJQUU3QyxTQUFTLENBQVM7SUFDbEIsY0FBYyxDQUFVO0lBQ3hCLFVBQVUsQ0FBUztJQUNuQixlQUFlLENBQVM7SUFDeEIsU0FBUyxDQUF5QjtJQUNsQyxNQUFNLENBQU07SUFDWixPQUFPLENBQXFCO0lBQzVCLFlBQVksQ0FBcUI7SUFFakMsZUFBZSxDQUE2QjtJQUM1QyxNQUFNLENBQXdCO0lBQzlCLFVBQVUsQ0FBNEI7SUFDdEMsT0FBTyxDQUF5QjtJQUN2QixrQkFBa0IsQ0FFeEI7SUFJSDtRQS9PQTs7O1dBR0c7UUFFSSxhQUFRLEdBQXVCLENBQUMsQ0FBQztRQWtDeEM7O1dBRUc7UUFHSSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUF1RXREOzs7Ozs7V0FNRztRQUVJLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFTeEI7O1dBRUc7UUFFSSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVMzQjs7OztXQUlHO1FBR0ksWUFBTyxHQUFHLEtBQUssQ0FBQztRQTJEYixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBU3ZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsbUJBQWMsR0FBRyxNQUFNLENBQUM7UUFDeEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBSVosb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxXQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlCLGVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9DQUFvQyxFQUFFO1lBQ3pFLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRWdCLFlBQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBcUZ0RCw4RkFBOEY7UUFDOUYsZ0VBQWdFO1FBQ2hFLHVCQUF1QjtRQUNoQixjQUFTLEdBQWMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRXZDLGdFQUFnRTtRQUNoRSxrQ0FBNkIsR0FBeUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQXhGbEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXhFLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDOUIsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQWlDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDO1FBRXpCLHVGQUF1RjtRQUN2Riw2RkFBNkY7UUFDN0YsOEZBQThGO1FBQzlGLGdFQUFnRTtRQUNoRSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUk7WUFDdEQsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNJLGdCQUFnQixDQUFDLEVBQXdCO1FBQzlDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCLENBQUMsRUFBTztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksa0JBQWtCLENBQUMsS0FBWTtRQUNwQywwREFBMEQ7UUFDMUQseUVBQXlFO1FBQ3pFLGdEQUFnRDtRQUNoRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQU9ELGdFQUFnRTtJQUNoRSw2QkFBNkIsQ0FBdUM7SUFFcEUsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7OEdBbmFVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDZIQWlFWCxnQkFBZ0IsMFBBeUloQixnQkFBZ0IsdUVBYWhCLGdCQUFnQix5REFlaEIsZ0JBQWdCLDJSQWhQekI7WUFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDMUU7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG9CQUFvQjtnQkFDakMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7U0FDckQseUdBNlE2QixVQUFVLGtHQ2xVMUMseXpHQXNHQTs7MkZEL0NhLG9CQUFvQjtrQkFsQmhDLFNBQVM7K0JBQ0UsY0FBYyxrQkFNUixDQUFDLCtCQUErQixDQUFDLGFBQ3RDO3dCQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHNCQUFzQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQzFFOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO3FCQUNyRDt3REFhVSxLQUFLO3NCQURmLEtBQUs7Z0JBdUJLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBb0JLLEVBQUU7c0JBRFosS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQW9CL0IsUUFBUTtzQkFEZCxLQUFLO2dCQVFLLElBQUk7c0JBRGQsS0FBSztnQkFtQkMsa0JBQWtCO3NCQUR4QixLQUFLO2dCQVFDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFRQyxNQUFNO3NCQUZaLE1BQU07Z0JBU0EsSUFBSTtzQkFEVixLQUFLO2dCQWFLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBb0JLLE9BQU87c0JBRGpCLEtBQUs7Z0JBcUJLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBc0JDLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRL0IsU0FBUztzQkFEZixLQUFLO2dCQU9DLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUS9CLFFBQVE7c0JBRGQsS0FBSztnQkFVQyxPQUFPO3NCQUZiLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7O3NCQUNyQyxXQUFXO3VCQUFDLDZCQUE2QjtnQkFTbkMsT0FBTztzQkFEYixLQUFLO2dCQU9LLGFBQWE7c0JBRHZCLE1BQU07Z0JBU0ksY0FBYztzQkFEeEIsTUFBTTtnQkFVSSxtQkFBbUI7c0JBRDdCLE1BQU07Z0JBTUksT0FBTztzQkFEakIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQWFuQyxPQUFPO3NCQURiLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTElEQVRPUlMsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUlkU2VydmljZSwgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreVRoZW1lQ29tcG9uZW50Q2xhc3NEaXJlY3RpdmUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQgfSBmcm9tICcuLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLWVuYWJsZWQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5Rm9ybUZpZWxkTGFiZWxUZXh0UmVxdWlyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm0tZmllbGQtbGFiZWwtdGV4dC1yZXF1aXJlZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2t5Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICcuL2NoZWNrYm94LWNoYW5nZSc7XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIEhUTUwgaW5wdXQgZWxlbWVudCB3aXRoIGB0eXBlPVwiY2hlY2tib3hcImAuIFdoZW4gdXNlcnMgc2VsZWN0IGEgY2hlY2tib3gsIGl0cyB2YWx1ZVxuICogaXMgZHJpdmVuIHRocm91Z2ggYW4gYG5nTW9kZWxgIGF0dHJpYnV0ZSB0aGF0IHlvdSBzcGVjaWZ5IG9uIHRoZSBgc2t5LWNoZWNrYm94YCBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9jaGVja2JveC5kZWZhdWx0LmNvbXBvbmVudC5zY3NzJyxcbiAgICAnLi9jaGVja2JveC5tb2Rlcm4uY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW1NreVRoZW1lQ29tcG9uZW50Q2xhc3NEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBTa3lDaGVja2JveENvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBTa3lDaGVja2JveENvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCwgdXNlVmFsdWU6IHRydWUgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBWYWxpZGF0b3JcbntcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgY2hlY2tib3guIFRoaXMgc2V0cyB0aGUgY2hlY2tib3gncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCNhY2Nlc3NpYmlsaXR5KVxuICAgKiB3aGVuIHRoZSBjaGVja2JveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbC4gWW91IG11c3Qgc2V0IHRoaXMgcHJvcGVydHkgZm9yIGljb25cbiAgICogY2hlY2tib3hlcy4gSWYgdGhlIGNoZWNrYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBsYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGxhYmVsVGV4dGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19sYWJlbCA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQubGFiZWwnLCB7XG4gICAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA5LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbGFiZWw7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEhUTUwgZWxlbWVudCBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGxhYmVscyB0aGVcbiAgICogY2hlY2tib3guIFRoaXMgc2V0cyB0aGUgY2hlY2tib3gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpLlxuICAgKiBJZiB0aGUgY2hlY2tib3ggZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwsIHVzZSBgbGFiZWxgIGluc3RlYWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgbGFiZWxUZXh0YCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsYWJlbGxlZEJ5KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbGFiZWxsZWRCeSA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQubGFiZWxsZWRCeScsIHtcbiAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2xhYmVsbGVkQnk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElEIGZvciB0aGUgY2hlY2tib3guXG4gICAqIElmIGEgdmFsdWUgaXMgbm90IHByb3ZpZGVkLCBhbiBhdXRvZ2VuZXJhdGVkIElEIGlzIHVzZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuaW5wdXRJZCA9IGBza3ktY2hlY2tib3gtJHt2YWx1ZX0taW5wdXRgO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0SWQgPSBgc2t5LWNoZWNrYm94LSR7dGhpcy4jZGVmYXVsdElkfS1pbnB1dGA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgY2hlY2tib3ggb24gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBEb24ndCB1c2UgdGhpcyBpbnB1dCBvbiByZWFjdGl2ZSBmb3JtcyBiZWNhdXNlIHRoZXkgbWF5IG92ZXJ3cml0ZSB0aGUgaW5wdXQgb3IgbGVhdmUgdGhlIGNvbnRyb2wgb3V0IG9mIHN5bmMuXG4gICAqIFRvIHNldCB0aGUgZGlzYWJsZWQgc3RhdGUgb24gcmVhY3RpdmUgZm9ybXMsIHVzZSB0aGUgYEZvcm1Db250cm9sYCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuI19kaXNhYmxlZCkge1xuICAgICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLiNkaXNhYmxlZENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGluZGV4IGZvciB0aGUgY2hlY2tib3guIElmIG5vdCBkZWZpbmVkLCB0aGUgaW5kZXggaXMgc2V0IHRvIHRoZSBwb3NpdGlvbiBvZiB0aGVcbiAgICogY2hlY2tib3ggb24gbG9hZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gMDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgZm9yIHRoZSBjaGVja2JveC5cbiAgICogSWYgYSB2YWx1ZSBpcyBub3QgcHJvdmlkZWQsIGFuIGF1dG9nZW5lcmF0ZWQgSUQgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB0aGlzLiNkZWZhdWx0SWQpIHtcbiAgICAgIHRoaXMuI19uYW1lID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19uYW1lID0gYHNreS1jaGVja2JveC0ke3RoaXMuI2RlZmF1bHRJZH1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0aGUgaGVscCBwb3BvdmVyLiBXaGVuIHNwZWNpZmllZCBhbG9uZyB3aXRoIGBsYWJlbFRleHRgLCBhIFtoZWxwIGlubGluZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2hlbHAtaW5saW5lKVxuICAgKiBidXR0b24gaXMgYWRkZWQgdG8gdGhlIGNoZWNrYm94IGxhYmVsLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlbGVjdGVkIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIHB1YmxpYyBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUNoZWNrYm94Q2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgaWNvbiB0byBkaXNwbGF5IGluIHBsYWNlIG9mIHRoZSBjaGVja2JveC4gVG8gZ3JvdXAgaWNvbiBjaGVja2JveGVzXG4gICAqIGxpa2UgaW4gdGhlIGRlbW8sIHBsYWNlIHRoZSBjaGVja2JveGVzIHdpdGhpbiBhIGBza3ktY2hlY2tib3gtZ3JvdXBgLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGJhY2tncm91bmQgY29sb3IgdHlwZSBhZnRlciB1c2VycyBzZWxlY3QgYSBjaGVja2JveCB3aGVyZSB0aGVcbiAgICogYGljb25gIHByb3BlcnR5IGRpc3BsYXlzIGFuIGljb24gaW4gcGxhY2Ugb2YgdGhlIGNoZWNrYm94LiBUaGUgdmFsaWQgb3B0aW9ucyBjb3JyZXNwb25kIHRvXG4gICAqIFt0aGUgbGFiZWwgY29tcG9uZW50J3NdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9sYWJlbClcbiAgICogbGFiZWwgdHlwZXMuIGBcImluZm9cImAgY3JlYXRlcyBhIGJsdWUgYmFja2dyb3VuZCwgYFwic3VjY2Vzc1wiYCBjcmVhdGVzIGEgZ3JlZW5cbiAgICogYmFja2dyb3VuZCwgYFwid2FybmluZ1wiYCBjcmVhdGVzIGFuIG9yYW5nZSBiYWNrZ3JvdW5kLCBhbmQgYFwiZGFuZ2VyXCJgIGNyZWF0ZXMgYSByZWQgYmFja2dyb3VuZC5cbiAgICogQGRlZmF1bHQgXCJpbmZvXCJcbiAgICogQGRlcHJlY2F0ZWQgY2hlY2tib3hUeXBlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hlY2tib3hUeXBlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI2xvZ2dlci5kZXByZWNhdGVkKCdTa3lDaGVja2JveENvbXBvbmVudC5jaGVja2JveFR5cGUnLCB7XG4gICAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA3LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy4jX2NoZWNrYm94VHlwZSA9IHZhbHVlID8gdmFsdWUudG9Mb3dlckNhc2UoKSA6ICdpbmZvJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hlY2tib3hUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19jaGVja2JveFR5cGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgc2VsZWN0ZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBjaGVja2VkID0gISF2YWx1ZTtcbiAgICBpZiAoY2hlY2tlZCAhPT0gdGhpcy4jX2NoZWNrZWQpIHtcbiAgICAgIHRoaXMuI19jaGVja2VkID0gY2hlY2tlZDtcbiAgICAgIHRoaXMuI2NoZWNrZWRDaGFuZ2UubmV4dChjaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19jaGVja2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGluIHRoZSBpbmRldGVybWluYXRlIHN0YXRlLiBUaGlzIGhhcyBubyB2aXN1YWwgZWZmZWN0IGZvciBpY29uIGNoZWNrYm94ZXMuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpbmRldGVybWluYXRlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2luZGV0ZXJtaW5hdGUgPSAhIXZhbHVlO1xuICAgIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2UubmV4dCh0aGlzLiNfaW5kZXRlcm1pbmF0ZSk7XG4gICAgaWYgKHRoaXMuaW5wdXRFbCkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRoaXMuI19pbmRldGVybWluYXRlO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaW5kZXRlcm1pbmF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyByZXF1aXJlZCBmb3IgZm9ybSB2YWxpZGF0aW9uLlxuICAgKiBXaGVuIHlvdSBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgdHJ1ZWAsIHRoZSBjb21wb25lbnQgYWRkcyBgYXJpYS1yZXF1aXJlZGAgYW5kIGByZXF1aXJlZGBcbiAgICogYXR0cmlidXRlcyB0byB0aGUgaW5wdXQgZWxlbWVudCBzbyB0aGF0IGZvcm1zIGRpc3BsYXkgYW4gaW52YWxpZCBzdGF0ZSB1bnRpbCB0aGUgaW5wdXQgZWxlbWVudFxuICAgKiBpcyBjb21wbGV0ZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBhcyB0aGUgY2hlY2tib3gncyBsYWJlbC4gVXNlIHRoaXMgaW5zdGVhZCBvZiB0aGUgYHNreS1jaGVja2JveC1sYWJlbGAgd2hlbiB0aGUgbGFiZWwgaXMgdGV4dC1vbmx5LlxuICAgKiBTcGVjaWZ5aW5nIGBsYWJlbFRleHRgIGFsc28gZW5hYmxlcyBhdXRvbWF0aWMgZXJyb3IgbWVzc2FnZSBoYW5kbGluZyBmb3IgY2hlY2tib3guXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWxUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGhpZGUgdGhlIGBsYWJlbFRleHRgLlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBsYWJlbEhpZGRlbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBbUGVyc2lzdGVudCBpbmxpbmUgaGVscCB0ZXh0XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2Rlc2lnbi9ndWlkZWxpbmVzL3VzZXItYXNzaXN0YW5jZSNpbmxpbmUtaGVscCkgdGhhdCBwcm92aWRlc1xuICAgKiBhZGRpdGlvbmFsIGNvbnRleHQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGludFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgc3RhY2tlZCBvbiBhbm90aGVyIGZvcm0gY29tcG9uZW50LiBXaGVuIHNwZWNpZmllZCwgdGhlIGFwcHJvcHJpYXRlXG4gICAqIHZlcnRpY2FsIHNwYWNpbmcgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byB0aGUgY2hlY2tib3guIElmIHRoZSBjaGVja2JveCBpcyB3aXRoaW4gYSBjaGVja2JveCBncm91cCxcbiAgICogc2V0IGBzdGFja2VkYCBvbiB0aGUgY2hlY2tib3ggZ3JvdXAgY29tcG9uZW50IGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5za3ktbWFyZ2luLXN0YWNrZWQtbGcnKVxuICBwdWJsaWMgc3RhY2tlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIGhlbHAga2V5IHRoYXQgaWRlbnRpZmllcyB0aGUgZ2xvYmFsIGhlbHAgY29udGVudCB0byBkaXNwbGF5LiBXaGVuIHNwZWNpZmllZCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIHBsYWNlZCBiZXNpZGUgdGhlIGNoZWNrYm94IGxhYmVsLiBDbGlja2luZyB0aGUgYnV0dG9uIGludm9rZXMgW2dsb2JhbCBoZWxwXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2RldmVsb3AvZ2xvYmFsLWhlbHApXG4gICAqIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3Qgb3IgZGVzZWxlY3QgdGhlIGNoZWNrYm94LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgY2hlY2tlZENoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy4jY2hlY2tlZENoYW5nZU9icztcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWxlY3RlZCB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Rpc2FibGVkQ2hhbmdlT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUgY2hhbmdlcy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpbmRldGVybWluYXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlT2JzO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRFbCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgc2V0IGlucHV0RWwoZWw6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfaW5wdXRFbCA9IGVsO1xuICAgIGlmIChlbCAmJiB0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRoaXMuaW5kZXRlcm1pbmF0ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlucHV0RWwoKTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19pbnB1dEVsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgcHVibGljIGRpc3BsYXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgZ2V0IGlzQ2hlY2tib3hSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoXG4gICAgICB0aGlzLnJlcXVpcmVkIHx8XG4gICAgICB0aGlzLmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSkgfHxcbiAgICAgIHRoaXMuY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBpbnB1dElkID0gJyc7XG5cbiAgI2NoZWNrZWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgI2NoZWNrZWRDaGFuZ2VPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICNkaXNhYmxlZENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAjZGlzYWJsZWRDaGFuZ2VPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICNpbmRldGVybWluYXRlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICNpbmRldGVybWluYXRlQ2hhbmdlT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICNfY2hlY2tlZCA9IGZhbHNlO1xuICAjX2NoZWNrYm94VHlwZSA9ICdpbmZvJztcbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX2luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgI19pbnB1dEVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICAjX25hbWUgPSAnJztcbiAgI19sYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjX2xhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgI2RlZmF1bHRJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgI2xvZ2dlciA9IGluamVjdChTa3lMb2dTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2xhYmVsVGV4dFJlcXVpcmVkID0gaW5qZWN0KFNreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkU2VydmljZSwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNjaGVja2VkQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuI2Rpc2FibGVkQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmRpc2FibGVkKTtcbiAgICB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmRpc2FibGVkKTtcblxuICAgIHRoaXMuI2NoZWNrZWRDaGFuZ2VPYnMgPSB0aGlzLiNjaGVja2VkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI2Rpc2FibGVkQ2hhbmdlT2JzID0gdGhpcy4jZGlzYWJsZWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZU9icyA9IHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICB0aGlzLmlkID0gdGhpcy4jZGVmYXVsdElkO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuI2RlZmF1bHRJZDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jbGFiZWxUZXh0UmVxdWlyZWQgJiYgIXRoaXMubGFiZWxUZXh0KSB7XG4gICAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuXG4gICAgdGhpcy4jbGFiZWxUZXh0UmVxdWlyZWQ/LnZhbGlkYXRlTGFiZWxUZXh0KHRoaXMubGFiZWxUZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8Ym9vbGVhbj4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgdGhpcy5jb250cm9sIHx8PSBjb250cm9sO1xuXG4gICAgLy8gSW4gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLCBBbmd1bGFyJ3MgbmF0aXZlICdyZXF1aXJlZCcgYXR0cmlidXRlIGRpcmVjdGl2ZSBvbmx5IHdvcmtzXG4gICAgLy8gb24gYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgc2VsZWN0b3JzLCBzbyB3ZSBuZWVkIHRvIHdyaXRlIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIG91cnNlbHZlcy5cbiAgICAvLyBBbHNvLCB3ZSdyZSB0cmVhdGluZyBWYWxpZGF0b3JzLnJlcXVpcmVkIHRoZSBzYW1lIGFzIFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlIGludGVybmFsbHksIHNvXG4gICAgLy8gd2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGF0IGRlY2lzaW9uIGluIG91ciBjdXN0b20gdmFsaWRhdG9yLlxuICAgIHJldHVybiB0aGlzLmlzQ2hlY2tib3hSZXF1aXJlZCAmJiBjb250cm9sLnZhbHVlICE9PSB0cnVlXG4gICAgICA/IHsgcmVxdWlyZWQ6IHRydWUgfVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gISF2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciBjaGVja2JveCBpbnB1dCBlbGVtZW50LlxuICAgKiBUb2dnbGVzIGNoZWNrZWQgc3RhdGUgaWYgZWxlbWVudCBpcyBub3QgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgb25JbnRlcmFjdGlvbkV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIFdlIGFsd2F5cyBoYXZlIHRvIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoYW5nZSBldmVudC5cbiAgICAvLyBPdGhlcndpc2UgdGhlIGNoYW5nZSBldmVudCwgZnJvbSB0aGUgaW5wdXQgZWxlbWVudCwgd2lsbCBidWJibGUgdXAgYW5kXG4gICAgLy8gZW1pdCBpdHMgZXZlbnQgb2JqZWN0IHRvIHRoZSBgY2hhbmdlYCBvdXRwdXQuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy4jdG9nZ2xlKCk7XG4gICAgICB0aGlzLiNjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMuY2hlY2tlZCk7XG4gICAgICB0aGlzLiNlbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dEJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgYmx1cnJlZC4gTmVlZGVkIHRvIHByb3Blcmx5IGltcGxlbWVudCBDb250cm9sVmFsdWVBY2Nlc3Nvci4gKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICBwdWJsaWMgb25Ub3VjaGVkOiAoKSA9PiBhbnkgPSAoKSA9PiB7fTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICh2YWx1ZSkgPT4ge307XG5cbiAgI2VtaXRDaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHsgY2hlY2tlZDogdGhpcy5jaGVja2VkIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGBjaGVja2VkYCB2YWx1ZSBiZXR3ZWVuIHRydWUgYW5kIGZhbHNlXG4gICAqL1xuICAjdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwic2t5LWNoZWNrYm94LW91dGVyLXdyYXBwZXJcIj5cbiAgPGxhYmVsXG4gICAgY2xhc3M9XCJza3ktY2hlY2tib3gtd3JhcHBlciBza3ktc3dpdGNoXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiBpc0NoZWNrYm94UmVxdWlyZWQsXG4gICAgICAnc2t5LXN3aXRjaC1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICAgJ3NreS1tYXJnaW4taW5saW5lLXhzJzogbGFiZWxUZXh0ICYmICFpY29uXG4gICAgfVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWlucHV0IHNreS1zd2l0Y2gtaW5wdXRcIlxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgW3JlcXVpcmVkXT1cImlzQ2hlY2tib3hSZXF1aXJlZFwiXG4gICAgICBbdGFiSW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFRleHQgfHwgbGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsVGV4dCA/IHVuZGVmaW5lZCA6IGxhYmVsbGVkQnlcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJoaW50VGV4dCA/IGhpbnRUZXh0RWwuaWQgOiB1bmRlZmluZWRcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJpc0NoZWNrYm94UmVxdWlyZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiISFjb250cm9sPy5lcnJvcnNcIlxuICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiXG4gICAgICAgIGxhYmVsVGV4dCAmJiBjb250cm9sPy5lcnJvcnMgPyBlcnJvcklkIDogdW5kZWZpbmVkXG4gICAgICBcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXN3aXRjaC1pbnZhbGlkJzpcbiAgICAgICAgICAoY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy5kaXJ0eSkgJiYgY29udHJvbD8uZXJyb3JzXG4gICAgICB9XCJcbiAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKClcIlxuICAgICAgKGNoYW5nZSk9XCJvbkludGVyYWN0aW9uRXZlbnQoJGV2ZW50KVwiXG4gICAgICAjaW5wdXRFbFxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic2t5LXN3aXRjaC1jb250cm9sIHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWljb24nOiBpY29uLFxuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWluZm8nOiBjaGVja2JveFR5cGUgPT09ICdpbmZvJyxcbiAgICAgICAgJ3NreS1zd2l0Y2gtY29udHJvbC1zdWNjZXNzJzogY2hlY2tib3hUeXBlID09PSAnc3VjY2VzcycsXG4gICAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtd2FybmluZyc6IGNoZWNrYm94VHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWRhbmdlcic6IGNoZWNrYm94VHlwZSA9PT0gJ2RhbmdlcidcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICAqbmdJZj1cImljb247IGVsc2UgY2hlY2tlZE9ySW5kZXRlcm1pbmF0ZVRlbXBsYXRlXCJcbiAgICAgICAgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY2hlY2tlZE9ySW5kZXRlcm1pbmF0ZVRlbXBsYXRlPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqbmdJZj1cIiFpbmRldGVybWluYXRlICYmIGNoZWNrZWRcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWljb24tbW9kZXJuLWNoZWNrZWRcIlxuICAgICAgICAgIFtmaXhlZFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpuZ0lmPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaWNvbi1pbmRldGVybWluYXRlIHNreS1jaGVja2JveC1pY29uLW1vZGVybi1pbmRldGVybWluYXRlXCJcbiAgICAgICAgICBbZml4ZWRXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICBpY29uPVwic3F1YXJlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsVGV4dDsgZWxzZSBsYWJlbEVsZW1lbnRcIj5cbiAgICAgIDxza3ktY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbFxuICAgICAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXG4gICAgICAgIFtsYWJlbEhpZGRlbl09XCJsYWJlbEhpZGRlblwiXG4gICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWxFbGVtZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWNoZWNrYm94LWxhYmVsXCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xhYmVsPlxuICA8c2t5LWhlbHAtaW5saW5lXG4gICAgKm5nSWY9XCIoaGVscFBvcG92ZXJDb250ZW50IHx8IGhlbHBLZXkpICYmIGxhYmVsVGV4dFwiXG4gICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaGVscC1pbmxpbmVcIlxuICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgICBbcG9wb3ZlclRpdGxlXT1cImhlbHBQb3BvdmVyVGl0bGVcIlxuICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAvPlxuPC9zcGFuPlxuPHNwYW4gc2t5SWQgI2hpbnRUZXh0RWw9XCJza3lJZFwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJoaW50VGV4dFwiXG4gICAgY2xhc3M9XCJza3ktZm9udC1kZWVtcGhhc2l6ZWQgc2t5LWNoZWNrYm94LWhpbnQtdGV4dCBza3ktY2hlY2tib3gtZm9ybS1tYXJnaW5cIlxuICA+XG4gICAge3sgaGludFRleHQgfX1cbiAgPC9kaXY+XG48L3NwYW4+XG48c2t5LWZvcm0tZXJyb3JzXG4gIGNsYXNzPVwic2t5LWNoZWNrYm94LWZvcm0tbWFyZ2luXCJcbiAgKm5nSWY9XCJsYWJlbFRleHQgJiYgY29udHJvbD8uZXJyb3JzXCJcbiAgW2lkXT1cImVycm9ySWRcIlxuICBbZXJyb3JzXT1cImNvbnRyb2w/LmVycm9yc1wiXG4gIFtsYWJlbFRleHRdPVwiJ3NreXV4X2NoZWNrYm94X3JlcXVpcmVkX2xhYmVsX3RleHQnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgW3Nob3dFcnJvcnNdPVwiY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy5kaXJ0eVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1mb3JtLWVycm9yXCIgLz5cbjwvc2t5LWZvcm0tZXJyb3JzPlxuIl19
407
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGFBQWEsRUFDYixpQkFBaUIsRUFHakIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7O0FBSTVHOzs7R0FHRztBQXlCSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COzs7Ozs7T0FNRztJQUNILElBQ1csS0FBSyxDQUFDLEtBQXlCO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyw0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QkFvQi9CLFFBQVE7c0JBRGQsS0FBSztnQkFRSyxJQUFJO3NCQURkLEtBQUs7Z0JBbUJDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFRQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBUUMsTUFBTTtzQkFGWixNQUFNO2dCQVNBLElBQUk7c0JBRFYsS0FBSztnQkFhSyxZQUFZO3NCQUR0QixLQUFLO2dCQW9CSyxPQUFPO3NCQURqQixLQUFLO2dCQXFCSyxhQUFhO3NCQUR2QixLQUFLO2dCQXNCQyxRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUS9CLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVEvQixRQUFRO3NCQURkLEtBQUs7Z0JBVUMsT0FBTztzQkFGYixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFOztzQkFDckMsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBU25DLE9BQU87c0JBRGIsS0FBSztnQkFPSyxhQUFhO3NCQUR2QixNQUFNO2dCQVNJLGNBQWM7c0JBRHhCLE1BQU07Z0JBVUksbUJBQW1CO3NCQUQ3QixNQUFNO2dCQU1JLE9BQU87c0JBRGpCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZFNlcnZpY2UsIFNreUxvZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUaGVtZUNvbXBvbmVudENsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNLWV9GT1JNX0VSUk9SU19FTkFCTEVEIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy1lbmFibGVkLXRva2VuJztcbmltcG9ydCB7IFNreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm0tZmllbGQtbGFiZWwtdGV4dC1yZXF1aXJlZC5kaXJlY3RpdmUnO1xuXG5pbXBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJy4vY2hlY2tib3gtY2hhbmdlJztcblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgSFRNTCBpbnB1dCBlbGVtZW50IHdpdGggYHR5cGU9XCJjaGVja2JveFwiYC4gV2hlbiB1c2VycyBzZWxlY3QgYSBjaGVja2JveCwgaXRzIHZhbHVlXG4gKiBpcyBkcml2ZW4gdGhyb3VnaCBhbiBgbmdNb2RlbGAgYXR0cmlidXRlIHRoYXQgeW91IHNwZWNpZnkgb24gdGhlIGBza3ktY2hlY2tib3hgIGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL2NoZWNrYm94LmRlZmF1bHQuY29tcG9uZW50LnNjc3MnLFxuICAgICcuL2NoZWNrYm94Lm1vZGVybi5jb21wb25lbnQuc2NzcycsXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgU2t5VGhlbWVDb21wb25lbnRDbGFzc0RpcmVjdGl2ZSxcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFNreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkRGlyZWN0aXZlLFxuICAgICAgaW5wdXRzOiBbJ2xhYmVsVGV4dCddLFxuICAgIH0sXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFNreUNoZWNrYm94Q29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreUNoZWNrYm94Q29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IFNLWV9GT1JNX0VSUk9SU19FTkFCTEVELCB1c2VWYWx1ZTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSBjaGVja2JveC4gVGhpcyBzZXRzIHRoZSBjaGVja2JveCdzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2NoZWNrYm94I2FjY2Vzc2liaWxpdHkpXG4gICAqIHdoZW4gdGhlIGNoZWNrYm94IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLiBZb3UgbXVzdCBzZXQgdGhpcyBwcm9wZXJ0eSBmb3IgaWNvblxuICAgKiBjaGVja2JveGVzLiBJZiB0aGUgY2hlY2tib3ggaW5jbHVkZXMgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGxhYmVsbGVkQnlgIGluc3RlYWQuXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgbGFiZWxUZXh0YCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2xhYmVsID0gdmFsdWU7XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI2xvZ2dlci5kZXByZWNhdGVkKCdTa3lDaGVja2JveENvbXBvbmVudC5sYWJlbCcsIHtcbiAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19sYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgSFRNTCBlbGVtZW50IElEIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzIHRoZVxuICAgKiBjaGVja2JveC4gVGhpcyBzZXRzIHRoZSBjaGVja2JveCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvY2hlY2tib3gjYWNjZXNzaWJpbGl0eSkuXG4gICAqIElmIHRoZSBjaGVja2JveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBsYWJlbGAgaW5zdGVhZC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBsYWJlbFRleHRgIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGxhYmVsbGVkQnkodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19sYWJlbGxlZEJ5ID0gdmFsdWU7XG5cbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI2xvZ2dlci5kZXByZWNhdGVkKCdTa3lDaGVja2JveENvbXBvbmVudC5sYWJlbGxlZEJ5Jywge1xuICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogOSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbGFiZWxsZWRCeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgSUQgZm9yIHRoZSBjaGVja2JveC5cbiAgICogSWYgYSB2YWx1ZSBpcyBub3QgcHJvdmlkZWQsIGFuIGF1dG9nZW5lcmF0ZWQgSUQgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5pbnB1dElkID0gYHNreS1jaGVja2JveC0ke3ZhbHVlfS1pbnB1dGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5wdXRJZCA9IGBza3ktY2hlY2tib3gtJHt0aGlzLiNkZWZhdWx0SWR9LWlucHV0YDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSBjaGVja2JveCBvbiB0ZW1wbGF0ZS1kcml2ZW4gZm9ybXMuIERvbid0IHVzZSB0aGlzIGlucHV0IG9uIHJlYWN0aXZlIGZvcm1zIGJlY2F1c2UgdGhleSBtYXkgb3ZlcndyaXRlIHRoZSBpbnB1dCBvciBsZWF2ZSB0aGUgY29udHJvbCBvdXQgb2Ygc3luYy5cbiAgICogVG8gc2V0IHRoZSBkaXNhYmxlZCBzdGF0ZSBvbiByZWFjdGl2ZSBmb3JtcywgdXNlIHRoZSBgRm9ybUNvbnRyb2xgIGluc3RlYWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jX2Rpc2FibGVkKSB7XG4gICAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2Rpc2FibGVkQ2hhbmdlLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5kZXggZm9yIHRoZSBjaGVja2JveC4gSWYgbm90IGRlZmluZWQsIHRoZSBpbmRleCBpcyBzZXQgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZVxuICAgKiBjaGVja2JveCBvbiBsb2FkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRhYmluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQgPSAwO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBmb3IgdGhlIGNoZWNrYm94LlxuICAgKiBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgYW4gYXV0b2dlbmVyYXRlZCBJRCBpcyB1c2VkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT09IHRoaXMuI2RlZmF1bHRJZCkge1xuICAgICAgdGhpcy4jX25hbWUgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jX25hbWUgPSBgc2t5LWNoZWNrYm94LSR7dGhpcy4jZGVmYXVsdElkfWA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBoZWxwIHBvcG92ZXIuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgY2hlY2tib3ggbGFiZWwuIFRoZSBoZWxwIGlubGluZSBidXR0b24gZGlzcGxheXMgYSBbcG9wb3Zlcl0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3BvcG92ZXIpXG4gICAqIHdoZW4gY2xpY2tlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbmFsIHRpdGxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgcHVibGljIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5Q2hlY2tib3hDaGFuZ2U+KCk7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIGRpc3BsYXkgaW4gcGxhY2Ugb2YgdGhlIGNoZWNrYm94LiBUbyBncm91cCBpY29uIGNoZWNrYm94ZXNcbiAgICogbGlrZSBpbiB0aGUgZGVtbywgcGxhY2UgdGhlIGNoZWNrYm94ZXMgd2l0aGluIGEgYHNreS1jaGVja2JveC1ncm91cGAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFja2dyb3VuZCBjb2xvciB0eXBlIGFmdGVyIHVzZXJzIHNlbGVjdCBhIGNoZWNrYm94IHdoZXJlIHRoZVxuICAgKiBgaWNvbmAgcHJvcGVydHkgZGlzcGxheXMgYW4gaWNvbiBpbiBwbGFjZSBvZiB0aGUgY2hlY2tib3guIFRoZSB2YWxpZCBvcHRpb25zIGNvcnJlc3BvbmQgdG9cbiAgICogW3RoZSBsYWJlbCBjb21wb25lbnQnc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2xhYmVsKVxuICAgKiBsYWJlbCB0eXBlcy4gYFwiaW5mb1wiYCBjcmVhdGVzIGEgYmx1ZSBiYWNrZ3JvdW5kLCBgXCJzdWNjZXNzXCJgIGNyZWF0ZXMgYSBncmVlblxuICAgKiBiYWNrZ3JvdW5kLCBgXCJ3YXJuaW5nXCJgIGNyZWF0ZXMgYW4gb3JhbmdlIGJhY2tncm91bmQsIGFuZCBgXCJkYW5nZXJcImAgY3JlYXRlcyBhIHJlZCBiYWNrZ3JvdW5kLlxuICAgKiBAZGVmYXVsdCBcImluZm9cIlxuICAgKiBAZGVwcmVjYXRlZCBjaGVja2JveFR5cGUgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGVja2JveFR5cGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUNoZWNrYm94Q29tcG9uZW50LmNoZWNrYm94VHlwZScsIHtcbiAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLiNfY2hlY2tib3hUeXBlID0gdmFsdWUgPyB2YWx1ZS50b0xvd2VyQ2FzZSgpIDogJ2luZm8nO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoZWNrYm94VHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzZWxlY3RlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNoZWNrZWQgPSAhIXZhbHVlO1xuICAgIGlmIChjaGVja2VkICE9PSB0aGlzLiNfY2hlY2tlZCkge1xuICAgICAgdGhpcy4jX2NoZWNrZWQgPSBjaGVja2VkO1xuICAgICAgdGhpcy4jY2hlY2tlZENoYW5nZS5uZXh0KGNoZWNrZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzZWxlY3RlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoZWNrZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgaW4gdGhlIGluZGV0ZXJtaW5hdGUgc3RhdGUuIFRoaXMgaGFzIG5vIHZpc3VhbCBlZmZlY3QgZm9yIGljb24gY2hlY2tib3hlcy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGluZGV0ZXJtaW5hdGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfaW5kZXRlcm1pbmF0ZSA9ICEhdmFsdWU7XG4gICAgdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZS5uZXh0KHRoaXMuI19pbmRldGVybWluYXRlKTtcbiAgICBpZiAodGhpcy5pbnB1dEVsKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5pbmRldGVybWluYXRlID0gdGhpcy4jX2luZGV0ZXJtaW5hdGU7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pbmRldGVybWluYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGlucHV0IGlzIHJlcXVpcmVkIGZvciBmb3JtIHZhbGlkYXRpb24uXG4gICAqIFdoZW4geW91IHNldCB0aGlzIHByb3BlcnR5IHRvIGB0cnVlYCwgdGhlIGNvbXBvbmVudCBhZGRzIGBhcmlhLXJlcXVpcmVkYCBhbmQgYHJlcXVpcmVkYFxuICAgKiBhdHRyaWJ1dGVzIHRvIHRoZSBpbnB1dCBlbGVtZW50IHNvIHRoYXQgZm9ybXMgZGlzcGxheSBhbiBpbnZhbGlkIHN0YXRlIHVudGlsIHRoZSBpbnB1dCBlbGVtZW50XG4gICAqIGlzIGNvbXBsZXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBjaGVja2JveCdzIGxhYmVsLiBVc2UgdGhpcyBpbnN0ZWFkIG9mIHRoZSBgc2t5LWNoZWNrYm94LWxhYmVsYCB3aGVuIHRoZSBsYWJlbCBpcyB0ZXh0LW9ubHkuXG4gICAqIFNwZWNpZnlpbmcgYGxhYmVsVGV4dGAgYWxzbyBlbmFibGVzIGF1dG9tYXRpYyBlcnJvciBtZXNzYWdlIGhhbmRsaW5nIGZvciBjaGVja2JveC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gaGlkZSB0aGUgYGxhYmVsVGV4dGAuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGxhYmVsSGlkZGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFtQZXJzaXN0ZW50IGlubGluZSBoZWxwIHRleHRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvZGVzaWduL2d1aWRlbGluZXMvdXNlci1hc3Npc3RhbmNlI2lubGluZS1oZWxwKSB0aGF0IHByb3ZpZGVzXG4gICAqIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgdXNlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaW50VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZm9ybSBjb21wb25lbnQuIFdoZW4gc3BlY2lmaWVkLCB0aGUgYXBwcm9wcmlhdGVcbiAgICogdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBjaGVja2JveC4gSWYgdGhlIGNoZWNrYm94IGlzIHdpdGhpbiBhIGNoZWNrYm94IGdyb3VwLFxuICAgKiBzZXQgYHN0YWNrZWRgIG9uIHRoZSBjaGVja2JveCBncm91cCBjb21wb25lbnQgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNreS1tYXJnaW4tc3RhY2tlZC1sZycpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkLCBhIFtoZWxwIGlubGluZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2hlbHAtaW5saW5lKVxuICAgKiBidXR0b24gaXMgcGxhY2VkIGJlc2lkZSB0aGUgY2hlY2tib3ggbGFiZWwuIENsaWNraW5nIHRoZSBidXR0b24gaW52b2tlcyBbZ2xvYmFsIGhlbHBdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZGV2ZWxvcC9nbG9iYWwtaGVscClcbiAgICogYXMgY29uZmlndXJlZCBieSB0aGUgYXBwbGljYXRpb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBvciBkZXNlbGVjdCB0aGUgY2hlY2tib3guXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBjaGVja2VkQ2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNjaGVja2VkQ2hhbmdlT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlbGVjdGVkIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZENoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy4jZGlzYWJsZWRDaGFuZ2VPYnM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBjaGFuZ2VzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2VPYnM7XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dEVsJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBzZXQgaW5wdXRFbChlbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pbnB1dEVsID0gZWw7XG4gICAgaWYgKGVsICYmIHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgZWwubmF0aXZlRWxlbWVudC5pbmRldGVybWluYXRlID0gdGhpcy5pbmRldGVybWluYXRlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lucHV0RWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQ2hlY2tib3hSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoXG4gICAgICB0aGlzLnJlcXVpcmVkIHx8XG4gICAgICB0aGlzLmNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSkgfHxcbiAgICAgIHRoaXMuY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBpbnB1dElkID0gJyc7XG5cbiAgI2NoZWNrZWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgI2NoZWNrZWRDaGFuZ2VPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICNkaXNhYmxlZENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAjZGlzYWJsZWRDaGFuZ2VPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICNpbmRldGVybWluYXRlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICNpbmRldGVybWluYXRlQ2hhbmdlT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICNfY2hlY2tlZCA9IGZhbHNlO1xuICAjX2NoZWNrYm94VHlwZSA9ICdpbmZvJztcbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX2luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgI19pbnB1dEVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICAjX25hbWUgPSAnJztcbiAgI19sYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjX2xhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgI2RlZmF1bHRJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgI2xvZ2dlciA9IGluamVjdChTa3lMb2dTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNjaGVja2VkQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuI2Rpc2FibGVkQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmRpc2FibGVkKTtcbiAgICB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLmRpc2FibGVkKTtcblxuICAgIHRoaXMuI2NoZWNrZWRDaGFuZ2VPYnMgPSB0aGlzLiNjaGVja2VkQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI2Rpc2FibGVkQ2hhbmdlT2JzID0gdGhpcy4jZGlzYWJsZWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZU9icyA9IHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICB0aGlzLmlkID0gdGhpcy4jZGVmYXVsdElkO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuI2RlZmF1bHRJZDtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8Ym9vbGVhbj4pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgdGhpcy5jb250cm9sIHx8PSBjb250cm9sO1xuXG4gICAgLy8gSW4gdGVtcGxhdGUtZHJpdmVuIGZvcm1zLCBBbmd1bGFyJ3MgbmF0aXZlICdyZXF1aXJlZCcgYXR0cmlidXRlIGRpcmVjdGl2ZSBvbmx5IHdvcmtzXG4gICAgLy8gb24gYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgc2VsZWN0b3JzLCBzbyB3ZSBuZWVkIHRvIHdyaXRlIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIG91cnNlbHZlcy5cbiAgICAvLyBBbHNvLCB3ZSdyZSB0cmVhdGluZyBWYWxpZGF0b3JzLnJlcXVpcmVkIHRoZSBzYW1lIGFzIFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlIGludGVybmFsbHksIHNvXG4gICAgLy8gd2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGF0IGRlY2lzaW9uIGluIG91ciBjdXN0b20gdmFsaWRhdG9yLlxuICAgIHJldHVybiB0aGlzLmlzQ2hlY2tib3hSZXF1aXJlZCAmJiBjb250cm9sLnZhbHVlICE9PSB0cnVlXG4gICAgICA/IHsgcmVxdWlyZWQ6IHRydWUgfVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gISF2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciBjaGVja2JveCBpbnB1dCBlbGVtZW50LlxuICAgKiBUb2dnbGVzIGNoZWNrZWQgc3RhdGUgaWYgZWxlbWVudCBpcyBub3QgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgb25JbnRlcmFjdGlvbkV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIC8vIFdlIGFsd2F5cyBoYXZlIHRvIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoYW5nZSBldmVudC5cbiAgICAvLyBPdGhlcndpc2UgdGhlIGNoYW5nZSBldmVudCwgZnJvbSB0aGUgaW5wdXQgZWxlbWVudCwgd2lsbCBidWJibGUgdXAgYW5kXG4gICAgLy8gZW1pdCBpdHMgZXZlbnQgb2JqZWN0IHRvIHRoZSBgY2hhbmdlYCBvdXRwdXQuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy4jdG9nZ2xlKCk7XG4gICAgICB0aGlzLiNjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMuY2hlY2tlZCk7XG4gICAgICB0aGlzLiNlbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dEJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKiBDYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggaXMgYmx1cnJlZC4gTmVlZGVkIHRvIHByb3Blcmx5IGltcGxlbWVudCBDb250cm9sVmFsdWVBY2Nlc3Nvci4gKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICBwdWJsaWMgb25Ub3VjaGVkOiAoKSA9PiBhbnkgPSAoKSA9PiB7fTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICh2YWx1ZSkgPT4ge307XG5cbiAgI2VtaXRDaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHsgY2hlY2tlZDogdGhpcy5jaGVja2VkIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZXMgdGhlIGBjaGVja2VkYCB2YWx1ZSBiZXR3ZWVuIHRydWUgYW5kIGZhbHNlXG4gICAqL1xuICAjdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwic2t5LWNoZWNrYm94LW91dGVyLXdyYXBwZXJcIj5cbiAgPGxhYmVsXG4gICAgY2xhc3M9XCJza3ktY2hlY2tib3gtd3JhcHBlciBza3ktc3dpdGNoXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiBpc0NoZWNrYm94UmVxdWlyZWQsXG4gICAgICAnc2t5LXN3aXRjaC1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICAgJ3NreS1tYXJnaW4taW5saW5lLXhzJzogbGFiZWxUZXh0ICYmICFpY29uXG4gICAgfVwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWlucHV0IHNreS1zd2l0Y2gtaW5wdXRcIlxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgW3JlcXVpcmVkXT1cImlzQ2hlY2tib3hSZXF1aXJlZFwiXG4gICAgICBbdGFiSW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFRleHQgfHwgbGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsVGV4dCA/IHVuZGVmaW5lZCA6IGxhYmVsbGVkQnlcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJoaW50VGV4dCA/IGhpbnRUZXh0RWwuaWQgOiB1bmRlZmluZWRcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJpc0NoZWNrYm94UmVxdWlyZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiISFjb250cm9sPy5lcnJvcnNcIlxuICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiXG4gICAgICAgIGxhYmVsVGV4dCAmJiBjb250cm9sPy5lcnJvcnMgPyBlcnJvcklkIDogdW5kZWZpbmVkXG4gICAgICBcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXN3aXRjaC1pbnZhbGlkJzpcbiAgICAgICAgICAoY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy5kaXJ0eSkgJiYgY29udHJvbD8uZXJyb3JzXG4gICAgICB9XCJcbiAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKClcIlxuICAgICAgKGNoYW5nZSk9XCJvbkludGVyYWN0aW9uRXZlbnQoJGV2ZW50KVwiXG4gICAgICAjaW5wdXRFbFxuICAgIC8+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic2t5LXN3aXRjaC1jb250cm9sIHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWljb24nOiBpY29uLFxuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWluZm8nOiBjaGVja2JveFR5cGUgPT09ICdpbmZvJyxcbiAgICAgICAgJ3NreS1zd2l0Y2gtY29udHJvbC1zdWNjZXNzJzogY2hlY2tib3hUeXBlID09PSAnc3VjY2VzcycsXG4gICAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtd2FybmluZyc6IGNoZWNrYm94VHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWRhbmdlcic6IGNoZWNrYm94VHlwZSA9PT0gJ2RhbmdlcidcbiAgICAgIH1cIlxuICAgID5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICAqbmdJZj1cImljb247IGVsc2UgY2hlY2tlZE9ySW5kZXRlcm1pbmF0ZVRlbXBsYXRlXCJcbiAgICAgICAgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgLz5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY2hlY2tlZE9ySW5kZXRlcm1pbmF0ZVRlbXBsYXRlPlxuICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAqbmdJZj1cIiFpbmRldGVybWluYXRlICYmIGNoZWNrZWRcIlxuICAgICAgICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWljb24tbW9kZXJuLWNoZWNrZWRcIlxuICAgICAgICAgIFtmaXhlZFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICpuZ0lmPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaWNvbi1pbmRldGVybWluYXRlIHNreS1jaGVja2JveC1pY29uLW1vZGVybi1pbmRldGVybWluYXRlXCJcbiAgICAgICAgICBbZml4ZWRXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICBpY29uPVwic3F1YXJlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsVGV4dDsgZWxzZSBsYWJlbEVsZW1lbnRcIj5cbiAgICAgIDxza3ktY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbFxuICAgICAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXG4gICAgICAgIFtsYWJlbEhpZGRlbl09XCJsYWJlbEhpZGRlblwiXG4gICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWxFbGVtZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWNoZWNrYm94LWxhYmVsXCIgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xhYmVsPlxuICA8c2t5LWhlbHAtaW5saW5lXG4gICAgKm5nSWY9XCIoaGVscFBvcG92ZXJDb250ZW50IHx8IGhlbHBLZXkpICYmIGxhYmVsVGV4dFwiXG4gICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaGVscC1pbmxpbmVcIlxuICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgICBbcG9wb3ZlclRpdGxlXT1cImhlbHBQb3BvdmVyVGl0bGVcIlxuICAgIFtwb3BvdmVyQ29udGVudF09XCJoZWxwUG9wb3ZlckNvbnRlbnRcIlxuICAvPlxuPC9zcGFuPlxuPHNwYW4gc2t5SWQgI2hpbnRUZXh0RWw9XCJza3lJZFwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJoaW50VGV4dFwiXG4gICAgY2xhc3M9XCJza3ktZm9udC1kZWVtcGhhc2l6ZWQgc2t5LWNoZWNrYm94LWhpbnQtdGV4dCBza3ktY2hlY2tib3gtZm9ybS1tYXJnaW5cIlxuICA+XG4gICAge3sgaGludFRleHQgfX1cbiAgPC9kaXY+XG48L3NwYW4+XG48c2t5LWZvcm0tZXJyb3JzXG4gIGNsYXNzPVwic2t5LWNoZWNrYm94LWZvcm0tbWFyZ2luXCJcbiAgKm5nSWY9XCJsYWJlbFRleHQgJiYgY29udHJvbD8uZXJyb3JzXCJcbiAgW2lkXT1cImVycm9ySWRcIlxuICBbZXJyb3JzXT1cImNvbnRyb2w/LmVycm9yc1wiXG4gIFtsYWJlbFRleHRdPVwiJ3NreXV4X2NoZWNrYm94X3JlcXVpcmVkX2xhYmVsX3RleHQnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgW3Nob3dFcnJvcnNdPVwiY29udHJvbD8udG91Y2hlZCB8fCBjb250cm9sPy5kaXJ0eVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1mb3JtLWVycm9yXCIgLz5cbjwvc2t5LWZvcm0tZXJyb3JzPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQtY2hhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lGaWxlSXRlbSB9IGZyb20gJy4uL3NoYXJlZC9maWxlLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNreUZpbGVBdHRhY2htZW50Q2hhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRoYXQgd2FzIGFkZGVkLCBvciB1bmRlZmluZWQgaWYgdGhlIGZpbGUgd2FzIHJlbW92ZWQuXG4gICAqL1xuICBmaWxlPzogU2t5RmlsZUl0ZW07XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWNsaWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1jbGljay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuLi9zaGFyZWQvZmlsZS1pdGVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTa3lGaWxlQXR0YWNobWVudENsaWNrIHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRoYXQgd2FzIGNsaWNrZWQuXG4gICAqL1xuICBmaWxlOiBTa3lGaWxlSXRlbTtcbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, ViewChild, inject, } from '@angular/core';
3
+ import { SkyIdModule, SkyLogService, SkyTrimModule } from '@skyux/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@skyux/core";
6
+ /**
7
+ * Displays a label above the file attachment element. To display a help button
8
+ * beside the label, include a help button element, such as `sky-help-inline`,
9
+ * in the `sky-file-attachment-label` element and a `sky-control-help` CSS class
10
+ * on that help button element.
11
+ * @deprecated Use the `labelText` input on the single file attachment component
12
+ * instead.
13
+ */
14
+ export class SkyFileAttachmentLabelComponent {
15
+ constructor() {
16
+ inject(SkyLogService).deprecated('SkyFileAttachmentLabelComponent', {
17
+ deprecationMajorVersion: 9,
18
+ replacementRecommendation: 'To add a label to single file attachment, use the `labelText` input ' +
19
+ 'on the `sky-file-attachment` component instead.',
20
+ });
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileAttachmentLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SkyFileAttachmentLabelComponent, isStandalone: true, selector: "sky-file-attachment-label", viewQueries: [{ propertyName: "labelContentId", first: true, predicate: ["labelContentId"], descendants: true }], ngImport: i0, template: "<span class=\"sky-control-label\"\n ><span skyId skyTrim #labelContentId=\"skyId\"><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\" /></span\n></span>\n", styles: [":host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyTrimModule }, { kind: "directive", type: i1.λ4, selector: "[skyTrim]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFileAttachmentLabelComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, SkyIdModule, SkyTrimModule], selector: 'sky-file-attachment-label', standalone: true, template: "<span class=\"sky-control-label\"\n ><span skyId skyTrim #labelContentId=\"skyId\"><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\" /></span\n></span>\n", styles: [":host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}\n"] }]
28
+ }], ctorParameters: () => [], propDecorators: { labelContentId: [{
29
+ type: ViewChild,
30
+ args: ['labelContentId']
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUV4RTs7Ozs7OztHQU9HO0FBU0gsTUFBTSxPQUFPLCtCQUErQjtJQUkxQztRQUNFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLENBQUMsaUNBQWlDLEVBQUU7WUFDbEUsdUJBQXVCLEVBQUUsQ0FBQztZQUMxQix5QkFBeUIsRUFDdkIsc0VBQXNFO2dCQUN0RSxpREFBaUQ7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FYVSwrQkFBK0I7a0dBQS9CLCtCQUErQix1TUN6QjVDLDZOQUtBLDhNRGNZLFlBQVksOEJBQUUsV0FBVyw0R0FBRSxhQUFhOzsyRkFNdkMsK0JBQStCO2tCQVIzQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxZQUN6QywyQkFBMkIsY0FDekIsSUFBSTt3REFNVCxjQUFjO3NCQURwQixTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSwgU2t5TG9nU2VydmljZSwgU2t5VHJpbU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIGxhYmVsIGFib3ZlIHRoZSBmaWxlIGF0dGFjaG1lbnQgZWxlbWVudC4gVG8gZGlzcGxheSBhIGhlbHAgYnV0dG9uXG4gKiBiZXNpZGUgdGhlIGxhYmVsLCBpbmNsdWRlIGEgaGVscCBidXR0b24gZWxlbWVudCwgc3VjaCBhcyBgc2t5LWhlbHAtaW5saW5lYCxcbiAqIGluIHRoZSBgc2t5LWZpbGUtYXR0YWNobWVudC1sYWJlbGAgZWxlbWVudCBhbmQgYSBgc2t5LWNvbnRyb2wtaGVscGAgQ1NTIGNsYXNzXG4gKiBvbiB0aGF0IGhlbHAgYnV0dG9uIGVsZW1lbnQuXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGBsYWJlbFRleHRgIGlucHV0IG9uIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50IGNvbXBvbmVudFxuICogaW5zdGVhZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTa3lJZE1vZHVsZSwgU2t5VHJpbU1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnc2t5LWZpbGUtYXR0YWNobWVudC1sYWJlbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdsYWJlbENvbnRlbnRJZCcpXG4gIHB1YmxpYyBsYWJlbENvbnRlbnRJZDogeyBpZDogc3RyaW5nIH0gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaW5qZWN0KFNreUxvZ1NlcnZpY2UpLmRlcHJlY2F0ZWQoJ1NreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQnLCB7XG4gICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogOSxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246XG4gICAgICAgICdUbyBhZGQgYSBsYWJlbCB0byBzaW5nbGUgZmlsZSBhdHRhY2htZW50LCB1c2UgdGhlIGBsYWJlbFRleHRgIGlucHV0ICcgK1xuICAgICAgICAnb24gdGhlIGBza3ktZmlsZS1hdHRhY2htZW50YCBjb21wb25lbnQgaW5zdGVhZC4nLFxuICAgIH0pO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgPjxzcGFuIHNreUlkIHNreVRyaW0gI2xhYmVsQ29udGVudElkPVwic2t5SWRcIj48bmctY29udGVudCAvPjwvc3BhblxuICA+PHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiXG4gICAgPjxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCIgLz48L3NwYW5cbj48L3NwYW4+XG4iXX0=