valtech-components 2.0.292 → 2.0.294

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 (77) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
  3. package/esm2022/lib/components/atoms/button/button.component.mjs +45 -12
  4. package/esm2022/lib/components/atoms/display/display.component.mjs +47 -11
  5. package/esm2022/lib/components/atoms/display/types.mjs +1 -1
  6. package/esm2022/lib/components/atoms/divider/divider.component.mjs +3 -3
  7. package/esm2022/lib/components/atoms/href/href.component.mjs +3 -3
  8. package/esm2022/lib/components/atoms/icon/icon.component.mjs +3 -3
  9. package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
  10. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -3
  11. package/esm2022/lib/components/atoms/text/text.component.mjs +3 -3
  12. package/esm2022/lib/components/atoms/title/title.component.mjs +77 -23
  13. package/esm2022/lib/components/atoms/title/types.mjs +30 -2
  14. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +57 -10
  15. package/esm2022/lib/components/molecules/alert-box/types.mjs +1 -1
  16. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +3 -3
  17. package/esm2022/lib/components/molecules/card/card.component.mjs +3 -3
  18. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +3 -3
  19. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +3 -3
  20. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +3 -3
  21. package/esm2022/lib/components/molecules/hint/hint.component.mjs +3 -3
  22. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +219 -0
  23. package/esm2022/lib/components/molecules/language-selector/types.mjs +2 -0
  24. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +3 -3
  25. package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
  26. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +3 -3
  27. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
  28. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +3 -3
  29. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
  30. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +170 -0
  31. package/esm2022/lib/components/molecules/popover-selector/types.mjs +2 -0
  32. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +3 -3
  33. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +3 -3
  34. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +3 -3
  35. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +3 -3
  36. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +3 -3
  37. package/esm2022/lib/components/organisms/banner/banner.component.mjs +3 -3
  38. package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
  39. package/esm2022/lib/components/organisms/header/header.component.mjs +3 -3
  40. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +3 -3
  41. package/esm2022/lib/components/organisms/item-list/types.mjs +1 -1
  42. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +3 -3
  43. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +3 -3
  44. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -3
  45. package/esm2022/lib/components/templates/layout/layout.component.mjs +2 -2
  46. package/esm2022/lib/components/types.mjs +1 -1
  47. package/esm2022/lib/examples/display-demo.component.mjs +518 -0
  48. package/esm2022/lib/examples/display-simple-example.component.mjs +202 -0
  49. package/esm2022/lib/examples/selector-examples.component.mjs +208 -0
  50. package/esm2022/lib/services/lang-provider/components/display-demo.mjs +86 -0
  51. package/esm2022/lib/services/lang-provider/content.mjs +2 -1
  52. package/esm2022/lib/shared/utils/reactive-content.mjs +117 -0
  53. package/esm2022/public-api.mjs +9 -1
  54. package/fesm2022/valtech-components.mjs +3435 -1844
  55. package/fesm2022/valtech-components.mjs.map +1 -1
  56. package/lib/components/atoms/button/button.component.d.ts +10 -3
  57. package/lib/components/atoms/display/display.component.d.ts +12 -4
  58. package/lib/components/atoms/display/types.d.ts +13 -3
  59. package/lib/components/atoms/title/title.component.d.ts +6 -1
  60. package/lib/components/atoms/title/types.d.ts +29 -3
  61. package/lib/components/molecules/alert-box/alert-box.component.d.ts +17 -9
  62. package/lib/components/molecules/alert-box/types.d.ts +29 -0
  63. package/lib/components/molecules/language-selector/language-selector.component.d.ts +50 -0
  64. package/lib/components/molecules/language-selector/types.d.ts +52 -0
  65. package/lib/components/molecules/popover-selector/popover-selector.component.d.ts +29 -0
  66. package/lib/components/molecules/popover-selector/types.d.ts +69 -0
  67. package/lib/components/organisms/item-list/types.d.ts +54 -9
  68. package/lib/components/types.d.ts +12 -3
  69. package/lib/examples/display-demo.component.d.ts +62 -0
  70. package/lib/examples/display-simple-example.component.d.ts +23 -0
  71. package/lib/examples/selector-examples.component.d.ts +20 -0
  72. package/lib/services/lang-provider/components/display-demo.d.ts +3 -0
  73. package/lib/shared/utils/reactive-content.d.ts +109 -0
  74. package/package.json +4 -2
  75. package/public-api.d.ts +8 -0
  76. package/src/lib/components/styles/overrides.scss +583 -0
  77. package/src/lib/components/styles/variables.scss +7 -3
@@ -0,0 +1,202 @@
1
+ import { Component } from '@angular/core';
2
+ import { DisplayComponent } from '../components/atoms/display/display.component';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Ejemplo rápido de uso del componente val-display con contenido reactivo
6
+ */
7
+ export class DisplayExampleComponent {
8
+ constructor() {
9
+ // ✅ Ejemplos de contenido estático
10
+ this.staticTitle = {
11
+ content: 'Este es un título estático',
12
+ color: 'primary',
13
+ size: 'xlarge',
14
+ };
15
+ this.staticSubtitle = {
16
+ content: 'Este es un subtítulo que no cambia',
17
+ color: 'medium',
18
+ size: 'large',
19
+ };
20
+ // ✅ Ejemplos de contenido reactivo (requiere configuración de i18n)
21
+ this.reactiveWelcome = {
22
+ contentConfig: {
23
+ className: 'displayExample',
24
+ key: 'welcome.title',
25
+ fallback: 'Bienvenido a la aplicación',
26
+ },
27
+ color: 'primary',
28
+ size: 'xlarge',
29
+ };
30
+ this.reactiveDescription = {
31
+ contentConfig: {
32
+ className: 'displayExample',
33
+ key: 'welcome.description',
34
+ fallback: 'Esta descripción cambia según el idioma',
35
+ },
36
+ color: 'dark',
37
+ size: 'medium',
38
+ };
39
+ // ✅ Ejemplos con interpolación de variables
40
+ this.userGreeting = {
41
+ contentConfig: {
42
+ className: 'displayExample',
43
+ key: 'user.greeting',
44
+ fallback: 'Hola, {{name}}! Tienes {{messages}} mensajes.',
45
+ interpolation: {
46
+ name: 'María',
47
+ messages: 5,
48
+ },
49
+ },
50
+ color: 'tertiary',
51
+ size: 'large',
52
+ };
53
+ this.statusMessage = {
54
+ contentConfig: {
55
+ className: 'displayExample',
56
+ key: 'status.online',
57
+ fallback: 'Estado: {{status}} desde {{time}}',
58
+ interpolation: {
59
+ status: 'En línea',
60
+ time: '10:30 AM',
61
+ },
62
+ },
63
+ color: 'success',
64
+ size: 'small',
65
+ };
66
+ // ✅ Ejemplos de diferentes tamaños
67
+ this.smallText = {
68
+ content: 'Texto pequeño (small)',
69
+ color: 'dark',
70
+ size: 'small',
71
+ };
72
+ this.mediumText = {
73
+ content: 'Texto mediano (medium)',
74
+ color: 'dark',
75
+ size: 'medium',
76
+ };
77
+ this.largeText = {
78
+ content: 'Texto grande (large)',
79
+ color: 'dark',
80
+ size: 'large',
81
+ };
82
+ this.xlargeText = {
83
+ content: 'Texto extra grande (xlarge)',
84
+ color: 'dark',
85
+ size: 'xlarge',
86
+ };
87
+ // ✅ Ejemplos de diferentes colores
88
+ this.primaryText = {
89
+ content: 'Texto color primary',
90
+ color: 'primary',
91
+ size: 'medium',
92
+ };
93
+ this.successText = {
94
+ content: 'Texto color success',
95
+ color: 'success',
96
+ size: 'medium',
97
+ };
98
+ this.warningText = {
99
+ content: 'Texto color warning',
100
+ color: 'warning',
101
+ size: 'medium',
102
+ };
103
+ this.dangerText = {
104
+ content: 'Texto color danger',
105
+ color: 'danger',
106
+ size: 'medium',
107
+ };
108
+ }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayExampleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DisplayExampleComponent, isStandalone: true, selector: "app-display-example", ngImport: i0, template: `
111
+ <div class="display-examples">
112
+ <h2>Ejemplos de val-display</h2>
113
+
114
+ <!-- Contenido estático -->
115
+ <div class="section">
116
+ <h3>Contenido Estático</h3>
117
+ <val-display [props]="staticTitle"></val-display>
118
+ <val-display [props]="staticSubtitle"></val-display>
119
+ </div>
120
+
121
+ <!-- Contenido reactivo -->
122
+ <div class="section">
123
+ <h3>Contenido Reactivo</h3>
124
+ <val-display [props]="reactiveWelcome"></val-display>
125
+ <val-display [props]="reactiveDescription"></val-display>
126
+ </div>
127
+
128
+ <!-- Contenido con interpolación -->
129
+ <div class="section">
130
+ <h3>Contenido con Variables</h3>
131
+ <val-display [props]="userGreeting"></val-display>
132
+ <val-display [props]="statusMessage"></val-display>
133
+ </div>
134
+
135
+ <!-- Diferentes tamaños -->
136
+ <div class="section">
137
+ <h3>Diferentes Tamaños</h3>
138
+ <val-display [props]="smallText"></val-display>
139
+ <val-display [props]="mediumText"></val-display>
140
+ <val-display [props]="largeText"></val-display>
141
+ <val-display [props]="xlargeText"></val-display>
142
+ </div>
143
+
144
+ <!-- Diferentes colores -->
145
+ <div class="section">
146
+ <h3>Diferentes Colores</h3>
147
+ <val-display [props]="primaryText"></val-display>
148
+ <val-display [props]="successText"></val-display>
149
+ <val-display [props]="warningText"></val-display>
150
+ <val-display [props]="dangerText"></val-display>
151
+ </div>
152
+ </div>
153
+ `, isInline: true, styles: [".display-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 15px;color:var(--ion-color-primary)}val-display{display:block;margin:10px 0}\n"], dependencies: [{ kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }] }); }
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DisplayExampleComponent, decorators: [{
156
+ type: Component,
157
+ args: [{ selector: 'app-display-example', standalone: true, imports: [DisplayComponent], template: `
158
+ <div class="display-examples">
159
+ <h2>Ejemplos de val-display</h2>
160
+
161
+ <!-- Contenido estático -->
162
+ <div class="section">
163
+ <h3>Contenido Estático</h3>
164
+ <val-display [props]="staticTitle"></val-display>
165
+ <val-display [props]="staticSubtitle"></val-display>
166
+ </div>
167
+
168
+ <!-- Contenido reactivo -->
169
+ <div class="section">
170
+ <h3>Contenido Reactivo</h3>
171
+ <val-display [props]="reactiveWelcome"></val-display>
172
+ <val-display [props]="reactiveDescription"></val-display>
173
+ </div>
174
+
175
+ <!-- Contenido con interpolación -->
176
+ <div class="section">
177
+ <h3>Contenido con Variables</h3>
178
+ <val-display [props]="userGreeting"></val-display>
179
+ <val-display [props]="statusMessage"></val-display>
180
+ </div>
181
+
182
+ <!-- Diferentes tamaños -->
183
+ <div class="section">
184
+ <h3>Diferentes Tamaños</h3>
185
+ <val-display [props]="smallText"></val-display>
186
+ <val-display [props]="mediumText"></val-display>
187
+ <val-display [props]="largeText"></val-display>
188
+ <val-display [props]="xlargeText"></val-display>
189
+ </div>
190
+
191
+ <!-- Diferentes colores -->
192
+ <div class="section">
193
+ <h3>Diferentes Colores</h3>
194
+ <val-display [props]="primaryText"></val-display>
195
+ <val-display [props]="successText"></val-display>
196
+ <val-display [props]="warningText"></val-display>
197
+ <val-display [props]="dangerText"></val-display>
198
+ </div>
199
+ </div>
200
+ `, styles: [".display-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 15px;color:var(--ion-color-primary)}val-display{display:block;margin:10px 0}\n"] }]
201
+ }] });
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1zaW1wbGUtZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9leGFtcGxlcy9kaXNwbGF5LXNpbXBsZS1leGFtcGxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQUdqRjs7R0FFRztBQTZFSCxNQUFNLE9BQU8sdUJBQXVCO0lBNUVwQztRQTZFRSxtQ0FBbUM7UUFDbkMsZ0JBQVcsR0FBb0I7WUFDN0IsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFFRixtQkFBYyxHQUFvQjtZQUNoQyxPQUFPLEVBQUUsb0NBQW9DO1lBQzdDLEtBQUssRUFBRSxRQUFRO1lBQ2YsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBRUYsb0VBQW9FO1FBQ3BFLG9CQUFlLEdBQW9CO1lBQ2pDLGFBQWEsRUFBRTtnQkFDYixTQUFTLEVBQUUsZ0JBQWdCO2dCQUMzQixHQUFHLEVBQUUsZUFBZTtnQkFDcEIsUUFBUSxFQUFFLDRCQUE0QjthQUN2QztZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUVGLHdCQUFtQixHQUFvQjtZQUNyQyxhQUFhLEVBQUU7Z0JBQ2IsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsR0FBRyxFQUFFLHFCQUFxQjtnQkFDMUIsUUFBUSxFQUFFLHlDQUF5QzthQUNwRDtZQUNELEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsNENBQTRDO1FBQzVDLGlCQUFZLEdBQW9CO1lBQzlCLGFBQWEsRUFBRTtnQkFDYixTQUFTLEVBQUUsZ0JBQWdCO2dCQUMzQixHQUFHLEVBQUUsZUFBZTtnQkFDcEIsUUFBUSxFQUFFLCtDQUErQztnQkFDekQsYUFBYSxFQUFFO29CQUNiLElBQUksRUFBRSxPQUFPO29CQUNiLFFBQVEsRUFBRSxDQUFDO2lCQUNaO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsVUFBVTtZQUNqQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFFRixrQkFBYSxHQUFvQjtZQUMvQixhQUFhLEVBQUU7Z0JBQ2IsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsR0FBRyxFQUFFLGVBQWU7Z0JBQ3BCLFFBQVEsRUFBRSxtQ0FBbUM7Z0JBQzdDLGFBQWEsRUFBRTtvQkFDYixNQUFNLEVBQUUsVUFBVTtvQkFDbEIsSUFBSSxFQUFFLFVBQVU7aUJBQ2pCO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFFRixtQ0FBbUM7UUFDbkMsY0FBUyxHQUFvQjtZQUMzQixPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBRUYsZUFBVSxHQUFvQjtZQUM1QixPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsY0FBUyxHQUFvQjtZQUMzQixPQUFPLEVBQUUsc0JBQXNCO1lBQy9CLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBRUYsZUFBVSxHQUFvQjtZQUM1QixPQUFPLEVBQUUsNkJBQTZCO1lBQ3RDLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsbUNBQW1DO1FBQ25DLGdCQUFXLEdBQW9CO1lBQzdCLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFFBQVE7U0FDZixDQUFDO1FBRUYsZ0JBQVcsR0FBb0I7WUFDN0IsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFFRixnQkFBVyxHQUFvQjtZQUM3QixPQUFPLEVBQUUscUJBQXFCO1lBQzlCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUVGLGVBQVUsR0FBb0I7WUFDNUIsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixLQUFLLEVBQUUsUUFBUTtZQUNmLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztLQUNIOytHQWpIWSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwrRUF4RXhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNULDhXQTVDUyxnQkFBZ0I7OzRGQXlFZix1QkFBdUI7a0JBNUVuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUNqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5TWV0YWRhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvdHlwZXMnO1xuXG4vKipcbiAqIEVqZW1wbG8gcsOhcGlkbyBkZSB1c28gZGVsIGNvbXBvbmVudGUgdmFsLWRpc3BsYXkgY29uIGNvbnRlbmlkbyByZWFjdGl2b1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGlzcGxheS1leGFtcGxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Rpc3BsYXlDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5LWV4YW1wbGVzXCI+XG4gICAgICA8aDI+RWplbXBsb3MgZGUgdmFsLWRpc3BsYXk8L2gyPlxuXG4gICAgICA8IS0tIENvbnRlbmlkbyBlc3TDoXRpY28gLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxuICAgICAgICA8aDM+Q29udGVuaWRvIEVzdMOhdGljbzwvaDM+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwic3RhdGljVGl0bGVcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInN0YXRpY1N1YnRpdGxlXCI+PC92YWwtZGlzcGxheT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIENvbnRlbmlkbyByZWFjdGl2byAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxoMz5Db250ZW5pZG8gUmVhY3Rpdm88L2gzPlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInJlYWN0aXZlV2VsY29tZVwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwicmVhY3RpdmVEZXNjcmlwdGlvblwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBDb250ZW5pZG8gY29uIGludGVycG9sYWNpw7NuIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgICAgPGgzPkNvbnRlbmlkbyBjb24gVmFyaWFibGVzPC9oMz5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ1c2VyR3JlZXRpbmdcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInN0YXR1c01lc3NhZ2VcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGlmZXJlbnRlcyB0YW1hw7FvcyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxoMz5EaWZlcmVudGVzIFRhbWHDsW9zPC9oMz5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJzbWFsbFRleHRcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cIm1lZGl1bVRleHRcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cImxhcmdlVGV4dFwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieGxhcmdlVGV4dFwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBEaWZlcmVudGVzIGNvbG9yZXMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxuICAgICAgICA8aDM+RGlmZXJlbnRlcyBDb2xvcmVzPC9oMz5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJwcmltYXJ5VGV4dFwiPjwvdmFsLWRpc3BsYXk+XG4gICAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwic3VjY2Vzc1RleHRcIj48L3ZhbC1kaXNwbGF5PlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cIndhcm5pbmdUZXh0XCI+PC92YWwtZGlzcGxheT5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJkYW5nZXJUZXh0XCI+PC92YWwtZGlzcGxheT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZGlzcGxheS1leGFtcGxlcyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tY29sb3ItbGlnaHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1zdGVwLTUwKTtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24gaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG5cbiAgICAgIHZhbC1kaXNwbGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERpc3BsYXlFeGFtcGxlQ29tcG9uZW50IHtcbiAgLy8g4pyFIEVqZW1wbG9zIGRlIGNvbnRlbmlkbyBlc3TDoXRpY29cbiAgc3RhdGljVGl0bGU6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnRXN0ZSBlcyB1biB0w610dWxvIGVzdMOhdGljbycsXG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICBzaXplOiAneGxhcmdlJyxcbiAgfTtcblxuICBzdGF0aWNTdWJ0aXRsZTogRGlzcGxheU1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnQ6ICdFc3RlIGVzIHVuIHN1YnTDrXR1bG8gcXVlIG5vIGNhbWJpYScsXG4gICAgY29sb3I6ICdtZWRpdW0nLFxuICAgIHNpemU6ICdsYXJnZScsXG4gIH07XG5cbiAgLy8g4pyFIEVqZW1wbG9zIGRlIGNvbnRlbmlkbyByZWFjdGl2byAocmVxdWllcmUgY29uZmlndXJhY2nDs24gZGUgaTE4bilcbiAgcmVhY3RpdmVXZWxjb21lOiBEaXNwbGF5TWV0YWRhdGEgPSB7XG4gICAgY29udGVudENvbmZpZzoge1xuICAgICAgY2xhc3NOYW1lOiAnZGlzcGxheUV4YW1wbGUnLFxuICAgICAga2V5OiAnd2VsY29tZS50aXRsZScsXG4gICAgICBmYWxsYmFjazogJ0JpZW52ZW5pZG8gYSBsYSBhcGxpY2FjacOzbicsXG4gICAgfSxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIHNpemU6ICd4bGFyZ2UnLFxuICB9O1xuXG4gIHJlYWN0aXZlRGVzY3JpcHRpb246IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50Q29uZmlnOiB7XG4gICAgICBjbGFzc05hbWU6ICdkaXNwbGF5RXhhbXBsZScsXG4gICAgICBrZXk6ICd3ZWxjb21lLmRlc2NyaXB0aW9uJyxcbiAgICAgIGZhbGxiYWNrOiAnRXN0YSBkZXNjcmlwY2nDs24gY2FtYmlhIHNlZ8O6biBlbCBpZGlvbWEnLFxuICAgIH0sXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgY29uIGludGVycG9sYWNpw7NuIGRlIHZhcmlhYmxlc1xuICB1c2VyR3JlZXRpbmc6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50Q29uZmlnOiB7XG4gICAgICBjbGFzc05hbWU6ICdkaXNwbGF5RXhhbXBsZScsXG4gICAgICBrZXk6ICd1c2VyLmdyZWV0aW5nJyxcbiAgICAgIGZhbGxiYWNrOiAnSG9sYSwge3tuYW1lfX0hIFRpZW5lcyB7e21lc3NhZ2VzfX0gbWVuc2FqZXMuJyxcbiAgICAgIGludGVycG9sYXRpb246IHtcbiAgICAgICAgbmFtZTogJ01hcsOtYScsXG4gICAgICAgIG1lc3NhZ2VzOiA1LFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNvbG9yOiAndGVydGlhcnknLFxuICAgIHNpemU6ICdsYXJnZScsXG4gIH07XG5cbiAgc3RhdHVzTWVzc2FnZTogRGlzcGxheU1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnRDb25maWc6IHtcbiAgICAgIGNsYXNzTmFtZTogJ2Rpc3BsYXlFeGFtcGxlJyxcbiAgICAgIGtleTogJ3N0YXR1cy5vbmxpbmUnLFxuICAgICAgZmFsbGJhY2s6ICdFc3RhZG86IHt7c3RhdHVzfX0gZGVzZGUge3t0aW1lfX0nLFxuICAgICAgaW50ZXJwb2xhdGlvbjoge1xuICAgICAgICBzdGF0dXM6ICdFbiBsw61uZWEnLFxuICAgICAgICB0aW1lOiAnMTA6MzAgQU0nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgc2l6ZTogJ3NtYWxsJyxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgZGUgZGlmZXJlbnRlcyB0YW1hw7Fvc1xuICBzbWFsbFRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gcGVxdWXDsW8gKHNtYWxsKScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnc21hbGwnLFxuICB9O1xuXG4gIG1lZGl1bVRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gbWVkaWFubyAobWVkaXVtKScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgfTtcblxuICBsYXJnZVRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gZ3JhbmRlIChsYXJnZSknLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgc2l6ZTogJ2xhcmdlJyxcbiAgfTtcblxuICB4bGFyZ2VUZXh0OiBEaXNwbGF5TWV0YWRhdGEgPSB7XG4gICAgY29udGVudDogJ1RleHRvIGV4dHJhIGdyYW5kZSAoeGxhcmdlKScsXG4gICAgY29sb3I6ICdkYXJrJyxcbiAgICBzaXplOiAneGxhcmdlJyxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgZGUgZGlmZXJlbnRlcyBjb2xvcmVzXG4gIHByaW1hcnlUZXh0OiBEaXNwbGF5TWV0YWRhdGEgPSB7XG4gICAgY29udGVudDogJ1RleHRvIGNvbG9yIHByaW1hcnknLFxuICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gIH07XG5cbiAgc3VjY2Vzc1RleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gY29sb3Igc3VjY2VzcycsXG4gICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICBzaXplOiAnbWVkaXVtJyxcbiAgfTtcblxuICB3YXJuaW5nVGV4dDogRGlzcGxheU1ldGFkYXRhID0ge1xuICAgIGNvbnRlbnQ6ICdUZXh0byBjb2xvciB3YXJuaW5nJyxcbiAgICBjb2xvcjogJ3dhcm5pbmcnLFxuICAgIHNpemU6ICdtZWRpdW0nLFxuICB9O1xuXG4gIGRhbmdlclRleHQ6IERpc3BsYXlNZXRhZGF0YSA9IHtcbiAgICBjb250ZW50OiAnVGV4dG8gY29sb3IgZGFuZ2VyJyxcbiAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgc2l6ZTogJ21lZGl1bScsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,208 @@
1
+ import { Component } from '@angular/core';
2
+ import { LanguageSelectorComponent } from '../components/molecules/language-selector/language-selector.component';
3
+ import { PopoverSelectorComponent } from '../components/molecules/popover-selector/popover-selector.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Ejemplo de uso de los componentes popover-selector y language-selector
7
+ */
8
+ export class SelectorExamplesComponent {
9
+ constructor() {
10
+ // ✅ Ejemplos de Popover Selector Genérico
11
+ this.categorySelector = {
12
+ options: [
13
+ { value: 'work', label: 'Trabajo', icon: 'briefcase' },
14
+ { value: 'personal', label: 'Personal', icon: 'person' },
15
+ { value: 'travel', label: 'Viajes', icon: 'airplane' },
16
+ { value: 'health', label: 'Salud', icon: 'fitness' },
17
+ ],
18
+ selectedValue: 'work',
19
+ label: 'Categoría',
20
+ icon: 'folder',
21
+ color: 'primary',
22
+ size: 'default',
23
+ fill: 'outline',
24
+ };
25
+ this.prioritySelector = {
26
+ options: [
27
+ { value: 'low', label: 'Baja', icon: 'arrow-down', disabled: false },
28
+ { value: 'medium', label: 'Media', icon: 'remove' },
29
+ { value: 'high', label: 'Alta', icon: 'arrow-up' },
30
+ { value: 'urgent', label: 'Urgente', icon: 'warning' },
31
+ ],
32
+ selectedValue: 'medium',
33
+ label: 'Prioridad',
34
+ icon: 'flag',
35
+ color: 'warning',
36
+ size: 'large',
37
+ fill: 'solid',
38
+ shape: 'round',
39
+ };
40
+ this.multipleSelector = {
41
+ options: [
42
+ { value: 'email', label: 'Email', icon: 'mail' },
43
+ { value: 'sms', label: 'SMS', icon: 'chatbox' },
44
+ { value: 'push', label: 'Push', icon: 'notifications' },
45
+ { value: 'in-app', label: 'In-App', icon: 'apps' },
46
+ ],
47
+ selectedValue: ['email', 'push'],
48
+ label: 'Notificaciones',
49
+ icon: 'notifications-circle',
50
+ multiple: true,
51
+ color: 'tertiary',
52
+ size: 'default',
53
+ fill: 'outline',
54
+ showCheckmark: true,
55
+ };
56
+ // ✅ Ejemplos de Language Selector
57
+ this.basicLanguageSelector = {
58
+ showLabel: true,
59
+ label: 'Idioma',
60
+ color: 'medium',
61
+ size: 'default',
62
+ fill: 'outline',
63
+ };
64
+ this.flagLanguageSelector = {
65
+ showLabel: true,
66
+ label: 'Language / Idioma',
67
+ showFlags: true,
68
+ color: 'primary',
69
+ size: 'large',
70
+ fill: 'solid',
71
+ };
72
+ this.customLanguageSelector = {
73
+ showLabel: true,
74
+ labelConfig: {
75
+ className: '_global',
76
+ key: 'language',
77
+ fallback: 'Idioma',
78
+ },
79
+ showFlags: true,
80
+ color: 'secondary',
81
+ size: 'default',
82
+ fill: 'outline',
83
+ shape: 'round',
84
+ customLanguageNames: {
85
+ es: 'Español (España)',
86
+ en: 'English (US)',
87
+ fr: 'Français',
88
+ de: 'Deutsch',
89
+ },
90
+ };
91
+ }
92
+ // ✅ Event Handlers
93
+ onCategoryChange(category) {
94
+ console.log('Category changed:', category);
95
+ }
96
+ onPriorityChange(priority) {
97
+ console.log('Priority changed:', priority);
98
+ }
99
+ onMultipleChange(notifications) {
100
+ console.log('Notifications changed:', notifications);
101
+ }
102
+ onLanguageChange(language) {
103
+ console.log('Language changed:', language);
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectorExamplesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectorExamplesComponent, isStandalone: true, selector: "app-selector-examples", ngImport: i0, template: `
107
+ <div class="selector-examples">
108
+ <h2>Ejemplos de Selectores</h2>
109
+
110
+ <!-- Popover Selector Genérico -->
111
+ <div class="section">
112
+ <h3>Popover Selector Genérico</h3>
113
+
114
+ <div class="example-group">
115
+ <h4>Selector de Categorías:</h4>
116
+ <val-popover-selector [props]="categorySelector" (selectionChange)="onCategoryChange($event)">
117
+ </val-popover-selector>
118
+ </div>
119
+
120
+ <div class="example-group">
121
+ <h4>Selector de Prioridad:</h4>
122
+ <val-popover-selector [props]="prioritySelector" (selectionChange)="onPriorityChange($event)">
123
+ </val-popover-selector>
124
+ </div>
125
+
126
+ <div class="example-group">
127
+ <h4>Selector Múltiple:</h4>
128
+ <val-popover-selector [props]="multipleSelector" (selectionChange)="onMultipleChange($event)">
129
+ </val-popover-selector>
130
+ </div>
131
+ </div>
132
+
133
+ <!-- Language Selector -->
134
+ <div class="section">
135
+ <h3>Selector de Idioma</h3>
136
+
137
+ <div class="example-group">
138
+ <h4>Selector Básico:</h4>
139
+ <val-language-selector [props]="basicLanguageSelector"> </val-language-selector>
140
+ </div>
141
+
142
+ <div class="example-group">
143
+ <h4>Selector con Banderas:</h4>
144
+ <val-language-selector [props]="flagLanguageSelector"> </val-language-selector>
145
+ </div>
146
+
147
+ <div class="example-group">
148
+ <h4>Selector Personalizado:</h4>
149
+ <val-language-selector [props]="customLanguageSelector" (languageChange)="onLanguageChange($event)">
150
+ </val-language-selector>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ `, isInline: true, styles: [".selector-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 20px;color:var(--ion-color-primary)}.example-group{margin:20px 0;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.example-group h4{margin:0 0 15px;color:var(--ion-color-medium)}\n"], dependencies: [{ kind: "component", type: PopoverSelectorComponent, selector: "val-popover-selector", inputs: ["props"], outputs: ["selectionChange"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }] }); }
155
+ }
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectorExamplesComponent, decorators: [{
157
+ type: Component,
158
+ args: [{ selector: 'app-selector-examples', standalone: true, imports: [PopoverSelectorComponent, LanguageSelectorComponent], template: `
159
+ <div class="selector-examples">
160
+ <h2>Ejemplos de Selectores</h2>
161
+
162
+ <!-- Popover Selector Genérico -->
163
+ <div class="section">
164
+ <h3>Popover Selector Genérico</h3>
165
+
166
+ <div class="example-group">
167
+ <h4>Selector de Categorías:</h4>
168
+ <val-popover-selector [props]="categorySelector" (selectionChange)="onCategoryChange($event)">
169
+ </val-popover-selector>
170
+ </div>
171
+
172
+ <div class="example-group">
173
+ <h4>Selector de Prioridad:</h4>
174
+ <val-popover-selector [props]="prioritySelector" (selectionChange)="onPriorityChange($event)">
175
+ </val-popover-selector>
176
+ </div>
177
+
178
+ <div class="example-group">
179
+ <h4>Selector Múltiple:</h4>
180
+ <val-popover-selector [props]="multipleSelector" (selectionChange)="onMultipleChange($event)">
181
+ </val-popover-selector>
182
+ </div>
183
+ </div>
184
+
185
+ <!-- Language Selector -->
186
+ <div class="section">
187
+ <h3>Selector de Idioma</h3>
188
+
189
+ <div class="example-group">
190
+ <h4>Selector Básico:</h4>
191
+ <val-language-selector [props]="basicLanguageSelector"> </val-language-selector>
192
+ </div>
193
+
194
+ <div class="example-group">
195
+ <h4>Selector con Banderas:</h4>
196
+ <val-language-selector [props]="flagLanguageSelector"> </val-language-selector>
197
+ </div>
198
+
199
+ <div class="example-group">
200
+ <h4>Selector Personalizado:</h4>
201
+ <val-language-selector [props]="customLanguageSelector" (languageChange)="onLanguageChange($event)">
202
+ </val-language-selector>
203
+ </div>
204
+ </div>
205
+ </div>
206
+ `, styles: [".selector-examples{padding:20px;max-width:800px;margin:0 auto}.section{margin:30px 0;padding:20px;border:1px solid var(--ion-color-light);border-radius:8px;background:var(--ion-color-step-50)}.section h3{margin:0 0 20px;color:var(--ion-color-primary)}.example-group{margin:20px 0;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.example-group h4{margin:0 0 15px;color:var(--ion-color-medium)}\n"] }]
207
+ }] });
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3ItZXhhbXBsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvZXhhbXBsZXMvc2VsZWN0b3ItZXhhbXBsZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFFbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUVBQXFFLENBQUM7O0FBRy9HOztHQUVHO0FBMEZILE1BQU0sT0FBTyx5QkFBeUI7SUF6RnRDO1FBMEZFLDBDQUEwQztRQUUxQyxxQkFBZ0IsR0FBNEI7WUFDMUMsT0FBTyxFQUFFO2dCQUNQLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ3RELEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQ3hELEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3RELEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7YUFDckQ7WUFDRCxhQUFhLEVBQUUsTUFBTTtZQUNyQixLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQztRQUVGLHFCQUFnQixHQUE0QjtZQUMxQyxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNwRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUNuRCxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNsRCxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2FBQ3ZEO1lBQ0QsYUFBYSxFQUFFLFFBQVE7WUFDdkIsS0FBSyxFQUFFLFdBQVc7WUFDbEIsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDO1FBRUYscUJBQWdCLEdBQTRCO1lBQzFDLE9BQU8sRUFBRTtnQkFDUCxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2dCQUNoRCxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2dCQUMvQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO2dCQUN2RCxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2FBQ25EO1lBQ0QsYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztZQUNoQyxLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLElBQUksRUFBRSxzQkFBc0I7WUFDNUIsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsVUFBVTtZQUNqQixJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxTQUFTO1lBQ2YsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQztRQUVGLGtDQUFrQztRQUVsQywwQkFBcUIsR0FBNkI7WUFDaEQsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVBQUUsUUFBUTtZQUNmLEtBQUssRUFBRSxRQUFRO1lBQ2YsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsU0FBUztTQUNoQixDQUFDO1FBRUYseUJBQW9CLEdBQTZCO1lBQy9DLFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxPQUFPO1lBQ2IsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBRUYsMkJBQXNCLEdBQTZCO1lBQ2pELFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFO2dCQUNYLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixHQUFHLEVBQUUsVUFBVTtnQkFDZixRQUFRLEVBQUUsUUFBUTthQUNuQjtZQUNELFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQUFFLFdBQVc7WUFDbEIsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxPQUFPO1lBQ2QsbUJBQW1CLEVBQUU7Z0JBQ25CLEVBQUUsRUFBRSxrQkFBa0I7Z0JBQ3RCLEVBQUUsRUFBRSxjQUFjO2dCQUNsQixFQUFFLEVBQUUsVUFBVTtnQkFDZCxFQUFFLEVBQUUsU0FBUzthQUNkO1NBQ0YsQ0FBQztLQW1CSDtJQWpCQyxtQkFBbUI7SUFFbkIsZ0JBQWdCLENBQUMsUUFBMkI7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBMkI7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsYUFBZ0M7UUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQTFHVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpRkFyRjFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRFQsa2ZBakRTLHdCQUF3QixrSEFBRSx5QkFBeUI7OzRGQXNGbEQseUJBQXlCO2tCQXpGckMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLEVBQUUseUJBQXlCLENBQUMsWUFDcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdEVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci90eXBlcyc7XG5pbXBvcnQgeyBQb3BvdmVyU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9wb3BvdmVyLXNlbGVjdG9yL3BvcG92ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvcG9wb3Zlci1zZWxlY3Rvci90eXBlcyc7XG5cbi8qKlxuICogRWplbXBsbyBkZSB1c28gZGUgbG9zIGNvbXBvbmVudGVzIHBvcG92ZXItc2VsZWN0b3IgeSBsYW5ndWFnZS1zZWxlY3RvclxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0b3ItZXhhbXBsZXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUG9wb3ZlclNlbGVjdG9yQ29tcG9uZW50LCBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0b3ItZXhhbXBsZXNcIj5cbiAgICAgIDxoMj5FamVtcGxvcyBkZSBTZWxlY3RvcmVzPC9oMj5cblxuICAgICAgPCEtLSBQb3BvdmVyIFNlbGVjdG9yIEdlbsOpcmljbyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxoMz5Qb3BvdmVyIFNlbGVjdG9yIEdlbsOpcmljbzwvaDM+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgZGUgQ2F0ZWdvcsOtYXM6PC9oND5cbiAgICAgICAgICA8dmFsLXBvcG92ZXItc2VsZWN0b3IgW3Byb3BzXT1cImNhdGVnb3J5U2VsZWN0b3JcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2F0ZWdvcnlDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvdmFsLXBvcG92ZXItc2VsZWN0b3I+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWdyb3VwXCI+XG4gICAgICAgICAgPGg0PlNlbGVjdG9yIGRlIFByaW9yaWRhZDo8L2g0PlxuICAgICAgICAgIDx2YWwtcG9wb3Zlci1zZWxlY3RvciBbcHJvcHNdPVwicHJpb3JpdHlTZWxlY3RvclwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25Qcmlvcml0eUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgPC92YWwtcG9wb3Zlci1zZWxlY3Rvcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgTcO6bHRpcGxlOjwvaDQ+XG4gICAgICAgICAgPHZhbC1wb3BvdmVyLXNlbGVjdG9yIFtwcm9wc109XCJtdWx0aXBsZVNlbGVjdG9yXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbk11bHRpcGxlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICA8L3ZhbC1wb3BvdmVyLXNlbGVjdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIExhbmd1YWdlIFNlbGVjdG9yIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cbiAgICAgICAgPGgzPlNlbGVjdG9yIGRlIElkaW9tYTwvaDM+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgQsOhc2ljbzo8L2g0PlxuICAgICAgICAgIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cImJhc2ljTGFuZ3VhZ2VTZWxlY3RvclwiPiA8L3ZhbC1sYW5ndWFnZS1zZWxlY3Rvcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV4YW1wbGUtZ3JvdXBcIj5cbiAgICAgICAgICA8aDQ+U2VsZWN0b3IgY29uIEJhbmRlcmFzOjwvaDQ+XG4gICAgICAgICAgPHZhbC1sYW5ndWFnZS1zZWxlY3RvciBbcHJvcHNdPVwiZmxhZ0xhbmd1YWdlU2VsZWN0b3JcIj4gPC92YWwtbGFuZ3VhZ2Utc2VsZWN0b3I+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWdyb3VwXCI+XG4gICAgICAgICAgPGg0PlNlbGVjdG9yIFBlcnNvbmFsaXphZG86PC9oND5cbiAgICAgICAgICA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJjdXN0b21MYW5ndWFnZVNlbGVjdG9yXCIgKGxhbmd1YWdlQ2hhbmdlKT1cIm9uTGFuZ3VhZ2VDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgIDwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuc2VsZWN0b3ItZXhhbXBsZXMge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3Itc3RlcC01MCk7XG4gICAgICB9XG5cbiAgICAgIC5zZWN0aW9uIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAuZXhhbXBsZS1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgfVxuXG4gICAgICAuZXhhbXBsZS1ncm91cCBoNCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0pO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdG9yRXhhbXBsZXNDb21wb25lbnQge1xuICAvLyDinIUgRWplbXBsb3MgZGUgUG9wb3ZlciBTZWxlY3RvciBHZW7DqXJpY29cblxuICBjYXRlZ29yeVNlbGVjdG9yOiBQb3BvdmVyU2VsZWN0b3JNZXRhZGF0YSA9IHtcbiAgICBvcHRpb25zOiBbXG4gICAgICB7IHZhbHVlOiAnd29yaycsIGxhYmVsOiAnVHJhYmFqbycsIGljb246ICdicmllZmNhc2UnIH0sXG4gICAgICB7IHZhbHVlOiAncGVyc29uYWwnLCBsYWJlbDogJ1BlcnNvbmFsJywgaWNvbjogJ3BlcnNvbicgfSxcbiAgICAgIHsgdmFsdWU6ICd0cmF2ZWwnLCBsYWJlbDogJ1ZpYWplcycsIGljb246ICdhaXJwbGFuZScgfSxcbiAgICAgIHsgdmFsdWU6ICdoZWFsdGgnLCBsYWJlbDogJ1NhbHVkJywgaWNvbjogJ2ZpdG5lc3MnIH0sXG4gICAgXSxcbiAgICBzZWxlY3RlZFZhbHVlOiAnd29yaycsXG4gICAgbGFiZWw6ICdDYXRlZ29yw61hJyxcbiAgICBpY29uOiAnZm9sZGVyJyxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICBmaWxsOiAnb3V0bGluZScsXG4gIH07XG5cbiAgcHJpb3JpdHlTZWxlY3RvcjogUG9wb3ZlclNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgb3B0aW9uczogW1xuICAgICAgeyB2YWx1ZTogJ2xvdycsIGxhYmVsOiAnQmFqYScsIGljb246ICdhcnJvdy1kb3duJywgZGlzYWJsZWQ6IGZhbHNlIH0sXG4gICAgICB7IHZhbHVlOiAnbWVkaXVtJywgbGFiZWw6ICdNZWRpYScsIGljb246ICdyZW1vdmUnIH0sXG4gICAgICB7IHZhbHVlOiAnaGlnaCcsIGxhYmVsOiAnQWx0YScsIGljb246ICdhcnJvdy11cCcgfSxcbiAgICAgIHsgdmFsdWU6ICd1cmdlbnQnLCBsYWJlbDogJ1VyZ2VudGUnLCBpY29uOiAnd2FybmluZycgfSxcbiAgICBdLFxuICAgIHNlbGVjdGVkVmFsdWU6ICdtZWRpdW0nLFxuICAgIGxhYmVsOiAnUHJpb3JpZGFkJyxcbiAgICBpY29uOiAnZmxhZycsXG4gICAgY29sb3I6ICd3YXJuaW5nJyxcbiAgICBzaXplOiAnbGFyZ2UnLFxuICAgIGZpbGw6ICdzb2xpZCcsXG4gICAgc2hhcGU6ICdyb3VuZCcsXG4gIH07XG5cbiAgbXVsdGlwbGVTZWxlY3RvcjogUG9wb3ZlclNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgb3B0aW9uczogW1xuICAgICAgeyB2YWx1ZTogJ2VtYWlsJywgbGFiZWw6ICdFbWFpbCcsIGljb246ICdtYWlsJyB9LFxuICAgICAgeyB2YWx1ZTogJ3NtcycsIGxhYmVsOiAnU01TJywgaWNvbjogJ2NoYXRib3gnIH0sXG4gICAgICB7IHZhbHVlOiAncHVzaCcsIGxhYmVsOiAnUHVzaCcsIGljb246ICdub3RpZmljYXRpb25zJyB9LFxuICAgICAgeyB2YWx1ZTogJ2luLWFwcCcsIGxhYmVsOiAnSW4tQXBwJywgaWNvbjogJ2FwcHMnIH0sXG4gICAgXSxcbiAgICBzZWxlY3RlZFZhbHVlOiBbJ2VtYWlsJywgJ3B1c2gnXSxcbiAgICBsYWJlbDogJ05vdGlmaWNhY2lvbmVzJyxcbiAgICBpY29uOiAnbm90aWZpY2F0aW9ucy1jaXJjbGUnLFxuICAgIG11bHRpcGxlOiB0cnVlLFxuICAgIGNvbG9yOiAndGVydGlhcnknLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgc2hvd0NoZWNrbWFyazogdHJ1ZSxcbiAgfTtcblxuICAvLyDinIUgRWplbXBsb3MgZGUgTGFuZ3VhZ2UgU2VsZWN0b3JcblxuICBiYXNpY0xhbmd1YWdlU2VsZWN0b3I6IExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YSA9IHtcbiAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgbGFiZWw6ICdJZGlvbWEnLFxuICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgZmlsbDogJ291dGxpbmUnLFxuICB9O1xuXG4gIGZsYWdMYW5ndWFnZVNlbGVjdG9yOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgIGxhYmVsOiAnTGFuZ3VhZ2UgLyBJZGlvbWEnLFxuICAgIHNob3dGbGFnczogdHJ1ZSxcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIHNpemU6ICdsYXJnZScsXG4gICAgZmlsbDogJ3NvbGlkJyxcbiAgfTtcblxuICBjdXN0b21MYW5ndWFnZVNlbGVjdG9yOiBMYW5ndWFnZVNlbGVjdG9yTWV0YWRhdGEgPSB7XG4gICAgc2hvd0xhYmVsOiB0cnVlLFxuICAgIGxhYmVsQ29uZmlnOiB7XG4gICAgICBjbGFzc05hbWU6ICdfZ2xvYmFsJyxcbiAgICAgIGtleTogJ2xhbmd1YWdlJyxcbiAgICAgIGZhbGxiYWNrOiAnSWRpb21hJyxcbiAgICB9LFxuICAgIHNob3dGbGFnczogdHJ1ZSxcbiAgICBjb2xvcjogJ3NlY29uZGFyeScsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICBjdXN0b21MYW5ndWFnZU5hbWVzOiB7XG4gICAgICBlczogJ0VzcGHDsW9sIChFc3Bhw7FhKScsXG4gICAgICBlbjogJ0VuZ2xpc2ggKFVTKScsXG4gICAgICBmcjogJ0ZyYW7Dp2FpcycsXG4gICAgICBkZTogJ0RldXRzY2gnLFxuICAgIH0sXG4gIH07XG5cbiAgLy8g4pyFIEV2ZW50IEhhbmRsZXJzXG5cbiAgb25DYXRlZ29yeUNoYW5nZShjYXRlZ29yeTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zb2xlLmxvZygnQ2F0ZWdvcnkgY2hhbmdlZDonLCBjYXRlZ29yeSk7XG4gIH1cblxuICBvblByaW9yaXR5Q2hhbmdlKHByaW9yaXR5OiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGNvbnNvbGUubG9nKCdQcmlvcml0eSBjaGFuZ2VkOicsIHByaW9yaXR5KTtcbiAgfVxuXG4gIG9uTXVsdGlwbGVDaGFuZ2Uobm90aWZpY2F0aW9uczogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zb2xlLmxvZygnTm90aWZpY2F0aW9ucyBjaGFuZ2VkOicsIG5vdGlmaWNhdGlvbnMpO1xuICB9XG5cbiAgb25MYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coJ0xhbmd1YWdlIGNoYW5nZWQ6JywgbGFuZ3VhZ2UpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,86 @@
1
+ import { TextContent } from '../types';
2
+ /**
3
+ * Contenido específico para el componente de demostración de Display.
4
+ * Todas las claves son planas (sin anidación) ya que el sistema no soporta claves anidadas.
5
+ */
6
+ const displayDemoContent = {
7
+ es: {
8
+ // Página principal
9
+ pageTitle: 'Demostración del Componente Display',
10
+ // Secciones
11
+ sectionsStatic: 'Ejemplos Estáticos',
12
+ sectionsReactive: 'Ejemplos Reactivos',
13
+ sectionsMixed: 'Ejemplos Mixtos',
14
+ sectionsDynamic: 'Ejemplos Dinámicos',
15
+ sectionsAnalysis: 'Análisis de Idioma',
16
+ // Subsecciones
17
+ subsectionsReactiveContent: 'Contenido reactivo básico:',
18
+ subsectionsInterpolation: 'Contenido con interpolación:',
19
+ subsectionsFallback: 'Demostración de fallbacks:',
20
+ subsectionsMixedContent: 'Contenido estático vs reactivo:',
21
+ subsectionsDynamicContent: 'Contenido que se actualiza dinámicamente:',
22
+ // Contenido de bienvenida
23
+ welcomeTitle: 'Bienvenido a la aplicación',
24
+ welcomeDescription: 'Esta es una descripción de ejemplo',
25
+ welcomeUser: 'Hola, {{userName}}!',
26
+ // Estados y mensajes
27
+ statusOnline: 'En línea',
28
+ counterCurrent: 'Contador: {{count}}',
29
+ dynamicContent: 'Clics: {{count}}',
30
+ // Contenido mixto
31
+ mixedReactive: 'Este contenido sí cambia con el idioma',
32
+ // Botones
33
+ buttonsUpdateCounter: 'Actualizar Contador',
34
+ // Análisis
35
+ analysisCurrentLanguage: 'Idioma actual',
36
+ analysisAvailableLanguages: 'Idiomas disponibles',
37
+ },
38
+ en: {
39
+ // Main page
40
+ pageTitle: 'Display Component Demo',
41
+ // Sections
42
+ sectionsStatic: 'Static Examples',
43
+ sectionsReactive: 'Reactive Examples',
44
+ sectionsMixed: 'Mixed Examples',
45
+ sectionsDynamic: 'Dynamic Examples',
46
+ sectionsAnalysis: 'Language Analysis',
47
+ // Subsections
48
+ subsectionsReactiveContent: 'Basic reactive content:',
49
+ subsectionsInterpolation: 'Content with interpolation:',
50
+ subsectionsFallback: 'Fallback demonstration:',
51
+ subsectionsMixedContent: 'Static vs reactive content:',
52
+ subsectionsDynamicContent: 'Dynamically updating content:',
53
+ // Welcome content
54
+ welcomeTitle: 'Welcome to the application',
55
+ welcomeDescription: 'This is an example description',
56
+ welcomeUser: 'Hello, {{userName}}!',
57
+ // States and messages
58
+ statusOnline: 'Online',
59
+ counterCurrent: 'Counter: {{count}}',
60
+ dynamicContent: 'Clicks: {{count}}',
61
+ // Mixed content
62
+ mixedReactive: 'This content does change with language',
63
+ // Buttons
64
+ buttonsUpdateCounter: 'Update Counter',
65
+ // Analysis
66
+ analysisCurrentLanguage: 'Current language',
67
+ analysisAvailableLanguages: 'Available languages',
68
+ },
69
+ fr: {
70
+ // Page principale
71
+ pageTitle: 'Démonstration du Composant Display',
72
+ // Sections
73
+ sectionsStatic: 'Exemples Statiques',
74
+ sectionsReactive: 'Exemples Réactifs',
75
+ // Welcome content
76
+ welcomeTitle: "Bienvenue dans l'application",
77
+ welcomeUser: 'Bonjour, {{userName}}!',
78
+ // States and messages
79
+ statusOnline: 'En ligne',
80
+ counterCurrent: 'Compteur: {{count}}',
81
+ // Buttons
82
+ buttonsUpdateCounter: 'Mettre à jour le Compteur',
83
+ },
84
+ };
85
+ export default new TextContent(displayDemoContent);
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9jb21wb25lbnRzL2Rpc3BsYXktZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6RDs7O0dBR0c7QUFDSCxNQUFNLGtCQUFrQixHQUFxQjtJQUMzQyxFQUFFLEVBQUU7UUFDRixtQkFBbUI7UUFDbkIsU0FBUyxFQUFFLHFDQUFxQztRQUVoRCxZQUFZO1FBQ1osY0FBYyxFQUFFLG9CQUFvQjtRQUNwQyxnQkFBZ0IsRUFBRSxvQkFBb0I7UUFDdEMsYUFBYSxFQUFFLGlCQUFpQjtRQUNoQyxlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLGdCQUFnQixFQUFFLG9CQUFvQjtRQUV0QyxlQUFlO1FBQ2YsMEJBQTBCLEVBQUUsNEJBQTRCO1FBQ3hELHdCQUF3QixFQUFFLDhCQUE4QjtRQUN4RCxtQkFBbUIsRUFBRSw0QkFBNEI7UUFDakQsdUJBQXVCLEVBQUUsaUNBQWlDO1FBQzFELHlCQUF5QixFQUFFLDJDQUEyQztRQUV0RSwwQkFBMEI7UUFDMUIsWUFBWSxFQUFFLDRCQUE0QjtRQUMxQyxrQkFBa0IsRUFBRSxvQ0FBb0M7UUFDeEQsV0FBVyxFQUFFLHFCQUFxQjtRQUVsQyxxQkFBcUI7UUFDckIsWUFBWSxFQUFFLFVBQVU7UUFDeEIsY0FBYyxFQUFFLHFCQUFxQjtRQUNyQyxjQUFjLEVBQUUsa0JBQWtCO1FBRWxDLGtCQUFrQjtRQUNsQixhQUFhLEVBQUUsd0NBQXdDO1FBRXZELFVBQVU7UUFDVixvQkFBb0IsRUFBRSxxQkFBcUI7UUFFM0MsV0FBVztRQUNYLHVCQUF1QixFQUFFLGVBQWU7UUFDeEMsMEJBQTBCLEVBQUUscUJBQXFCO0tBQ2xEO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsWUFBWTtRQUNaLFNBQVMsRUFBRSx3QkFBd0I7UUFFbkMsV0FBVztRQUNYLGNBQWMsRUFBRSxpQkFBaUI7UUFDakMsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBQ3JDLGFBQWEsRUFBRSxnQkFBZ0I7UUFDL0IsZUFBZSxFQUFFLGtCQUFrQjtRQUNuQyxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFFckMsY0FBYztRQUNkLDBCQUEwQixFQUFFLHlCQUF5QjtRQUNyRCx3QkFBd0IsRUFBRSw2QkFBNkI7UUFDdkQsbUJBQW1CLEVBQUUseUJBQXlCO1FBQzlDLHVCQUF1QixFQUFFLDZCQUE2QjtRQUN0RCx5QkFBeUIsRUFBRSwrQkFBK0I7UUFFMUQsa0JBQWtCO1FBQ2xCLFlBQVksRUFBRSw0QkFBNEI7UUFDMUMsa0JBQWtCLEVBQUUsZ0NBQWdDO1FBQ3BELFdBQVcsRUFBRSxzQkFBc0I7UUFFbkMsc0JBQXNCO1FBQ3RCLFlBQVksRUFBRSxRQUFRO1FBQ3RCLGNBQWMsRUFBRSxvQkFBb0I7UUFDcEMsY0FBYyxFQUFFLG1CQUFtQjtRQUVuQyxnQkFBZ0I7UUFDaEIsYUFBYSxFQUFFLHdDQUF3QztRQUV2RCxVQUFVO1FBQ1Ysb0JBQW9CLEVBQUUsZ0JBQWdCO1FBRXRDLFdBQVc7UUFDWCx1QkFBdUIsRUFBRSxrQkFBa0I7UUFDM0MsMEJBQTBCLEVBQUUscUJBQXFCO0tBQ2xEO0lBQ0QsRUFBRSxFQUFFO1FBQ0Ysa0JBQWtCO1FBQ2xCLFNBQVMsRUFBRSxvQ0FBb0M7UUFFL0MsV0FBVztRQUNYLGNBQWMsRUFBRSxvQkFBb0I7UUFDcEMsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBRXJDLGtCQUFrQjtRQUNsQixZQUFZLEVBQUUsOEJBQThCO1FBQzVDLFdBQVcsRUFBRSx3QkFBd0I7UUFFckMsc0JBQXNCO1FBQ3RCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLGNBQWMsRUFBRSxxQkFBcUI7UUFFckMsVUFBVTtRQUNWLG9CQUFvQixFQUFFLDJCQUEyQjtLQUNsRDtDQUNGLENBQUM7QUFFRixlQUFlLElBQUksV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZXNDb250ZW50LCBUZXh0Q29udGVudCB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBDb250ZW5pZG8gZXNwZWPDrWZpY28gcGFyYSBlbCBjb21wb25lbnRlIGRlIGRlbW9zdHJhY2nDs24gZGUgRGlzcGxheS5cbiAqIFRvZGFzIGxhcyBjbGF2ZXMgc29uIHBsYW5hcyAoc2luIGFuaWRhY2nDs24pIHlhIHF1ZSBlbCBzaXN0ZW1hIG5vIHNvcG9ydGEgY2xhdmVzIGFuaWRhZGFzLlxuICovXG5jb25zdCBkaXNwbGF5RGVtb0NvbnRlbnQ6IExhbmd1YWdlc0NvbnRlbnQgPSB7XG4gIGVzOiB7XG4gICAgLy8gUMOhZ2luYSBwcmluY2lwYWxcbiAgICBwYWdlVGl0bGU6ICdEZW1vc3RyYWNpw7NuIGRlbCBDb21wb25lbnRlIERpc3BsYXknLFxuXG4gICAgLy8gU2VjY2lvbmVzXG4gICAgc2VjdGlvbnNTdGF0aWM6ICdFamVtcGxvcyBFc3TDoXRpY29zJyxcbiAgICBzZWN0aW9uc1JlYWN0aXZlOiAnRWplbXBsb3MgUmVhY3Rpdm9zJyxcbiAgICBzZWN0aW9uc01peGVkOiAnRWplbXBsb3MgTWl4dG9zJyxcbiAgICBzZWN0aW9uc0R5bmFtaWM6ICdFamVtcGxvcyBEaW7DoW1pY29zJyxcbiAgICBzZWN0aW9uc0FuYWx5c2lzOiAnQW7DoWxpc2lzIGRlIElkaW9tYScsXG5cbiAgICAvLyBTdWJzZWNjaW9uZXNcbiAgICBzdWJzZWN0aW9uc1JlYWN0aXZlQ29udGVudDogJ0NvbnRlbmlkbyByZWFjdGl2byBiw6FzaWNvOicsXG4gICAgc3Vic2VjdGlvbnNJbnRlcnBvbGF0aW9uOiAnQ29udGVuaWRvIGNvbiBpbnRlcnBvbGFjacOzbjonLFxuICAgIHN1YnNlY3Rpb25zRmFsbGJhY2s6ICdEZW1vc3RyYWNpw7NuIGRlIGZhbGxiYWNrczonLFxuICAgIHN1YnNlY3Rpb25zTWl4ZWRDb250ZW50OiAnQ29udGVuaWRvIGVzdMOhdGljbyB2cyByZWFjdGl2bzonLFxuICAgIHN1YnNlY3Rpb25zRHluYW1pY0NvbnRlbnQ6ICdDb250ZW5pZG8gcXVlIHNlIGFjdHVhbGl6YSBkaW7DoW1pY2FtZW50ZTonLFxuXG4gICAgLy8gQ29udGVuaWRvIGRlIGJpZW52ZW5pZGFcbiAgICB3ZWxjb21lVGl0bGU6ICdCaWVudmVuaWRvIGEgbGEgYXBsaWNhY2nDs24nLFxuICAgIHdlbGNvbWVEZXNjcmlwdGlvbjogJ0VzdGEgZXMgdW5hIGRlc2NyaXBjacOzbiBkZSBlamVtcGxvJyxcbiAgICB3ZWxjb21lVXNlcjogJ0hvbGEsIHt7dXNlck5hbWV9fSEnLFxuXG4gICAgLy8gRXN0YWRvcyB5IG1lbnNhamVzXG4gICAgc3RhdHVzT25saW5lOiAnRW4gbMOtbmVhJyxcbiAgICBjb3VudGVyQ3VycmVudDogJ0NvbnRhZG9yOiB7e2NvdW50fX0nLFxuICAgIGR5bmFtaWNDb250ZW50OiAnQ2xpY3M6IHt7Y291bnR9fScsXG5cbiAgICAvLyBDb250ZW5pZG8gbWl4dG9cbiAgICBtaXhlZFJlYWN0aXZlOiAnRXN0ZSBjb250ZW5pZG8gc8OtIGNhbWJpYSBjb24gZWwgaWRpb21hJyxcblxuICAgIC8vIEJvdG9uZXNcbiAgICBidXR0b25zVXBkYXRlQ291bnRlcjogJ0FjdHVhbGl6YXIgQ29udGFkb3InLFxuXG4gICAgLy8gQW7DoWxpc2lzXG4gICAgYW5hbHlzaXNDdXJyZW50TGFuZ3VhZ2U6ICdJZGlvbWEgYWN0dWFsJyxcbiAgICBhbmFseXNpc0F2YWlsYWJsZUxhbmd1YWdlczogJ0lkaW9tYXMgZGlzcG9uaWJsZXMnLFxuICB9LFxuICBlbjoge1xuICAgIC8vIE1haW4gcGFnZVxuICAgIHBhZ2VUaXRsZTogJ0Rpc3BsYXkgQ29tcG9uZW50IERlbW8nLFxuXG4gICAgLy8gU2VjdGlvbnNcbiAgICBzZWN0aW9uc1N0YXRpYzogJ1N0YXRpYyBFeGFtcGxlcycsXG4gICAgc2VjdGlvbnNSZWFjdGl2ZTogJ1JlYWN0aXZlIEV4YW1wbGVzJyxcbiAgICBzZWN0aW9uc01peGVkOiAnTWl4ZWQgRXhhbXBsZXMnLFxuICAgIHNlY3Rpb25zRHluYW1pYzogJ0R5bmFtaWMgRXhhbXBsZXMnLFxuICAgIHNlY3Rpb25zQW5hbHlzaXM6ICdMYW5ndWFnZSBBbmFseXNpcycsXG5cbiAgICAvLyBTdWJzZWN0aW9uc1xuICAgIHN1YnNlY3Rpb25zUmVhY3RpdmVDb250ZW50OiAnQmFzaWMgcmVhY3RpdmUgY29udGVudDonLFxuICAgIHN1YnNlY3Rpb25zSW50ZXJwb2xhdGlvbjogJ0NvbnRlbnQgd2l0aCBpbnRlcnBvbGF0aW9uOicsXG4gICAgc3Vic2VjdGlvbnNGYWxsYmFjazogJ0ZhbGxiYWNrIGRlbW9uc3RyYXRpb246JyxcbiAgICBzdWJzZWN0aW9uc01peGVkQ29udGVudDogJ1N0YXRpYyB2cyByZWFjdGl2ZSBjb250ZW50OicsXG4gICAgc3Vic2VjdGlvbnNEeW5hbWljQ29udGVudDogJ0R5bmFtaWNhbGx5IHVwZGF0aW5nIGNvbnRlbnQ6JyxcblxuICAgIC8vIFdlbGNvbWUgY29udGVudFxuICAgIHdlbGNvbWVUaXRsZTogJ1dlbGNvbWUgdG8gdGhlIGFwcGxpY2F0aW9uJyxcbiAgICB3ZWxjb21lRGVzY3JpcHRpb246ICdUaGlzIGlzIGFuIGV4YW1wbGUgZGVzY3JpcHRpb24nLFxuICAgIHdlbGNvbWVVc2VyOiAnSGVsbG8sIHt7dXNlck5hbWV9fSEnLFxuXG4gICAgLy8gU3RhdGVzIGFuZCBtZXNzYWdlc1xuICAgIHN0YXR1c09ubGluZTogJ09ubGluZScsXG4gICAgY291bnRlckN1cnJlbnQ6ICdDb3VudGVyOiB7e2NvdW50fX0nLFxuICAgIGR5bmFtaWNDb250ZW50OiAnQ2xpY2tzOiB7e2NvdW50fX0nLFxuXG4gICAgLy8gTWl4ZWQgY29udGVudFxuICAgIG1peGVkUmVhY3RpdmU6ICdUaGlzIGNvbnRlbnQgZG9lcyBjaGFuZ2Ugd2l0aCBsYW5ndWFnZScsXG5cbiAgICAvLyBCdXR0b25zXG4gICAgYnV0dG9uc1VwZGF0ZUNvdW50ZXI6ICdVcGRhdGUgQ291bnRlcicsXG5cbiAgICAvLyBBbmFseXNpc1xuICAgIGFuYWx5c2lzQ3VycmVudExhbmd1YWdlOiAnQ3VycmVudCBsYW5ndWFnZScsXG4gICAgYW5hbHlzaXNBdmFpbGFibGVMYW5ndWFnZXM6ICdBdmFpbGFibGUgbGFuZ3VhZ2VzJyxcbiAgfSxcbiAgZnI6IHtcbiAgICAvLyBQYWdlIHByaW5jaXBhbGVcbiAgICBwYWdlVGl0bGU6ICdEw6ltb25zdHJhdGlvbiBkdSBDb21wb3NhbnQgRGlzcGxheScsXG5cbiAgICAvLyBTZWN0aW9uc1xuICAgIHNlY3Rpb25zU3RhdGljOiAnRXhlbXBsZXMgU3RhdGlxdWVzJyxcbiAgICBzZWN0aW9uc1JlYWN0aXZlOiAnRXhlbXBsZXMgUsOpYWN0aWZzJyxcblxuICAgIC8vIFdlbGNvbWUgY29udGVudFxuICAgIHdlbGNvbWVUaXRsZTogXCJCaWVudmVudWUgZGFucyBsJ2FwcGxpY2F0aW9uXCIsXG4gICAgd2VsY29tZVVzZXI6ICdCb25qb3VyLCB7e3VzZXJOYW1lfX0hJyxcblxuICAgIC8vIFN0YXRlcyBhbmQgbWVzc2FnZXNcbiAgICBzdGF0dXNPbmxpbmU6ICdFbiBsaWduZScsXG4gICAgY291bnRlckN1cnJlbnQ6ICdDb21wdGV1cjoge3tjb3VudH19JyxcblxuICAgIC8vIEJ1dHRvbnNcbiAgICBidXR0b25zVXBkYXRlQ291bnRlcjogJ01ldHRyZSDDoCBqb3VyIGxlIENvbXB0ZXVyJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBUZXh0Q29udGVudChkaXNwbGF5RGVtb0NvbnRlbnQpO1xuIl19
@@ -36,6 +36,7 @@ const globalContentData = {
36
36
  success: 'Éxito',
37
37
  warning: 'Advertencia',
38
38
  info: 'Información',
39
+ language: 'Idioma',
39
40
  // Common confirmations
40
41
  areYouSure: '¿Estás seguro?',
41
42
  deleteConfirmation: '¿Estás seguro de que deseas eliminar {itemName}?',
@@ -114,4 +115,4 @@ const content = {
114
115
  export default content;
115
116
  // Export named exports for user convenience
116
117
  export { content, GlobalContent, globalContentData };
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQW9CLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU14RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxpQkFBaUIsR0FBcUI7SUFDMUMsRUFBRSxFQUFFO1FBQ0YsaUJBQWlCO1FBQ2pCLEVBQUUsRUFBRSxTQUFTO1FBQ2IsTUFBTSxFQUFFLFVBQVU7UUFDbEIsSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsVUFBVTtRQUNsQixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsV0FBVztRQUNqQixRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsV0FBVztRQUNuQixRQUFRLEVBQUUsV0FBVztRQUVyQixpQkFBaUI7UUFDakIsR0FBRyxFQUFFLFNBQVM7UUFDZCxNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsU0FBUztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxZQUFZO1FBRXJCLDZCQUE2QjtRQUM3QixPQUFPLEVBQUUsYUFBYTtRQUN0QixNQUFNLEVBQUUsMEJBQTBCO1FBQ2xDLEtBQUssRUFBRSxPQUFPO1FBQ2QsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsSUFBSSxFQUFFLGFBQWE7UUFFbkIsdUJBQXVCO1FBQ3ZCLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsa0JBQWtCLEVBQUUsa0RBQWtEO1FBQ3RFLGNBQWMsRUFBRSxnREFBZ0Q7UUFFaEUsc0JBQXNCO1FBQ3RCLGlCQUFpQixFQUFFLFdBQVc7S0FDL0I7SUFDRCxFQUFFLEVBQUU7UUFDRixpQkFBaUI7UUFDakIsRUFBRSxFQUFFLElBQUk7UUFDUixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLFVBQVU7UUFDcEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsUUFBUSxFQUFFLFVBQVU7UUFFcEIsaUJBQWlCO1FBQ2pCLEdBQUcsRUFBRSxLQUFLO1FBQ1YsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsU0FBUztRQUVsQiw2QkFBNkI7UUFDN0IsT0FBTyxFQUFFLFlBQVk7UUFDckIsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixLQUFLLEVBQUUsT0FBTztRQUNkLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLElBQUksRUFBRSxhQUFhO1FBRW5CLHVCQUF1QjtRQUN2QixVQUFVLEVBQUUsZUFBZTtRQUMzQixrQkFBa0IsRUFBRSw2Q0FBNkM7UUFDakUsY0FBYyxFQUFFLG9EQUFvRDtRQUVwRSxzQkFBc0I7UUFDdEIsaUJBQWlCLEVBQUUsV0FBVztLQUMvQjtJQUNELEVBQUUsRUFBRTtRQUNGLG9GQUFvRjtRQUNwRixFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUksRUFBRSxhQUFhO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFFZCxrRkFBa0Y7UUFDbEYsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLFFBQVE7UUFDZixPQUFPLEVBQUUsUUFBUTtRQUVqQix1QkFBdUI7UUFDdkIsVUFBVSxFQUFFLGdCQUFnQjtLQUM3QjtJQUNELEVBQUUsRUFBRTtRQUNGLDBEQUEwRDtRQUMxRCxFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxXQUFXO1FBQ2pCLE1BQU0sRUFBRSxTQUFTO1FBRWpCLDZCQUE2QjtRQUM3QixPQUFPLEVBQUUsVUFBVTtRQUNuQixLQUFLLEVBQUUsUUFBUTtRQUVmLHVCQUF1QjtRQUN2QixVQUFVLEVBQUUsa0JBQWtCO0tBQy9CO0NBQ0YsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFekQsTUFBTSxPQUFPLEdBQWE7SUFDeEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsWUFBWTtDQUNiLENBQUM7QUFFRixlQUFlLE9BQU8sQ0FBQztBQUV2Qiw0Q0FBNEM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMYW5nU2V0dGluZ3MgZnJvbSAnLi9jb21wb25lbnRzL2xhbmctc2V0dGluZ3MnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VzQ29udGVudCwgVGV4dENvbnRlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlciB7XG4gIFt4OiBzdHJpbmddOiBUZXh0Q29udGVudDtcbn1cblxuLyoqXG4gKiBHbG9iYWwgY29udGVudCB0aGF0IGNhbiBiZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbiAqIFRoZXNlIGFyZSBjb21tb24gdGV4dHMgbGlrZSBidXR0b25zLCBhY3Rpb25zLCBzdGF0ZXMsIGV0Yy5cbiAqIFN0cnVjdHVyZToge2VzOiB7a2V5MTogJ3ZhbHVlMScsIGtleTI6ICd2YWx1ZTInfSwgZW46IHtrZXkxOiAndmFsdWUxJywga2V5MjogJ3ZhbHVlMid9LCBmcjogey4uLn19XG4gKlxuICogTm90ZTogWW91IGNhbiBhZGQgYW55IGxhbmd1YWdlIGNvZGUuIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGRldGVjdCBhdmFpbGFibGUgbGFuZ3VhZ2VzXG4gKiBhbmQgcHJvdmlkZSBpbnRlbGxpZ2VudCBmYWxsYmFja3Mgd2l0aCB3YXJuaW5ncyBmb3IgbWlzc2luZyB0cmFuc2xhdGlvbnMuXG4gKi9cbmNvbnN0IGdsb2JhbENvbnRlbnREYXRhOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIC8vIENvbW1vbiBidXR0b25zXG4gICAgb2s6ICdBY2VwdGFyJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICBjbG9zZTogJ0NlcnJhcicsXG4gICAgYmFjazogJ1ZvbHZlcicsXG4gICAgbmV4dDogJ1NpZ3VpZW50ZScsXG4gICAgcHJldmlvdXM6ICdBbnRlcmlvcicsXG4gICAgZmluaXNoOiAnRmluYWxpemFyJyxcbiAgICBjb250aW51ZTogJ0NvbnRpbnVhcicsXG5cbiAgICAvLyBDb21tb24gYWN0aW9uc1xuICAgIGFkZDogJ0FncmVnYXInLFxuICAgIHJlbW92ZTogJ1F1aXRhcicsXG4gICAgc2VhcmNoOiAnQnVzY2FyJyxcbiAgICBmaWx0ZXI6ICdGaWx0cmFyJyxcbiAgICBzb3J0OiAnT3JkZW5hcicsXG4gICAgcmVmcmVzaDogJ0FjdHVhbGl6YXInLFxuXG4gICAgLy8gQ29tbW9uIHN0YXRlcyBhbmQgbWVzc2FnZXNcbiAgICBsb2FkaW5nOiAnQ2FyZ2FuZG8uLi4nLFxuICAgIG5vRGF0YTogJ05vIGhheSBkYXRvcyBkaXNwb25pYmxlcycsXG4gICAgZXJyb3I6ICdFcnJvcicsXG4gICAgc3VjY2VzczogJ8OJeGl0bycsXG4gICAgd2FybmluZzogJ0FkdmVydGVuY2lhJyxcbiAgICBpbmZvOiAnSW5mb3JtYWNpw7NuJyxcblxuICAgIC8vIENvbW1vbiBjb25maXJtYXRpb25zXG4gICAgYXJlWW91U3VyZTogJ8K/RXN0w6FzIHNlZ3Vybz8nLFxuICAgIGRlbGV0ZUNvbmZpcm1hdGlvbjogJ8K/RXN0w6FzIHNlZ3VybyBkZSBxdWUgZGVzZWFzIGVsaW1pbmFyIHtpdGVtTmFtZX0/JyxcbiAgICB1bnNhdmVkQ2hhbmdlczogJ1RpZW5lcyBjYW1iaW9zIHNpbiBndWFyZGFyLiDCv0Rlc2VhcyBjb250aW51YXI/JyxcblxuICAgIC8vIENvbW1vbiBwbGFjZWhvbGRlcnNcbiAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ0J1c2Nhci4uLicsXG4gIH0sXG4gIGVuOiB7XG4gICAgLy8gQ29tbW9uIGJ1dHRvbnNcbiAgICBvazogJ09LJyxcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgIHNhdmU6ICdTYXZlJyxcbiAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgIGVkaXQ6ICdFZGl0JyxcbiAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICBiYWNrOiAnQmFjaycsXG4gICAgbmV4dDogJ05leHQnLFxuICAgIHByZXZpb3VzOiAnUHJldmlvdXMnLFxuICAgIGZpbmlzaDogJ0ZpbmlzaCcsXG4gICAgY29udGludWU6ICdDb250aW51ZScsXG5cbiAgICAvLyBDb21tb24gYWN0aW9uc1xuICAgIGFkZDogJ0FkZCcsXG4gICAgcmVtb3ZlOiAnUmVtb3ZlJyxcbiAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgIGZpbHRlcjogJ0ZpbHRlcicsXG4gICAgc29ydDogJ1NvcnQnLFxuICAgIHJlZnJlc2g6ICdSZWZyZXNoJyxcblxuICAgIC8vIENvbW1vbiBzdGF0ZXMgYW5kIG1lc3NhZ2VzXG4gICAgbG9hZGluZzogJ0xvYWRpbmcuLi4nLFxuICAgIG5vRGF0YTogJ05vIGRhdGEgYXZhaWxhYmxlJyxcbiAgICBlcnJvcjogJ0Vycm9yJyxcbiAgICBzdWNjZXNzOiAnU3VjY2VzcycsXG4gICAgd2FybmluZzogJ1dhcm5pbmcnLFxuICAgIGluZm86ICdJbmZvcm1hdGlvbicsXG5cbiAgICAvLyBDb21tb24gY29uZmlybWF0aW9uc1xuICAgIGFyZVlvdVN1cmU6ICdBcmUgeW91IHN1cmU/JyxcbiAgICBkZWxldGVDb25maXJtYXRpb246ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHtpdGVtTmFtZX0/JyxcbiAgICB1bnNhdmVkQ2hhbmdlczogJ1lvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gRG8geW91IHdhbnQgdG8gY29udGludWU/JyxcblxuICAgIC8vIENvbW1vbiBwbGFjZWhvbGRlcnNcbiAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ1NlYXJjaC4uLicsXG4gIH0sXG4gIGZyOiB7XG4gICAgLy8gQ29tbW9uIGJ1dHRvbnMgLSBFeGFtcGxlIG9mIHBhcnRpYWwgdHJhbnNsYXRpb24gKG1pc3Npbmcgc29tZSBrZXlzIGludGVudGlvbmFsbHkpXG4gICAgb2s6ICdPSycsXG4gICAgY2FuY2VsOiAnQW5udWxlcicsXG4gICAgc2F2ZTogJ1NhdXZlZ2FyZGVyJyxcbiAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgIGVkaXQ6ICdNb2RpZmllcicsXG4gICAgY2xvc2U6ICdGZXJtZXInLFxuICAgIGJhY2s6ICdSZXRvdXInLFxuXG4gICAgLy8gQ29tbW9uIHN0YXRlcyBhbmQgbWVzc2FnZXMgKGludGVudGlvbmFsbHkgaW5jb21wbGV0ZSB0byBzaG93IGZhbGxiYWNrIGJlaGF2aW9yKVxuICAgIGxvYWRpbmc6ICdDaGFyZ2VtZW50Li4uJyxcbiAgICBlcnJvcjogJ0VycmV1cicsXG4gICAgc3VjY2VzczogJ1N1Y2PDqHMnLFxuXG4gICAgLy8gQ29tbW9uIGNvbmZpcm1hdGlvbnNcbiAgICBhcmVZb3VTdXJlOiAnw4p0ZXMtdm91cyBzw7tyPycsXG4gIH0sXG4gIGRlOiB7XG4gICAgLy8gQ29tbW9uIGJ1dHRvbnMgLSBBbm90aGVyIGV4YW1wbGUgb2YgcGFydGlhbCB0cmFuc2xhdGlvblxuICAgIG9rOiAnT0snLFxuICAgIGNhbmNlbDogJ0FiYnJlY2hlbicsXG4gICAgc2F2ZTogJ1NwZWljaGVybicsXG4gICAgZGVsZXRlOiAnTMO2c2NoZW4nLFxuXG4gICAgLy8gQ29tbW9uIHN0YXRlcyBhbmQgbWVzc2FnZXNcbiAgICBsb2FkaW5nOiAnTGFkZW4uLi4nLFxuICAgIGVycm9yOiAnRmVobGVyJyxcblxuICAgIC8vIENvbW1vbiBjb25maXJtYXRpb25zXG4gICAgYXJlWW91U3VyZTogJ1NpbmQgU2llIHNpY2hlcj8nLFxuICB9LFxufTtcblxuY29uc3QgR2xvYmFsQ29udGVudCA9IG5ldyBUZXh0Q29udGVudChnbG9iYWxDb250ZW50RGF0YSk7XG5cbmNvbnN0IGNvbnRlbnQ6IFByb3ZpZGVyID0ge1xuICBfZ2xvYmFsOiBHbG9iYWxDb250ZW50LFxuICBMYW5nU2V0dGluZ3MsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50O1xuXG4vLyBFeHBvcnQgbmFtZWQgZXhwb3J0cyBmb3IgdXNlciBjb252ZW5pZW5jZVxuZXhwb3J0IHsgY29udGVudCwgR2xvYmFsQ29udGVudCwgZ2xvYmFsQ29udGVudERhdGEgfTtcbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFlBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQW9CLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU14RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxpQkFBaUIsR0FBcUI7SUFDMUMsRUFBRSxFQUFFO1FBQ0YsaUJBQWlCO1FBQ2pCLEVBQUUsRUFBRSxTQUFTO1FBQ2IsTUFBTSxFQUFFLFVBQVU7UUFDbEIsSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsVUFBVTtRQUNsQixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsV0FBVztRQUNqQixRQUFRLEVBQUUsVUFBVTtRQUNwQixNQUFNLEVBQUUsV0FBVztRQUNuQixRQUFRLEVBQUUsV0FBVztRQUVyQixpQkFBaUI7UUFDakIsR0FBRyxFQUFFLFNBQVM7UUFDZCxNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsUUFBUTtRQUNoQixNQUFNLEVBQUUsU0FBUztRQUNqQixJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxZQUFZO1FBRXJCLDZCQUE2QjtRQUM3QixPQUFPLEVBQUUsYUFBYTtRQUN0QixNQUFNLEVBQUUsMEJBQTBCO1FBQ2xDLEtBQUssRUFBRSxPQUFPO1FBQ2QsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLGFBQWE7UUFDdEIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsUUFBUSxFQUFFLFFBQVE7UUFFbEIsdUJBQXVCO1FBQ3ZCLFVBQVUsRUFBRSxnQkFBZ0I7UUFDNUIsa0JBQWtCLEVBQUUsa0RBQWtEO1FBQ3RFLGNBQWMsRUFBRSxnREFBZ0Q7UUFFaEUsc0JBQXNCO1FBQ3RCLGlCQUFpQixFQUFFLFdBQVc7S0FDL0I7SUFDRCxFQUFFLEVBQUU7UUFDRixpQkFBaUI7UUFDakIsRUFBRSxFQUFFLElBQUk7UUFDUixNQUFNLEVBQUUsUUFBUTtRQUNoQixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFLE9BQU87UUFDZCxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxFQUFFLFVBQVU7UUFDcEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsUUFBUSxFQUFFLFVBQVU7UUFFcEIsaUJBQWlCO1FBQ2pCLEdBQUcsRUFBRSxLQUFLO1FBQ1YsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsU0FBUztRQUVsQiw2QkFBNkI7UUFDN0IsT0FBTyxFQUFFLFlBQVk7UUFDckIsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixLQUFLLEVBQUUsT0FBTztRQUNkLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLElBQUksRUFBRSxhQUFhO1FBRW5CLHVCQUF1QjtRQUN2QixVQUFVLEVBQUUsZUFBZTtRQUMzQixrQkFBa0IsRUFBRSw2Q0FBNkM7UUFDakUsY0FBYyxFQUFFLG9EQUFvRDtRQUVwRSxzQkFBc0I7UUFDdEIsaUJBQWlCLEVBQUUsV0FBVztLQUMvQjtJQUNELEVBQUUsRUFBRTtRQUNGLG9GQUFvRjtRQUNwRixFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLElBQUksRUFBRSxhQUFhO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxVQUFVO1FBQ2hCLEtBQUssRUFBRSxRQUFRO1FBQ2YsSUFBSSxFQUFFLFFBQVE7UUFFZCxrRkFBa0Y7UUFDbEYsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUFFLFFBQVE7UUFDZixPQUFPLEVBQUUsUUFBUTtRQUVqQix1QkFBdUI7UUFDdkIsVUFBVSxFQUFFLGdCQUFnQjtLQUM3QjtJQUNELEVBQUUsRUFBRTtRQUNGLDBEQUEwRDtRQUMxRCxFQUFFLEVBQUUsSUFBSTtRQUNSLE1BQU0sRUFBRSxXQUFXO1FBQ25CLElBQUksRUFBRSxXQUFXO1FBQ2pCLE1BQU0sRUFBRSxTQUFTO1FBRWpCLDZCQUE2QjtRQUM3QixPQUFPLEVBQUUsVUFBVTtRQUNuQixLQUFLLEVBQUUsUUFBUTtRQUVmLHVCQUF1QjtRQUN2QixVQUFVLEVBQUUsa0JBQWtCO0tBQy9CO0NBQ0YsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFekQsTUFBTSxPQUFPLEdBQWE7SUFDeEIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsWUFBWTtDQUNiLENBQUM7QUFFRixlQUFlLE9BQU8sQ0FBQztBQUV2Qiw0Q0FBNEM7QUFDNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEaXNwbGF5RGVtbyBmcm9tICcuL2NvbXBvbmVudHMvZGlzcGxheS1kZW1vJztcbmltcG9ydCBMYW5nU2V0dGluZ3MgZnJvbSAnLi9jb21wb25lbnRzL2xhbmctc2V0dGluZ3MnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VzQ29udGVudCwgVGV4dENvbnRlbnQgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlciB7XG4gIFt4OiBzdHJpbmddOiBUZXh0Q29udGVudDtcbn1cblxuLyoqXG4gKiBHbG9iYWwgY29udGVudCB0aGF0IGNhbiBiZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50cy5cbiAqIFRoZXNlIGFyZSBjb21tb24gdGV4dHMgbGlrZSBidXR0b25zLCBhY3Rpb25zLCBzdGF0ZXMsIGV0Yy5cbiAqIFN0cnVjdHVyZToge2VzOiB7a2V5MTogJ3ZhbHVlMScsIGtleTI6ICd2YWx1ZTInfSwgZW46IHtrZXkxOiAndmFsdWUxJywga2V5MjogJ3ZhbHVlMid9LCBmcjogey4uLn19XG4gKlxuICogTm90ZTogWW91IGNhbiBhZGQgYW55IGxhbmd1YWdlIGNvZGUuIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGRldGVjdCBhdmFpbGFibGUgbGFuZ3VhZ2VzXG4gKiBhbmQgcHJvdmlkZSBpbnRlbGxpZ2VudCBmYWxsYmFja3Mgd2l0aCB3YXJuaW5ncyBmb3IgbWlzc2luZyB0cmFuc2xhdGlvbnMuXG4gKi9cbmNvbnN0IGdsb2JhbENvbnRlbnREYXRhOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIC8vIENvbW1vbiBidXR0b25zXG4gICAgb2s6ICdBY2VwdGFyJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICBjbG9zZTogJ0NlcnJhcicsXG4gICAgYmFjazogJ1ZvbHZlcicsXG4gICAgbmV4dDogJ1NpZ3VpZW50ZScsXG4gICAgcHJldmlvdXM6ICdBbnRlcmlvcicsXG4gICAgZmluaXNoOiAnRmluYWxpemFyJyxcbiAgICBjb250aW51ZTogJ0NvbnRpbnVhcicsXG5cbiAgICAvLyBDb21tb24gYWN0aW9uc1xuICAgIGFkZDogJ0FncmVnYXInLFxuICAgIHJlbW92ZTogJ1F1aXRhcicsXG4gICAgc2VhcmNoOiAnQnVzY2FyJyxcbiAgICBmaWx0ZXI6ICdGaWx0cmFyJyxcbiAgICBzb3J0OiAnT3JkZW5hcicsXG4gICAgcmVmcmVzaDogJ0FjdHVhbGl6YXInLFxuXG4gICAgLy8gQ29tbW9uIHN0YXRlcyBhbmQgbWVzc2FnZXNcbiAgICBsb2FkaW5nOiAnQ2FyZ2FuZG8uLi4nLFxuICAgIG5vRGF0YTogJ05vIGhheSBkYXRvcyBkaXNwb25pYmxlcycsXG4gICAgZXJyb3I6ICdFcnJvcicsXG4gICAgc3VjY2VzczogJ8OJeGl0bycsXG4gICAgd2FybmluZzogJ0FkdmVydGVuY2lhJyxcbiAgICBpbmZvOiAnSW5mb3JtYWNpw7NuJyxcbiAgICBsYW5ndWFnZTogJ0lkaW9tYScsXG5cbiAgICAvLyBDb21tb24gY29uZmlybWF0aW9uc1xuICAgIGFyZVlvdVN1cmU6ICfCv0VzdMOhcyBzZWd1cm8/JyxcbiAgICBkZWxldGVDb25maXJtYXRpb246ICfCv0VzdMOhcyBzZWd1cm8gZGUgcXVlIGRlc2VhcyBlbGltaW5hciB7aXRlbU5hbWV9PycsXG4gICAgdW5zYXZlZENoYW5nZXM6ICdUaWVuZXMgY2FtYmlvcyBzaW4gZ3VhcmRhci4gwr9EZXNlYXMgY29udGludWFyPycsXG5cbiAgICAvLyBDb21tb24gcGxhY2Vob2xkZXJzXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdCdXNjYXIuLi4nLFxuICB9LFxuICBlbjoge1xuICAgIC8vIENvbW1vbiBidXR0b25zXG4gICAgb2s6ICdPSycsXG4gICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICBzYXZlOiAnU2F2ZScsXG4gICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICBlZGl0OiAnRWRpdCcsXG4gICAgY2xvc2U6ICdDbG9zZScsXG4gICAgYmFjazogJ0JhY2snLFxuICAgIG5leHQ6ICdOZXh0JyxcbiAgICBwcmV2aW91czogJ1ByZXZpb3VzJyxcbiAgICBmaW5pc2g6ICdGaW5pc2gnLFxuICAgIGNvbnRpbnVlOiAnQ29udGludWUnLFxuXG4gICAgLy8gQ29tbW9uIGFjdGlvbnNcbiAgICBhZGQ6ICdBZGQnLFxuICAgIHJlbW92ZTogJ1JlbW92ZScsXG4gICAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgICBmaWx0ZXI6ICdGaWx0ZXInLFxuICAgIHNvcnQ6ICdTb3J0JyxcbiAgICByZWZyZXNoOiAnUmVmcmVzaCcsXG5cbiAgICAvLyBDb21tb24gc3RhdGVzIGFuZCBtZXNzYWdlc1xuICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJyxcbiAgICBub0RhdGE6ICdObyBkYXRhIGF2YWlsYWJsZScsXG4gICAgZXJyb3I6ICdFcnJvcicsXG4gICAgc3VjY2VzczogJ1N1Y2Nlc3MnLFxuICAgIHdhcm5pbmc6ICdXYXJuaW5nJyxcbiAgICBpbmZvOiAnSW5mb3JtYXRpb24nLFxuXG4gICAgLy8gQ29tbW9uIGNvbmZpcm1hdGlvbnNcbiAgICBhcmVZb3VTdXJlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgZGVsZXRlQ29uZmlybWF0aW9uOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB7aXRlbU5hbWV9PycsXG4gICAgdW5zYXZlZENoYW5nZXM6ICdZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIERvIHlvdSB3YW50IHRvIGNvbnRpbnVlPycsXG5cbiAgICAvLyBDb21tb24gcGxhY2Vob2xkZXJzXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2guLi4nLFxuICB9LFxuICBmcjoge1xuICAgIC8vIENvbW1vbiBidXR0b25zIC0gRXhhbXBsZSBvZiBwYXJ0aWFsIHRyYW5zbGF0aW9uIChtaXNzaW5nIHNvbWUga2V5cyBpbnRlbnRpb25hbGx5KVxuICAgIG9rOiAnT0snLFxuICAgIGNhbmNlbDogJ0FubnVsZXInLFxuICAgIHNhdmU6ICdTYXV2ZWdhcmRlcicsXG4gICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICBlZGl0OiAnTW9kaWZpZXInLFxuICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICBiYWNrOiAnUmV0b3VyJyxcblxuICAgIC8vIENvbW1vbiBzdGF0ZXMgYW5kIG1lc3NhZ2VzIChpbnRlbnRpb25hbGx5IGluY29tcGxldGUgdG8gc2hvdyBmYWxsYmFjayBiZWhhdmlvcilcbiAgICBsb2FkaW5nOiAnQ2hhcmdlbWVudC4uLicsXG4gICAgZXJyb3I6ICdFcnJldXInLFxuICAgIHN1Y2Nlc3M6ICdTdWNjw6hzJyxcblxuICAgIC8vIENvbW1vbiBjb25maXJtYXRpb25zXG4gICAgYXJlWW91U3VyZTogJ8OKdGVzLXZvdXMgc8O7cj8nLFxuICB9LFxuICBkZToge1xuICAgIC8vIENvbW1vbiBidXR0b25zIC0gQW5vdGhlciBleGFtcGxlIG9mIHBhcnRpYWwgdHJhbnNsYXRpb25cbiAgICBvazogJ09LJyxcbiAgICBjYW5jZWw6ICdBYmJyZWNoZW4nLFxuICAgIHNhdmU6ICdTcGVpY2hlcm4nLFxuICAgIGRlbGV0ZTogJ0zDtnNjaGVuJyxcblxuICAgIC8vIENvbW1vbiBzdGF0ZXMgYW5kIG1lc3NhZ2VzXG4gICAgbG9hZGluZzogJ0xhZGVuLi4uJyxcbiAgICBlcnJvcjogJ0ZlaGxlcicsXG5cbiAgICAvLyBDb21tb24gY29uZmlybWF0aW9uc1xuICAgIGFyZVlvdVN1cmU6ICdTaW5kIFNpZSBzaWNoZXI/JyxcbiAgfSxcbn07XG5cbmNvbnN0IEdsb2JhbENvbnRlbnQgPSBuZXcgVGV4dENvbnRlbnQoZ2xvYmFsQ29udGVudERhdGEpO1xuXG5jb25zdCBjb250ZW50OiBQcm92aWRlciA9IHtcbiAgX2dsb2JhbDogR2xvYmFsQ29udGVudCxcbiAgTGFuZ1NldHRpbmdzLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29udGVudDtcblxuLy8gRXhwb3J0IG5hbWVkIGV4cG9ydHMgZm9yIHVzZXIgY29udmVuaWVuY2VcbmV4cG9ydCB7IGNvbnRlbnQsIEdsb2JhbENvbnRlbnQsIGdsb2JhbENvbnRlbnREYXRhIH07XG4iXX0=