ng-easycommerce-v18 0.3.19-beta.2 → 0.3.20-beta.2
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.
- package/README.md +110 -109
- package/assets/decidirFormEc.html +514 -514
- package/assets/ec-i18n/ct.json +282 -282
- package/assets/ec-i18n/en.json +0 -1
- package/assets/ec-i18n/es.json +433 -434
- package/assets/ec-i18n/fr.json +0 -0
- package/assets/ec-i18n/gl.json +282 -282
- package/assets/ec-i18n/pr.json +282 -282
- package/assets/images/cards-occasional.svg +21 -21
- package/assets/recaptcha/recaptcha-site-keys.json +3 -3
- package/assets/recaptcha/recaptcha-sites-prod.json +38 -38
- package/assets/recaptcha/recaptcha-sites.json +52 -52
- package/esm2022/lib/api/connection.service.mjs +1 -1
- package/esm2022/lib/classes/checkout/steps.mjs +1 -1
- package/esm2022/lib/classes/component-helper.mjs +1 -1
- package/esm2022/lib/classes/filters/attributes-filter.mjs +74 -4
- package/esm2022/lib/classes/filters/category-filter.mjs +105 -26
- package/esm2022/lib/classes/filters/dynamics-filter.mjs +1 -1
- package/esm2022/lib/classes/filters/filter-factory.mjs +7 -3
- package/esm2022/lib/classes/filters/filter.mjs +1 -1
- package/esm2022/lib/classes/filters/index.mjs +1 -1
- package/esm2022/lib/classes/filters/price_range-filter.mjs +3 -3
- package/esm2022/lib/classes/filters/sort-filter.mjs +1 -1
- package/esm2022/lib/classes/index.mjs +1 -1
- package/esm2022/lib/classes/user.mjs +1 -1
- package/esm2022/lib/constants/api.constants.service.mjs +15 -19
- package/esm2022/lib/constants/core.constants.service.mjs +16 -5
- package/esm2022/lib/constants/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/block-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/abstractions-components/menu-ec.component.mjs +1 -17
- package/esm2022/lib/ec-components/account-ec/account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/account-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/account-ec/order-ec/order-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/account-ec/orders-list-ec/orders-list-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/auth-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/confirm-account-ec/confirm-account-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/forgot-password-ec/forgot-password-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.mjs +18 -28
- package/esm2022/lib/ec-components/auth-ec/password-reset-ec/password-reset-ec.component.mjs +23 -27
- package/esm2022/lib/ec-components/auth-ec/register-form-ec/register-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/auth-ec/register-wholesaler-form-ec/register-wholesaler-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-box-ec/block-banner-box-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-banner-full-ec/block-banner-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-form-contact-ec/block-form-contact-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-html-ec/block-html-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-newsletter-ec/block-newsletter-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/block-products-ec/block-products-ec.component.mjs +18 -9
- package/esm2022/lib/ec-components/blocks-ec/blocks-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/blocks-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/breadcrumb-ec/breadcrumb-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +11 -39
- package/esm2022/lib/ec-components/cart-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/checkout-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/dataform-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/dataform-ec/input-ec/input-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/detail-checkout-block-ec/detail-checkout-block-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/bank-transfer-ec/bank-transfer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/index.mjs +1 -1
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/mp-redirect-ec/mp-redirect-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/payment-ec/payment-methods/offline-ec/offline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/shipment-ec/shipment-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/step-container-ec/step-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/checkout-ec/success-ec/success-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/collection-ec/collection-ec.component.mjs +43 -19
- package/esm2022/lib/ec-components/contact-ec/contact-ec.component.mjs +1 -1
- package/esm2022/lib/ec-components/coupon-ec/coupon-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/faqs-ec/faqs-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +45 -41
- package/esm2022/lib/ec-components/filters-sort-ec/filters-sort-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/footer-ec/footer-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/header-ec/header-ec.component.mjs +37 -45
- package/esm2022/lib/ec-components/home-ec/home-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/index.mjs +1 -1
- package/esm2022/lib/ec-components/price-range-filter/price-range-filter.component.mjs +15 -4
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +7 -12
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +8 -56
- package/esm2022/lib/ec-components/related-products-ec/related-products-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-ec/reviews-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/reviews-form-ec/reviews-form-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/section-container-ec/section-container-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-email-ec/share-email-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-facebook-ec/share-facebook-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-pinterest-ec/share-pinterest-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-twitter-ec/share-twitter-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-buttons-ec/share-whatsapp-ec/share-whatsapp-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/share-ec/share-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/sidebar-ec/sidebar-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/stores-ec/stores-ec.component.mjs +11 -20
- package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/decidir-ec/decidir-ec.component.mjs +8 -14
- package/esm2022/lib/ec-components/widgets-ec/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/index.mjs +1 -1
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-full-ec/loading-full-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-inline-ec/loading-inline-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/loading/loading-section-ec/loading-section-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/magnizoom-ec/magnizoom-ec.component.mjs +6 -8
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/rating-ec/rating-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/re-captcha-ec/re-captcha-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/redsys-catch-ec/redsys-catch-ec.component.mjs +3 -3
- package/esm2022/lib/ec-directive/index.mjs +1 -1
- package/esm2022/lib/ec-directive/product-off.directive.mjs +1 -1
- package/esm2022/lib/ec-directive/product-stock.directive.mjs +1 -1
- package/esm2022/lib/ec-guards/auth.guard.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-currency-symbol.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/ec-safe-html.pipe.mjs +1 -1
- package/esm2022/lib/ec-pipe/index.mjs +1 -1
- package/esm2022/lib/ec-services/addressing.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/analytics.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/doppler.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/facebook-pixel.service.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/google-analytics.service.mjs +4 -4
- package/esm2022/lib/ec-services/analytics/gtm.service.mjs +6 -10
- package/esm2022/lib/ec-services/analytics/index.mjs +1 -1
- package/esm2022/lib/ec-services/analytics/metricool-pixel.service.mjs +18 -17
- package/esm2022/lib/ec-services/auth.service.mjs +1 -1
- package/esm2022/lib/ec-services/auth.storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks-repository.service.mjs +1 -1
- package/esm2022/lib/ec-services/blocks.service.mjs +1 -1
- package/esm2022/lib/ec-services/cart.service.mjs +4 -22
- package/esm2022/lib/ec-services/channel.service.mjs +1 -1
- package/esm2022/lib/ec-services/checkout.service.mjs +2 -4
- package/esm2022/lib/ec-services/currency.service.mjs +1 -1
- package/esm2022/lib/ec-services/filters.service.mjs +124 -18
- package/esm2022/lib/ec-services/form.service.mjs +1 -1
- package/esm2022/lib/ec-services/index.mjs +1 -3
- package/esm2022/lib/ec-services/local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/ngx-local-storage.service.mjs +1 -1
- package/esm2022/lib/ec-services/options.service.mjs +1 -1
- package/esm2022/lib/ec-services/order-utility.service.mjs +1 -1
- package/esm2022/lib/ec-services/orders.service.mjs +1 -1
- package/esm2022/lib/ec-services/pagination.service.mjs +70 -22
- package/esm2022/lib/ec-services/parameters.service.mjs +1 -1
- package/esm2022/lib/ec-services/payment.service.mjs +1 -1
- package/esm2022/lib/ec-services/product-detail.service.mjs +1 -11
- package/esm2022/lib/ec-services/products.service.mjs +5 -3
- package/esm2022/lib/ec-services/re-captcha.service.mjs +1 -1
- package/esm2022/lib/ec-services/reviews.service.mjs +1 -1
- package/esm2022/lib/ec-services/shipment.service.mjs +1 -1
- package/esm2022/lib/ec-services/stores.service.mjs +1 -1
- package/esm2022/lib/ec-services/test.service.mjs +1 -1
- package/esm2022/lib/ec-services/toast.service.mjs +1 -1
- package/esm2022/lib/interceptors/auth.interceptor.mjs +1 -1
- package/esm2022/lib/interceptors/index.mjs +1 -2
- package/esm2022/lib/interfaces/analytics/event-key.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/facebook-pixel-data.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/gtm-config.mjs +1 -1
- package/esm2022/lib/interfaces/analytics/index.mjs +1 -1
- package/esm2022/lib/interfaces/blocks.mjs +1 -1
- package/esm2022/lib/interfaces/checkout.mjs +1 -1
- package/esm2022/lib/interfaces/connection.mjs +1 -1
- package/esm2022/lib/interfaces/coupon.mjs +1 -1
- package/esm2022/lib/interfaces/currency.mjs +1 -1
- package/esm2022/lib/interfaces/deserializable.mjs +1 -1
- package/esm2022/lib/interfaces/environment.mjs +1 -1
- package/esm2022/lib/interfaces/faqs.mjs +1 -1
- package/esm2022/lib/interfaces/filter.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +1 -2
- package/esm2022/lib/interfaces/options.mjs +1 -1
- package/esm2022/lib/interfaces/pagination.mjs +1 -1
- package/esm2022/lib/interfaces/parameter.mjs +1 -1
- package/esm2022/lib/interfaces/product.mjs +1 -1
- package/esm2022/lib/interfaces/step.mjs +1 -1
- package/esm2022/lib/interfaces/storage.mjs +1 -1
- package/esm2022/lib/interfaces/store.mjs +1 -1
- package/esm2022/lib/interfaces/types/user.type.mjs +1 -1
- package/esm2022/lib/providers/index.mjs +1 -2
- package/esm2022/lib/providers/provideEnvironment.mjs +1 -1
- package/esm2022/lib/stores/currency.store.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ng-easycommerce-v18.mjs +797 -1008
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/classes/filters/attributes-filter.d.ts +24 -0
- package/lib/classes/filters/category-filter.d.ts +30 -3
- package/lib/constants/api.constants.service.d.ts +0 -1
- package/lib/constants/core.constants.service.d.ts +7 -0
- package/lib/ec-components/abstractions-components/menu-ec.component.d.ts +0 -12
- package/lib/ec-components/auth-ec/login-form-ec/login-form-ec.component.d.ts +0 -2
- package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +1 -1
- package/lib/ec-components/collection-ec/collection-ec.component.d.ts +5 -4
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +17 -12
- package/lib/ec-components/price-range-filter/price-range-filter.component.d.ts +2 -0
- package/lib/ec-components/product-ec/product-ec.component.d.ts +0 -4
- package/lib/ec-services/analytics/gtm.service.d.ts +1 -1
- package/lib/ec-services/cart.service.d.ts +1 -1
- package/lib/ec-services/filters.service.d.ts +18 -1
- package/lib/ec-services/index.d.ts +0 -2
- package/lib/ec-services/pagination.service.d.ts +21 -5
- package/lib/ec-services/products.service.d.ts +1 -1
- package/lib/interceptors/index.d.ts +0 -1
- package/lib/interfaces/environment.d.ts +0 -1
- package/lib/interfaces/filter.d.ts +0 -1
- package/lib/interfaces/index.d.ts +0 -1
- package/lib/interfaces/options.d.ts +0 -2
- package/lib/interfaces/product.d.ts +0 -6
- package/lib/providers/index.d.ts +0 -1
- package/package.json +1 -1
- package/esm2022/lib/ec-services/base-api.service.mjs +0 -148
- package/esm2022/lib/ec-services/runtime-config.service.mjs +0 -190
- package/esm2022/lib/interceptors/runtime-config.interceptor.mjs +0 -41
- package/esm2022/lib/interfaces/runtime-config.mjs +0 -2
- package/esm2022/lib/providers/provideRuntimeConfig.mjs +0 -42
- package/lib/ec-services/base-api.service.d.ts +0 -64
- package/lib/ec-services/runtime-config.service.d.ts +0 -63
- package/lib/interceptors/runtime-config.interceptor.d.ts +0 -7
- package/lib/interfaces/runtime-config.d.ts +0 -22
- package/lib/providers/provideRuntimeConfig.d.ts +0 -13
|
@@ -31,10 +31,8 @@ export class HeaderEcComponent extends MenuEcComponent {
|
|
|
31
31
|
constructor() {
|
|
32
32
|
super();
|
|
33
33
|
this._channelService.channel$.subscribe(cfg => {
|
|
34
|
-
// console.log('Channel configuration:', cfg);
|
|
35
34
|
this.showPricesOnlyToLoggedUsers = !!cfg.showPricesOnlyToLoggedUsers;
|
|
36
35
|
this.hidePrices = !!cfg.hidePrices;
|
|
37
|
-
// console.log('hidePrices:', this.hidePrices);
|
|
38
36
|
});
|
|
39
37
|
}
|
|
40
38
|
coreConstantsService = inject(CoreConstantsService);
|
|
@@ -42,10 +40,8 @@ export class HeaderEcComponent extends MenuEcComponent {
|
|
|
42
40
|
cdr = inject(ChangeDetectorRef); // Inyectamos ChangeDetectorRef para forzar la actualización
|
|
43
41
|
ngOnInit() {
|
|
44
42
|
this.channel = this.coreConstantsService.getChannel();
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.onWindowScroll();
|
|
48
|
-
}
|
|
43
|
+
this.searchValue = this.coreConstantsService.searchValue || '';
|
|
44
|
+
this.onWindowScroll();
|
|
49
45
|
this.detectRouteChange(); // Llamamos a la función que detecta el cambio de ruta
|
|
50
46
|
// Usar el Observable del AuthService
|
|
51
47
|
this.logged$ = this.__authService.loggedIn$;
|
|
@@ -65,12 +61,9 @@ export class HeaderEcComponent extends MenuEcComponent {
|
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
63
|
ngAfterViewInit() {
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
this.setupSearchInputs(); // Inicializamos los inputs de búsqueda
|
|
72
|
-
this.isHomeFunction();
|
|
73
|
-
}
|
|
64
|
+
this.setupMobileMenu(); // Inicializamos el menú móvil
|
|
65
|
+
this.setupSearchInputs(); // Inicializamos los inputs de búsqueda
|
|
66
|
+
this.isHomeFunction();
|
|
74
67
|
}
|
|
75
68
|
/**
|
|
76
69
|
* Detecta cuando cambia la ruta y actualiza la clase del header
|
|
@@ -84,21 +77,17 @@ export class HeaderEcComponent extends MenuEcComponent {
|
|
|
84
77
|
});
|
|
85
78
|
}
|
|
86
79
|
onWindowScroll() {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
this.isScrolled = scrollTop > 80;
|
|
90
|
-
}
|
|
80
|
+
const scrollTop = window.scrollY;
|
|
81
|
+
this.isScrolled = scrollTop > 80;
|
|
91
82
|
}
|
|
92
83
|
isHomeFunction() {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
headerElement.classList.remove('show-menu');
|
|
101
|
-
}
|
|
84
|
+
const headerElement = document.querySelector('header');
|
|
85
|
+
if (headerElement) {
|
|
86
|
+
if (this.router.url !== '/home') {
|
|
87
|
+
headerElement.classList.add('show-menu');
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
headerElement.classList.remove('show-menu');
|
|
102
91
|
}
|
|
103
92
|
}
|
|
104
93
|
}
|
|
@@ -122,31 +111,36 @@ export class HeaderEcComponent extends MenuEcComponent {
|
|
|
122
111
|
}
|
|
123
112
|
};
|
|
124
113
|
borrarInput(inputId) {
|
|
125
|
-
if (
|
|
126
|
-
|
|
127
|
-
|
|
114
|
+
if (inputId) {
|
|
115
|
+
const input = document.getElementById(inputId);
|
|
116
|
+
if (input) {
|
|
117
|
+
input.value = '';
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
const inputs = ['searchInput1'];
|
|
122
|
+
inputs.forEach((id) => {
|
|
123
|
+
const input = document.getElementById(id);
|
|
128
124
|
if (input) {
|
|
129
125
|
input.value = '';
|
|
130
126
|
}
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
const inputs = ['searchInput1'];
|
|
134
|
-
inputs.forEach((id) => {
|
|
135
|
-
const input = document.getElementById(id);
|
|
136
|
-
if (input) {
|
|
137
|
-
input.value = '';
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
127
|
+
});
|
|
141
128
|
}
|
|
142
129
|
this.searchValue = '';
|
|
143
130
|
this.coreConstantsService.searchValue = '';
|
|
144
|
-
|
|
131
|
+
// En lugar de relanzar la búsqueda con string vacío,
|
|
132
|
+
// actualizamos la URL para quitar el query param `search` y resetear la paginación.
|
|
133
|
+
this.router.navigate(['/collection'], {
|
|
134
|
+
queryParams: {
|
|
135
|
+
search: null,
|
|
136
|
+
page: null
|
|
137
|
+
},
|
|
138
|
+
queryParamsHandling: 'merge'
|
|
139
|
+
});
|
|
145
140
|
}
|
|
146
141
|
setupMobileMenu() {
|
|
147
142
|
if (!isPlatformBrowser(this.platformId) || typeof document === 'undefined')
|
|
148
143
|
return;
|
|
149
|
-
// console.log('setupMobileMenu called');
|
|
150
144
|
const menuMobile = document.querySelector('.menuMobile');
|
|
151
145
|
if (!(menuMobile instanceof HTMLElement))
|
|
152
146
|
return;
|
|
@@ -181,8 +175,6 @@ export class HeaderEcComponent extends MenuEcComponent {
|
|
|
181
175
|
});
|
|
182
176
|
}
|
|
183
177
|
setupSearchInputs() {
|
|
184
|
-
if (!isPlatformBrowser(this.platformId) || typeof document === 'undefined')
|
|
185
|
-
return;
|
|
186
178
|
const inputs = ['searchInput1', 'searchInput2'];
|
|
187
179
|
inputs.forEach(id => {
|
|
188
180
|
const input = document.getElementById(id);
|
|
@@ -240,13 +232,13 @@ export class HeaderEcComponent extends MenuEcComponent {
|
|
|
240
232
|
}
|
|
241
233
|
}
|
|
242
234
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
243
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeaderEcComponent, isStandalone: true, selector: "lib-header-ec", host: { listeners: { "window:scroll": "onWindowScroll()" } }, usesInheritance: true, ngImport: i0, template: "<p>header-ec works!</p>\
|
|
235
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HeaderEcComponent, isStandalone: true, selector: "lib-header-ec", host: { listeners: { "window:scroll": "onWindowScroll()" } }, usesInheritance: true, ngImport: i0, template: "<p>header-ec works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
244
236
|
}
|
|
245
237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HeaderEcComponent, decorators: [{
|
|
246
238
|
type: Component,
|
|
247
|
-
args: [{ selector: 'lib-header-ec', standalone: true, imports: [CommonModule, TitleCasePipe, AsyncPipe, JsonPipe, RouterLink, RouterLinkActive], template: "<p>header-ec works!</p>\
|
|
239
|
+
args: [{ selector: 'lib-header-ec', standalone: true, imports: [CommonModule, TitleCasePipe, AsyncPipe, JsonPipe, RouterLink, RouterLinkActive], template: "<p>header-ec works!</p>\n" }]
|
|
248
240
|
}], ctorParameters: () => [], propDecorators: { onWindowScroll: [{
|
|
249
241
|
type: HostListener,
|
|
250
242
|
args: ['window:scroll', []]
|
|
251
243
|
}] } });
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2hlYWRlci1lYy9oZWFkZXItZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvaGVhZGVyLWVjL2hlYWRlci1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxNQUFNLEVBQUMsV0FBVyxFQUFvQixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFcEQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQUM3QyxPQUFPLENBQXFCO0lBQzVCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDaEMsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixNQUFNLEdBQVksS0FB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QUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUN6QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7d0dBaFFVLGlCQUFpQjs0RkFBakIsaUJBQWlCLDhKQ3RCOUIsNkJBQ0EseUREaUJZLFlBQVk7OzRGQUlYLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQzt3REF1RnpGLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgQ29tcG9uZW50LCBpbmplY3QsUExBVEZPUk1fSUQsIEluamVjdG9yLCBPbkluaXQsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaXRsZUNhc2VQaXBlLCBBc3luY1BpcGUsIEpzb25QaXBlLCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNZW51RWNDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdGlvbnMtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IENhcnRTZXJ2aWNlLCBUZXN0U2VydmljZSwgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBxdWUgc2UgZW5jYXJnYSBkZSBtYW5lamFyIGxhIGZ1bmNpb25hbGlkYWQgZGVsIEhlYWRlci5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlci1lYycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaXRsZUNhc2VQaXBlLCBBc3luY1BpcGUsIEpzb25QaXBlLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLWVjLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaGVhZGVyLWVjLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyRWNDb21wb25lbnQgZXh0ZW5kcyBNZW51RWNDb21wb25lbnQge1xyXG4gIHB1YmxpYyBjaGFubmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcclxuICB0cmFuc3BhcmVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzSG9tZTogYm9vbGVhbiA9IGZhbHNlOyAvLyBOdWV2YSB2YXJpYWJsZSBwYXJhIHZlcmlmaWNhciBzaSBlc3RhbW9zIGVuIC9ob21lXHJcbiAgaXNTY3JvbGxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgX19hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpXHJcbiAgcHVibGljIF9jaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UgPSBpbmplY3QoQ2hhbm5lbFNlcnZpY2UpO1xyXG4gIHB1YmxpYyBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHVibGljIGFwcFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHB1YmxpYyBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHJcbiAgICBtb2JpbGVEcm9wZG93bk9wZW4gPSBzaWduYWwoZmFsc2UpO1xyXG4gICAgIGlzTWVudU9wZW4gPSBzaWduYWwoZmFsc2UpO1xyXG5cclxuXHJcbiAgLy8gT2JzZXJ2YWJsZSBkZWwgZXN0YWRvIGRlIGF1dGVudGljYWNpw7NuXHJcbiAgcHVibGljIGxvZ2dlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIHB1YmxpYyBpc0F1dGhlbnRpY2F0ZWQkID0gdGhpcy5fX2F1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpO1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuX2NoYW5uZWxTZXJ2aWNlLmNoYW5uZWwkLnN1YnNjcmliZShjZmcgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnQ2hhbm5lbCBjb25maWd1cmF0aW9uOicsIGNmZyk7XHJcbiAgICAgIHRoaXMuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gISFjZmcuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzO1xyXG4gICAgICB0aGlzLmhpZGVQcmljZXMgPSAhIWNmZy5oaWRlUHJpY2VzO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnaGlkZVByaWNlczonLCB0aGlzLmhpZGVQcmljZXMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKTtcclxuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTsgLy8gSW55ZWN0YW1vcyBDaGFuZ2VEZXRlY3RvclJlZiBwYXJhIGZvcnphciBsYSBhY3R1YWxpemFjacOzblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbm5lbCA9IHRoaXMuY29yZUNvbnN0YW50c1NlcnZpY2UuZ2V0Q2hhbm5lbCgpO1xyXG4gICAgXHJcbiAgICAvLyBTb2xvIGVqZWN1dGFyIGVuIGVsIG5hdmVnYWRvclxyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgdGhpcy5vbldpbmRvd1Njcm9sbCgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmRldGVjdFJvdXRlQ2hhbmdlKCk7IC8vIExsYW1hbW9zIGEgbGEgZnVuY2nDs24gcXVlIGRldGVjdGEgZWwgY2FtYmlvIGRlIHJ1dGFcclxuICAgIC8vIFVzYXIgZWwgT2JzZXJ2YWJsZSBkZWwgQXV0aFNlcnZpY2VcclxuICAgIHRoaXMubG9nZ2VkJCA9IHRoaXMuX19hdXRoU2VydmljZS5sb2dnZWRJbiQ7XHJcblxyXG4gICAgLy8gU3VzY3JpYmlyc2UgYWwgT2JzZXJ2YWJsZSB5IGZvcnphciBkZXRlY2Npw7NuIGRlIGNhbWJpb3MgY3VhbmRvIHNlYSBuZWNlc2FyaW9cclxuICAgIHRoaXMubG9nZ2VkJC5zdWJzY3JpYmUoaXNMb2dnZWRJbiA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgdGhpcy5hcHBSb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldnQgPT4ge1xyXG4gICAgICAgIGlmIChldnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgICAvLyBGb3J6YXIgZGV0ZWNjacOzbiBkZSBjYW1iaW9zIGRlc3B1w6lzIGRlIG5hdmVnYWNpw7NuXHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIFNvbG8gZWplY3V0YXIgZW4gZWwgbmF2ZWdhZG9yXHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICB0aGlzLnNldHVwTW9iaWxlTWVudSgpOyAvLyBJbmljaWFsaXphbW9zIGVsIG1lbsO6IG3Ds3ZpbFxyXG4gICAgICB0aGlzLnNldHVwU2VhcmNoSW5wdXRzKCk7IC8vIEluaWNpYWxpemFtb3MgbG9zIGlucHV0cyBkZSBiw7pzcXVlZGEgICBcclxuICAgICAgdGhpcy5pc0hvbWVGdW5jdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBEZXRlY3RhIGN1YW5kbyBjYW1iaWEgbGEgcnV0YSB5IGFjdHVhbGl6YSBsYSBjbGFzZSBkZWwgaGVhZGVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZXRlY3RSb3V0ZUNoYW5nZSgpIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgdGhpcy5pc0hvbWUgPSB0aGlzLnJvdXRlci51cmwgPT09ICcvaG9tZSc7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyAvLyBGb3J6YW1vcyBsYSBkZXRlY2Npw7NuIGRlIGNhbWJpb3MgcGFyYSBhY3R1YWxpemFyIGxhIHZpc3RhXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFtdKVxyXG4gIG9uV2luZG93U2Nyb2xsKCkge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gd2luZG93LnNjcm9sbFk7XHJcbiAgICAgIHRoaXMuaXNTY3JvbGxlZCA9IHNjcm9sbFRvcCA+IDgwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNIb21lRnVuY3Rpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkZXInKTtcclxuICAgICAgaWYgKGhlYWRlckVsZW1lbnQpIHtcclxuICAgICAgICBpZiAodGhpcy5yb3V0ZXIudXJsICE9PSAnL2hvbWUnKSB7XHJcbiAgICAgICAgICBoZWFkZXJFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3Nob3ctbWVudScpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBoZWFkZXJFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3ctbWVudScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlVXJsVHJhbnNwYXJlbnQgPSAodXJsVHJhbnNwYXJlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIHVybFRyYW5zcGFyZW50O1xyXG4gIH07XHJcblxyXG5cclxuICBnZXRDb2xsZWN0aW9uU2VhcmNoID0gKCkgPT4ge1xyXG4gICAgdGhpcy5jb3JlQ29uc3RhbnRzU2VydmljZS5zZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWU7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvY29sbGVjdGlvbj9zZWFyY2g9JyArIHRoaXMuc2VhcmNoVmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIHNldFNlYXJjaFZhbHVlID0gKGV2ZW50OiBFdmVudCwgYWZ0ZXJTZWFyY2g/OiBGdW5jdGlvbiwgLi4uYXJnczogYW55W10pID0+IHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKHRhcmdldCkge1xyXG4gICAgICB0aGlzLnNlYXJjaFZhbHVlID0gdGFyZ2V0LnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgIC8vIHRoaXMuZ2V0Q29sbGVjdGlvblNlYXJjaCgpO1xyXG4gICAgaWYgKGFmdGVyU2VhcmNoKSB7XHJcbiAgICAgIGFmdGVyU2VhcmNoKC4uLmFyZ3MpO1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgYm9ycmFySW5wdXQoaW5wdXRJZD86IHN0cmluZykge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBpZiAoaW5wdXRJZCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5wdXRJZCkgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgICAgICBpZiAoaW5wdXQpIHtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGlucHV0cyA9IFsnc2VhcmNoSW5wdXQxJ107XHJcbiAgICAgICAgaW5wdXRzLmZvckVhY2goKGlkKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgICAgaWYgKGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlucHV0LnZhbHVlID0gJyc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmNvcmVDb25zdGFudHNTZXJ2aWNlLnNlYXJjaFZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmdldENvbGxlY3Rpb25TZWFyY2goKTtcclxuICB9XHJcbiAgc2V0dXBNb2JpbGVNZW51KCkge1xyXG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdzZXR1cE1vYmlsZU1lbnUgY2FsbGVkJyk7XHJcbiAgICBjb25zdCBtZW51TW9iaWxlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm1lbnVNb2JpbGUnKTtcclxuICAgIGlmICghKG1lbnVNb2JpbGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHJldHVybjtcclxuICAgIGNvbnN0IG9wZW5CdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYWJyZU1lbnVNb2JpbGUgLmFicmUnKTtcclxuICAgIGNvbnN0IGNsb3NlQnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFicmVNZW51TW9iaWxlIC5jbG9zZScpO1xyXG4gICAgY29uc3QgaWNvbk1lbnUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWNNZW51Jyk7XHJcbiAgICBjb25zdCBzZWFyY2hNb2JpbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2VhcmNoTW9iaWxlJyk7XHJcblxyXG4gICAgY29uc3QgY2xvc2VNZW51ID0gKCkgPT4ge1xyXG4gICAgICBtZW51TW9iaWxlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgIGNsb3NlQnRuPy5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6bm9uZScpO1xyXG4gICAgICBpY29uTWVudT8uc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OmJsb2NrJyk7XHJcbiAgICB9O1xyXG5cclxuICAgIG1lbnVNb2JpbGUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuXHJcbiAgICBvcGVuQnRuPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgbWVudU1vYmlsZS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcclxuICAgICAgY2xvc2VCdG4/LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTpibG9jaycpO1xyXG4gICAgICBpZiAoc2VhcmNoTW9iaWxlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcclxuICAgICAgICBzZWFyY2hNb2JpbGUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgICAgfVxyXG4gICAgICBpY29uTWVudT8uc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5Om5vbmUnKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNsb3NlQnRuPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlTWVudSk7XHJcblxyXG4gICAgLy8gQ2llcnJhIGVsIG1lbsO6IHNpIHNlIGhhY2UgY2xpYyBlbiB1biBlbmxhY2UgZXNwZWPDrWZpY28gZGVudHJvIGRlbCBtZW7DulxyXG4gICAgY29uc3QgbGlua1NlbGVjdG9ycyA9IFsnLmNhdGVnb3J5TW9iaWxlJywgJy5zdWJjYXRlZ29yeU1vYmlsZScsICcudXN1YXJpb21vYmlsZSddO1xyXG4gICAgbGlua1NlbGVjdG9ycy5mb3JFYWNoKHNlbGVjdG9yID0+IHtcclxuICAgICAgY29uc3QgbGlua3MgPSBtZW51TW9iaWxlLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEFuY2hvckVsZW1lbnQ+KGBhJHtzZWxlY3Rvcn1gKTtcclxuICAgICAgbGlua3MuZm9yRWFjaChsaW5rID0+IHtcclxuICAgICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgY2xvc2VNZW51KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNldHVwU2VhcmNoSW5wdXRzKCkge1xyXG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcclxuICAgIGNvbnN0IGlucHV0cyA9IFsnc2VhcmNoSW5wdXQxJywgJ3NlYXJjaElucHV0MiddO1xyXG5cclxuICAgIGlucHV0cy5mb3JFYWNoKGlkID0+IHtcclxuICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICAgIGlmICghKGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHJldHVybjtcclxuICAgICAgY29uc3QgY2xlYXJCdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAuY2xlYXItYnRuJHtpZC5zbGljZSgtMSl9YCk7XHJcblxyXG4gICAgICBpZiAoIWlucHV0IHx8ICEoY2xlYXJCdG4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHJldHVybjtcclxuXHJcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4ge1xyXG4gICAgICAgIGlmIChpbnB1dC52YWx1ZSA9PT0gJ0J1c2NhciBwcm9kdWN0by4uLicpIHtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGlucHV0LnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgIGlucHV0LnZhbHVlID0gJ0J1c2NhciBwcm9kdWN0by4uLic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4ge1xyXG4gICAgICAgIGNsZWFyQnRuLnN0eWxlLmRpc3BsYXkgPSBpbnB1dC52YWx1ZS50cmltKCkgIT09ICcnID8gJ2Jsb2NrJyA6ICdub25lJztcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBjbGVhckJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gJyc7XHJcbiAgICAgICAgY2xlYXJCdG4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgICAgICBpbnB1dC5mb2N1cygpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgIHRvZ2dsZVBhbmVsKGlkOiBzdHJpbmcpIHtcclxuICAgIC8vIFNvbG8gZWplY3V0YXIgZW4gZWwgbmF2ZWdhZG9yIHBhcmEgZXZpdGFyIHByb2JsZW1hcyBjb24gU1NSXHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICB0aGlzLm9wZW5QYW5lbHMudXBkYXRlKHBhbmVscyA9PiAoe1xyXG4gICAgICAgIC4uLnBhbmVscyxcclxuICAgICAgICBbaWRdOiAhcGFuZWxzW2lkXVxyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgIG9wZW5QYW5lbHMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KHtcclxuICAgIGNvbGxhcHNlVW5vOiBmYWxzZSxcclxuICAgIGNvbGxhcHNlRG9zOiB0cnVlIC8vIFByb2R1Y3RvcyBhYmllcnRvIHBvciBkZWZlY3RvXHJcbiAgfSk7XHJcblxyXG5cclxuXHJcblxyXG4gICAgICAgY29sbGFwc2VBbGxNZW51cygpIHtcclxuICAgIC8vIFNvbG8gZWplY3V0YXIgZW4gZWwgbmF2ZWdhZG9yIHBhcmEgZXZpdGFyIHByb2JsZW1hcyBjb24gU1NSXHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICB0aGlzLm9wZW5QYW5lbHMudXBkYXRlKHBhbmVscyA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3UGFuZWxzID0geyAuLi5wYW5lbHMgfTtcclxuICAgICAgICBPYmplY3Qua2V5cyhuZXdQYW5lbHMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGlmIChrZXkgIT09ICdjb2xsYXBzZURvcycpIHtcclxuICAgICAgICAgICAgbmV3UGFuZWxzW2tleV0gPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbmV3UGFuZWxzO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHA+aGVhZGVyLWVjIHdvcmtzITwvcD5cclxuIl19
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWVjLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL2hlYWRlci1lYy9oZWFkZXItZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvaGVhZGVyLWVjL2hlYWRlci1lYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFvQixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFcEQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQUM3QyxPQUFPLENBQXFCO0lBQzVCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDaEMsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixNQUFNLEdBQVksS0FB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ekYsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBDb21wb25lbnQsIGluamVjdCwgUExBVEZPUk1fSUQsIEluamVjdG9yLCBPbkluaXQsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGVDYXNlUGlwZSwgQXN5bmNQaXBlLCBKc29uUGlwZSwgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1lbnVFY0NvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0aW9ucy1jb21wb25lbnRzJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlLCBUZXN0U2VydmljZSwgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQsIFJvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIENvbXBvbmVudGUgcXVlIHNlIGVuY2FyZ2EgZGUgbWFuZWphciBsYSBmdW5jaW9uYWxpZGFkIGRlbCBIZWFkZXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1oZWFkZXItZWMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaXRsZUNhc2VQaXBlLCBBc3luY1BpcGUsIEpzb25QaXBlLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci1lYy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9oZWFkZXItZWMuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckVjQ29tcG9uZW50IGV4dGVuZHMgTWVudUVjQ29tcG9uZW50IHtcbiAgcHVibGljIGNoYW5uZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHNlYXJjaFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgdHJhbnNwYXJlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNIb21lOiBib29sZWFuID0gZmFsc2U7IC8vIE51ZXZhIHZhcmlhYmxlIHBhcmEgdmVyaWZpY2FyIHNpIGVzdGFtb3MgZW4gL2hvbWVcbiAgaXNTY3JvbGxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBzaG93UHJpY2VzT25seVRvTG9nZ2VkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGlkZVByaWNlczogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgX19hdXRoU2VydmljZTogQXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpXG4gIHB1YmxpYyBfY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlID0gaW5qZWN0KENoYW5uZWxTZXJ2aWNlKTtcbiAgcHVibGljIGNoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHVibGljIGFwcFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwdWJsaWMgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgbW9iaWxlRHJvcGRvd25PcGVuID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNNZW51T3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cblxuICAvLyBPYnNlcnZhYmxlIGRlbCBlc3RhZG8gZGUgYXV0ZW50aWNhY2nDs25cbiAgcHVibGljIGxvZ2dlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBwdWJsaWMgaXNBdXRoZW50aWNhdGVkJCA9IHRoaXMuX19hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9jaGFubmVsU2VydmljZS5jaGFubmVsJC5zdWJzY3JpYmUoY2ZnID0+IHtcbiAgICAgIHRoaXMuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gISFjZmcuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzO1xuICAgICAgdGhpcy5oaWRlUHJpY2VzID0gISFjZmcuaGlkZVByaWNlcztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29yZUNvbnN0YW50c1NlcnZpY2UgPSBpbmplY3QoQ29yZUNvbnN0YW50c1NlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7IC8vIElueWVjdGFtb3MgQ2hhbmdlRGV0ZWN0b3JSZWYgcGFyYSBmb3J6YXIgbGEgYWN0dWFsaXphY2nDs25cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5uZWwgPSB0aGlzLmNvcmVDb25zdGFudHNTZXJ2aWNlLmdldENoYW5uZWwoKTtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gdGhpcy5jb3JlQ29uc3RhbnRzU2VydmljZS5zZWFyY2hWYWx1ZSB8fCAnJztcbiAgICB0aGlzLm9uV2luZG93U2Nyb2xsKCk7XG4gICAgdGhpcy5kZXRlY3RSb3V0ZUNoYW5nZSgpOyAvLyBMbGFtYW1vcyBhIGxhIGZ1bmNpw7NuIHF1ZSBkZXRlY3RhIGVsIGNhbWJpbyBkZSBydXRhXG4gICAgLy8gVXNhciBlbCBPYnNlcnZhYmxlIGRlbCBBdXRoU2VydmljZVxuICAgIHRoaXMubG9nZ2VkJCA9IHRoaXMuX19hdXRoU2VydmljZS5sb2dnZWRJbiQ7XG5cbiAgICAvLyBTdXNjcmliaXJzZSBhbCBPYnNlcnZhYmxlIHkgZm9yemFyIGRldGVjY2nDs24gZGUgY2FtYmlvcyBjdWFuZG8gc2VhIG5lY2VzYXJpb1xuICAgIHRoaXMubG9nZ2VkJC5zdWJzY3JpYmUoaXNMb2dnZWRJbiA9PiB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5hcHBSb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldnQgPT4ge1xuICAgICAgICBpZiAoZXZ0IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgIC8vIEZvcnphciBkZXRlY2Npw7NuIGRlIGNhbWJpb3MgZGVzcHXDqXMgZGUgbmF2ZWdhY2nDs25cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cE1vYmlsZU1lbnUoKTsgLy8gSW5pY2lhbGl6YW1vcyBlbCBtZW7DuiBtw7N2aWxcbiAgICB0aGlzLnNldHVwU2VhcmNoSW5wdXRzKCk7IC8vIEluaWNpYWxpemFtb3MgbG9zIGlucHV0cyBkZSBiw7pzcXVlZGEgICBcbiAgICB0aGlzLmlzSG9tZUZ1bmN0aW9uKCk7XG4gIH1cbiAgLyoqXG4gICAqIERldGVjdGEgY3VhbmRvIGNhbWJpYSBsYSBydXRhIHkgYWN0dWFsaXphIGxhIGNsYXNlIGRlbCBoZWFkZXJcbiAgICovXG4gIHByaXZhdGUgZGV0ZWN0Um91dGVDaGFuZ2UoKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMuaXNIb21lID0gdGhpcy5yb3V0ZXIudXJsID09PSAnL2hvbWUnO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7IC8vIEZvcnphbW9zIGxhIGRldGVjY2nDs24gZGUgY2FtYmlvcyBwYXJhIGFjdHVhbGl6YXIgbGEgdmlzdGFcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbXSlcbiAgb25XaW5kb3dTY3JvbGwoKSB7XG4gICAgY29uc3Qgc2Nyb2xsVG9wID0gd2luZG93LnNjcm9sbFk7XG4gICAgdGhpcy5pc1Njcm9sbGVkID0gc2Nyb2xsVG9wID4gODA7XG4gIH1cblxuICBpc0hvbWVGdW5jdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaGVhZGVyJyk7XG4gICAgaWYgKGhlYWRlckVsZW1lbnQpIHtcbiAgICAgIGlmICh0aGlzLnJvdXRlci51cmwgIT09ICcvaG9tZScpIHtcbiAgICAgICAgaGVhZGVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzaG93LW1lbnUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhlYWRlckVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdy1tZW51Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlVXJsVHJhbnNwYXJlbnQgPSAodXJsVHJhbnNwYXJlbnQ6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiB1cmxUcmFuc3BhcmVudDtcbiAgfTtcblxuXG4gIGdldENvbGxlY3Rpb25TZWFyY2ggPSAoKSA9PiB7XG4gICAgdGhpcy5jb3JlQ29uc3RhbnRzU2VydmljZS5zZWFyY2hWYWx1ZSA9IHRoaXMuc2VhcmNoVmFsdWU7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2NvbGxlY3Rpb24/c2VhcmNoPScgKyB0aGlzLnNlYXJjaFZhbHVlKTtcbiAgfTtcblxuICBzZXRTZWFyY2hWYWx1ZSA9IChldmVudDogRXZlbnQsIGFmdGVyU2VhcmNoPzogRnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9IHRhcmdldC52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgLy8gdGhpcy5nZXRDb2xsZWN0aW9uU2VhcmNoKCk7XG4gICAgaWYgKGFmdGVyU2VhcmNoKSB7XG4gICAgICBhZnRlclNlYXJjaCguLi5hcmdzKTtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH07XG5cbiAgYm9ycmFySW5wdXQoaW5wdXRJZD86IHN0cmluZykge1xuICAgIGlmIChpbnB1dElkKSB7XG4gICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlucHV0SWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgaW5wdXQudmFsdWUgPSAnJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5wdXRzID0gWydzZWFyY2hJbnB1dDEnXTtcbiAgICAgIGlucHV0cy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gJyc7XG4gICAgdGhpcy5jb3JlQ29uc3RhbnRzU2VydmljZS5zZWFyY2hWYWx1ZSA9ICcnO1xuICAgIFxuICAgIC8vIEVuIGx1Z2FyIGRlIHJlbGFuemFyIGxhIGLDunNxdWVkYSBjb24gc3RyaW5nIHZhY8OtbyxcbiAgICAvLyBhY3R1YWxpemFtb3MgbGEgVVJMIHBhcmEgcXVpdGFyIGVsIHF1ZXJ5IHBhcmFtIGBzZWFyY2hgIHkgcmVzZXRlYXIgbGEgcGFnaW5hY2nDs24uXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvY29sbGVjdGlvbiddLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBzZWFyY2g6IG51bGwsXG4gICAgICAgIHBhZ2U6IG51bGxcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG4gICAgfSk7XG4gIH1cbiAgc2V0dXBNb2JpbGVNZW51KCkge1xuICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgY29uc3QgbWVudU1vYmlsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tZW51TW9iaWxlJyk7XG4gICAgaWYgKCEobWVudU1vYmlsZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkgcmV0dXJuO1xuICAgIGNvbnN0IG9wZW5CdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYWJyZU1lbnVNb2JpbGUgLmFicmUnKTtcbiAgICBjb25zdCBjbG9zZUJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hYnJlTWVudU1vYmlsZSAuY2xvc2UnKTtcbiAgICBjb25zdCBpY29uTWVudSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpY01lbnUnKTtcbiAgICBjb25zdCBzZWFyY2hNb2JpbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2VhcmNoTW9iaWxlJyk7XG5cbiAgICBjb25zdCBjbG9zZU1lbnUgPSAoKSA9PiB7XG4gICAgICBtZW51TW9iaWxlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBjbG9zZUJ0bj8uc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5Om5vbmUnKTtcbiAgICAgIGljb25NZW51Py5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ2Rpc3BsYXk6YmxvY2snKTtcbiAgICB9O1xuXG4gICAgbWVudU1vYmlsZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gICAgb3BlbkJ0bj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICBtZW51TW9iaWxlLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgY2xvc2VCdG4/LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTpibG9jaycpO1xuICAgICAgaWYgKHNlYXJjaE1vYmlsZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHNlYXJjaE1vYmlsZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgfVxuICAgICAgaWNvbk1lbnU/LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTpub25lJyk7XG4gICAgfSk7XG5cbiAgICBjbG9zZUJ0bj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZU1lbnUpO1xuXG4gICAgLy8gQ2llcnJhIGVsIG1lbsO6IHNpIHNlIGhhY2UgY2xpYyBlbiB1biBlbmxhY2UgZXNwZWPDrWZpY28gZGVudHJvIGRlbCBtZW7DulxuICAgIGNvbnN0IGxpbmtTZWxlY3RvcnMgPSBbJy5jYXRlZ29yeU1vYmlsZScsICcuc3ViY2F0ZWdvcnlNb2JpbGUnLCAnLnVzdWFyaW9tb2JpbGUnXTtcbiAgICBsaW5rU2VsZWN0b3JzLmZvckVhY2goc2VsZWN0b3IgPT4ge1xuICAgICAgY29uc3QgbGlua3MgPSBtZW51TW9iaWxlLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEFuY2hvckVsZW1lbnQ+KGBhJHtzZWxlY3Rvcn1gKTtcbiAgICAgIGxpbmtzLmZvckVhY2gobGluayA9PiB7XG4gICAgICAgIGxpbmsuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgY2xvc2VNZW51KCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbiAgc2V0dXBTZWFyY2hJbnB1dHMoKSB7XG4gICAgY29uc3QgaW5wdXRzID0gWydzZWFyY2hJbnB1dDEnLCAnc2VhcmNoSW5wdXQyJ107XG5cbiAgICBpbnB1dHMuZm9yRWFjaChpZCA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcbiAgICAgIGlmICghKGlucHV0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCkpIHJldHVybjtcbiAgICAgIGNvbnN0IGNsZWFyQnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLmNsZWFyLWJ0biR7aWQuc2xpY2UoLTEpfWApO1xuXG4gICAgICBpZiAoIWlucHV0IHx8ICEoY2xlYXJCdG4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHJldHVybjtcblxuICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgIGlmIChpbnB1dC52YWx1ZSA9PT0gJ0J1c2NhciBwcm9kdWN0by4uLicpIHtcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHtcbiAgICAgICAgaWYgKGlucHV0LnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgICBpbnB1dC52YWx1ZSA9ICdCdXNjYXIgcHJvZHVjdG8uLi4nO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoKSA9PiB7XG4gICAgICAgIGNsZWFyQnRuLnN0eWxlLmRpc3BsYXkgPSBpbnB1dC52YWx1ZS50cmltKCkgIT09ICcnID8gJ2Jsb2NrJyA6ICdub25lJztcbiAgICAgIH0pO1xuXG4gICAgICBjbGVhckJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaW5wdXQudmFsdWUgPSAnJztcbiAgICAgICAgY2xlYXJCdG4uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gIH1cblxuICB0b2dnbGVQYW5lbChpZDogc3RyaW5nKSB7XG4gICAgLy8gU29sbyBlamVjdXRhciBlbiBlbCBuYXZlZ2Fkb3IgcGFyYSBldml0YXIgcHJvYmxlbWFzIGNvbiBTU1JcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5vcGVuUGFuZWxzLnVwZGF0ZShwYW5lbHMgPT4gKHtcbiAgICAgICAgLi4ucGFuZWxzLFxuICAgICAgICBbaWRdOiAhcGFuZWxzW2lkXVxuICAgICAgfSkpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5QYW5lbHMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+KHtcbiAgICBjb2xsYXBzZVVubzogZmFsc2UsXG4gICAgY29sbGFwc2VEb3M6IHRydWUgLy8gUHJvZHVjdG9zIGFiaWVydG8gcG9yIGRlZmVjdG9cbiAgfSk7XG5cblxuXG5cbiAgY29sbGFwc2VBbGxNZW51cygpIHtcbiAgICAvLyBTb2xvIGVqZWN1dGFyIGVuIGVsIG5hdmVnYWRvciBwYXJhIGV2aXRhciBwcm9ibGVtYXMgY29uIFNTUlxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLm9wZW5QYW5lbHMudXBkYXRlKHBhbmVscyA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1BhbmVscyA9IHsgLi4ucGFuZWxzIH07XG4gICAgICAgIE9iamVjdC5rZXlzKG5ld1BhbmVscykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIGlmIChrZXkgIT09ICdjb2xsYXBzZURvcycpIHtcbiAgICAgICAgICAgIG5ld1BhbmVsc1trZXldID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ld1BhbmVscztcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPHA+aGVhZGVyLWVjIHdvcmtzITwvcD5cbiJdfQ==
|
|
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
*/
|
|
6
6
|
export class HomeEcComponent {
|
|
7
7
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HomeEcComponent, isStandalone: true, selector: "lib-home-ec", ngImport: i0, template: "<p>home-ec works!</p>\
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: HomeEcComponent, isStandalone: true, selector: "lib-home-ec", ngImport: i0, template: "<p>home-ec works!</p>\n", styles: [""] });
|
|
9
9
|
}
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HomeEcComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
|
-
args: [{ selector: 'lib-home-ec', standalone: true, imports: [], template: "<p>home-ec works!</p>\
|
|
12
|
+
args: [{ selector: 'lib-home-ec', standalone: true, imports: [], template: "<p>home-ec works!</p>\n" }]
|
|
13
13
|
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9ob21lLWVjL2hvbWUtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvaG9tZS1lYy9ob21lLWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBR2xEOztHQUVHO0FBUUgsTUFBTSxPQUFPLGVBQWU7d0dBQWYsZUFBZTs0RkFBZixlQUFlLHVFQ2I1Qix5QkFDQTs7NEZEWWEsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZUNvbnN0YW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQmxvY2tzU2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcbi8qKlxuICogQ29tcG9uZW50ZSBxdWUgc2UgZW5jYXJnYSBkZSBtYW5lamFyIGVsIEhvbWUgZGUgbGEgYXBsaWNhY2nDs24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1ob21lLWVjJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi9ob21lLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2hvbWUtZWMuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEhvbWVFY0NvbXBvbmVudCB7XG5cbn1cbiIsIjxwPmhvbWUtZWMgd29ya3MhPC9wPlxuIl19
|
|
@@ -32,4 +32,4 @@ export * from './reviews-form-ec/reviews-form-ec.component';
|
|
|
32
32
|
export * from './section-container-ec/section-container-ec.component';
|
|
33
33
|
export * from './stores-ec/stores-ec.component';
|
|
34
34
|
export * from './price-range-filter/price-range-filter.component';
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsK0RBQStELENBQUE7QUFDN0UsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9vdGVyLWVjL2Zvb3Rlci1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItZWMvaGVhZGVyLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hvbWUtZWMvaG9tZS1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ibG9ja3MtZWMvYmxvY2tzLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3QtZWMvcHJvZHVjdC1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uLWVjL2NvbGxlY3Rpb24tZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVycy1zb3J0LWVjL2ZpbHRlcnMtc29ydC1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRzLWVjJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC1lYyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMtZWMvZmlsdGVycy1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYW50cy1lYy92YXJpYW50cy1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iLWVjL2JyZWFkY3J1bWItZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2FydC1lYyc7XG5leHBvcnQgKiBmcm9tICcuL2NvdXBvbi1lYy9jb3Vwb24tZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFjdC1lYy9jb250YWN0LWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrb3V0LWVjL2NoZWNrb3V0LWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrb3V0LWVjL3N1Y2Nlc3MtZWMvc3VjY2Vzcy1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY2NvdW50LWVjJztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2tzLWVjL2Jsb2NrLW5ld3NsZXR0ZXItZWMvYmxvY2stbmV3c2xldHRlci1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ibG9ja3MtZWMvYmxvY2staHRtbC1lYy9ibG9jay1odG1sLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Jsb2Nrcy1lYy9ibG9jay1wcm9kdWN0cy1lYy9ibG9jay1wcm9kdWN0cy1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ibG9ja3MtZWMvYmxvY2stYmFubmVyLWZ1bGwtZWMvYmxvY2stYmFubmVyLWZ1bGwtZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2tzLWVjL2Jsb2NrLWJhbm5lci1ib3gtZWMvYmxvY2stYmFubmVyLWJveC1lYy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Jsb2Nrcy1lYy9ibG9jay1mb3JtLWNvbnRhY3QtZWMvYmxvY2stZm9ybS1jb250YWN0LWVjLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vc2lkZWJhci1lYy9zaWRlYmFyLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JlbGF0ZWQtcHJvZHVjdHMtZWMvcmVsYXRlZC1wcm9kdWN0cy1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mYXFzLWVjL2ZhcXMtZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmUtZWMvc2hhcmUtZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmV2aWV3cy1lYy9yZXZpZXdzLWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Jldmlld3MtZm9ybS1lYy9yZXZpZXdzLWZvcm0tZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VjdGlvbi1jb250YWluZXItZWMvc2VjdGlvbi1jb250YWluZXItZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzLWVjL3N0b3Jlcy1lYy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcmljZS1yYW5nZS1maWx0ZXIvcHJpY2UtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudCc7Il19
|
|
@@ -3,10 +3,13 @@ import { PriceRangeFilter } from '../../classes/filters/price_range-filter';
|
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { EcCurrencySymbolPipe } from '../../ec-pipe';
|
|
5
5
|
import { FiltersService } from '../../ec-services';
|
|
6
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/common";
|
|
8
9
|
export class PriceRangeFilterComponent {
|
|
9
10
|
_filtersService = inject(FiltersService);
|
|
11
|
+
router = inject(Router);
|
|
12
|
+
route = inject(ActivatedRoute);
|
|
10
13
|
priceGap = 1;
|
|
11
14
|
roundStep = 5;
|
|
12
15
|
filter;
|
|
@@ -43,7 +46,15 @@ export class PriceRangeFilterComponent {
|
|
|
43
46
|
return;
|
|
44
47
|
const min = filter.currentMinPrice ?? filter.minPrice;
|
|
45
48
|
const max = filter.currentMaxPrice ?? filter.maxPrice;
|
|
46
|
-
this.
|
|
49
|
+
this.router.navigate([], {
|
|
50
|
+
relativeTo: this.route,
|
|
51
|
+
queryParams: {
|
|
52
|
+
price_min: min !== filter.minPrice ? min : null,
|
|
53
|
+
price_max: max !== filter.maxPrice ? max : null,
|
|
54
|
+
page: null,
|
|
55
|
+
},
|
|
56
|
+
queryParamsHandling: 'merge'
|
|
57
|
+
});
|
|
47
58
|
}
|
|
48
59
|
getMinValue(filter) {
|
|
49
60
|
return (filter instanceof PriceRangeFilter && filter.currentMinPrice != null)
|
|
@@ -130,14 +141,14 @@ export class PriceRangeFilterComponent {
|
|
|
130
141
|
return value;
|
|
131
142
|
}
|
|
132
143
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PriceRangeFilterComponent, isStandalone: true, selector: "lib-price-range-filter", inputs: { filter: "filter" }, outputs: { rangeChanged: "rangeChanged" }, ngImport: i0, template: "<div class=\"slider\">\
|
|
144
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PriceRangeFilterComponent, isStandalone: true, selector: "lib-price-range-filter", inputs: { filter: "filter" }, outputs: { rangeChanged: "rangeChanged" }, ngImport: i0, template: "<div class=\"slider\">\n <div class=\"slider\">\n <div class=\"progress\" [ngStyle]=\"getSliderStyle(filter)\">\n </div>\n </div>\n</div>\n<div class=\"range-input d-flex gap-2\">\n <input #rangeMin type=\"range\" class=\"range-min\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMinValue(filter)\" (input)=\"onRangeChange($event, 'min', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n <input #rangeMax type=\"range\" class=\"range-max\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMaxValue(filter)\" (input)=\"onRangeChange($event, 'max', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n</div>\n<!-- precios M\u00EDnimo / M\u00E1ximo -->\n<div class=\"price-container mt-2\">\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00EDnimo:</span>\n <span class=\"price-value\">\n {{ (getFormattedMinPrice(filter) | ecCurrencySymbol) || '0' }}\n </span>\n </div>\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00E1ximo:</span>\n <span class=\"price-value price-value-right\">\n {{ getFormattedMaxPrice(filter) | ecCurrencySymbol }}\n </span>\n </div>\n</div>", styles: [":root{--slider-bg: #ddd;--slider-progress-bg: #0FA3AF;--thumb-bg: #0FA3AF;--thumb-border: #fff;--text-color: #131716;--label-color: #0FA3AF;--shadow-color: rgba(15, 163, 175, .4)}.slider{height:6px;border-radius:5px;background:var(--slider-bg);position:relative;overflow:hidden}.slider .progress{height:6px;position:absolute;left:0;right:0;border-radius:5px;background:var(--slider-progress-bg)}.range-input{position:relative;margin-bottom:14px}.range-input input[type=range]{position:absolute;top:-5px;width:100%;height:5px;background:none;pointer-events:none;-webkit-appearance:none}.range-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]::-moz-range-thumb{-moz-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]:focus::-webkit-slider-thumb,.range-input input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 4px var(--shadow-color);outline:none}.price-container{display:flex;flex-wrap:wrap;gap:1rem}.price-label-wrapper{display:flex;flex-direction:column;flex:0 1 auto;min-width:0}.price-label{font-weight:600;color:var(--label-color);margin-bottom:.25rem}.price-value{white-space:nowrap;font-weight:700;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;font-size:14px}.price-value-right{text-align:right}\n"], dependencies: [{ kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
134
145
|
}
|
|
135
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PriceRangeFilterComponent, decorators: [{
|
|
136
147
|
type: Component,
|
|
137
|
-
args: [{ selector: 'lib-price-range-filter', standalone: true, imports: [EcCurrencySymbolPipe, CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slider\">\
|
|
148
|
+
args: [{ selector: 'lib-price-range-filter', standalone: true, imports: [EcCurrencySymbolPipe, CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slider\">\n <div class=\"slider\">\n <div class=\"progress\" [ngStyle]=\"getSliderStyle(filter)\">\n </div>\n </div>\n</div>\n<div class=\"range-input d-flex gap-2\">\n <input #rangeMin type=\"range\" class=\"range-min\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMinValue(filter)\" (input)=\"onRangeChange($event, 'min', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n <input #rangeMax type=\"range\" class=\"range-max\" [min]=\"filter.minPrice\" [max]=\"filter.maxPrice\"\n [value]=\"getMaxValue(filter)\" (input)=\"onRangeChange($event, 'max', filter)\"\n (change)=\"updatePriceRange(filter); scrollUp()\">\n</div>\n<!-- precios M\u00EDnimo / M\u00E1ximo -->\n<div class=\"price-container mt-2\">\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00EDnimo:</span>\n <span class=\"price-value\">\n {{ (getFormattedMinPrice(filter) | ecCurrencySymbol) || '0' }}\n </span>\n </div>\n <div class=\"price-label-wrapper\">\n <span class=\"price-label\">M\u00E1ximo:</span>\n <span class=\"price-value price-value-right\">\n {{ getFormattedMaxPrice(filter) | ecCurrencySymbol }}\n </span>\n </div>\n</div>", styles: [":root{--slider-bg: #ddd;--slider-progress-bg: #0FA3AF;--thumb-bg: #0FA3AF;--thumb-border: #fff;--text-color: #131716;--label-color: #0FA3AF;--shadow-color: rgba(15, 163, 175, .4)}.slider{height:6px;border-radius:5px;background:var(--slider-bg);position:relative;overflow:hidden}.slider .progress{height:6px;position:absolute;left:0;right:0;border-radius:5px;background:var(--slider-progress-bg)}.range-input{position:relative;margin-bottom:14px}.range-input input[type=range]{position:absolute;top:-5px;width:100%;height:5px;background:none;pointer-events:none;-webkit-appearance:none}.range-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]::-moz-range-thumb{-moz-appearance:none;pointer-events:auto;height:20px;width:20px;border-radius:50%;background:var(--thumb-bg);border:3px solid var(--thumb-border);cursor:pointer;box-shadow:0 4px 8px #0003}.range-input input[type=range]:focus::-webkit-slider-thumb,.range-input input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 4px var(--shadow-color);outline:none}.price-container{display:flex;flex-wrap:wrap;gap:1rem}.price-label-wrapper{display:flex;flex-direction:column;flex:0 1 auto;min-width:0}.price-label{font-weight:600;color:var(--label-color);margin-bottom:.25rem}.price-value{white-space:nowrap;font-weight:700;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;font-size:14px}.price-value-right{text-align:right}\n"] }]
|
|
138
149
|
}], propDecorators: { filter: [{
|
|
139
150
|
type: Input
|
|
140
151
|
}], rangeChanged: [{
|
|
141
152
|
type: Output
|
|
142
153
|
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL3ByaWNlLXJhbmdlLWZpbHRlci9wcmljZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJpY2UtcmFuZ2UtZmlsdGVyL3ByaWNlLXJhbmdlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBVW5ELE1BQU0sT0FBTyx5QkFBeUI7SUFFNUIsZUFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFakUsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNiLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFTCxNQUFNLENBQW9CO0lBQ3pCLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztJQUUxRSxjQUFjLENBQUMsTUFBVztRQUN4QixJQUFJLENBQUMsQ0FBQyxNQUFNLFlBQVksZ0JBQWdCLENBQUM7WUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFB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QUFkLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByaWNlUmFuZ2VGaWx0ZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2ZpbHRlcnMvcHJpY2VfcmFuZ2UtZmlsdGVyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRWNDdXJyZW5jeVN5bWJvbFBpcGUgfSBmcm9tICcuLi8uLi9lYy1waXBlJztcclxuaW1wb3J0IHsgRmlsdGVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1wcmljZS1yYW5nZS1maWx0ZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0VjQ3VycmVuY3lTeW1ib2xQaXBlLCBDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmljZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcmljZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmljZVJhbmdlRmlsdGVyQ29tcG9uZW50IHtcclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyc1NlcnZpY2U6IEZpbHRlcnNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNTZXJ2aWNlKTtcclxuXHJcbiAgcHJpY2VHYXAgPSAxO1xyXG4gIHJvdW5kU3RlcCA9IDU7XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlciE6IFByaWNlUmFuZ2VGaWx0ZXI7XHJcbiAgQE91dHB1dCgpIHJhbmdlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtaW46IG51bWJlcjsgbWF4OiBudW1iZXIgfT4oKTtcclxuXHJcbiAgZ2V0U2xpZGVyU3R5bGUoZmlsdGVyOiBhbnkpOiB7IFtrbGFzczogc3RyaW5nXTogc3RyaW5nIH0ge1xyXG4gICAgaWYgKCEoZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcikpIHJldHVybiB7IGxlZnQ6ICcwJScsIHJpZ2h0OiAnMCUnIH07XHJcblxyXG4gICAgY29uc3QgbGVmdCA9IHRoaXMuY2FsY3VsYXRlTGVmdFBlcmNlbnRhZ2UoZmlsdGVyKTtcclxuICAgIGNvbnN0IHJpZ2h0ID0gdGhpcy5jYWxjdWxhdGVSaWdodFBlcmNlbnRhZ2UoZmlsdGVyKTtcclxuICAgIHJldHVybiB7IGxlZnQ6IGAke2xlZnR9JWAsIHJpZ2h0OiBgJHtyaWdodH0lYCB9O1xyXG4gIH1cclxuXHJcbiAgLy8gTcOpdG9kb3MgcGFyYSBhY3R1YWxpemFyIGxhIGJhcnJhIGRlbCBmaWx0cm8gcG9yIHByZWNpb1xyXG4gIGNhbGN1bGF0ZUxlZnRQZXJjZW50YWdlKGZpbHRlcjogYW55KTogbnVtYmVyIHtcclxuICAgIGlmICghKGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIpKSByZXR1cm4gMDtcclxuXHJcbiAgICBjb25zdCBtaW4gPSBmaWx0ZXIubWluUHJpY2U7XHJcbiAgICBjb25zdCBtYXggPSBmaWx0ZXIubWF4UHJpY2U7XHJcbiAgICBjb25zdCBjdXJyZW50TWluID0gZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA/PyBtaW47XHJcblxyXG4gICAgY29uc3QgY2xhbXBlZE1pbiA9IE1hdGgubWF4KG1pbiwgTWF0aC5taW4oY3VycmVudE1pbiwgbWF4KSk7XHJcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgTWF0aC5taW4oKChjbGFtcGVkTWluIC0gbWluKSAvIChtYXggLSBtaW4pKSAqIDEwMCwgMTAwKSk7XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVSaWdodFBlcmNlbnRhZ2UoZmlsdGVyOiBhbnkpOiBudW1iZXIge1xyXG4gICAgaWYgKCEoZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcikpIHJldHVybiAwO1xyXG5cclxuICAgIGNvbnN0IG1pbiA9IGZpbHRlci5taW5QcmljZTtcclxuICAgIGNvbnN0IG1heCA9IGZpbHRlci5tYXhQcmljZTtcclxuICAgIGNvbnN0IGN1cnJlbnRNYXggPSBmaWx0ZXIuY3VycmVudE1heFByaWNlID8/IG1heDtcclxuXHJcbiAgICBjb25zdCBjbGFtcGVkTWF4ID0gTWF0aC5tYXgobWluLCBNYXRoLm1pbihjdXJyZW50TWF4LCBtYXgpKTtcclxuICAgIHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAgLSAoKGNsYW1wZWRNYXggLSBtaW4pIC8gKG1heCAtIG1pbikpICogMTAwLCAxMDApKTtcclxuICB9XHJcblxyXG4gIC8vIE3DqXRvZG8gcGFyYSBhY3R1YWxpemFyIGxvcyB2YWxvcmVzIGRlIHByZWNpbyBzZWxlY2Npb25hZG9zXHJcbiAgdXBkYXRlUHJpY2VSYW5nZShmaWx0ZXI6IGFueSkge1xyXG4gICAgaWYgKCEoZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcikpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBtaW4gPSBmaWx0ZXIuY3VycmVudE1pblByaWNlID8/IGZpbHRlci5taW5QcmljZTtcclxuICAgIGNvbnN0IG1heCA9IGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPz8gZmlsdGVyLm1heFByaWNlO1xyXG4gICAgdGhpcy5fZmlsdGVyc1NlcnZpY2UudXBkYXRlUHJpY2VSYW5nZUZpbHRlcihtaW4sIG1heCk7XHJcbiAgfVxyXG5cclxuICBnZXRNaW5WYWx1ZShmaWx0ZXI6IGFueSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gKGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIgJiYgZmlsdGVyLmN1cnJlbnRNaW5QcmljZSAhPSBudWxsKVxyXG4gICAgICA/IGZpbHRlci5jdXJyZW50TWluUHJpY2VcclxuICAgICAgOiBmaWx0ZXIubWluUHJpY2U7XHJcbiAgfVxyXG5cclxuICBnZXRNYXhWYWx1ZShmaWx0ZXI6IGFueSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gKGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIgJiYgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSAhPSBudWxsKVxyXG4gICAgICA/IGZpbHRlci5jdXJyZW50TWF4UHJpY2VcclxuICAgICAgOiBmaWx0ZXIubWF4UHJpY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIFJlZG9uZGVhIGFsIG3Dumx0aXBsbyBkZSAnc3RlcCcgcmVzcGV0YW5kbyBlbCByZWRvbmRlbyBlbnRlcm86XHJcbiAgKiAtIE3DrW5pbW86IHJlZG9uZGVhIGhhY2lhIGFiYWpvLlxyXG4gICogLSBNw6F4aW1vOiByZWRvbmRlYSBoYWNpYSBhcnJpYmEuXHJcbiAgKi9cclxuICBvblJhbmdlQ2hhbmdlKGV2ZW50OiBFdmVudCwgdHlwZTogJ21pbicgfCAnbWF4JywgZmlsdGVyOiBhbnkpIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBsZXQgdmFsdWUgPSBwYXJzZUZsb2F0KGlucHV0LnZhbHVlKTtcclxuICAgIHZhbHVlID0gdGhpcy5yb3VuZFRvTmVhcmVzdCh2YWx1ZSwgdGhpcy5yb3VuZFN0ZXAsIHR5cGUsIGZpbHRlcik7XHJcbiAgICB0aGlzLnVwZGF0ZUZpbHRlclByaWNlcyh0eXBlLCB2YWx1ZSwgZmlsdGVyLCB0aGlzLnByaWNlR2FwKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByb3VuZFRvTmVhcmVzdCh2YWx1ZTogbnVtYmVyLCBzdGVwOiBudW1iZXIsIHR5cGU6ICdtaW4nIHwgJ21heCcsIGZpbHRlcjogYW55KTogbnVtYmVyIHtcclxuICAgIGxldCByb3VuZGVkID0gTWF0aC5yb3VuZCh2YWx1ZSAvIHN0ZXApICogc3RlcDtcclxuICAgIGlmICh0eXBlID09PSAnbWF4JyAmJiByb3VuZGVkIDwgZmlsdGVyLm1heFByaWNlKSB7XHJcbiAgICAgIHJvdW5kZWQgPSBNYXRoLmNlaWwodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZSA9PT0gJ21pbicgJiYgcm91bmRlZCA+IGZpbHRlci5taW5QcmljZSkge1xyXG4gICAgICByb3VuZGVkID0gTWF0aC5mbG9vcih2YWx1ZSAvIHN0ZXApICogc3RlcDtcclxuICAgIH1cclxuICAgIHJldHVybiByb3VuZGVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBBY3R1YWxpemEgbG9zIHZhbG9yZXMgZGVsIGZpbHRybyBwZXJtaXRpZW5kbyBxdWUgdW4gaW5wdXQgZW1wdWplIGFsIG90cm8uXHJcbiAgKi9cclxuICBwcm90ZWN0ZWQgdXBkYXRlRmlsdGVyUHJpY2VzKHR5cGU6ICdtaW4nIHwgJ21heCcsIHZhbHVlOiBudW1iZXIsIGZpbHRlcjogYW55LCBwcmljZUdhcDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBnbG9iYWxNaW4gPSBmaWx0ZXIubWluUHJpY2UgPz8gMDtcclxuICAgIGNvbnN0IGdsb2JhbE1heCA9IGZpbHRlci5tYXhQcmljZTtcclxuXHJcbiAgICBsZXQgY3VycmVudE1pbiA9IGZpbHRlci5jdXJyZW50TWluUHJpY2UgPz8gZ2xvYmFsTWluO1xyXG4gICAgbGV0IGN1cnJlbnRNYXggPSBmaWx0ZXIuY3VycmVudE1heFByaWNlID8/IGdsb2JhbE1heDtcclxuXHJcbiAgICBpZiAodHlwZSA9PT0gJ21pbicpIHtcclxuICAgICAgbGV0IG5ld01pbiA9IE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBnbG9iYWxNaW4pLCBnbG9iYWxNYXgpO1xyXG4gICAgICBpZiAobmV3TWluICsgcHJpY2VHYXAgPiBjdXJyZW50TWF4KSB7XHJcbiAgICAgICAgbGV0IG5ld01heENhbmRpZGF0ZSA9IG5ld01pbiArIHByaWNlR2FwO1xyXG4gICAgICAgIGlmIChuZXdNYXhDYW5kaWRhdGUgPD0gZ2xvYmFsTWF4KSB7XHJcbiAgICAgICAgICBjdXJyZW50TWF4ID0gbmV3TWF4Q2FuZGlkYXRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBuZXdNaW4gPSBnbG9iYWxNYXggLSBwcmljZUdhcDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZmlsdGVyLmN1cnJlbnRNaW5QcmljZSA9IG5ld01pbjtcclxuICAgICAgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA9IGN1cnJlbnRNYXg7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdtYXgnKSB7XHJcbiAgICAgIGxldCBuZXdNYXggPSBNYXRoLm1heChNYXRoLm1pbih2YWx1ZSwgZ2xvYmFsTWF4KSwgZ2xvYmFsTWluKTtcclxuICAgICAgaWYgKG5ld01heCAtIHByaWNlR2FwIDwgY3VycmVudE1pbikge1xyXG4gICAgICAgIGxldCBuZXdNaW5DYW5kaWRhdGUgPSBuZXdNYXggLSBwcmljZUdhcDtcclxuICAgICAgICBpZiAobmV3TWluQ2FuZGlkYXRlID49IGdsb2JhbE1pbikge1xyXG4gICAgICAgICAgY3VycmVudE1pbiA9IG5ld01pbkNhbmRpZGF0ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbmV3TWF4ID0gZ2xvYmFsTWluICsgcHJpY2VHYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPSBuZXdNYXg7XHJcbiAgICAgIGZpbHRlci5jdXJyZW50TWluUHJpY2UgPSBjdXJyZW50TWluO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2Nyb2xsVXAgPSAoKSA9PiB7XHJcbiAgICB3aW5kb3cuc2Nyb2xsKDAsIDApO1xyXG4gICAgcmV0dXJuIHRydWVcclxuICB9XHJcblxyXG4gIGdldEZvcm1hdHRlZE1pblByaWNlKGZpbHRlcjogYW55KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHZhbHVlID0gKGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIgJiYgZmlsdGVyLmN1cnJlbnRNaW5QcmljZSAhPSBudWxsKVxyXG4gICAgICA/IGZpbHRlci5jdXJyZW50TWluUHJpY2VcclxuICAgICAgOiBmaWx0ZXIubWluUHJpY2U7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtYXR0ZWRNYXhQcmljZShmaWx0ZXI6IGFueSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IChmaWx0ZXIgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyICYmIGZpbHRlci5jdXJyZW50TWF4UHJpY2UgIT0gbnVsbClcclxuICAgICAgPyBmaWx0ZXIuY3VycmVudE1heFByaWNlXHJcbiAgICAgIDogZmlsdGVyLm1heFByaWNlO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2xpZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2xpZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCIgW25nU3R5bGVdPVwiZ2V0U2xpZGVyU3R5bGUoZmlsdGVyKVwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicmFuZ2UtaW5wdXQgZC1mbGV4IGdhcC0yXCI+XHJcbiAgICA8aW5wdXQgI3JhbmdlTWluIHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwicmFuZ2UtbWluXCIgW21pbl09XCJmaWx0ZXIubWluUHJpY2VcIiBbbWF4XT1cImZpbHRlci5tYXhQcmljZVwiXHJcbiAgICAgICAgW3ZhbHVlXT1cImdldE1pblZhbHVlKGZpbHRlcilcIiAoaW5wdXQpPVwib25SYW5nZUNoYW5nZSgkZXZlbnQsICdtaW4nLCBmaWx0ZXIpXCJcclxuICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZVByaWNlUmFuZ2UoZmlsdGVyKTsgc2Nyb2xsVXAoKVwiPlxyXG4gICAgPGlucHV0ICNyYW5nZU1heCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cInJhbmdlLW1heFwiIFttaW5dPVwiZmlsdGVyLm1pblByaWNlXCIgW21heF09XCJmaWx0ZXIubWF4UHJpY2VcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJnZXRNYXhWYWx1ZShmaWx0ZXIpXCIgKGlucHV0KT1cIm9uUmFuZ2VDaGFuZ2UoJGV2ZW50LCAnbWF4JywgZmlsdGVyKVwiXHJcbiAgICAgICAgKGNoYW5nZSk9XCJ1cGRhdGVQcmljZVJhbmdlKGZpbHRlcik7IHNjcm9sbFVwKClcIj5cclxuPC9kaXY+XHJcbjwhLS0gcHJlY2lvcyBNw61uaW1vIC8gTcOheGltbyAtLT5cclxuPGRpdiBjbGFzcz1cInByaWNlLWNvbnRhaW5lciBtdC0yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJpY2UtbGFiZWwtd3JhcHBlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2UtbGFiZWxcIj5Nw61uaW1vOjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLXZhbHVlXCI+XHJcbiAgICAgICAgICAgIHt7IChnZXRGb3JtYXR0ZWRNaW5QcmljZShmaWx0ZXIpIHwgZWNDdXJyZW5jeVN5bWJvbCkgfHwgJzAnIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJpY2UtbGFiZWwtd3JhcHBlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2UtbGFiZWxcIj5Nw6F4aW1vOjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLXZhbHVlIHByaWNlLXZhbHVlLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIHt7IGdldEZvcm1hdHRlZE1heFByaWNlKGZpbHRlcikgfCBlY0N1cnJlbmN5U3ltYm9sIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL2xpYi9lYy1jb21wb25lbnRzL3ByaWNlLXJhbmdlLWZpbHRlci9wcmljZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJpY2UtcmFuZ2UtZmlsdGVyL3ByaWNlLXJhbmdlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVekQsTUFBTSxPQUFPLHlCQUF5QjtJQUU1QixlQUFlLEdBQW1CLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxNQUFNLEdBQVcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLEtBQUssR0FBbUIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXZELFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDYixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRUwsTUFBTSxDQUFvQjtJQUN6QixZQUFZLEdB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Q0FBQztJQUVELG9CQUFvQixDQUFDLE1BQVc7UUFDOUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLFlBQVksZ0JBQWdCLElBQUksTUFBTSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUM7WUFDbEYsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlO1lBQ3hCLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt3R0F0SlUseUJBQXlCOzRGQUF6Qix5QkFBeUIsMkpDZnRDLDR4Q0E0Qk0sOG5ERGxCTSxvQkFBb0Isd0RBQUUsWUFBWTs7NEZBS2pDLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQVd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmljZVJhbmdlRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXJzL3ByaWNlX3JhbmdlLWZpbHRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWNDdXJyZW5jeVN5bWJvbFBpcGUgfSBmcm9tICcuLi8uLi9lYy1waXBlJztcbmltcG9ydCB7IEZpbHRlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wcmljZS1yYW5nZS1maWx0ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRWNDdXJyZW5jeVN5bWJvbFBpcGUsIENvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmljZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcHJpY2UtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUHJpY2VSYW5nZUZpbHRlckNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSBfZmlsdGVyc1NlcnZpY2U6IEZpbHRlcnNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG5cbiAgcHJpY2VHYXAgPSAxO1xuICByb3VuZFN0ZXAgPSA1O1xuXG4gIEBJbnB1dCgpIGZpbHRlciE6IFByaWNlUmFuZ2VGaWx0ZXI7XG4gIEBPdXRwdXQoKSByYW5nZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWluOiBudW1iZXI7IG1heDogbnVtYmVyIH0+KCk7XG5cbiAgZ2V0U2xpZGVyU3R5bGUoZmlsdGVyOiBhbnkpOiB7IFtrbGFzczogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGlmICghKGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIpKSByZXR1cm4geyBsZWZ0OiAnMCUnLCByaWdodDogJzAlJyB9O1xuXG4gICAgY29uc3QgbGVmdCA9IHRoaXMuY2FsY3VsYXRlTGVmdFBlcmNlbnRhZ2UoZmlsdGVyKTtcbiAgICBjb25zdCByaWdodCA9IHRoaXMuY2FsY3VsYXRlUmlnaHRQZXJjZW50YWdlKGZpbHRlcik7XG4gICAgcmV0dXJuIHsgbGVmdDogYCR7bGVmdH0lYCwgcmlnaHQ6IGAke3JpZ2h0fSVgIH07XG4gIH1cblxuICAvLyBNw6l0b2RvcyBwYXJhIGFjdHVhbGl6YXIgbGEgYmFycmEgZGVsIGZpbHRybyBwb3IgcHJlY2lvXG4gIGNhbGN1bGF0ZUxlZnRQZXJjZW50YWdlKGZpbHRlcjogYW55KTogbnVtYmVyIHtcbiAgICBpZiAoIShmaWx0ZXIgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyKSkgcmV0dXJuIDA7XG5cbiAgICBjb25zdCBtaW4gPSBmaWx0ZXIubWluUHJpY2U7XG4gICAgY29uc3QgbWF4ID0gZmlsdGVyLm1heFByaWNlO1xuICAgIGNvbnN0IGN1cnJlbnRNaW4gPSBmaWx0ZXIuY3VycmVudE1pblByaWNlID8/IG1pbjtcblxuICAgIGNvbnN0IGNsYW1wZWRNaW4gPSBNYXRoLm1heChtaW4sIE1hdGgubWluKGN1cnJlbnRNaW4sIG1heCkpO1xuICAgIHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1pbigoKGNsYW1wZWRNaW4gLSBtaW4pIC8gKG1heCAtIG1pbikpICogMTAwLCAxMDApKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVJpZ2h0UGVyY2VudGFnZShmaWx0ZXI6IGFueSk6IG51bWJlciB7XG4gICAgaWYgKCEoZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcikpIHJldHVybiAwO1xuXG4gICAgY29uc3QgbWluID0gZmlsdGVyLm1pblByaWNlO1xuICAgIGNvbnN0IG1heCA9IGZpbHRlci5tYXhQcmljZTtcbiAgICBjb25zdCBjdXJyZW50TWF4ID0gZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA/PyBtYXg7XG5cbiAgICBjb25zdCBjbGFtcGVkTWF4ID0gTWF0aC5tYXgobWluLCBNYXRoLm1pbihjdXJyZW50TWF4LCBtYXgpKTtcbiAgICByZXR1cm4gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwIC0gKChjbGFtcGVkTWF4IC0gbWluKSAvIChtYXggLSBtaW4pKSAqIDEwMCwgMTAwKSk7XG4gIH1cblxuICAvLyBNw6l0b2RvIHBhcmEgYWN0dWFsaXphciBsb3MgdmFsb3JlcyBkZSBwcmVjaW8gc2VsZWNjaW9uYWRvc1xuICB1cGRhdGVQcmljZVJhbmdlKGZpbHRlcjogYW55KSB7XG4gICAgaWYgKCEoZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlcikpIHJldHVybjtcblxuICAgIGNvbnN0IG1pbiA9IGZpbHRlci5jdXJyZW50TWluUHJpY2UgPz8gZmlsdGVyLm1pblByaWNlO1xuICAgIGNvbnN0IG1heCA9IGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPz8gZmlsdGVyLm1heFByaWNlO1xuXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBwcmljZV9taW46IG1pbiAhPT0gZmlsdGVyLm1pblByaWNlID8gbWluIDogbnVsbCxcbiAgICAgICAgcHJpY2VfbWF4OiBtYXggIT09IGZpbHRlci5tYXhQcmljZSA/IG1heCA6IG51bGwsXG4gICAgICAgIHBhZ2U6IG51bGwsXG4gICAgICB9LFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJ1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0TWluVmFsdWUoZmlsdGVyOiBhbnkpOiBudW1iZXIge1xuICAgIHJldHVybiAoZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlciAmJiBmaWx0ZXIuY3VycmVudE1pblByaWNlICE9IG51bGwpXG4gICAgICA/IGZpbHRlci5jdXJyZW50TWluUHJpY2VcbiAgICAgIDogZmlsdGVyLm1pblByaWNlO1xuICB9XG5cbiAgZ2V0TWF4VmFsdWUoZmlsdGVyOiBhbnkpOiBudW1iZXIge1xuICAgIHJldHVybiAoZmlsdGVyIGluc3RhbmNlb2YgUHJpY2VSYW5nZUZpbHRlciAmJiBmaWx0ZXIuY3VycmVudE1heFByaWNlICE9IG51bGwpXG4gICAgICA/IGZpbHRlci5jdXJyZW50TWF4UHJpY2VcbiAgICAgIDogZmlsdGVyLm1heFByaWNlO1xuICB9XG5cbiAgLyoqXG4gICogUmVkb25kZWEgYWwgbcO6bHRpcGxvIGRlICdzdGVwJyByZXNwZXRhbmRvIGVsIHJlZG9uZGVvIGVudGVybzpcbiAgKiAtIE3DrW5pbW86IHJlZG9uZGVhIGhhY2lhIGFiYWpvLlxuICAqIC0gTcOheGltbzogcmVkb25kZWEgaGFjaWEgYXJyaWJhLlxuICAqL1xuICBvblJhbmdlQ2hhbmdlKGV2ZW50OiBFdmVudCwgdHlwZTogJ21pbicgfCAnbWF4JywgZmlsdGVyOiBhbnkpIHtcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGxldCB2YWx1ZSA9IHBhcnNlRmxvYXQoaW5wdXQudmFsdWUpO1xuICAgIHZhbHVlID0gdGhpcy5yb3VuZFRvTmVhcmVzdCh2YWx1ZSwgdGhpcy5yb3VuZFN0ZXAsIHR5cGUsIGZpbHRlcik7XG4gICAgdGhpcy51cGRhdGVGaWx0ZXJQcmljZXModHlwZSwgdmFsdWUsIGZpbHRlciwgdGhpcy5wcmljZUdhcCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcm91bmRUb05lYXJlc3QodmFsdWU6IG51bWJlciwgc3RlcDogbnVtYmVyLCB0eXBlOiAnbWluJyB8ICdtYXgnLCBmaWx0ZXI6IGFueSk6IG51bWJlciB7XG4gICAgbGV0IHJvdW5kZWQgPSBNYXRoLnJvdW5kKHZhbHVlIC8gc3RlcCkgKiBzdGVwO1xuICAgIGlmICh0eXBlID09PSAnbWF4JyAmJiByb3VuZGVkIDwgZmlsdGVyLm1heFByaWNlKSB7XG4gICAgICByb3VuZGVkID0gTWF0aC5jZWlsKHZhbHVlIC8gc3RlcCkgKiBzdGVwO1xuICAgIH1cbiAgICBpZiAodHlwZSA9PT0gJ21pbicgJiYgcm91bmRlZCA+IGZpbHRlci5taW5QcmljZSkge1xuICAgICAgcm91bmRlZCA9IE1hdGguZmxvb3IodmFsdWUgLyBzdGVwKSAqIHN0ZXA7XG4gICAgfVxuICAgIHJldHVybiByb3VuZGVkO1xuICB9XG5cbiAgLyoqXG4gICogQWN0dWFsaXphIGxvcyB2YWxvcmVzIGRlbCBmaWx0cm8gcGVybWl0aWVuZG8gcXVlIHVuIGlucHV0IGVtcHVqZSBhbCBvdHJvLlxuICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlRmlsdGVyUHJpY2VzKHR5cGU6ICdtaW4nIHwgJ21heCcsIHZhbHVlOiBudW1iZXIsIGZpbHRlcjogYW55LCBwcmljZUdhcDogbnVtYmVyKSB7XG4gICAgY29uc3QgZ2xvYmFsTWluID0gZmlsdGVyLm1pblByaWNlID8/IDA7XG4gICAgY29uc3QgZ2xvYmFsTWF4ID0gZmlsdGVyLm1heFByaWNlO1xuXG4gICAgbGV0IGN1cnJlbnRNaW4gPSBmaWx0ZXIuY3VycmVudE1pblByaWNlID8/IGdsb2JhbE1pbjtcbiAgICBsZXQgY3VycmVudE1heCA9IGZpbHRlci5jdXJyZW50TWF4UHJpY2UgPz8gZ2xvYmFsTWF4O1xuXG4gICAgaWYgKHR5cGUgPT09ICdtaW4nKSB7XG4gICAgICBsZXQgbmV3TWluID0gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIGdsb2JhbE1pbiksIGdsb2JhbE1heCk7XG4gICAgICBpZiAobmV3TWluICsgcHJpY2VHYXAgPiBjdXJyZW50TWF4KSB7XG4gICAgICAgIGxldCBuZXdNYXhDYW5kaWRhdGUgPSBuZXdNaW4gKyBwcmljZUdhcDtcbiAgICAgICAgaWYgKG5ld01heENhbmRpZGF0ZSA8PSBnbG9iYWxNYXgpIHtcbiAgICAgICAgICBjdXJyZW50TWF4ID0gbmV3TWF4Q2FuZGlkYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld01pbiA9IGdsb2JhbE1heCAtIHByaWNlR2FwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmaWx0ZXIuY3VycmVudE1pblByaWNlID0gbmV3TWluO1xuICAgICAgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA9IGN1cnJlbnRNYXg7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnbWF4Jykge1xuICAgICAgbGV0IG5ld01heCA9IE1hdGgubWF4KE1hdGgubWluKHZhbHVlLCBnbG9iYWxNYXgpLCBnbG9iYWxNaW4pO1xuICAgICAgaWYgKG5ld01heCAtIHByaWNlR2FwIDwgY3VycmVudE1pbikge1xuICAgICAgICBsZXQgbmV3TWluQ2FuZGlkYXRlID0gbmV3TWF4IC0gcHJpY2VHYXA7XG4gICAgICAgIGlmIChuZXdNaW5DYW5kaWRhdGUgPj0gZ2xvYmFsTWluKSB7XG4gICAgICAgICAgY3VycmVudE1pbiA9IG5ld01pbkNhbmRpZGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdNYXggPSBnbG9iYWxNaW4gKyBwcmljZUdhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSA9IG5ld01heDtcbiAgICAgIGZpbHRlci5jdXJyZW50TWluUHJpY2UgPSBjdXJyZW50TWluO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbFVwID0gKCkgPT4ge1xuICAgIHdpbmRvdy5zY3JvbGwoMCwgMCk7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGdldEZvcm1hdHRlZE1pblByaWNlKGZpbHRlcjogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IChmaWx0ZXIgaW5zdGFuY2VvZiBQcmljZVJhbmdlRmlsdGVyICYmIGZpbHRlci5jdXJyZW50TWluUHJpY2UgIT0gbnVsbClcbiAgICAgID8gZmlsdGVyLmN1cnJlbnRNaW5QcmljZVxuICAgICAgOiBmaWx0ZXIubWluUHJpY2U7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkTWF4UHJpY2UoZmlsdGVyOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gKGZpbHRlciBpbnN0YW5jZW9mIFByaWNlUmFuZ2VGaWx0ZXIgJiYgZmlsdGVyLmN1cnJlbnRNYXhQcmljZSAhPSBudWxsKVxuICAgICAgPyBmaWx0ZXIuY3VycmVudE1heFByaWNlXG4gICAgICA6IGZpbHRlci5tYXhQcmljZTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzbGlkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2xpZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiIFtuZ1N0eWxlXT1cImdldFNsaWRlclN0eWxlKGZpbHRlcilcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyYW5nZS1pbnB1dCBkLWZsZXggZ2FwLTJcIj5cbiAgICA8aW5wdXQgI3JhbmdlTWluIHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwicmFuZ2UtbWluXCIgW21pbl09XCJmaWx0ZXIubWluUHJpY2VcIiBbbWF4XT1cImZpbHRlci5tYXhQcmljZVwiXG4gICAgICAgIFt2YWx1ZV09XCJnZXRNaW5WYWx1ZShmaWx0ZXIpXCIgKGlucHV0KT1cIm9uUmFuZ2VDaGFuZ2UoJGV2ZW50LCAnbWluJywgZmlsdGVyKVwiXG4gICAgICAgIChjaGFuZ2UpPVwidXBkYXRlUHJpY2VSYW5nZShmaWx0ZXIpOyBzY3JvbGxVcCgpXCI+XG4gICAgPGlucHV0ICNyYW5nZU1heCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cInJhbmdlLW1heFwiIFttaW5dPVwiZmlsdGVyLm1pblByaWNlXCIgW21heF09XCJmaWx0ZXIubWF4UHJpY2VcIlxuICAgICAgICBbdmFsdWVdPVwiZ2V0TWF4VmFsdWUoZmlsdGVyKVwiIChpbnB1dCk9XCJvblJhbmdlQ2hhbmdlKCRldmVudCwgJ21heCcsIGZpbHRlcilcIlxuICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZVByaWNlUmFuZ2UoZmlsdGVyKTsgc2Nyb2xsVXAoKVwiPlxuPC9kaXY+XG48IS0tIHByZWNpb3MgTcOtbmltbyAvIE3DoXhpbW8gLS0+XG48ZGl2IGNsYXNzPVwicHJpY2UtY29udGFpbmVyIG10LTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHJpY2UtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLWxhYmVsXCI+TcOtbmltbzo8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2UtdmFsdWVcIj5cbiAgICAgICAgICAgIHt7IChnZXRGb3JtYXR0ZWRNaW5QcmljZShmaWx0ZXIpIHwgZWNDdXJyZW5jeVN5bWJvbCkgfHwgJzAnIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHJpY2UtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInByaWNlLWxhYmVsXCI+TcOheGltbzo8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJpY2UtdmFsdWUgcHJpY2UtdmFsdWUtcmlnaHRcIj5cbiAgICAgICAgICAgIHt7IGdldEZvcm1hdHRlZE1heFByaWNlKGZpbHRlcikgfCBlY0N1cnJlbmN5U3ltYm9sIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -102,12 +102,9 @@ export class ProductDetailEcComponent {
|
|
|
102
102
|
this._meta.updateTag({ property: 'og:type', content: 'product' });
|
|
103
103
|
}
|
|
104
104
|
decodeHtml(html) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return txt.value;
|
|
109
|
-
}
|
|
110
|
-
return html;
|
|
105
|
+
const txt = document.createElement('textarea');
|
|
106
|
+
txt.innerHTML = html;
|
|
107
|
+
return txt.value;
|
|
111
108
|
}
|
|
112
109
|
sanitizedHtml(html) {
|
|
113
110
|
const decodedHtml = this.decodeHtml(html);
|
|
@@ -157,11 +154,9 @@ export class ProductDetailEcComponent {
|
|
|
157
154
|
goToSection(section) {
|
|
158
155
|
this.showFormContact = true;
|
|
159
156
|
setTimeout(() => {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
element.scrollIntoView({ behavior: 'smooth' });
|
|
164
|
-
}
|
|
157
|
+
const element = document.getElementById(section);
|
|
158
|
+
if (element) {
|
|
159
|
+
element.scrollIntoView({ behavior: 'smooth' });
|
|
165
160
|
}
|
|
166
161
|
}, 500);
|
|
167
162
|
}
|
|
@@ -219,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
219
214
|
type: Component,
|
|
220
215
|
args: [{ selector: 'app-product-detail-ec', standalone: true, imports: [VariantsEcComponent], template: "" }]
|
|
221
216
|
}], ctorParameters: () => [] });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtCLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1C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LENBQUMsR0FBRyxHQUFHLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUMsQ0FBQyxDQUFDO0lBRUg7O1FBRUk7SUFDSixnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsU0FBYztRQUM1QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsK0RBQStEO1FBQy9ELElBQUksT0FBUSxJQUFZLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ2pELElBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBRUQsOENBQThDO1FBQzlDLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLElBQVksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO3dHQXRPVSx3QkFBd0I7NEZBQXhCLHdCQUF3QixpRkMxQnJDLEVBQUE7OzRGRDBCYSx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIEluamVjdG9yLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSwgQ2hhbm5lbFNlcnZpY2UsIENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIFdyaXRhYmxlU2lnbmFsLCBzaWduYWwsIFBMQVRGT1JNX0lELCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNZXRhLCBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUHJvZHVjdERldGFpbFNlcnZpY2UsIFByb2R1Y3RzU2VydmljZSwgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgaGUgZnJvbSAnaGUnO1xyXG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgVmFyaWFudHNFY0NvbXBvbmVudCB9IGZyb20gJy4uL3ZhcmlhbnRzLWVjL3ZhcmlhbnRzLWVjLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LWRldGFpbC1lYycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbVmFyaWFudHNFY0NvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsRWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfY2FydFNlcnZpY2U6IENhcnRTZXJ2aWNlID0gaW5qZWN0KENhcnRTZXJ2aWNlKVxyXG4gIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSA9IGluamVjdChPcHRpb25zU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBfcHJvZHVjdERldGFpbFNlcnZpY2U6IFByb2R1Y3REZXRhaWxTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3REZXRhaWxTZXJ2aWNlKTtcclxuICBwcml2YXRlIF9wcm9kdWN0U2VydmljZTogUHJvZHVjdHNTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3RzU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBfYWN0aXZlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcclxuICBwcml2YXRlIF9jb25zdHM6IENvcmVDb25zdGFudHNTZXJ2aWNlID0gaW5qZWN0KENvcmVDb25zdGFudHNTZXJ2aWNlKTtcclxuICBwcml2YXRlIF90b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcGFyYW1ldGVyc1NlcnZpY2UgPSBpbmplY3QoUGFyYW1ldGVyc1NlcnZpY2UpO1xyXG4gIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xyXG4gIHByaXZhdGUgX21ldGE6IE1ldGEgPSBpbmplY3QoTWV0YSk7XHJcbiAgcHJpdmF0ZSBfdGl0bGU6IFRpdGxlID0gaW5qZWN0KFRpdGxlKTtcclxuICBwcml2YXRlIF9sb2NhdGlvbjogTG9jYXRpb24gPSBpbmplY3QoTG9jYXRpb24pO1xyXG4gIHB1YmxpYyBwcm9kdWN0JDogT2JzZXJ2YWJsZTxQcm9kdWN0IHwgbnVsbD4gPSB0aGlzLl9wcm9kdWN0RGV0YWlsU2VydmljZS5wcm9kdWN0JDtcclxuICBwdWJsaWMgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLm9wdGlvbnMkO1xyXG4gIHB1YmxpYyBkYXRhJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fcHJvZHVjdERldGFpbFNlcnZpY2UuYXNzb2NpYXRlZERhdGEkO1xyXG4gIHByaXZhdGUgcm91dGVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgcHJpdmF0ZSBjdXJyZW50UHJvZHVjdElkPzogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWVkaWFVcmwgPSB0aGlzLl9jb25zdHMubWVkaWFVcmwoKTtcclxuICBwdWJsaWMgY29kZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIHNob3dGb3JtQ29udGFjdCA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UmV2aWV3czogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyByZXNldDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGNhdGVnb3JpZXM6IGFueVtdID0gW107XHJcbiAgcHVibGljIHNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBoaWRlUHJpY2VzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBxdWFudGl0eTogV3JpdGFibGVTaWduYWw8bnVtYmVyPiA9IHNpZ25hbCgxKTtcclxuICBwdWJsaWMgaXNBZGRpbmdUb0NhcnQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcclxuICBwdWJsaWMgcGFyYW1ldGVycyQ6IE9ic2VydmFibGU8UGFyYW1ldGVyW10gfCBudWxsPiA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuZ2V0UGFyYW1ldGVycygpO1xyXG4gIHB1YmxpYyBoYXNQYXJhbXMgPSB0aGlzLnBhcmFtZXRlcnNTZXJ2aWNlLmhhc1BhcmFtc1xyXG4gIHB1YmxpYyBjcmVkaXRBY2NvdW50U2hvd1ByaWNlczogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG4gIC8vIEFncmVnYXIgZXN0YSBwcm9waWVkYWQgYWwgaW5pY2lvIGRlIGxhIGNsYXNlXHJcbiAgcHJpdmF0ZSBwcm9kdWN0U2lnbmFsID0gc2lnbmFsPFByb2R1Y3QgfCBudWxsPihudWxsKTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5fYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtc1tcImlkXCJdO1xyXG4gICAgICB0aGlzLl9wcm9kdWN0RGV0YWlsU2VydmljZS5sb2FkUHJvZHVjdCh0aGlzLmNvZGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMuY29kZSA9IHF1ZXJ5UGFyYW1zW1wiaWRcIl07XHJcbiAgICAgIHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLmxvYWRQcm9kdWN0KHRoaXMuY29kZSk7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5pbmplY3Rvci5nZXQoQ2hhbm5lbFNlcnZpY2UpLmNoYW5uZWwkLnN1YnNjcmliZShjaGFubmVsID0+IHtcclxuICAgICAgdGhpcy5zaG93UmV2aWV3cyA9IGNoYW5uZWwuc2hvd1Jldmlld3M7XHJcbiAgICAgIHRoaXMuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gISFjaGFubmVsLnNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VycztcclxuICAgICAgdGhpcy5oaWRlUHJpY2VzID0gISFjaGFubmVsLmhpZGVQcmljZXM7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmdldENhdGVnb3JpZXMoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5jYXRlZ29yaWVzID0gcmVzO1xyXG4gICAgfVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2NhcnRTZXJ2aWNlLnNob3dQcmljZSQuc3Vic2NyaWJlKChzaG93UHJpY2UpID0+IHtcclxuICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMucHJvZHVjdCQuc3Vic2NyaWJlKHByb2R1Y3QgPT4ge1xyXG4gICAgICB0aGlzLnByb2R1Y3RTaWduYWwuc2V0KHByb2R1Y3QpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnByb2R1Y3QkLnN1YnNjcmliZShwcm9kdWN0ID0+IHtcclxuICAgICAgaWYgKHByb2R1Y3QpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZU1ldGFUYWdzKHByb2R1Y3QpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIFN1c2NyaWJpcnNlIGEgbG9zIGNhbWJpb3MgZGUgcGFyw6FtZXRyb3MgZGUgbGEgcnV0YVxyXG4gICAgdGhpcy5yb3V0ZVN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICBjb25zdCBuZXdQcm9kdWN0SWQgPSBwYXJhbXNbJ2lkJ107XHJcbiAgICAgIGlmIChuZXdQcm9kdWN0SWQgJiYgbmV3UHJvZHVjdElkICE9PSB0aGlzLmN1cnJlbnRQcm9kdWN0SWQpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRQcm9kdWN0SWQgPSBuZXdQcm9kdWN0SWQ7XHJcblxyXG4gICAgICAgIC8vIFJlc2V0ZWFyIGVsIGVzdGFkbyBkZWwgbW9kYWwgZGUgcmVzZcOxYXMgY3VhbmRvIGNhbWJpZSBlbCBwcm9kdWN0b1xyXG4gICAgICAgIHRoaXMucmVzZXRSZXZpZXdNb2RhbCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICB1cGRhdGVNZXRhVGFncyhwcm9kdWN0OiBQcm9kdWN0KSB7XHJcbiAgICBjb25zdCBkZXNjcmlwY2lvbkxpbXBpYSA9IGhlLmRlY29kZShwcm9kdWN0LmRlc2NyaXB0aW9uIHx8ICcnKS5yZXBsYWNlKC88W14+XSo+L2csICcgJykucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKTtcclxuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLl9jb25zdHMuZ2V0RnJvbnRlbmRVcmwoKSArIHRoaXMuX3JvdXRlci51cmw7ICAvLyBVUkwgYWJzb2x1dGEgZGVsIHByb2R1Y3RvXHJcbiAgICBjb25zdCBpbWFnZVVybCA9IHRoaXMuX2NvbnN0cy5nZXRBYnNvbHV0ZUltYWdlVXJsKEFycmF5LmlzQXJyYXkocHJvZHVjdC5waWN0dXJlc2RlZmF1bHQpID8gcHJvZHVjdC5waWN0dXJlc2RlZmF1bHRbMF0gOiBwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdCk7XHJcblxyXG5cclxuICAgIHRoaXMuX21ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0aXRsZScsIGNvbnRlbnQ6IHByb2R1Y3QubmFtZSB8fCAnJyB9KTtcclxuICAgIHRoaXMuX21ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGRlc2NyaXBjaW9uTGltcGlhIHx8ICcnIH0pO1xyXG4gICAgdGhpcy5fbWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmltYWdlJywgY29udGVudDogaW1hZ2VVcmwgfHwgJycgfSk7XHJcbiAgICAvLyB0aGlzLl9tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogY3VycmVudFVybCB9KTtcclxuICAgIHRoaXMuX21ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0eXBlJywgY29udGVudDogJ3Byb2R1Y3QnIH0pO1xyXG4gIH1cclxuICBkZWNvZGVIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBjb25zdCB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gICAgICB0eHQuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgICAgcmV0dXJuIHR4dC52YWx1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBodG1sO1xyXG4gIH1cclxuICBzYW5pdGl6ZWRIdG1sKGh0bWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgIGNvbnN0IGRlY29kZWRIdG1sID0gdGhpcy5kZWNvZGVIdG1sKGh0bWwpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkZWNvZGVkSHRtbCk7XHJcbiAgfVxyXG5cclxuICBhZGRUb0NhcnQoKSB7XHJcbiAgICBpZiAodGhpcy5pc0FkZGluZ1RvQ2FydCgpIHx8IHRoaXMucXVhbnRpdHkoKSA8PSAwKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5pc0FkZGluZ1RvQ2FydC5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLl9wcm9kdWN0RGV0YWlsU2VydmljZS5hZGRUb0NhcnQodGhpcy5xdWFudGl0eSgpKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pc0FkZGluZ1RvQ2FydC5zZXQoZmFsc2UpO1xyXG4gICAgfSwgMjAwMCk7XHJcbiAgfVxyXG5cclxuICBwbHVzKHN0b2NrPzogbnVtYmVyLCBtdWx0aXBsZVF1YW50aXR5PzogbnVtYmVyKSB7XHJcbiAgY29uc3QgY3VycmVudCA9IE51bWJlcih0aGlzLnF1YW50aXR5KCkpOyAvLyA8LS0gZnVlcnphIGEgbsO6bWVyb1xyXG4gIGlmIChtdWx0aXBsZVF1YW50aXR5ICYmIG11bHRpcGxlUXVhbnRpdHkgPiAwKSB7XHJcbiAgICBzdG9ja1xyXG4gICAgICA/IChjdXJyZW50IDwgc3RvY2tcclxuICAgICAgICAgID8gdGhpcy5xdWFudGl0eS5zZXQoY3VycmVudCArIG11bHRpcGxlUXVhbnRpdHkpXHJcbiAgICAgICAgICA6IHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2stYWN0dWFsbHknKSlcclxuICAgICAgOiB0aGlzLnF1YW50aXR5LnNldChjdXJyZW50ICsgbXVsdGlwbGVRdWFudGl0eSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHN0b2NrXHJcbiAgICAgID8gKGN1cnJlbnQgPCBzdG9ja1xyXG4gICAgICAgICAgPyB0aGlzLnF1YW50aXR5LnNldChjdXJyZW50ICsgMSlcclxuICAgICAgICAgIDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxyXG4gICAgICA6IHRoaXMucXVhbnRpdHkuc2V0KGN1cnJlbnQgKyAxKTtcclxuICB9XHJcbn1cclxuXHJcbmxlc3MobXVsdGlwbGVRdWFudGl0eT86IG51bWJlcikge1xyXG4gIGNvbnN0IGN1cnJlbnQgPSBOdW1iZXIodGhpcy5xdWFudGl0eSgpKTsgLy8gPC0tIGZ1ZXJ6YSBhIG7Dum1lcm9cclxuICBpZiAobXVsdGlwbGVRdWFudGl0eSAmJiBtdWx0aXBsZVF1YW50aXR5ID4gMCkge1xyXG4gICAgY3VycmVudCA+IG11bHRpcGxlUXVhbnRpdHlcclxuICAgICAgPyB0aGlzLnF1YW50aXR5LnNldChjdXJyZW50IC0gbXVsdGlwbGVRdWFudGl0eSlcclxuICAgICAgOiBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjdXJyZW50ID4gMSA/IHRoaXMucXVhbnRpdHkuc2V0KGN1cnJlbnQgLSAxKSA6IG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG4gIGNoZWNrU3RvY2soc3RvY2s6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMucXVhbnRpdHkoKSA+PSBzdG9jaylcclxuICAgICAgdGhpcy5xdWFudGl0eS5zZXQoc3RvY2spO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdvVG9TZWN0aW9uKHNlY3Rpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93Rm9ybUNvbnRhY3QgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlY3Rpb24pO1xyXG4gICAgICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybSA9ICgpID0+IHtcclxuICAgIHRoaXMucmVzZXQgPSAhdGhpcy5yZXNldFxyXG4gICAgdGhpcy5zdWNjZXNzID0gdHJ1ZVxyXG4gIH1cclxuXHJcbiAgLy8gQ29tcHV0ZWQgc2lnbmFscyBtw6FzIGVmaWNpZW50ZXNcclxuICBwdWJsaWMgaGFzRGlzY291bnQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBjb25zdCBwcm9kdWN0ID0gdGhpcy5wcm9kdWN0U2lnbmFsKCk7XHJcbiAgICBpZiAoIXByb2R1Y3Q/LnNhbGVwcmljZSB8fCAhcHJvZHVjdD8ucHJpY2UpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9yaWdpbmFsUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3QucHJpY2UudG9TdHJpbmcoKSk7XHJcbiAgICBjb25zdCBzYWxlUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3Quc2FsZXByaWNlLnRvU3RyaW5nKCkpO1xyXG5cclxuICAgIHJldHVybiBzYWxlUHJpY2UgPiAwICYmIG9yaWdpbmFsUHJpY2UgPiBzYWxlUHJpY2U7XHJcbiAgfSk7XHJcblxyXG4gIHB1YmxpYyBkaXNjb3VudFBlcmNlbnRhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaGFzRGlzY291bnQoKSkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgY29uc3QgcHJvZHVjdCA9IHRoaXMucHJvZHVjdFNpZ25hbCgpO1xyXG4gICAgaWYgKCFwcm9kdWN0KSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBjb25zdCBvcmlnaW5hbFByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnByaWNlPy50b1N0cmluZygpIHx8ICcwJyk7XHJcbiAgICBjb25zdCBzYWxlUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3Quc2FsZXByaWNlPy50b1N0cmluZygpIHx8ICcwJyk7XHJcblxyXG4gICAgaWYgKG9yaWdpbmFsUHJpY2UgPD0gMCB8fCBzYWxlUHJpY2UgPD0gMCB8fCBzYWxlUHJpY2UgPj0gb3JpZ2luYWxQcmljZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaXNjb3VudCA9ICgob3JpZ2luYWxQcmljZSAtIHNhbGVQcmljZSkgLyBvcmlnaW5hbFByaWNlKSAqIDEwMDtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKGRpc2NvdW50KTtcclxuICB9KTtcclxuXHJcbiAgLyoqXHJcbiAgICAqIE3DqXRvZG8gcGFyYSB0cmFja2VhciBjYW1iaW9zIGVuIGVsIHByb2R1Y3RJZCB5IGZvcnphciBsYSByZWNyZWFjacOzbiBkZWwgY29tcG9uZW50ZSByZWxhY2lvbmFkb3NcclxuICAgICovXHJcbiAgdHJhY2tCeVByb2R1Y3RJZChpbmRleDogbnVtYmVyLCBwcm9kdWN0SWQ6IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gcHJvZHVjdElkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzZXRlYSBlbCBlc3RhZG8gZGVsIG1vZGFsIGRlIHJlc2XDsWFzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXNldFJldmlld01vZGFsKCk6IHZvaWQge1xyXG4gICAgLy8gU2kgZXhpc3RlIHVuIG3DqXRvZG8gcmVzZXRGb3JtIGRlbCBjb21wb25lbnRlIHBhZHJlLCBsbGFtYXJsb1xyXG4gICAgaWYgKHR5cGVvZiAodGhpcyBhcyBhbnkpLnJlc2V0Rm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAodGhpcyBhcyBhbnkpLnJlc2V0Rm9ybSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNpIGV4aXN0ZSB1bmEgcHJvcGllZGFkIHN1Y2Nlc3MsIHJlc2V0ZWFybGFcclxuICAgIGlmICgnc3VjY2VzcycgaW4gdGhpcykge1xyXG4gICAgICAodGhpcyBhcyBhbnkpLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIiJdfQ==
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtCLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1C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LFNBQWM7UUFDNUMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZ0JBQWdCO1FBQ3RCLCtEQUErRDtRQUMvRCxJQUFJLE9BQVEsSUFBWSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNqRCxJQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQzt3R0FsT1Usd0JBQXdCOzRGQUF4Qix3QkFBd0IsaUZDMUJyQyxFQUFBOzs0RkQwQmEsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RvciwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhcmFtZXRlcnNTZXJ2aWNlLCBDaGFubmVsU2VydmljZSwgQ2FydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBXcml0YWJsZVNpZ25hbCwgc2lnbmFsLCBQTEFURk9STV9JRCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNZXRhLCBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQcm9kdWN0RGV0YWlsU2VydmljZSwgUHJvZHVjdHNTZXJ2aWNlLCBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDb3JlQ29uc3RhbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIGhlIGZyb20gJ2hlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgVmFyaWFudHNFY0NvbXBvbmVudCB9IGZyb20gJy4uL3ZhcmlhbnRzLWVjL3ZhcmlhbnRzLWVjLmNvbXBvbmVudCc7XG5cblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LWRldGFpbC1lYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtWYXJpYW50c0VjQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsRWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSlcbiAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfcHJvZHVjdERldGFpbFNlcnZpY2U6IFByb2R1Y3REZXRhaWxTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3REZXRhaWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfcHJvZHVjdFNlcnZpY2U6IFByb2R1Y3RzU2VydmljZSA9IGluamVjdChQcm9kdWN0c1NlcnZpY2UpO1xuICBwcml2YXRlIF9hY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG4gIHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgcGFyYW1ldGVyc1NlcnZpY2UgPSBpbmplY3QoUGFyYW1ldGVyc1NlcnZpY2UpO1xuICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSBfbWV0YTogTWV0YSA9IGluamVjdChNZXRhKTtcbiAgcHJpdmF0ZSBfdGl0bGU6IFRpdGxlID0gaW5qZWN0KFRpdGxlKTtcbiAgcHJpdmF0ZSBfbG9jYXRpb246IExvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgcHVibGljIHByb2R1Y3QkOiBPYnNlcnZhYmxlPFByb2R1Y3QgfCBudWxsPiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLnByb2R1Y3QkO1xuICBwdWJsaWMgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLm9wdGlvbnMkO1xuICBwdWJsaWMgZGF0YSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLmFzc29jaWF0ZWREYXRhJDtcbiAgcHJpdmF0ZSByb3V0ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgY3VycmVudFByb2R1Y3RJZD86IHN0cmluZztcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG5cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG1lZGlhVXJsID0gdGhpcy5fY29uc3RzLm1lZGlhVXJsKCk7XG4gIHB1YmxpYyBjb2RlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHNob3dGb3JtQ29udGFjdCA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1Jldmlld3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHJlc2V0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBoaWRlUHJpY2VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHF1YW50aXR5OiBXcml0YWJsZVNpZ25hbDxudW1iZXI+ID0gc2lnbmFsKDEpO1xuICBwdWJsaWMgaXNBZGRpbmdUb0NhcnQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgcHVibGljIHBhcmFtZXRlcnMkOiBPYnNlcnZhYmxlPFBhcmFtZXRlcltdIHwgbnVsbD4gPSB0aGlzLnBhcmFtZXRlcnNTZXJ2aWNlLmdldFBhcmFtZXRlcnMoKTtcbiAgcHVibGljIGhhc1BhcmFtcyA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuaGFzUGFyYW1zXG4gIHB1YmxpYyBjcmVkaXRBY2NvdW50U2hvd1ByaWNlczogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuICAvLyBBZ3JlZ2FyIGVzdGEgcHJvcGllZGFkIGFsIGluaWNpbyBkZSBsYSBjbGFzZVxuICBwcml2YXRlIHByb2R1Y3RTaWduYWwgPSBzaWduYWw8UHJvZHVjdCB8IG51bGw+KG51bGwpO1xuXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXNbXCJpZFwiXTtcbiAgICAgIHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLmxvYWRQcm9kdWN0KHRoaXMuY29kZSk7XG4gICAgfSk7XG4gICAgdGhpcy5fYWN0aXZlZFJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocXVlcnlQYXJhbXMgPT4ge1xuICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXNbXCJpZFwiXTtcbiAgICAgIHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLmxvYWRQcm9kdWN0KHRoaXMuY29kZSk7XG4gICAgfSlcbiAgICB0aGlzLmluamVjdG9yLmdldChDaGFubmVsU2VydmljZSkuY2hhbm5lbCQuc3Vic2NyaWJlKGNoYW5uZWwgPT4ge1xuICAgICAgdGhpcy5zaG93UmV2aWV3cyA9IGNoYW5uZWwuc2hvd1Jldmlld3M7XG4gICAgICB0aGlzLnNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VycyA9ICEhY2hhbm5lbC5zaG93UHJpY2VzT25seVRvTG9nZ2VkVXNlcnM7XG4gICAgICB0aGlzLmhpZGVQcmljZXMgPSAhIWNoYW5uZWwuaGlkZVByaWNlcztcbiAgICB9KTtcbiAgICB0aGlzLl9vcHRpb25zU2VydmljZS5nZXRDYXRlZ29yaWVzKCkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLmNhdGVnb3JpZXMgPSByZXM7XG4gICAgfVxuICAgICk7XG4gICAgdGhpcy5fY2FydFNlcnZpY2Uuc2hvd1ByaWNlJC5zdWJzY3JpYmUoKHNob3dQcmljZSkgPT4ge1xuICAgICAgdGhpcy5jcmVkaXRBY2NvdW50U2hvd1ByaWNlcyA9IHNob3dQcmljZTtcbiAgICB9KTtcblxuICAgIHRoaXMucHJvZHVjdCQuc3Vic2NyaWJlKHByb2R1Y3QgPT4ge1xuICAgICAgdGhpcy5wcm9kdWN0U2lnbmFsLnNldChwcm9kdWN0KTtcbiAgICB9KTtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9kdWN0JC5zdWJzY3JpYmUocHJvZHVjdCA9PiB7XG4gICAgICBpZiAocHJvZHVjdCkge1xuICAgICAgICB0aGlzLnVwZGF0ZU1ldGFUYWdzKHByb2R1Y3QpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIFN1c2NyaWJpcnNlIGEgbG9zIGNhbWJpb3MgZGUgcGFyw6FtZXRyb3MgZGUgbGEgcnV0YVxuICAgIHRoaXMucm91dGVTdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGNvbnN0IG5ld1Byb2R1Y3RJZCA9IHBhcmFtc1snaWQnXTtcbiAgICAgIGlmIChuZXdQcm9kdWN0SWQgJiYgbmV3UHJvZHVjdElkICE9PSB0aGlzLmN1cnJlbnRQcm9kdWN0SWQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UHJvZHVjdElkID0gbmV3UHJvZHVjdElkO1xuXG4gICAgICAgIC8vIFJlc2V0ZWFyIGVsIGVzdGFkbyBkZWwgbW9kYWwgZGUgcmVzZcOxYXMgY3VhbmRvIGNhbWJpZSBlbCBwcm9kdWN0b1xuICAgICAgICB0aGlzLnJlc2V0UmV2aWV3TW9kYWwoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB9XG5cbiAgdXBkYXRlTWV0YVRhZ3MocHJvZHVjdDogUHJvZHVjdCkge1xuICAgIGNvbnN0IGRlc2NyaXBjaW9uTGltcGlhID0gaGUuZGVjb2RlKHByb2R1Y3QuZGVzY3JpcHRpb24gfHwgJycpLnJlcGxhY2UoLzxbXj5dKj4vZywgJyAnKS5yZXBsYWNlKC9cXHMrL2csICcgJykudHJpbSgpO1xuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLl9jb25zdHMuZ2V0RnJvbnRlbmRVcmwoKSArIHRoaXMuX3JvdXRlci51cmw7ICAvLyBVUkwgYWJzb2x1dGEgZGVsIHByb2R1Y3RvXG4gICAgY29uc3QgaW1hZ2VVcmwgPSB0aGlzLl9jb25zdHMuZ2V0QWJzb2x1dGVJbWFnZVVybChBcnJheS5pc0FycmF5KHByb2R1Y3QucGljdHVyZXNkZWZhdWx0KSA/IHByb2R1Y3QucGljdHVyZXNkZWZhdWx0WzBdIDogcHJvZHVjdC5waWN0dXJlc2RlZmF1bHQpO1xuXG5cbiAgICB0aGlzLl9tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiBwcm9kdWN0Lm5hbWUgfHwgJycgfSk7XG4gICAgdGhpcy5fbWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmRlc2NyaXB0aW9uJywgY29udGVudDogZGVzY3JpcGNpb25MaW1waWEgfHwgJycgfSk7XG4gICAgdGhpcy5fbWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmltYWdlJywgY29udGVudDogaW1hZ2VVcmwgfHwgJycgfSk7XG4gICAgLy8gdGhpcy5fbWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOnVybCcsIGNvbnRlbnQ6IGN1cnJlbnRVcmwgfSk7XG4gICAgdGhpcy5fbWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOnR5cGUnLCBjb250ZW50OiAncHJvZHVjdCcgfSk7XG4gIH1cbiAgZGVjb2RlSHRtbChodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdHh0LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHR4dC52YWx1ZTtcblxuICB9XG4gIHNhbml0aXplZEh0bWwoaHRtbDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIGNvbnN0IGRlY29kZWRIdG1sID0gdGhpcy5kZWNvZGVIdG1sKGh0bWwpO1xuICAgIHJldHVybiB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZGVjb2RlZEh0bWwpO1xuICB9XG5cbiAgYWRkVG9DYXJ0KCkge1xuICAgIGlmICh0aGlzLmlzQWRkaW5nVG9DYXJ0KCkgfHwgdGhpcy5xdWFudGl0eSgpIDw9IDApIHJldHVybjtcblxuICAgIHRoaXMuaXNBZGRpbmdUb0NhcnQuc2V0KHRydWUpO1xuICAgIHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLmFkZFRvQ2FydCh0aGlzLnF1YW50aXR5KCkpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzQWRkaW5nVG9DYXJ0LnNldChmYWxzZSk7XG4gICAgfSwgMjAwMCk7XG4gIH1cblxuICBwbHVzKHN0b2NrPzogbnVtYmVyLCBtdWx0aXBsZVF1YW50aXR5PzogbnVtYmVyKSB7XG4gIGNvbnN0IGN1cnJlbnQgPSBOdW1iZXIodGhpcy5xdWFudGl0eSgpKTsgLy8gPC0tIGZ1ZXJ6YSBhIG7Dum1lcm9cbiAgaWYgKG11bHRpcGxlUXVhbnRpdHkgJiYgbXVsdGlwbGVRdWFudGl0eSA+IDApIHtcbiAgICBzdG9ja1xuICAgICAgPyAoY3VycmVudCA8IHN0b2NrXG4gICAgICAgICAgPyB0aGlzLnF1YW50aXR5LnNldChjdXJyZW50ICsgbXVsdGlwbGVRdWFudGl0eSlcbiAgICAgICAgICA6IHRoaXMuX3RvYXN0U2VydmljZS5zaG93KCdvdXQtb2Ytc3RvY2stYWN0dWFsbHknKSlcbiAgICAgIDogdGhpcy5xdWFudGl0eS5zZXQoY3VycmVudCArIG11bHRpcGxlUXVhbnRpdHkpO1xuICB9IGVsc2Uge1xuICAgIHN0b2NrXG4gICAgICA/IChjdXJyZW50IDwgc3RvY2tcbiAgICAgICAgICA/IHRoaXMucXVhbnRpdHkuc2V0KGN1cnJlbnQgKyAxKVxuICAgICAgICAgIDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxuICAgICAgOiB0aGlzLnF1YW50aXR5LnNldChjdXJyZW50ICsgMSk7XG4gIH1cbn1cblxubGVzcyhtdWx0aXBsZVF1YW50aXR5PzogbnVtYmVyKSB7XG4gIGNvbnN0IGN1cnJlbnQgPSBOdW1iZXIodGhpcy5xdWFudGl0eSgpKTsgLy8gPC0tIGZ1ZXJ6YSBhIG7Dum1lcm9cbiAgaWYgKG11bHRpcGxlUXVhbnRpdHkgJiYgbXVsdGlwbGVRdWFudGl0eSA+IDApIHtcbiAgICBjdXJyZW50ID4gbXVsdGlwbGVRdWFudGl0eVxuICAgICAgPyB0aGlzLnF1YW50aXR5LnNldChjdXJyZW50IC0gbXVsdGlwbGVRdWFudGl0eSlcbiAgICAgIDogbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBjdXJyZW50ID4gMSA/IHRoaXMucXVhbnRpdHkuc2V0KGN1cnJlbnQgLSAxKSA6IG51bGw7XG4gIH1cbn1cblxuICBjaGVja1N0b2NrKHN0b2NrOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5xdWFudGl0eSgpID49IHN0b2NrKVxuICAgICAgdGhpcy5xdWFudGl0eS5zZXQoc3RvY2spO1xuICB9XG5cbiAgcHVibGljIGdvVG9TZWN0aW9uKHNlY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0Zvcm1Db250YWN0ID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWN0aW9uKTtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICB9XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSA9ICgpID0+IHtcbiAgICB0aGlzLnJlc2V0ID0gIXRoaXMucmVzZXRcbiAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlXG4gIH1cblxuICAvLyBDb21wdXRlZCBzaWduYWxzIG3DoXMgZWZpY2llbnRlc1xuICBwdWJsaWMgaGFzRGlzY291bnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgcHJvZHVjdCA9IHRoaXMucHJvZHVjdFNpZ25hbCgpO1xuICAgIGlmICghcHJvZHVjdD8uc2FsZXByaWNlIHx8ICFwcm9kdWN0Py5wcmljZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG9yaWdpbmFsUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3QucHJpY2UudG9TdHJpbmcoKSk7XG4gICAgY29uc3Qgc2FsZVByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnNhbGVwcmljZS50b1N0cmluZygpKTtcblxuICAgIHJldHVybiBzYWxlUHJpY2UgPiAwICYmIG9yaWdpbmFsUHJpY2UgPiBzYWxlUHJpY2U7XG4gIH0pO1xuXG4gIHB1YmxpYyBkaXNjb3VudFBlcmNlbnRhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKCF0aGlzLmhhc0Rpc2NvdW50KCkpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgcHJvZHVjdCA9IHRoaXMucHJvZHVjdFNpZ25hbCgpO1xuICAgIGlmICghcHJvZHVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBvcmlnaW5hbFByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnByaWNlPy50b1N0cmluZygpIHx8ICcwJyk7XG4gICAgY29uc3Qgc2FsZVByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnNhbGVwcmljZT8udG9TdHJpbmcoKSB8fCAnMCcpO1xuXG4gICAgaWYgKG9yaWdpbmFsUHJpY2UgPD0gMCB8fCBzYWxlUHJpY2UgPD0gMCB8fCBzYWxlUHJpY2UgPj0gb3JpZ2luYWxQcmljZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZGlzY291bnQgPSAoKG9yaWdpbmFsUHJpY2UgLSBzYWxlUHJpY2UpIC8gb3JpZ2luYWxQcmljZSkgKiAxMDA7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoZGlzY291bnQpO1xuICB9KTtcblxuICAvKipcbiAgICAqIE3DqXRvZG8gcGFyYSB0cmFja2VhciBjYW1iaW9zIGVuIGVsIHByb2R1Y3RJZCB5IGZvcnphciBsYSByZWNyZWFjacOzbiBkZWwgY29tcG9uZW50ZSByZWxhY2lvbmFkb3NcbiAgICAqL1xuICB0cmFja0J5UHJvZHVjdElkKGluZGV4OiBudW1iZXIsIHByb2R1Y3RJZDogYW55KTogYW55IHtcbiAgICByZXR1cm4gcHJvZHVjdElkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0ZWEgZWwgZXN0YWRvIGRlbCBtb2RhbCBkZSByZXNlw7Fhc1xuICAgKi9cbiAgcHJpdmF0ZSByZXNldFJldmlld01vZGFsKCk6IHZvaWQge1xuICAgIC8vIFNpIGV4aXN0ZSB1biBtw6l0b2RvIHJlc2V0Rm9ybSBkZWwgY29tcG9uZW50ZSBwYWRyZSwgbGxhbWFybG9cbiAgICBpZiAodHlwZW9mICh0aGlzIGFzIGFueSkucmVzZXRGb3JtID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAodGhpcyBhcyBhbnkpLnJlc2V0Rm9ybSgpO1xuICAgIH1cblxuICAgIC8vIFNpIGV4aXN0ZSB1bmEgcHJvcGllZGFkIHN1Y2Nlc3MsIHJlc2V0ZWFybGFcbiAgICBpZiAoJ3N1Y2Nlc3MnIGluIHRoaXMpIHtcbiAgICAgICh0aGlzIGFzIGFueSkuc3VjY2VzcyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG59XG4iLCIiXX0=
|