ng-easycommerce 0.0.430 → 0.0.433
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 +13 -0
- package/bundles/ng-easycommerce.umd.js +285 -61
- package/bundles/ng-easycommerce.umd.js.map +1 -1
- package/bundles/ng-easycommerce.umd.min.js +1 -1
- package/bundles/ng-easycommerce.umd.min.js.map +1 -1
- package/esm2015/lib/ec-component/account-ec/order-ec/order-ec.component.js +2 -2
- package/esm2015/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +2 -2
- package/esm2015/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +2 -2
- package/esm2015/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +3 -2
- package/esm2015/lib/ec-component/compared-products-ec/compared-products-ec.component.js +186 -0
- package/esm2015/lib/ec-component/index.js +4 -1
- package/esm2015/lib/ec-component/related-products-ec/related-products-ec.component.js +10 -2
- package/esm2015/lib/services/auth.service.js +9 -1
- package/esm2015/lib/services/checkout/shipment.service.js +5 -5
- package/esm2015/ng-easycommerce.js +19 -18
- package/esm5/lib/ec-component/account-ec/order-ec/order-ec.component.js +2 -2
- package/esm5/lib/ec-component/account-ec/orders-list-ec/orders-list-ec.component.js +2 -2
- package/esm5/lib/ec-component/checkout-ec/payment-ec/payment-ec.component.js +2 -2
- package/esm5/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.js +3 -2
- package/esm5/lib/ec-component/compared-products-ec/compared-products-ec.component.js +209 -0
- package/esm5/lib/ec-component/index.js +4 -1
- package/esm5/lib/ec-component/related-products-ec/related-products-ec.component.js +10 -2
- package/esm5/lib/services/auth.service.js +12 -1
- package/esm5/lib/services/checkout/shipment.service.js +5 -5
- package/esm5/ng-easycommerce.js +19 -18
- package/fesm2015/ng-easycommerce.js +242 -45
- package/fesm2015/ng-easycommerce.js.map +1 -1
- package/fesm5/ng-easycommerce.js +268 -45
- package/fesm5/ng-easycommerce.js.map +1 -1
- package/lib/ec-component/checkout-ec/shipment-ec/shipment-ec.component.d.ts +1 -0
- package/lib/ec-component/compared-products-ec/compared-products-ec.component.d.ts +70 -0
- package/lib/ec-component/index.d.ts +1 -0
- package/lib/ec-component/related-products-ec/related-products-ec.component.d.ts +2 -0
- package/lib/services/auth.service.d.ts +7 -0
- package/lib/services/checkout/shipment.service.d.ts +1 -1
- package/ng-easycommerce.d.ts +18 -17
- package/ng-easycommerce.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
extendStatics(d, b);
|
|
10
|
+
function __() { this.constructor = d; }
|
|
11
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
12
|
+
};
|
|
13
|
+
})();
|
|
14
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
+
};
|
|
20
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
21
|
+
import { Router } from '@angular/router';
|
|
22
|
+
import { ComponentHelper } from '../../classes/component-helper';
|
|
23
|
+
import { Constants } from '../../core.consts';
|
|
24
|
+
import { AnalyticsService } from '../../services/analytics.service';
|
|
25
|
+
import { ProductsService } from '../../services/products/products.service';
|
|
26
|
+
var ComparedProductsEcComponent = /** @class */ (function (_super) {
|
|
27
|
+
__extends(ComparedProductsEcComponent, _super);
|
|
28
|
+
function ComparedProductsEcComponent(productsService, analyticsService, consts, router) {
|
|
29
|
+
var _this = _super.call(this) || this;
|
|
30
|
+
_this.productsService = productsService;
|
|
31
|
+
_this.analyticsService = analyticsService;
|
|
32
|
+
_this.consts = consts;
|
|
33
|
+
_this.router = router;
|
|
34
|
+
/**
|
|
35
|
+
* @description valor que se utilizara para cuando un producto no tenga datos
|
|
36
|
+
* en el atributo asignado.
|
|
37
|
+
*/
|
|
38
|
+
_this.emptyValue = '';
|
|
39
|
+
/**
|
|
40
|
+
* @description valor que se utilizara para la clase de los estilos de la etiqueta <table>
|
|
41
|
+
*/
|
|
42
|
+
_this.classes = '';
|
|
43
|
+
_this.size = '';
|
|
44
|
+
/**
|
|
45
|
+
* @description emite true si se genero algun error en la carga, false caso contrario
|
|
46
|
+
*/
|
|
47
|
+
_this.error = new EventEmitter();
|
|
48
|
+
_this.comparedProducts = [];
|
|
49
|
+
_this.attributes = {};
|
|
50
|
+
_this.matrixComparedProducts = {};
|
|
51
|
+
_this.loading = false;
|
|
52
|
+
/**
|
|
53
|
+
* @description arreglo con las palabras claves para obtener la asociacion para comparar los productos.
|
|
54
|
+
*/
|
|
55
|
+
_this.keywordsToCompare = ['compare', 'comparar', 'comparacion', 'comparación', 'compared'];
|
|
56
|
+
/**
|
|
57
|
+
* @description carga los datos que seran comparados
|
|
58
|
+
* @param product_id
|
|
59
|
+
*/
|
|
60
|
+
_this.load = function (product_id) {
|
|
61
|
+
_this.productsService.getRelatedProducts(product_id).subscribe(function (res) {
|
|
62
|
+
var _a;
|
|
63
|
+
_this.comparedProducts = (_a = res.find(function (elem) { return _this.includeKeyword(elem.title.toLowerCase()); })) === null || _a === void 0 ? void 0 : _a.items;
|
|
64
|
+
if (_this.comparedProducts && _this.comparedProducts.length > 0) {
|
|
65
|
+
_this.mergeAttributes(_this.comparedProducts);
|
|
66
|
+
_this.matrixComparedProducts = _this.buildMatrix();
|
|
67
|
+
_this.error.emit(false);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
_this.error.emit(true);
|
|
71
|
+
}
|
|
72
|
+
_this.loading = false;
|
|
73
|
+
res.map(function (products) { var _a, _b; return _this.analyticsService.callEvent('view_item_list', { products: products.items, item_list_name: products.title || 'compared Products', item_list_id: ((_b = (_a = products.title) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.replace(' ', '-')) || 'compared-products' }); });
|
|
74
|
+
}, function (err) {
|
|
75
|
+
console.log(err);
|
|
76
|
+
_this.loading = false;
|
|
77
|
+
_this.error.emit(true);
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* @description hace un merge de todos los atributos que tengan los productos.
|
|
82
|
+
* @param products
|
|
83
|
+
*/
|
|
84
|
+
_this.mergeAttributes = function (products) {
|
|
85
|
+
products.forEach(function (product) {
|
|
86
|
+
product.attributes.forEach(function (attribute) {
|
|
87
|
+
if (!_this.attributes[attribute.code]) {
|
|
88
|
+
_this.attributes[attribute.code] = { name: attribute.name };
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* @description genera una matriz de los datos de cada producto para compararlos
|
|
95
|
+
* @returns un objeto cuya clave es el nombre del atributo y sus valores un
|
|
96
|
+
* arreglo con los datos de los productos para ese atributo, en caso de no tener
|
|
97
|
+
* datos en ese atributo se reemplaza por el valor de la variable emptyValue.
|
|
98
|
+
*/
|
|
99
|
+
_this.buildMatrix = function () {
|
|
100
|
+
var res = {};
|
|
101
|
+
var _loop_1 = function (attribute) {
|
|
102
|
+
res[attribute] = [];
|
|
103
|
+
_this.comparedProducts.forEach(function (product, index) {
|
|
104
|
+
var item = product.attributes.find(function (elem) { return elem.code == attribute; });
|
|
105
|
+
item ? res[attribute].push({ pos: index, values: item.children })
|
|
106
|
+
: res[attribute].push({ pos: index, values: [{ name: _this.emptyValue }] });
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
for (var attribute in _this.attributes) {
|
|
110
|
+
_loop_1(attribute);
|
|
111
|
+
}
|
|
112
|
+
return res;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* @description chequea si la palabra pasada por parametro existe en el arreglo de
|
|
116
|
+
* palabras claves para comparar (keywordsToCompare)
|
|
117
|
+
* @param word
|
|
118
|
+
* @returns un valor booleano, true si existe, false caso contrario
|
|
119
|
+
*/
|
|
120
|
+
_this.includeKeyword = function (word) {
|
|
121
|
+
var result = false;
|
|
122
|
+
_this.keywordsToCompare.forEach(function (keyword) {
|
|
123
|
+
word.includes(keyword) ? result = true : null;
|
|
124
|
+
});
|
|
125
|
+
return result;
|
|
126
|
+
};
|
|
127
|
+
_this.customOptions = {
|
|
128
|
+
loop: true,
|
|
129
|
+
dots: false,
|
|
130
|
+
navSpeed: 950,
|
|
131
|
+
margin: 0,
|
|
132
|
+
navText: ['', ''],
|
|
133
|
+
nav: true,
|
|
134
|
+
responsive: {
|
|
135
|
+
0: {
|
|
136
|
+
items: 1,
|
|
137
|
+
nav: true
|
|
138
|
+
},
|
|
139
|
+
600: {
|
|
140
|
+
items: 3,
|
|
141
|
+
nav: true
|
|
142
|
+
},
|
|
143
|
+
900: {
|
|
144
|
+
items: 4,
|
|
145
|
+
nav: true,
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
_this.ecOnConstruct();
|
|
150
|
+
return _this;
|
|
151
|
+
}
|
|
152
|
+
Object.defineProperty(ComparedProductsEcComponent.prototype, "setSize", {
|
|
153
|
+
/**
|
|
154
|
+
* @description tamaño de la tabla responsive (sm | md| lg | xl | xxl)
|
|
155
|
+
*/
|
|
156
|
+
set: function (value) {
|
|
157
|
+
this.size = '-' + value;
|
|
158
|
+
},
|
|
159
|
+
enumerable: true,
|
|
160
|
+
configurable: true
|
|
161
|
+
});
|
|
162
|
+
ComparedProductsEcComponent.prototype.ngOnInit = function () {
|
|
163
|
+
this.loading = true;
|
|
164
|
+
this.load(this.product_id);
|
|
165
|
+
this.ecOnInit();
|
|
166
|
+
};
|
|
167
|
+
ComparedProductsEcComponent.prototype.ngOnChanges = function (changes) {
|
|
168
|
+
window.scroll({
|
|
169
|
+
top: 0,
|
|
170
|
+
left: 0,
|
|
171
|
+
behavior: 'smooth'
|
|
172
|
+
});
|
|
173
|
+
this.load(changes.product_id.currentValue);
|
|
174
|
+
//this.doSomething(changes.categoryId.currentValue);
|
|
175
|
+
// You can also use categoryId.previousValue and
|
|
176
|
+
// categoryId.firstChange for comparing old and new values
|
|
177
|
+
};
|
|
178
|
+
ComparedProductsEcComponent.ctorParameters = function () { return [
|
|
179
|
+
{ type: ProductsService },
|
|
180
|
+
{ type: AnalyticsService },
|
|
181
|
+
{ type: Constants },
|
|
182
|
+
{ type: Router }
|
|
183
|
+
]; };
|
|
184
|
+
__decorate([
|
|
185
|
+
Input()
|
|
186
|
+
], ComparedProductsEcComponent.prototype, "product_id", void 0);
|
|
187
|
+
__decorate([
|
|
188
|
+
Input()
|
|
189
|
+
], ComparedProductsEcComponent.prototype, "emptyValue", void 0);
|
|
190
|
+
__decorate([
|
|
191
|
+
Input()
|
|
192
|
+
], ComparedProductsEcComponent.prototype, "classes", void 0);
|
|
193
|
+
__decorate([
|
|
194
|
+
Input()
|
|
195
|
+
], ComparedProductsEcComponent.prototype, "setSize", null);
|
|
196
|
+
__decorate([
|
|
197
|
+
Output()
|
|
198
|
+
], ComparedProductsEcComponent.prototype, "error", void 0);
|
|
199
|
+
ComparedProductsEcComponent = __decorate([
|
|
200
|
+
Component({
|
|
201
|
+
selector: 'app-compared-products-ec',
|
|
202
|
+
template: "<ng-container *ngIf=\"!loading; else loadingView\">\n <ng-container *ngIf=\"comparedProducts && comparedProducts.length\">\n <div [class]=\"'table-responsive'+size\">\n <table id=\"table\" [class]=\"'table '+classes\">\n <thead id=\"thead\">\n <tr class=\"thead-tr\">\n <th class=\"thead-tr-th\" scope=\"col\"></th>\n <th class=\"thead-tr-th\" *ngFor=\"let product of comparedProducts\" scope=\"col\">{{product.id}}</th>\n </tr>\n </thead>\n <tbody id=\"tbody\">\n <tr *ngFor=\"let row of matrixComparedProducts | keyvalue\" class=\"tbody-tr\">\n <th class=\"tbody-tr-th\" scope=\"row\">{{attributes[row.key].name}}</th>\n <td class=\"tbody-tr-td\" *ngFor=\"let col of row.value\">\n <ul>\n <li *ngFor=\"let item of col.values\">\n {{ item.name }}\n </li>\n </ul>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </ng-container>\n</ng-container>\n<ng-template #loadingView>\n <div class=\"w-100 h-50 py-5\">\n <div class=\"d-flex flex-row justify-content-center align-items-center text-center\">\n <app-loading-full-ec></app-loading-full-ec>\n </div>\n </div>\n</ng-template>",
|
|
203
|
+
styles: [""]
|
|
204
|
+
})
|
|
205
|
+
], ComparedProductsEcComponent);
|
|
206
|
+
return ComparedProductsEcComponent;
|
|
207
|
+
}(ComponentHelper));
|
|
208
|
+
export { ComparedProductsEcComponent };
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZWQtcHJvZHVjdHMtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL2VjLWNvbXBvbmVudC9jb21wYXJlZC1wcm9kdWN0cy1lYy9jb21wYXJlZC1wcm9kdWN0cy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQU8zRTtJQUFpRCwrQ0FBZTtJQXNDNUQscUNBQXNCLGVBQWdDLEVBQzFDLGdCQUFrQyxFQUNuQyxNQUFpQixFQUNqQixNQUFjO1FBSHpCLFlBSUksaUJBQU8sU0FFVjtRQU5xQixxQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDMUMsc0JBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuQyxZQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLFlBQU0sR0FBTixNQUFNLENBQVE7UUFwQ3pCOzs7V0FHRztRQUNNLGdCQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ2hDOztXQUVHO1FBQ00sYUFBTyxHQUFVLEVBQUUsQ0FBQztRQU90QixVQUFJLEdBQVUsRUFBRSxDQUFDO1FBRXhCOztXQUVHO1FBQ08sV0FBSyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFdkMsc0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RC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SyxFQUFFOzhEQUVQO0lBTVM7UUFBVCxNQUFNLEVBQUU7OERBQXFDO0lBekJyQywyQkFBMkI7UUFMdkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQywwaERBQW9EOztTQUV2RCxDQUFDO09BQ1csMkJBQTJCLENBb0t2QztJQUFELGtDQUFDO0NBQUEsQUFwS0QsQ0FBaUQsZUFBZSxHQW9LL0Q7U0FwS1ksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb21wb25lbnRIZWxwZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2NvbXBvbmVudC1oZWxwZXInO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzL3Byb2R1Y3RzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jb21wYXJlZC1wcm9kdWN0cy1lYycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbXBhcmVkLXByb2R1Y3RzLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb21wYXJlZC1wcm9kdWN0cy1lYy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBhcmVkUHJvZHVjdHNFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGlkIGRlbCBwcm9kdWN0byBwcmluY2lwYWxcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwcm9kdWN0X2lkO1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiB2YWxvciBxdWUgc2UgdXRpbGl6YXJhIHBhcmEgY3VhbmRvIHVuIHByb2R1Y3RvIG5vIHRlbmdhIGRhdG9zXG4gICAgICogZW4gZWwgYXRyaWJ1dG8gYXNpZ25hZG8uIFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGVtcHR5VmFsdWU6c3RyaW5nID0gJyc7XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIHZhbG9yIHF1ZSBzZSB1dGlsaXphcmEgcGFyYSBsYSBjbGFzZSBkZSBsb3MgZXN0aWxvcyBkZSBsYSBldGlxdWV0YSA8dGFibGU+XG4gICAgICovXG4gICAgQElucHV0KCkgY2xhc3NlczpzdHJpbmcgPSAnJztcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gdGFtYcOxbyBkZSBsYSB0YWJsYSByZXNwb25zaXZlIChzbSB8IG1kfCBsZyB8IHhsIHwgeHhsKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCBzZXRTaXplKHZhbHVlOnN0cmluZyl7XG4gICAgICAgIHRoaXMuc2l6ZSA9ICctJyt2YWx1ZTtcbiAgICB9IFxuICAgIHB1YmxpYyBzaXplOnN0cmluZyA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBlbWl0ZSB0cnVlIHNpIHNlIGdlbmVybyBhbGd1biBlcnJvciBlbiBsYSBjYXJnYSwgZmFsc2UgY2FzbyBjb250cmFyaW9cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwdWJsaWMgY29tcGFyZWRQcm9kdWN0cyA9IFtdO1xuICAgIHB1YmxpYyBhdHRyaWJ1dGVzOmFueSA9IHt9O1xuICAgIHB1YmxpYyBtYXRyaXhDb21wYXJlZFByb2R1Y3RzOmFueSA9IHt9XG4gICAgXG4gICAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gYXJyZWdsbyBjb24gbGFzIHBhbGFicmFzIGNsYXZlcyBwYXJhIG9idGVuZXIgbGEgYXNvY2lhY2lvbiBwYXJhIGNvbXBhcmFyIGxvcyBwcm9kdWN0b3MuXG4gICAgICovXG4gICAgcHJpdmF0ZSBrZXl3b3Jkc1RvQ29tcGFyZTpzdHJpbmdbXSA9IFsnY29tcGFyZScsICdjb21wYXJhcicsICdjb21wYXJhY2lvbicsICdjb21wYXJhY2nDs24nLCAnY29tcGFyZWQnXTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICAgIHRoaXMubG9hZCh0aGlzLnByb2R1Y3RfaWQpXG4gICAgICAgIHRoaXMuZWNPbkluaXQoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBjYXJnYSBsb3MgZGF0b3MgcXVlIHNlcmFuIGNvbXBhcmFkb3NcbiAgICAgKiBAcGFyYW0gcHJvZHVjdF9pZCBcbiAgICAgKi9cbiAgICBsb2FkID0gKHByb2R1Y3RfaWQpID0+IHtcbiAgICAgICAgdGhpcy5wcm9kdWN0c1NlcnZpY2UuZ2V0UmVsYXRlZFByb2R1Y3RzKHByb2R1Y3RfaWQpLnN1YnNjcmliZShcbiAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wYXJlZFByb2R1Y3RzID0gcmVzLmZpbmQoZWxlbSA9PiB0aGlzLmluY2x1ZGVLZXl3b3JkKGVsZW0udGl0bGUudG9Mb3dlckNhc2UoKSkpPy5pdGVtc1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuY29tcGFyZWRQcm9kdWN0cyAmJiB0aGlzLmNvbXBhcmVkUHJvZHVjdHMubGVuZ3RoID4gMCl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVyZ2VBdHRyaWJ1dGVzKHRoaXMuY29tcGFyZWRQcm9kdWN0cylcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRyaXhDb21wYXJlZFByb2R1Y3RzID0gdGhpcy5idWlsZE1hdHJpeCgpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChmYWxzZSlcbiAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KHRydWUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHJlcy5tYXAocHJvZHVjdHMgPT4gdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtX2xpc3QnLCB7IHByb2R1Y3RzOiBwcm9kdWN0cy5pdGVtcywgaXRlbV9saXN0X25hbWU6IHByb2R1Y3RzLnRpdGxlIHx8ICdjb21wYXJlZCBQcm9kdWN0cycsIGl0ZW1fbGlzdF9pZDogcHJvZHVjdHMudGl0bGU/LnRvTG93ZXJDYXNlKCk/LnJlcGxhY2UoJyAnLCAnLScpIHx8ICdjb21wYXJlZC1wcm9kdWN0cycgfSkpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQodHJ1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgKSBcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gaGFjZSB1biBtZXJnZSBkZSB0b2RvcyBsb3MgYXRyaWJ1dG9zIHF1ZSB0ZW5nYW4gbG9zIHByb2R1Y3Rvcy5cbiAgICAgKiBAcGFyYW0gcHJvZHVjdHMgXG4gICAgICovXG4gICAgbWVyZ2VBdHRyaWJ1dGVzID0gKHByb2R1Y3RzKSA9PiB7XG4gICAgICAgIHByb2R1Y3RzLmZvckVhY2goIHByb2R1Y3QgPT4ge1xuICAgICAgICAgICAgcHJvZHVjdC5hdHRyaWJ1dGVzLmZvckVhY2goYXR0cmlidXRlID0+IHtcbiAgICAgICAgICAgICAgICBpZighdGhpcy5hdHRyaWJ1dGVzW2F0dHJpYnV0ZS5jb2RlXSl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlc1thdHRyaWJ1dGUuY29kZV09e25hbWU6IGF0dHJpYnV0ZS5uYW1lfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGdlbmVyYSB1bmEgbWF0cml6IGRlIGxvcyBkYXRvcyBkZSBjYWRhIHByb2R1Y3RvIHBhcmEgY29tcGFyYXJsb3NcbiAgICAgKiBAcmV0dXJucyB1biBvYmpldG8gY3V5YSBjbGF2ZSBlcyBlbCBub21icmUgZGVsIGF0cmlidXRvIHkgc3VzIHZhbG9yZXMgdW5cbiAgICAgKiBhcnJlZ2xvIGNvbiBsb3MgZGF0b3MgZGUgbG9zIHByb2R1Y3RvcyBwYXJhIGVzZSBhdHJpYnV0bywgZW4gY2FzbyBkZSBubyB0ZW5lclxuICAgICAqIGRhdG9zIGVuIGVzZSBhdHJpYnV0byBzZSByZWVtcGxhemEgcG9yIGVsIHZhbG9yIGRlIGxhIHZhcmlhYmxlIGVtcHR5VmFsdWUuXG4gICAgICovXG4gICAgYnVpbGRNYXRyaXggPSAoKSA9PiB7XG4gICAgICAgIGxldCByZXMgPSB7fTtcbiAgICAgICAgZm9yKGxldCBhdHRyaWJ1dGUgaW4gdGhpcy5hdHRyaWJ1dGVzKXtcbiAgICAgICAgICAgIHJlc1thdHRyaWJ1dGVdID0gW107XG4gICAgICAgICAgICB0aGlzLmNvbXBhcmVkUHJvZHVjdHMuZm9yRWFjaCgocHJvZHVjdCxpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBpdGVtID0gcHJvZHVjdC5hdHRyaWJ1dGVzLmZpbmQoZWxlbSA9PiBlbGVtLmNvZGUgPT0gYXR0cmlidXRlKVxuICAgICAgICAgICAgICAgIGl0ZW0gPyByZXNbYXR0cmlidXRlXS5wdXNoKHtwb3M6IGluZGV4ICwgdmFsdWVzOiBpdGVtLmNoaWxkcmVufSkgXG4gICAgICAgICAgICAgICAgICAgICA6IHJlc1thdHRyaWJ1dGVdLnB1c2goe3BvczppbmRleCwgdmFsdWVzOiBbe25hbWU6dGhpcy5lbXB0eVZhbHVlfV19KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIGNoZXF1ZWEgc2kgbGEgcGFsYWJyYSBwYXNhZGEgcG9yIHBhcmFtZXRybyBleGlzdGUgZW4gZWwgYXJyZWdsbyBkZVxuICAgICAqIHBhbGFicmFzIGNsYXZlcyBwYXJhIGNvbXBhcmFyIChrZXl3b3Jkc1RvQ29tcGFyZSlcbiAgICAgKiBAcGFyYW0gd29yZCBcbiAgICAgKiBAcmV0dXJucyB1biB2YWxvciBib29sZWFubywgdHJ1ZSBzaSBleGlzdGUsIGZhbHNlIGNhc28gY29udHJhcmlvXG4gICAgICovXG4gICAgaW5jbHVkZUtleXdvcmQgPSAod29yZDpzdHJpbmcpID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlXG4gICAgICAgIHRoaXMua2V5d29yZHNUb0NvbXBhcmUuZm9yRWFjaCgga2V5d29yZCA9PiB7XG4gICAgICAgICAgICB3b3JkLmluY2x1ZGVzKGtleXdvcmQpID8gcmVzdWx0ID0gdHJ1ZSA6IG51bGxcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cblxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsKHtcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubG9hZChjaGFuZ2VzLnByb2R1Y3RfaWQuY3VycmVudFZhbHVlKVxuICAgICAgICAvL3RoaXMuZG9Tb21ldGhpbmcoY2hhbmdlcy5jYXRlZ29yeUlkLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIC8vIFlvdSBjYW4gYWxzbyB1c2UgY2F0ZWdvcnlJZC5wcmV2aW91c1ZhbHVlIGFuZCBcbiAgICAgICAgLy8gY2F0ZWdvcnlJZC5maXJzdENoYW5nZSBmb3IgY29tcGFyaW5nIG9sZCBhbmQgbmV3IHZhbHVlc1xuXG4gICAgfVxuXG5cblxuICAgIHB1YmxpYyBjdXN0b21PcHRpb25zOiBhbnkgPSB7XG4gICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgIGRvdHM6IGZhbHNlLFxuICAgICAgICBuYXZTcGVlZDogOTUwLFxuICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgIG5hdlRleHQ6IFsnJywgJyddLFxuICAgICAgICBuYXY6IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmU6IHtcbiAgICAgICAgICAgIDA6IHtcbiAgICAgICAgICAgICAgICBpdGVtczogMSxcbiAgICAgICAgICAgICAgICBuYXY6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICA2MDA6IHtcbiAgICAgICAgICAgICAgICBpdGVtczogMyxcbiAgICAgICAgICAgICAgICBuYXY6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICA5MDA6IHtcbiAgICAgICAgICAgICAgICBpdGVtczogNCxcbiAgICAgICAgICAgICAgICBuYXY6IHRydWUsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -61,6 +61,7 @@ import { MagnizoomComponent } from "./widgets-ec/zoom-ec/magnizoom.component";
|
|
|
61
61
|
import { MultipleItemsToCartEcComponent } from "./multiple-items-to-cart-ec/multiple-items-to-cart-ec.component";
|
|
62
62
|
import { RecaptchaEcComponent } from "./widgets-ec/re-captcha-ec/re-captcha-ec.component";
|
|
63
63
|
import { DecidirEcComponent } from "./widgets-ec/decidir-ec/decidir-ec.component";
|
|
64
|
+
import { ComparedProductsEcComponent } from "./compared-products-ec/compared-products-ec.component";
|
|
64
65
|
export var components = [
|
|
65
66
|
BlockBannerBoxesEcComponent,
|
|
66
67
|
BlockBannerFullEcComponent,
|
|
@@ -85,6 +86,7 @@ export var components = [
|
|
|
85
86
|
LoginEcComponent,
|
|
86
87
|
ProductEcComponent,
|
|
87
88
|
RelatedProductsEcComponent,
|
|
89
|
+
ComparedProductsEcComponent,
|
|
88
90
|
SectionContainerEcComponent,
|
|
89
91
|
StoresEcComponent,
|
|
90
92
|
VariantsEcComponent,
|
|
@@ -187,4 +189,5 @@ export * from "./widgets-ec/zoom-ec/magnizoom.component";
|
|
|
187
189
|
export * from "./multiple-items-to-cart-ec/multiple-items-to-cart-ec.component";
|
|
188
190
|
export * from "./widgets-ec/re-captcha-ec/re-captcha-ec.component";
|
|
189
191
|
export * from "./widgets-ec/decidir-ec/decidir-ec.component";
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUVuQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQzlILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUNoSSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNwSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUdsRixNQUFNLENBQUMsSUFBTSxVQUFVLEdBQVU7SUFDN0IsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsaUJBQWlCO0lBRWpCLGVBQWU7SUFFZixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBRW5CLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixtQ0FBbUM7SUFFbkMsd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLGVBQWU7SUFDZix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUV2QixpQ0FBaUM7SUFFakMscUJBQXFCO0lBQ3JCLDhCQUE4QjtJQUU5QixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLDRCQUE0QjtJQUM1Qix3QkFBd0I7SUFFeEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsa0JBQWtCO0lBRWxCLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFFOUIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtDQUN2QixDQUFDO0FBR0YsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw2RUFBNkUsQ0FBQztBQUM1RixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDhDQUE4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLy9Db21wb25lbnQgYmFzZVxuXG5pbXBvcnQgeyBBY2NvdW50RWNDb21wb25lbnQgfSBmcm9tIFwiLi9hY2NvdW50LWVjL2FjY291bnQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCbG9ja0Jhbm5lckJveGVzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2stYmFubmVyLWJveGVzLWVjL2Jsb2NrLWJhbm5lci1ib3hlcy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJsb2NrQmFubmVyRnVsbEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLWJhbm5lci1mdWxsLWVjL2Jsb2NrLWJhbm5lci1mdWxsLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmxvY2tGb3JtQ29udGFjdEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLWZvcm0tY29udGFjdC1lYy9ibG9jay1mb3JtLWNvbnRhY3QtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCbG9ja0h0bWxFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1odG1sLWVjL2Jsb2NrLWh0bWwtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb250YWN0Rm9ybU5ld3NFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1uZXdzbGV0dGVyLWVjL2NvbnRhY3QtZm9ybS1uZXdzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmxvY2tQcm9kdWN0c0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmxvY2tzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2tzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2FydEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FydC1lYy9jYXJ0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2hlY2tvdXRFY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL2NoZWNrb3V0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGF0YUZvcm1FY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL2RhdGFmb3JtLWVjL2RhdGFmb3JtLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGF5bWVudEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hlY2tvdXQtZWMvcGF5bWVudC1lYy9wYXltZW50LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2hpcG1lbnRFY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL3NoaXBtZW50LWVjL3NoaXBtZW50LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3VjY2Vzc0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hlY2tvdXQtZWMvc3VjY2Vzcy1lYy9zdWNjZXNzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkVjQ29tcG9uZW50IH0gZnJvbSBcIi4vY29sbGVjdGlvbi1lYy9jb2xsZWN0aW9uLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ291cG9uRWNDb21wb25lbnQgfSBmcm9tIFwiLi9jb3Vwb24tZWMvY291cG9uLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmFxc0NvbnRlbnRFY0NvbXBvbmVudCB9IGZyb20gXCIuL2ZhcXMtY29udGVudC1lYy9mYXFzLWNvbnRlbnQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWx0ZXJzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9maWx0ZXJzLWVjL2ZpbHRlcnMtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWx0ZXJzVG9wRWNDb21wb25lbnQgfSBmcm9tIFwiLi9maWx0ZXJzLXRvcC1lYy9maWx0ZXJzLXRvcC1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvb3RlckVjQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9vdGVyLWVjL2Zvb3Rlci1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEhlYWRlckVjQ29tcG9uZW50IH0gZnJvbSBcIi4vaGVhZGVyLWVjL2hlYWRlci1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEhvbWVFY0NvbXBvbmVudCB9IGZyb20gXCIuL2hvbWUtZWMvaG9tZS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IExvZ2luRWNDb21wb25lbnQgfSBmcm9tIFwiLi9sb2dpbi1lYy9sb2dpbi1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCB9IGZyb20gXCIuL3Byb2R1Y3QtZGV0YWlsLWVjL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvZHVjdEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vcHJvZHVjdC1lYy9wcm9kdWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVsYXRlZFByb2R1Y3RzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9yZWxhdGVkLXByb2R1Y3RzLWVjL3JlbGF0ZWQtcHJvZHVjdHMtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWN0aW9uQ29udGFpbmVyRWNDb21wb25lbnQgfSBmcm9tIFwiLi9zZWN0aW9uLWNvbnRhaW5lci1lYy9zZWN0aW9uLWNvbnRhaW5lci1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN0b3Jlc0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vc3RvcmVzLWVjL3N0b3Jlcy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFZhcmlhbnRzRWNDb21wb25lbnQgfSBmcm9tIFwiLi92YXJpYW50cy1lYy92YXJpYW50cy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlbGxlckRhc2hib2FyZENvbnRhaW5lckVjQ29tcG9uZW50IH0gZnJvbSBcIi4vc2VsbGVyLWRhc2hib2FyZC1jb250YWluZXItZWMvc2VsbGVyLWRhc2hib2FyZC1jb250YWluZXItZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb2FkaW5nRnVsbEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9sb2FkaW5nLWZ1bGwtZWMvbG9hZGluZy1mdWxsLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9hZGluZ0lubGluZUVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9sb2FkaW5nLWlubGluZS1lYy9sb2FkaW5nLWlubGluZS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE1QQ3JlZGl0RWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL21lcmNhZG9wYWdvLWVjL21wY3JlZGl0LWVjL21wY3JlZGl0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJpY2VFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvcHJpY2UtZWMvcHJpY2UtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWRzeXNDYXRjaEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9yZWRzeXMtY2F0Y2gtZWMvcmVkc3lzLWNhdGNoLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVkU3lzUHJvRWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3JlZHN5cy1wcm8tZWMvcmVkc3lzLXByby1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFJlZFN5c1JlZGlyZWN0RWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3JlZHN5cy1yZWRpcmVjdC1lYy9yZWRzeXMtcmVkaXJlY3QtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDZWNhUmVkaXJlY3RFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvY2VjYS1yZWRpcmVjdC1lYy9jZWNhLXJlZGlyZWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3JkZXJzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hY2NvdW50LWVjL29yZGVycy1saXN0LWVjL29yZGVycy1saXN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3JkZXJFY0NvbXBvbmVudCB9IGZyb20gXCIuL2FjY291bnQtZWMvb3JkZXItZWMvb3JkZXItZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBdXRoRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL2F1dGgtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCB9IGZyb20gXCIuL2F1dGgtZWMvcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9naW5Gb3JtRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy9mb3Jnb3QtcGFzc3dvcmQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb25maXJtQWNjb3VudEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYXV0aC1lYy9jb25maXJtLWFjY291bnQtZWMvY29uZmlybS1hY2NvdW50LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGFzc3dvcmRSZXNldEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vcGFzc3dvcmQtcmVzZXQtZWMvcGFzc3dvcmQtcmVzZXQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWdpc3Rlcldob2xlc2FsZXJGb3JtRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL3JlZ2lzdGVyLXdob2xlc2FsZXItZm9ybS1lYy9yZWdpc3Rlci13aG9sZXNhbGVyLWZvcm0tZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTaGFyZUJsb2NrRWNDb21wb25lbnQgfSBmcm9tIFwiLi9zaGFyZS1ibG9jay1lYy9zaGFyZS1ibG9jay1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IERldGFpbENoZWNrb3V0QmxvY2tFY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy9kZXRhaWwtY2hlY2tvdXQtYmxvY2stZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGVja291dEVycm9yQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hlY2tvdXQtZXJyb3ItZWMvY2hlY2tvdXQtZXJyb3ItZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNcFJlZGlyZWN0RWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL21lcmNhZG9wYWdvLWVjL21wLXJlZGlyZWN0LWVjL21wLXJlZGlyZWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVkU3lzUmVkaXJlY3RPdXRFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvcmVkc3lzLXJlZGlyZWN0LW91dC1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGF5cGFsRXhwcmVzc0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9wYXlwYWwtZXhwcmVzcy1lYy9wYXlwYWwtZXhwcmVzcy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE1vYmJleEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9tb2JiZXgtZWMvbW9iYmV4LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmFuY2FyZEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9iYW5jYXJkLWVjL2JhbmNhcmQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCYW5jYXJkUmVkaXJlY3RFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvYmFuY2FyZC1yZWRpcmVjdC1lYy9iYW5jYXJkLXJlZGlyZWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0Q2hhbm5lbEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYXV0aC1lYy9zZWxlY3QtY2hhbm5lbC1lYy9zZWxlY3QtY2hhbm5lbC1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IENhcnRMb2FkRWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL2NhcnQtbG9hZC1lYy9jYXJ0LWxvYWQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNYWduaXpvb21Db21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3pvb20tZWMvbWFnbml6b29tLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTXVsdGlwbGVJdGVtc1RvQ2FydEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vbXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy9tdWx0aXBsZS1pdGVtcy10by1jYXJ0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVjYXB0Y2hhRWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3JlLWNhcHRjaGEtZWMvcmUtY2FwdGNoYS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IERlY2lkaXJFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvZGVjaWRpci1lYy9kZWNpZGlyLWVjLmNvbXBvbmVudFwiO1xuXG5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRzOiBhbnlbXSA9IFtcbiAgICBCbG9ja0Jhbm5lckJveGVzRWNDb21wb25lbnQsXG4gICAgQmxvY2tCYW5uZXJGdWxsRWNDb21wb25lbnQsXG4gICAgQmxvY2tGb3JtQ29udGFjdEVjQ29tcG9uZW50LFxuICAgIEJsb2NrSHRtbEVjQ29tcG9uZW50LFxuICAgIENvbnRhY3RGb3JtTmV3c0VjQ29tcG9uZW50LFxuICAgIEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudCxcbiAgICBCbG9ja3NFY0NvbXBvbmVudCxcblxuICAgIENhcnRFY0NvbXBvbmVudCxcblxuICAgIERhdGFGb3JtRWNDb21wb25lbnQsXG4gICAgUGF5bWVudEVjQ29tcG9uZW50LFxuICAgIFNoaXBtZW50RWNDb21wb25lbnQsXG4gICAgU3VjY2Vzc0VjQ29tcG9uZW50LFxuICAgIENoZWNrb3V0RWNDb21wb25lbnQsXG4gICAgXG4gICAgQ29sbGVjdGlvbkVjQ29tcG9uZW50LFxuICAgIENvdXBvbkVjQ29tcG9uZW50LFxuICAgIEZhcXNDb250ZW50RWNDb21wb25lbnQsXG4gICAgRmlsdGVyc0VjQ29tcG9uZW50LFxuICAgIEZpbHRlcnNUb3BFY0NvbXBvbmVudCxcbiAgICBGb290ZXJFY0NvbXBvbmVudCxcbiAgICBIZWFkZXJFY0NvbXBvbmVudCxcbiAgICBMb2dpbkVjQ29tcG9uZW50LFxuICAgIFByb2R1Y3RFY0NvbXBvbmVudCxcbiAgICBSZWxhdGVkUHJvZHVjdHNFY0NvbXBvbmVudCxcbiAgICBTZWN0aW9uQ29udGFpbmVyRWNDb21wb25lbnQsXG4gICAgU3RvcmVzRWNDb21wb25lbnQsXG4gICAgVmFyaWFudHNFY0NvbXBvbmVudCxcbiAgICBTZWxsZXJEYXNoYm9hcmRDb250YWluZXJFY0NvbXBvbmVudCxcbiAgICBcbiAgICBMb2FkaW5nSW5saW5lRWNDb21wb25lbnQsXG4gICAgTG9hZGluZ0Z1bGxFY0NvbXBvbmVudCxcbiAgICBNUENyZWRpdEVjQ29tcG9uZW50LFxuICAgIFByaWNlRWNDb21wb25lbnQsXG4gICAgUmVkc3lzQ2F0Y2hFY0NvbXBvbmVudCxcbiAgICBSZWRTeXNQcm9FY0NvbXBvbmVudCxcbiAgICBSZWRTeXNSZWRpcmVjdEVjQ29tcG9uZW50LFxuICAgIEhvbWVFY0NvbXBvbmVudCxcbiAgICBQcm9kdWN0RGV0YWlsRWNDb21wb25lbnQsXG4gICAgQWNjb3VudEVjQ29tcG9uZW50LFxuICAgIE9yZGVyc0VjQ29tcG9uZW50LFxuICAgIE9yZGVyRWNDb21wb25lbnQsXG4gICAgQXV0aEVjQ29tcG9uZW50LFxuICAgIFJlZ2lzdGVyRm9ybUVjQ29tcG9uZW50LFxuICAgIExvZ2luRm9ybUVjQ29tcG9uZW50LFxuICAgIFNlbGVjdENoYW5uZWxFY0NvbXBvbmVudCxcbiAgICBGb3Jnb3RQYXNzd29yZEVjQ29tcG9uZW50LFxuICAgIENvbmZpcm1BY2NvdW50RWNDb21wb25lbnQsXG4gICAgUGFzc3dvcmRSZXNldEVjQ29tcG9uZW50LFxuICAgIENlY2FSZWRpcmVjdEVjQ29tcG9uZW50LFxuXG4gICAgUmVnaXN0ZXJXaG9sZXNhbGVyRm9ybUVjQ29tcG9uZW50LFxuXG4gICAgU2hhcmVCbG9ja0VjQ29tcG9uZW50LFxuICAgIERldGFpbENoZWNrb3V0QmxvY2tFY0NvbXBvbmVudCxcblxuICAgIENoZWNrb3V0RXJyb3JDb21wb25lbnQsXG4gICAgTXBSZWRpcmVjdEVjQ29tcG9uZW50LFxuICAgIFJlZFN5c1JlZGlyZWN0T3V0RWNDb21wb25lbnQsXG4gICAgUGF5cGFsRXhwcmVzc0VjQ29tcG9uZW50LFxuXG4gICAgTW9iYmV4RWNDb21wb25lbnQsXG4gICAgQmFuY2FyZEVjQ29tcG9uZW50LFxuICAgIEJhbmNhcmRSZWRpcmVjdEVjQ29tcG9uZW50LFxuICAgIERlY2lkaXJFY0NvbXBvbmVudCxcblxuICAgIENhcnRMb2FkRWNDb21wb25lbnQsXG4gICAgTXVsdGlwbGVJdGVtc1RvQ2FydEVjQ29tcG9uZW50LFxuXG4gICAgTWFnbml6b29tQ29tcG9uZW50LFxuICAgIFJlY2FwdGNoYUVjQ29tcG9uZW50XG5dO1xuXG5cbmV4cG9ydCAqIGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1iYW5uZXItYm94ZXMtZWMvYmxvY2stYmFubmVyLWJveGVzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLWJhbm5lci1mdWxsLWVjL2Jsb2NrLWJhbm5lci1mdWxsLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLWZvcm0tY29udGFjdC1lYy9ibG9jay1mb3JtLWNvbnRhY3QtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2staHRtbC1lYy9ibG9jay1odG1sLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLW5ld3NsZXR0ZXItZWMvY29udGFjdC1mb3JtLW5ld3MtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2stcHJvZHVjdHMtZWMvYmxvY2stcHJvZHVjdHMtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2tzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2FydC1lYy9jYXJ0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2hlY2tvdXQtZWMvY2hlY2tvdXQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jaGVja291dC1lYy9kYXRhZm9ybS1lYy9kYXRhZm9ybS1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NoZWNrb3V0LWVjL3BheW1lbnQtZWMvcGF5bWVudC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NoZWNrb3V0LWVjL3NoaXBtZW50LWVjL3NoaXBtZW50LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2hlY2tvdXQtZWMvc3VjY2Vzcy1lYy9zdWNjZXNzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29sbGVjdGlvbi1lYy9jb2xsZWN0aW9uLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY291cG9uLWVjL2NvdXBvbi1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZhcXMtY29udGVudC1lYy9mYXFzLWNvbnRlbnQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXJzLWVjL2ZpbHRlcnMtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maWx0ZXJzLXRvcC1lYy9maWx0ZXJzLXRvcC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zvb3Rlci1lYy9mb290ZXItZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oZWFkZXItZWMvaGVhZGVyLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9naW4tZWMvbG9naW4tZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9kdWN0LWVjL3Byb2R1Y3QtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWxhdGVkLXByb2R1Y3RzLWVjL3JlbGF0ZWQtcHJvZHVjdHMtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZWN0aW9uLWNvbnRhaW5lci1lYy9zZWN0aW9uLWNvbnRhaW5lci1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0b3Jlcy1lYy9zdG9yZXMtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92YXJpYW50cy1lYy92YXJpYW50cy1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGxlci1kYXNoYm9hcmQtY29udGFpbmVyLWVjL3NlbGxlci1kYXNoYm9hcmQtY29udGFpbmVyLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9sb2FkaW5nLWZ1bGwtZWMvbG9hZGluZy1mdWxsLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9sb2FkaW5nLWlubGluZS1lYy9sb2FkaW5nLWlubGluZS1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvbWVyY2Fkb3BhZ28tZWMvbXBjcmVkaXQtZWMvbXBjcmVkaXQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL3ByaWNlLWVjL3ByaWNlLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9yZWRzeXMtY2F0Y2gtZWMvcmVkc3lzLWNhdGNoLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9yZWRzeXMtcHJvLWVjL3JlZHN5cy1wcm8tZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL3JlZHN5cy1yZWRpcmVjdC1lYy9yZWRzeXMtcmVkaXJlY3QtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ob21lLWVjL2hvbWUtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9kdWN0LWRldGFpbC1lYy9wcm9kdWN0LWRldGFpbC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjY291bnQtZWMvYWNjb3VudC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjY291bnQtZWMvb3JkZXJzLWxpc3QtZWMvb3JkZXJzLWxpc3QtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hY2NvdW50LWVjL29yZGVyLWVjL29yZGVyLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0aC1lYy9hdXRoLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0aC1lYy9yZWdpc3Rlci1mb3JtLWVjL3JlZ2lzdGVyLWZvcm0tZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGgtZWMvZm9yZ290LXBhc3N3b3JkLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGgtZWMvY29uZmlybS1hY2NvdW50LWVjL2NvbmZpcm0tYWNjb3VudC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Bhc3N3b3JkLXJlc2V0LWVjL3Bhc3N3b3JkLXJlc2V0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0aC1lYy9yZWdpc3Rlci13aG9sZXNhbGVyLWZvcm0tZWMvcmVnaXN0ZXItd2hvbGVzYWxlci1mb3JtLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2hhcmUtYmxvY2stZWMvc2hhcmUtYmxvY2stZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jaGVja291dC1lYy9kZXRhaWwtY2hlY2tvdXQtYmxvY2stZWMvZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9tZXJjYWRvcGFnby1lYy9tcC1yZWRpcmVjdC1lYy9tcC1yZWRpcmVjdC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0cy1lYy9jZWNhLXJlZGlyZWN0LWVjL2NlY2EtcmVkaXJlY3QtZWMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gXCIuL2NoZWNrb3V0LWVycm9yLWVjL2NoZWNrb3V0LWVycm9yLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjL3JlZHN5cy1yZWRpcmVjdC1vdXQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL3BheXBhbC1leHByZXNzLWVjL3BheXBhbC1leHByZXNzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9tb2JiZXgtZWMvbW9iYmV4LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9iYW5jYXJkLWVjL2JhbmNhcmQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL2JhbmNhcmQtcmVkaXJlY3QtZWMvYmFuY2FyZC1yZWRpcmVjdC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGgtZWMvc2VsZWN0LWNoYW5uZWwtZWMvc2VsZWN0LWNoYW5uZWwtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL2NhcnQtbG9hZC1lYy9jYXJ0LWxvYWQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL3pvb20tZWMvbWFnbml6b29tLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy9tdWx0aXBsZS1pdGVtcy10by1jYXJ0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9yZS1jYXB0Y2hhLWVjL3JlLWNhcHRjaGEtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL2RlY2lkaXItZWMvZGVjaWRpci1lYy5jb21wb25lbnRcIjtcbiJdfQ==
|
|
192
|
+
export * from "./compared-products-ec/compared-products-ec.component";
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUVuQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZD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LCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNkVBQTZFLENBQUM7QUFDNUYsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDJFQUEyRSxDQUFDO0FBQzFGLGNBQWMscUVBQXFFLENBQUM7QUFDcEYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHVEQUF1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLy9Db21wb25lbnQgYmFzZVxuXG5pbXBvcnQgeyBBY2NvdW50RWNDb21wb25lbnQgfSBmcm9tIFwiLi9hY2NvdW50LWVjL2FjY291bnQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCbG9ja0Jhbm5lckJveGVzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2stYmFubmVyLWJveGVzLWVjL2Jsb2NrLWJhbm5lci1ib3hlcy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEJsb2NrQmFubmVyRnVsbEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLWJhbm5lci1mdWxsLWVjL2Jsb2NrLWJhbm5lci1mdWxsLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmxvY2tGb3JtQ29udGFjdEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLWZvcm0tY29udGFjdC1lYy9ibG9jay1mb3JtLWNvbnRhY3QtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCbG9ja0h0bWxFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1odG1sLWVjL2Jsb2NrLWh0bWwtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb250YWN0Rm9ybU5ld3NFY0NvbXBvbmVudCB9IGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1uZXdzbGV0dGVyLWVjL2NvbnRhY3QtZm9ybS1uZXdzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmxvY2tQcm9kdWN0c0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmxvY2tzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2tzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2FydEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FydC1lYy9jYXJ0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ2hlY2tvdXRFY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL2NoZWNrb3V0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGF0YUZvcm1FY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL2RhdGFmb3JtLWVjL2RhdGFmb3JtLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGF5bWVudEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hlY2tvdXQtZWMvcGF5bWVudC1lYy9wYXltZW50LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2hpcG1lbnRFY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL3NoaXBtZW50LWVjL3NoaXBtZW50LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU3VjY2Vzc0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hlY2tvdXQtZWMvc3VjY2Vzcy1lYy9zdWNjZXNzLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkVjQ29tcG9uZW50IH0gZnJvbSBcIi4vY29sbGVjdGlvbi1lYy9jb2xsZWN0aW9uLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ291cG9uRWNDb21wb25lbnQgfSBmcm9tIFwiLi9jb3Vwb24tZWMvY291cG9uLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmFxc0NvbnRlbnRFY0NvbXBvbmVudCB9IGZyb20gXCIuL2ZhcXMtY29udGVudC1lYy9mYXFzLWNvbnRlbnQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWx0ZXJzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9maWx0ZXJzLWVjL2ZpbHRlcnMtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWx0ZXJzVG9wRWNDb21wb25lbnQgfSBmcm9tIFwiLi9maWx0ZXJzLXRvcC1lYy9maWx0ZXJzLXRvcC1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvb3RlckVjQ29tcG9uZW50IH0gZnJvbSBcIi4vZm9vdGVyLWVjL2Zvb3Rlci1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEhlYWRlckVjQ29tcG9uZW50IH0gZnJvbSBcIi4vaGVhZGVyLWVjL2hlYWRlci1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEhvbWVFY0NvbXBvbmVudCB9IGZyb20gXCIuL2hvbWUtZWMvaG9tZS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IExvZ2luRWNDb21wb25lbnQgfSBmcm9tIFwiLi9sb2dpbi1lYy9sb2dpbi1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxFY0NvbXBvbmVudCB9IGZyb20gXCIuL3Byb2R1Y3QtZGV0YWlsLWVjL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvZHVjdEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vcHJvZHVjdC1lYy9wcm9kdWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVsYXRlZFByb2R1Y3RzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9yZWxhdGVkLXByb2R1Y3RzLWVjL3JlbGF0ZWQtcHJvZHVjdHMtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTZWN0aW9uQ29udGFpbmVyRWNDb21wb25lbnQgfSBmcm9tIFwiLi9zZWN0aW9uLWNvbnRhaW5lci1lYy9zZWN0aW9uLWNvbnRhaW5lci1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFN0b3Jlc0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vc3RvcmVzLWVjL3N0b3Jlcy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFZhcmlhbnRzRWNDb21wb25lbnQgfSBmcm9tIFwiLi92YXJpYW50cy1lYy92YXJpYW50cy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFNlbGxlckRhc2hib2FyZENvbnRhaW5lckVjQ29tcG9uZW50IH0gZnJvbSBcIi4vc2VsbGVyLWRhc2hib2FyZC1jb250YWluZXItZWMvc2VsbGVyLWRhc2hib2FyZC1jb250YWluZXItZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMb2FkaW5nRnVsbEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9sb2FkaW5nLWZ1bGwtZWMvbG9hZGluZy1mdWxsLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9hZGluZ0lubGluZUVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9sb2FkaW5nLWlubGluZS1lYy9sb2FkaW5nLWlubGluZS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE1QQ3JlZGl0RWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL21lcmNhZG9wYWdvLWVjL21wY3JlZGl0LWVjL21wY3JlZGl0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJpY2VFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvcHJpY2UtZWMvcHJpY2UtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWRzeXNDYXRjaEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9yZWRzeXMtY2F0Y2gtZWMvcmVkc3lzLWNhdGNoLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVkU3lzUHJvRWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3JlZHN5cy1wcm8tZWMvcmVkc3lzLXByby1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IFJlZFN5c1JlZGlyZWN0RWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3JlZHN5cy1yZWRpcmVjdC1lYy9yZWRzeXMtcmVkaXJlY3QtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDZWNhUmVkaXJlY3RFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvY2VjYS1yZWRpcmVjdC1lYy9jZWNhLXJlZGlyZWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3JkZXJzRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hY2NvdW50LWVjL29yZGVycy1saXN0LWVjL29yZGVycy1saXN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgT3JkZXJFY0NvbXBvbmVudCB9IGZyb20gXCIuL2FjY291bnQtZWMvb3JkZXItZWMvb3JkZXItZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBdXRoRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL2F1dGgtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCB9IGZyb20gXCIuL2F1dGgtZWMvcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTG9naW5Gb3JtRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL2xvZ2luLWZvcm0tZWMvbG9naW4tZm9ybS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy9mb3Jnb3QtcGFzc3dvcmQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb25maXJtQWNjb3VudEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYXV0aC1lYy9jb25maXJtLWFjY291bnQtZWMvY29uZmlybS1hY2NvdW50LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGFzc3dvcmRSZXNldEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vcGFzc3dvcmQtcmVzZXQtZWMvcGFzc3dvcmQtcmVzZXQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWdpc3Rlcldob2xlc2FsZXJGb3JtRWNDb21wb25lbnQgfSBmcm9tIFwiLi9hdXRoLWVjL3JlZ2lzdGVyLXdob2xlc2FsZXItZm9ybS1lYy9yZWdpc3Rlci13aG9sZXNhbGVyLWZvcm0tZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTaGFyZUJsb2NrRWNDb21wb25lbnQgfSBmcm9tIFwiLi9zaGFyZS1ibG9jay1lYy9zaGFyZS1ibG9jay1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IERldGFpbENoZWNrb3V0QmxvY2tFY0NvbXBvbmVudCB9IGZyb20gXCIuL2NoZWNrb3V0LWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy9kZXRhaWwtY2hlY2tvdXQtYmxvY2stZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGVja291dEVycm9yQ29tcG9uZW50IH0gZnJvbSBcIi4vY2hlY2tvdXQtZXJyb3ItZWMvY2hlY2tvdXQtZXJyb3ItZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNcFJlZGlyZWN0RWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL21lcmNhZG9wYWdvLWVjL21wLXJlZGlyZWN0LWVjL21wLXJlZGlyZWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVkU3lzUmVkaXJlY3RPdXRFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvcmVkc3lzLXJlZGlyZWN0LW91dC1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGF5cGFsRXhwcmVzc0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9wYXlwYWwtZXhwcmVzcy1lYy9wYXlwYWwtZXhwcmVzcy1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE1vYmJleEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9tb2JiZXgtZWMvbW9iYmV4LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQmFuY2FyZEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vd2lkZ2V0cy1lYy9iYW5jYXJkLWVjL2JhbmNhcmQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBCYW5jYXJkUmVkaXJlY3RFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvYmFuY2FyZC1yZWRpcmVjdC1lYy9iYW5jYXJkLXJlZGlyZWN0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0Q2hhbm5lbEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vYXV0aC1lYy9zZWxlY3QtY2hhbm5lbC1lYy9zZWxlY3QtY2hhbm5lbC1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IENhcnRMb2FkRWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL2NhcnQtbG9hZC1lYy9jYXJ0LWxvYWQtZWMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNYWduaXpvb21Db21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3pvb20tZWMvbWFnbml6b29tLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTXVsdGlwbGVJdGVtc1RvQ2FydEVjQ29tcG9uZW50IH0gZnJvbSBcIi4vbXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy9tdWx0aXBsZS1pdGVtcy10by1jYXJ0LWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVjYXB0Y2hhRWNDb21wb25lbnQgfSBmcm9tIFwiLi93aWRnZXRzLWVjL3JlLWNhcHRjaGEtZWMvcmUtY2FwdGNoYS1lYy5jb21wb25lbnRcIjtcbmltcG9ydCB7IERlY2lkaXJFY0NvbXBvbmVudCB9IGZyb20gXCIuL3dpZGdldHMtZWMvZGVjaWRpci1lYy9kZWNpZGlyLWVjLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29tcGFyZWRQcm9kdWN0c0VjQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcGFyZWQtcHJvZHVjdHMtZWMvY29tcGFyZWQtcHJvZHVjdHMtZWMuY29tcG9uZW50XCI7XG5cbmV4cG9ydCBjb25zdCBjb21wb25lbnRzOiBhbnlbXSA9IFtcbiAgICBCbG9ja0Jhbm5lckJveGVzRWNDb21wb25lbnQsXG4gICAgQmxvY2tCYW5uZXJGdWxsRWNDb21wb25lbnQsXG4gICAgQmxvY2tGb3JtQ29udGFjdEVjQ29tcG9uZW50LFxuICAgIEJsb2NrSHRtbEVjQ29tcG9uZW50LFxuICAgIENvbnRhY3RGb3JtTmV3c0VjQ29tcG9uZW50LFxuICAgIEJsb2NrUHJvZHVjdHNFY0NvbXBvbmVudCxcbiAgICBCbG9ja3NFY0NvbXBvbmVudCxcblxuICAgIENhcnRFY0NvbXBvbmVudCxcblxuICAgIERhdGFGb3JtRWNDb21wb25lbnQsXG4gICAgUGF5bWVudEVjQ29tcG9uZW50LFxuICAgIFNoaXBtZW50RWNDb21wb25lbnQsXG4gICAgU3VjY2Vzc0VjQ29tcG9uZW50LFxuICAgIENoZWNrb3V0RWNDb21wb25lbnQsXG4gICAgXG4gICAgQ29sbGVjdGlvbkVjQ29tcG9uZW50LFxuICAgIENvdXBvbkVjQ29tcG9uZW50LFxuICAgIEZhcXNDb250ZW50RWNDb21wb25lbnQsXG4gICAgRmlsdGVyc0VjQ29tcG9uZW50LFxuICAgIEZpbHRlcnNUb3BFY0NvbXBvbmVudCxcbiAgICBGb290ZXJFY0NvbXBvbmVudCxcbiAgICBIZWFkZXJFY0NvbXBvbmVudCxcbiAgICBMb2dpbkVjQ29tcG9uZW50LFxuICAgIFByb2R1Y3RFY0NvbXBvbmVudCxcbiAgICBSZWxhdGVkUHJvZHVjdHNFY0NvbXBvbmVudCxcbiAgICBDb21wYXJlZFByb2R1Y3RzRWNDb21wb25lbnQsXG4gICAgU2VjdGlvbkNvbnRhaW5lckVjQ29tcG9uZW50LFxuICAgIFN0b3Jlc0VjQ29tcG9uZW50LFxuICAgIFZhcmlhbnRzRWNDb21wb25lbnQsXG4gICAgU2VsbGVyRGFzaGJvYXJkQ29udGFpbmVyRWNDb21wb25lbnQsXG4gICAgXG4gICAgTG9hZGluZ0lubGluZUVjQ29tcG9uZW50LFxuICAgIExvYWRpbmdGdWxsRWNDb21wb25lbnQsXG4gICAgTVBDcmVkaXRFY0NvbXBvbmVudCxcbiAgICBQcmljZUVjQ29tcG9uZW50LFxuICAgIFJlZHN5c0NhdGNoRWNDb21wb25lbnQsXG4gICAgUmVkU3lzUHJvRWNDb21wb25lbnQsXG4gICAgUmVkU3lzUmVkaXJlY3RFY0NvbXBvbmVudCxcbiAgICBIb21lRWNDb21wb25lbnQsXG4gICAgUHJvZHVjdERldGFpbEVjQ29tcG9uZW50LFxuICAgIEFjY291bnRFY0NvbXBvbmVudCxcbiAgICBPcmRlcnNFY0NvbXBvbmVudCxcbiAgICBPcmRlckVjQ29tcG9uZW50LFxuICAgIEF1dGhFY0NvbXBvbmVudCxcbiAgICBSZWdpc3RlckZvcm1FY0NvbXBvbmVudCxcbiAgICBMb2dpbkZvcm1FY0NvbXBvbmVudCxcbiAgICBTZWxlY3RDaGFubmVsRWNDb21wb25lbnQsXG4gICAgRm9yZ290UGFzc3dvcmRFY0NvbXBvbmVudCxcbiAgICBDb25maXJtQWNjb3VudEVjQ29tcG9uZW50LFxuICAgIFBhc3N3b3JkUmVzZXRFY0NvbXBvbmVudCxcbiAgICBDZWNhUmVkaXJlY3RFY0NvbXBvbmVudCxcblxuICAgIFJlZ2lzdGVyV2hvbGVzYWxlckZvcm1FY0NvbXBvbmVudCxcblxuICAgIFNoYXJlQmxvY2tFY0NvbXBvbmVudCxcbiAgICBEZXRhaWxDaGVja291dEJsb2NrRWNDb21wb25lbnQsXG5cbiAgICBDaGVja291dEVycm9yQ29tcG9uZW50LFxuICAgIE1wUmVkaXJlY3RFY0NvbXBvbmVudCxcbiAgICBSZWRTeXNSZWRpcmVjdE91dEVjQ29tcG9uZW50LFxuICAgIFBheXBhbEV4cHJlc3NFY0NvbXBvbmVudCxcblxuICAgIE1vYmJleEVjQ29tcG9uZW50LFxuICAgIEJhbmNhcmRFY0NvbXBvbmVudCxcbiAgICBCYW5jYXJkUmVkaXJlY3RFY0NvbXBvbmVudCxcbiAgICBEZWNpZGlyRWNDb21wb25lbnQsXG5cbiAgICBDYXJ0TG9hZEVjQ29tcG9uZW50LFxuICAgIE11bHRpcGxlSXRlbXNUb0NhcnRFY0NvbXBvbmVudCxcblxuICAgIE1hZ25pem9vbUNvbXBvbmVudCxcbiAgICBSZWNhcHRjaGFFY0NvbXBvbmVudFxuXTtcblxuXG5leHBvcnQgKiBmcm9tIFwiLi9ibG9ja3MtZWMvYmxvY2stYmFubmVyLWJveGVzLWVjL2Jsb2NrLWJhbm5lci1ib3hlcy1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1iYW5uZXItZnVsbC1lYy9ibG9jay1iYW5uZXItZnVsbC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1mb3JtLWNvbnRhY3QtZWMvYmxvY2stZm9ybS1jb250YWN0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLWh0bWwtZWMvYmxvY2staHRtbC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Jsb2Nrcy1lYy9ibG9jay1uZXdzbGV0dGVyLWVjL2NvbnRhY3QtZm9ybS1uZXdzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjL2Jsb2NrLXByb2R1Y3RzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmxvY2tzLWVjL2Jsb2Nrcy1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhcnQtZWMvY2FydC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NoZWNrb3V0LWVjL2NoZWNrb3V0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2hlY2tvdXQtZWMvZGF0YWZvcm0tZWMvZGF0YWZvcm0tZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jaGVja291dC1lYy9wYXltZW50LWVjL3BheW1lbnQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jaGVja291dC1lYy9zaGlwbWVudC1lYy9zaGlwbWVudC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NoZWNrb3V0LWVjL3N1Y2Nlc3MtZWMvc3VjY2Vzcy1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbGxlY3Rpb24tZWMvY29sbGVjdGlvbi1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvdXBvbi1lYy9jb3Vwb24tZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mYXFzLWNvbnRlbnQtZWMvZmFxcy1jb250ZW50LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVycy1lYy9maWx0ZXJzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsdGVycy10b3AtZWMvZmlsdGVycy10b3AtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb290ZXItZWMvZm9vdGVyLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaGVhZGVyLWVjL2hlYWRlci1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2luLWVjL2xvZ2luLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZHVjdC1lYy9wcm9kdWN0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVsYXRlZC1wcm9kdWN0cy1lYy9yZWxhdGVkLXByb2R1Y3RzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VjdGlvbi1jb250YWluZXItZWMvc2VjdGlvbi1jb250YWluZXItZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yZXMtZWMvc3RvcmVzLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFyaWFudHMtZWMvdmFyaWFudHMtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZWxsZXItZGFzaGJvYXJkLWNvbnRhaW5lci1lYy9zZWxsZXItZGFzaGJvYXJkLWNvbnRhaW5lci1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvbG9hZGluZy1mdWxsLWVjL2xvYWRpbmctZnVsbC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvbG9hZGluZy1pbmxpbmUtZWMvbG9hZGluZy1pbmxpbmUtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93aWRnZXRzLWVjL21lcmNhZG9wYWdvLWVjL21wY3JlZGl0LWVjL21wY3JlZGl0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9wcmljZS1lYy9wcmljZS1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvcmVkc3lzLWNhdGNoLWVjL3JlZHN5cy1jYXRjaC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvcmVkc3lzLXByby1lYy9yZWRzeXMtcHJvLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9yZWRzeXMtcmVkaXJlY3QtZWMvcmVkc3lzLXJlZGlyZWN0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG9tZS1lYy9ob21lLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hY2NvdW50LWVjL2FjY291bnQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hY2NvdW50LWVjL29yZGVycy1saXN0LWVjL29yZGVycy1saXN0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWNjb3VudC1lYy9vcmRlci1lYy9vcmRlci1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGgtZWMvYXV0aC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGgtZWMvcmVnaXN0ZXItZm9ybS1lYy9yZWdpc3Rlci1mb3JtLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0aC1lYy9sb2dpbi1mb3JtLWVjL2xvZ2luLWZvcm0tZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoLWVjL2ZvcmdvdC1wYXNzd29yZC1lYy9mb3Jnb3QtcGFzc3dvcmQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoLWVjL2NvbmZpcm0tYWNjb3VudC1lYy9jb25maXJtLWFjY291bnQtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXNzd29yZC1yZXNldC1lYy9wYXNzd29yZC1yZXNldC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGgtZWMvcmVnaXN0ZXItd2hvbGVzYWxlci1mb3JtLWVjL3JlZ2lzdGVyLXdob2xlc2FsZXItZm9ybS1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NoYXJlLWJsb2NrLWVjL3NoYXJlLWJsb2NrLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2hlY2tvdXQtZWMvZGV0YWlsLWNoZWNrb3V0LWJsb2NrLWVjL2RldGFpbC1jaGVja291dC1ibG9jay1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvbWVyY2Fkb3BhZ28tZWMvbXAtcmVkaXJlY3QtZWMvbXAtcmVkaXJlY3QtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMtZWMvY2VjYS1yZWRpcmVjdC1lYy9jZWNhLXJlZGlyZWN0LWVjLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tIFwiLi9jaGVja291dC1lcnJvci1lYy9jaGVja291dC1lcnJvci1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvcmVkc3lzLXJlZGlyZWN0LW91dC1lYy9yZWRzeXMtcmVkaXJlY3Qtb3V0LWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9wYXlwYWwtZXhwcmVzcy1lYy9wYXlwYWwtZXhwcmVzcy1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvbW9iYmV4LWVjL21vYmJleC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvYmFuY2FyZC1lYy9iYW5jYXJkLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9iYW5jYXJkLXJlZGlyZWN0LWVjL2JhbmNhcmQtcmVkaXJlY3QtZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoLWVjL3NlbGVjdC1jaGFubmVsLWVjL3NlbGVjdC1jaGFubmVsLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9jYXJ0LWxvYWQtZWMvY2FydC1sb2FkLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy96b29tLWVjL21hZ25pem9vbS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL211bHRpcGxlLWl0ZW1zLXRvLWNhcnQtZWMvbXVsdGlwbGUtaXRlbXMtdG8tY2FydC1lYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dpZGdldHMtZWMvcmUtY2FwdGNoYS1lYy9yZS1jYXB0Y2hhLWVjLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2lkZ2V0cy1lYy9kZWNpZGlyLWVjL2RlY2lkaXItZWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wYXJlZC1wcm9kdWN0cy1lYy9jb21wYXJlZC1wcm9kdWN0cy1lYy5jb21wb25lbnRcIjsiXX0=
|
|
@@ -34,6 +34,14 @@ var RelatedProductsEcComponent = /** @class */ (function (_super) {
|
|
|
34
34
|
_this.router = router;
|
|
35
35
|
_this.relatedProducts = [];
|
|
36
36
|
_this.name = null;
|
|
37
|
+
_this.keywordsToCompare = ['compare', 'comparar', 'comparacion', 'comparación', 'compared'];
|
|
38
|
+
_this.includeKeyword = function (word) {
|
|
39
|
+
var result = false;
|
|
40
|
+
_this.keywordsToCompare.forEach(function (keyword) {
|
|
41
|
+
word.includes(keyword) ? result = true : null;
|
|
42
|
+
});
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
37
45
|
_this.customOptions = {
|
|
38
46
|
loop: true,
|
|
39
47
|
dots: false,
|
|
@@ -66,7 +74,7 @@ var RelatedProductsEcComponent = /** @class */ (function (_super) {
|
|
|
66
74
|
RelatedProductsEcComponent.prototype.load = function (product_id) {
|
|
67
75
|
var _this = this;
|
|
68
76
|
this.productsService.getRelatedProducts(product_id).pipe(take(1)).subscribe(function (res) {
|
|
69
|
-
_this.relatedProducts = res;
|
|
77
|
+
_this.relatedProducts = res.filter(function (elem) { return !_this.includeKeyword(elem.title.toLowerCase()); });
|
|
70
78
|
res.map(function (products) { var _a, _b; return _this.analyticsService.callEvent('view_item_list', { products: products.items, item_list_name: products.title || 'Related Products', item_list_id: ((_b = (_a = products.title) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.replace(' ', '-')) || 'related-products' }); });
|
|
71
79
|
});
|
|
72
80
|
};
|
|
@@ -100,4 +108,4 @@ var RelatedProductsEcComponent = /** @class */ (function (_super) {
|
|
|
100
108
|
return RelatedProductsEcComponent;
|
|
101
109
|
}(ComponentHelper));
|
|
102
110
|
export { RelatedProductsEcComponent };
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRlZC1wcm9kdWN0cy1lYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYXN5Y29tbWVyY2UvIiwic291cmNlcyI6WyJsaWIvZWMtY29tcG9uZW50L3JlbGF0ZWQtcHJvZHVjdHMtZWMvcmVsYXRlZC1wcm9kdWN0cy1lYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBTzNFO0lBQWdELDhDQUFlO0lBTzNELG9DQUFzQixlQUFnQyxFQUMxQyxnQkFBa0MsRUFDbkMsTUFBaUIsRUFDakIsTUFBYztRQUh6QixZQUlJLGlCQUFPLFNBRVY7UUFOcUIscUJBQWUsR0FBZixlQUFlLENBQWlCO1FBQzFDLHNCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbkMsWUFBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixZQUFNLEdBQU4sTUFBTSxDQUFRO1FBUmxCLHFCQUFlLEdBQUcsRUFBRSxDQUFDO1FBRXJCLFVBQUksR0FBRyxJQUFJLENBQUM7UUFDWCx1QkFBaUIsR0FBWSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQTBCdkcsb0JBQWMsR0FBRyxVQUFDLElBQVc7WUFDekIs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QUFnRCxlQUFlLEdBMkU5RDtTQTNFWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50SGVscGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9jb21wb25lbnQtaGVscGVyJztcbmltcG9ydCB7IENvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvcmUuY29uc3RzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy9wcm9kdWN0cy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcmVsYXRlZC1wcm9kdWN0cy1lYycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0ZWQtcHJvZHVjdHMtZWMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JlbGF0ZWQtcHJvZHVjdHMtZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGVkUHJvZHVjdHNFY0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEhlbHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgcmVsYXRlZFByb2R1Y3RzID0gW107XG4gICAgQElucHV0KCkgcHJvZHVjdF9pZDtcbiAgICBwdWJsaWMgbmFtZSA9IG51bGw7XG4gICAgcHJpdmF0ZSBrZXl3b3Jkc1RvQ29tcGFyZTpzdHJpbmdbXSA9IFsnY29tcGFyZScsICdjb21wYXJhcicsICdjb21wYXJhY2lvbicsICdjb21wYXJhY2nDs24nLCAnY29tcGFyZWQnXTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBwcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhbmFseXRpY3NTZXJ2aWNlOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY29uc3RzOiBDb25zdGFudHMsXG4gICAgICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVjT25Db25zdHJ1Y3QoKVxuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxvYWQodGhpcy5wcm9kdWN0X2lkKVxuICAgICAgICB0aGlzLmVjT25Jbml0KClcbiAgICB9XG5cbiAgICBsb2FkKHByb2R1Y3RfaWQpIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0c1NlcnZpY2UuZ2V0UmVsYXRlZFByb2R1Y3RzKHByb2R1Y3RfaWQpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbGF0ZWRQcm9kdWN0cyA9IHJlcy5maWx0ZXIoZWxlbSA9PiAhdGhpcy5pbmNsdWRlS2V5d29yZChlbGVtLnRpdGxlLnRvTG93ZXJDYXNlKCkpKVxuICAgICAgICAgICAgICAgIHJlcy5tYXAocHJvZHVjdHMgPT4gdGhpcy5hbmFseXRpY3NTZXJ2aWNlLmNhbGxFdmVudCgndmlld19pdGVtX2xpc3QnLCB7IHByb2R1Y3RzOiBwcm9kdWN0cy5pdGVtcywgaXRlbV9saXN0X25hbWU6IHByb2R1Y3RzLnRpdGxlIHx8ICdSZWxhdGVkIFByb2R1Y3RzJywgaXRlbV9saXN0X2lkOiBwcm9kdWN0cy50aXRsZT8udG9Mb3dlckNhc2UoKT8ucmVwbGFjZSgnICcsICctJykgfHwgJ3JlbGF0ZWQtcHJvZHVjdHMnIH0pKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vcmVzID0+IHJlcy5pdGVtcyA/IHRoaXMucHJvZHVjdHMgPSByZXMuaXRlbXMgOiBudWxsXG4gICAgICAgICAgICAvLyBlcnIgPT4gdGhpcy50b2FzdHJTZXJ2aWNlLnNob3coJ3VuYWJsZS10by1mZXRjaC1wcm9kdWN0cycpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBpbmNsdWRlS2V5d29yZCA9ICh3b3JkOnN0cmluZykgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZmFsc2VcbiAgICAgICAgdGhpcy5rZXl3b3Jkc1RvQ29tcGFyZS5mb3JFYWNoKCBrZXl3b3JkID0+IHtcbiAgICAgICAgICAgIHdvcmQuaW5jbHVkZXMoa2V5d29yZCkgPyByZXN1bHQgPSB0cnVlIDogbnVsbFxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbCh7XG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxvYWQoY2hhbmdlcy5wcm9kdWN0X2lkLmN1cnJlbnRWYWx1ZSlcbiAgICAgICAgLy90aGlzLmRvU29tZXRoaW5nKGNoYW5nZXMuY2F0ZWdvcnlJZC5jdXJyZW50VmFsdWUpO1xuICAgICAgICAvLyBZb3UgY2FuIGFsc28gdXNlIGNhdGVnb3J5SWQucHJldmlvdXNWYWx1ZSBhbmQgXG4gICAgICAgIC8vIGNhdGVnb3J5SWQuZmlyc3RDaGFuZ2UgZm9yIGNvbXBhcmluZyBvbGQgYW5kIG5ldyB2YWx1ZXNcblxuICAgIH1cblxuXG5cbiAgICBwdWJsaWMgY3VzdG9tT3B0aW9uczogYW55ID0ge1xuICAgICAgICBsb29wOiB0cnVlLFxuICAgICAgICBkb3RzOiBmYWxzZSxcbiAgICAgICAgbmF2U3BlZWQ6IDk1MCxcbiAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICBuYXZUZXh0OiBbJycsICcnXSxcbiAgICAgICAgbmF2OiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlOiB7XG4gICAgICAgICAgICAwOiB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgbmF2OiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgNjAwOiB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IDMsXG4gICAgICAgICAgICAgICAgbmF2OiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgOTAwOiB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IDQsXG4gICAgICAgICAgICAgICAgbmF2OiB0cnVlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -229,6 +229,17 @@ var AuthService = /** @class */ (function () {
|
|
|
229
229
|
this.setHomeResolver = function (resolverFunction) { return _this.homeResolver = resolverFunction; };
|
|
230
230
|
this.getHomeResolver = function () { return _this.homeResolver; };
|
|
231
231
|
this.isAbleToBuy = function () { var _a; return !((_a = _this.getUserProfileAsUser()) === null || _a === void 0 ? void 0 : _a.isSeller()) || !!_this.getCustomer(); };
|
|
232
|
+
/**
|
|
233
|
+
* @description Evalua si el valor que ingresa por parámetro es mayor o igual al mínimo de compra
|
|
234
|
+
* que el usuario tiene asignado a ese canal, diferenciando si es mayorista o minorista.
|
|
235
|
+
* @param {number} value
|
|
236
|
+
* @returns {boolean} true si excede el monto, false caso contrario
|
|
237
|
+
*/
|
|
238
|
+
this.exceedsMinimumAmount = function (value) {
|
|
239
|
+
if (value === void 0) { value = 0; }
|
|
240
|
+
return _this.user.isWholesaler() ? _this.user.channels.find(function (channel) { return _this.constants.getChannel() == channel.code; }).wholesalerMinimumPurchaseAmount <= value
|
|
241
|
+
: _this.user.channels.find(function (channel) { return _this.constants.getChannel() == channel.code; }).retailerMinimumPurchaseAmount <= value;
|
|
242
|
+
};
|
|
232
243
|
this.isAuthenticated() && this.loggedInSubject.next(true);
|
|
233
244
|
}
|
|
234
245
|
/**
|
|
@@ -349,4 +360,4 @@ var AuthService = /** @class */ (function () {
|
|
|
349
360
|
return AuthService;
|
|
350
361
|
}());
|
|
351
362
|
export { AuthService };
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU83QztJQXlDSSxxQkFBb0IsVUFBNkIsRUFDckMsYUFBNEIsRUFDNUIsU0FBb0IsRUFDcEIsUUFBa0I7UUFIOUIsaUJBTUM7UUFObUIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBMUNiLGNBQVMs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QUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxZQUFZLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVPLHFDQUFlLEdBQXZCO1FBQ0ksT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDOztnQkF4TStCLGlCQUFpQjtnQkFDdEIsYUFBYTtnQkFDakIsU0FBUztnQkFDVixRQUFROzs7SUE1Q3JCLFdBQVc7UUFIdkIsVUFBVSxDQUFDO1lBQ1IsVUFBVSxFQUFFLE1BQU07U0FDckIsQ0FBQztPQUNXLFdBQVcsQ0ErUnZCO3NCQWpURDtDQWlUQyxBQS9SRCxJQStSQztTQS9SWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2Nvbm5lY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy91c2VyJztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS9vZic7XG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi9jb3JlLmNvbnN0cyc7XG5pbXBvcnQgeyBtYXAsIG1hcFRvLCBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgQ2hhbm5lbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMtY29tcGF0L29wZXJhdG9yL3Rha2UnO1xuaW1wb3J0IHsgQ2FydFNlcnZpY2UgfSBmcm9tICcuL2NhcnQuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVXNlclJvbGVUeXBlIH0gZnJvbSAnLi4vY2xhc3Nlcy91c2VyLXJvbGUtdHlwZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBKV1RfVE9LRU4gPSAnSldUX1RPS0VOJ1xuICAgIHByaXZhdGUgcmVhZG9ubHkgUkVGUkVTSF9UT0tFTiA9ICdSRUZSRVNIX1RPS0VOJ1xuICAgIHByaXZhdGUgcmVhZG9ubHkgRVhQSVJBVEVTX0lOID0gJ0VYUElSQVRFU19JTidcbiAgICBwcml2YXRlIHJlYWRvbmx5IFVTRVIgPSAnVVNFUidcbiAgICBwcml2YXRlIHJlYWRvbmx5IE1BSUwgPSAnbWFpbCdcbiAgICBwcml2YXRlIHJlYWRvbmx5IExPQ0FMRSA9ICdMT0NBTEUnXG4gICAgcHJpdmF0ZSByZWFkb25seSBDSEFOTkVMID0gJ0NIQU5ORUwnXG4gICAgcHJpdmF0ZSByZWFkb25seSBDVVNUT01FUiA9ICdDVVNUT01FUidcblxuICAgIC8qIGFjdGl2ZUNoYW5uZWxTd2l0Y2g/ICovXG4gICAgcHJpdmF0ZSBhY3RpdmVDaGFubmVsQ2hhbmdlOiBib29sZWFuID0gZmFsc2VcbiAgICBwcml2YXRlIGxvZ2dlZEluU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihmYWxzZSlcbiAgICBwcml2YXRlIGxvZ2dpbmdJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oZmFsc2UpXG4gICAgcHJpdmF0ZSB1c2VySW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxVc2VyPihudWxsKVxuICAgIHByaXZhdGUgY2hhbm5lbHNVc2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKVxuICAgIC8qIHByaXZhdGUgY3VzdG9tZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpICovXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyID0gbnVsbFxuXG4gICAgLy8gQVBJU1xuICAgIHB1YmxpYyB0b2tlbkFwaSA9ICgpID0+ICdzaG9wLWFwaS9sb2dpbl9jaGVjayc7XG4gICAgcHVibGljIHJlZ2lzdGVyQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3JlZ2lzdGVyJztcbiAgICBwdWJsaWMgcmVnaXN0ZXJXaG9sZXNhbGVyQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3JlZ2lzdGVyLXdob2xlc2FsZXInO1xuICAgIHB1YmxpYyBjb25maXJtQWNjb3VudEFwaSA9ICh0b2tlbikgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3ZlcmlmeS1hY2NvdW50P3Rva2VuPScgKyB0b2tlbjtcbiAgICBwdWJsaWMgcmVzZXRQYXNzd29yZEFwaSA9ICh0b2tlbikgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3Bhc3N3b3JkLXJlc2V0LycgKyB0b2tlbjtcbiAgICBwdWJsaWMgcmVjb3ZlclBhc3N3b3JkQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL3JlcXVlc3QtcGFzc3dvcmQtcmVzZXQnO1xuICAgIHB1YmxpYyBjb3VudHJpZXNBcGkgPSAoKSA9PiAnc2hvcC1hcGkvJyArIHRoaXMuY29uc3RhbnRzLmdldENoYW5uZWwoKSArICcvY291bnRyaWVzJztcblxuICAgIC8vIEF0cmlidXRvcyB1dGlsZXNcbiAgICBwdWJsaWMgd2FpdGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBsb2dnZWRJbiA9IHRoaXMubG9nZ2VkSW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG4gICAgcHVibGljIGxvZ2dpbmdJbiA9IHRoaXMubG9nZ2luZ0luU3ViamVjdC5hc09ic2VydmFibGUoKVxuICAgIHB1YmxpYyB1c2VyQXV0aCA9IHRoaXMudXNlckluU3ViamVjdC5hc09ic2VydmFibGUoKVxuICAgIHB1YmxpYyBjaGFubmVsc1VzZXIgPSB0aGlzLmNoYW5uZWxzVXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICAvKiBwcml2YXRlIGN1c3RvbWVyID0gdGhpcy5jaGFubmVsc1VzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpICovXG4gICAgcHJpdmF0ZSBjdXN0b21lciA9IG51bGxcbiAgICBwdWJsaWMgY2hhbm5lbCA9IG51bGxcbiAgICBwdWJsaWMgY2hhbm5lbHMgPSBbXVxuICAgIHByaXZhdGUgaG9tZVJlc29sdmVyID0gbnVsbFxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25uZWN0aW9uOiBDb25uZWN0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbnN0YW50czogQ29uc3RhbnRzLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICAgICkge1xuICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZCgpICYmIHRoaXMubG9nZ2VkSW5TdWJqZWN0Lm5leHQodHJ1ZSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBEZXZ1ZWx2ZSB1biBvYnNlcnZhYmxlXG4gICAgICogQHBhcmFtIHVzZXIgT2JqZXRvIHF1ZSBjb250aWVuZSB1c2VybmFtZSB5IHBhc3N3b3JkIFxuICAgICAqL1xuICAgIGxvZ2luKHVzZXI6IHsgdXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyB9LCB3aXRoUm9sZXM6IFVzZXJSb2xlVHlwZVtdID0gW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICB0aGlzLmluamVjdG9yLmdldChDaGFubmVsQ29uZmlnU2VydmljZSkuY2hhbm5lbENvbmZpZyQuc3Vic2NyaWJlKGNoID0+IHRoaXMuY2hhbm5lbCA9IGNoKVxuICAgICAgICB0aGlzLmluamVjdG9yLmdldChDaGFubmVsQ29uZmlnU2VydmljZSkuY2hhbm5lbHMuc3Vic2NyaWJlKGNoID0+IHRoaXMuY2hhbm5lbHMgPSBjaClcbiAgICAgICAgdGhpcy5sb2dnaW5nSW5TdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgIHVzZXIgPSB7IC4uLnVzZXIsIC4uLnRoaXMuY29uc3RhbnRzLmxvZ2luRXh0cmFEYXRhKCkgfTtcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuY29ubmVjdGlvbi5wb3N0KHRoaXMudG9rZW5BcGkoKSwgdXNlcikucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNoYW5uZWxBY2Nlc3NQZXJtaXNzaW9uKHsgLi4udXNlciwgLi4ucmVzIH0pICYmIHRoaXMuaXNBbGxvd2VkUm9sZSh3aXRoUm9sZXMsIHJlcy50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvTG9naW5Vc2VyKHsgLi4udXNlciwgLi4ucmVzIH0pXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnb2snXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAnZXJyb3InXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dpbmdJblN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVyci50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICBjaGFubmVsQWNjZXNzUGVybWlzc2lvbiA9IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5jaGFubmVsc1VzZXJTdWJqZWN0Lm5leHQoW10pXG5cbiAgICAgICAgLyogUGxlYXNlIHJlbW92ZSB0aGlzIEFTQVAgLSBOZWVkcyAqY2hhbm5lbHMqIGFycmF5IGluIHVzZXIgb2JqZWN0IEFMV0FZUyAqL1xuICAgICAgICAvKiBpZiAoVXNlclJvbGVUeXBlLlNFTExFUiA9PSByZXMudHlwZSBhcyBVc2VyUm9sZVR5cGUpIHJldHVybiB0cnVlICovXG5cbiAgICAgICAgLyogTm8gYXV0aG9yaXplZCBjaGFubmVscyAqL1xuICAgICAgICBpZiAocmVzLmNoYW5uZWxzPy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgLyogU29tZSBhdXRob3JpemVkIGNoYW5uZWwocykgaW5jbHVkaW5nIGN1cnJlbnQgY2hhbm5lbCAqL1xuICAgICAgICBpZiAocmVzLmNoYW5uZWxzLmZpbmQodXNlcmNoYW5uZWwgPT4gdXNlcmNoYW5uZWwuY29kZSA9PT0gdGhpcy5jaGFubmVsLmNvZGUpKSB7XG4gICAgICAgICAgICAvKiBNdWx0aXBsZSBhdXRob3JpemVkIGNoYW5uZWxzIGluY2x1ZGluZyBjdXJyZW50IGNoYW5uZWwgKi9cbiAgICAgICAgICAgIGlmIChyZXMuY2hhbm5lbHM/Lmxlbmd0aCA+IDEgJiYgdGhpcy5hY3RpdmVDaGFubmVsQ2hhbmdlKVxuICAgICAgICAgICAgICAgIHRoaXMuY2hhbm5lbHNVc2VyU3ViamVjdC5uZXh0KHJlcy5jaGFubmVscylcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgLyogT25lIGF1dGhvcml6ZWQgY2hhbm5lbCBub3QgaW5jbHVkaW5nIGN1cnJlbnQgY2hhbm5lbCAqL1xuICAgICAgICBpZiAocmVzLmNoYW5uZWxzPy5sZW5ndGggPT0gMSAmJiB0aGlzLmFjdGl2ZUNoYW5uZWxDaGFuZ2UpIHtcbiAgICAgICAgICAgIGRlbGV0ZSByZXMucGFzc3dvcmRcbiAgICAgICAgICAgIHRoaXMuY2hhbm5lbEFjY2VzcyhyZXMuY2hhbm5lbHNbMF0sIHJlcylcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgLyogTXVsdGlwbGUgYXV0aG9yaXplZCBjaGFubmVscyBub3QgaW5jbHVkaW5nIGN1cnJlbnQgY2hhbm5lbCAqL1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVDaGFubmVsQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5uZWxzVXNlclN1YmplY3QubmV4dChyZXMuY2hhbm5lbHMpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGNoYW5uZWxBY2Nlc3MgPSAoY2hhbm5lbCwgdXNlciA9IG51bGwpID0+IHtcbiAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSAhPSBjaGFubmVsLmhvc3RuYW1lKSB7XG4gICAgICAgICAgICBsZXQgZW5jb2RlZCA9IGJ0b2EoSlNPTi5zdHJpbmdpZnkodXNlciAhPSBudWxsID8gdXNlciA6IHRoaXMudXNlcikpXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShgJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2NoYW5uZWwuaG9zdG5hbWV9L2F1dGgvcmVkaXJlY3QvJHtlbmNvZGVkfWApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbnN0YW50cy5tb2RpZnlDaGFubmVsQ29uZmlnKGNoYW5uZWwpXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjIERldnVlbHZlIHVuYSBwcm9tZXNhXG4gICAgICogQHBhcmFtIHVzZXIgT2JqZXRvIHF1ZSBjb250aWVuZSB1c2VybmFtZSB5IHBhc3N3b3JkIFxuICAgICAqL1xuICAgIGRvTG9naW4gPSAodXNlcjogeyB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgdGhpcy5sb2dnaW5nSW5TdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgIHVzZXIgPSB7IC4uLnVzZXIsIC4uLnRoaXMuY29uc3RhbnRzLmxvZ2luRXh0cmFEYXRhKCkgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wb3N0KHRoaXMudG9rZW5BcGkoKSwgdXNlcikucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gdGhpcy5kb0xvZ2luVXNlcihyZXMpKSxcbiAgICAgICAgICAgIG1hcFRvKCdvaycpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2luZ0luU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXJyLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKS50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyUHJvZmlsZSgpOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnVzZXIgJiYgT2JzZXJ2YWJsZS5vZih0aGlzLnVzZXIpKSB8fCB0aGlzLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgfVxuXG4gICAgZ2V0VXNlclByb2ZpbGVBc1VzZXIoKTogVXNlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXIgfHwgdGhpcy5nZXRDdXJyZW50VXNlckFzVXNlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFVzZXJBc1VzZXIoKTogVXNlciB7XG4gICAgICAgIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XG4gICAgICAgIGlmICghdGhpcy51c2VyLmxvYWRGcm9tU3RvcmFnZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnVzZXIgPSBudWxsXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy51c2VyPy5jaGFubmVscy5maW5kKHVzZXJjaGFubmVsID0+IHVzZXJjaGFubmVsPy5jb2RlID09PSB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51c2VyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dvdXQoKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDdXJyZW50VXNlcigpOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICAgICAgdGhpcy51c2VyID0gbmV3IFVzZXIoKTtcbiAgICAgICAgaWYgKCF0aGlzLnVzZXIubG9hZEZyb21TdG9yYWdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudXNlciA9IG51bGxcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5vZih0aGlzLnVzZXIpO1xuICAgIH1cblxuICAgIHNpZ25VcCA9IChkYXRhKSA9PiB0aGlzLmNvbm5lY3Rpb24ucG9zdCh0aGlzLnJlZ2lzdGVyQXBpKCksIGRhdGEpO1xuXG4gICAgaXNBdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc1Rva2VuRXhwaXJlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmRvTG9nb3V0VXNlcigpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRDdXJyZW50VXNlckFzVXNlcigpXG4gICAgICAgIHRoaXMudXNlckluU3ViamVjdC5uZXh0KHRoaXMudXNlcik7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRva2VuKCkgJiYgIXRoaXMuaXNUb2tlbkV4cGlyZWQoKSAmJiB0aGlzLnVzZXIgIT0gbnVsbDtcbiAgICB9XG5cbiAgICBjb25maXJtQWNjb3VudCA9ICh0b2tlbjogc3RyaW5nKSA9PlxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuY29uZmlybUFjY291bnRBcGkodG9rZW4pKTtcblxuICAgIHBhc3N3b3JkUmVzZXQgPSAobmV3X3Bhc3N3b3JkLCB0b2tlbikgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0geyBwYXNzd29yZDogeyBmaXJzdDogbmV3X3Bhc3N3b3JkLCBzZWNvbmQ6IG5ld19wYXNzd29yZCB9IH07XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24ucHV0KHRoaXMucmVzZXRQYXNzd29yZEFwaSh0b2tlbiksIGRhdGEpO1xuICAgIH1cblxuICAgIHJlY292ZXJQYXNzd29yZCA9IChlbWFpbDogc3RyaW5nKSA9PlxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24ucHV0KHRoaXMucmVjb3ZlclBhc3N3b3JkQXBpKCksIHsgZW1haWwgfSk7XG5cbiAgICAvKiBUT0tFTiAqL1xuXG4gICAgbG9nb3V0KCkge1xuICAgICAgICB0aGlzLmRvTG9nb3V0VXNlcigpO1xuICAgIH1cblxuICAgIHJlZnJlc2hUb2tlbigpIHtcbiAgICAgICAgbGV0IGRhdGEgPSB7IC4uLnRoaXMuY29uc3RhbnRzLmxvZ2luRXh0cmFEYXRhKCksIHJlZnJlc2hfdG9rZW46IHRoaXMuZ2V0UmVmcmVzaFRva2VuKCkgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLnBvc3QodGhpcy50b2tlbkFwaSgpLCBkYXRhKS5waXBlKG1hcChcbiAgICAgICAgICAgIHJlcyA9PiB0aGlzLmRvTG9naW5Vc2VyKHJlcylcbiAgICAgICAgKSlcbiAgICB9XG5cbiAgICBnZXRUb2tlbigpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuSldUX1RPS0VOKTtcbiAgICB9XG5cbiAgICBpc1Rva2VuRXhwaXJlZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZmVjaGFfZXhwaXJhY2lvbiA9IHRoaXMuZ2V0RXhwaXJhdGVzQXQoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbW9tZW50KCkgPj0gbW9tZW50KGZlY2hhX2V4cGlyYWNpb24pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGdldEV4cGlyYXRlc0F0ID0gKCkgPT4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5FWFBJUkFURVNfSU4pO1xuXG4gICAgcHVibGljIGRvTG9naW5Vc2VyKHRva2Vucykge1xuICAgICAgICB0aGlzLnVzZXIgPSBuZXcgVXNlcigpXG4gICAgICAgIHRoaXMudXNlci5pbml0aWxpemVkKHRva2VucylcbiAgICAgICAgdGhpcy5mb3JjZUNoYW5uZWxzRm9yU2VsbGVyKHRva2VucylcbiAgICAgICAgdGhpcy51c2VyLnBlcnNpc3RJblN0b3JhZ2UoKVxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkVYUElSQVRFU19JTiwgbW9tZW50KHRva2Vucy5leHBpcmVzX2luKS5hZGQoMSwgJ2gnKS5mb3JtYXQoKSk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuUkVGUkVTSF9UT0tFTiwgbW9tZW50KHRva2Vucy5leHBpcmVzX2luKS5hZGQoMSwgJ2gnKS5mb3JtYXQoKSk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuSldUX1RPS0VOLCB0b2tlbnMudG9rZW4pO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLk1BSUwsIHRva2Vucy51c2VybmFtZSk7XG4gICAgICAgIHRoaXMudXNlckluU3ViamVjdC5uZXh0KHRoaXMudXNlcik7XG4gICAgICAgIHRoaXMubG9nZ2VkSW5TdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMubG9nZ2luZ0luU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZG9Mb2dvdXRVc2VyKCkge1xuICAgICAgICB0aGlzLnVzZXIgPSBudWxsXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuVVNFUik7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuRVhQSVJBVEVTX0lOKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5KV1RfVE9LRU4pO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlJFRlJFU0hfVE9LRU4pO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnY2FydF90b2tlbicpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLk1BSUwpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLkNIQU5ORUwpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLkxPQ0FMRSk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuQ1VTVE9NRVIpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnTUFTVEVSX0NIQU5ORUwnKTtcbiAgICAgICAgdGhpcy5sb2dnZWRJblN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMudXNlckluU3ViamVjdC5uZXh0KHRoaXMudXNlcik7XG4gICAgICAgIHRoaXMuY2hhbm5lbHNVc2VyU3ViamVjdC5uZXh0KFtdKVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVmcmVzaFRva2VuKCkge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5SRUZSRVNIX1RPS0VOKTtcbiAgICB9XG5cbiAgICBoYXNUb1JlZnJlc2ggPSAoKSA9PiB0aGlzLmdldFJlZnJlc2hUb2tlbigpO1xuXG4gICAgc2lnblVwV2hvbGVzYWxlciA9IChkYXRhKSA9PiB0aGlzLmNvbm5lY3Rpb24ucG9zdCh0aGlzLnJlZ2lzdGVyV2hvbGVzYWxlckFwaSgpLCBkYXRhKTtcblxuICAgIGdldENvdW50cmllc0RhdGEgPSBhc3luYyAoKSA9PlxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24uZ2V0KHRoaXMuY291bnRyaWVzQXBpKCkpLnBpcGUobWFwKHJlcyA9PiByZXMuX2VtYmVkZGVkLml0ZW1zKSkudG9Qcm9taXNlKCk7XG5cbiAgICBwdWJsaWMgc2V0QWN0aXZlQ2hhbm5lbENoYW5nZSA9IChhY3RpdmVseUNoYW5nZUNoYW5uZWxzT25Mb2dpbjogYm9vbGVhbikgPT4gdGhpcy5hY3RpdmVDaGFubmVsQ2hhbmdlID0gYWN0aXZlbHlDaGFuZ2VDaGFubmVsc09uTG9naW5cblxuICAgIHByaXZhdGUgaXNBbGxvd2VkUm9sZSA9IChhbGxvd2VkUm9sZXM6IFVzZXJSb2xlVHlwZVtdLCByb2xlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIGFsbG93ZWRSb2xlcy5sZW5ndGhcbiAgICAgICAgICAgID8gYWxsb3dlZFJvbGVzLmluY2x1ZGVzKHJvbGUgYXMgVXNlclJvbGVUeXBlKVxuICAgICAgICAgICAgOiB0cnVlXG4gICAgfVxuXG4gICAgLyogUGxlYXNlIHJlbW92ZSB0aGlzIEFTQVAgLSBOZWVkcyAqY2hhbm5lbHMqIGFycmF5IGluIHVzZXIgb2JqZWN0IEFMV0FZUyAqL1xuICAgIHByaXZhdGUgZm9yY2VDaGFubmVsc0ZvclNlbGxlciA9IHRva2VucyA9PiB7XG4gICAgICAgIGlmIChVc2VyUm9sZVR5cGUuU0VMTEVSID09IHRva2Vucy50eXBlIGFzIFVzZXJSb2xlVHlwZSlcbiAgICAgICAgICAgIHRoaXMuY2hhbm5lbHM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgID8gdGhpcy51c2VyLnNldENoYW5uZWxzKC4uLnRoaXMuY2hhbm5lbHMpXG4gICAgICAgICAgICAgICAgOiB0aGlzLnVzZXIuc2V0Q2hhbm5lbHModGhpcy5jaGFubmVsKVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRDdXN0b21lciA9IGN1c3RvbWVyID0+IHtcbiAgICAgICAgLyogdGhpcy5jdXN0b21lclN1YmplY3QubmV4dChjdXN0b21lcikgKi9cbiAgICAgICAgdGhpcy5jdXN0b21lciA9IGN1c3RvbWVyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuQ1VTVE9NRVIsIEpTT04uc3RyaW5naWZ5KGN1c3RvbWVyKSlcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQ2FydFNlcnZpY2UpLmNsZWFyQW5kUmVzZXRDdXN0b21lckNhcnQoKVxuICAgIH1cblxuICAgIC8qIHB1YmxpYyBnZXRDdXN0b21lciA9ICgpID0+IE9ic2VydmFibGUub2YoSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkNVU1RPTUVSKSkpICovXG5cbiAgICBwdWJsaWMgZ2V0Q3VzdG9tZXIgPSAoKSA9PiB7XG4gICAgICAgIC8qIHRoaXMuY3VzdG9tZXJTdWJqZWN0Lm5leHQoSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkNVU1RPTUVSKSkpXG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbWVyICovXG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbWVyIHx8IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5DVVNUT01FUikpXG4gICAgfVxuXG4gICAgcHVibGljIHNldEhvbWVSZXNvbHZlciA9IHJlc29sdmVyRnVuY3Rpb24gPT4gdGhpcy5ob21lUmVzb2x2ZXIgPSByZXNvbHZlckZ1bmN0aW9uXG5cbiAgICBwdWJsaWMgZ2V0SG9tZVJlc29sdmVyID0gKCkgPT4gdGhpcy5ob21lUmVzb2x2ZXJcblxuICAgIHB1YmxpYyBpc0FibGVUb0J1eSA9ICgpOiBib29sZWFuID0+ICF0aGlzLmdldFVzZXJQcm9maWxlQXNVc2VyKCk/LmlzU2VsbGVyKCkgfHwgISF0aGlzLmdldEN1c3RvbWVyKClcblxufSJdfQ==
|
|
363
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZWFzeWNvbW1lcmNlLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU83QztJQXlDSSxxQkFBb0IsVUFBNkIsRUFDckMsYUFBNEIsRUFDNUIsU0FBb0IsRUFDcEIsUUFBa0I7UUFIOUIsaUJBTUM7UUFObUIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBMUNiLGNBQVMs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QUFXLENBd1N2QjtzQkExVEQ7Q0EwVEMsQUF4U0QsSUF3U0M7U0F4U1ksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2FwaS9jb25uZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvdXNlcic7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvb2YnO1xuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vY29yZS5jb25zdHMnO1xuaW1wb3J0IHsgbWFwLCBtYXBUbywgY2F0Y2hFcnJvciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENoYW5uZWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jaGFubmVsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzLWNvbXBhdC9vcGVyYXRvci90YWtlJztcbmltcG9ydCB7IENhcnRTZXJ2aWNlIH0gZnJvbSAnLi9jYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVzZXJSb2xlVHlwZSB9IGZyb20gJy4uL2NsYXNzZXMvdXNlci1yb2xlLXR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgSldUX1RPS0VOID0gJ0pXVF9UT0tFTidcbiAgICBwcml2YXRlIHJlYWRvbmx5IFJFRlJFU0hfVE9LRU4gPSAnUkVGUkVTSF9UT0tFTidcbiAgICBwcml2YXRlIHJlYWRvbmx5IEVYUElSQVRFU19JTiA9ICdFWFBJUkFURVNfSU4nXG4gICAgcHJpdmF0ZSByZWFkb25seSBVU0VSID0gJ1VTRVInXG4gICAgcHJpdmF0ZSByZWFkb25seSBNQUlMID0gJ21haWwnXG4gICAgcHJpdmF0ZSByZWFkb25seSBMT0NBTEUgPSAnTE9DQUxFJ1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQ0hBTk5FTCA9ICdDSEFOTkVMJ1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1VTVE9NRVIgPSAnQ1VTVE9NRVInXG5cbiAgICAvKiBhY3RpdmVDaGFubmVsU3dpdGNoPyAqL1xuICAgIHByaXZhdGUgYWN0aXZlQ2hhbm5lbENoYW5nZTogYm9vbGVhbiA9IGZhbHNlXG4gICAgcHJpdmF0ZSBsb2dnZWRJblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oZmFsc2UpXG4gICAgcHJpdmF0ZSBsb2dnaW5nSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KGZhbHNlKVxuICAgIHByaXZhdGUgdXNlckluU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlcj4obnVsbClcbiAgICBwcml2YXRlIGNoYW5uZWxzVXNlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSlcbiAgICAvKiBwcml2YXRlIGN1c3RvbWVyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKSAqL1xuICAgIHByaXZhdGUgdXNlcjogVXNlciA9IG51bGxcblxuICAgIC8vIEFQSVNcbiAgICBwdWJsaWMgdG9rZW5BcGkgPSAoKSA9PiAnc2hvcC1hcGkvbG9naW5fY2hlY2snO1xuICAgIHB1YmxpYyByZWdpc3RlckFwaSA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9yZWdpc3Rlcic7XG4gICAgcHVibGljIHJlZ2lzdGVyV2hvbGVzYWxlckFwaSA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9yZWdpc3Rlci13aG9sZXNhbGVyJztcbiAgICBwdWJsaWMgY29uZmlybUFjY291bnRBcGkgPSAodG9rZW4pID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy92ZXJpZnktYWNjb3VudD90b2tlbj0nICsgdG9rZW47XG4gICAgcHVibGljIHJlc2V0UGFzc3dvcmRBcGkgPSAodG9rZW4pID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9wYXNzd29yZC1yZXNldC8nICsgdG9rZW47XG4gICAgcHVibGljIHJlY292ZXJQYXNzd29yZEFwaSA9ICgpID0+ICdzaG9wLWFwaS8nICsgdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpICsgJy9yZXF1ZXN0LXBhc3N3b3JkLXJlc2V0JztcbiAgICBwdWJsaWMgY291bnRyaWVzQXBpID0gKCkgPT4gJ3Nob3AtYXBpLycgKyB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgKyAnL2NvdW50cmllcyc7XG5cbiAgICAvLyBBdHJpYnV0b3MgdXRpbGVzXG4gICAgcHVibGljIHdhaXRpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgbG9nZ2VkSW4gPSB0aGlzLmxvZ2dlZEluU3ViamVjdC5hc09ic2VydmFibGUoKVxuICAgIHB1YmxpYyBsb2dnaW5nSW4gPSB0aGlzLmxvZ2dpbmdJblN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICBwdWJsaWMgdXNlckF1dGggPSB0aGlzLnVzZXJJblN1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICBwdWJsaWMgY2hhbm5lbHNVc2VyID0gdGhpcy5jaGFubmVsc1VzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG4gICAgLyogcHJpdmF0ZSBjdXN0b21lciA9IHRoaXMuY2hhbm5lbHNVc2VyU3ViamVjdC5hc09ic2VydmFibGUoKSAqL1xuICAgIHByaXZhdGUgY3VzdG9tZXIgPSBudWxsXG4gICAgcHVibGljIGNoYW5uZWwgPSBudWxsXG4gICAgcHVibGljIGNoYW5uZWxzID0gW11cbiAgICBwcml2YXRlIGhvbWVSZXNvbHZlciA9IG51bGxcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29ubmVjdGlvbjogQ29ubmVjdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb25zdGFudHM6IENvbnN0YW50cyxcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSAmJiB0aGlzLmxvZ2dlZEluU3ViamVjdC5uZXh0KHRydWUpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2MgRGV2dWVsdmUgdW4gb2JzZXJ2YWJsZVxuICAgICAqIEBwYXJhbSB1c2VyIE9iamV0byBxdWUgY29udGllbmUgdXNlcm5hbWUgeSBwYXNzd29yZCBcbiAgICAgKi9cbiAgICBsb2dpbih1c2VyOiB7IHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcgfSwgd2l0aFJvbGVzOiBVc2VyUm9sZVR5cGVbXSA9IFtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQ2hhbm5lbENvbmZpZ1NlcnZpY2UpLmNoYW5uZWxDb25maWckLnN1YnNjcmliZShjaCA9PiB0aGlzLmNoYW5uZWwgPSBjaClcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQ2hhbm5lbENvbmZpZ1NlcnZpY2UpLmNoYW5uZWxzLnN1YnNjcmliZShjaCA9PiB0aGlzLmNoYW5uZWxzID0gY2gpXG4gICAgICAgIHRoaXMubG9nZ2luZ0luU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICB1c2VyID0geyAuLi51c2VyLCAuLi50aGlzLmNvbnN0YW50cy5sb2dpbkV4dHJhRGF0YSgpIH07XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLmNvbm5lY3Rpb24ucG9zdCh0aGlzLnRva2VuQXBpKCksIHVzZXIpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jaGFubmVsQWNjZXNzUGVybWlzc2lvbih7IC4uLnVzZXIsIC4uLnJlcyB9KSAmJiB0aGlzLmlzQWxsb3dlZFJvbGUod2l0aFJvbGVzLCByZXMudHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb0xvZ2luVXNlcih7IC4uLnVzZXIsIC4uLnJlcyB9KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ29rJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Vycm9yJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnaW5nSW5TdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihlcnIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgY2hhbm5lbEFjY2Vzc1Blcm1pc3Npb24gPSAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbm5lbHNVc2VyU3ViamVjdC5uZXh0KFtdKVxuXG4gICAgICAgIC8qIFBsZWFzZSByZW1vdmUgdGhpcyBBU0FQIC0gTmVlZHMgKmNoYW5uZWxzKiBhcnJheSBpbiB1c2VyIG9iamVjdCBBTFdBWVMgKi9cbiAgICAgICAgLyogaWYgKFVzZXJSb2xlVHlwZS5TRUxMRVIgPT0gcmVzLnR5cGUgYXMgVXNlclJvbGVUeXBlKSByZXR1cm4gdHJ1ZSAqL1xuXG4gICAgICAgIC8qIE5vIGF1dGhvcml6ZWQgY2hhbm5lbHMgKi9cbiAgICAgICAgaWYgKHJlcy5jaGFubmVscz8ubGVuZ3RoID09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICAgIC8qIFNvbWUgYXV0aG9yaXplZCBjaGFubmVsKHMpIGluY2x1ZGluZyBjdXJyZW50IGNoYW5uZWwgKi9cbiAgICAgICAgaWYgKHJlcy5jaGFubmVscy5maW5kKHVzZXJjaGFubmVsID0+IHVzZXJjaGFubmVsLmNvZGUgPT09IHRoaXMuY2hhbm5lbC5jb2RlKSkge1xuICAgICAgICAgICAgLyogTXVsdGlwbGUgYXV0aG9yaXplZCBjaGFubmVscyBpbmNsdWRpbmcgY3VycmVudCBjaGFubmVsICovXG4gICAgICAgICAgICBpZiAocmVzLmNoYW5uZWxzPy5sZW5ndGggPiAxICYmIHRoaXMuYWN0aXZlQ2hhbm5lbENoYW5nZSlcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5uZWxzVXNlclN1YmplY3QubmV4dChyZXMuY2hhbm5lbHMpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIC8qIE9uZSBhdXRob3JpemVkIGNoYW5uZWwgbm90IGluY2x1ZGluZyBjdXJyZW50IGNoYW5uZWwgKi9cbiAgICAgICAgaWYgKHJlcy5jaGFubmVscz8ubGVuZ3RoID09IDEgJiYgdGhpcy5hY3RpdmVDaGFubmVsQ2hhbmdlKSB7XG4gICAgICAgICAgICBkZWxldGUgcmVzLnBhc3N3b3JkXG4gICAgICAgICAgICB0aGlzLmNoYW5uZWxBY2Nlc3MocmVzLmNoYW5uZWxzWzBdLCByZXMpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIC8qIE11bHRpcGxlIGF1dGhvcml6ZWQgY2hhbm5lbHMgbm90IGluY2x1ZGluZyBjdXJyZW50IGNoYW5uZWwgKi9cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlQ2hhbm5lbENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5jaGFubmVsc1VzZXJTdWJqZWN0Lm5leHQocmVzLmNoYW5uZWxzKVxuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjaGFubmVsQWNjZXNzID0gKGNoYW5uZWwsIHVzZXIgPSBudWxsKSA9PiB7XG4gICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgIT0gY2hhbm5lbC5ob3N0bmFtZSkge1xuICAgICAgICAgICAgbGV0IGVuY29kZWQgPSBidG9hKEpTT04uc3RyaW5naWZ5KHVzZXIgIT0gbnVsbCA/IHVzZXIgOiB0aGlzLnVzZXIpKVxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UoYCR7d2luZG93LmxvY2F0aW9uLnByb3RvY29sfS8vJHtjaGFubmVsLmhvc3RuYW1lfS9hdXRoL3JlZGlyZWN0LyR7ZW5jb2RlZH1gKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jb25zdGFudHMubW9kaWZ5Q2hhbm5lbENvbmZpZyhjaGFubmVsKVxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBEZXZ1ZWx2ZSB1bmEgcHJvbWVzYVxuICAgICAqIEBwYXJhbSB1c2VyIE9iamV0byBxdWUgY29udGllbmUgdXNlcm5hbWUgeSBwYXNzd29yZCBcbiAgICAgKi9cbiAgICBkb0xvZ2luID0gKHVzZXI6IHsgdXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2luZ0luU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICB1c2VyID0geyAuLi51c2VyLCAuLi50aGlzLmNvbnN0YW50cy5sb2dpbkV4dHJhRGF0YSgpIH07XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb24ucG9zdCh0aGlzLnRva2VuQXBpKCksIHVzZXIpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHRoaXMuZG9Mb2dpblVzZXIocmVzKSksXG4gICAgICAgICAgICBtYXBUbygnb2snKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dpbmdJblN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVyci50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgZ2V0VXNlclByb2ZpbGUoKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgICAgIHJldHVybiAodGhpcy51c2VyICYmIE9ic2VydmFibGUub2YodGhpcy51c2VyKSkgfHwgdGhpcy5nZXRDdXJyZW50VXNlcigpO1xuICAgIH1cblxuICAgIGdldFVzZXJQcm9maWxlQXNVc2VyKCk6IFVzZXIge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyIHx8IHRoaXMuZ2V0Q3VycmVudFVzZXJBc1VzZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbnRVc2VyQXNVc2VyKCk6IFVzZXIge1xuICAgICAgICB0aGlzLnVzZXIgPSBuZXcgVXNlcigpO1xuICAgICAgICBpZiAoIXRoaXMudXNlci5sb2FkRnJvbVN0b3JhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy51c2VyID0gbnVsbFxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMudXNlcj8uY2hhbm5lbHMuZmluZCh1c2VyY2hhbm5lbCA9PiB1c2VyY2hhbm5lbD8uY29kZSA9PT0gdGhpcy5jb25zdGFudHMuZ2V0Q2hhbm5lbCgpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubG9nb3V0KClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy51c2VyO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudFVzZXIoKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgICAgIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XG4gICAgICAgIGlmICghdGhpcy51c2VyLmxvYWRGcm9tU3RvcmFnZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnVzZXIgPSBudWxsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YodGhpcy51c2VyKTtcbiAgICB9XG5cbiAgICBzaWduVXAgPSAoZGF0YSkgPT4gdGhpcy5jb25uZWN0aW9uLnBvc3QodGhpcy5yZWdpc3RlckFwaSgpLCBkYXRhKTtcblxuICAgIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUb2tlbkV4cGlyZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5kb0xvZ291dFVzZXIoKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2V0Q3VycmVudFVzZXJBc1VzZXIoKVxuICAgICAgICB0aGlzLnVzZXJJblN1YmplY3QubmV4dCh0aGlzLnVzZXIpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUb2tlbigpICYmICF0aGlzLmlzVG9rZW5FeHBpcmVkKCkgJiYgdGhpcy51c2VyICE9IG51bGw7XG4gICAgfVxuXG4gICAgY29uZmlybUFjY291bnQgPSAodG9rZW46IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmNvbmZpcm1BY2NvdW50QXBpKHRva2VuKSk7XG5cbiAgICBwYXNzd29yZFJlc2V0ID0gKG5ld19wYXNzd29yZCwgdG9rZW4pID0+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHsgcGFzc3dvcmQ6IHsgZmlyc3Q6IG5ld19wYXNzd29yZCwgc2Vjb25kOiBuZXdfcGFzc3dvcmQgfSB9O1xuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uLnB1dCh0aGlzLnJlc2V0UGFzc3dvcmRBcGkodG9rZW4pLCBkYXRhKTtcbiAgICB9XG5cbiAgICByZWNvdmVyUGFzc3dvcmQgPSAoZW1haWw6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLnB1dCh0aGlzLnJlY292ZXJQYXNzd29yZEFwaSgpLCB7IGVtYWlsIH0pO1xuXG4gICAgLyogVE9LRU4gKi9cblxuICAgIGxvZ291dCgpIHtcbiAgICAgICAgdGhpcy5kb0xvZ291dFVzZXIoKTtcbiAgICB9XG5cbiAgICByZWZyZXNoVG9rZW4oKSB7XG4gICAgICAgIGxldCBkYXRhID0geyAuLi50aGlzLmNvbnN0YW50cy5sb2dpbkV4dHJhRGF0YSgpLCByZWZyZXNoX3Rva2VuOiB0aGlzLmdldFJlZnJlc2hUb2tlbigpIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5wb3N0KHRoaXMudG9rZW5BcGkoKSwgZGF0YSkucGlwZShtYXAoXG4gICAgICAgICAgICByZXMgPT4gdGhpcy5kb0xvZ2luVXNlcihyZXMpXG4gICAgICAgICkpXG4gICAgfVxuXG4gICAgZ2V0VG9rZW4oKSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkpXVF9UT0tFTik7XG4gICAgfVxuXG4gICAgaXNUb2tlbkV4cGlyZWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZlY2hhX2V4cGlyYWNpb24gPSB0aGlzLmdldEV4cGlyYXRlc0F0KCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG1vbWVudCgpID49IG1vbWVudChmZWNoYV9leHBpcmFjaW9uKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXRFeHBpcmF0ZXNBdCA9ICgpID0+IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuRVhQSVJBVEVTX0lOKTtcblxuICAgIHB1YmxpYyBkb0xvZ2luVXNlcih0b2tlbnMpIHtcbiAgICAgICAgdGhpcy51c2VyID0gbmV3IFVzZXIoKVxuICAgICAgICB0aGlzLnVzZXIuaW5pdGlsaXplZCh0b2tlbnMpXG4gICAgICAgIHRoaXMuZm9yY2VDaGFubmVsc0ZvclNlbGxlcih0b2tlbnMpXG4gICAgICAgIHRoaXMudXNlci5wZXJzaXN0SW5TdG9yYWdlKClcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5FWFBJUkFURVNfSU4sIG1vbWVudCh0b2tlbnMuZXhwaXJlc19pbikuYWRkKDEsICdoJykuZm9ybWF0KCkpO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLlJFRlJFU0hfVE9LRU4sIG1vbWVudCh0b2tlbnMuZXhwaXJlc19pbikuYWRkKDEsICdoJykuZm9ybWF0KCkpO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkpXVF9UT0tFTiwgdG9rZW5zLnRva2VuKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5NQUlMLCB0b2tlbnMudXNlcm5hbWUpO1xuICAgICAgICB0aGlzLnVzZXJJblN1YmplY3QubmV4dCh0aGlzLnVzZXIpO1xuICAgICAgICB0aGlzLmxvZ2dlZEluU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmxvZ2dpbmdJblN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRvTG9nb3V0VXNlcigpIHtcbiAgICAgICAgdGhpcy51c2VyID0gbnVsbFxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlVTRVIpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLkVYUElSQVRFU19JTik7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuSldUX1RPS0VOKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5SRUZSRVNIX1RPS0VOKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2NhcnRfdG9rZW4nKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5NQUlMKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5DSEFOTkVMKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5MT0NBTEUpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLkNVU1RPTUVSKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ01BU1RFUl9DSEFOTkVMJyk7XG4gICAgICAgIHRoaXMubG9nZ2VkSW5TdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLnVzZXJJblN1YmplY3QubmV4dCh0aGlzLnVzZXIpO1xuICAgICAgICB0aGlzLmNoYW5uZWxzVXNlclN1YmplY3QubmV4dChbXSlcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlZnJlc2hUb2tlbigpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuUkVGUkVTSF9UT0tFTik7XG4gICAgfVxuXG4gICAgaGFzVG9SZWZyZXNoID0gKCkgPT4gdGhpcy5nZXRSZWZyZXNoVG9rZW4oKTtcblxuICAgIHNpZ25VcFdob2xlc2FsZXIgPSAoZGF0YSkgPT4gdGhpcy5jb25uZWN0aW9uLnBvc3QodGhpcy5yZWdpc3Rlcldob2xlc2FsZXJBcGkoKSwgZGF0YSk7XG5cbiAgICBnZXRDb3VudHJpZXNEYXRhID0gYXN5bmMgKCkgPT5cbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmdldCh0aGlzLmNvdW50cmllc0FwaSgpKS5waXBlKG1hcChyZXMgPT4gcmVzLl9lbWJlZGRlZC5pdGVtcykpLnRvUHJvbWlzZSgpO1xuXG4gICAgcHVibGljIHNldEFjdGl2ZUNoYW5uZWxDaGFuZ2UgPSAoYWN0aXZlbHlDaGFuZ2VDaGFubmVsc09uTG9naW46IGJvb2xlYW4pID0+IHRoaXMuYWN0aXZlQ2hhbm5lbENoYW5nZSA9IGFjdGl2ZWx5Q2hhbmdlQ2hhbm5lbHNPbkxvZ2luXG5cbiAgICBwcml2YXRlIGlzQWxsb3dlZFJvbGUgPSAoYWxsb3dlZFJvbGVzOiBVc2VyUm9sZVR5cGVbXSwgcm9sZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBhbGxvd2VkUm9sZXMubGVuZ3RoXG4gICAgICAgICAgICA/IGFsbG93ZWRSb2xlcy5pbmNsdWRlcyhyb2xlIGFzIFVzZXJSb2xlVHlwZSlcbiAgICAgICAgICAgIDogdHJ1ZVxuICAgIH1cblxuICAgIC8qIFBsZWFzZSByZW1vdmUgdGhpcyBBU0FQIC0gTmVlZHMgKmNoYW5uZWxzKiBhcnJheSBpbiB1c2VyIG9iamVjdCBBTFdBWVMgKi9cbiAgICBwcml2YXRlIGZvcmNlQ2hhbm5lbHNGb3JTZWxsZXIgPSB0b2tlbnMgPT4ge1xuICAgICAgICBpZiAoVXNlclJvbGVUeXBlLlNFTExFUiA9PSB0b2tlbnMudHlwZSBhcyBVc2VyUm9sZVR5cGUpXG4gICAgICAgICAgICB0aGlzLmNoYW5uZWxzPy5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IHRoaXMudXNlci5zZXRDaGFubmVscyguLi50aGlzLmNoYW5uZWxzKVxuICAgICAgICAgICAgICAgIDogdGhpcy51c2VyLnNldENoYW5uZWxzKHRoaXMuY2hhbm5lbClcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0Q3VzdG9tZXIgPSBjdXN0b21lciA9PiB7XG4gICAgICAgIC8qIHRoaXMuY3VzdG9tZXJTdWJqZWN0Lm5leHQoY3VzdG9tZXIpICovXG4gICAgICAgIHRoaXMuY3VzdG9tZXIgPSBjdXN0b21lclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkNVU1RPTUVSLCBKU09OLnN0cmluZ2lmeShjdXN0b21lcikpXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENhcnRTZXJ2aWNlKS5jbGVhckFuZFJlc2V0Q3VzdG9tZXJDYXJ0KClcbiAgICB9XG5cbiAgICAvKiBwdWJsaWMgZ2V0Q3VzdG9tZXIgPSAoKSA9PiBPYnNlcnZhYmxlLm9mKEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5DVVNUT01FUikpKSAqL1xuXG4gICAgcHVibGljIGdldEN1c3RvbWVyID0gKCkgPT4ge1xuICAgICAgICAvKiB0aGlzLmN1c3RvbWVyU3ViamVjdC5uZXh0KEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5DVVNUT01FUikpKVxuICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21lciAqL1xuICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21lciB8fCBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuQ1VTVE9NRVIpKVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRIb21lUmVzb2x2ZXIgPSByZXNvbHZlckZ1bmN0aW9uID0+IHRoaXMuaG9tZVJlc29sdmVyID0gcmVzb2x2ZXJGdW5jdGlvblxuXG4gICAgcHVibGljIGdldEhvbWVSZXNvbHZlciA9ICgpID0+IHRoaXMuaG9tZVJlc29sdmVyXG5cbiAgICBwdWJsaWMgaXNBYmxlVG9CdXkgPSAoKTogYm9vbGVhbiA9PiAhdGhpcy5nZXRVc2VyUHJvZmlsZUFzVXNlcigpPy5pc1NlbGxlcigpIHx8ICEhdGhpcy5nZXRDdXN0b21lcigpXG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRXZhbHVhIHNpIGVsIHZhbG9yIHF1ZSBpbmdyZXNhIHBvciBwYXLDoW1ldHJvIGVzIG1heW9yIG8gaWd1YWwgYWwgbcOtbmltbyBkZSBjb21wcmFcbiAgICAgKiBxdWUgZWwgdXN1YXJpbyB0aWVuZSBhc2lnbmFkbyBhIGVzZSBjYW5hbCwgZGlmZXJlbmNpYW5kbyBzaSBlcyBtYXlvcmlzdGEgbyBtaW5vcmlzdGEuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlIFxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIHNpIGV4Y2VkZSBlbCBtb250bywgZmFsc2UgY2FzbyBjb250cmFyaW9cbiAgICAgKi9cbiAgICBwdWJsaWMgZXhjZWVkc01pbmltdW1BbW91bnQgPSAodmFsdWU6bnVtYmVyPTApOmJvb2xlYW4gPT4gIFxuICAgICAgICB0aGlzLnVzZXIuaXNXaG9sZXNhbGVyKCkgPyB0aGlzLnVzZXIuY2hhbm5lbHMuZmluZCggY2hhbm5lbCA9PiB0aGlzLmNvbnN0YW50cy5nZXRDaGFubmVsKCkgPT0gY2hhbm5lbC5jb2RlKS53aG9sZXNhbGVyTWluaW11bVB1cmNoYXNlQW1vdW50IDw9IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMudXNlci5jaGFubmVscy5maW5kKCBjaGFubmVsID0+IHRoaXMuY29uc3RhbnRzLmdldENoYW5uZWwoKSA9PSBjaGFubmVsLmNvZGUpLnJldGFpbGVyTWluaW11bVB1cmNoYXNlQW1vdW50IDw9IHZhbHVlXG59Il19
|