ng-easycommerce-v18 0.2.29 → 0.3.1-9.beta-1

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 (51) hide show
  1. package/README.md +45 -0
  2. package/assets/ec-i18n/ct.json +1 -0
  3. package/assets/ec-i18n/en.json +88 -83
  4. package/assets/ec-i18n/es.json +6 -1
  5. package/assets/ec-i18n/fr.json +1 -0
  6. package/assets/ec-i18n/gl.json +1 -0
  7. package/assets/ec-i18n/pr.json +1 -0
  8. package/esm2022/lib/classes/component-helper.mjs +11 -2
  9. package/esm2022/lib/constants/core.constants.service.mjs +107 -2
  10. package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +9 -1
  11. package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +5 -1
  12. package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +5 -1
  13. package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +9 -3
  14. package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +8 -2
  15. package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +42 -10
  16. package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +141 -75
  17. package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +9 -1
  18. package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +53 -2
  19. package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +23 -15
  20. package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +143 -5
  21. package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +3 -3
  22. package/esm2022/lib/ec-components/widgets-ec/index.mjs +2 -1
  23. package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +193 -0
  24. package/esm2022/lib/ec-services/cart.service.mjs +23 -5
  25. package/esm2022/lib/ec-services/checkout.service.mjs +46 -21
  26. package/esm2022/lib/ec-services/form.service.mjs +13 -1
  27. package/esm2022/lib/ec-services/order-utility.service.mjs +12 -6
  28. package/esm2022/lib/ec-services/product-detail.service.mjs +11 -1
  29. package/esm2022/lib/interfaces/environment.mjs +1 -1
  30. package/esm2022/lib/interfaces/product.mjs +1 -1
  31. package/fesm2022/ng-easycommerce-v18.mjs +843 -147
  32. package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
  33. package/lib/classes/component-helper.d.ts +1 -1
  34. package/lib/constants/core.constants.service.d.ts +24 -0
  35. package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +6 -0
  36. package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +2 -0
  37. package/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.d.ts +2 -0
  38. package/lib/ec-components/cart-ec/cart-ec.component.d.ts +3 -0
  39. package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +6 -1
  40. package/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.d.ts +38 -16
  41. package/lib/ec-components/filters-ec/filters-ec.component.d.ts +6 -0
  42. package/lib/ec-components/header-ec/header-ec.component.d.ts +16 -2
  43. package/lib/ec-components/product-detail-ec/product-detail-ec.component.d.ts +2 -1
  44. package/lib/ec-components/product-ec/product-ec.component.d.ts +14 -1
  45. package/lib/ec-components/widgets-ec/index.d.ts +1 -0
  46. package/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.d.ts +47 -0
  47. package/lib/ec-services/cart.service.d.ts +1 -1
  48. package/lib/ec-services/form.service.d.ts +6 -0
  49. package/lib/interfaces/environment.d.ts +1 -0
  50. package/lib/interfaces/product.d.ts +6 -0
  51. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { inject, Injectable, PLATFORM_ID } from '@angular/core';
2
2
  import { ApiConstantsService } from './api.constants.service';
3
- import { isPlatformBrowser } from '@angular/common';
3
+ import { isPlatformBrowser, DOCUMENT } from '@angular/common';
4
+ import { ENVIRONMENT_TOKEN } from '../providers';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * Servicio que provee las constantes necesarias que se utilizan por toda la aplicación.
@@ -17,6 +18,14 @@ export class CoreConstantsService {
17
18
  * Provee el ID de la plataforma en donde se esta ejecutando el codigo, esto sirve para poder diferenciar si es de un servidor o un navegador web.
18
19
  */
19
20
  platformId = inject(PLATFORM_ID);
21
+ /**
22
+ * Document token para acceso SSR-compatible al documento
23
+ */
24
+ document = inject(DOCUMENT);
25
+ /**
26
+ * Contiene los datos provisto por el frontend en el archivo environment.ts
27
+ */
28
+ environment = inject(ENVIRONMENT_TOKEN);
20
29
  /**
21
30
  * Guarda la variable window del web browser.
22
31
  */
@@ -56,6 +65,102 @@ export class CoreConstantsService {
56
65
  * @returns
57
66
  */
58
67
  url = () => this.apiConstants.API_URL.replace(/\/$/, ''); // remove last slash
68
+ /**
69
+ * URL del sitio frontend - Compatible con Angular SSR
70
+ */
71
+ get FRONTEND_URL() {
72
+ // Verificar si estamos en el navegador
73
+ if (isPlatformBrowser(this.platformId)) {
74
+ // Primero intenta leer de window.__env (configurado por Docker/CI)
75
+ const windowEnv = this.window?.__env;
76
+ if (windowEnv?.frontendUrl) {
77
+ // Log para debugging en desarrollo
78
+ if (!windowEnv.frontendUrl.startsWith('http')) {
79
+ console.warn('[FRONTEND_URL] Invalid frontendUrl format:', windowEnv.frontendUrl);
80
+ }
81
+ return windowEnv.frontendUrl;
82
+ }
83
+ // Si no hay configuración específica, construir desde window.location
84
+ if (this.window?.location) {
85
+ const url = `${this.window.location.protocol}//${this.window.location.host}`;
86
+ // Verificar que no sea localhost o 127.0.0.1 en producción
87
+ if (url.includes('127.0.0.1') || url.includes('localhost')) {
88
+ console.warn('[FRONTEND_URL] Using localhost URL in production, consider setting window.__env.frontendUrl');
89
+ }
90
+ return url;
91
+ }
92
+ }
93
+ // Para SSR, intentar construir desde el document si está disponible
94
+ if (this.document?.location) {
95
+ return `${this.document.location.protocol}//${this.document.location.host}`;
96
+ }
97
+ // Intentar obtener desde environment
98
+ if (this.environment.frontendUrl) {
99
+ return this.environment.frontendUrl;
100
+ }
101
+ // Último fallback - usar la URL del API si está configurada y es absoluta
102
+ const apiUrl = this.apiConstants.API_URL;
103
+ if (apiUrl && (apiUrl.startsWith('http://') || apiUrl.startsWith('https://'))) {
104
+ try {
105
+ const url = new URL(apiUrl);
106
+ return `${url.protocol}//${url.host}`;
107
+ }
108
+ catch (e) {
109
+ console.warn('[FRONTEND_URL] Could not parse API URL as fallback:', apiUrl);
110
+ }
111
+ }
112
+ // Fallback final - retornar URL vacía
113
+ console.warn('[FRONTEND_URL] No valid frontend URL found, this may cause issues with meta tags');
114
+ return '';
115
+ }
116
+ /**
117
+ * Retorna la URL completa del frontend con una ruta opcional
118
+ * @param path - Ruta opcional para agregar a la URL base
119
+ * @returns {string} URL completa del frontend
120
+ */
121
+ getFrontendUrl = (path) => {
122
+ const baseUrl = this.FRONTEND_URL;
123
+ if (!path) {
124
+ return baseUrl;
125
+ }
126
+ // Asegurar que la ruta comience con '/' y no tenga doble slash
127
+ const cleanPath = path.startsWith('/') ? path : `/${path}`;
128
+ const cleanBaseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
129
+ return `${cleanBaseUrl}${cleanPath}`;
130
+ };
131
+ /**
132
+ * Retorna la URL absoluta de una imagen para meta tags (compatible con SSR)
133
+ * @param postMedia - Ruta de la imagen
134
+ * @returns {string} URL absoluta de la imagen
135
+ */
136
+ getAbsoluteImageUrl = (postMedia) => {
137
+ // Si la URL ya es absoluta, devolverla tal como está
138
+ if (postMedia && (postMedia.startsWith('http://') || postMedia.startsWith('https://'))) {
139
+ return postMedia;
140
+ }
141
+ // Construir la URL de la imagen usando la URL del API
142
+ const imageUrl = this.mediaImageUrl(postMedia);
143
+ // Si la URL de la imagen ya es absoluta, devolverla
144
+ if (imageUrl.startsWith('http://') || imageUrl.startsWith('https://')) {
145
+ return imageUrl;
146
+ }
147
+ // Si es una URL relativa, convertirla a absoluta usando la URL base del API
148
+ const apiBaseUrl = this.apiConstants.API_URL;
149
+ if (apiBaseUrl.startsWith('http://') || apiBaseUrl.startsWith('https://')) {
150
+ // API_URL ya es absoluta
151
+ return imageUrl;
152
+ }
153
+ // Si API_URL es relativa, usar la URL del frontend como base
154
+ const frontendUrl = this.FRONTEND_URL;
155
+ if (!frontendUrl) {
156
+ return imageUrl; // Fallback si no podemos determinar la URL del frontend
157
+ }
158
+ // Construir URL absoluta
159
+ const cleanApiUrl = apiBaseUrl.startsWith('/') ? apiBaseUrl.substring(1) : apiBaseUrl;
160
+ const cleanFrontendUrl = frontendUrl.endsWith('/') ? frontendUrl.slice(0, -1) : frontendUrl;
161
+ const cleanImageUrl = imageUrl.startsWith('/') ? imageUrl.substring(1) : imageUrl;
162
+ return `${cleanFrontendUrl}/${cleanApiUrl}${cleanImageUrl}`;
163
+ };
59
164
  /**
60
165
  * Retorna la url de las imagenes de los banners
61
166
  * @returns
@@ -211,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
211
316
  providedIn: 'root'
212
317
  }]
213
318
  }], ctorParameters: () => [] });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25zdGFudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jb25zdGFudHMvY29yZS5jb25zdGFudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXBEOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBRXpCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDaEM7O09BRUc7SUFDSyxZQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDbEQ7O09BRUc7SUFDSyxVQUFVLEdBQVEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzdDOztPQUVHO0lBQ0ssTUFBTSxDQUFTO0lBRXZCO1FBQ0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNyQixDQUFDO0lBQ0YsQ0FBQztJQUNEOztPQUVHO0lBQ0ksa0JBQWtCLEdBQVcsYUFBYSxDQUFDO0lBQ2xEOztPQUVHO0lBQ0ksY0FBYyxHQUFXLFdBQVcsQ0FBQztJQUM1Qzs7T0FFRztJQUNhLFVBQVUsR0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUMvRDs7OztPQUlHO0lBQ0ksUUFBUSxHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FB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QWMsR0FBRyxDQUFDLGNBQXdCLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBRXJGLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBRXhDLGtCQUFrQjtJQUNWLHlCQUF5QixHQUFZLEtBQUssQ0FBQztJQUNuRCwyQkFBMkIsQ0FBQyxLQUFjLElBQUksSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkYsMkJBQTJCLEtBQUssT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUEsQ0FBQyxDQUFDO0lBRXZFOzs7Ozs7Ozs7Ozs7OztNQWNFO0lBQ00sK0JBQStCLEdBQW9DO1FBQzFFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLE9BQU87UUFDYixrQkFBa0IsRUFBRSxLQUFLO1FBQ3pCLFlBQVksRUFBRSxJQUFJO0tBQ2xCLENBQUE7SUFFRCxrQ0FBa0MsR0FBRyxDQUFDLEtBQXNDLEVBQUUsRUFBRTtRQUMvRSxJQUFJLENBQUMsK0JBQStCLEdBQUc7WUFDdEMsR0FBRyxJQUFJLENBQUMsK0JBQStCO1lBQ3ZDLEdBQUcsS0FBSztTQUNSLENBQUE7SUFDRixDQUFDLENBQUE7SUFFRCxrQ0FBa0MsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUE7SUFFeEUsVUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXLEdBQVksS0FBSyxDQUFDO3dHQXROeEIsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGcEIsTUFBTTs7NEZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4vYXBpLmNvbnN0YW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDdXJyZW5jeUNvbmZpZywgY3VycmVuY3lUeXBlLCBQYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbi8qKlxyXG4gKiBTZXJ2aWNpbyBxdWUgcHJvdmVlIGxhcyBjb25zdGFudGVzIG5lY2VzYXJpYXMgcXVlIHNlIHV0aWxpemFuIHBvciB0b2RhIGxhIGFwbGljYWNpw7NuLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBDb3JlQ29uc3RhbnRzU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZUNvbnN0YW50c1NlcnZpY2Uge1xyXG5cclxuXHRwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cdC8qKlxyXG5cdCAqIFNlcnZpY2lvIHF1ZSBjb250aWVuZSBsYXMgY29uc3RhbnRlcyB1c2FkYXMgcGFyYSBsYSBBUElcclxuXHQgKi9cclxuXHRwcml2YXRlIGFwaUNvbnN0YW50cyA9IGluamVjdChBcGlDb25zdGFudHNTZXJ2aWNlKVxyXG5cdC8qKlxyXG5cdCAqIFByb3ZlZSBlbCBJRCBkZSBsYSBwbGF0YWZvcm1hIGVuIGRvbmRlIHNlIGVzdGEgZWplY3V0YW5kbyBlbCBjb2RpZ28sIGVzdG8gc2lydmUgcGFyYSBwb2RlciBkaWZlcmVuY2lhciBzaSBlcyBkZSB1biBzZXJ2aWRvciBvIHVuIG5hdmVnYWRvciB3ZWIuXHJcblx0ICovXHJcblx0cHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkgPSBpbmplY3QoUExBVEZPUk1fSUQpXHJcblx0LyoqXHJcblx0ICogR3VhcmRhIGxhIHZhcmlhYmxlIHdpbmRvdyBkZWwgd2ViIGJyb3dzZXIuXHJcblx0ICovXHJcblx0cHJpdmF0ZSB3aW5kb3c/OldpbmRvdztcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG5cdFx0XHR0aGlzLndpbmRvdyA9IHdpbmRvd1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBQYXRoIHVzYWRvIGVuIGxhcyBjb2xlY2Npb25lcyBkZSBwcm9kdWN0b3MuXHJcblx0ICovXHJcblx0cHVibGljIFBST0RVQ1RfTElTVF9ST1VURTogc3RyaW5nID0gJ2NvbGxlY3Rpb24vJztcclxuXHQvKipcclxuXHQgKiBQYXRoIHVzYWRvIHBhcmEgYWNjZWRlciBhIGxhcyBzZWNjaW9uZXMuXHJcblx0ICovXHJcblx0cHVibGljIFNFQ1RJT05TX1JPVVRFOiBzdHJpbmcgPSAnc2VjdGlvbnMvJztcclxuXHQvKipcclxuXHQgKiBQYXRoIHF1ZSBhbG9qYSBsYSBjYXJwZXRhIGRlIGxvcyBhc3NldHMuXHJcblx0ICovXHJcblx0cHVibGljIHJlYWRvbmx5IEFTU0VUU19VUkw6IHN0cmluZyA9IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkw7XHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSBsYSB1cmwgZG9uZGUgc2UgZ3VhcmRhIGxhcyBpbWFnZW5lcy5cclxuXHQgKiBAcGFyYW0gcG9zdE1lZGlhIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBtZWRpYVVybCA9IChwb3N0TWVkaWE/OiBzdHJpbmcpID0+IHRoaXMuQVNTRVRTX1VSTCArICh0aGlzLkFTU0VUU19VUkwgPT0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTCA/ICdtZWRpYS8nIDogJycpICsgKHBvc3RNZWRpYSA/IHBvc3RNZWRpYSA6IFwiaW1hZ2UvXCIpO1xyXG5cdC8qKlxyXG5cdCAqIFJldG9ybmEgbGEgdXJsIGRvbmRlIHNlIGd1YXJkYSBsYXMgaW1hZ2VuZXMuXHJcblx0ICogQHBhcmFtIHBvc3RNZWRpYSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgbWVkaWFJbWFnZVVybCA9IChwb3N0TWVkaWE/OiBzdHJpbmcpID0+IHRoaXMuQVNTRVRTX1VSTCArICh0aGlzLkFTU0VUU19VUkwgPT0gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTCA/ICdtZWRpYS9pbWFnZS8nIDogJycpICsgKHBvc3RNZWRpYSA/IHBvc3RNZWRpYSA6IFwiaW1hZ2UvXCIpO1xyXG5cdC8qKlxyXG5cdCAqIFJldG9ybmEgbGEgdXJsIGRlbCBzaXRpby5cclxuXHQgKiBAcGFyYW0gcG9zdE1lZGlhIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyB1cmwgPSAoKSA9PiB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMLnJlcGxhY2UoL1xcLyQvLCAnJyk7IC8vIHJlbW92ZSBsYXN0IHNsYXNoXHRcclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIGxhIHVybCBkZSBsYXMgaW1hZ2VuZXMgZGUgbG9zIGJhbm5lcnNcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgbWVkaWFCYW5uZXJVcmwgPSAoKSA9PiB0aGlzLkFTU0VUU19VUkwgKyAodGhpcy5BU1NFVFNfVVJMID09IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwgPyAnbWVkaWEvJyA6ICcnKSArIFwiYmFubmVyLWltYWdlL1wiO1xyXG5cdFxyXG5cdG1lZGlhU3RvcmVVcmwgPSAoKSA9PiB0aGlzLkFTU0VUU19VUkwgKyAodGhpcy5BU1NFVFNfVVJMID09IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwgPyAnbWVkaWEvJyA6ICcnKSArIFwic3RvcmUtaW1hZ2UvXCI7XHJcblx0XHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSBgdHJ1ZWAgc2kgbGEgdmlzdGEgZXMgbW9iaWxlLCBgZmFsc2VgIGNhc28gY29udHJhcmlvLlxyXG5cdCAqIEByZXR1cm5zIHtib29sZWFufVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBtb2JpbGVTY3JlZW4gPSAoKTogYm9vbGVhbiA9PiB0aGlzLndpbmRvdyAmJiB0aGlzLndpbmRvdz8uaW5uZXJXaWR0aCA8IDc1MCB8fCBmYWxzZTtcclxuXHQvKipcclxuXHQgKiBDb250aWVuZSBsb3MgdmFsb3JlcyBwYXJhIGxhIG1vbmVkYSBhY3R1YWxcclxuXHQgKi9cclxuXHRwdWJsaWMgY3VycmVuY3k6IEN1cnJlbmN5Q29uZmlnID0ge1xyXG5cdFx0Y29kZTogJ0FSRycsXHJcblx0XHRzeW1ib2w6ICckJyxcclxuXHRcdHBvc2l0aW9uOiAnTGVmdCcsXHJcblx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHR9O1xyXG5cclxuXHQvKipcclxuXHQgKiBBcnJlZ2xvIGRlIHZhbG9yZXMgdXNhZG9zIHBhcmEgZWwgcGlwZSBjdXJyZW5jeVByaWNlXHJcblx0ICovXHJcblx0cHVibGljIGN1cnJlbmN5VHlwZUNvbmZpZzogQ3VycmVuY3lDb25maWdbXSA9IFtcclxuXHRcdHtcclxuXHRcdFx0Y29kZTogJ0VVUicsXHJcblx0XHRcdHN5bWJvbDogJ+KCrCcsXHJcblx0XHRcdHBvc2l0aW9uOiAnUmlnaHQnLFxyXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRjb2RlOiAnQVJHJyxcclxuXHRcdFx0c3ltYm9sOiAnJCcsXHJcblx0XHRcdHBvc2l0aW9uOiAnTGVmdCcsXHJcblx0XHRcdHdpdGhvdXREZWNpbWFsOiBmYWxzZVxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0Y29kZTogJ0FSUycsXHJcblx0XHRcdHN5bWJvbDogJyQnLFxyXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxyXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGNvZGU6ICdVU0QnLFxyXG5cdFx0XHRzeW1ib2w6ICckJyxcclxuXHRcdFx0cG9zaXRpb246ICdMZWZ0JyxcclxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRjb2RlOiAnUFlHJyxcclxuXHRcdFx0c3ltYm9sOiAnR3MuJyxcclxuXHRcdFx0cG9zaXRpb246ICdMZWZ0JyxcclxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRjb2RlOiAnUEVOJyxcclxuXHRcdFx0c3ltYm9sOiAnUy8nLFxyXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxyXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGNvZGU6ICdTRUsnLFxyXG5cdFx0XHRzeW1ib2w6ICdTRUsnLFxyXG5cdFx0XHRwb3NpdGlvbjogJ1JpZ2h0JyxcclxuXHRcdFx0d2l0aG91dERlY2ltYWw6IHRydWVcclxuXHRcdH0sXHJcblx0XVxyXG5cdC8qKlxyXG5cdCAqIENhbWJpYSBsYSBjb25maWd1cmFjacOzbiBkZSBsYSBtb25lZGEuXHJcblx0ICogQHBhcmFtIGN1cnJlbmN5VHlwZUNvbmZpZyBBcnJlZ2xvIGNvbiBsYXMgZGlzdGludGFzIG1vbmVkYXMuXHJcblx0ICovXHJcblx0cHVibGljIHNldEN1cnJlbmN5VHlwZUNvbmZpZyhjdXJyZW5jeVR5cGVDb25maWc6IEN1cnJlbmN5Q29uZmlnW10pIHtcclxuXHRcdHRoaXMuY3VycmVuY3lUeXBlQ29uZmlnID0gY3VycmVuY3lUeXBlQ29uZmlnO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQHBhcmFtIGN1cnJlbmN5VHlwZUZpbmQgRGVmaW5pciBlbCBjb2RlIGRlbCB0aXBvIGRlIG1vbmVkYSBxdWUgc2UgcXVpZXJhIHV0aWxpemFyLlxyXG5cdCAqIFNpIGVsIHRpcG8gZXMgQ1VTVE9NIHNlIHRvbWFuIGxvcyB2YWxvcmVzIGRlbCBzZWd1bmRvIHBhcmFtZXRybyBkb25kZSBzZSBwdWVkZSBkZWZpbmlyIGxhIHNpbWJvbG9nw61hIHkgcG9zZXNpw7NuIHF1ZSBzZSBxdWllcmEuXHJcblx0ICogQHBhcmFtIGN1c3RvbVR5cGUgRm9ybWF0byBkZWwgcGFyw6FtZXRybyBlamVtcGxvIHsgY29kZTogJ0FSRycsIHN5bWJvbDogJyQnLCBwb3NpdGlvbjogJ0wnICwgd2l0aG91dERlY2ltYWxzOiBmYWxzZSB9ICxcclxuXHQgKiB0b2RhcyBsYXMga2V5IHNvbiBvcGNpb25hbGVzIHkgcG9yIGRlZmVjdG8gc2UgdG9tYW4gbG9zIHZhbG9yZXMgZGVsIGVqZW1wbG8uXHJcblx0ICogQHJldHVybnMgc2UgcmV0b3JuYSBsYSBjb25maWd1cmFjacOzbiBxdWUgc2Ugc2V0ZW8gYSBsYSBwcm9waWVkYWQgY3VycmVuY3kgZGVsIHNlcnZpY2lvLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZXRDdXJyZW5jeShjdXJyZW5jeVR5cGVGaW5kOiBjdXJyZW5jeVR5cGUsIGN1c3RvbVR5cGU/OiBDdXJyZW5jeUNvbmZpZyk6IEN1cnJlbmN5Q29uZmlnIHtcclxuXHRcdHRoaXMuY3VycmVuY3kgPSB0aGlzLmN1cnJlbmN5VHlwZUNvbmZpZy5maW5kKChjdDogQ3VycmVuY3lDb25maWcpID0+IGN0LmNvZGUgPT0gY3VycmVuY3lUeXBlRmluZC50b1VwcGVyQ2FzZSgpKSB8fCB0aGlzLmN1cnJlbmN5XHJcblx0XHRjdXN0b21UeXBlICYmICh0aGlzLmN1cnJlbmN5ID0geyAuLi50aGlzLmN1cnJlbmN5LCAuLi5jdXN0b21UeXBlIH0pXHJcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW5jeTtcclxuXHR9O1xyXG5cclxuXHJcblx0cHVibGljIG1vZGlmeUNoYW5uZWxDb25maWcoY2hhbm5lbENvbmZpZzogYW55KSB7XHJcblx0XHRpZiAoY2hhbm5lbENvbmZpZy5jaGFubmVsIHx8IGNoYW5uZWxDb25maWcuY29kZSlcclxuXHRcdFx0dGhpcy5hcGlDb25zdGFudHMuc2V0Q2hhbm5lbChjaGFubmVsQ29uZmlnLmNoYW5uZWwgfHwgY2hhbm5lbENvbmZpZy5jb2RlKVxyXG5cclxuXHRcdGlmIChjaGFubmVsQ29uZmlnLmxvY2FsZSB8fCBjaGFubmVsQ29uZmlnLmxvY2FsZXMuY29kZSlcclxuXHRcdFx0dGhpcy5hcGlDb25zdGFudHMuc2V0TG9jYWxlKGNoYW5uZWxDb25maWcubG9jYWxlIHx8IGNoYW5uZWxDb25maWcubG9jYWxlcy5jb2RlKVxyXG5cclxuXHRcdGlmIChjaGFubmVsQ29uZmlnLmN1cnJlbmN5IHx8IGNoYW5uZWxDb25maWcuYmFzZUN1cnJlbmN5KVxyXG5cdFx0XHR0aGlzLnNldEN1cnJlbmN5KGNoYW5uZWxDb25maWcuY3VycmVuY3kgfHwgY2hhbm5lbENvbmZpZy5iYXNlQ3VycmVuY3kpXHJcblxyXG5cdFx0cmV0dXJuIGNoYW5uZWxDb25maWc7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQqIEBkZXNjcmlwdGlvbiBzZSB1dGlsaXphIHBhcmEgY29uZmlndXJhciBxdWUgZmlsdHJvcyBkZWwgdGlwbyBgU29ydEZpbHRlcmAgc2UgcXVpZXJlIG1vc3RyYXIgZW4gbGEgdmlzdGEuXHJcblx0KiBTZSB1c2FuIGxvcyBjb2RpZ28gZGUgbG9zIGZpbHRyb3MgcGFyYSBpbmRpY2FyIGN1YWxlcyBzZSBkZWJlbiBtb3N0cmFyLlxyXG5cdCovXHJcblx0cHJpdmF0ZSBzb3J0RmlsdGVyczogc3RyaW5nW10gPSBbJ3ByaWNlJywgJ29yZGVyLWFscGgnLCAncmVjZW50J11cclxuXHJcblx0LyoqXHJcblx0ICpcclxuXHQgKiBAcGFyYW0gZmlsdGVyc0NvZGUgYXJyZWdsbyBkZSBzdHJpbmdzIGNvbiBsb3MgY29kaWdvcyBkZSBsb3MgZmlsdHJvcy5cclxuXHQgKiBTaSBzZSBsZSBwYXNhIGVsIHBhcmFtZXRybyAqKmFsbCoqIGVzdGUgbW9zdHJhcmEgdG9kb3MuXHJcblx0ICogQGV4YW1wbGUgcHJpY2UgfCBvcmRlci1hbHBoIHwgcmVjZW50IHwgdXBkYXRlIHwgYWxsXHJcblx0ICogQHJldHVybnNcclxuXHQgKi9cclxuXHRzZXRTb3J0RmlsdGVycyA9IChmaWx0ZXJzQ29kZTogc3RyaW5nW10gPSBbJ2FsbCddKSA9PiB0aGlzLnNvcnRGaWx0ZXJzID0gZmlsdGVyc0NvZGU7XHJcblxyXG5cdGdldFNvcnRGaWx0ZXJzID0gKCkgPT4gdGhpcy5zb3J0RmlsdGVycztcclxuXHJcblx0Ly8gQUJPVVQgUFJPRFVDVFMgXHJcblx0cHJpdmF0ZSBwcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50OiBib29sZWFuID0gZmFsc2U7XHJcblx0c2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KHZhbHVlOiBib29sZWFuKSB7IHRoaXMucHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHZhbHVlOyB9XHJcblx0Z2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KCkgeyByZXR1cm4gdGhpcy5wcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50IH1cclxuXHJcblx0LyoqXHJcblx0KiBAZGVzY3JpcHRpb24gZXN0YSB2YXJpYWJsZSBzZSB1dGlsaXphIHBhcmEgY29uZmlndXJhciBsb3MgcGFyYW1ldHJvcyBjdWFuZG8gc2UgZGVzZWEgbW9zdHJhclxyXG5cdCogdmFyaWFudGVzIGVsIGxpc3RhZG8gZGUgcHJvZHVjdG9zLlxyXG5cdCogQHBhcmFtIHtzdHJpbmd9dHlwZSB0aXBvIGRlIG9wdGlvbnNcclxuXHQqIEBwYXJhbSB7c3RyaW5nfWNvZGUgY29kaWdvIGRlIG9wdGlvbnNcclxuXHQqIEBwYXJhbSB7Ym9vbGVhbn1kZWZhdWx0Rmlyc3RPcHRpb24gYHRydWVgIHRvbWEgZWwgcHJpbWVyIG9wdGlvbiBkZWwgcHJvZHVjdG8gZW4gZ2VuZXJhbFxyXG5cdCogQHBhcmFtIHtib29sZWFufWNoZWNrSWZTdG9jayBgdHJ1ZWAgc2UgcmVhbGl6YSB1biBjaGVxdWVvIGRlIHNpIGxhIHZhcmlhbnRlIHRpZW5lIHN0b2NrIHBhcmEgbW9zdHJhcmxhXHJcblx0KiBAZXhhbXBsZSAgYGBgamF2YXNjcmlwdFxyXG5cdCoge1xyXG5cdCAgIHR5cGU6ICdjb2xvcicsXHJcblx0ICAgY29kZTogJ2NvbG9yJyxcclxuXHQgICBkZWZhdWx0Rmlyc3RPcHRpb246IGZhbHNlICxcclxuXHQgICBjaGVja0lmU3RvY2s6dHJ1ZVxyXG5cdCAgIH0gYGBgXHJcblx0Ki9cclxuXHRwcml2YXRlIHBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQ6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB7XHJcblx0XHR0eXBlOiAnY29sb3InLFxyXG5cdFx0Y29kZTogJ2NvbG9yJyxcclxuXHRcdGRlZmF1bHRGaXJzdE9wdGlvbjogZmFsc2UsXHJcblx0XHRjaGVja0lmU3RvY2s6IHRydWVcclxuXHR9XHJcblxyXG5cdHNldFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSAodmFsdWU6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQpID0+IHtcclxuXHRcdHRoaXMucGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHtcclxuXHRcdFx0Li4udGhpcy5wYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50LFxyXG5cdFx0XHQuLi52YWx1ZVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0UGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9ICgpID0+IHRoaXMucGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudFxyXG5cdFxyXG5cdHB1YmxpYyBnZXRDaGFubmVsKCl7XHJcblx0XHRyZXR1cm4gdGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBmb3JtX3NlbmRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiJdfQ==
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25zdGFudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9jb25zdGFudHMvY29yZS5jb25zdGFudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFDakQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFFekIsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUNoQzs7T0FFRztJQUNLLFlBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUNsRDs7T0FFRztJQUNLLFVBQVUsR0FBUSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDN0M7O09BRUc7SUFDSyxRQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzdDOztPQUVHO0lBQ0ssV0FBVyxHQUFnQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUM1RDs7T0FFRztJQUNLLE1BQU0sQ0FBUztJQUV2QjtRQUNDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDckIsQ0FBQztJQUNGLENBQUM7SUFDRDs7T0FFRztJQUNJLGtCQUFrQixHQUFXLGFBQWEsQ0FBQztJQUNsRDs7T0FFRztJQUNJLGNBQWMsR0FBVyxXQUFXLENBQUM7SUFDNUM7O09BRUc7SUFDYSxVQUFVLEdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDL0Q7Ozs7T0FJRztJQUNJLFFBQVEsR0FBRyxDQUFDLFNBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hLOzs7O09BSUc7SUFDSSxhQUFhLEdBQUcsQ0FBQyxTQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzSzs7OztPQUlHO0lBQ0ksR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7SUFFdEY7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDdEIsdUNBQXVDO1FBQ3ZDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDeEMsbUVBQW1FO1lBQ25FLE1BQU0sU0FBUyxHQUFJLElBQUksQ0FBQyxNQUFjLEVBQUUsS0FBSyxDQUFDO1lBQzlDLElBQUksU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO2dCQUM1QixtQ0FBbUM7Z0JBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUMvQyxPQUFPLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDbkYsQ0FBQztnQkFDRCxPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDOUIsQ0FBQztZQUVELHNFQUFzRTtZQUN0RSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUM3RSwyREFBMkQ7Z0JBQzNELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7b0JBQzVELE9BQU8sQ0FBQyxJQUFJLENBQUMsNkZBQTZGLENBQUMsQ0FBQztnQkFDN0csQ0FBQztnQkFDRCxPQUFPLEdBQUcsQ0FBQztZQUNaLENBQUM7UUFDRixDQUFDO1FBRUQsb0VBQW9FO1FBQ3BFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdFLENBQUM7UUFFRCxxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDckMsQ0FBQztRQUVELDBFQUEwRTtRQUMxRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0UsSUFBSSxDQUFDO2dCQUNKLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QixPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxxREFBcUQsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM3RSxDQUFDO1FBQ0YsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLGtGQUFrRixDQUFDLENBQUM7UUFDakcsT0FBTyxFQUFFLENBQUM7SUFDWCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsR0FBRyxDQUFDLElBQWEsRUFBVSxFQUFFO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1gsT0FBTyxPQUFPLENBQUM7UUFDaEIsQ0FBQztRQUVELCtEQUErRDtRQUMvRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0QsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBRTVFLE9BQU8sR0FBRyxZQUFZLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDdEMsQ0FBQyxDQUFBO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQixHQUFHLENBQUMsU0FBa0IsRUFBVSxFQUFFO1FBQzNELHFEQUFxRDtRQUNyRCxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEYsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQztRQUVELHNEQUFzRDtRQUN0RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRS9DLG9EQUFvRDtRQUNwRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sUUFBUSxDQUFDO1FBQ2pCLENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDN0MsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMzRSx5QkFBeUI7WUFDekIsT0FBTyxRQUFRLENBQUM7UUFDakIsQ0FBQztRQUVELDZEQUE2RDtRQUM3RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQixPQUFPLFFBQVEsQ0FBQyxDQUFDLHdEQUF3RDtRQUMxRSxDQUFDO1FBRUQseUJBQXlCO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN0RixNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUM1RixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFFbEYsT0FBTyxHQUFHLGdCQUFnQixJQUFJLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUM3RCxDQUFDLENBQUE7SUFFRDs7O09BR0c7SUFDSSxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDO0lBRWpJLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUM7SUFFeEg7OztPQUdHO0lBQ0ksWUFBWSxHQUFHLEdBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQztJQUMzRjs7T0FFRztJQUNJLFFBQVEsR0FBbUI7UUFDakMsSUFBSSxFQUFFLEtBQUs7UUFDWCxNQUFNLEVBQUUsR0FBRztRQUNYLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLGNBQWMsRUFBRSxLQUFLO0tBQ3JCLENBQUM7SUFFRjs7T0FFRztJQUNJLGtCQUFrQixHQUFxQjtRQUM3QztZQUNDLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsT0FBTztZQUNqQixjQUFjLEVBQUUsS0FBSztTQUVyQjtRQUNEO1lBQ0MsSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVBQUUsR0FBRztZQUNYLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGNBQWMsRUFBRSxLQUFLO1NBQ3JCO1FBQ0Q7WUFDQyxJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxHQUFHO1lBQ1gsUUFBUSxFQUFFLE1BQU07WUFDaEIsY0FBYyxFQUFFLEtBQUs7U0FDckI7UUFDRDtZQUNDLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEdBQUc7WUFDWCxRQUFRLEVBQUUsTUFBTTtZQUNoQixjQUFjLEVBQUUsS0FBSztTQUNyQjtRQUNEO1lBQ0MsSUFBSSxFQUFFLEtBQUs7WUFDWCxNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGNBQWMsRUFBRSxLQUFLO1NBQ3JCO1FBQ0Q7WUFDQyxJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLE1BQU07WUFDaEIsY0FBYyxFQUFFLEtBQUs7U0FDckI7UUFDRDtZQUNDLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsT0FBTztZQUNqQixjQUFjLEVBQUUsSUFBSTtTQUNwQjtLQUNELENBQUE7SUFDRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxrQkFBb0M7UUFDaEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxXQUFXLENBQUMsZ0JBQThCLEVBQUUsVUFBMkI7UUFDN0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBa0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUE7UUFDaEksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUE7UUFDbkUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFBQSxDQUFDO0lBR0ssbUJBQW1CLENBQUMsYUFBa0I7UUFDNUMsSUFBSSxhQUFhLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxJQUFJO1lBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRTFFLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUk7WUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWhGLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsWUFBWTtZQUN2RCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBRXZFLE9BQU8sYUFBYSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O01BR0U7SUFDTSxXQUFXLEdBQWEsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBRWpFOzs7Ozs7T0FNRztJQUNILGNBQWMsR0FBRyxDQUFDLGNBQXdCLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBRXJGLGNBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBRXhDLGtCQUFrQjtJQUNWLHlCQUF5QixHQUFZLEtBQUssQ0FBQztJQUNuRCwyQkFBMkIsQ0FBQyxLQUFjLElBQUksSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkYsMkJBQTJCLEtBQUssT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUEsQ0FBQyxDQUFDO0lBRXZFOzs7Ozs7Ozs7Ozs7OztNQWNFO0lBQ00sK0JBQStCLEdBQW9DO1FBQzFFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLE9BQU87UUFDYixrQkFBa0IsRUFBRSxLQUFLO1FBQ3pCLFlBQVksRUFBRSxJQUFJO0tBQ2xCLENBQUE7SUFFRCxrQ0FBa0MsR0FBRyxDQUFDLEtBQXNDLEVBQUUsRUFBRTtRQUMvRSxJQUFJLENBQUMsK0JBQStCLEdBQUc7WUFDdEMsR0FBRyxJQUFJLENBQUMsK0JBQStCO1lBQ3ZDLEdBQUcsS0FBSztTQUNSLENBQUE7SUFDRixDQUFDLENBQUE7SUFFRCxrQ0FBa0MsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsK0JBQStCLENBQUE7SUFFeEUsVUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXLEdBQVksS0FBSyxDQUFDO3dHQTlVeEIsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGcEIsTUFBTTs7NEZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4vYXBpLmNvbnN0YW50cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ3VycmVuY3lDb25maWcsIGN1cnJlbmN5VHlwZSwgUGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCwgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRU5WSVJPTk1FTlRfVE9LRU4gfSBmcm9tICcuLi9wcm92aWRlcnMnO1xyXG4vKipcclxuICogU2VydmljaW8gcXVlIHByb3ZlZSBsYXMgY29uc3RhbnRlcyBuZWNlc2FyaWFzIHF1ZSBzZSB1dGlsaXphbiBwb3IgdG9kYSBsYSBhcGxpY2FjacOzbi5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgQ29yZUNvbnN0YW50c1NlcnZpY2VcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVDb25zdGFudHNTZXJ2aWNlIHtcclxuXHJcblx0cHVibGljIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcclxuXHQvKipcclxuXHQgKiBTZXJ2aWNpbyBxdWUgY29udGllbmUgbGFzIGNvbnN0YW50ZXMgdXNhZGFzIHBhcmEgbGEgQVBJXHJcblx0ICovXHJcblx0cHJpdmF0ZSBhcGlDb25zdGFudHMgPSBpbmplY3QoQXBpQ29uc3RhbnRzU2VydmljZSlcclxuXHQvKipcclxuXHQgKiBQcm92ZWUgZWwgSUQgZGUgbGEgcGxhdGFmb3JtYSBlbiBkb25kZSBzZSBlc3RhIGVqZWN1dGFuZG8gZWwgY29kaWdvLCBlc3RvIHNpcnZlIHBhcmEgcG9kZXIgZGlmZXJlbmNpYXIgc2kgZXMgZGUgdW4gc2Vydmlkb3IgbyB1biBuYXZlZ2Fkb3Igd2ViLlxyXG5cdCAqL1xyXG5cdHByaXZhdGUgcGxhdGZvcm1JZDogYW55ID0gaW5qZWN0KFBMQVRGT1JNX0lEKVxyXG5cdC8qKlxyXG5cdCAqIERvY3VtZW50IHRva2VuIHBhcmEgYWNjZXNvIFNTUi1jb21wYXRpYmxlIGFsIGRvY3VtZW50b1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKVxyXG5cdC8qKlxyXG5cdCAqIENvbnRpZW5lIGxvcyBkYXRvcyBwcm92aXN0byBwb3IgZWwgZnJvbnRlbmQgZW4gZWwgYXJjaGl2byBlbnZpcm9ubWVudC50c1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50ID0gaW5qZWN0KEVOVklST05NRU5UX1RPS0VOKVxyXG5cdC8qKlxyXG5cdCAqIEd1YXJkYSBsYSB2YXJpYWJsZSB3aW5kb3cgZGVsIHdlYiBicm93c2VyLlxyXG5cdCAqL1xyXG5cdHByaXZhdGUgd2luZG93PzpXaW5kb3c7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuXHRcdFx0dGhpcy53aW5kb3cgPSB3aW5kb3dcclxuXHRcdH1cclxuXHR9XHJcblx0LyoqXHJcblx0ICogUGF0aCB1c2FkbyBlbiBsYXMgY29sZWNjaW9uZXMgZGUgcHJvZHVjdG9zLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBQUk9EVUNUX0xJU1RfUk9VVEU6IHN0cmluZyA9ICdjb2xsZWN0aW9uLyc7XHJcblx0LyoqXHJcblx0ICogUGF0aCB1c2FkbyBwYXJhIGFjY2VkZXIgYSBsYXMgc2VjY2lvbmVzLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBTRUNUSU9OU19ST1VURTogc3RyaW5nID0gJ3NlY3Rpb25zLyc7XHJcblx0LyoqXHJcblx0ICogUGF0aCBxdWUgYWxvamEgbGEgY2FycGV0YSBkZSBsb3MgYXNzZXRzLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWFkb25seSBBU1NFVFNfVVJMOiBzdHJpbmcgPSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMO1xyXG5cdC8qKlxyXG5cdCAqIFJldG9ybmEgbGEgdXJsIGRvbmRlIHNlIGd1YXJkYSBsYXMgaW1hZ2VuZXMuXHJcblx0ICogQHBhcmFtIHBvc3RNZWRpYSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgbWVkaWFVcmwgPSAocG9zdE1lZGlhPzogc3RyaW5nKSA9PiB0aGlzLkFTU0VUU19VUkwgKyAodGhpcy5BU1NFVFNfVVJMID09IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwgPyAnbWVkaWEvJyA6ICcnKSArIChwb3N0TWVkaWEgPyBwb3N0TWVkaWEgOiBcImltYWdlL1wiKTtcclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIGxhIHVybCBkb25kZSBzZSBndWFyZGEgbGFzIGltYWdlbmVzLlxyXG5cdCAqIEBwYXJhbSBwb3N0TWVkaWEgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIG1lZGlhSW1hZ2VVcmwgPSAocG9zdE1lZGlhPzogc3RyaW5nKSA9PiB0aGlzLkFTU0VUU19VUkwgKyAodGhpcy5BU1NFVFNfVVJMID09IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwgPyAnbWVkaWEvaW1hZ2UvJyA6ICcnKSArIChwb3N0TWVkaWEgPyBwb3N0TWVkaWEgOiBcImltYWdlL1wiKTtcclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIGxhIHVybCBkZWwgc2l0aW8uXHJcblx0ICogQHBhcmFtIHBvc3RNZWRpYSBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgdXJsID0gKCkgPT4gdGhpcy5hcGlDb25zdGFudHMuQVBJX1VSTC5yZXBsYWNlKC9cXC8kLywgJycpOyAvLyByZW1vdmUgbGFzdCBzbGFzaFx0XHJcblxyXG5cdC8qKlxyXG5cdCAqIFVSTCBkZWwgc2l0aW8gZnJvbnRlbmQgLSBDb21wYXRpYmxlIGNvbiBBbmd1bGFyIFNTUlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBnZXQgRlJPTlRFTkRfVVJMKCk6IHN0cmluZyB7XHJcblx0XHQvLyBWZXJpZmljYXIgc2kgZXN0YW1vcyBlbiBlbCBuYXZlZ2Fkb3JcclxuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcblx0XHRcdC8vIFByaW1lcm8gaW50ZW50YSBsZWVyIGRlIHdpbmRvdy5fX2VudiAoY29uZmlndXJhZG8gcG9yIERvY2tlci9DSSlcclxuXHRcdFx0Y29uc3Qgd2luZG93RW52ID0gKHRoaXMud2luZG93IGFzIGFueSk/Ll9fZW52O1xyXG5cdFx0XHRpZiAod2luZG93RW52Py5mcm9udGVuZFVybCkge1xyXG5cdFx0XHRcdC8vIExvZyBwYXJhIGRlYnVnZ2luZyBlbiBkZXNhcnJvbGxvXHJcblx0XHRcdFx0aWYgKCF3aW5kb3dFbnYuZnJvbnRlbmRVcmwuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLndhcm4oJ1tGUk9OVEVORF9VUkxdIEludmFsaWQgZnJvbnRlbmRVcmwgZm9ybWF0OicsIHdpbmRvd0Vudi5mcm9udGVuZFVybCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiB3aW5kb3dFbnYuZnJvbnRlbmRVcmw7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdC8vIFNpIG5vIGhheSBjb25maWd1cmFjacOzbiBlc3BlY8OtZmljYSwgY29uc3RydWlyIGRlc2RlIHdpbmRvdy5sb2NhdGlvblxyXG5cdFx0XHRpZiAodGhpcy53aW5kb3c/LmxvY2F0aW9uKSB7XHJcblx0XHRcdFx0Y29uc3QgdXJsID0gYCR7dGhpcy53aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3RoaXMud2luZG93LmxvY2F0aW9uLmhvc3R9YDtcclxuXHRcdFx0XHQvLyBWZXJpZmljYXIgcXVlIG5vIHNlYSBsb2NhbGhvc3QgbyAxMjcuMC4wLjEgZW4gcHJvZHVjY2nDs25cclxuXHRcdFx0XHRpZiAodXJsLmluY2x1ZGVzKCcxMjcuMC4wLjEnKSB8fCB1cmwuaW5jbHVkZXMoJ2xvY2FsaG9zdCcpKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLndhcm4oJ1tGUk9OVEVORF9VUkxdIFVzaW5nIGxvY2FsaG9zdCBVUkwgaW4gcHJvZHVjdGlvbiwgY29uc2lkZXIgc2V0dGluZyB3aW5kb3cuX19lbnYuZnJvbnRlbmRVcmwnKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIHVybDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyBQYXJhIFNTUiwgaW50ZW50YXIgY29uc3RydWlyIGRlc2RlIGVsIGRvY3VtZW50IHNpIGVzdMOhIGRpc3BvbmlibGVcclxuXHRcdGlmICh0aGlzLmRvY3VtZW50Py5sb2NhdGlvbikge1xyXG5cdFx0XHRyZXR1cm4gYCR7dGhpcy5kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbH0vLyR7dGhpcy5kb2N1bWVudC5sb2NhdGlvbi5ob3N0fWA7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIEludGVudGFyIG9idGVuZXIgZGVzZGUgZW52aXJvbm1lbnRcclxuXHRcdGlmICh0aGlzLmVudmlyb25tZW50LmZyb250ZW5kVXJsKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmVudmlyb25tZW50LmZyb250ZW5kVXJsO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyDDmmx0aW1vIGZhbGxiYWNrIC0gdXNhciBsYSBVUkwgZGVsIEFQSSBzaSBlc3TDoSBjb25maWd1cmFkYSB5IGVzIGFic29sdXRhXHJcblx0XHRjb25zdCBhcGlVcmwgPSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMO1xyXG5cdFx0aWYgKGFwaVVybCAmJiAoYXBpVXJsLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fCBhcGlVcmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkpIHtcclxuXHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRjb25zdCB1cmwgPSBuZXcgVVJMKGFwaVVybCk7XHJcblx0XHRcdFx0cmV0dXJuIGAke3VybC5wcm90b2NvbH0vLyR7dXJsLmhvc3R9YDtcclxuXHRcdFx0fSBjYXRjaCAoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUud2FybignW0ZST05URU5EX1VSTF0gQ291bGQgbm90IHBhcnNlIEFQSSBVUkwgYXMgZmFsbGJhY2s6JywgYXBpVXJsKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyBGYWxsYmFjayBmaW5hbCAtIHJldG9ybmFyIFVSTCB2YWPDrWFcclxuXHRcdGNvbnNvbGUud2FybignW0ZST05URU5EX1VSTF0gTm8gdmFsaWQgZnJvbnRlbmQgVVJMIGZvdW5kLCB0aGlzIG1heSBjYXVzZSBpc3N1ZXMgd2l0aCBtZXRhIHRhZ3MnKTtcclxuXHRcdHJldHVybiAnJztcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJldG9ybmEgbGEgVVJMIGNvbXBsZXRhIGRlbCBmcm9udGVuZCBjb24gdW5hIHJ1dGEgb3BjaW9uYWxcclxuXHQgKiBAcGFyYW0gcGF0aCAtIFJ1dGEgb3BjaW9uYWwgcGFyYSBhZ3JlZ2FyIGEgbGEgVVJMIGJhc2VcclxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBVUkwgY29tcGxldGEgZGVsIGZyb250ZW5kXHJcblx0ICovXHJcblx0cHVibGljIGdldEZyb250ZW5kVXJsID0gKHBhdGg/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG5cdFx0Y29uc3QgYmFzZVVybCA9IHRoaXMuRlJPTlRFTkRfVVJMO1xyXG5cdFx0aWYgKCFwYXRoKSB7XHJcblx0XHRcdHJldHVybiBiYXNlVXJsO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyBBc2VndXJhciBxdWUgbGEgcnV0YSBjb21pZW5jZSBjb24gJy8nIHkgbm8gdGVuZ2EgZG9ibGUgc2xhc2hcclxuXHRcdGNvbnN0IGNsZWFuUGF0aCA9IHBhdGguc3RhcnRzV2l0aCgnLycpID8gcGF0aCA6IGAvJHtwYXRofWA7XHJcblx0XHRjb25zdCBjbGVhbkJhc2VVcmwgPSBiYXNlVXJsLmVuZHNXaXRoKCcvJykgPyBiYXNlVXJsLnNsaWNlKDAsIC0xKSA6IGJhc2VVcmw7XHJcblx0XHRcclxuXHRcdHJldHVybiBgJHtjbGVhbkJhc2VVcmx9JHtjbGVhblBhdGh9YDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJldG9ybmEgbGEgVVJMIGFic29sdXRhIGRlIHVuYSBpbWFnZW4gcGFyYSBtZXRhIHRhZ3MgKGNvbXBhdGlibGUgY29uIFNTUilcclxuXHQgKiBAcGFyYW0gcG9zdE1lZGlhIC0gUnV0YSBkZSBsYSBpbWFnZW5cclxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBVUkwgYWJzb2x1dGEgZGUgbGEgaW1hZ2VuXHJcblx0ICovXHJcblx0cHVibGljIGdldEFic29sdXRlSW1hZ2VVcmwgPSAocG9zdE1lZGlhPzogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuXHRcdC8vIFNpIGxhIFVSTCB5YSBlcyBhYnNvbHV0YSwgZGV2b2x2ZXJsYSB0YWwgY29tbyBlc3TDoVxyXG5cdFx0aWYgKHBvc3RNZWRpYSAmJiAocG9zdE1lZGlhLnN0YXJ0c1dpdGgoJ2h0dHA6Ly8nKSB8fCBwb3N0TWVkaWEuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkpIHtcclxuXHRcdFx0cmV0dXJuIHBvc3RNZWRpYTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBDb25zdHJ1aXIgbGEgVVJMIGRlIGxhIGltYWdlbiB1c2FuZG8gbGEgVVJMIGRlbCBBUElcclxuXHRcdGNvbnN0IGltYWdlVXJsID0gdGhpcy5tZWRpYUltYWdlVXJsKHBvc3RNZWRpYSk7XHJcblx0XHRcclxuXHRcdC8vIFNpIGxhIFVSTCBkZSBsYSBpbWFnZW4geWEgZXMgYWJzb2x1dGEsIGRldm9sdmVybGFcclxuXHRcdGlmIChpbWFnZVVybC5zdGFydHNXaXRoKCdodHRwOi8vJykgfHwgaW1hZ2VVcmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkge1xyXG5cdFx0XHRyZXR1cm4gaW1hZ2VVcmw7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC8vIFNpIGVzIHVuYSBVUkwgcmVsYXRpdmEsIGNvbnZlcnRpcmxhIGEgYWJzb2x1dGEgdXNhbmRvIGxhIFVSTCBiYXNlIGRlbCBBUElcclxuXHRcdGNvbnN0IGFwaUJhc2VVcmwgPSB0aGlzLmFwaUNvbnN0YW50cy5BUElfVVJMO1xyXG5cdFx0aWYgKGFwaUJhc2VVcmwuc3RhcnRzV2l0aCgnaHR0cDovLycpIHx8IGFwaUJhc2VVcmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSkge1xyXG5cdFx0XHQvLyBBUElfVVJMIHlhIGVzIGFic29sdXRhXHJcblx0XHRcdHJldHVybiBpbWFnZVVybDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Ly8gU2kgQVBJX1VSTCBlcyByZWxhdGl2YSwgdXNhciBsYSBVUkwgZGVsIGZyb250ZW5kIGNvbW8gYmFzZVxyXG5cdFx0Y29uc3QgZnJvbnRlbmRVcmwgPSB0aGlzLkZST05URU5EX1VSTDtcclxuXHRcdGlmICghZnJvbnRlbmRVcmwpIHtcclxuXHRcdFx0cmV0dXJuIGltYWdlVXJsOyAvLyBGYWxsYmFjayBzaSBubyBwb2RlbW9zIGRldGVybWluYXIgbGEgVVJMIGRlbCBmcm9udGVuZFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQvLyBDb25zdHJ1aXIgVVJMIGFic29sdXRhXHJcblx0XHRjb25zdCBjbGVhbkFwaVVybCA9IGFwaUJhc2VVcmwuc3RhcnRzV2l0aCgnLycpID8gYXBpQmFzZVVybC5zdWJzdHJpbmcoMSkgOiBhcGlCYXNlVXJsO1xyXG5cdFx0Y29uc3QgY2xlYW5Gcm9udGVuZFVybCA9IGZyb250ZW5kVXJsLmVuZHNXaXRoKCcvJykgPyBmcm9udGVuZFVybC5zbGljZSgwLCAtMSkgOiBmcm9udGVuZFVybDtcclxuXHRcdGNvbnN0IGNsZWFuSW1hZ2VVcmwgPSBpbWFnZVVybC5zdGFydHNXaXRoKCcvJykgPyBpbWFnZVVybC5zdWJzdHJpbmcoMSkgOiBpbWFnZVVybDtcclxuXHRcdFxyXG5cdFx0cmV0dXJuIGAke2NsZWFuRnJvbnRlbmRVcmx9LyR7Y2xlYW5BcGlVcmx9JHtjbGVhbkltYWdlVXJsfWA7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSZXRvcm5hIGxhIHVybCBkZSBsYXMgaW1hZ2VuZXMgZGUgbG9zIGJhbm5lcnNcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRwdWJsaWMgbWVkaWFCYW5uZXJVcmwgPSAoKSA9PiB0aGlzLkFTU0VUU19VUkwgKyAodGhpcy5BU1NFVFNfVVJMID09IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwgPyAnbWVkaWEvJyA6ICcnKSArIFwiYmFubmVyLWltYWdlL1wiO1xyXG5cdFxyXG5cdG1lZGlhU3RvcmVVcmwgPSAoKSA9PiB0aGlzLkFTU0VUU19VUkwgKyAodGhpcy5BU1NFVFNfVVJMID09IHRoaXMuYXBpQ29uc3RhbnRzLkFQSV9VUkwgPyAnbWVkaWEvJyA6ICcnKSArIFwic3RvcmUtaW1hZ2UvXCI7XHJcblx0XHJcblx0LyoqXHJcblx0ICogUmV0b3JuYSBgdHJ1ZWAgc2kgbGEgdmlzdGEgZXMgbW9iaWxlLCBgZmFsc2VgIGNhc28gY29udHJhcmlvLlxyXG5cdCAqIEByZXR1cm5zIHtib29sZWFufVxyXG5cdCAqL1xyXG5cdHB1YmxpYyBtb2JpbGVTY3JlZW4gPSAoKTogYm9vbGVhbiA9PiB0aGlzLndpbmRvdyAmJiB0aGlzLndpbmRvdz8uaW5uZXJXaWR0aCA8IDc1MCB8fCBmYWxzZTtcclxuXHQvKipcclxuXHQgKiBDb250aWVuZSBsb3MgdmFsb3JlcyBwYXJhIGxhIG1vbmVkYSBhY3R1YWxcclxuXHQgKi9cclxuXHRwdWJsaWMgY3VycmVuY3k6IEN1cnJlbmN5Q29uZmlnID0ge1xyXG5cdFx0Y29kZTogJ0FSRycsXHJcblx0XHRzeW1ib2w6ICckJyxcclxuXHRcdHBvc2l0aW9uOiAnTGVmdCcsXHJcblx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHR9O1xyXG5cclxuXHQvKipcclxuXHQgKiBBcnJlZ2xvIGRlIHZhbG9yZXMgdXNhZG9zIHBhcmEgZWwgcGlwZSBjdXJyZW5jeVByaWNlXHJcblx0ICovXHJcblx0cHVibGljIGN1cnJlbmN5VHlwZUNvbmZpZzogQ3VycmVuY3lDb25maWdbXSA9IFtcclxuXHRcdHtcclxuXHRcdFx0Y29kZTogJ0VVUicsXHJcblx0XHRcdHN5bWJvbDogJ+KCrCcsXHJcblx0XHRcdHBvc2l0aW9uOiAnUmlnaHQnLFxyXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRjb2RlOiAnQVJHJyxcclxuXHRcdFx0c3ltYm9sOiAnJCcsXHJcblx0XHRcdHBvc2l0aW9uOiAnTGVmdCcsXHJcblx0XHRcdHdpdGhvdXREZWNpbWFsOiBmYWxzZVxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0Y29kZTogJ0FSUycsXHJcblx0XHRcdHN5bWJvbDogJyQnLFxyXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxyXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGNvZGU6ICdVU0QnLFxyXG5cdFx0XHRzeW1ib2w6ICckJyxcclxuXHRcdFx0cG9zaXRpb246ICdMZWZ0JyxcclxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRjb2RlOiAnUFlHJyxcclxuXHRcdFx0c3ltYm9sOiAnR3MuJyxcclxuXHRcdFx0cG9zaXRpb246ICdMZWZ0JyxcclxuXHRcdFx0d2l0aG91dERlY2ltYWw6IGZhbHNlXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRjb2RlOiAnUEVOJyxcclxuXHRcdFx0c3ltYm9sOiAnUy8nLFxyXG5cdFx0XHRwb3NpdGlvbjogJ0xlZnQnLFxyXG5cdFx0XHR3aXRob3V0RGVjaW1hbDogZmFsc2VcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdGNvZGU6ICdTRUsnLFxyXG5cdFx0XHRzeW1ib2w6ICdTRUsnLFxyXG5cdFx0XHRwb3NpdGlvbjogJ1JpZ2h0JyxcclxuXHRcdFx0d2l0aG91dERlY2ltYWw6IHRydWVcclxuXHRcdH0sXHJcblx0XVxyXG5cdC8qKlxyXG5cdCAqIENhbWJpYSBsYSBjb25maWd1cmFjacOzbiBkZSBsYSBtb25lZGEuXHJcblx0ICogQHBhcmFtIGN1cnJlbmN5VHlwZUNvbmZpZyBBcnJlZ2xvIGNvbiBsYXMgZGlzdGludGFzIG1vbmVkYXMuXHJcblx0ICovXHJcblx0cHVibGljIHNldEN1cnJlbmN5VHlwZUNvbmZpZyhjdXJyZW5jeVR5cGVDb25maWc6IEN1cnJlbmN5Q29uZmlnW10pIHtcclxuXHRcdHRoaXMuY3VycmVuY3lUeXBlQ29uZmlnID0gY3VycmVuY3lUeXBlQ29uZmlnO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQHBhcmFtIGN1cnJlbmN5VHlwZUZpbmQgRGVmaW5pciBlbCBjb2RlIGRlbCB0aXBvIGRlIG1vbmVkYSBxdWUgc2UgcXVpZXJhIHV0aWxpemFyLlxyXG5cdCAqIFNpIGVsIHRpcG8gZXMgQ1VTVE9NIHNlIHRvbWFuIGxvcyB2YWxvcmVzIGRlbCBzZWd1bmRvIHBhcmFtZXRybyBkb25kZSBzZSBwdWVkZSBkZWZpbmlyIGxhIHNpbWJvbG9nw61hIHkgcG9zZXNpw7NuIHF1ZSBzZSBxdWllcmEuXHJcblx0ICogQHBhcmFtIGN1c3RvbVR5cGUgRm9ybWF0byBkZWwgcGFyw6FtZXRybyBlamVtcGxvIHsgY29kZTogJ0FSRycsIHN5bWJvbDogJyQnLCBwb3NpdGlvbjogJ0wnICwgd2l0aG91dERlY2ltYWxzOiBmYWxzZSB9ICxcclxuXHQgKiB0b2RhcyBsYXMga2V5IHNvbiBvcGNpb25hbGVzIHkgcG9yIGRlZmVjdG8gc2UgdG9tYW4gbG9zIHZhbG9yZXMgZGVsIGVqZW1wbG8uXHJcblx0ICogQHJldHVybnMgc2UgcmV0b3JuYSBsYSBjb25maWd1cmFjacOzbiBxdWUgc2Ugc2V0ZW8gYSBsYSBwcm9waWVkYWQgY3VycmVuY3kgZGVsIHNlcnZpY2lvLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBzZXRDdXJyZW5jeShjdXJyZW5jeVR5cGVGaW5kOiBjdXJyZW5jeVR5cGUsIGN1c3RvbVR5cGU/OiBDdXJyZW5jeUNvbmZpZyk6IEN1cnJlbmN5Q29uZmlnIHtcclxuXHRcdHRoaXMuY3VycmVuY3kgPSB0aGlzLmN1cnJlbmN5VHlwZUNvbmZpZy5maW5kKChjdDogQ3VycmVuY3lDb25maWcpID0+IGN0LmNvZGUgPT0gY3VycmVuY3lUeXBlRmluZC50b1VwcGVyQ2FzZSgpKSB8fCB0aGlzLmN1cnJlbmN5XHJcblx0XHRjdXN0b21UeXBlICYmICh0aGlzLmN1cnJlbmN5ID0geyAuLi50aGlzLmN1cnJlbmN5LCAuLi5jdXN0b21UeXBlIH0pXHJcblx0XHRyZXR1cm4gdGhpcy5jdXJyZW5jeTtcclxuXHR9O1xyXG5cclxuXHJcblx0cHVibGljIG1vZGlmeUNoYW5uZWxDb25maWcoY2hhbm5lbENvbmZpZzogYW55KSB7XHJcblx0XHRpZiAoY2hhbm5lbENvbmZpZy5jaGFubmVsIHx8IGNoYW5uZWxDb25maWcuY29kZSlcclxuXHRcdFx0dGhpcy5hcGlDb25zdGFudHMuc2V0Q2hhbm5lbChjaGFubmVsQ29uZmlnLmNoYW5uZWwgfHwgY2hhbm5lbENvbmZpZy5jb2RlKVxyXG5cclxuXHRcdGlmIChjaGFubmVsQ29uZmlnLmxvY2FsZSB8fCBjaGFubmVsQ29uZmlnLmxvY2FsZXMuY29kZSlcclxuXHRcdFx0dGhpcy5hcGlDb25zdGFudHMuc2V0TG9jYWxlKGNoYW5uZWxDb25maWcubG9jYWxlIHx8IGNoYW5uZWxDb25maWcubG9jYWxlcy5jb2RlKVxyXG5cclxuXHRcdGlmIChjaGFubmVsQ29uZmlnLmN1cnJlbmN5IHx8IGNoYW5uZWxDb25maWcuYmFzZUN1cnJlbmN5KVxyXG5cdFx0XHR0aGlzLnNldEN1cnJlbmN5KGNoYW5uZWxDb25maWcuY3VycmVuY3kgfHwgY2hhbm5lbENvbmZpZy5iYXNlQ3VycmVuY3kpXHJcblxyXG5cdFx0cmV0dXJuIGNoYW5uZWxDb25maWc7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQqIEBkZXNjcmlwdGlvbiBzZSB1dGlsaXphIHBhcmEgY29uZmlndXJhciBxdWUgZmlsdHJvcyBkZWwgdGlwbyBgU29ydEZpbHRlcmAgc2UgcXVpZXJlIG1vc3RyYXIgZW4gbGEgdmlzdGEuXHJcblx0KiBTZSB1c2FuIGxvcyBjb2RpZ28gZGUgbG9zIGZpbHRyb3MgcGFyYSBpbmRpY2FyIGN1YWxlcyBzZSBkZWJlbiBtb3N0cmFyLlxyXG5cdCovXHJcblx0cHJpdmF0ZSBzb3J0RmlsdGVyczogc3RyaW5nW10gPSBbJ3ByaWNlJywgJ29yZGVyLWFscGgnLCAncmVjZW50J11cclxuXHJcblx0LyoqXHJcblx0ICpcclxuXHQgKiBAcGFyYW0gZmlsdGVyc0NvZGUgYXJyZWdsbyBkZSBzdHJpbmdzIGNvbiBsb3MgY29kaWdvcyBkZSBsb3MgZmlsdHJvcy5cclxuXHQgKiBTaSBzZSBsZSBwYXNhIGVsIHBhcmFtZXRybyAqKmFsbCoqIGVzdGUgbW9zdHJhcmEgdG9kb3MuXHJcblx0ICogQGV4YW1wbGUgcHJpY2UgfCBvcmRlci1hbHBoIHwgcmVjZW50IHwgdXBkYXRlIHwgYWxsXHJcblx0ICogQHJldHVybnNcclxuXHQgKi9cclxuXHRzZXRTb3J0RmlsdGVycyA9IChmaWx0ZXJzQ29kZTogc3RyaW5nW10gPSBbJ2FsbCddKSA9PiB0aGlzLnNvcnRGaWx0ZXJzID0gZmlsdGVyc0NvZGU7XHJcblxyXG5cdGdldFNvcnRGaWx0ZXJzID0gKCkgPT4gdGhpcy5zb3J0RmlsdGVycztcclxuXHJcblx0Ly8gQUJPVVQgUFJPRFVDVFMgXHJcblx0cHJpdmF0ZSBwcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50OiBib29sZWFuID0gZmFsc2U7XHJcblx0c2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KHZhbHVlOiBib29sZWFuKSB7IHRoaXMucHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHZhbHVlOyB9XHJcblx0Z2V0UHJvZHVjdFdpdGhVbmlxdWVWYXJpYW50KCkgeyByZXR1cm4gdGhpcy5wcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50IH1cclxuXHJcblx0LyoqXHJcblx0KiBAZGVzY3JpcHRpb24gZXN0YSB2YXJpYWJsZSBzZSB1dGlsaXphIHBhcmEgY29uZmlndXJhciBsb3MgcGFyYW1ldHJvcyBjdWFuZG8gc2UgZGVzZWEgbW9zdHJhclxyXG5cdCogdmFyaWFudGVzIGVsIGxpc3RhZG8gZGUgcHJvZHVjdG9zLlxyXG5cdCogQHBhcmFtIHtzdHJpbmd9dHlwZSB0aXBvIGRlIG9wdGlvbnNcclxuXHQqIEBwYXJhbSB7c3RyaW5nfWNvZGUgY29kaWdvIGRlIG9wdGlvbnNcclxuXHQqIEBwYXJhbSB7Ym9vbGVhbn1kZWZhdWx0Rmlyc3RPcHRpb24gYHRydWVgIHRvbWEgZWwgcHJpbWVyIG9wdGlvbiBkZWwgcHJvZHVjdG8gZW4gZ2VuZXJhbFxyXG5cdCogQHBhcmFtIHtib29sZWFufWNoZWNrSWZTdG9jayBgdHJ1ZWAgc2UgcmVhbGl6YSB1biBjaGVxdWVvIGRlIHNpIGxhIHZhcmlhbnRlIHRpZW5lIHN0b2NrIHBhcmEgbW9zdHJhcmxhXHJcblx0KiBAZXhhbXBsZSAgYGBgamF2YXNjcmlwdFxyXG5cdCoge1xyXG5cdCAgIHR5cGU6ICdjb2xvcicsXHJcblx0ICAgY29kZTogJ2NvbG9yJyxcclxuXHQgICBkZWZhdWx0Rmlyc3RPcHRpb246IGZhbHNlICxcclxuXHQgICBjaGVja0lmU3RvY2s6dHJ1ZVxyXG5cdCAgIH0gYGBgXHJcblx0Ki9cclxuXHRwcml2YXRlIHBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQ6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSB7XHJcblx0XHR0eXBlOiAnY29sb3InLFxyXG5cdFx0Y29kZTogJ2NvbG9yJyxcclxuXHRcdGRlZmF1bHRGaXJzdE9wdGlvbjogZmFsc2UsXHJcblx0XHRjaGVja0lmU3RvY2s6IHRydWVcclxuXHR9XHJcblxyXG5cdHNldFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQgPSAodmFsdWU6IFBhcmFtc1Byb2R1Y3RzV2l0aFVuaXF1ZVZhcmlhbnQpID0+IHtcclxuXHRcdHRoaXMucGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9IHtcclxuXHRcdFx0Li4udGhpcy5wYXJhbXNQcm9kdWN0c1dpdGhVbmlxdWVWYXJpYW50LFxyXG5cdFx0XHQuLi52YWx1ZVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0UGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudCA9ICgpID0+IHRoaXMucGFyYW1zUHJvZHVjdHNXaXRoVW5pcXVlVmFyaWFudFxyXG5cdFxyXG5cdHB1YmxpYyBnZXRDaGFubmVsKCl7XHJcblx0XHRyZXR1cm4gdGhpcy5hcGlDb25zdGFudHMuQ0hBTk5FTDtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBmb3JtX3NlbmRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcbiJdfQ==
@@ -109,6 +109,14 @@ export class MenuEcComponent {
109
109
  });
110
110
  }));
111
111
  }
112
+ /**
113
+ * Verifica si una categoría tiene la propiedad isVisible y está marcada como visible
114
+ * @param category - La categoría a verificar
115
+ * @returns true si la categoría es visible, false en caso contrario
116
+ */
117
+ hasVisibleProperty(category) {
118
+ return category.isVisible === true;
119
+ }
112
120
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
113
121
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MenuEcComponent, isStandalone: true, selector: "lib-footer-ec", ngImport: i0, template: '<p>Menu and Footer Helper Component</p>', isInline: true });
114
122
  }
@@ -121,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
121
129
  template: '<p>Menu and Footer Helper Component</p>'
122
130
  }]
123
131
  }], ctorParameters: () => [] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hYnN0cmFjdGlvbnMtY29tcG9uZW50cy9tZW51LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFLL0Q7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxlQUFlO0lBQ25CLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDN0MsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDL0MsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQ7O09BRUc7SUFDSyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFN0M7O09BRUc7SUFDSSxXQUFXLEdBQTJCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDaEY7O09BRUc7SUFDSSxTQUFTLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0U7O09BRUc7SUFDSSxXQUFXLEdBQTRCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENB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Q0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7d0dBM0dXLGVBQWU7NEZBQWYsZUFBZSx5RUFGakIseUNBQXlDOzs0RkFFdkMsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRSx5Q0FBeUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBhZnRlclJlbmRlciwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIE9wdGlvbnNTZXJ2aWNlLCBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQXR0cmlidXRlLCBDYXRlZ29yeSwgUGFyYW1ldGVyLCBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xyXG4vKipcclxuICogUGFyYSBkaWZlcmVuY2lhciBsb3MgdGlwb3MgZGUgTWVudVxyXG4gKi9cclxudHlwZSBNZW51VHlwZSA9IFwiY2F0ZWdvcnlcIiB8IFwiYXR0cmlidXRlXCIgfCBcInNlY3Rpb25cIlxyXG4vKipcclxuICogQ29tcG9uZW50ZSBxdWUgc2lydmUgcGFyYSBhYnN0cmFlciBsYSBmdW5jaW9uYWxpZGFkIHF1ZSBjb21wYXJ0ZW4gXHJcbiAqIGVsIG1lbsO6IHkgZWwgZm9vdGVyLlxyXG4gKiBAY2xhc3MgTWVudUVjQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1mb290ZXItZWMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW10sXHJcblx0dGVtcGxhdGU6ICc8cD5NZW51IGFuZCBGb290ZXIgSGVscGVyIENvbXBvbmVudDwvcD4nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51RWNDb21wb25lbnQge1xyXG5cdHByaXZhdGUgb3B0aW9uc1NlcnZpY2UgPSBpbmplY3QoT3B0aW9uc1NlcnZpY2UpXHJcblx0cHJpdmF0ZSBwYXJhbWV0ZXJzU2VydmljZSA9IGluamVjdChQYXJhbWV0ZXJzU2VydmljZSlcclxuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpXHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKVxyXG5cdC8qKlxyXG5cdCAqIENvbnN0YW50ZXMgZGVsIGNvcmUuXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25zdHMgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpXHJcblxyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgY2F0ZWdvcmlhc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpXHJcblx0LyoqXHJcblx0ICogT2JzZXJ2YWJsZSBkZSBzZWNjaW9uZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgc2VjdGlvbnMkOiBPYnNlcnZhYmxlPFNlY3Rpb25bXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldFNlY3Rpb25zKClcclxuXHQvKipcclxuXHQgKiBPYnNlcnZhYmxlIGRlIGF0cmlidXRvc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEF0dHJpYnV0ZXMoKVxyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgcGFyYW1ldHJvc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBwYXJhbWV0ZXJzJDogT2JzZXJ2YWJsZTxQYXJhbWV0ZXJbXSB8IG51bGw+ID0gdGhpcy5wYXJhbWV0ZXJzU2VydmljZS5nZXRQYXJhbWV0ZXJzKClcclxuXHQvKipcclxuXHQgKiBVcmwgcGFyYSBsYXMgaW1hZ2VuZXMgZ3VhcmRhZGVzIGVuIGVsIGJhY2tlbmQuXHJcblx0ICovXHJcblx0cHVibGljIG1lZGlhVXJsID0gdGhpcy5jb25zdHMubWVkaWFVcmwoKVxyXG5cdC8qKlxyXG5cdCAqIEZ1bmNpb24gcGFyYSBzYWJlciBzaSBleGlzdGVuIHVuIHBhcmFtZXRyby4gXHJcblx0ICovXHJcblx0cHVibGljIGhhc1BhcmFtcyA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuaGFzUGFyYW1zXHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge31cclxuXHJcblx0cHJvdGVjdGVkIGFkZENoaWxkcmVuID0gKG1lbnVUeXBlOiBNZW51VHlwZSwgY29kZTogc3RyaW5nLCBpdGVtOiBhbnksIHN0YWNrUGxhY2UgPSAnZW5kJyk6IHZvaWQgPT4ge1xyXG5cclxuXHR9XHJcblxyXG5cdC8qIHByb3RlY3RlZCBhZGRDaGlsZHJlbiA9IChtZW51SXRlbXM6IGFueVtdLCBjb2RlOiBzdHJpbmcsIGl0ZW06IGFueSwgc3RhY2tQbGFjZSA9ICdlbmQnKSA9PiB7XHJcblx0ICAoc3RhY2tQbGFjZSA9PT0gJ3N0YXJ0JylcclxuXHRcdD8gbWVudUl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmNvZGU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoY29kZSkpPy5jaGlsZHJlbi51bnNoaWZ0KGl0ZW0pXHJcblx0XHQ6IG1lbnVJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGNvZGUpKT8uY2hpbGRyZW4ucHVzaChpdGVtKVxyXG4gICAgXHJcblx0fSAqL1xyXG5cdC8qKlxyXG5cdCAqIEFjdHVhbGl6YSBsYXMgY2F0ZWdvcmlhcyBhZ3JlZ2FuZG8gbnVldmFzLlxyXG5cdCAqIEBwYXJhbSBjYXRlZ29yaWVzIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB1cGRhdGVDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IENhdGVnb3J5W10pIHtcclxuXHRcdHRoaXMuY2F0ZWdvcmllcyQgPSB0aGlzLmNhdGVnb3JpZXMkLnBpcGUobWFwKChkYXRhOiBDYXRlZ29yeVtdKSA9PiB7XHJcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uY2F0ZWdvcmllc11cclxuXHRcdH0pKVxyXG5cdH1cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIHNlY2Npb25lcyBhZ3JlZ2FuZG8gbnVldmFzLlxyXG5cdCAqIEBwYXJhbSBzZWN0aW9ucyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgdXBkYXRlU2VjdGlvbnMoc2VjdGlvbnM6IFNlY3Rpb25bXSkge1xyXG5cdFx0dGhpcy5zZWN0aW9ucyQgPSB0aGlzLnNlY3Rpb25zJC5waXBlKG1hcCgoZGF0YTogU2VjdGlvbltdKSA9PiB7XHJcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uc2VjdGlvbnNdXHJcblx0XHR9KSlcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGVsIG1lbsO6IGRlIGF0cmlidXRvcyBhZ3JlZGFuZG8gbnVldm9zLlxyXG5cdCAqIEBwYXJhbSBhdHRyaWJ1dGVzIFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCB1cGRhdGVBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdKSB7XHJcblx0XHR0aGlzLmF0dHJpYnV0ZXMkID0gdGhpcy5hdHRyaWJ1dGVzJC5waXBlKG1hcCgoZGF0YTogQXR0cmlidXRlW10pID0+IHtcclxuXHRcdFx0cmV0dXJuIFsuLi5kYXRhLCAuLi5hdHRyaWJ1dGVzXVxyXG5cdFx0fSkpXHJcblx0fVxyXG5cclxuXHRwdWJsaWMgaXNBdXRoZW50aWNhdGVkKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGxvZ291dCgpIHtcclxuXHRcdHRoaXMuX2F1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG5cdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2xvZ291dC1zdWNjZXNzJyk7XHJcblx0XHQgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL2hvbWUnOyAvLyBSZWRpcmlnZSBhIGxhIHDDoWdpbmEgZGUgaW5pY2lvIGRlc3B1w6lzIGRlbCBsb2dvdXRcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEHDsWFkZSB2YXJpb3MgaGlqb3MgYSB1bmEgc2VjY2nDs24gcG9yIGNvZGUuXHJcblx0ICogQHBhcmFtIHNlY3Rpb25Db2RlIEPDs2RpZ28gZGUgbGEgc2VjY2nDs25cclxuXHQgKiBAcGFyYW0gY2hpbGRyZW4gQXJyYXkgZGUgaGlqb3MgYSBhZ3JlZ2FyXHJcblx0ICogQHBhcmFtIHN0YWNrUGxhY2UgJ3N0YXJ0JyB8ICdlbmQnIChwb3IgZGVmZWN0byAnZW5kJylcclxuXHQgKi9cclxuXHRwdWJsaWMgYWRkU2VjdGlvbkNoaWxkcmVuKHNlY3Rpb25Db2RlOiBzdHJpbmcsIGNoaWxkcmVuOiBhbnlbXSwgc3RhY2tQbGFjZTogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCcpIHtcclxuXHRcdHRoaXMuc2VjdGlvbnMkID0gdGhpcy5zZWN0aW9ucyQucGlwZShcclxuXHRcdFx0bWFwKChzZWN0aW9uczogU2VjdGlvbltdKSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHtcclxuXHRcdFx0XHRcdGlmIChzZWN0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb25Db2RlLnRvTG93ZXJDYXNlKCkpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCFzZWN0aW9uLmNoaWxkcmVuKSBzZWN0aW9uLmNoaWxkcmVuID0gW107XHJcblx0XHRcdFx0XHRcdGlmIChzdGFja1BsYWNlID09PSAnc3RhcnQnKSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5jaGlsZHJlbiwgLi4uc2VjdGlvbi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5zZWN0aW9uLmNoaWxkcmVuLCAuLi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBzZWN0aW9uO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcbn0iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hYnN0cmFjdGlvbnMtY29tcG9uZW50cy9tZW51LWVjLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFLL0Q7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxlQUFlO0lBQ25CLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDdkMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDN0MsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDL0MsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQ7O09BRUc7SUFDSyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFFN0M7O09BRUc7SUFDSSxXQUFXLEdBQTJCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDaEY7O09BRUc7SUFDSSxTQUFTLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDM0U7O09BRUc7SUFDSSxXQUFXLEdBQTRCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENB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LENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDO0lBQ0Q7Ozs7S0FJSTtJQUNKLGtCQUFrQixDQUFDLFFBQWtCO1FBQ3BDLE9BQVEsUUFBZ0IsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDO0lBQzdDLENBQUM7d0dBbkhXLGVBQWU7NEZBQWYsZUFBZSx5RUFGakIseUNBQXlDOzs0RkFFdkMsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRSx5Q0FBeUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBhZnRlclJlbmRlciwgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIE9wdGlvbnNTZXJ2aWNlLCBQYXJhbWV0ZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQXR0cmlidXRlLCBDYXRlZ29yeSwgUGFyYW1ldGVyLCBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xyXG4vKipcclxuICogUGFyYSBkaWZlcmVuY2lhciBsb3MgdGlwb3MgZGUgTWVudVxyXG4gKi9cclxudHlwZSBNZW51VHlwZSA9IFwiY2F0ZWdvcnlcIiB8IFwiYXR0cmlidXRlXCIgfCBcInNlY3Rpb25cIlxyXG4vKipcclxuICogQ29tcG9uZW50ZSBxdWUgc2lydmUgcGFyYSBhYnN0cmFlciBsYSBmdW5jaW9uYWxpZGFkIHF1ZSBjb21wYXJ0ZW4gXHJcbiAqIGVsIG1lbsO6IHkgZWwgZm9vdGVyLlxyXG4gKiBAY2xhc3MgTWVudUVjQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1mb290ZXItZWMnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW10sXHJcblx0dGVtcGxhdGU6ICc8cD5NZW51IGFuZCBGb290ZXIgSGVscGVyIENvbXBvbmVudDwvcD4nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51RWNDb21wb25lbnQge1xyXG5cdHByaXZhdGUgb3B0aW9uc1NlcnZpY2UgPSBpbmplY3QoT3B0aW9uc1NlcnZpY2UpXHJcblx0cHJpdmF0ZSBwYXJhbWV0ZXJzU2VydmljZSA9IGluamVjdChQYXJhbWV0ZXJzU2VydmljZSlcclxuXHRwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpXHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKVxyXG5cdC8qKlxyXG5cdCAqIENvbnN0YW50ZXMgZGVsIGNvcmUuXHJcblx0ICovXHJcblx0cHJpdmF0ZSBjb25zdHMgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpXHJcblxyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgY2F0ZWdvcmlhc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPiA9IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpXHJcblx0LyoqXHJcblx0ICogT2JzZXJ2YWJsZSBkZSBzZWNjaW9uZXNcclxuXHQgKi9cclxuXHRwdWJsaWMgc2VjdGlvbnMkOiBPYnNlcnZhYmxlPFNlY3Rpb25bXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldFNlY3Rpb25zKClcclxuXHQvKipcclxuXHQgKiBPYnNlcnZhYmxlIGRlIGF0cmlidXRvc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldEF0dHJpYnV0ZXMoKVxyXG5cdC8qKlxyXG5cdCAqIE9ic2VydmFibGUgZGUgcGFyYW1ldHJvc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBwYXJhbWV0ZXJzJDogT2JzZXJ2YWJsZTxQYXJhbWV0ZXJbXSB8IG51bGw+ID0gdGhpcy5wYXJhbWV0ZXJzU2VydmljZS5nZXRQYXJhbWV0ZXJzKClcclxuXHQvKipcclxuXHQgKiBVcmwgcGFyYSBsYXMgaW1hZ2VuZXMgZ3VhcmRhZGVzIGVuIGVsIGJhY2tlbmQuXHJcblx0ICovXHJcblx0cHVibGljIG1lZGlhVXJsID0gdGhpcy5jb25zdHMubWVkaWFVcmwoKVxyXG5cdC8qKlxyXG5cdCAqIEZ1bmNpb24gcGFyYSBzYWJlciBzaSBleGlzdGVuIHVuIHBhcmFtZXRyby4gXHJcblx0ICovXHJcblx0cHVibGljIGhhc1BhcmFtcyA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuaGFzUGFyYW1zXHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cdHByb3RlY3RlZCBhZGRDaGlsZHJlbiA9IChtZW51VHlwZTogTWVudVR5cGUsIGNvZGU6IHN0cmluZywgaXRlbTogYW55LCBzdGFja1BsYWNlID0gJ2VuZCcpOiB2b2lkID0+IHtcclxuXHJcblx0fVxyXG5cclxuXHQvKiBwcm90ZWN0ZWQgYWRkQ2hpbGRyZW4gPSAobWVudUl0ZW1zOiBhbnlbXSwgY29kZTogc3RyaW5nLCBpdGVtOiBhbnksIHN0YWNrUGxhY2UgPSAnZW5kJykgPT4ge1xyXG5cdCAgKHN0YWNrUGxhY2UgPT09ICdzdGFydCcpXHJcblx0XHQ/IG1lbnVJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5jb2RlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGNvZGUpKT8uY2hpbGRyZW4udW5zaGlmdChpdGVtKVxyXG5cdFx0OiBtZW51SXRlbXMuZmluZChpdGVtID0+IGl0ZW0uY29kZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhjb2RlKSk/LmNoaWxkcmVuLnB1c2goaXRlbSlcclxuICAgIFxyXG5cdH0gKi9cclxuXHQvKipcclxuXHQgKiBBY3R1YWxpemEgbGFzIGNhdGVnb3JpYXMgYWdyZWdhbmRvIG51ZXZhcy5cclxuXHQgKiBAcGFyYW0gY2F0ZWdvcmllcyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgdXBkYXRlQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDYXRlZ29yeVtdKSB7XHJcblx0XHR0aGlzLmNhdGVnb3JpZXMkID0gdGhpcy5jYXRlZ29yaWVzJC5waXBlKG1hcCgoZGF0YTogQ2F0ZWdvcnlbXSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gWy4uLmRhdGEsIC4uLmNhdGVnb3JpZXNdXHJcblx0XHR9KSlcclxuXHR9XHJcblx0LyoqXHJcblx0ICogQWN0dWFsaXphIGxhcyBzZWNjaW9uZXMgYWdyZWdhbmRvIG51ZXZhcy5cclxuXHQgKiBAcGFyYW0gc2VjdGlvbnMgXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIHVwZGF0ZVNlY3Rpb25zKHNlY3Rpb25zOiBTZWN0aW9uW10pIHtcclxuXHRcdHRoaXMuc2VjdGlvbnMkID0gdGhpcy5zZWN0aW9ucyQucGlwZShtYXAoKGRhdGE6IFNlY3Rpb25bXSkgPT4ge1xyXG5cdFx0XHRyZXR1cm4gWy4uLmRhdGEsIC4uLnNlY3Rpb25zXVxyXG5cdFx0fSkpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIEFjdHVhbGl6YSBlbCBtZW7DuiBkZSBhdHJpYnV0b3MgYWdyZWRhbmRvIG51ZXZvcy5cclxuXHQgKiBAcGFyYW0gYXR0cmlidXRlcyBcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgdXBkYXRlQXR0cmlidXRlcyhhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSkge1xyXG5cdFx0dGhpcy5hdHRyaWJ1dGVzJCA9IHRoaXMuYXR0cmlidXRlcyQucGlwZShtYXAoKGRhdGE6IEF0dHJpYnV0ZVtdKSA9PiB7XHJcblx0XHRcdHJldHVybiBbLi4uZGF0YSwgLi4uYXR0cmlidXRlc11cclxuXHRcdH0pKVxyXG5cdH1cclxuXHJcblx0cHVibGljIGlzQXV0aGVudGljYXRlZCgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBsb2dvdXQoKSB7XHJcblx0XHR0aGlzLl9hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuXHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dvdXQtc3VjY2VzcycpO1xyXG5cdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL2hvbWUnOyAvLyBSZWRpcmlnZSBhIGxhIHDDoWdpbmEgZGUgaW5pY2lvIGRlc3B1w6lzIGRlbCBsb2dvdXRcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEHDsWFkZSB2YXJpb3MgaGlqb3MgYSB1bmEgc2VjY2nDs24gcG9yIGNvZGUuXHJcblx0ICogQHBhcmFtIHNlY3Rpb25Db2RlIEPDs2RpZ28gZGUgbGEgc2VjY2nDs25cclxuXHQgKiBAcGFyYW0gY2hpbGRyZW4gQXJyYXkgZGUgaGlqb3MgYSBhZ3JlZ2FyXHJcblx0ICogQHBhcmFtIHN0YWNrUGxhY2UgJ3N0YXJ0JyB8ICdlbmQnIChwb3IgZGVmZWN0byAnZW5kJylcclxuXHQgKi9cclxuXHRwdWJsaWMgYWRkU2VjdGlvbkNoaWxkcmVuKHNlY3Rpb25Db2RlOiBzdHJpbmcsIGNoaWxkcmVuOiBhbnlbXSwgc3RhY2tQbGFjZTogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCcpIHtcclxuXHRcdHRoaXMuc2VjdGlvbnMkID0gdGhpcy5zZWN0aW9ucyQucGlwZShcclxuXHRcdFx0bWFwKChzZWN0aW9uczogU2VjdGlvbltdKSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IHtcclxuXHRcdFx0XHRcdGlmIChzZWN0aW9uLmNvZGU/LnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb25Db2RlLnRvTG93ZXJDYXNlKCkpIHtcclxuXHRcdFx0XHRcdFx0aWYgKCFzZWN0aW9uLmNoaWxkcmVuKSBzZWN0aW9uLmNoaWxkcmVuID0gW107XHJcblx0XHRcdFx0XHRcdGlmIChzdGFja1BsYWNlID09PSAnc3RhcnQnKSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5jaGlsZHJlbiwgLi4uc2VjdGlvbi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0c2VjdGlvbi5jaGlsZHJlbiA9IFsuLi5zZWN0aW9uLmNoaWxkcmVuLCAuLi5jaGlsZHJlbl07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVybiBzZWN0aW9uO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblx0LyoqXHJcbiAgICogVmVyaWZpY2Egc2kgdW5hIGNhdGVnb3LDrWEgdGllbmUgbGEgcHJvcGllZGFkIGlzVmlzaWJsZSB5IGVzdMOhIG1hcmNhZGEgY29tbyB2aXNpYmxlXHJcbiAgICogQHBhcmFtIGNhdGVnb3J5IC0gTGEgY2F0ZWdvcsOtYSBhIHZlcmlmaWNhclxyXG4gICAqIEByZXR1cm5zIHRydWUgc2kgbGEgY2F0ZWdvcsOtYSBlcyB2aXNpYmxlLCBmYWxzZSBlbiBjYXNvIGNvbnRyYXJpb1xyXG4gICAqL1xyXG5cdGhhc1Zpc2libGVQcm9wZXJ0eShjYXRlZ29yeTogQ2F0ZWdvcnkpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiAoY2F0ZWdvcnkgYXMgYW55KS5pc1Zpc2libGUgPT09IHRydWU7XHJcblx0fVxyXG59Il19
@@ -12,6 +12,7 @@ export class LoginFormEcComponent {
12
12
  _formBuilder = inject(FormBuilder);
13
13
  _toastService = inject(ToastService);
14
14
  _router = inject(Router);
15
+ showPassword = false;
15
16
  /**
16
17
  * Parametro para indicar si tras loguear
17
18
  * debe redireccionar o no.
@@ -100,6 +101,9 @@ export class LoginFormEcComponent {
100
101
  ? resolverFunction()
101
102
  : this._router.navigateByUrl(this.redirectTo);
102
103
  }
104
+ togglePassword() {
105
+ this.showPassword = !this.showPassword;
106
+ }
103
107
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
104
108
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LoginFormEcComponent, isStandalone: true, selector: "app-login-form-ec", inputs: { redirect: "redirect", redirectTo: "redirectTo", inCart: "inCart" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"d-flex flex-column position-relative\">\r\n <h1 class=\"right-line ff-ubuntu-light mb-4\"><span>Ingresar</span></h1>\r\n <p class=\"ff-ubuntu-light font-sm pr-4 mb-4\">\r\n Si ya est\u00E1s registrado. Ingresa en tu cuenta con tu email y la\r\n contrase\u00F1a adecuada.\r\n </p>\r\n <div class=\"w-md-50 w-100 text-center\">\r\n <form [formGroup]=\"loginForm()\" (submit)=\"login($event)\">\r\n <input class=\"form-control mb-4 radius-0\" type=\"email\" formControlName=\"username\"\r\n placeholder=\"Correo Electr\u00F3nico\">\r\n <input class=\"form-control mb-4 radius-0\" type=\"password\" formControlName=\"password\"\r\n placeholder=\"Contrase\u00F1a\">\r\n\r\n <div class=\"row d-flex flex-column\">\r\n <div class=\"col-12 mb-4\">\r\n <button type=\"submit\"\r\n class=\"bg-gray border-0 px-4 py-2 color-white ff-ubuntu-light\">INGRESAR</button>\r\n </div>\r\n <div class=\"col-12 d-flex justify-content-center align-items-center\">\r\n <a [routerLink]=\"'/auth/forgot-password'\" class=\"font-md ff-ubuntu-light\">\r\n \u00BFOlvid\u00F3 su contrase\u00F1a?\r\n </a>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n @if(loading){\r\n <app-loading-section-ec></app-loading-section-ec>\r\n }\r\n</div>", styles: [""], dependencies: [{ kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
105
109
  }
@@ -115,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
115
119
  }], inCart: [{
116
120
  type: Input
117
121
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLFlBQVksR0FBZSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsWUFBWSxHQUFlLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxhQUFhLEdBQWdCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxPQUFPLEdB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LEVBQUU7WUFDWixzQkFBc0I7WUFDdEIsSUFBSSxHQUFHLEVBQUUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ2hELENBQUM7aUJBQU0sQ0FBQztnQkFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUNELENBQUE7SUFDRixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsWUFBWTtRQUNMLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUM1RCxnQkFBZ0I7WUFDWixDQUFDLENBQUMsZ0JBQWdCLEVBQUU7WUFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNyRCxDQUFDO3dHQS9GUSxvQkFBb0I7NEZBQXBCLG9CQUFvQix3TENoQmpDLHcrQ0E2Qk0sMEREakJLLHlCQUF5QixrRUFBRSxtQkFBbUIsNjhCQUFFLFVBQVU7OzRGQUl4RCxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0MsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLHlCQUF5QixFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUM7OEJBYXRFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBT1MsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1lYyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFVzZXJSb2xlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBKc29uUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1sb2dpbi1mb3JtLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBSb3V0ZXJMaW5rLCBKc29uUGlwZV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2xvZ2luLWZvcm0tZWMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9sb2dpbi1mb3JtLWVjLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Gb3JtRWNDb21wb25lbnQge1xyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOkF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9mb3JtQnVpbGRlcjpGb3JtQnVpbGRlciA9IGluamVjdChGb3JtQnVpbGRlcik7XHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOlRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX3JvdXRlcjpSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHQvKipcclxuXHQgKiBQYXJhbWV0cm8gcGFyYSBpbmRpY2FyIHNpIHRyYXMgbG9ndWVhclxyXG5cdCAqIGRlYmUgcmVkaXJlY2Npb25hciBvIG5vLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHJlZGlyZWN0OmJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKlxyXG5cdCAqIFBhcmFtZXRybyBwYXJhIGluZGljYXIgYSBkb25kZSByZWRpcmVjY2lvbmFyLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHJlZGlyZWN0VG86c3RyaW5nID0gJy8nO1xyXG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKipcclxuXHQgKiBNdWVzdHJhIHNpIGVzdGEgY2FyZ2FuZG8gbyBuby5cclxuXHQgKi9cclxuXHRwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHB1YmxpYyBsb2dnZWRJbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHRASW5wdXQoKSBwdWJsaWMgaW5DYXJ0OiBib29sZWFuID0gZmFsc2U7XHJcblx0LyoqXHJcblx0ICogU2lnbmFsIHF1ZSBndWFyZGEgZWwgZm9ybXVsYXJpbyBkZSBsb2dpbi5cclxuXHQgKi9cclxuXHRwdWJsaWMgbG9naW5Gb3JtOiBhbnkgPSBzaWduYWw8Rm9ybUdyb3VwPihcclxuXHRcdHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcclxuXHRcdFx0dXNlcm5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcblx0XHRcdHBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcblx0XHR9KVxyXG5cdCk7XHJcblx0LyoqXHJcblx0ICogTG9ndWVhIGFsIHVzdWFyaW8gZW4gbGEgcGxhdGFmb3JtYS5cclxuXHQgKiBAcGFyYW0gJGV2ZW50IFxyXG5cdCAqIEBwYXJhbSB3aXRoUm9sZXMgXHJcblx0ICogQHJldHVybnMgXHJcblx0ICovXHJcblx0cHVibGljIGxvZ2luKCRldmVudDogRXZlbnQsIHdpdGhSb2xlczogVXNlclJvbGVUeXBlW10gPSBbXSkge1xyXG5cdFx0JGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0aWYgKCF0aGlzLmxvZ2luRm9ybSgpLnZhbGlkKSB7XHJcblx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdsb2dpbi1mb3JtLWluY29tcGxldGUnKVxyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fYXV0aFNlcnZpY2UubG9naW4odGhpcy5sb2dpbkZvcm0oKS52YWx1ZSwgd2l0aFJvbGVzKSkudGhlbihcclxuXHRcdFx0KHJlczogYW55KSA9PiB7XHJcblx0XHRcdFx0aWYgKHJlcyA9PSAnb2snKSB7XHJcblx0XHRcdFx0XHR0aGlzLnJlYWR5LmVtaXQodGhpcy5sb2dpbkZvcm0oKS52YWx1ZS51c2VybmFtZSk7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbG9naW4tc3VjY2VzcycpO1xyXG5cdFx0XHRcdFx0dGhpcy5sb2dnZWRJbiA9IHRydWU7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5pbkNhcnQpIHtcclxuXHRcdFx0XHRcdFx0Ly8gU2kgc2UgZXN0w6EgZW4gZWwgY2Fycml0bywgc2UgY2llcnJhIGVsIG1vZGFsIGRlIGxvZ2luXHJcblx0XHRcdFx0XHRcdGNvbnN0IG1vZGFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsSW52aXRhZG8nKTtcclxuXHRcdFx0XHRcdFx0aWYgKG1vZGFsKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgbW9kYWxJbnN0YW5jZSA9ICh3aW5kb3cgYXMgYW55KS5ib290c3RyYXA/Lk1vZGFsPy5nZXRJbnN0YW5jZShtb2RhbCk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKG1vZGFsSW5zdGFuY2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1vZGFsSW5zdGFuY2UuaGlkZSgpO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBjbG9zZUJ1dHRvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiXScpIGFzIEhUTUxFbGVtZW50O1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGNsb3NlQnV0dG9uKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNsb3NlQnV0dG9uLmNsaWNrKCk7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvY2hlY2tvdXQnKTtcclxuXHRcdFx0XHRcdH0gZWxzZXtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZWRpcmVjdCAmJiB0aGlzLnJlZGlyZWN0SG9tZSgpO1x0XHRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH0gZWxzZSBpZiAocmVzID09ICdlcnJvcicpIHtcclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5lcnJvcignbG9naW4tZXJyb3InKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0KGVycjogYW55KSA9PiB7XHJcblx0XHRcdFx0Ly8gTWFuZWpvIGRlIGVycm9yIDQwMVxyXG5cdFx0XHRcdGlmIChlcnI/LnN0YXR1cyA9PT0gNDAxKSB7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnaW52YWxpZC1jcmVkZW50aWFscycpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2UuZXJyb3IoJ2xvZ2luLWVycm9yJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFNpIGVsIHNlcnZpY2lvIGRlIGF1dGggdGllbmUgY29uZmlndXJhZG8gYSBkb25kZSB2b2x2ZXIsIHNlIGVqZWN1dGFyIGVzZSBjYXNvLlxyXG5cdCAqIERlIGxvIGNvbnRyYXJpbyByZWRpcmlnZSBhbCBjb250ZW5pZG8gZGUgbGEgdmFyaWFibGUgYHJlZGlyZWN0VG9gLlxyXG5cdCAqL1xyXG5cdHJlZGlyZWN0SG9tZSgpe1xyXG4gICAgICAgIGNvbnN0IHJlc29sdmVyRnVuY3Rpb24gPSB0aGlzLl9hdXRoU2VydmljZS5nZXRIb21lUmVzb2x2ZXIoKVxyXG4gICAgICAgIHJlc29sdmVyRnVuY3Rpb25cclxuICAgICAgICAgICAgPyByZXNvbHZlckZ1bmN0aW9uKClcclxuICAgICAgICAgICAgOiB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnJlZGlyZWN0VG8pXHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgIDxoMSBjbGFzcz1cInJpZ2h0LWxpbmUgZmYtdWJ1bnR1LWxpZ2h0IG1iLTRcIj48c3Bhbj5JbmdyZXNhcjwvc3Bhbj48L2gxPlxyXG4gICAgPHAgY2xhc3M9XCJmZi11YnVudHUtbGlnaHQgZm9udC1zbSBwci00IG1iLTRcIj5cclxuICAgICAgICBTaSB5YSBlc3TDoXMgcmVnaXN0cmFkby4gSW5ncmVzYSBlbiB0dSBjdWVudGEgY29uIHR1IGVtYWlsIHkgbGFcclxuICAgICAgICBjb250cmFzZcOxYSBhZGVjdWFkYS5cclxuICAgIDwvcD5cclxuICAgIDxkaXYgY2xhc3M9XCJ3LW1kLTUwIHctMTAwIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJsb2dpbkZvcm0oKVwiIChzdWJtaXQpPVwibG9naW4oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItNCByYWRpdXMtMFwiIHR5cGU9XCJlbWFpbFwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29ycmVvIEVsZWN0csOzbmljb1wiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgbWItNCByYWRpdXMtMFwiIHR5cGU9XCJwYXNzd29yZFwiIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29udHJhc2XDsWFcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJnLWdyYXkgYm9yZGVyLTAgcHgtNCBweS0yIGNvbG9yLXdoaXRlIGZmLXVidW50dS1saWdodFwiPklOR1JFU0FSPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiJy9hdXRoL2ZvcmdvdC1wYXNzd29yZCdcIiBjbGFzcz1cImZvbnQtbWQgZmYtdWJ1bnR1LWxpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIMK/T2x2aWTDsyBzdSBjb250cmFzZcOxYT9cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYobG9hZGluZyl7XHJcbiAgICA8YXBwLWxvYWRpbmctc2VjdGlvbi1lYz48L2FwcC1sb2FkaW5nLXNlY3Rpb24tZWM+XHJcbiAgICB9XHJcbjwvZGl2PiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMzQyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3hCLFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELFlBQVksR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hELGFBQWEsR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25ELE9BQU8s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LCBpbmplY3QsIElucHV0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy1lYyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFVzZXJSb2xlVHlwZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBKc29uUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1sb2dpbi1mb3JtLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBSb3V0ZXJMaW5rLCBKc29uUGlwZV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2xvZ2luLWZvcm0tZWMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9sb2dpbi1mb3JtLWVjLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Gb3JtRWNDb21wb25lbnQge1xyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcclxuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX3JvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblx0c2hvd1Bhc3N3b3JkID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBhcmFtZXRybyBwYXJhIGluZGljYXIgc2kgdHJhcyBsb2d1ZWFyXHJcblx0ICogZGViZSByZWRpcmVjY2lvbmFyIG8gbm8uXHJcblx0ICovXHJcblx0QElucHV0KCkgcmVkaXJlY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdC8qKlxyXG5cdCAqIFBhcmFtZXRybyBwYXJhIGluZGljYXIgYSBkb25kZSByZWRpcmVjY2lvbmFyLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHJlZGlyZWN0VG86IHN0cmluZyA9ICcvJztcclxuXHRAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqXHJcblx0ICogTXVlc3RyYSBzaSBlc3RhIGNhcmdhbmRvIG8gbm8uXHJcblx0ICovXHJcblx0cHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwdWJsaWMgbG9nZ2VkSW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0QElucHV0KCkgcHVibGljIGluQ2FydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdC8qKlxyXG5cdCAqIFNpZ25hbCBxdWUgZ3VhcmRhIGVsIGZvcm11bGFyaW8gZGUgbG9naW4uXHJcblx0ICovXHJcblx0cHVibGljIGxvZ2luRm9ybTogYW55ID0gc2lnbmFsPEZvcm1Hcm91cD4oXHJcblx0XHR0aGlzLl9mb3JtQnVpbGRlci5ncm91cCh7XHJcblx0XHRcdHVzZXJuYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG5cdFx0XHRwYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG5cdFx0fSlcclxuXHQpO1xyXG5cdC8qKlxyXG5cdCAqIExvZ3VlYSBhbCB1c3VhcmlvIGVuIGxhIHBsYXRhZm9ybWEuXHJcblx0ICogQHBhcmFtICRldmVudCBcclxuXHQgKiBAcGFyYW0gd2l0aFJvbGVzIFxyXG5cdCAqIEByZXR1cm5zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBsb2dpbigkZXZlbnQ6IEV2ZW50LCB3aXRoUm9sZXM6IFVzZXJSb2xlVHlwZVtdID0gW10pIHtcclxuXHRcdCRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHRcdGlmICghdGhpcy5sb2dpbkZvcm0oKS52YWxpZCkge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbG9naW4tZm9ybS1pbmNvbXBsZXRlJylcclxuXHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGZpcnN0VmFsdWVGcm9tKHRoaXMuX2F1dGhTZXJ2aWNlLmxvZ2luKHRoaXMubG9naW5Gb3JtKCkudmFsdWUsIHdpdGhSb2xlcykpLnRoZW4oXHJcblx0XHRcdChyZXM6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXMgPT0gJ29rJykge1xyXG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KHRoaXMubG9naW5Gb3JtKCkudmFsdWUudXNlcm5hbWUpO1xyXG5cdFx0XHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2xvZ2luLXN1Y2Nlc3MnKTtcclxuXHRcdFx0XHRcdHRoaXMubG9nZ2VkSW4gPSB0cnVlO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuaW5DYXJ0KSB7XHJcblx0XHRcdFx0XHRcdC8vIFNpIHNlIGVzdMOhIGVuIGVsIGNhcnJpdG8sIHNlIGNpZXJyYSBlbCBtb2RhbCBkZSBsb2dpblxyXG5cdFx0XHRcdFx0XHRjb25zdCBtb2RhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbEludml0YWRvJyk7XHJcblx0XHRcdFx0XHRcdGlmIChtb2RhbCkge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IG1vZGFsSW5zdGFuY2UgPSAod2luZG93IGFzIGFueSkuYm9vdHN0cmFwPy5Nb2RhbD8uZ2V0SW5zdGFuY2UobW9kYWwpO1xyXG5cdFx0XHRcdFx0XHRcdGlmIChtb2RhbEluc3RhbmNlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRtb2RhbEluc3RhbmNlLmhpZGUoKTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgY2xvc2VCdXR0b24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdbZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIl0nKSBhcyBIVE1MRWxlbWVudDtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChjbG9zZUJ1dHRvbikge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbG9zZUJ1dHRvbi5jbGljaygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2NoZWNrb3V0Jyk7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnJlZGlyZWN0ICYmIHRoaXMucmVkaXJlY3RIb21lKCk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdH0gZWxzZSBpZiAocmVzID09ICdlcnJvcicpIHtcclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5lcnJvcignbG9naW4tZXJyb3InKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0KGVycjogYW55KSA9PiB7XHJcblx0XHRcdFx0Ly8gTWFuZWpvIGRlIGVycm9yIDQwMVxyXG5cdFx0XHRcdGlmIChlcnI/LnN0YXR1cyA9PT0gNDAxKSB7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnaW52YWxpZC1jcmVkZW50aWFscycpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2UuZXJyb3IoJ2xvZ2luLWVycm9yJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFNpIGVsIHNlcnZpY2lvIGRlIGF1dGggdGllbmUgY29uZmlndXJhZG8gYSBkb25kZSB2b2x2ZXIsIHNlIGVqZWN1dGFyIGVzZSBjYXNvLlxyXG5cdCAqIERlIGxvIGNvbnRyYXJpbyByZWRpcmlnZSBhbCBjb250ZW5pZG8gZGUgbGEgdmFyaWFibGUgYHJlZGlyZWN0VG9gLlxyXG5cdCAqL1xyXG5cdHJlZGlyZWN0SG9tZSgpIHtcclxuXHRcdGNvbnN0IHJlc29sdmVyRnVuY3Rpb24gPSB0aGlzLl9hdXRoU2VydmljZS5nZXRIb21lUmVzb2x2ZXIoKVxyXG5cdFx0cmVzb2x2ZXJGdW5jdGlvblxyXG5cdFx0XHQ/IHJlc29sdmVyRnVuY3Rpb24oKVxyXG5cdFx0XHQ6IHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMucmVkaXJlY3RUbylcclxuXHR9XHJcblx0dG9nZ2xlUGFzc3dvcmQoKSB7XHJcblx0XHR0aGlzLnNob3dQYXNzd29yZCA9ICF0aGlzLnNob3dQYXNzd29yZDtcclxuXHR9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICA8aDEgY2xhc3M9XCJyaWdodC1saW5lIGZmLXVidW50dS1saWdodCBtYi00XCI+PHNwYW4+SW5ncmVzYXI8L3NwYW4+PC9oMT5cclxuICAgIDxwIGNsYXNzPVwiZmYtdWJ1bnR1LWxpZ2h0IGZvbnQtc20gcHItNCBtYi00XCI+XHJcbiAgICAgICAgU2kgeWEgZXN0w6FzIHJlZ2lzdHJhZG8uIEluZ3Jlc2EgZW4gdHUgY3VlbnRhIGNvbiB0dSBlbWFpbCB5IGxhXHJcbiAgICAgICAgY29udHJhc2XDsWEgYWRlY3VhZGEuXHJcbiAgICA8L3A+XHJcbiAgICA8ZGl2IGNsYXNzPVwidy1tZC01MCB3LTEwMCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5Gb3JtKClcIiAoc3VibWl0KT1cImxvZ2luKCRldmVudClcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIG1iLTQgcmFkaXVzLTBcIiB0eXBlPVwiZW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvcnJlbyBFbGVjdHLDs25pY29cIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIG1iLTQgcmFkaXVzLTBcIiB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNvbnRyYXNlw7FhXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiZy1ncmF5IGJvcmRlci0wIHB4LTQgcHktMiBjb2xvci13aGl0ZSBmZi11YnVudHUtbGlnaHRcIj5JTkdSRVNBUjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIicvYXV0aC9mb3Jnb3QtcGFzc3dvcmQnXCIgY2xhc3M9XCJmb250LW1kIGZmLXVidW50dS1saWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDCv09sdmlkw7Mgc3UgY29udHJhc2XDsWE/XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmKGxvYWRpbmcpe1xyXG4gICAgPGFwcC1sb2FkaW5nLXNlY3Rpb24tZWM+PC9hcHAtbG9hZGluZy1zZWN0aW9uLWVjPlxyXG4gICAgfVxyXG48L2Rpdj4iXX0=
@@ -13,6 +13,7 @@ export class RegisterFormEcComponent {
13
13
  _analyticsService = inject(AnalyticsService);
14
14
  _formBuilder = inject(FormBuilder);
15
15
  channelConfigService = inject(ChannelService);
16
+ showPassword = false;
16
17
  /**
17
18
  * Indica si debe redireccionar o se queda en la misma pantalla
18
19
  */
@@ -128,6 +129,9 @@ export class RegisterFormEcComponent {
128
129
  this.register_loading = false;
129
130
  }
130
131
  }
132
+ togglePassword() {
133
+ this.showPassword = !this.showPassword;
134
+ }
131
135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterFormEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
132
136
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: RegisterFormEcComponent, isStandalone: true, selector: "app-register-form-ec", inputs: { redirect: "redirect" }, outputs: { ready: "ready" }, ngImport: i0, template: "<div class=\"w-100 pl-md-5 position-relative\" id=\"register\">\r\n <div class=\"py-2\">\r\n <h5>CREAR CUENTA</h5>\r\n </div>\r\n <form id=\"registro\" [formGroup]=\"registerForm\" (submit)=\"register($event)\">\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">NOMBRE</label>\r\n <input formControlName=\"firstName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Nombre\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">APELLIDO</label>\r\n <input formControlName=\"lastName\" class=\"form-control rounded-0\" type=\"text\" placeholder=\"Apellido\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"\">CORREO ELECTRONICO</label>\r\n <input formControlName=\"email\" email required class=\"form-control rounded-0\" type=\"email\"\r\n placeholder=\"Correo electr\u00F3nico\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">CONTRASE\u00D1A</label>\r\n <input formControlName=\"plainPassword\" required class=\"form-control rounded-0\" type=\"password\"\r\n placeholder=\"Contrase\u00F1a\">\r\n </div>\r\n <div class=\"form-group\">\r\n <label for=\"\" class=\"form-label\">REPETIR CONTRASE\u00D1A</label>\r\n <input formControlName=\"plainPassword2\" required class=\"form-control rounded-0\" type=\"password\"\r\n placeholder=\"Repetir contrase\u00F1a\">\r\n </div>\r\n\r\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mt-4 mb-2\">\r\n <input type=\"checkbox\" formControlName=\"terms\" required class=\"custom-control-input form-check-input\" name=\"Color2\"\r\n id=\"Color2\">\r\n <label class=\"custom-control-label ff-ubuntu-light font-sm form-check-label\" for=\"Color2\"> He\r\n le\u00EDdo y acepto las pol\u00EDticas de privacidad y los t\u00E9rminos y\r\n condiciones</label>\r\n </div>\r\n\r\n <div class=\"custom-control d-flex flex-row form-check custom-checkbox mr-sm-2 mb-4\">\r\n <input type=\"checkbox\" formControlName=\"newsletter\" class=\"custom-control-input form-check-input\" name=\"Color3\" id=\"Color3\">\r\n <label class=\"custom-control-label form-check-label ff-ubuntu-light font-sm\" for=\"Color3\">\r\n Suscripci\u00F3n al Newsletter</label>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <button [disabled]=\"registerForm.invalid\" type=\"submit\"\r\n class=\"btn btn-primary px-5 py-2 h-fit\">CREAR</button>\r\n </div>\r\n </div>\r\n </form>\r\n @if(loading){\r\n <app-loading-section-ec />\r\n }\r\n \r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i1.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LoadingSectionEcComponent, selector: "app-loading-section-ec" }] });
133
137
  }
@@ -139,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
139
143
  }], ready: [{
140
144
  type: Output
141
145
  }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBU3RELE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsT0FBTyxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDL0QsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsb0JBQW9CLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RTs7TUFFRTtJQUNPLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFDbEM7O09BRUc7SUFDTyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNyQzs7T0FFRztJQUNJLFlBQVksR0FBYyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN4RCxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUN4QyxjQUFjLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDWixVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDaEIsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUM7S0FDcEMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELGdCQUFnQixDQUFzQjtJQUMvQiw2QkFBNkIsR0FBRyxLQUFLLENBQUM7SUFDdEMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBRWxDLHNCQUFzQixDQUFDLEtBQWdCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEtBQUs7WUFDOUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNEOztPQUVHO0lBQ0ksT0FBTyxHQUFZLEtBQUssQ0FBQztJQUNoQzs7T0FFRztJQUNJLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFFaEM7UUFDTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FDeEMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNQLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyw2QkFBNkIsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQztZQUM5RSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztZQUMvQyxDQUFDO1lBQ0QsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGtCQUFrQixLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDO1lBQ3hELENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDLENBQ0osQ0FBQztJQUNULENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLEtBQVk7UUFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFBO1lBQ3BCLE9BQU87UUFDUixDQUFDO1FBQUEsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3JGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7WUFDcEIsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ2pFLEdBQUcsQ0FBQyxFQUFFO2dCQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQzlCLElBQUksVUFBa0IsQ0FBQztnQkFDdkIsUUFBUSxJQUFJLEVBQUUsQ0FBQztvQkFDZCxLQUFLLElBQUksQ0FBQyw2QkFBNkI7d0JBQ3RDLFVBQVUsR0FBRyxhQUFhLENBQUM7d0JBQzNCLE1BQU07b0JBQ1AsS0FBSyxJQUFJLENBQUMsa0JBQWtCO3dCQUMzQixVQUFVLEdBQUcsa0JBQWtCLENBQUM7d0JBQ2hDLE1BQU07b0JBQ1A7d0JBQ0MsVUFBVSxHQUFHLGtCQUFrQixDQUFDO2dCQUNsQyxDQUFDO2dCQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtvQkFDM0MsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVM7b0JBQzVDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRO29CQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSztpQkFDcEMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFdEIsSUFBSSxVQUFVLEtBQUssYUFBYSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7WUFDRixDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO2dCQUMzRSxDQUFDO3FCQUFNLENBQUM7b0JBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsc0RBQXNELENBQUMsQ0FBQztnQkFDakYsQ0FBQztZQUNGLENBQUMsQ0FDRCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUM7SUFDRixDQUFDO3dHQTVIVyx1QkFBdUI7NEZBQXZCLHVCQUF1QiwrSUNmcEMsODBGQXVEQSx5REQ1Q1csbUJBQW1CLHNyREFBRSx5QkFBeUI7OzRGQUk1Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Msc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixDQUFDO3dEQWNoRCxRQUFRO3NCQUFoQixLQUFLO2dCQUlJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UsIEF1dGhTZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExvYWRpbmdTZWN0aW9uRWNDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vd2lkZ2V0cy1lYy9sb2FkaW5nXCI7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWMtc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtcmVnaXN0ZXItZm9ybS1lYycsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgTG9hZGluZ1NlY3Rpb25FY0NvbXBvbmVudF0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJGb3JtRWNDb21wb25lbnQge1xyXG5cdHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cdHByaXZhdGUgX2FuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSk7XHJcblx0cHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcclxuXHRwcml2YXRlIGNoYW5uZWxDb25maWdTZXJ2aWNlOiBDaGFubmVsU2VydmljZSA9IGluamVjdChDaGFubmVsU2VydmljZSk7XHJcblx0LyoqXHJcblx0KiBJbmRpY2Egc2kgZGViZSByZWRpcmVjY2lvbmFyIG8gc2UgcXVlZGEgZW4gbGEgbWlzbWEgcGFudGFsbGFcclxuXHQqL1xyXG5cdEBJbnB1dCgpIHJlZGlyZWN0OiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKipcclxuXHQgKiBQYXJhIHF1ZSBzZSBwdWVkZSBjYXB0dXJhciBlbCBlc3RhZG8gZGUgbGEgcGV0aWNpw7NuIGRlIHJlZ2lzdHJvLlxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKipcclxuXHQgKiBDb250aWVuZSBlbCBmb3JtdWxhcmlvIGRlIHJlZ2lzdHJvLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWdpc3RlckZvcm06IEZvcm1Hcm91cCA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcclxuXHRcdGZpcnN0TmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuXHRcdGxhc3ROYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG5cdFx0ZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcclxuXHRcdHBsYWluUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcblx0XHRwbGFpblBhc3N3b3JkMjogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuXHRcdHBob25lOiBbJycsXSxcclxuXHRcdG5ld3NsZXR0ZXI6IFsnJ10sXHJcblx0XHR0ZXJtczogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV0sXHJcblx0fSwgeyB2YWxpZGF0b3JzOiB0aGlzLnBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IgfSk7XHJcblx0cmVnaXN0ZXJfbG9hZGluZzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuXHRwdWJsaWMgaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBmYWxzZTtcclxuXHRwdWJsaWMgaXNTZW5kV2VsY29tZUVtYWlsID0gZmFsc2U7XHJcblxyXG5cdHBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IoZ3JvdXA6IEZvcm1Hcm91cCkge1xyXG5cdFx0cmV0dXJuIGdyb3VwLmdldCgncGxhaW5QYXNzd29yZCcpPy52YWx1ZSA9PT0gZ3JvdXAuZ2V0KCdwbGFpblBhc3N3b3JkMicpPy52YWx1ZVxyXG5cdFx0XHQ/IG51bGwgOiB7IG1pc21hdGNoOiB0cnVlIH07XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFBhcmEgaW5kaWNhciBxdWUgc2UgZXN0YSBwcm9jZXNhbmRvIGxhIHNvbGljaXR1ZCBkZSByZWdpc3Ryby5cclxuXHQgKi9cclxuXHRwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdC8qKlxyXG5cdCAqIFBhcmEgaW5kaWNhciBlbCBleGl0byBkZSBsYSBzb2xpY2l0dWQgZGUgcmVnaXN0cm8uXHJcblx0ICovXHJcblx0cHVibGljIHN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5jaGFubmVsQ29uZmlnU2VydmljZS5jaGFubmVsJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChjb25maWcpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkID0gY29uZmlnLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnICYmIGNvbmZpZy5pc1NlbmRXZWxjb21lRW1haWwgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsID0gY29uZmlnLmlzU2VuZFdlbGNvbWVFbWFpbDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbmRXZWxjb21lRW1haWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBSZWdpc3RyYSB1biB1c3VhcmlvLlxyXG5cdCAqIEBwYXJhbSBldmVudCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRyZWdpc3RlcihldmVudDogRXZlbnQpIHtcclxuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ3JlZ2lzdGVyRm9ybScsIHRoaXMucmVnaXN0ZXJGb3JtKTtcclxuXHRcdGlmICghdGhpcy5yZWdpc3RlckZvcm0udmFsaWQpIHtcclxuXHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2ZpZWxkcy1pbmNvbXBsZXRlJyk7XHJcblx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlXHJcblx0XHRcdHJldHVybjtcclxuXHRcdH07XHJcblx0XHRpZiAodGhpcy5yZWdpc3RlckZvcm0udmFsdWUucGxhaW5QYXNzd29yZCAhPSB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkMikge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbWlzbWF0Y2hlZC1wYXNzd29yZCcpO1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5yZWdpc3RlckZvcm0udmFsaWQpIHtcclxuXHRcdFx0dGhpcy5fYXV0aFNlcnZpY2Uuc2luZ1VwKHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlKS50b1Byb21pc2UoKS50aGVuKFxyXG5cdFx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdGxldCBtZXNzYWdlS2V5OiBzdHJpbmc7XHJcblx0XHRcdFx0XHRzd2l0Y2ggKHRydWUpIHtcclxuXHRcdFx0XHRcdFx0Y2FzZSB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkOlxyXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItb2snO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRjYXNlIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsOlxyXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItd2VsY29tZSc7XHJcblx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0XHRcdFx0bWVzc2FnZUtleSA9ICdyZWdpc3Rlci1zdWNjZXNzJztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KG1lc3NhZ2VLZXkpO1xyXG5cdFx0XHRcdFx0dGhpcy5fYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3NpZ25fdXAnLCB7XHJcblx0XHRcdFx0XHRcdGZpcnN0TmFtZTogdGhpcy5yZWdpc3RlckZvcm0udmFsdWUuZmlyc3ROYW1lLFxyXG5cdFx0XHRcdFx0XHRsYXN0TmFtZTogdGhpcy5yZWdpc3RlckZvcm0udmFsdWUubGFzdE5hbWUsXHJcblx0XHRcdFx0XHRcdGVtYWlsOiB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5lbWFpbFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KHRydWUpO1xyXG5cclxuXHRcdFx0XHRcdGlmIChtZXNzYWdlS2V5ICE9PSAncmVnaXN0ZXItb2snICYmIHRoaXMucmVkaXJlY3QpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZWdpc3RlckZvcm0ucmVzZXQoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmICh0aGlzLnJlZGlyZWN0KSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdob21lJyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnJvciA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdFbCBlbWFpbCBpbmdyZXNhZG8geWEgc2UgZW5jdWVudHJhIHJlZ2lzdHJhZG8uJyk7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnRXJyb3IgZW4gZWwgcmVnaXN0cm8uIFZ1ZWx2YSBhIGludGVudGFybG8gbcOhcyB0YXJkZS4nKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnaW52YWxpZC1mb3JtJyk7XHJcblx0XHRcdHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInctMTAwIHBsLW1kLTUgcG9zaXRpb24tcmVsYXRpdmVcIiBpZD1cInJlZ2lzdGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInB5LTJcIj5cclxuICAgICAgPGg1PkNSRUFSIENVRU5UQTwvaDU+XHJcbiAgPC9kaXY+XHJcbiAgPGZvcm0gaWQ9XCJyZWdpc3Ryb1wiIFtmb3JtR3JvdXBdPVwicmVnaXN0ZXJGb3JtXCIgKHN1Ym1pdCk9XCJyZWdpc3RlcigkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Tk9NQlJFPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbCByb3VuZGVkLTBcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiTm9tYnJlXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkFQRUxMSURPPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJBcGVsbGlkb1wiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cIlwiPkNPUlJFTyBFTEVDVFJPTklDTzwvbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiBlbWFpbCByZXF1aXJlZCBjbGFzcz1cImZvcm0tY29udHJvbCByb3VuZGVkLTBcIiB0eXBlPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29ycmVvIGVsZWN0csOzbmljb1wiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5DT05UUkFTRcORQTwvbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGxhaW5QYXNzd29yZFwiIHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb250cmFzZcOxYVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5SRVBFVElSIENPTlRSQVNFw5FBPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwbGFpblBhc3N3b3JkMlwiIHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJSZXBldGlyIGNvbnRyYXNlw7FhXCI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1jb250cm9sIGQtZmxleCBmbGV4LXJvdyBmb3JtLWNoZWNrIGN1c3RvbS1jaGVja2JveCBtci1zbS0yIG10LTQgbWItMlwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInRlcm1zXCIgcmVxdWlyZWQgY2xhc3M9XCJjdXN0b20tY29udHJvbC1pbnB1dCBmb3JtLWNoZWNrLWlucHV0XCIgbmFtZT1cIkNvbG9yMlwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJDb2xvcjJcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1jb250cm9sLWxhYmVsIGZmLXVidW50dS1saWdodCBmb250LXNtIGZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJDb2xvcjJcIj4gSGVcclxuICAgICAgICAgICAgICBsZcOtZG8geSBhY2VwdG8gbGFzIHBvbMOtdGljYXMgZGUgcHJpdmFjaWRhZCB5IGxvcyB0w6lybWlub3MgeVxyXG4gICAgICAgICAgICAgIGNvbmRpY2lvbmVzPC9sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWNvbnRyb2wgZC1mbGV4IGZsZXgtcm93IGZvcm0tY2hlY2sgY3VzdG9tLWNoZWNrYm94IG1yLXNtLTIgbWItNFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cIm5ld3NsZXR0ZXJcIiBjbGFzcz1cImN1c3RvbS1jb250cm9sLWlucHV0IGZvcm0tY2hlY2staW5wdXRcIiBuYW1lPVwiQ29sb3IzXCIgaWQ9XCJDb2xvcjNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1jb250cm9sLWxhYmVsIGZvcm0tY2hlY2stbGFiZWwgZmYtdWJ1bnR1LWxpZ2h0IGZvbnQtc21cIiBmb3I9XCJDb2xvcjNcIj5cclxuICAgICAgICAgICAgICBTdXNjcmlwY2nDs24gYWwgTmV3c2xldHRlcjwvbGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInJlZ2lzdGVyRm9ybS5pbnZhbGlkXCIgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTUgcHktMiBoLWZpdFwiPkNSRUFSPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG4gIEBpZihsb2FkaW5nKXtcclxuICAgIDxhcHAtbG9hZGluZy1zZWN0aW9uLWVjIC8+XHJcbiAgfVxyXG4gIFxyXG48L2Rpdj5cclxuIl19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9hdXRoLWVjL3JlZ2lzdGVyLWZvcm0tZWMvcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBU3RELE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsWUFBWSxHQUFnQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsYUFBYSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkQsT0FBTyxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBcUIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7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QUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSx5QkFBeUIsQ0FBQzt3REFnQmhELFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSwgQXV0aFNlcnZpY2UsIFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTG9hZGluZ1NlY3Rpb25FY0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi93aWRnZXRzLWVjL2xvYWRpbmdcIjtcclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1yZWdpc3Rlci1mb3JtLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBMb2FkaW5nU2VjdGlvbkVjQ29tcG9uZW50XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcmVnaXN0ZXItZm9ybS1lYy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCB7XHJcblx0cHJpdmF0ZSBfYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG5cdHByaXZhdGUgX3JvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblx0cHJpdmF0ZSBfYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZSA9IGluamVjdChBbmFseXRpY3NTZXJ2aWNlKTtcclxuXHRwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xyXG5cdHByaXZhdGUgY2hhbm5lbENvbmZpZ1NlcnZpY2U6IENoYW5uZWxTZXJ2aWNlID0gaW5qZWN0KENoYW5uZWxTZXJ2aWNlKTtcclxuXHRzaG93UGFzc3dvcmQgPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0KiBJbmRpY2Egc2kgZGViZSByZWRpcmVjY2lvbmFyIG8gc2UgcXVlZGEgZW4gbGEgbWlzbWEgcGFudGFsbGFcclxuXHQqL1xyXG5cdEBJbnB1dCgpIHJlZGlyZWN0OiBib29sZWFuID0gdHJ1ZTtcclxuXHQvKipcclxuXHQgKiBQYXJhIHF1ZSBzZSBwdWVkZSBjYXB0dXJhciBlbCBlc3RhZG8gZGUgbGEgcGV0aWNpw7NuIGRlIHJlZ2lzdHJvLlxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKipcclxuXHQgKiBDb250aWVuZSBlbCBmb3JtdWxhcmlvIGRlIHJlZ2lzdHJvLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyByZWdpc3RlckZvcm06IEZvcm1Hcm91cCA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcclxuXHRcdGZpcnN0TmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuXHRcdGxhc3ROYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG5cdFx0ZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcclxuXHRcdHBsYWluUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcblx0XHRwbGFpblBhc3N3b3JkMjogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuXHRcdHBob25lOiBbJycsXSxcclxuXHRcdG5ld3NsZXR0ZXI6IFsnJ10sXHJcblx0XHR0ZXJtczogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV0sXHJcblx0fSwgeyB2YWxpZGF0b3JzOiB0aGlzLnBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IgfSk7XHJcblx0cmVnaXN0ZXJfbG9hZGluZzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuXHRwdWJsaWMgaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBmYWxzZTtcclxuXHRwdWJsaWMgaXNTZW5kV2VsY29tZUVtYWlsID0gZmFsc2U7XHJcblxyXG5cdHBhc3N3b3JkTWF0Y2hWYWxpZGF0b3IoZ3JvdXA6IEZvcm1Hcm91cCkge1xyXG5cdFx0cmV0dXJuIGdyb3VwLmdldCgncGxhaW5QYXNzd29yZCcpPy52YWx1ZSA9PT0gZ3JvdXAuZ2V0KCdwbGFpblBhc3N3b3JkMicpPy52YWx1ZVxyXG5cdFx0XHQ/IG51bGwgOiB7IG1pc21hdGNoOiB0cnVlIH07XHJcblx0fVxyXG5cdC8qKlxyXG5cdCAqIFBhcmEgaW5kaWNhciBxdWUgc2UgZXN0YSBwcm9jZXNhbmRvIGxhIHNvbGljaXR1ZCBkZSByZWdpc3Ryby5cclxuXHQgKi9cclxuXHRwdWJsaWMgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdC8qKlxyXG5cdCAqIFBhcmEgaW5kaWNhciBlbCBleGl0byBkZSBsYSBzb2xpY2l0dWQgZGUgcmVnaXN0cm8uXHJcblx0ICovXHJcblx0cHVibGljIHN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLmNoYW5uZWxDb25maWdTZXJ2aWNlLmNoYW5uZWwkLnN1YnNjcmliZShcclxuXHRcdFx0KGNvbmZpZykgPT4ge1xyXG5cdFx0XHRcdGlmIChjb25maWcgJiYgY29uZmlnLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBjb25maWcuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQ7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNBY2NvdW50VmVyaWZpY2F0aW9uUmVxdWlyZWQgPSBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGNvbmZpZyAmJiBjb25maWcuaXNTZW5kV2VsY29tZUVtYWlsICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsID0gY29uZmlnLmlzU2VuZFdlbGNvbWVFbWFpbDtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5pc1NlbmRXZWxjb21lRW1haWwgPSBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvKipcclxuXHQgKiBSZWdpc3RyYSB1biB1c3VhcmlvLlxyXG5cdCAqIEBwYXJhbSBldmVudCBcclxuXHQgKiBAcmV0dXJucyBcclxuXHQgKi9cclxuXHRyZWdpc3RlcihldmVudDogRXZlbnQpIHtcclxuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ3JlZ2lzdGVyRm9ybScsIHRoaXMucmVnaXN0ZXJGb3JtKTtcclxuXHRcdGlmICghdGhpcy5yZWdpc3RlckZvcm0udmFsaWQpIHtcclxuXHRcdFx0dGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ2ZpZWxkcy1pbmNvbXBsZXRlJyk7XHJcblx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlXHJcblx0XHRcdHJldHVybjtcclxuXHRcdH07XHJcblx0XHRpZiAodGhpcy5yZWdpc3RlckZvcm0udmFsdWUucGxhaW5QYXNzd29yZCAhPSB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5wbGFpblBhc3N3b3JkMikge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnbWlzbWF0Y2hlZC1wYXNzd29yZCcpO1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5yZWdpc3RlckZvcm0udmFsaWQpIHtcclxuXHRcdFx0dGhpcy5fYXV0aFNlcnZpY2Uuc2luZ1VwKHRoaXMucmVnaXN0ZXJGb3JtLnZhbHVlKS50b1Byb21pc2UoKS50aGVuKFxyXG5cdFx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdGxldCBtZXNzYWdlS2V5OiBzdHJpbmc7XHJcblx0XHRcdFx0XHRzd2l0Y2ggKHRydWUpIHtcclxuXHRcdFx0XHRcdFx0Y2FzZSB0aGlzLmlzQWNjb3VudFZlcmlmaWNhdGlvblJlcXVpcmVkOlxyXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItb2snO1xyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRjYXNlIHRoaXMuaXNTZW5kV2VsY29tZUVtYWlsOlxyXG5cdFx0XHRcdFx0XHRcdG1lc3NhZ2VLZXkgPSAncmVnaXN0ZXItd2VsY29tZSc7XHJcblx0XHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0XHRcdFx0bWVzc2FnZUtleSA9ICdyZWdpc3Rlci1zdWNjZXNzJztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KG1lc3NhZ2VLZXkpO1xyXG5cdFx0XHRcdFx0dGhpcy5fYW5hbHl0aWNzU2VydmljZS5jYWxsRXZlbnQoJ3NpZ25fdXAnLCB7XHJcblx0XHRcdFx0XHRcdGZpcnN0TmFtZTogdGhpcy5yZWdpc3RlckZvcm0udmFsdWUuZmlyc3ROYW1lLFxyXG5cdFx0XHRcdFx0XHRsYXN0TmFtZTogdGhpcy5yZWdpc3RlckZvcm0udmFsdWUubGFzdE5hbWUsXHJcblx0XHRcdFx0XHRcdGVtYWlsOiB0aGlzLnJlZ2lzdGVyRm9ybS52YWx1ZS5lbWFpbFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KHRydWUpO1xyXG5cclxuXHRcdFx0XHRcdGlmIChtZXNzYWdlS2V5ICE9PSAncmVnaXN0ZXItb2snICYmIHRoaXMucmVkaXJlY3QpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5yZWdpc3RlckZvcm0ucmVzZXQoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmICh0aGlzLnJlZGlyZWN0KSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdob21lJyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnJvciA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLnJlZ2lzdGVyX2xvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdFbCBlbWFpbCBpbmdyZXNhZG8geWEgc2UgZW5jdWVudHJhIHJlZ2lzdHJhZG8uJyk7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnRXJyb3IgZW4gZWwgcmVnaXN0cm8uIFZ1ZWx2YSBhIGludGVudGFybG8gbcOhcyB0YXJkZS4nKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnaW52YWxpZC1mb3JtJyk7XHJcblx0XHRcdHRoaXMucmVnaXN0ZXJfbG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dG9nZ2xlUGFzc3dvcmQoKSB7XHJcblx0XHR0aGlzLnNob3dQYXNzd29yZCA9ICF0aGlzLnNob3dQYXNzd29yZDtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInctMTAwIHBsLW1kLTUgcG9zaXRpb24tcmVsYXRpdmVcIiBpZD1cInJlZ2lzdGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInB5LTJcIj5cclxuICAgICAgPGg1PkNSRUFSIENVRU5UQTwvaDU+XHJcbiAgPC9kaXY+XHJcbiAgPGZvcm0gaWQ9XCJyZWdpc3Ryb1wiIFtmb3JtR3JvdXBdPVwicmVnaXN0ZXJGb3JtXCIgKHN1Ym1pdCk9XCJyZWdpc3RlcigkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwiXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Tk9NQlJFPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbCByb3VuZGVkLTBcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiTm9tYnJlXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPkFQRUxMSURPPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJsYXN0TmFtZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJBcGVsbGlkb1wiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cIlwiPkNPUlJFTyBFTEVDVFJPTklDTzwvbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiBlbWFpbCByZXF1aXJlZCBjbGFzcz1cImZvcm0tY29udHJvbCByb3VuZGVkLTBcIiB0eXBlPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQ29ycmVvIGVsZWN0csOzbmljb1wiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5DT05UUkFTRcORQTwvbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGxhaW5QYXNzd29yZFwiIHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDb250cmFzZcOxYVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5SRVBFVElSIENPTlRSQVNFw5FBPC9sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwbGFpblBhc3N3b3JkMlwiIHJlcXVpcmVkIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtMFwiIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJSZXBldGlyIGNvbnRyYXNlw7FhXCI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1jb250cm9sIGQtZmxleCBmbGV4LXJvdyBmb3JtLWNoZWNrIGN1c3RvbS1jaGVja2JveCBtci1zbS0yIG10LTQgbWItMlwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInRlcm1zXCIgcmVxdWlyZWQgY2xhc3M9XCJjdXN0b20tY29udHJvbC1pbnB1dCBmb3JtLWNoZWNrLWlucHV0XCIgbmFtZT1cIkNvbG9yMlwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJDb2xvcjJcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1jb250cm9sLWxhYmVsIGZmLXVidW50dS1saWdodCBmb250LXNtIGZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJDb2xvcjJcIj4gSGVcclxuICAgICAgICAgICAgICBsZcOtZG8geSBhY2VwdG8gbGFzIHBvbMOtdGljYXMgZGUgcHJpdmFjaWRhZCB5IGxvcyB0w6lybWlub3MgeVxyXG4gICAgICAgICAgICAgIGNvbmRpY2lvbmVzPC9sYWJlbD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWNvbnRyb2wgZC1mbGV4IGZsZXgtcm93IGZvcm0tY2hlY2sgY3VzdG9tLWNoZWNrYm94IG1yLXNtLTIgbWItNFwiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cIm5ld3NsZXR0ZXJcIiBjbGFzcz1cImN1c3RvbS1jb250cm9sLWlucHV0IGZvcm0tY2hlY2staW5wdXRcIiBuYW1lPVwiQ29sb3IzXCIgaWQ9XCJDb2xvcjNcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImN1c3RvbS1jb250cm9sLWxhYmVsIGZvcm0tY2hlY2stbGFiZWwgZmYtdWJ1bnR1LWxpZ2h0IGZvbnQtc21cIiBmb3I9XCJDb2xvcjNcIj5cclxuICAgICAgICAgICAgICBTdXNjcmlwY2nDs24gYWwgTmV3c2xldHRlcjwvbGFiZWw+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cInJlZ2lzdGVyRm9ybS5pbnZhbGlkXCIgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHB4LTUgcHktMiBoLWZpdFwiPkNSRUFSPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9mb3JtPlxyXG4gIEBpZihsb2FkaW5nKXtcclxuICAgIDxhcHAtbG9hZGluZy1zZWN0aW9uLWVjIC8+XHJcbiAgfVxyXG4gIFxyXG48L2Rpdj5cclxuIl19
@@ -47,8 +47,14 @@ export class BlockNewsletterEcComponent {
47
47
  this._toastService.show(this.success_message || success_message);
48
48
  this.loading = false;
49
49
  }, (err) => {
50
- this._toastService.error('inquiry-error');
51
- this.loading = false;
50
+ if (err.status === 400) {
51
+ this._toastService.error('newsletter_email_already_registered');
52
+ this.loading = false;
53
+ }
54
+ else {
55
+ this._toastService.error('inquiry-error');
56
+ this.loading = false;
57
+ }
52
58
  });
53
59
  }
54
60
  else {
@@ -84,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
90
  }], subject: [{
85
91
  type: Input
86
92
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stbmV3c2xldHRlci1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9ibG9ja3MtZWMvYmxvY2stbmV3c2xldHRlci1lYy9ibG9jay1uZXdzbGV0dGVyLWVjLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9jay1uZXdzbGV0dGVyLWVjL2Jsb2NrLW5ld3NsZXR0ZXItZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVN0QyxNQUFNLE9BQU8sMEJBQTBCO0lBQ1osS0FBSyxDQUFLO0lBQzNCLGVBQWUsQ0FBb0I7SUFDbkMsT0FBTyxDQUFvQjtJQUU1QixtQkFBbUIsR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3RELGFBQWEsR0FBZ0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ2pELFlBQVksR0FBZSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDNUMsZUFBZSxDQUFZO0lBQzlCLE9BQU8sR0FBVyxLQUFLLENBQUM7SUFFNUI7UUFDSywwQ0FBMEM7UUFFM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUss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QUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1TZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1ibG9jay1uZXdzbGV0dGVyLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9ibG9jay1uZXdzbGV0dGVyLWVjLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vYmxvY2stbmV3c2xldHRlci1lYy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJsb2NrTmV3c2xldHRlckVjQ29tcG9uZW50IHtcclxuXHRASW5wdXQoeyByZXF1aXJlZDp0cnVlIH0pIGJsb2NrOmFueTtcclxuXHRASW5wdXQoKSBzdWNjZXNzX21lc3NhZ2U6c3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cdEBJbnB1dCgpIHN1YmplY3Q6c3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRwcml2YXRlIF9jb250YWN0Rm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlID0gaW5qZWN0KEZvcm1TZXJ2aWNlKVxyXG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTpUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKVxyXG5cdHByaXZhdGUgX2Zvcm1CdWlsZGVyOkZvcm1CdWlsZGVyID0gaW5qZWN0KEZvcm1CdWlsZGVyKVxyXG4gICAgcHVibGljIG5ld3NsZXR0ZXJfZm9ybTogRm9ybUdyb3VwO1xyXG5cdHB1YmxpYyBsb2FkaW5nOmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICAgLy8gTGxhbWFyIGFsIGNvbnN0cnVjdG9yIGRlIGxhIGNsYXNlIHBhZHJlXHJcbiAgICBcclxuICAgICAgICB0aGlzLm5ld3NsZXR0ZXJfZm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICAgICAgbmFtZTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGVtYWlsOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICB0ZWxlcGhvbmU6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBzdWJqZWN0OiBbJycsIFtdXSxcclxuICAgICAgICAgICAgYm9keTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGF0dGFjaG1lbnQ6IFsnJ10sXHJcbiAgICAgICAgICAgIGNhcHRjaGE6IFsnJywgW11dLFxyXG4gICAgICAgICAgICB0ZXJtczogW2ZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblx0b25TdWJtaXQoZTphbnkpOnZvaWR7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0dGhpcy5zZW5kRm9ybSh0aGlzLm5ld3NsZXR0ZXJfZm9ybSwgJ2lucXVpcnktc2VudCcpO1xyXG5cdH1cclxuXHJcblx0c2VuZEZvcm0oZm9ybTphbnksIHN1Y2Nlc3NfbWVzc2FnZTpzdHJpbmcpe1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdmb3JtJywgdGhpcy5uZXdzbGV0dGVyX2Zvcm0pO1xyXG4gICAgICAgIGlmIChmb3JtLnZhbGlkICYmIChmb3JtLnZhbHVlLmVtYWlsLmluY2x1ZGVzKCdAJykpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIC8vIGZvcm1EYXRhLmFwcGVuZCgnbWFpbFRleHQnLCBmb3JtLnZhbHVlLmJvZHkpXHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybV9jb2RlJywgdGhpcy5ibG9jay5jb2RlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnbmFtZScpICYmIGZvcm1EYXRhLmFwcGVuZCgnbmFtZScsIGZvcm0uZ2V0KCduYW1lJyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnZW1haWwnKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2VtYWlsJywgZm9ybS5nZXQoJ2VtYWlsJyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgndGVsZXBob25lJykgJiYgZm9ybURhdGEuYXBwZW5kKCd0ZWxlcGhvbmUnLCBmb3JtLmdldCgndGVsZXBob25lJyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnc3ViamVjdCcpICYmIGZvcm1EYXRhLmFwcGVuZCgnc3ViamVjdCcsIGZvcm0uZ2V0KCdzdWJqZWN0Jyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnYm9keScpICYmIGZvcm1EYXRhLmFwcGVuZCgnYm9keScsIGZvcm0uZ2V0KCdib2R5Jyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnYXR0YWNobWVudHMnKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2F0dGFjaG1lbnQnLCBmb3JtLmdldCgnYXR0YWNobWVudCcpPy52YWx1ZSlcclxuXHRcdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fY29udGFjdEZvcm1TZXJ2aWNlLnNlbmRSZXNwb25zZShmb3JtRGF0YSkpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICAocmVzOmFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV3c2xldHRlcl9mb3JtLnJlc2V0KClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdyh0aGlzLnN1Y2Nlc3NfbWVzc2FnZSB8fCBzdWNjZXNzX21lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdG9hc3RTZXJ2aWNlLmVycm9yKCdpbnF1aXJ5LWVycm9yJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl90b2FzdFNlcnZpY2UuZXJyb3IoJ2ludmFsaWQtZm9ybScpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0c2VuZFZhbHVlKGtleTphbnkpe1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxldCBrZXlzZWFyY2ggPSBrZXlbMF0udG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ibG9jayAmJiB0aGlzLmJsb2NrWydzZW5kJyArIGtleXNlYXJjaF0gfHwgZmFsc2VcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgdG9hc3ROZXdzbGV0dGVyRm9ybSA9IChlOiBFdmVudCkgPT4ge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLnNlbmRGb3JtKHRoaXMubmV3c2xldHRlcl9mb3JtLCAnbmV3c2xldHRlci10aGFua3MnKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPHA+YmxvY2stbmV3c2xldHRlci1lYyB3b3JrcyE8L3A+XHJcbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stbmV3c2xldHRlci1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9ibG9ja3MtZWMvYmxvY2stbmV3c2xldHRlci1lYy9ibG9jay1uZXdzbGV0dGVyLWVjLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2Jsb2Nrcy1lYy9ibG9jay1uZXdzbGV0dGVyLWVjL2Jsb2NrLW5ld3NsZXR0ZXItZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVN0QyxNQUFNLE9BQU8sMEJBQTBCO0lBQ1osS0FBSyxDQUFLO0lBQzNCLGVBQWUsQ0FBb0I7SUFDbkMsT0FBTyxDQUFvQjtJQUU1QixtQkFBbUIsR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3RELGFBQWEsR0FBZ0IsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ2pELFlBQVksR0FBZSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDNUMsZUFBZSxDQUFZO0lBQzlCLE9BQU8sR0FBVyxLQUFLLENBQUM7SUFFNUI7UUFDSywwQ0FBMEM7UUFFM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUss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QUFDLENBQUE7d0dBbkZRLDBCQUEwQjs0RkFBMUIsMEJBQTBCLHVLQ1p2Qyx1Q0FDQTs7NEZEV2EsMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNDLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsRUFBRTt3REFLZSxLQUFLO3NCQUE5QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFDLElBQUksRUFBRTtnQkFDZixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1TZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lYy1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1ibG9jay1uZXdzbGV0dGVyLWVjJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9ibG9jay1uZXdzbGV0dGVyLWVjLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vYmxvY2stbmV3c2xldHRlci1lYy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEJsb2NrTmV3c2xldHRlckVjQ29tcG9uZW50IHtcclxuXHRASW5wdXQoeyByZXF1aXJlZDp0cnVlIH0pIGJsb2NrOmFueTtcclxuXHRASW5wdXQoKSBzdWNjZXNzX21lc3NhZ2U6c3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cdEBJbnB1dCgpIHN1YmplY3Q6c3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuXHRwcml2YXRlIF9jb250YWN0Rm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlID0gaW5qZWN0KEZvcm1TZXJ2aWNlKVxyXG5cdHByaXZhdGUgX3RvYXN0U2VydmljZTpUb2FzdFNlcnZpY2UgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKVxyXG5cdHByaXZhdGUgX2Zvcm1CdWlsZGVyOkZvcm1CdWlsZGVyID0gaW5qZWN0KEZvcm1CdWlsZGVyKVxyXG4gICAgcHVibGljIG5ld3NsZXR0ZXJfZm9ybTogRm9ybUdyb3VwO1xyXG5cdHB1YmxpYyBsb2FkaW5nOmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICAgLy8gTGxhbWFyIGFsIGNvbnN0cnVjdG9yIGRlIGxhIGNsYXNlIHBhZHJlXHJcbiAgICBcclxuICAgICAgICB0aGlzLm5ld3NsZXR0ZXJfZm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgICAgICAgbmFtZTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGVtYWlsOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICB0ZWxlcGhvbmU6IFsnJywgW11dLFxyXG4gICAgICAgICAgICBzdWJqZWN0OiBbJycsIFtdXSxcclxuICAgICAgICAgICAgYm9keTogWycnLCBbXV0sXHJcbiAgICAgICAgICAgIGF0dGFjaG1lbnQ6IFsnJ10sXHJcbiAgICAgICAgICAgIGNhcHRjaGE6IFsnJywgW11dLFxyXG4gICAgICAgICAgICB0ZXJtczogW2ZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblx0b25TdWJtaXQoZTphbnkpOnZvaWR7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0dGhpcy5zZW5kRm9ybSh0aGlzLm5ld3NsZXR0ZXJfZm9ybSwgJ2lucXVpcnktc2VudCcpO1xyXG5cdH1cclxuXHJcblx0c2VuZEZvcm0oZm9ybTphbnksIHN1Y2Nlc3NfbWVzc2FnZTpzdHJpbmcpe1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdmb3JtJywgdGhpcy5uZXdzbGV0dGVyX2Zvcm0pO1xyXG4gICAgICAgIGlmIChmb3JtLnZhbGlkICYmIChmb3JtLnZhbHVlLmVtYWlsLmluY2x1ZGVzKCdAJykpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICAgICAgICAgIC8vIGZvcm1EYXRhLmFwcGVuZCgnbWFpbFRleHQnLCBmb3JtLnZhbHVlLmJvZHkpXHJcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybV9jb2RlJywgdGhpcy5ibG9jay5jb2RlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnbmFtZScpICYmIGZvcm1EYXRhLmFwcGVuZCgnbmFtZScsIGZvcm0uZ2V0KCduYW1lJyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnZW1haWwnKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2VtYWlsJywgZm9ybS5nZXQoJ2VtYWlsJyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgndGVsZXBob25lJykgJiYgZm9ybURhdGEuYXBwZW5kKCd0ZWxlcGhvbmUnLCBmb3JtLmdldCgndGVsZXBob25lJyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnc3ViamVjdCcpICYmIGZvcm1EYXRhLmFwcGVuZCgnc3ViamVjdCcsIGZvcm0uZ2V0KCdzdWJqZWN0Jyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnYm9keScpICYmIGZvcm1EYXRhLmFwcGVuZCgnYm9keScsIGZvcm0uZ2V0KCdib2R5Jyk/LnZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnNlbmRWYWx1ZSgnYXR0YWNobWVudHMnKSAmJiBmb3JtRGF0YS5hcHBlbmQoJ2F0dGFjaG1lbnQnLCBmb3JtLmdldCgnYXR0YWNobWVudCcpPy52YWx1ZSlcclxuXHRcdFx0Zmlyc3RWYWx1ZUZyb20odGhpcy5fY29udGFjdEZvcm1TZXJ2aWNlLnNlbmRSZXNwb25zZShmb3JtRGF0YSkpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICAocmVzOmFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV3c2xldHRlcl9mb3JtLnJlc2V0KClcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdyh0aGlzLnN1Y2Nlc3NfbWVzc2FnZSB8fCBzdWNjZXNzX21lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPT09IDQwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl90b2FzdFNlcnZpY2UuZXJyb3IoJ25ld3NsZXR0ZXJfZW1haWxfYWxyZWFkeV9yZWdpc3RlcmVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RvYXN0U2VydmljZS5lcnJvcignaW5xdWlyeS1lcnJvcicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl90b2FzdFNlcnZpY2UuZXJyb3IoJ2ludmFsaWQtZm9ybScpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblx0c2VuZFZhbHVlKGtleTphbnkpe1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxldCBrZXlzZWFyY2ggPSBrZXlbMF0udG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ibG9jayAmJiB0aGlzLmJsb2NrWydzZW5kJyArIGtleXNlYXJjaF0gfHwgZmFsc2VcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgdG9hc3ROZXdzbGV0dGVyRm9ybSA9IChlOiBFdmVudCkgPT4ge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB0aGlzLnNlbmRGb3JtKHRoaXMubmV3c2xldHRlcl9mb3JtLCAnbmV3c2xldHRlci10aGFua3MnKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPHA+YmxvY2stbmV3c2xldHRlci1lYyB3b3JrcyE8L3A+XHJcbiJdfQ==