@skyux/lookup 11.31.0 → 12.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/documentation.json +1525 -1512
  2. package/fesm2022/skyux-lookup-testing.mjs +8 -8
  3. package/fesm2022/skyux-lookup-testing.mjs.map +1 -1
  4. package/fesm2022/skyux-lookup.mjs +74 -72
  5. package/fesm2022/skyux-lookup.mjs.map +1 -1
  6. package/lib/modules/lookup/lookup-autocomplete-adapter.d.ts +1 -1
  7. package/package.json +18 -22
  8. package/esm2022/index.mjs +0 -19
  9. package/esm2022/lib/modules/autocomplete/autocomplete-adapter.service.mjs +0 -61
  10. package/esm2022/lib/modules/autocomplete/autocomplete-default-search-function.mjs +0 -39
  11. package/esm2022/lib/modules/autocomplete/autocomplete-input.directive.mjs +0 -241
  12. package/esm2022/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +0 -19
  13. package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +0 -900
  14. package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +0 -61
  15. package/esm2022/lib/modules/autocomplete/types/autocomplete-default-search-function-options.mjs +0 -2
  16. package/esm2022/lib/modules/autocomplete/types/autocomplete-input-text-change.mjs +0 -2
  17. package/esm2022/lib/modules/autocomplete/types/autocomplete-message-type.mjs +0 -15
  18. package/esm2022/lib/modules/autocomplete/types/autocomplete-message.mjs +0 -2
  19. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-args.mjs +0 -2
  20. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-async-args.mjs +0 -2
  21. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-async-function.mjs +0 -2
  22. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.mjs +0 -2
  23. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-async-result.mjs +0 -2
  24. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-context.mjs +0 -2
  25. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-function-filter.mjs +0 -2
  26. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-function-response.mjs +0 -2
  27. package/esm2022/lib/modules/autocomplete/types/autocomplete-search-function.mjs +0 -2
  28. package/esm2022/lib/modules/autocomplete/types/autocomplete-selection-change.mjs +0 -2
  29. package/esm2022/lib/modules/autocomplete/types/autocomplete-show-more-args.mjs +0 -2
  30. package/esm2022/lib/modules/country-field/country-field.component.mjs +0 -410
  31. package/esm2022/lib/modules/country-field/country-field.module.mjs +0 -43
  32. package/esm2022/lib/modules/country-field/types/country-field-context-token.mjs +0 -6
  33. package/esm2022/lib/modules/country-field/types/country-field-context.mjs +0 -2
  34. package/esm2022/lib/modules/country-field/types/country.mjs +0 -2
  35. package/esm2022/lib/modules/lookup/lookup-adapter.service.mjs +0 -21
  36. package/esm2022/lib/modules/lookup/lookup-autocomplete-adapter.mjs +0 -116
  37. package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +0 -306
  38. package/esm2022/lib/modules/lookup/lookup.component.mjs +0 -765
  39. package/esm2022/lib/modules/lookup/lookup.module.mjs +0 -40
  40. package/esm2022/lib/modules/lookup/types/lookup-add-click-callback-args.mjs +0 -2
  41. package/esm2022/lib/modules/lookup/types/lookup-add-click-event-args.mjs +0 -2
  42. package/esm2022/lib/modules/lookup/types/lookup-select-mode-type.mjs +0 -2
  43. package/esm2022/lib/modules/lookup/types/lookup-select-mode.mjs +0 -16
  44. package/esm2022/lib/modules/lookup/types/lookup-show-more-config.mjs +0 -2
  45. package/esm2022/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +0 -7
  46. package/esm2022/lib/modules/lookup/types/lookup-show-more-custom-picker.mjs +0 -2
  47. package/esm2022/lib/modules/lookup/types/lookup-show-more-native-picker-config.mjs +0 -2
  48. package/esm2022/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +0 -17
  49. package/esm2022/lib/modules/search/search-adapter.service.mjs +0 -46
  50. package/esm2022/lib/modules/search/search.component.mjs +0 -294
  51. package/esm2022/lib/modules/search/search.module.mjs +0 -44
  52. package/esm2022/lib/modules/selection-modal/selection-modal-item-selected.pipe.mjs +0 -20
  53. package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +0 -246
  54. package/esm2022/lib/modules/selection-modal/selection-modal.module.mjs +0 -15
  55. package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +0 -90
  56. package/esm2022/lib/modules/selection-modal/types/selection-modal-add-click-callback-args.mjs +0 -2
  57. package/esm2022/lib/modules/selection-modal/types/selection-modal-add-click-event-args.mjs +0 -2
  58. package/esm2022/lib/modules/selection-modal/types/selection-modal-close-args.mjs +0 -2
  59. package/esm2022/lib/modules/selection-modal/types/selection-modal-context.mjs +0 -18
  60. package/esm2022/lib/modules/selection-modal/types/selection-modal-instance.mjs +0 -45
  61. package/esm2022/lib/modules/selection-modal/types/selection-modal-open-args.mjs +0 -2
  62. package/esm2022/lib/modules/selection-modal/types/selection-modal-result.mjs +0 -2
  63. package/esm2022/lib/modules/selection-modal/types/selection-modal-search-args.mjs +0 -2
  64. package/esm2022/lib/modules/selection-modal/types/selection-modal-search-result.mjs +0 -2
  65. package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +0 -71
  66. package/esm2022/lib/modules/shared/sky-lookup-string-utils.mjs +0 -8
  67. package/esm2022/skyux-lookup.mjs +0 -5
  68. package/esm2022/testing/legacy/country-field/country-field-fixture.mjs +0 -121
  69. package/esm2022/testing/legacy/country-field/country-field-testing.module.mjs +0 -18
  70. package/esm2022/testing/legacy/search/search-fixture.mjs +0 -61
  71. package/esm2022/testing/legacy/search/search-testing.module.mjs +0 -19
  72. package/esm2022/testing/modules/autocomplete/autocomplete-harness-filters.mjs +0 -2
  73. package/esm2022/testing/modules/autocomplete/autocomplete-harness.mjs +0 -192
  74. package/esm2022/testing/modules/autocomplete/autocomplete-input-harness.mjs +0 -17
  75. package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness-filters.mjs +0 -2
  76. package/esm2022/testing/modules/autocomplete/autocomplete-search-result-harness.mjs +0 -38
  77. package/esm2022/testing/modules/country-field/country-field-harness-filters.mjs +0 -2
  78. package/esm2022/testing/modules/country-field/country-field-harness.mjs +0 -146
  79. package/esm2022/testing/modules/country-field/country-field-search-result-harness-filters.mjs +0 -2
  80. package/esm2022/testing/modules/country-field/country-field-search-result-harness.mjs +0 -27
  81. package/esm2022/testing/modules/lookup/lookup-harness-filters.mjs +0 -2
  82. package/esm2022/testing/modules/lookup/lookup-harness.mjs +0 -188
  83. package/esm2022/testing/modules/lookup/lookup-search-result-harness-filters.mjs +0 -2
  84. package/esm2022/testing/modules/lookup/lookup-search-result-harness.mjs +0 -24
  85. package/esm2022/testing/modules/lookup/lookup-selection-harness-filters.mjs +0 -2
  86. package/esm2022/testing/modules/lookup/lookup-selection-harness.mjs +0 -8
  87. package/esm2022/testing/modules/lookup/lookup-selections-list-harness.mjs +0 -26
  88. package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness-filters.mjs +0 -2
  89. package/esm2022/testing/modules/lookup/lookup-show-more-picker-harness.mjs +0 -28
  90. package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +0 -2
  91. package/esm2022/testing/modules/lookup/lookup-show-more-picker-search-result-harness.mjs +0 -8
  92. package/esm2022/testing/modules/search/search-harness-filters.mjs +0 -2
  93. package/esm2022/testing/modules/search/search-harness.mjs +0 -143
  94. package/esm2022/testing/modules/selection-modal/selection-modal-harness.mjs +0 -172
  95. package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness-filters.mjs +0 -2
  96. package/esm2022/testing/modules/selection-modal/selection-modal-search-result-harness.mjs +0 -7
  97. package/esm2022/testing/public-api.mjs +0 -17
  98. package/esm2022/testing/skyux-lookup-testing.mjs +0 -5
@@ -1,40 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { SkyIconModule } from '@skyux/icon';
4
- import { SkyTokensModule } from '@skyux/indicators';
5
- import { SkyThemeModule } from '@skyux/theme';
6
- import { SkyAutocompleteModule } from '../autocomplete/autocomplete.module';
7
- import { SkyLookupResourcesModule } from '../shared/sky-lookup-resources.module';
8
- import { SkyLookupComponent } from './lookup.component';
9
- import * as i0 from "@angular/core";
10
- export class SkyLookupModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLookupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyLookupModule, declarations: [SkyLookupComponent], imports: [CommonModule,
13
- SkyAutocompleteModule,
14
- SkyIconModule,
15
- SkyLookupResourcesModule,
16
- SkyThemeModule,
17
- SkyTokensModule], exports: [SkyLookupComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLookupModule, imports: [CommonModule,
19
- SkyAutocompleteModule,
20
- SkyIconModule,
21
- SkyLookupResourcesModule,
22
- SkyThemeModule,
23
- SkyTokensModule] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyLookupModule, decorators: [{
26
- type: NgModule,
27
- args: [{
28
- declarations: [SkyLookupComponent],
29
- imports: [
30
- CommonModule,
31
- SkyAutocompleteModule,
32
- SkyIconModule,
33
- SkyLookupResourcesModule,
34
- SkyThemeModule,
35
- SkyTokensModule,
36
- ],
37
- exports: [SkyLookupComponent],
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2xvb2t1cC9sb29rdXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBY3hELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkFYWCxrQkFBa0IsYUFFL0IsWUFBWTtZQUNaLHFCQUFxQjtZQUNyQixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLGNBQWM7WUFDZCxlQUFlLGFBRVAsa0JBQWtCO2dIQUVqQixlQUFlLFlBVHhCLFlBQVk7WUFDWixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLHdCQUF3QjtZQUN4QixjQUFjO1lBQ2QsZUFBZTs7NEZBSU4sZUFBZTtrQkFaM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUb2tlbnNNb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJy4uL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUubW9kdWxlJztcbmltcG9ydCB7IFNreUxvb2t1cFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktbG9va3VwLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lMb29rdXBDb21wb25lbnQgfSBmcm9tICcuL2xvb2t1cC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lMb29rdXBDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreUF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUxvb2t1cFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgICBTa3lUb2tlbnNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTa3lMb29rdXBDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBNb2R1bGUge31cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWFkZC1jbGljay1jYWxsYmFjay1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvbG9va3VwL3R5cGVzL2xvb2t1cC1hZGQtY2xpY2stY2FsbGJhY2stYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGluZm9ybWF0aW9uIGZvciB0aGUgY2FsbGJhY2sgdXNlZCB3aGVuIGFkZGluZyBhIG5ldyBpdGVtIHRvIHRoZSBsb29rdXAgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUxvb2t1cEFkZENhbGxiYWNrQXJncyB7XG4gIC8qKlxuICAgKiBUaGUgbmV3IGl0ZW0gd2hpY2ggaGFzIGJlZW4gYWRkZWQgdG8gdGhlIGRhdGEuIFRoaXMgaXRlbSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQuXG4gICAqL1xuICBpdGVtOiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSBuZXcgc3RhdGUgb2YgdGhlIGRhdGEgc291cmNlIGZvciB0aGUgbG9va3VwIGNvbXBvbmVudCB0byBzZWFyY2ggd2hlbiB1c2Vyc1xuICAgKiBlbnRlciB0ZXh0LiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgY29tcG9uZW50IHdpbGwgdXNlIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBsb29rdXBcbiAgICogY29tcG9uZW50J3MgYGRhdGFgIGlucHV0OyBob3dldmVyLCBpZiB0aGlzIGlzIG5vdCB5ZXQgdXBkYXRlZCB0aGUgbmV3IGl0ZW0gd2lsbCBub3QgYmVcbiAgICogYXV0b21hdGljYWxseSBzZWxlY3RlZC5cbiAgICovXG4gIGRhdGE/OiBhbnlbXTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWFkZC1jbGljay1ldmVudC1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvbG9va3VwL3R5cGVzL2xvb2t1cC1hZGQtY2xpY2stZXZlbnQtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5TG9va3VwQWRkQ2FsbGJhY2tBcmdzIH0gZnJvbSAnLi9sb29rdXAtYWRkLWNsaWNrLWNhbGxiYWNrLWFyZ3MnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBhIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciB0aGUgY29uc3VtZXIgdG8gdXNlIHRvIG5vdGlmeSB0aGUgbG9va3VwIHRoYXQgYSBuZXcgaXRlbSBoYXMgYmVlbiBhZGRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lMb29rdXBBZGRDbGlja0V2ZW50QXJncyB7XG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciB0aGUgY29uc3VtZXIgdG8gdXNlIHRvIG5vdGlmeSB0aGUgbG9va3VwIHRoYXQgYSBuZXcgaXRlbSBoYXMgYmVlbiBhZGRlZC5cbiAgICogQHBhcmFtIGFyZ3MgU3BlY2lmaWVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpdGVtIHRoYXQgd2FzIGFkZGVkLlxuICAgKi9cbiAgaXRlbUFkZGVkOiAoYXJnczogU2t5TG9va3VwQWRkQ2FsbGJhY2tBcmdzKSA9PiB2b2lkO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNlbGVjdC1tb2RlLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNlbGVjdC1tb2RlLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNreUxvb2t1cFNlbGVjdE1vZGVUeXBlID0gJ3NpbmdsZScgfCAnbXVsdGlwbGUnO1xuIl19
@@ -1,16 +0,0 @@
1
- /**
2
- * @deprecated Use `SkyLookupSelectModeType` instead.
3
- * @internal
4
- */
5
- export var SkyLookupSelectMode;
6
- (function (SkyLookupSelectMode) {
7
- /**
8
- * Restricts users to a single selection.
9
- */
10
- SkyLookupSelectMode["single"] = "single";
11
- /**
12
- * Allows users to select multiple items.
13
- */
14
- SkyLookupSelectMode["multiple"] = "multiple";
15
- })(SkyLookupSelectMode || (SkyLookupSelectMode = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNlbGVjdC1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvbG9va3VwL3R5cGVzL2xvb2t1cC1zZWxlY3QtbW9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxtQkFVWDtBQVZELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsd0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQVU5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIGBTa3lMb29rdXBTZWxlY3RNb2RlVHlwZWAgaW5zdGVhZC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZW51bSBTa3lMb29rdXBTZWxlY3RNb2RlIHtcbiAgLyoqXG4gICAqIFJlc3RyaWN0cyB1c2VycyB0byBhIHNpbmdsZSBzZWxlY3Rpb24uXG4gICAqL1xuICBzaW5nbGUgPSAnc2luZ2xlJyxcblxuICAvKipcbiAgICogQWxsb3dzIHVzZXJzIHRvIHNlbGVjdCBtdWx0aXBsZSBpdGVtcy5cbiAgICovXG4gIG11bHRpcGxlID0gJ211bHRpcGxlJyxcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreUxvb2t1cFNob3dNb3JlQ3VzdG9tUGlja2VyIH0gZnJvbSAnLi9sb29rdXAtc2hvdy1tb3JlLWN1c3RvbS1waWNrZXInO1xuaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVOYXRpdmVQaWNrZXJDb25maWcgfSBmcm9tICcuL2xvb2t1cC1zaG93LW1vcmUtbmF0aXZlLXBpY2tlci1jb25maWcnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBwaWNrZXIgdG8gZGlzcGxheSB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgYnV0dG9uXG4gKiB0byB2aWV3IGFsbCBvcHRpb25zLiBZb3UgY2FuIHVzZSBhIG5hdGl2ZSwgb3V0LW9mLXRoZS1ib3ggbW9kYWwgcGlja2VyLCBvciB5b3UgY2FuIGNyZWF0ZVxuICogYSBjdXN0b20gcGlja2VyLiBJZiB5b3UgcHJvdmlkZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGJvdGgsIHRoZSBsb29rdXAgY29tcG9uZW50IHVzZXNcbiAqIHRoZSBjdXN0b20gY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lMb29rdXBTaG93TW9yZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgdG8gZGlzcGxheSBhIGN1c3RvbSBwaWNrZXIuXG4gICAqL1xuICBjdXN0b21QaWNrZXI/OiBTa3lMb29rdXBTaG93TW9yZUN1c3RvbVBpY2tlcjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbmF0aXZlIHBpY2tlci5cbiAgICovXG4gIG5hdGl2ZVBpY2tlckNvbmZpZz86IFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29uZmlnO1xufVxuIl19
@@ -1,7 +0,0 @@
1
- /**
2
- * Specifies configuration options to launch a custom picker when users select
3
- * the button to view all options.
4
- */
5
- export class SkyLookupShowMoreCustomPickerContext {
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9DQUFvQztDQWFoRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BlY2lmaWVzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byBsYXVuY2ggYSBjdXN0b20gcGlja2VyIHdoZW4gdXNlcnMgc2VsZWN0XG4gKiB0aGUgYnV0dG9uIHRvIHZpZXcgYWxsIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBTaG93TW9yZUN1c3RvbVBpY2tlckNvbnRleHQge1xuICAvKipcbiAgICogVGhlIG9wdGlvbnMgdGhhdCB1c2VycyBjYW4gc2VsZWN0IGluIHRoZSBjdXN0b20gcGlja2VyLlxuICAgKi9cbiAgcHVibGljIGl0ZW1zITogYW55W107XG4gIC8qKlxuICAgKiBTZWFyY2ggdGV4dCB0byBmaWx0ZXIgdGhlIGNvbnRlbnRzIG9mIHRoZSBjdXN0b20gcGlja2VyLlxuICAgKi9cbiAgcHVibGljIGluaXRpYWxTZWFyY2ghOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzZWxlY3Rpb25zIGluIHRoZSBsb29rdXAgZmllbGQuXG4gICAqL1xuICBwdWJsaWMgaW5pdGlhbFZhbHVlITogYW55O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1jdXN0b20tcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvbG9va3VwL3R5cGVzL2xvb2t1cC1zaG93LW1vcmUtY3VzdG9tLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5TG9va3VwU2hvd01vcmVDdXN0b21QaWNrZXJDb250ZXh0IH0gZnJvbSAnLi9sb29rdXAtc2hvdy1tb3JlLWN1c3RvbS1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogRGVmaW5lcyBhIGN1c3RvbSBwaWNrZXIgdG8gZGlzcGxheSB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgYnV0dG9uIHRvIHZpZXcgYWxsIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2t5TG9va3VwU2hvd01vcmVDdXN0b21QaWNrZXIge1xuICBvcGVuOiAocGlja2VyQ29udGV4dDogU2t5TG9va3VwU2hvd01vcmVDdXN0b21QaWNrZXJDb250ZXh0KSA9PiB2b2lkO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL2xvb2t1cC90eXBlcy9sb29rdXAtc2hvdy1tb3JlLW5hdGl2ZS1waWNrZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gZGlzcGxheSB0aGUgbmF0aXZlIHBpY2tlciB3aGVuIHVzZXJzIHNlbGVjdFxuICogdGhlIGJ1dHRvbiB0byB2aWV3IGFsbCBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSB0ZW1wbGF0ZSB0aGF0IGZvcm1hdHMgZWFjaCBvcHRpb24gaW4gdGhlIHBpY2tlci4gVGhlIGxvb2t1cCBjb21wb25lbnRcbiAgICogaW5qZWN0cyB2YWx1ZXMgaW50byB0aGUgdGVtcGxhdGUgYXMgYGl0ZW1gIHZhcmlhYmxlcyB0aGF0IHJlZmVyZW5jZSBhbGwgdGhlIG9iamVjdFxuICAgKiBwcm9wZXJ0aWVzIG9mIHRoZSBvcHRpb25zLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgYSB0ZW1wbGF0ZSwgdGhlIHBpY2tlciB1c2VzXG4gICAqIHRoZSBzYW1lIHRlbXBsYXRlIGFzIHRoZSBkcm9wZG93biBsaXN0LlxuICAgKi9cbiAgaXRlbVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBmb3IgdGhlIHBpY2tlci5cbiAgICogQGRlZmF1bHQgXCJTZWxlY3QgYW4gb3B0aW9uL1NlbGVjdCBvcHRpb25zXCJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgc2VsZWN0aW9uRGVzY3JpcHRvcmAgaW5wdXQgdG8gZ2l2ZSBjb250ZXh0IHRvIHRoZSB0aXRsZSBhbmQgYWNjZXNzaWJpbGl0eSBsYWJlbHMgaW5zdGVhZC5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0b3IgZm9yIHRoZSBpdGVtIG9yIGl0ZW1zIGJlaW5nIHNlbGVjdGVkLiBVc2UgYSBwbHVyYWwgdGVybSB3aGVuIHRoZSBsb29rdXAncyBgc2VsZWN0TW9kZWAgaXMgc2V0IHRvIGAnbXVsdGlwbGUnYDsgb3RoZXJ3aXNlLCB1c2UgYSBzaW5ndWxhciB0ZXJtLiBUaGUgZGVzY3JpcHRvciBoZWxwcyBzZXQgdGhlIHBpY2tlcidzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGVzIGZvciB0aGUgbXVsdGlzZWxlY3QgdG9vbGJhciBjb250cm9scywgdGhlIHNlYXJjaCBpbnB1dCwgYW5kIHRoZSBzYXZlIGJ1dHRvbiB0byBwcm92aWRlIHRleHQgZXF1aXZhbGVudHMgZm9yIHNjcmVlbiByZWFkZXJzIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCNhY2Nlc3NpYmlsaXR5KS5cbiAgICogRm9yIGV4YW1wbGUsIHdoZW4gdGhlIGRlc2NyaXB0b3IgaXMgXCJjb25zdGl0dWVudHMsXCIgdGhlIHNlYXJjaCBpbnB1dCdzIGBhcmlhLWxhYmVsYCBpcyBcIlNlYXJjaCBjb25zdGl0dWVudHMuXCIgRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqIEBkZWZhdWx0IFwiaXRlbVwiL1wiaXRlbXNcIlxuICAgKi9cbiAgc2VsZWN0aW9uRGVzY3JpcHRvcj86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- /**
2
- * @internal
3
- * Context for the show more native picker. These values are provided by the lookup component.
4
- */
5
- export class SkyLookupShowMoreNativePickerContext {
6
- constructor(descriptorProperty, initialSearch, initialValue, items, search, selectMode, showAddButton, userConfig) {
7
- this.descriptorProperty = descriptorProperty;
8
- this.initialSearch = initialSearch;
9
- this.initialValue = initialValue;
10
- this.items = items;
11
- this.search = search;
12
- this.selectMode = selectMode;
13
- this.showAddButton = showAddButton;
14
- this.userConfig = userConfig;
15
- }
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9sb29rdXAvdHlwZXMvbG9va3VwLXNob3ctbW9yZS1uYXRpdmUtcGlja2VyLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9DQUFvQztJQWlCL0MsWUFDRSxrQkFBMEIsRUFDMUIsYUFBcUIsRUFDckIsWUFBbUIsRUFDbkIsS0FBWSxFQUNaLE1BQXFDLEVBQ3JDLFVBQW1DLEVBQ25DLGFBQXNCLEVBQ3RCLFVBQStDO1FBRS9DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbiB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS90eXBlcy9hdXRvY29tcGxldGUtc2VhcmNoLWZ1bmN0aW9uJztcblxuaW1wb3J0IHsgU2t5TG9va3VwU2VsZWN0TW9kZVR5cGUgfSBmcm9tICcuL2xvb2t1cC1zZWxlY3QtbW9kZS10eXBlJztcbmltcG9ydCB7IFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29uZmlnIH0gZnJvbSAnLi9sb29rdXAtc2hvdy1tb3JlLW5hdGl2ZS1waWNrZXItY29uZmlnJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIENvbnRleHQgZm9yIHRoZSBzaG93IG1vcmUgbmF0aXZlIHBpY2tlci4gVGhlc2UgdmFsdWVzIGFyZSBwcm92aWRlZCBieSB0aGUgbG9va3VwIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29udGV4dCB7XG4gIHB1YmxpYyBkZXNjcmlwdG9yUHJvcGVydHk6IHN0cmluZztcblxuICBwdWJsaWMgaW5pdGlhbFNlYXJjaDogc3RyaW5nO1xuXG4gIHB1YmxpYyBpbml0aWFsVmFsdWU6IGFueVtdO1xuXG4gIHB1YmxpYyBpdGVtczogYW55W107XG5cbiAgcHVibGljIHNlYXJjaDogU2t5QXV0b2NvbXBsZXRlU2VhcmNoRnVuY3Rpb247XG5cbiAgcHVibGljIHNlbGVjdE1vZGU6IFNreUxvb2t1cFNlbGVjdE1vZGVUeXBlO1xuXG4gIHB1YmxpYyBzaG93QWRkQnV0dG9uOiBib29sZWFuO1xuXG4gIHB1YmxpYyB1c2VyQ29uZmlnOiBTa3lMb29rdXBTaG93TW9yZU5hdGl2ZVBpY2tlckNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkZXNjcmlwdG9yUHJvcGVydHk6IHN0cmluZyxcbiAgICBpbml0aWFsU2VhcmNoOiBzdHJpbmcsXG4gICAgaW5pdGlhbFZhbHVlOiBhbnlbXSxcbiAgICBpdGVtczogYW55W10sXG4gICAgc2VhcmNoOiBTa3lBdXRvY29tcGxldGVTZWFyY2hGdW5jdGlvbixcbiAgICBzZWxlY3RNb2RlOiBTa3lMb29rdXBTZWxlY3RNb2RlVHlwZSxcbiAgICBzaG93QWRkQnV0dG9uOiBib29sZWFuLFxuICAgIHVzZXJDb25maWc6IFNreUxvb2t1cFNob3dNb3JlTmF0aXZlUGlja2VyQ29uZmlnLFxuICApIHtcbiAgICB0aGlzLmRlc2NyaXB0b3JQcm9wZXJ0eSA9IGRlc2NyaXB0b3JQcm9wZXJ0eTtcbiAgICB0aGlzLmluaXRpYWxTZWFyY2ggPSBpbml0aWFsU2VhcmNoO1xuICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gaW5pdGlhbFZhbHVlO1xuICAgIHRoaXMuaXRlbXMgPSBpdGVtcztcbiAgICB0aGlzLnNlYXJjaCA9IHNlYXJjaDtcbiAgICB0aGlzLnNlbGVjdE1vZGUgPSBzZWxlY3RNb2RlO1xuICAgIHRoaXMuc2hvd0FkZEJ1dHRvbiA9IHNob3dBZGRCdXR0b247XG4gICAgdGhpcy51c2VyQ29uZmlnID0gdXNlckNvbmZpZztcbiAgfVxufVxuIl19
@@ -1,46 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @internal
5
- */
6
- export class SkySearchAdapterService {
7
- #renderer;
8
- constructor(renderer) {
9
- this.#renderer = renderer;
10
- }
11
- selectInput(searchEl) {
12
- this.#getInputEl(searchEl).select();
13
- }
14
- focusInput(searchEl) {
15
- this.#getInputEl(searchEl).focus();
16
- }
17
- startInputAnimation(searchEl) {
18
- const buttonWidth = this.#getSearchOpenButtonEl(searchEl).clientWidth;
19
- const offsetWidth = this.#getSearchContainerEl(searchEl).offsetLeft;
20
- const minWidth = buttonWidth + offsetWidth;
21
- this.#getInputContainerEl(searchEl).style.minWidth =
22
- minWidth.toString() + 'px';
23
- this.#renderer.setStyle(this.#getInputContainerEl(searchEl), 'min-width', minWidth.toString() + 'px');
24
- }
25
- endInputAnimation(searchEl) {
26
- this.#renderer.setStyle(this.#getInputContainerEl(searchEl), 'min-width', '');
27
- }
28
- #getInputContainerEl(searchEl) {
29
- return searchEl.nativeElement.querySelector('.sky-search-input-container');
30
- }
31
- #getSearchOpenButtonEl(searchEl) {
32
- return searchEl.nativeElement.querySelector('.sky-search-btn-open');
33
- }
34
- #getSearchContainerEl(searchEl) {
35
- return searchEl.nativeElement.querySelector('.sky-search-container');
36
- }
37
- #getInputEl(searchEl) {
38
- return searchEl.nativeElement.querySelector('input');
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySearchAdapterService, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySearchAdapterService }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySearchAdapterService, decorators: [{
44
- type: Injectable
45
- }], ctorParameters: () => [{ type: i0.Renderer2 }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBRWxFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxTQUFTLENBQVk7SUFFckIsWUFBWSxRQUFtQjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQW9CO1FBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxRQUFvQjtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxRQUFvQjtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDcEUsTUFBTSxRQUFRLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUUzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDaEQsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUNuQyxXQUFXLEVBQ1gsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxRQUFvQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUNuQyxXQUFXLEVBQ1gsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQUMsUUFBb0I7UUFDdkMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxRQUFvQjtRQUN6QyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQW9CO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQW9CO1FBQzlCLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0FwRFUsdUJBQXVCO21IQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SW5wdXQoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLiNnZXRJbnB1dEVsKHNlYXJjaEVsKS5zZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0lucHV0KHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy4jZ2V0SW5wdXRFbChzZWFyY2hFbCkuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydElucHV0QW5pbWF0aW9uKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgY29uc3QgYnV0dG9uV2lkdGggPSB0aGlzLiNnZXRTZWFyY2hPcGVuQnV0dG9uRWwoc2VhcmNoRWwpLmNsaWVudFdpZHRoO1xuICAgIGNvbnN0IG9mZnNldFdpZHRoID0gdGhpcy4jZ2V0U2VhcmNoQ29udGFpbmVyRWwoc2VhcmNoRWwpLm9mZnNldExlZnQ7XG4gICAgY29uc3QgbWluV2lkdGggPSBidXR0b25XaWR0aCArIG9mZnNldFdpZHRoO1xuXG4gICAgdGhpcy4jZ2V0SW5wdXRDb250YWluZXJFbChzZWFyY2hFbCkuc3R5bGUubWluV2lkdGggPVxuICAgICAgbWluV2lkdGgudG9TdHJpbmcoKSArICdweCc7XG5cbiAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIHRoaXMuI2dldElucHV0Q29udGFpbmVyRWwoc2VhcmNoRWwpLFxuICAgICAgJ21pbi13aWR0aCcsXG4gICAgICBtaW5XaWR0aC50b1N0cmluZygpICsgJ3B4JyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGVuZElucHV0QW5pbWF0aW9uKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLiNnZXRJbnB1dENvbnRhaW5lckVsKHNlYXJjaEVsKSxcbiAgICAgICdtaW4td2lkdGgnLFxuICAgICAgJycsXG4gICAgKTtcbiAgfVxuXG4gICNnZXRJbnB1dENvbnRhaW5lckVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyJyk7XG4gIH1cblxuICAjZ2V0U2VhcmNoT3BlbkJ1dHRvbkVsKHNlYXJjaEVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIHNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1zZWFyY2gtYnRuLW9wZW4nKTtcbiAgfVxuXG4gICNnZXRTZWFyY2hDb250YWluZXJFbChzZWFyY2hFbDogRWxlbWVudFJlZikge1xuICAgIHJldHVybiBzZWFyY2hFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5za3ktc2VhcmNoLWNvbnRhaW5lcicpO1xuICB9XG5cbiAgI2dldElucHV0RWwoc2VhcmNoRWw6IEVsZW1lbnRSZWYpIHtcbiAgICByZXR1cm4gc2VhcmNoRWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICB9XG59XG4iXX0=
@@ -1,294 +0,0 @@
1
- import { animate, state, style, transition, trigger, } from '@angular/animations';
2
- import { Component, DestroyRef, EventEmitter, Input, Output, ViewEncapsulation, inject, } from '@angular/core';
3
- import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
4
- import { SkyContentInfoProvider, SkyMediaQueryService, } from '@skyux/core';
5
- import { Subject } from 'rxjs';
6
- import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
7
- import { SkySearchAdapterService } from './search-adapter.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./search-adapter.service";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "@skyux/forms";
12
- import * as i4 from "@angular/forms";
13
- import * as i5 from "@skyux/icon";
14
- import * as i6 from "@skyux/theme";
15
- import * as i7 from "@skyux/core";
16
- import * as i8 from "@skyux/i18n";
17
- const INPUT_SHOWN_STATE = 'inputShown';
18
- const INPUT_HIDDEN_STATE = 'inputHidden';
19
- const EXPAND_MODE_RESPONSIVE = 'responsive';
20
- const EXPAND_MODE_FIT = 'fit';
21
- const EXPAND_MODE_NONE = 'none';
22
- export class SkySearchComponent {
23
- /**
24
- * The expand mode for the search input. The valid options
25
- * include `"responsive"` to collapse the search input into a button on
26
- * mobile devices, `"none"` to *not* collapse the search input on mobile
27
- * devices, and `"fit"` to extend the search input to fit the width of its container.
28
- * @default "responsive"
29
- */
30
- set expandMode(value) {
31
- this.#_expandMode = value ?? EXPAND_MODE_RESPONSIVE;
32
- }
33
- get expandMode() {
34
- return this.#_expandMode;
35
- }
36
- /**
37
- * How many milliseconds to wait before searching after users enter text in the search input.
38
- * @default 0
39
- */
40
- set debounceTime(value) {
41
- this.#_debounceTime = value ?? 0;
42
- this.#setupSearchChangedEvent();
43
- }
44
- get debounceTime() {
45
- return this.#_debounceTime;
46
- }
47
- /**
48
- * Whether to disable the filter button.
49
- * @default false
50
- */
51
- set disabled(value) {
52
- this.#_disabled = value ?? false;
53
- }
54
- get disabled() {
55
- return this.#_disabled;
56
- }
57
- #changeRef;
58
- #contentInfoProvider;
59
- #elRef;
60
- #searchAdapter;
61
- #searchUpdated;
62
- #searchUpdatedSub;
63
- #_debounceTime;
64
- #_disabled;
65
- #_expandMode;
66
- #destroyRef;
67
- #mediaQuerySvc;
68
- #breakpoint;
69
- constructor(elRef, searchAdapter, changeRef) {
70
- /**
71
- * Fires when the search text is applied.
72
- */
73
- this.searchApply = new EventEmitter();
74
- /**
75
- * Fires when the search text is changed.
76
- */
77
- this.searchChange = new EventEmitter();
78
- /**
79
- * Fires when the search text is cleared.
80
- */
81
- this.searchClear = new EventEmitter();
82
- this.clearButtonShown = false;
83
- this.dismissButtonShown = false;
84
- this.inputAnimate = INPUT_SHOWN_STATE;
85
- this.isCollapsible = true;
86
- this.isFullWidth = false;
87
- this.mobileSearchShown = false;
88
- this.searchButtonShown = false;
89
- this.#contentInfoProvider = inject(SkyContentInfoProvider, { optional: true });
90
- this.#searchUpdated = new Subject();
91
- this.#_debounceTime = 0;
92
- this.#_disabled = false;
93
- this.#_expandMode = EXPAND_MODE_RESPONSIVE;
94
- this.#destroyRef = inject(DestroyRef);
95
- this.#mediaQuerySvc = inject(SkyMediaQueryService);
96
- this.#breakpoint = toSignal(this.#mediaQuerySvc.breakpointChange);
97
- this.#elRef = elRef;
98
- this.#searchAdapter = searchAdapter;
99
- this.#changeRef = changeRef;
100
- this.contentInfoObs = this.#contentInfoProvider?.getInfo();
101
- }
102
- ngOnInit() {
103
- if (this.#searchShouldCollapse()) {
104
- this.#mediaQuerySvc.breakpointChange
105
- .pipe(takeUntilDestroyed(this.#destroyRef))
106
- .subscribe((breakpoint) => {
107
- this.#mediaQueryCallback(breakpoint);
108
- });
109
- }
110
- this.#setupSearchChangedEvent();
111
- }
112
- ngOnChanges(changes) {
113
- if (this.#expandModeBindingChanged(changes)) {
114
- switch (this.expandMode) {
115
- case EXPAND_MODE_NONE:
116
- this.isCollapsible = false;
117
- this.isFullWidth = false;
118
- break;
119
- case EXPAND_MODE_FIT:
120
- this.isCollapsible = false;
121
- this.isFullWidth = true;
122
- break;
123
- default:
124
- this.isCollapsible = true;
125
- this.isFullWidth = false;
126
- break;
127
- }
128
- }
129
- if (this.#searchBindingChanged(changes)) {
130
- this.#searchUpdated.next(this.searchText ?? '');
131
- this.clearButtonShown = !!(this.searchText && this.searchText !== '');
132
- if (this.#shouldOpenInput()) {
133
- this.inputAnimate = INPUT_SHOWN_STATE;
134
- }
135
- }
136
- this.#changeRef.detectChanges();
137
- }
138
- clearSearchText() {
139
- this.searchText = '';
140
- this.clearButtonShown = false;
141
- this.#searchAdapter.focusInput(this.#elRef);
142
- this.#searchUpdated.next(this.searchText);
143
- this.searchApply.emit(this.searchText);
144
- this.searchClear.emit();
145
- }
146
- enterPress(event, searchText) {
147
- if (event.code === 'Enter' || event.code === 'NumpadEnter') {
148
- this.applySearchText(searchText);
149
- }
150
- }
151
- applySearchText(searchText) {
152
- // Double check that search text is defined before attempting to trim off whitespace
153
- if (searchText) {
154
- searchText = searchText.trim();
155
- }
156
- if (searchText !== this.searchText) {
157
- this.searchText = searchText;
158
- }
159
- this.clearButtonShown = !!(searchText && searchText !== '');
160
- if (searchText && searchText !== '') {
161
- this.#searchAdapter.selectInput(this.#elRef);
162
- }
163
- this.searchApply.emit(searchText);
164
- }
165
- searchTextChanged(searchText) {
166
- this.searchText = searchText;
167
- this.#searchUpdated.next(searchText);
168
- }
169
- toggleSearchInput(showInput) {
170
- if (this.#searchShouldCollapse()) {
171
- if (showInput) {
172
- this.inputAnimate = INPUT_SHOWN_STATE;
173
- }
174
- else {
175
- this.inputAnimate = INPUT_HIDDEN_STATE;
176
- }
177
- }
178
- }
179
- inputAnimationStart(event) {
180
- if (this.#searchShouldCollapse()) {
181
- this.#searchAdapter.startInputAnimation(this.#elRef);
182
- if (event.toState === INPUT_SHOWN_STATE && this.#breakpoint() === 'xs') {
183
- this.mobileSearchShown = true;
184
- this.searchButtonShown = false;
185
- }
186
- }
187
- }
188
- inputAnimationEnd(event) {
189
- if (this.#searchShouldCollapse()) {
190
- this.#searchAdapter.endInputAnimation(this.#elRef);
191
- const breakpoint = this.#breakpoint();
192
- this.searchButtonShown =
193
- event.toState === INPUT_HIDDEN_STATE && breakpoint === 'xs';
194
- if ((event.toState === INPUT_HIDDEN_STATE && breakpoint === 'xs') ||
195
- breakpoint !== 'xs') {
196
- this.mobileSearchShown = false;
197
- }
198
- }
199
- }
200
- ngOnDestroy() {
201
- this.#searchUpdated.complete();
202
- this.#searchUpdatedSub?.unsubscribe();
203
- }
204
- #searchBindingChanged(changes) {
205
- return (changes['searchText'] &&
206
- changes['searchText'].previousValue !== changes['searchText'].currentValue);
207
- }
208
- #expandModeBindingChanged(changes) {
209
- return (changes['expandMode'] &&
210
- changes['expandMode'].previousValue !== changes['expandMode'].currentValue);
211
- }
212
- #shouldOpenInput() {
213
- return (this.searchText !== '' &&
214
- this.#breakpoint() === 'xs' &&
215
- this.#searchShouldCollapse());
216
- }
217
- #mediaQueryCallback(breakpoint) {
218
- if (this.#searchShouldCollapse()) {
219
- if (breakpoint === 'xs') {
220
- this.inputAnimate = INPUT_HIDDEN_STATE;
221
- }
222
- else if (this.inputAnimate !== INPUT_SHOWN_STATE) {
223
- this.inputAnimate = INPUT_SHOWN_STATE;
224
- }
225
- else {
226
- this.mobileSearchShown = false;
227
- }
228
- }
229
- this.#changeRef.markForCheck();
230
- }
231
- #searchShouldCollapse() {
232
- return ((this.isCollapsible || this.isCollapsible === undefined) &&
233
- this.isFullWidth !== true);
234
- }
235
- #setupSearchChangedEvent() {
236
- this.#searchUpdatedSub?.unsubscribe();
237
- this.#searchUpdatedSub = this.#searchUpdated
238
- .pipe(debounceTime(this.debounceTime), distinctUntilChanged())
239
- .subscribe((value) => {
240
- this.searchChange.emit(value);
241
- });
242
- }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySearchComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkySearchAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
244
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkySearchComponent, selector: "sky-search", inputs: { ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", searchText: "searchText", expandMode: "expandMode", debounceTime: "debounceTime", disabled: "disabled", placeholderText: "placeholderText" }, outputs: { searchApply: "searchApply", searchChange: "searchChange", searchClear: "searchClear" }, providers: [SkySearchAdapterService], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n #searchInput=\"skyId\"\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n skyId\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n @if (mobileSearchShown) {\n <button\n class=\"sky-btn sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n }\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: [".sky-search-container:not(.sky-theme-modern *){--sky-override-search-applied-background-color: #fff;--sky-override-search-applied-border: 2px solid #72bf44;--sky-override-search-applied-box-shadow: none;--sky-override-search-applied-color: #72bf44;--sky-override-search-applied-mobile-button-horizontal-padding: 11px;--sky-override-search-applied-mobile-button-vertical-padding: 5px;--sky-override-search-clear-padding-right: 6px;--sky-override-search-container-padding: 5px;--sky-override-search-mobile-background-color: #ffffff;--sky-override-search-mobile-button-horizontal-padding: 12px;--sky-override-search-mobile-button-vertical-padding: 6px;--sky-override-search-mobile-font-size: 15px}.sky-theme-modern:not(.sky-theme-brand-blackbaud) .sky-search-container{--sky-override-input-icon-size: 17.3333px;--sky-override-search-applied-background-color: var( --sky-color-background-action-secondary-base );--sky-override-search-applied-color: #72bf44;--sky-override-search-applied-mobile-button-horizontal-padding: 15px;--sky-override-search-applied-mobile-button-vertical-padding: 9px;--sky-override-search-appied-border-width: 2px;--sky-override-search-background-color: var(--modern-color-transparent);--sky-override-search-button-height-width: 40px;--sky-override-search-mobile-button-horizontal-padding: 15px;--sky-override-search-mobile-button-vertical-padding: 9px}sky-search .sky-search-btn-apply{padding-left:6px}sky-search .sky-search-btn-clear{padding-right:var(--sky-override-search-clear-padding-right)}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:var(--sky-override-search-mobile-font-size, var(--sky-font-size-body-m))}}sky-search .sky-btn.sky-search-btn-open{padding-top:var(--sky-override-search-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-top-m));padding-bottom:var(--sky-override-search-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-bottom-m));padding-left:var(--sky-override-search-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-left-m));padding-right:var(--sky-override-search-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-right-m))}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{background-color:var(--sky-override-search-applied-background-color, var(--sky-color-background-selected-soft));border:var(--sky-override-search-applied-border, none);box-shadow:var(--sky-override-search-applied-box-shadow, inset 0 0 0 var(--sky-override-search-appied-border-width, var(--sky-border-width-selected-s)) var(--sky-override-search-applied-color, var(--sky-color-border-selected)));color:var(--sky-override-search-applied-color, var(--sky-color-icon-action));padding-top:var(--sky-override-search-applied-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-top-m));padding-bottom:var(--sky-override-search-applied-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-bottom-m));padding-left:var(--sky-override-search-applied-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-left-m));padding-right:var(--sky-override-search-applied-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-right-m))}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:var(--sky-override-search-mobile-background-color, var(--sky-color-background-action-secondary-base));inset:0;padding:var(--sky-override-search-container-padding, var(--sky-space-inset-balanced-xs))}.sky-theme-modern sky-search sky-input-box{--sky-background-color-input-box-group: var( --sky-override-search-background-color, var(--sky-color-background-action-secondary-base) );--sky-background-color-input-box-group-focused: var( --sky-override-search-background-color, var(--sky-color-background-action-secondary-base) )}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{height:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2));width:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2))}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:var(--sky-color-icon-default);font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-dismiss{color:var(--sky-color-icon-default);height:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2));width:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2));padding:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:var(--sky-border-radius-0);box-shadow:inset 0 -1px 0 0 var(--sky-color-border-selected)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 var(--sky-space-gap-icon-m)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:var(--sky-override-input-icon-size, var(--sky-size-icon-s));color:var(--sky-color-icon-default)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:var(--sky-space-inset-balanced-s) var(--sky-space-inset-balanced-s) var(--sky-space-inset-balanced-s) 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:var(--sky-font-style-body-s);color:var(--sky-color-text-default);font-weight:var(--bb-font-weight-regular)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled", "labelText", "characterLimit", "stacked", "helpPopoverTitle", "helpPopoverContent", "helpKey", "hintText"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i6.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i6.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "directive", type: i7.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [
245
- trigger('inputState', [
246
- state(INPUT_HIDDEN_STATE, style({
247
- opacity: 0,
248
- width: 0,
249
- })),
250
- state(INPUT_SHOWN_STATE, style({
251
- opacity: 1,
252
- width: '100%',
253
- })),
254
- transition('* <=> *', animate('150ms')),
255
- ]),
256
- ], encapsulation: i0.ViewEncapsulation.None }); }
257
- }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkySearchComponent, decorators: [{
259
- type: Component,
260
- args: [{ selector: 'sky-search', encapsulation: ViewEncapsulation.None, animations: [
261
- trigger('inputState', [
262
- state(INPUT_HIDDEN_STATE, style({
263
- opacity: 0,
264
- width: 0,
265
- })),
266
- state(INPUT_SHOWN_STATE, style({
267
- opacity: 1,
268
- width: '100%',
269
- })),
270
- transition('* <=> *', animate('150ms')),
271
- ]),
272
- ], providers: [SkySearchAdapterService], template: "<div class=\"sky-search-container\">\n <div class=\"sky-search-button-container\">\n <button\n class=\"sky-btn sky-btn-default sky-btn-icon sky-search-btn-open\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_open' | skyLibResources\"\n [hidden]=\"!searchButtonShown\"\n [ngClass]=\"{ 'sky-search-btn-open-applied': clearButtonShown }\"\n (click)=\"toggleSearchInput(true)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </div>\n <div\n class=\"sky-search-dismiss-container\"\n [hidden]=\"searchButtonShown\"\n [ngClass]=\"{\n 'sky-search-dismiss-absolute': mobileSearchShown || isFullWidth\n }\"\n >\n <div class=\"sky-search-item-input\">\n <div\n class=\"sky-search-input-container\"\n [@inputState]=\"inputAnimate\"\n [ngClass]=\"{\n 'sky-search-input-container-has-value': searchText?.trim()\n }\"\n (@inputState.start)=\"inputAnimationStart($event)\"\n (@inputState.done)=\"inputAnimationEnd($event)\"\n >\n <sky-input-box [disabled]=\"disabled\">\n <input\n #searchInput=\"skyId\"\n class=\"sky-form-control sky-search-input sky-rounded-corners\"\n type=\"text\"\n skyId\n [attr.aria-label]=\"\n ariaLabelledBy\n ? undefined\n : ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_search_aria_label_descriptor'\n | skyLibResources\n : (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_search_label' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.placeholder]=\"\n placeholderText || ('skyux_search_placeholder' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngModel]=\"searchText\"\n (keyup)=\"enterPress($event, searchText)\"\n (ngModelChange)=\"searchTextChanged($event)\"\n />\n <span\n class=\"sky-input-group-btn sky-input-group-clear sky-input-box-btn-inset\"\n [hidden]=\"!clearButtonShown\"\n >\n <button\n aria-hidden=\"true\"\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-clear\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"disabled\"\n (click)=\"clearSearchText()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"close\" size=\"sm\" />\n </button>\n </span>\n <span\n *skyThemeIf=\"'default'\"\n class=\"sky-input-group-btn sky-input-box-btn-inset\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-search-btn sky-search-btn-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_search_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"applySearchText(searchText)\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </button>\n </span>\n <div\n *skyThemeIf=\"'modern'\"\n aria-hidden=\"true\"\n class=\"sky-input-group-icon sky-input-box-icon-inset-left\"\n >\n <ng-container *ngTemplateOutlet=\"searchIconTemplate\" />\n </div>\n </sky-input-box>\n </div>\n </div>\n <div class=\"sky-search-item-dismiss\">\n @if (mobileSearchShown) {\n <button\n class=\"sky-btn sky-search-btn-dismiss\"\n type=\"button\"\n [attr.title]=\"'skyux_search_dismiss' | skyLibResources\"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"toggleSearchInput(false)\"\n >\n <sky-icon\n *skyThemeIf=\"'default'\"\n icon=\"chevron-circle-left\"\n size=\"lg\"\n />\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"double-chevron-left\" />\n </button>\n }\n </div>\n </div>\n</div>\n\n<ng-template #searchIconTemplate>\n <sky-icon icon=\"search\" size=\"lg\" />\n</ng-template>\n", styles: [".sky-search-container:not(.sky-theme-modern *){--sky-override-search-applied-background-color: #fff;--sky-override-search-applied-border: 2px solid #72bf44;--sky-override-search-applied-box-shadow: none;--sky-override-search-applied-color: #72bf44;--sky-override-search-applied-mobile-button-horizontal-padding: 11px;--sky-override-search-applied-mobile-button-vertical-padding: 5px;--sky-override-search-clear-padding-right: 6px;--sky-override-search-container-padding: 5px;--sky-override-search-mobile-background-color: #ffffff;--sky-override-search-mobile-button-horizontal-padding: 12px;--sky-override-search-mobile-button-vertical-padding: 6px;--sky-override-search-mobile-font-size: 15px}.sky-theme-modern:not(.sky-theme-brand-blackbaud) .sky-search-container{--sky-override-input-icon-size: 17.3333px;--sky-override-search-applied-background-color: var( --sky-color-background-action-secondary-base );--sky-override-search-applied-color: #72bf44;--sky-override-search-applied-mobile-button-horizontal-padding: 15px;--sky-override-search-applied-mobile-button-vertical-padding: 9px;--sky-override-search-appied-border-width: 2px;--sky-override-search-background-color: var(--modern-color-transparent);--sky-override-search-button-height-width: 40px;--sky-override-search-mobile-button-horizontal-padding: 15px;--sky-override-search-mobile-button-vertical-padding: 9px}sky-search .sky-search-btn-apply{padding-left:6px}sky-search .sky-search-btn-clear{padding-right:var(--sky-override-search-clear-padding-right)}sky-search .sky-search-input-container .sky-input-group-btn>button:focus{z-index:3}sky-search .sky-search-input-container{min-width:auto}sky-search .sky-responsive-container-xs .sky-search-input-container,sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:auto}@media (min-width: 768px){sky-search .sky-search-input-container{min-width:300px}}sky-search .sky-responsive-container-sm .sky-search-input-container,sky-search .sky-responsive-container-md .sky-search-input-container,sky-search .sky-responsive-container-lg .sky-search-input-container{min-width:300px}@media (max-width: 767px){sky-search .sky-search-input,sky-search .sky-search-btn-apply,sky-search .sky-search-btn-clear{font-size:var(--sky-override-search-mobile-font-size, var(--sky-font-size-body-m))}}sky-search .sky-btn.sky-search-btn-open{padding-top:var(--sky-override-search-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-top-m));padding-bottom:var(--sky-override-search-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-bottom-m));padding-left:var(--sky-override-search-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-left-m));padding-right:var(--sky-override-search-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-right-m))}sky-search .sky-search-btn-open-applied.sky-search-btn-open,sky-search .sky-search-btn-open-applied.sky-search-btn-open:hover{background-color:var(--sky-override-search-applied-background-color, var(--sky-color-background-selected-soft));border:var(--sky-override-search-applied-border, none);box-shadow:var(--sky-override-search-applied-box-shadow, inset 0 0 0 var(--sky-override-search-appied-border-width, var(--sky-border-width-selected-s)) var(--sky-override-search-applied-color, var(--sky-color-border-selected)));color:var(--sky-override-search-applied-color, var(--sky-color-icon-action));padding-top:var(--sky-override-search-applied-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-top-m));padding-bottom:var(--sky-override-search-applied-mobile-button-vertical-padding, var(--sky-space-inset-pillarbox-1_2-bottom-m));padding-left:var(--sky-override-search-applied-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-left-m));padding-right:var(--sky-override-search-applied-mobile-button-horizontal-padding, var(--sky-space-inset-pillarbox-1_2-right-m))}sky-search .sky-search-dismiss-container{display:flex}sky-search .sky-search-item-dismiss{flex-shrink:0;display:flex}sky-search .sky-search-item-dismiss>.sky-btn{border-color:transparent}sky-search .sky-search-item-input{flex-grow:1;display:flex}sky-search .sky-search-dismiss-absolute{align-items:center;position:absolute;background-color:var(--sky-override-search-mobile-background-color, var(--sky-color-background-action-secondary-base));inset:0;padding:var(--sky-override-search-container-padding, var(--sky-space-inset-balanced-xs))}.sky-theme-modern sky-search sky-input-box{--sky-background-color-input-box-group: var( --sky-override-search-background-color, var(--sky-color-background-action-secondary-base) );--sky-background-color-input-box-group-focused: var( --sky-override-search-background-color, var(--sky-color-background-action-secondary-base) )}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn{height:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2));width:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2))}.sky-theme-modern sky-search .sky-input-box .sky-input-group-btn .sky-btn.sky-search-btn .sky-icon.sky-i-close{color:var(--sky-color-icon-default);font-size:inherit}.sky-theme-modern sky-search .sky-search-btn-dismiss{color:var(--sky-color-icon-default);height:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2));width:var(--sky-override-search-button-height-width, calc(var(--sky-font-line_height-input-val) * var(--sky-font-size-input-val) + var(--sky-space-inset-balanced-s) * 2));padding:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{box-shadow:none}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container.sky-search-input-container-has-value .sky-input-box-group-form-control:not(.sky-input-box-group-form-control-focus,:hover) .sky-form-group{border:none;border-radius:var(--sky-border-radius-0);box-shadow:inset 0 -1px 0 0 var(--sky-color-border-selected)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-icon-inset-left-wrapper .sky-input-box-icon-inset-left{padding:0 var(--sky-space-gap-icon-m)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-group-icon .sky-icon{font-size:var(--sky-override-input-icon-size, var(--sky-size-icon-s));color:var(--sky-color-icon-default)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input{width:auto;padding:var(--sky-space-inset-balanced-s) var(--sky-space-inset-balanced-s) var(--sky-space-inset-balanced-s) 0;margin:0}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input::placeholder{font-style:var(--sky-font-style-body-s);color:var(--sky-color-text-default);font-weight:var(--bb-font-weight-regular)}.sky-theme-modern sky-search .sky-search-container .sky-search-input-container .sky-input-box-group .sky-form-group .sky-input-box-form-group-inner input:focus::placeholder{color:transparent}\n"] }]
273
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.SkySearchAdapterService }, { type: i0.ChangeDetectorRef }], propDecorators: { ariaLabel: [{
274
- type: Input
275
- }], ariaLabelledBy: [{
276
- type: Input
277
- }], searchApply: [{
278
- type: Output
279
- }], searchChange: [{
280
- type: Output
281
- }], searchClear: [{
282
- type: Output
283
- }], searchText: [{
284
- type: Input
285
- }], expandMode: [{
286
- type: Input
287
- }], debounceTime: [{
288
- type: Input
289
- }], disabled: [{
290
- type: Input
291
- }], placeholderText: [{
292
- type: Input
293
- }] } });
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxFQUVOLGlCQUFpQixFQUNqQixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFHTCxzQkFBc0IsRUFDdEIsb0JBQW9CLEdBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQUVuRSxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUN2QyxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQztBQUN6QyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQztBQUM1QyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUM7QUFDOUIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7QUE0QmhDLE1B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QUFLLENBQ0gsaUJBQWlCLEVBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsTUFBTTtpQkFDZCxDQUFDLENBQ0g7Z0JBQ0QsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEMsQ0FBQztTQUNIOzs0RkFHVSxrQkFBa0I7a0JBMUI5QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSxjQUN6Qjt3QkFDVixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNwQixLQUFLLENBQ0gsa0JBQWtCLEVBQ2xCLEtBQUssQ0FBQztnQ0FDSixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsQ0FBQzs2QkFDVCxDQUFDLENBQ0g7NEJBQ0QsS0FBSyxDQUNILGlCQUFpQixFQUNqQixLQUFLLENBQUM7Z0NBQ0osT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLE1BQU07NkJBQ2QsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3lCQUN4QyxDQUFDO3FCQUNILGFBQ1UsQ0FBQyx1QkFBdUIsQ0FBQztxSkFZN0IsU0FBUztzQkFEZixLQUFLO2dCQVdDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsV0FBVztzQkFEakIsTUFBTTtnQkFPQSxZQUFZO3NCQURsQixNQUFNO2dCQU9BLFdBQVc7c0JBRGpCLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsS0FBSztnQkFXSyxVQUFVO3NCQURwQixLQUFLO2dCQWNLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFlQyxlQUFlO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uRXZlbnQsXG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIFNreUJyZWFrcG9pbnQsXG4gIFNreUNvbnRlbnRJbmZvLFxuICBTa3lDb250ZW50SW5mb1Byb3ZpZGVyLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtYWRhcHRlci5zZXJ2aWNlJztcblxuY29uc3QgSU5QVVRfU0hPV05fU1RBVEUgPSAnaW5wdXRTaG93bic7XG5jb25zdCBJTlBVVF9ISURERU5fU1RBVEUgPSAnaW5wdXRIaWRkZW4nO1xuY29uc3QgRVhQQU5EX01PREVfUkVTUE9OU0lWRSA9ICdyZXNwb25zaXZlJztcbmNvbnN0IEVYUEFORF9NT0RFX0ZJVCA9ICdmaXQnO1xuY29uc3QgRVhQQU5EX01PREVfTk9ORSA9ICdub25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXNlYXJjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2lucHV0U3RhdGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgSU5QVVRfSElEREVOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgIElOUFVUX1NIT1dOX1NUQVRFLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCcqIDw9PiAqJywgYW5pbWF0ZSgnMTUwbXMnKSksXG4gICAgXSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreVNlYXJjaEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIHNlYXJjaCBpbnB1dC4gVGhpcyBzZXRzIHRoZSBzZWFyY2ggaW5wdXQncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIFVzZSBhIGNvbnRleHQtc2Vuc2l0aXZlIGxhYmVsLCBzdWNoIGFzIFwiU2VhcmNoIGNvbnN0aXR1ZW50cy5cIiBDb250ZXh0IGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gbXVsdGlwbGUgc2VhcmNoIGlucHV0cyBhcmUgaW4gY2xvc2UgcHJveGltaXR5LlxuICAgKiBJbiB0b29sYmFycywgc2VhcmNoIGlucHV0cyB1c2UgdGhlIGBsaXN0RGVzY3JpcHRvcmAgdG8gcHJvdmlkZSBjb250ZXh0LCBhbmQgdGhlIEFSSUEgbGFiZWwgZGVmYXVsdHMgdG8gXCJTZWFyY2ggPGxpc3REZXNjcmlwdG9yPi5cIlxuICAgKiBJZiB0aGUgYm94IGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHNcbiAgICogdGhlIHNlYXJjaC4gVGhpcyBzZXRzIHRoZSBzZWFyY2gncyBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGJveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBhcmlhTGFiZWxgIGluc3RlYWQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGxlZGJ5YCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbGxlZGJ5KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBhcHBsaWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hBcHBseSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWFyY2ggdGV4dCBpcyBjaGFuZ2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgc2VhcmNoIHRleHQgaXMgY2xlYXJlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VhcmNoQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgc2VhcmNoIGNyaXRlcmlhIGZvciB0aGUgaW5wdXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhwYW5kIG1vZGUgZm9yIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB2YWxpZCBvcHRpb25zXG4gICAqIGluY2x1ZGUgYFwicmVzcG9uc2l2ZVwiYCB0byBjb2xsYXBzZSB0aGUgc2VhcmNoIGlucHV0IGludG8gYSBidXR0b24gb25cbiAgICogbW9iaWxlIGRldmljZXMsIGBcIm5vbmVcImAgdG8gKm5vdCogY29sbGFwc2UgdGhlIHNlYXJjaCBpbnB1dCBvbiBtb2JpbGVcbiAgICogZGV2aWNlcywgYW5kIGBcImZpdFwiYCB0byBleHRlbmQgdGhlIHNlYXJjaCBpbnB1dCB0byBmaXQgdGhlIHdpZHRoIG9mIGl0cyBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IFwicmVzcG9uc2l2ZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGV4cGFuZE1vZGUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19leHBhbmRNb2RlID0gdmFsdWUgPz8gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwYW5kTW9kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZXhwYW5kTW9kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgc2VhcmNoaW5nIGFmdGVyIHVzZXJzIGVudGVyIHRleHQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWJvdW5jZVRpbWUodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kZWJvdW5jZVRpbWUgPSB2YWx1ZSA/PyAwO1xuICAgIHRoaXMuI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlYm91bmNlVGltZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfZGVib3VuY2VUaW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgZmlsdGVyIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHNlYXJjaCBpbnB1dCB1bnRpbCB1c2Vyc1xuICAgKiBlbnRlciBzZWFyY2ggY3JpdGVyaWEuXG4gICAqIEBkZWZhdWx0IFwiRmluZCBpbiB0aGlzIGxpc3RcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBjbGVhckJ1dHRvblNob3duID0gZmFsc2U7XG5cbiAgcHVibGljIGRpc21pc3NCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGU6IHN0cmluZyA9IElOUFVUX1NIT1dOX1NUQVRFO1xuXG4gIHB1YmxpYyBpc0NvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICBwdWJsaWMgaXNGdWxsV2lkdGggPSBmYWxzZTtcblxuICBwdWJsaWMgbW9iaWxlU2VhcmNoU2hvd24gPSBmYWxzZTtcblxuICBwdWJsaWMgc2VhcmNoQnV0dG9uU2hvd24gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgY29udGVudEluZm9PYnM6IE9ic2VydmFibGU8U2t5Q29udGVudEluZm8+IHwgdW5kZWZpbmVkO1xuXG4gICNjaGFuZ2VSZWY6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNjb250ZW50SW5mb1Byb3ZpZGVyID0gaW5qZWN0KFNreUNvbnRlbnRJbmZvUHJvdmlkZXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuXG4gICNzZWFyY2hBZGFwdGVyOiBTa3lTZWFyY2hBZGFwdGVyU2VydmljZTtcblxuICAjc2VhcmNoVXBkYXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAjc2VhcmNoVXBkYXRlZFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNfZGVib3VuY2VUaW1lID0gMDtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgI19leHBhbmRNb2RlID0gRVhQQU5EX01PREVfUkVTUE9OU0lWRTtcblxuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI21lZGlhUXVlcnlTdmMgPSBpbmplY3QoU2t5TWVkaWFRdWVyeVNlcnZpY2UpO1xuICByZWFkb25seSAjYnJlYWtwb2ludCA9IHRvU2lnbmFsKHRoaXMuI21lZGlhUXVlcnlTdmMuYnJlYWtwb2ludENoYW5nZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgc2VhcmNoQWRhcHRlcjogU2t5U2VhcmNoQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiNzZWFyY2hBZGFwdGVyID0gc2VhcmNoQWRhcHRlcjtcbiAgICB0aGlzLiNjaGFuZ2VSZWYgPSBjaGFuZ2VSZWY7XG5cbiAgICB0aGlzLmNvbnRlbnRJbmZvT2JzID0gdGhpcy4jY29udGVudEluZm9Qcm92aWRlcj8uZ2V0SW5mbygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5U3ZjLmJyZWFrcG9pbnRDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKVxuICAgICAgICAuc3Vic2NyaWJlKChicmVha3BvaW50KSA9PiB7XG4gICAgICAgICAgdGhpcy4jbWVkaWFRdWVyeUNhbGxiYWNrKGJyZWFrcG9pbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLiNzZXR1cFNlYXJjaENoYW5nZWRFdmVudCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jZXhwYW5kTW9kZUJpbmRpbmdDaGFuZ2VkKGNoYW5nZXMpKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuZXhwYW5kTW9kZSkge1xuICAgICAgICBjYXNlIEVYUEFORF9NT0RFX05PTkU6XG4gICAgICAgICAgdGhpcy5pc0NvbGxhcHNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc0Z1bGxXaWR0aCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEVYUEFORF9NT0RFX0ZJVDpcbiAgICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmlzRnVsbFdpZHRoID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLmlzQ29sbGFwc2libGUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy4jc2VhcmNoQmluZGluZ0NoYW5nZWQoY2hhbmdlcykpIHtcbiAgICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQubmV4dCh0aGlzLnNlYXJjaFRleHQgPz8gJycpO1xuICAgICAgdGhpcy5jbGVhckJ1dHRvblNob3duID0gISEodGhpcy5zZWFyY2hUZXh0ICYmIHRoaXMuc2VhcmNoVGV4dCAhPT0gJycpO1xuICAgICAgaWYgKHRoaXMuI3Nob3VsZE9wZW5JbnB1dCgpKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWFyY2hUZXh0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9ICcnO1xuICAgIHRoaXMuY2xlYXJCdXR0b25TaG93biA9IGZhbHNlO1xuXG4gICAgdGhpcy4jc2VhcmNoQWRhcHRlci5mb2N1c0lucHV0KHRoaXMuI2VsUmVmKTtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkLm5leHQodGhpcy5zZWFyY2hUZXh0KTtcblxuICAgIHRoaXMuc2VhcmNoQXBwbHkuZW1pdCh0aGlzLnNlYXJjaFRleHQpO1xuXG4gICAgdGhpcy5zZWFyY2hDbGVhci5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZW50ZXJQcmVzcyhcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICBzZWFyY2hUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInIHx8IGV2ZW50LmNvZGUgPT09ICdOdW1wYWRFbnRlcicpIHtcbiAgICAgIHRoaXMuYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhcHBseVNlYXJjaFRleHQoc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgLy8gRG91YmxlIGNoZWNrIHRoYXQgc2VhcmNoIHRleHQgaXMgZGVmaW5lZCBiZWZvcmUgYXR0ZW1wdGluZyB0byB0cmltIG9mZiB3aGl0ZXNwYWNlXG4gICAgaWYgKHNlYXJjaFRleHQpIHtcbiAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRyaW0oKTtcbiAgICB9XG5cbiAgICBpZiAoc2VhcmNoVGV4dCAhPT0gdGhpcy5zZWFyY2hUZXh0KSB7XG4gICAgICB0aGlzLnNlYXJjaFRleHQgPSBzZWFyY2hUZXh0O1xuICAgIH1cbiAgICB0aGlzLmNsZWFyQnV0dG9uU2hvd24gPSAhIShzZWFyY2hUZXh0ICYmIHNlYXJjaFRleHQgIT09ICcnKTtcbiAgICBpZiAoc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0ICE9PSAnJykge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zZWxlY3RJbnB1dCh0aGlzLiNlbFJlZik7XG4gICAgfVxuXG4gICAgdGhpcy5zZWFyY2hBcHBseS5lbWl0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaFRleHRDaGFuZ2VkKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQ7XG4gICAgdGhpcy4jc2VhcmNoVXBkYXRlZC5uZXh0KHNlYXJjaFRleHQpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZVNlYXJjaElucHV0KHNob3dJbnB1dDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoc2hvd0lucHV0KSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5wdXRBbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5zdGFydElucHV0QW5pbWF0aW9uKHRoaXMuI2VsUmVmKTtcblxuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09IElOUFVUX1NIT1dOX1NUQVRFICYmIHRoaXMuI2JyZWFrcG9pbnQoKSA9PT0gJ3hzJykge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hCdXR0b25TaG93biA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbnB1dEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc2VhcmNoU2hvdWxkQ29sbGFwc2UoKSkge1xuICAgICAgdGhpcy4jc2VhcmNoQWRhcHRlci5lbmRJbnB1dEFuaW1hdGlvbih0aGlzLiNlbFJlZik7XG5cbiAgICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB0aGlzLiNicmVha3BvaW50KCk7XG5cbiAgICAgIHRoaXMuc2VhcmNoQnV0dG9uU2hvd24gPVxuICAgICAgICBldmVudC50b1N0YXRlID09PSBJTlBVVF9ISURERU5fU1RBVEUgJiYgYnJlYWtwb2ludCA9PT0gJ3hzJztcblxuICAgICAgaWYgKFxuICAgICAgICAoZXZlbnQudG9TdGF0ZSA9PT0gSU5QVVRfSElEREVOX1NUQVRFICYmIGJyZWFrcG9pbnQgPT09ICd4cycpIHx8XG4gICAgICAgIGJyZWFrcG9pbnQgIT09ICd4cydcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViPy51bnN1YnNjcmliZSgpO1xuICB9XG4gICNzZWFyY2hCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNoYW5nZXNbJ3NlYXJjaFRleHQnXSAmJlxuICAgICAgY2hhbmdlc1snc2VhcmNoVGV4dCddLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNbJ3NlYXJjaFRleHQnXS5jdXJyZW50VmFsdWVcbiAgICApO1xuICB9XG5cbiAgI2V4cGFuZE1vZGVCaW5kaW5nQ2hhbmdlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNoYW5nZXNbJ2V4cGFuZE1vZGUnXSAmJlxuICAgICAgY2hhbmdlc1snZXhwYW5kTW9kZSddLnByZXZpb3VzVmFsdWUgIT09IGNoYW5nZXNbJ2V4cGFuZE1vZGUnXS5jdXJyZW50VmFsdWVcbiAgICApO1xuICB9XG5cbiAgI3Nob3VsZE9wZW5JbnB1dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZWFyY2hUZXh0ICE9PSAnJyAmJlxuICAgICAgdGhpcy4jYnJlYWtwb2ludCgpID09PSAneHMnICYmXG4gICAgICB0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpXG4gICAgKTtcbiAgfVxuXG4gICNtZWRpYVF1ZXJ5Q2FsbGJhY2soYnJlYWtwb2ludDogU2t5QnJlYWtwb2ludCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNzZWFyY2hTaG91bGRDb2xsYXBzZSgpKSB7XG4gICAgICBpZiAoYnJlYWtwb2ludCA9PT0gJ3hzJykge1xuICAgICAgICB0aGlzLmlucHV0QW5pbWF0ZSA9IElOUFVUX0hJRERFTl9TVEFURTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dEFuaW1hdGUgIT09IElOUFVUX1NIT1dOX1NUQVRFKSB7XG4gICAgICAgIHRoaXMuaW5wdXRBbmltYXRlID0gSU5QVVRfU0hPV05fU1RBVEU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1vYmlsZVNlYXJjaFNob3duID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuI2NoYW5nZVJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gICNzZWFyY2hTaG91bGRDb2xsYXBzZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaXNDb2xsYXBzaWJsZSB8fCB0aGlzLmlzQ29sbGFwc2libGUgPT09IHVuZGVmaW5lZCkgJiZcbiAgICAgIHRoaXMuaXNGdWxsV2lkdGggIT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgI3NldHVwU2VhcmNoQ2hhbmdlZEV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuI3NlYXJjaFVwZGF0ZWRTdWI/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLiNzZWFyY2hVcGRhdGVkU3ViID0gdGhpcy4jc2VhcmNoVXBkYXRlZFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwic2t5LXNlYXJjaC1idXR0b24tY29udGFpbmVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktYnRuLWljb24gc2t5LXNlYXJjaC1idG4tb3BlblwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9vcGVuJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICBbaGlkZGVuXT1cIiFzZWFyY2hCdXR0b25TaG93blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdza3ktc2VhcmNoLWJ0bi1vcGVuLWFwcGxpZWQnOiBjbGVhckJ1dHRvblNob3duIH1cIlxuICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KHRydWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VhcmNoSWNvblRlbXBsYXRlXCIgLz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1zZWFyY2gtZGlzbWlzcy1jb250YWluZXJcIlxuICAgIFtoaWRkZW5dPVwic2VhcmNoQnV0dG9uU2hvd25cIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktc2VhcmNoLWRpc21pc3MtYWJzb2x1dGUnOiBtb2JpbGVTZWFyY2hTaG93biB8fCBpc0Z1bGxXaWR0aFxuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1zZWFyY2gtaXRlbS1pbnB1dFwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNreS1zZWFyY2gtaW5wdXQtY29udGFpbmVyXCJcbiAgICAgICAgW0BpbnB1dFN0YXRlXT1cImlucHV0QW5pbWF0ZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXNlYXJjaC1pbnB1dC1jb250YWluZXItaGFzLXZhbHVlJzogc2VhcmNoVGV4dD8udHJpbSgpXG4gICAgICAgIH1cIlxuICAgICAgICAoQGlucHV0U3RhdGUuc3RhcnQpPVwiaW5wdXRBbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAgICAgKEBpbnB1dFN0YXRlLmRvbmUpPVwiaW5wdXRBbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxza3ktaW5wdXQtYm94IFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI3NlYXJjaElucHV0PVwic2t5SWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sIHNreS1zZWFyY2gtaW5wdXQgc2t5LXJvdW5kZWQtY29ybmVyc1wiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBza3lJZFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnlcbiAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIDogYXJpYUxhYmVsIHx8XG4gICAgICAgICAgICAgICAgICAoKGNvbnRlbnRJbmZvT2JzIHwgYXN5bmMpPy5kZXNjcmlwdG9yPy50eXBlID09PSAndGV4dCdcbiAgICAgICAgICAgICAgICAgICAgPyAoJ3NreXV4X3NlYXJjaF9hcmlhX2xhYmVsX2Rlc2NyaXB0b3InXG4gICAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGNvbnRlbnRJbmZvT2JzIHwgYXN5bmMpPy5kZXNjcmlwdG9yPy52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgOiAoJ3NreXV4X3NlYXJjaF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXMpKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXJUZXh0IHx8ICgnc2t5dXhfc2VhcmNoX3BsYWNlaG9sZGVyJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAoa2V5dXApPVwiZW50ZXJQcmVzcygkZXZlbnQsIHNlYXJjaFRleHQpXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlYXJjaFRleHRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktaW5wdXQtZ3JvdXAtY2xlYXIgc2t5LWlucHV0LWJveC1idG4taW5zZXRcIlxuICAgICAgICAgICAgW2hpZGRlbl09XCIhY2xlYXJCdXR0b25TaG93blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1zZWFyY2gtYnRuIHNreS1zZWFyY2gtYnRuLWNsZWFyXCJcbiAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2hUZXh0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIiBpY29uPVwidGltZXNcIiAvPlxuICAgICAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJjbG9zZVwiIHNpemU9XCJzbVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0biBza3ktaW5wdXQtYm94LWJ0bi1pbnNldFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1zZWFyY2gtYnRuIHNreS1zZWFyY2gtYnRuLWFwcGx5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X3NlYXJjaF9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlTZWFyY2hUZXh0KHNlYXJjaFRleHQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktaW5wdXQtZ3JvdXAtaWNvbiBza3ktaW5wdXQtYm94LWljb24taW5zZXQtbGVmdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaEljb25UZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza3ktc2VhcmNoLWl0ZW0tZGlzbWlzc1wiPlxuICAgICAgQGlmIChtb2JpbGVTZWFyY2hTaG93bikge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1zZWFyY2gtYnRuLWRpc21pc3NcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLnRpdGxlXT1cIidza3l1eF9zZWFyY2hfZGlzbWlzcycgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAgICdza3ktYnRuLWljb24tYm9yZGVybGVzcyc6ICdtb2Rlcm4nXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlYXJjaElucHV0KGZhbHNlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb25cbiAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCJcbiAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWNpcmNsZS1sZWZ0XCJcbiAgICAgICAgICAgIHNpemU9XCJsZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c2t5LWljb24gKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiIGljb249XCJkb3VibGUtY2hldnJvbi1sZWZ0XCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSWNvblRlbXBsYXRlPlxuICA8c2t5LWljb24gaWNvbj1cInNlYXJjaFwiIHNpemU9XCJsZ1wiIC8+XG48L25nLXRlbXBsYXRlPlxuIl19