@maplander/components 0.21.42 → 0.21.44
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/_theming.scss +0 -1
- package/bundles/maplander-components.umd.js +3 -173
- package/bundles/maplander-components.umd.js.map +1 -1
- package/bundles/maplander-components.umd.min.js +2 -2
- package/bundles/maplander-components.umd.min.js.map +1 -1
- package/esm2015/lib/components/fab-filters/fab-filters.component.js +2 -2
- package/esm2015/lib/components/filters/filters.component.js +4 -85
- package/esm2015/lib/services/markers/markers.service.js +1 -68
- package/esm5/lib/components/fab-filters/fab-filters.component.js +2 -2
- package/esm5/lib/components/filters/filters.component.js +4 -103
- package/esm5/lib/services/markers/markers.service.js +1 -84
- package/fesm2015/maplander-components.js +4 -141
- package/fesm2015/maplander-components.js.map +1 -1
- package/fesm5/maplander-components.js +4 -174
- package/fesm5/maplander-components.js.map +1 -1
- package/lib/components/filters/filters.component.d.ts +1 -16
- package/lib/services/markers/markers.service.d.ts +1 -12
- package/maplander-components.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -246,73 +246,6 @@ export class MarkersService {
|
|
|
246
246
|
response.markers = list;
|
|
247
247
|
return response;
|
|
248
248
|
}
|
|
249
|
-
/**
|
|
250
|
-
* @param {?} list
|
|
251
|
-
* @return {?}
|
|
252
|
-
*/
|
|
253
|
-
buildNewSpider(list) {
|
|
254
|
-
/** @type {?} */
|
|
255
|
-
const response = { markers: [], polyLines: [] };
|
|
256
|
-
/** @type {?} */
|
|
257
|
-
const newList = [];
|
|
258
|
-
for (const listElement of list) {
|
|
259
|
-
newList.push({
|
|
260
|
-
id: listElement.id,
|
|
261
|
-
location: listElement.location,
|
|
262
|
-
price: listElement.price,
|
|
263
|
-
currency: listElement.currency,
|
|
264
|
-
url: listElement.url,
|
|
265
|
-
type: listElement.type,
|
|
266
|
-
extras: {}
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
newList.map((/**
|
|
270
|
-
* @param {?} el
|
|
271
|
-
* @return {?}
|
|
272
|
-
*/
|
|
273
|
-
(el) => {
|
|
274
|
-
el.extras['repeat'] = false;
|
|
275
|
-
/** @type {?} */
|
|
276
|
-
const size = newList.filter((/**
|
|
277
|
-
* @param {?} item
|
|
278
|
-
* @return {?}
|
|
279
|
-
*/
|
|
280
|
-
item => {
|
|
281
|
-
return el.location.latitude === item.location.latitude && el.location.longitude === item.location.longitude;
|
|
282
|
-
}));
|
|
283
|
-
/** @type {?} */
|
|
284
|
-
const distance = 30 * size.length / 2.0;
|
|
285
|
-
/** @type {?} */
|
|
286
|
-
const radiansBetweenAnnotations = (Math.PI * 2) / size.length;
|
|
287
|
-
if (!el.extras['repeat'] && size.length > 1) {
|
|
288
|
-
/** @type {?} */
|
|
289
|
-
const locationShare = Object.assign({}, el.location);
|
|
290
|
-
for (let i = 0; i < size.length; i++) {
|
|
291
|
-
/** @type {?} */
|
|
292
|
-
const heading = radiansBetweenAnnotations * i;
|
|
293
|
-
size[i]['repeat'] = true;
|
|
294
|
-
/** @type {?} */
|
|
295
|
-
const newLocation = MarkersService.calculateLocationFrom(locationShare, heading, distance);
|
|
296
|
-
response.polyLines.push({
|
|
297
|
-
path: [
|
|
298
|
-
{
|
|
299
|
-
latitude: Number(locationShare.latitude),
|
|
300
|
-
longitude: Number(locationShare.longitude)
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
latitude: Number(newLocation.latitude),
|
|
304
|
-
longitude: Number(newLocation.longitude)
|
|
305
|
-
}
|
|
306
|
-
]
|
|
307
|
-
});
|
|
308
|
-
size[i].location = newLocation;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
return el;
|
|
312
|
-
}));
|
|
313
|
-
response.markers = newList;
|
|
314
|
-
return response;
|
|
315
|
-
}
|
|
316
249
|
/**
|
|
317
250
|
* @private
|
|
318
251
|
* @param {?} entity
|
|
@@ -365,4 +298,4 @@ if (false) {
|
|
|
365
298
|
*/
|
|
366
299
|
MarkersService.prototype._converter;
|
|
367
300
|
}
|
|
368
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Vycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1hcGxhbmRlci9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL21hcmtlcnMvbWFya2Vycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxPQUFPLEVBRVAsUUFBUSxFQUVSLGVBQWUsRUFJaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUk5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBSzFGLE1BQU0sT0FBTyxjQUFjOzs7Ozs7SUFFekIsWUFDVSxpQkFBbUMsRUFDbkMsaUJBQW1DLEVBQ25DLFVBQW9DO1FBRnBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUEwQjtJQUU5QyxDQUFDOzs7Ozs7SUFFTyxNQUFNLENBQUMseUJBQXlCLENBQUMsSUFBc0I7O1lBQ3pELElBQUksR0FBcUIsSUFBSTtRQUNqQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUMxQixJQUFJLEdBQUcsT0FBTyxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJ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NEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFkZHJlc3MsXHJcbiAgQ0VSLFxyXG4gIEN1cnJlbmN5LFxyXG4gIEdlb1B0LFxyXG4gIE5ld1Byb3BlcnR5TGl0ZSxcclxuICBOZXdQcm9wZXJ0eUxpdGVTdWdnZXN0LFxyXG4gIE9mZmVyaW5nVHlwZUVudW0sXHJcbiAgUHJvcGVydHlUeXBlRW51bVxyXG59IGZyb20gJ0BtYXBsYW5kZXIvdHlwZXMnO1xyXG5pbXBvcnQge0NvbnN0YW50c0NvbXBvbmVudHN9IGZyb20gJy4uLy4uL2NvbnN0YW50c0NvbXBvbmVudHMnO1xyXG5pbXBvcnQge01hcmtlcn0gZnJvbSAnLi4vLi4vdXRpbHMvbW9kZWxzL21hcmtlcic7XHJcbmltcG9ydCB7UHJvcGVydHlDYXJkSW5mb30gZnJvbSAnLi4vLi4vdXRpbHMvbW9kZWxzL3Byb3BlcnR5LWNhcmQtaW5mbyc7XHJcbmltcG9ydCB7UHJvcGVydHlUeXBlSXRlbX0gZnJvbSAnLi4vLi4vdXRpbHMvbW9kZWxzL3Byb3BlcnR5LXR5cGUtaXRlbSc7XHJcbmltcG9ydCB7T2ZmZXJpbmdUeXBlUGlwZX0gZnJvbSAnLi4vLi4vcGlwZXMvb2ZmZXJpbmctdHlwZS9vZmZlcmluZy10eXBlLnBpcGUnO1xyXG5pbXBvcnQge1Byb3BlcnR5VHlwZVBpcGV9IGZyb20gJy4uLy4uL3BpcGVzL3Byb3BlcnR5LXR5cGUvcHJvcGVydHktdHlwZS5waXBlJztcclxuaW1wb3J0IHtVdGlsc30gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQge0N1cnJlbmN5Q29udmVydGVyU2VydmljZX0gZnJvbSAnLi4vY3VycmVuY3ktY29udmVydGVyL2N1cnJlbmN5LWNvbnZlcnRlci5zZXJ2aWNlJztcclxuXHJcbmRlY2xhcmUgdmFyIGdvb2dsZTogYW55O1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWFya2Vyc1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Byb3BlcnR5VHlwZVBpcGU6IFByb3BlcnR5VHlwZVBpcGUsXHJcbiAgICBwcml2YXRlIF9vZmZlcmluZ1R5cGVQaXBlOiBPZmZlcmluZ1R5cGVQaXBlLFxyXG4gICAgcHJpdmF0ZSBfY29udmVydGVyOiBDdXJyZW5jeUNvbnZlcnRlclNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldFByb3BlcnR5VHlwZUl0ZW1CeVR5cGUodHlwZTogUHJvcGVydHlUeXBlRW51bSk6IFByb3BlcnR5VHlwZUl0ZW0ge1xyXG4gICAgbGV0IGl0ZW06IFByb3BlcnR5VHlwZUl0ZW0gPSBudWxsO1xyXG4gICAgQ29uc3RhbnRzQ29tcG9uZW50cy5Qcm9wZXJ0eVR5cGVMaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgaWYgKGVsZW1lbnQudmFsdWUgPT09IHR5cGUpIHtcclxuICAgICAgICBpdGVtID0gZWxlbWVudDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIHZhbGlkYXRlUHJvcGVydHlJbkZhdm9yaXRlcyhwcm9wZXJ0eUlkOiBzdHJpbmcsIGZhdm9yaXRlczogTmV3UHJvcGVydHlMaXRlW10pOiBib29sZWFuIHtcclxuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmF2b3JpdGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChwcm9wZXJ0eUlkID09PSBmYXZvcml0ZXNbaV0uaWQpIHtcclxuICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY2FsY3VsYXRlTG9jYXRpb25Gcm9tKGxvY2F0aW9uOiBHZW9QdCwgYmVhcmluZ0luUmFkaWFuczogbnVtYmVyLCBkaXN0YW5jZUluTWV0cmVzOiBudW1iZXIpOiBHZW9QdCB7XHJcbiAgICBjb25zdCBjb29yZGluYXRlTGF0aXR1ZGVJblJhZGlhbnMgPSBsb2NhdGlvbi5sYXRpdHVkZSAqIE1hdGguUEkgLyAxODA7XHJcbiAgICBjb25zdCBjb29yZGluYXRlTG9uZ2l0dWRlSW5SYWRpYW5zID0gbG9jYXRpb24ubG9uZ2l0dWRlICogTWF0aC5QSSAvIDE4MDtcclxuICAgIGNvbnN0IGRpc3RhbmNlQ29tcGFyZWRUb0VhcnRoID0gZGlzdGFuY2VJbk1ldHJlcyAvIDYzNzgxMDAuMDtcclxuICAgIGNvbnN0IHJlc3VsdExhdGl0dWRlSW5SYWRpYW5zID0gTWF0aC5hc2luKE1hdGguc2luKGNvb3JkaW5hdGVMYXRpdHVkZUluUmFkaWFucykgKiBNYXRoLmNvcyhkaXN0YW5jZUNvbXBhcmVkVG9FYXJ0aCkgK1xyXG4gICAgICBNYXRoLmNvcyhjb29yZGluYXRlTGF0aXR1ZGVJblJhZGlhbnMpICogTWF0aC5zaW4oZGlzdGFuY2VDb21wYXJlZFRvRWFydGgpICogTWF0aC5jb3MoYmVhcmluZ0luUmFkaWFucykpO1xyXG4gICAgY29uc3QgcmVzdWx0TG9uZ2l0dWRlSW5SYWRpYW5zID0gY29vcmRpbmF0ZUxvbmdpdHVkZUluUmFkaWFucyArIE1hdGguYXRhbjIoTWF0aC5zaW4oYmVhcmluZ0luUmFkaWFucykgKlxyXG4gICAgICBNYXRoLnNpbihkaXN0YW5jZUNvbXBhcmVkVG9FYXJ0aCkgKiBNYXRoLmNvcyhjb29yZGluYXRlTGF0aXR1ZGVJblJhZGlhbnMpLCBNYXRoLmNvcyhkaXN0YW5jZUNvbXBhcmVkVG9FYXJ0aCkgLVxyXG4gICAgICBNYXRoLnNpbihjb29yZGluYXRlTGF0aXR1ZGVJblJhZGlhbnMpICogTWF0aC5zaW4ocmVzdWx0TGF0aXR1ZGVJblJhZGlhbnMpKTtcclxuICAgIGNvbnN0IG5ld0Nvb3JkaW5hdGVzOiBhbnkgPSB7fTtcclxuICAgIG5ld0Nvb3JkaW5hdGVzLmxhdGl0dWRlID0gcmVzdWx0TGF0aXR1ZGVJblJhZGlhbnMgKiAxODAgLyBNYXRoLlBJO1xyXG4gICAgbmV3Q29vcmRpbmF0ZXMubG9uZ2l0dWRlID0gcmVzdWx0TG9uZ2l0dWRlSW5SYWRpYW5zICogMTgwIC8gTWF0aC5QSTtcclxuICAgIHJldHVybiBuZXdDb29yZGluYXRlcztcclxuICB9XHJcblxyXG4gIGJ1aWxkVVJMKGNvbmZpZzoge1xyXG4gICAgcHJvcGVydHlJZDogc3RyaW5nLFxyXG4gICAgb2ZmZXJpbmc6IE9mZmVyaW5nVHlwZUVudW0sXHJcbiAgICBwcm9wZXJ0eVR5cGU6IFByb3BlcnR5VHlwZUVudW0sXHJcbiAgICBhZGRyZXNzOiBBZGRyZXNzXHJcbiAgfSk6IHN0cmluZyB7XHJcbiAgICBsZXQgdXJsID0gJ3Byb3BlcnR5Lyc7XHJcbiAgICB1cmwgKz0gYCR7dGhpcy5fcHJvcGVydHlUeXBlUGlwZS50cmFuc2Zvcm0oY29uZmlnLnByb3BlcnR5VHlwZSwgdHJ1ZSl9LWA7XHJcbiAgICB1cmwgKz0gYCR7dGhpcy5fb2ZmZXJpbmdUeXBlUGlwZS50cmFuc2Zvcm0oY29uZmlnLm9mZmVyaW5nLCAnICcpLnJlcGxhY2UoLyAvZywgJycpfS1gO1xyXG4gICAgdXJsICs9IGNvbmZpZy5hZGRyZXNzLmNvbG9ueSA/IGAke2NvbmZpZy5hZGRyZXNzLmNvbG9ueX0tYCA6ICcnO1xyXG4gICAgdXJsICs9IGNvbmZpZy5hZGRyZXNzLmNpdHkgPyBgJHtjb25maWcuYWRkcmVzcy5jaXR5fS1gIDogJyc7XHJcbiAgICB1cmwgKz0gY29uZmlnLnByb3BlcnR5SWQ7XHJcbiAgICB1cmwgPSBVdGlscy5yZW1vdmVEaWFjcml0aWNzKHVybCkucmVwbGFjZSgvIC9nLCAnLScpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICByZXR1cm4gdXJsO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5Qb2x5KHByb3BlcnRpZXM6IE1hcmtlcltdLCBwYXRoczogYW55W10pOiBNYXJrZXJbXSB7XHJcbiAgICBjb25zdCBwb2x5Z29uID0gbmV3IGdvb2dsZS5tYXBzLlBvbHlnb24oe3BhdGhzOiBwYXRoc30pO1xyXG4gICAgaWYgKHByb3BlcnRpZXMgJiYgcHJvcGVydGllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHByb3BlcnRpZXMubWFwKChlbDogTWFya2VyKSA9PiB7XHJcbiAgICAgICAgZWwuZXh0cmFzWydzaG93SW5Qb2x5Z29uJ10gPSBmYWxzZTtcclxuICAgICAgICBjb25zdCBjdXN0b21MYXRMbmcgPSBuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKGVsLmxvY2F0aW9uLmxhdGl0dWRlLCBlbC5sb2NhdGlvbi5sb25naXR1ZGUpO1xyXG4gICAgICAgIGlmIChnb29nbGUubWFwcy5nZW9tZXRyeS5wb2x5LmNvbnRhaW5zTG9jYXRpb24oY3VzdG9tTGF0TG5nLCBwb2x5Z29uKSkge1xyXG4gICAgICAgICAgZWwuZXh0cmFzWydzaG93SW5Qb2x5Z29uJ10gPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuIGVsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBlbC5leHRyYXNbJ3Nob3dJblBvbHlnb24nXSA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIGVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzLmZpbHRlcigoZSkgPT4ge1xyXG4gICAgICAgIGlmIChlLmV4dHJhc1snc2hvd0luUG9seWdvbiddKSB7XHJcbiAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcHJvcGVydGllcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1hcmtlcnNUb0N1cnJlbmN5KG1hcmtlcnM6IE1hcmtlcltdLCB0b0N1cnJlbmN5OiBDdXJyZW5jeSwgY3VycmVuY2llczogQ0VSW10pOiBNYXJrZXJbXSB7XHJcbiAgICBtYXJrZXJzID0gbWFya2Vycy5tYXA8TWFya2VyPihpdGVtID0+IHtcclxuICAgICAgaWYgKEN1cnJlbmN5W2l0ZW0uaW5mby5jdXJyZW5jeV0gIT09IHRvQ3VycmVuY3kpIHtcclxuICAgICAgICBpdGVtLmluZm8ucHJpY2UgPSB0aGlzLl9jb252ZXJ0ZXIubnVtYmVyKGl0ZW0uaW5mby5wcmljZSwgY3VycmVuY2llcywgQ3VycmVuY3lbaXRlbS5pbmZvLmN1cnJlbmN5XSwgdG9DdXJyZW5jeSk7XHJcbiAgICAgICAgaXRlbS5pbmZvLmN1cnJlbmN5ID0gdG9DdXJyZW5jeS50b1N0cmluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbWFya2VycztcclxuICB9XHJcblxyXG4gIGJ1aWxkTWFya2VycyhlbnRpdGllczogTmV3UHJvcGVydHlMaXRlW10gfCBOZXdQcm9wZXJ0eUxpdGVTdWdnZXN0W10sIGZhdm9yaXRlcz86IE5ld1Byb3BlcnR5TGl0ZVtdKTogTWFya2VyW10ge1xyXG4gICAgY29uc3QgbWFya2VyczogTWFya2VyW10gPSBbXTtcclxuICAgIGVudGl0aWVzLmZvckVhY2goKGVudGl0eSkgPT4ge1xyXG4gICAgICBjb25zdCBtOiBNYXJrZXIgPSB7XHJcbiAgICAgICAgbG9jYXRpb246IGVudGl0eS5hZGRyZXNzLmxvY2F0aW9uLFxyXG4gICAgICAgIGhvdmVyOiBmYWxzZSxcclxuICAgICAgICB2aXNpdGVkOiBmYWxzZSxcclxuICAgICAgICB0eXBlOiBNYXJrZXJzU2VydmljZS5nZXRQcm9wZXJ0eVR5cGVJdGVtQnlUeXBlKGVudGl0eS50eXBlKSxcclxuICAgICAgICBpbmZvOiB0aGlzLmNyZWF0ZVByb3BlcnR5SW5mb0NhcmQoZW50aXR5KSxcclxuICAgICAgICBpc0Zhdm9yaXRlOiBmYWxzZSxcclxuICAgICAgICBleHRyYXM6IHt9XHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChlbnRpdHkgaW5zdGFuY2VvZiBOZXdQcm9wZXJ0eUxpdGUpIHtcclxuICAgICAgICBtLmlzRmF2b3JpdGUgPSBmYXZvcml0ZXMgJiYgZmF2b3JpdGVzLmxlbmd0aCA+IDAgPyBNYXJrZXJzU2VydmljZS52YWxpZGF0ZVByb3BlcnR5SW5GYXZvcml0ZXMoZW50aXR5LmlkLCBmYXZvcml0ZXMpIDogZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbS5pc0Zhdm9yaXRlID0gZmF2b3JpdGVzICYmIGZhdm9yaXRlcy5sZW5ndGggPiAwID8gTWFya2Vyc1NlcnZpY2UudmFsaWRhdGVQcm9wZXJ0eUluRmF2b3JpdGVzKGVudGl0eS5wcm9wZXJ0eUlkLCBmYXZvcml0ZXMpIDogZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgbWFya2Vycy5wdXNoKG0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbWFya2VycztcclxuICB9XHJcblxyXG4gIGJ1aWxkU3BpZGVyKGxpc3Q6IE1hcmtlcltdKTogeyBtYXJrZXJzOiBNYXJrZXJbXSwgcG9seUxpbmVzOiBhbnlbXSB9IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0ge21hcmtlcnM6IFtdLCBwb2x5TGluZXM6IFtdfTtcclxuICAgIGxpc3QubWFwKChlbCkgPT4ge1xyXG4gICAgICBlbC5leHRyYXNbJ3JlcGVhdCddID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IHNpemUgPSBsaXN0LmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgICByZXR1cm4gZWwubG9jYXRpb24ubGF0aXR1ZGUgPT09IGl0ZW0ubG9jYXRpb24ubGF0aXR1ZGUgJiYgZWwubG9jYXRpb24ubG9uZ2l0dWRlID09PSBpdGVtLmxvY2F0aW9uLmxvbmdpdHVkZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGRpc3RhbmNlID0gMTIgKiBzaXplLmxlbmd0aCAvIDIuMDtcclxuICAgICAgY29uc3QgcmFkaWFuc0JldHdlZW5Bbm5vdGF0aW9ucyA9IChNYXRoLlBJICogMikgLyBzaXplLmxlbmd0aDtcclxuICAgICAgaWYgKCFlbC5leHRyYXNbJ3JlcGVhdCddICYmIHNpemUubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uU2hhcmU6IGFueSA9IE9iamVjdC5hc3NpZ24oe30sIGVsLmxvY2F0aW9uKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGNvbnN0IGhlYWRpbmcgPSByYWRpYW5zQmV0d2VlbkFubm90YXRpb25zICogaTtcclxuICAgICAgICAgIHNpemVbaV1bJ3JlcGVhdCddID0gdHJ1ZTtcclxuICAgICAgICAgIGNvbnN0IG5ld0xvY2F0aW9uID0gTWFya2Vyc1NlcnZpY2UuY2FsY3VsYXRlTG9jYXRpb25Gcm9tKGxvY2F0aW9uU2hhcmUsIGhlYWRpbmcsIGRpc3RhbmNlKTtcclxuICAgICAgICAgIHJlc3BvbnNlLnBvbHlMaW5lcy5wdXNoKHtcclxuICAgICAgICAgICAgcGF0aDogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBOdW1iZXIobG9jYXRpb25TaGFyZS5sYXRpdHVkZSksXHJcbiAgICAgICAgICAgICAgICBsb25naXR1ZGU6IE51bWJlcihsb2NhdGlvblNoYXJlLmxvbmdpdHVkZSlcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBOdW1iZXIobmV3TG9jYXRpb24ubGF0aXR1ZGUpLFxyXG4gICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBOdW1iZXIobmV3TG9jYXRpb24ubG9uZ2l0dWRlKVxyXG4gICAgICAgICAgICAgIH1dXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHNpemVbaV0ubG9jYXRpb24gPSBuZXdMb2NhdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGVsO1xyXG4gICAgfSk7XHJcbiAgICByZXNwb25zZS5tYXJrZXJzID0gbGlzdDtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIGJ1aWxkTmV3U3BpZGVyKGxpc3Q6IEFycmF5PHsgaWQ6IHN0cmluZywgbG9jYXRpb246IEdlb1B0LCBwcmljZTogbnVtYmVyLFxyXG4gICAgY3VycmVuY3k6IHN0cmluZywgdXJsOiBzdHJpbmcsIHR5cGU6IFByb3BlcnR5VHlwZUVudW0gfT4pOiB7IG1hcmtlcnM6IGFueVtdLCBwb2x5TGluZXM6IGFueVtdIH0ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSB7bWFya2VyczogW10sIHBvbHlMaW5lczogW119O1xyXG4gICAgY29uc3QgbmV3TGlzdCA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBsaXN0RWxlbWVudCBvZiBsaXN0KSB7XHJcbiAgICAgIG5ld0xpc3QucHVzaCh7XHJcbiAgICAgICAgaWQ6IGxpc3RFbGVtZW50LmlkLFxyXG4gICAgICAgIGxvY2F0aW9uOiBsaXN0RWxlbWVudC5sb2NhdGlvbixcclxuICAgICAgICBwcmljZTogbGlzdEVsZW1lbnQucHJpY2UsXHJcbiAgICAgICAgY3VycmVuY3k6IGxpc3RFbGVtZW50LmN1cnJlbmN5LFxyXG4gICAgICAgIHVybDogbGlzdEVsZW1lbnQudXJsLFxyXG4gICAgICAgIHR5cGU6IGxpc3RFbGVtZW50LnR5cGUsXHJcbiAgICAgICAgZXh0cmFzOiB7fVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIG5ld0xpc3QubWFwKChlbCkgPT4ge1xyXG4gICAgICBlbC5leHRyYXNbJ3JlcGVhdCddID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IHNpemUgPSBuZXdMaXN0LmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgICByZXR1cm4gZWwubG9jYXRpb24ubGF0aXR1ZGUgPT09IGl0ZW0ubG9jYXRpb24ubGF0aXR1ZGUgJiYgZWwubG9jYXRpb24ubG9uZ2l0dWRlID09PSBpdGVtLmxvY2F0aW9uLmxvbmdpdHVkZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGRpc3RhbmNlID0gMzAgKiBzaXplLmxlbmd0aCAvIDIuMDtcclxuICAgICAgY29uc3QgcmFkaWFuc0JldHdlZW5Bbm5vdGF0aW9ucyA9IChNYXRoLlBJICogMikgLyBzaXplLmxlbmd0aDtcclxuICAgICAgaWYgKCFlbC5leHRyYXNbJ3JlcGVhdCddICYmIHNpemUubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uU2hhcmU6IGFueSA9IE9iamVjdC5hc3NpZ24oe30sIGVsLmxvY2F0aW9uKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGNvbnN0IGhlYWRpbmcgPSByYWRpYW5zQmV0d2VlbkFubm90YXRpb25zICogaTtcclxuICAgICAgICAgIHNpemVbaV1bJ3JlcGVhdCddID0gdHJ1ZTtcclxuICAgICAgICAgIGNvbnN0IG5ld0xvY2F0aW9uID0gTWFya2Vyc1NlcnZpY2UuY2FsY3VsYXRlTG9jYXRpb25Gcm9tKGxvY2F0aW9uU2hhcmUsIGhlYWRpbmcsIGRpc3RhbmNlKTtcclxuICAgICAgICAgIHJlc3BvbnNlLnBvbHlMaW5lcy5wdXNoKHtcclxuICAgICAgICAgICAgcGF0aDogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBOdW1iZXIobG9jYXRpb25TaGFyZS5sYXRpdHVkZSksXHJcbiAgICAgICAgICAgICAgICBsb25naXR1ZGU6IE51bWJlcihsb2NhdGlvblNoYXJlLmxvbmdpdHVkZSlcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBOdW1iZXIobmV3TG9jYXRpb24ubGF0aXR1ZGUpLFxyXG4gICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBOdW1iZXIobmV3TG9jYXRpb24ubG9uZ2l0dWRlKVxyXG4gICAgICAgICAgICAgIH1dXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHNpemVbaV0ubG9jYXRpb24gPSBuZXdMb2NhdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGVsO1xyXG4gICAgfSk7XHJcbiAgICByZXNwb25zZS5tYXJrZXJzID0gbmV3TGlzdDtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUHJvcGVydHlJbmZvQ2FyZChlbnRpdHk6IE5ld1Byb3BlcnR5TGl0ZSB8IE5ld1Byb3BlcnR5TGl0ZVN1Z2dlc3QpOiBQcm9wZXJ0eUNhcmRJbmZvIHtcclxuICAgIHJldHVybiAge1xyXG4gICAgICBhZGRyZXNzOiBuZXcgQWRkcmVzcyhlbnRpdHkuYWRkcmVzcyB8fCBudWxsKSxcclxuICAgICAgYXV0aFVzZXJzOiAoZW50aXR5IGluc3RhbmNlb2YgTmV3UHJvcGVydHlMaXRlKSA/IGVudGl0eS5hdXRoVXNlcnMgOiAnJyxcclxuICAgICAgY3VycmVuY3k6IGVudGl0eS5jdXJyZW5jeSxcclxuICAgICAgcHJvcGVydHlJZDogKGVudGl0eSBpbnN0YW5jZW9mIE5ld1Byb3BlcnR5TGl0ZSkgPyBlbnRpdHkuaWQgOiBlbnRpdHkucHJvcGVydHlJZCxcclxuICAgICAgaW1hZ2U6IGVudGl0eS5pbWFnZSxcclxuICAgICAgb2ZmZXJpbmc6IGVudGl0eS5vZmZlcmluZyxcclxuICAgICAgcHJpY2U6IGVudGl0eS5wcmljZSxcclxuICAgICAgdHlwZTogZW50aXR5LnR5cGUsXHJcbiAgICAgIHVybDogdGhpcy5idWlsZFVSTCh7XHJcbiAgICAgICAgYWRkcmVzczogZW50aXR5LmFkZHJlc3MsXHJcbiAgICAgICAgb2ZmZXJpbmc6IGVudGl0eS5vZmZlcmluZyxcclxuICAgICAgICBwcm9wZXJ0eVR5cGU6IGVudGl0eS50eXBlLFxyXG4gICAgICAgIHByb3BlcnR5SWQ6IChlbnRpdHkgaW5zdGFuY2VvZiBOZXdQcm9wZXJ0eUxpdGUpID8gZW50aXR5LmlkIDogZW50aXR5LnByb3BlcnR5SWRcclxuICAgICAgfSksXHJcbiAgICAgIHN0YXR1czogKGVudGl0eSBpbnN0YW5jZW9mIE5ld1Byb3BlcnR5TGl0ZSkgPyBlbnRpdHkuc3RhdHVzIDogbnVsbCxcclxuICAgICAgZmVhdHVyZXM6IChlbnRpdHkgaW5zdGFuY2VvZiBOZXdQcm9wZXJ0eUxpdGUpID8gZW50aXR5LmZlYXR1cmVzIDogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Vycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1hcGxhbmRlci9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL21hcmtlcnMvbWFya2Vycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxPQUFPLEVBRVAsUUFBUSxFQUVSLGVBQWUsRUFJaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUk5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBSzFGLE1BQU0sT0FBTyxjQUFjOzs7Ozs7SUFFekIsWUFDVSxpQkFBbUMsRUFDbkMsaUJBQW1DLEVBQ25DLFVBQW9DO1FBRnBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUEwQjtJQUU5QyxDQUFDOzs7Ozs7SUFFTyxNQUFNLENBQUMseUJBQXlCLENBQUMsSUFBc0I7O1lBQ3pELElBQUksR0FBcUIsSUFBSTtRQUNqQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUMxQixJQUFJLEdBQUcsT0FBTyxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJ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O0lBQ0osQ0FBQzs7O1lBOUtGLFVBQVU7Ozs7WUFOSCxnQkFBZ0I7WUFEaEIsZ0JBQWdCO1lBR2hCLHdCQUF3Qjs7Ozs7OztJQVE1QiwyQ0FBMkM7Ozs7O0lBQzNDLDJDQUEyQzs7Ozs7SUFDM0Msb0NBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBZGRyZXNzLFxyXG4gIENFUixcclxuICBDdXJyZW5jeSxcclxuICBHZW9QdCxcclxuICBOZXdQcm9wZXJ0eUxpdGUsXHJcbiAgTmV3UHJvcGVydHlMaXRlU3VnZ2VzdCxcclxuICBPZmZlcmluZ1R5cGVFbnVtLFxyXG4gIFByb3BlcnR5VHlwZUVudW1cclxufSBmcm9tICdAbWFwbGFuZGVyL3R5cGVzJztcclxuaW1wb3J0IHtDb25zdGFudHNDb21wb25lbnRzfSBmcm9tICcuLi8uLi9jb25zdGFudHNDb21wb25lbnRzJztcclxuaW1wb3J0IHtNYXJrZXJ9IGZyb20gJy4uLy4uL3V0aWxzL21vZGVscy9tYXJrZXInO1xyXG5pbXBvcnQge1Byb3BlcnR5Q2FyZEluZm99IGZyb20gJy4uLy4uL3V0aWxzL21vZGVscy9wcm9wZXJ0eS1jYXJkLWluZm8nO1xyXG5pbXBvcnQge1Byb3BlcnR5VHlwZUl0ZW19IGZyb20gJy4uLy4uL3V0aWxzL21vZGVscy9wcm9wZXJ0eS10eXBlLWl0ZW0nO1xyXG5pbXBvcnQge09mZmVyaW5nVHlwZVBpcGV9IGZyb20gJy4uLy4uL3BpcGVzL29mZmVyaW5nLXR5cGUvb2ZmZXJpbmctdHlwZS5waXBlJztcclxuaW1wb3J0IHtQcm9wZXJ0eVR5cGVQaXBlfSBmcm9tICcuLi8uLi9waXBlcy9wcm9wZXJ0eS10eXBlL3Byb3BlcnR5LXR5cGUucGlwZSc7XHJcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHtDdXJyZW5jeUNvbnZlcnRlclNlcnZpY2V9IGZyb20gJy4uL2N1cnJlbmN5LWNvbnZlcnRlci9jdXJyZW5jeS1jb252ZXJ0ZXIuc2VydmljZSc7XHJcblxyXG5kZWNsYXJlIHZhciBnb29nbGU6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1hcmtlcnNTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wcm9wZXJ0eVR5cGVQaXBlOiBQcm9wZXJ0eVR5cGVQaXBlLFxyXG4gICAgcHJpdmF0ZSBfb2ZmZXJpbmdUeXBlUGlwZTogT2ZmZXJpbmdUeXBlUGlwZSxcclxuICAgIHByaXZhdGUgX2NvbnZlcnRlcjogQ3VycmVuY3lDb252ZXJ0ZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRQcm9wZXJ0eVR5cGVJdGVtQnlUeXBlKHR5cGU6IFByb3BlcnR5VHlwZUVudW0pOiBQcm9wZXJ0eVR5cGVJdGVtIHtcclxuICAgIGxldCBpdGVtOiBQcm9wZXJ0eVR5cGVJdGVtID0gbnVsbDtcclxuICAgIENvbnN0YW50c0NvbXBvbmVudHMuUHJvcGVydHlUeXBlTGlzdC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LnZhbHVlID09PSB0eXBlKSB7XHJcbiAgICAgICAgaXRlbSA9IGVsZW1lbnQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGl0ZW07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyB2YWxpZGF0ZVByb3BlcnR5SW5GYXZvcml0ZXMocHJvcGVydHlJZDogc3RyaW5nLCBmYXZvcml0ZXM6IE5ld1Byb3BlcnR5TGl0ZVtdKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZhdm9yaXRlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAocHJvcGVydHlJZCA9PT0gZmF2b3JpdGVzW2ldLmlkKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGNhbGN1bGF0ZUxvY2F0aW9uRnJvbShsb2NhdGlvbjogR2VvUHQsIGJlYXJpbmdJblJhZGlhbnM6IG51bWJlciwgZGlzdGFuY2VJbk1ldHJlczogbnVtYmVyKTogR2VvUHQge1xyXG4gICAgY29uc3QgY29vcmRpbmF0ZUxhdGl0dWRlSW5SYWRpYW5zID0gbG9jYXRpb24ubGF0aXR1ZGUgKiBNYXRoLlBJIC8gMTgwO1xyXG4gICAgY29uc3QgY29vcmRpbmF0ZUxvbmdpdHVkZUluUmFkaWFucyA9IGxvY2F0aW9uLmxvbmdpdHVkZSAqIE1hdGguUEkgLyAxODA7XHJcbiAgICBjb25zdCBkaXN0YW5jZUNvbXBhcmVkVG9FYXJ0aCA9IGRpc3RhbmNlSW5NZXRyZXMgLyA2Mzc4MTAwLjA7XHJcbiAgICBjb25zdCByZXN1bHRMYXRpdHVkZUluUmFkaWFucyA9IE1hdGguYXNpbihNYXRoLnNpbihjb29yZGluYXRlTGF0aXR1ZGVJblJhZGlhbnMpICogTWF0aC5jb3MoZGlzdGFuY2VDb21wYXJlZFRvRWFydGgpICtcclxuICAgICAgTWF0aC5jb3MoY29vcmRpbmF0ZUxhdGl0dWRlSW5SYWRpYW5zKSAqIE1hdGguc2luKGRpc3RhbmNlQ29tcGFyZWRUb0VhcnRoKSAqIE1hdGguY29zKGJlYXJpbmdJblJhZGlhbnMpKTtcclxuICAgIGNvbnN0IHJlc3VsdExvbmdpdHVkZUluUmFkaWFucyA9IGNvb3JkaW5hdGVMb25naXR1ZGVJblJhZGlhbnMgKyBNYXRoLmF0YW4yKE1hdGguc2luKGJlYXJpbmdJblJhZGlhbnMpICpcclxuICAgICAgTWF0aC5zaW4oZGlzdGFuY2VDb21wYXJlZFRvRWFydGgpICogTWF0aC5jb3MoY29vcmRpbmF0ZUxhdGl0dWRlSW5SYWRpYW5zKSwgTWF0aC5jb3MoZGlzdGFuY2VDb21wYXJlZFRvRWFydGgpIC1cclxuICAgICAgTWF0aC5zaW4oY29vcmRpbmF0ZUxhdGl0dWRlSW5SYWRpYW5zKSAqIE1hdGguc2luKHJlc3VsdExhdGl0dWRlSW5SYWRpYW5zKSk7XHJcbiAgICBjb25zdCBuZXdDb29yZGluYXRlczogYW55ID0ge307XHJcbiAgICBuZXdDb29yZGluYXRlcy5sYXRpdHVkZSA9IHJlc3VsdExhdGl0dWRlSW5SYWRpYW5zICogMTgwIC8gTWF0aC5QSTtcclxuICAgIG5ld0Nvb3JkaW5hdGVzLmxvbmdpdHVkZSA9IHJlc3VsdExvbmdpdHVkZUluUmFkaWFucyAqIDE4MCAvIE1hdGguUEk7XHJcbiAgICByZXR1cm4gbmV3Q29vcmRpbmF0ZXM7XHJcbiAgfVxyXG5cclxuICBidWlsZFVSTChjb25maWc6IHtcclxuICAgIHByb3BlcnR5SWQ6IHN0cmluZyxcclxuICAgIG9mZmVyaW5nOiBPZmZlcmluZ1R5cGVFbnVtLFxyXG4gICAgcHJvcGVydHlUeXBlOiBQcm9wZXJ0eVR5cGVFbnVtLFxyXG4gICAgYWRkcmVzczogQWRkcmVzc1xyXG4gIH0pOiBzdHJpbmcge1xyXG4gICAgbGV0IHVybCA9ICdwcm9wZXJ0eS8nO1xyXG4gICAgdXJsICs9IGAke3RoaXMuX3Byb3BlcnR5VHlwZVBpcGUudHJhbnNmb3JtKGNvbmZpZy5wcm9wZXJ0eVR5cGUsIHRydWUpfS1gO1xyXG4gICAgdXJsICs9IGAke3RoaXMuX29mZmVyaW5nVHlwZVBpcGUudHJhbnNmb3JtKGNvbmZpZy5vZmZlcmluZywgJyAnKS5yZXBsYWNlKC8gL2csICcnKX0tYDtcclxuICAgIHVybCArPSBjb25maWcuYWRkcmVzcy5jb2xvbnkgPyBgJHtjb25maWcuYWRkcmVzcy5jb2xvbnl9LWAgOiAnJztcclxuICAgIHVybCArPSBjb25maWcuYWRkcmVzcy5jaXR5ID8gYCR7Y29uZmlnLmFkZHJlc3MuY2l0eX0tYCA6ICcnO1xyXG4gICAgdXJsICs9IGNvbmZpZy5wcm9wZXJ0eUlkO1xyXG4gICAgdXJsID0gVXRpbHMucmVtb3ZlRGlhY3JpdGljcyh1cmwpLnJlcGxhY2UoLyAvZywgJy0nKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHVybDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlUHJvcGVydGllc0luUG9seShwcm9wZXJ0aWVzOiBNYXJrZXJbXSwgcGF0aHM6IGFueVtdKTogTWFya2VyW10ge1xyXG4gICAgY29uc3QgcG9seWdvbiA9IG5ldyBnb29nbGUubWFwcy5Qb2x5Z29uKHtwYXRoczogcGF0aHN9KTtcclxuICAgIGlmIChwcm9wZXJ0aWVzICYmIHByb3BlcnRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBwcm9wZXJ0aWVzLm1hcCgoZWw6IE1hcmtlcikgPT4ge1xyXG4gICAgICAgIGVsLmV4dHJhc1snc2hvd0luUG9seWdvbiddID0gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgY3VzdG9tTGF0TG5nID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhlbC5sb2NhdGlvbi5sYXRpdHVkZSwgZWwubG9jYXRpb24ubG9uZ2l0dWRlKTtcclxuICAgICAgICBpZiAoZ29vZ2xlLm1hcHMuZ2VvbWV0cnkucG9seS5jb250YWluc0xvY2F0aW9uKGN1c3RvbUxhdExuZywgcG9seWdvbikpIHtcclxuICAgICAgICAgIGVsLmV4dHJhc1snc2hvd0luUG9seWdvbiddID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybiBlbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZWwuZXh0cmFzWydzaG93SW5Qb2x5Z29uJ10gPSBmYWxzZTtcclxuICAgICAgICAgIHJldHVybiBlbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllcy5maWx0ZXIoKGUpID0+IHtcclxuICAgICAgICBpZiAoZS5leHRyYXNbJ3Nob3dJblBvbHlnb24nXSkge1xyXG4gICAgICAgICAgcmV0dXJuIGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHByb3BlcnRpZXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXJrZXJzVG9DdXJyZW5jeShtYXJrZXJzOiBNYXJrZXJbXSwgdG9DdXJyZW5jeTogQ3VycmVuY3ksIGN1cnJlbmNpZXM6IENFUltdKTogTWFya2VyW10ge1xyXG4gICAgbWFya2VycyA9IG1hcmtlcnMubWFwPE1hcmtlcj4oaXRlbSA9PiB7XHJcbiAgICAgIGlmIChDdXJyZW5jeVtpdGVtLmluZm8uY3VycmVuY3ldICE9PSB0b0N1cnJlbmN5KSB7XHJcbiAgICAgICAgaXRlbS5pbmZvLnByaWNlID0gdGhpcy5fY29udmVydGVyLm51bWJlcihpdGVtLmluZm8ucHJpY2UsIGN1cnJlbmNpZXMsIEN1cnJlbmN5W2l0ZW0uaW5mby5jdXJyZW5jeV0sIHRvQ3VycmVuY3kpO1xyXG4gICAgICAgIGl0ZW0uaW5mby5jdXJyZW5jeSA9IHRvQ3VycmVuY3kudG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gaXRlbTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG1hcmtlcnM7XHJcbiAgfVxyXG5cclxuICBidWlsZE1hcmtlcnMoZW50aXRpZXM6IE5ld1Byb3BlcnR5TGl0ZVtdIHwgTmV3UHJvcGVydHlMaXRlU3VnZ2VzdFtdLCBmYXZvcml0ZXM/OiBOZXdQcm9wZXJ0eUxpdGVbXSk6IE1hcmtlcltdIHtcclxuICAgIGNvbnN0IG1hcmtlcnM6IE1hcmtlcltdID0gW107XHJcbiAgICBlbnRpdGllcy5mb3JFYWNoKChlbnRpdHkpID0+IHtcclxuICAgICAgY29uc3QgbTogTWFya2VyID0ge1xyXG4gICAgICAgIGxvY2F0aW9uOiBlbnRpdHkuYWRkcmVzcy5sb2NhdGlvbixcclxuICAgICAgICBob3ZlcjogZmFsc2UsXHJcbiAgICAgICAgdmlzaXRlZDogZmFsc2UsXHJcbiAgICAgICAgdHlwZTogTWFya2Vyc1NlcnZpY2UuZ2V0UHJvcGVydHlUeXBlSXRlbUJ5VHlwZShlbnRpdHkudHlwZSksXHJcbiAgICAgICAgaW5mbzogdGhpcy5jcmVhdGVQcm9wZXJ0eUluZm9DYXJkKGVudGl0eSksXHJcbiAgICAgICAgaXNGYXZvcml0ZTogZmFsc2UsXHJcbiAgICAgICAgZXh0cmFzOiB7fVxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoZW50aXR5IGluc3RhbmNlb2YgTmV3UHJvcGVydHlMaXRlKSB7XHJcbiAgICAgICAgbS5pc0Zhdm9yaXRlID0gZmF2b3JpdGVzICYmIGZhdm9yaXRlcy5sZW5ndGggPiAwID8gTWFya2Vyc1NlcnZpY2UudmFsaWRhdGVQcm9wZXJ0eUluRmF2b3JpdGVzKGVudGl0eS5pZCwgZmF2b3JpdGVzKSA6IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG0uaXNGYXZvcml0ZSA9IGZhdm9yaXRlcyAmJiBmYXZvcml0ZXMubGVuZ3RoID4gMCA/IE1hcmtlcnNTZXJ2aWNlLnZhbGlkYXRlUHJvcGVydHlJbkZhdm9yaXRlcyhlbnRpdHkucHJvcGVydHlJZCwgZmF2b3JpdGVzKSA6IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIG1hcmtlcnMucHVzaChtKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG1hcmtlcnM7XHJcbiAgfVxyXG5cclxuICBidWlsZFNwaWRlcihsaXN0OiBNYXJrZXJbXSk6IHsgbWFya2VyczogTWFya2VyW10sIHBvbHlMaW5lczogYW55W10gfSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IHttYXJrZXJzOiBbXSwgcG9seUxpbmVzOiBbXX07XHJcbiAgICBsaXN0Lm1hcCgoZWwpID0+IHtcclxuICAgICAgZWwuZXh0cmFzWydyZXBlYXQnXSA9IGZhbHNlO1xyXG4gICAgICBjb25zdCBzaXplID0gbGlzdC5maWx0ZXIoaXRlbSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGVsLmxvY2F0aW9uLmxhdGl0dWRlID09PSBpdGVtLmxvY2F0aW9uLmxhdGl0dWRlICYmIGVsLmxvY2F0aW9uLmxvbmdpdHVkZSA9PT0gaXRlbS5sb2NhdGlvbi5sb25naXR1ZGU7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBkaXN0YW5jZSA9IDEyICogc2l6ZS5sZW5ndGggLyAyLjA7XHJcbiAgICAgIGNvbnN0IHJhZGlhbnNCZXR3ZWVuQW5ub3RhdGlvbnMgPSAoTWF0aC5QSSAqIDIpIC8gc2l6ZS5sZW5ndGg7XHJcbiAgICAgIGlmICghZWwuZXh0cmFzWydyZXBlYXQnXSAmJiBzaXplLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICBjb25zdCBsb2NhdGlvblNoYXJlOiBhbnkgPSBPYmplY3QuYXNzaWduKHt9LCBlbC5sb2NhdGlvbik7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBjb25zdCBoZWFkaW5nID0gcmFkaWFuc0JldHdlZW5Bbm5vdGF0aW9ucyAqIGk7XHJcbiAgICAgICAgICBzaXplW2ldWydyZXBlYXQnXSA9IHRydWU7XHJcbiAgICAgICAgICBjb25zdCBuZXdMb2NhdGlvbiA9IE1hcmtlcnNTZXJ2aWNlLmNhbGN1bGF0ZUxvY2F0aW9uRnJvbShsb2NhdGlvblNoYXJlLCBoZWFkaW5nLCBkaXN0YW5jZSk7XHJcbiAgICAgICAgICByZXNwb25zZS5wb2x5TGluZXMucHVzaCh7XHJcbiAgICAgICAgICAgIHBhdGg6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsYXRpdHVkZTogTnVtYmVyKGxvY2F0aW9uU2hhcmUubGF0aXR1ZGUpLFxyXG4gICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBOdW1iZXIobG9jYXRpb25TaGFyZS5sb25naXR1ZGUpXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsYXRpdHVkZTogTnVtYmVyKG5ld0xvY2F0aW9uLmxhdGl0dWRlKSxcclxuICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogTnVtYmVyKG5ld0xvY2F0aW9uLmxvbmdpdHVkZSlcclxuICAgICAgICAgICAgICB9XVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBzaXplW2ldLmxvY2F0aW9uID0gbmV3TG9jYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBlbDtcclxuICAgIH0pO1xyXG4gICAgcmVzcG9uc2UubWFya2VycyA9IGxpc3Q7XHJcbiAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVByb3BlcnR5SW5mb0NhcmQoZW50aXR5OiBOZXdQcm9wZXJ0eUxpdGUgfCBOZXdQcm9wZXJ0eUxpdGVTdWdnZXN0KTogUHJvcGVydHlDYXJkSW5mbyB7XHJcbiAgICByZXR1cm4gIHtcclxuICAgICAgYWRkcmVzczogbmV3IEFkZHJlc3MoZW50aXR5LmFkZHJlc3MgfHwgbnVsbCksXHJcbiAgICAgIGF1dGhVc2VyczogKGVudGl0eSBpbnN0YW5jZW9mIE5ld1Byb3BlcnR5TGl0ZSkgPyBlbnRpdHkuYXV0aFVzZXJzIDogJycsXHJcbiAgICAgIGN1cnJlbmN5OiBlbnRpdHkuY3VycmVuY3ksXHJcbiAgICAgIHByb3BlcnR5SWQ6IChlbnRpdHkgaW5zdGFuY2VvZiBOZXdQcm9wZXJ0eUxpdGUpID8gZW50aXR5LmlkIDogZW50aXR5LnByb3BlcnR5SWQsXHJcbiAgICAgIGltYWdlOiBlbnRpdHkuaW1hZ2UsXHJcbiAgICAgIG9mZmVyaW5nOiBlbnRpdHkub2ZmZXJpbmcsXHJcbiAgICAgIHByaWNlOiBlbnRpdHkucHJpY2UsXHJcbiAgICAgIHR5cGU6IGVudGl0eS50eXBlLFxyXG4gICAgICB1cmw6IHRoaXMuYnVpbGRVUkwoe1xyXG4gICAgICAgIGFkZHJlc3M6IGVudGl0eS5hZGRyZXNzLFxyXG4gICAgICAgIG9mZmVyaW5nOiBlbnRpdHkub2ZmZXJpbmcsXHJcbiAgICAgICAgcHJvcGVydHlUeXBlOiBlbnRpdHkudHlwZSxcclxuICAgICAgICBwcm9wZXJ0eUlkOiAoZW50aXR5IGluc3RhbmNlb2YgTmV3UHJvcGVydHlMaXRlKSA/IGVudGl0eS5pZCA6IGVudGl0eS5wcm9wZXJ0eUlkXHJcbiAgICAgIH0pLFxyXG4gICAgICBzdGF0dXM6IChlbnRpdHkgaW5zdGFuY2VvZiBOZXdQcm9wZXJ0eUxpdGUpID8gZW50aXR5LnN0YXR1cyA6IG51bGwsXHJcbiAgICAgIGZlYXR1cmVzOiAoZW50aXR5IGluc3RhbmNlb2YgTmV3UHJvcGVydHlMaXRlKSA/IGVudGl0eS5mZWF0dXJlcyA6IG51bGwsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -293,7 +293,7 @@ var FabFiltersComponent = /** @class */ (function () {
|
|
|
293
293
|
FabFiltersComponent.decorators = [
|
|
294
294
|
{ type: Component, args: [{
|
|
295
295
|
selector: 'lib-fab-filters',
|
|
296
|
-
template: "<div class=\"fab-filters\">\r\n <button mat-flat-button=\"\" color=\"primary\" class=\"btn_filters\" (click)=\"openFilters()\">\r\n Filtros\r\n </button>\r\n
|
|
296
|
+
template: "<div class=\"fab-filters\">\r\n <button mat-flat-button=\"\" color=\"primary\" class=\"btn_filters\" (click)=\"openFilters()\">\r\n Filtros\r\n </button>\r\n <div class=\"filters-container\">\r\n <ng-template [ngIf]=\"chips.length > 0\">\r\n <mat-chip-list aria-orientation=\"horizontal\">\r\n <ng-container *ngFor=\"let chip of chips\">\r\n <mat-chip (click)=\"onClickChip(chip.type)\">\r\n <ng-container [ngSwitch]=\"chip.type\">\r\n <ng-container *ngSwitchCase=\"'PROPERTY_TYPE'\">\r\n <span class=\"icon property-icon ic-property-{{chip.icon}}\"\r\n [ngStyle]=\"{'background': 'var(--' + chip.icon + ')'}\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'LISTING'\">\r\n <ng-template [ngIf]=\"chip.icon[0] !== 'mlm'\" [ngIfElse]=\"mlm\">\r\n <mat-icon class=\"listing-icon\">\r\n list\r\n </mat-icon>\r\n </ng-template>\r\n <ng-template #mlm>\r\n <mat-icon class=\"listing-icon\" svgIcon=\"opi:mlm\"></mat-icon>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'AMENITIES'\">\r\n <span class=\"icon ic-amenities-{{chip.icon[0]}}\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngFor=\"let i of chip.icon\">\r\n <span class=\"icon ic-features-{{i}}\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n {{chip.text}}\r\n </mat-chip>\r\n </ng-container>\r\n </mat-chip-list>\r\n </ng-template>\r\n </div>\r\n</div>\r\n",
|
|
297
297
|
styles: [":host{display:block;position:inherit;top:inherit;bottom:inherit;left:inherit;right:inherit;z-index:inherit;width:inherit}.fab-filters{display:flex;width:100%;border-radius:8px 0 0 8px}.fab-filters .filters-container{width:calc(100% - 64px);height:40px;padding-right:8px;box-sizing:border-box;border-radius:4px 4px 4px 0;display:flex;align-items:center;transition:150ms}.fab-filters .filters-container mat-chip-list{width:100%;height:100%;overflow:hidden}.fab-filters .filters-container mat-chip-list mat-chip{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.fab-filters ::ng-deep .filters-container mat-chip-list .mat-chip-list-wrapper{width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:16px;margin:0}.fab-filters .filters-container mat-chip-list mat-chip .icon{width:24px;height:24px;font-size:16px;border-radius:50%;margin-right:8px;display:flex;align-items:center;justify-content:center}"]
|
|
298
298
|
}] }
|
|
299
299
|
];
|
|
@@ -353,4 +353,4 @@ if (false) {
|
|
|
353
353
|
*/
|
|
354
354
|
FabFiltersComponent.prototype._filtersService;
|
|
355
355
|
}
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1hcGxhbmRlci9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmFiLWZpbHRlcnMvZmFiLWZpbHRlcnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFTLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRWhGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlsQztJQWNFLDZCQUNVLFNBQTBCLEVBQzFCLGFBQStCLEVBQy9CLGVBQStCO1FBRi9CLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFUeEIsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFXMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7Ozs7SUFFRCxzQ0FBUTs7O0lBQVI7UUFBQSxpQkFXQztRQVZDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUzs7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YSxDQUFDLFFBQVEsRUFBRTtnQkFDM0MsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO2FBQ2xCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Ozs7SUFFTyx1Q0FBUzs7OztJQUFqQjtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDZCxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVM7Z0JBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUMzQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O2dCQTdLRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsK3pEQUEyQzs7aUJBRTVDOzs7O2dCQWRPLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUloQixjQUFjOzs7d0JBV25CLEtBQUs7MkJBQ0wsS0FBSzs7SUF3S1IsMEJBQUM7Q0FBQSxBQS9LRCxJQStLQztTQTFLWSxtQkFBbUI7OztJQUM5QixvQ0FBd0I7O0lBQ3hCLHVDQUEwQjs7Ozs7SUFDMUIsMkNBQTRDOzs7OztJQUM1QyxzQ0FBd0I7Ozs7O0lBQ3hCLHVDQUFpQzs7Ozs7SUFDakMsNENBQW9DOztJQUNwQyxvQ0FBMkI7Ozs7O0lBR3pCLHdDQUFrQzs7Ozs7SUFDbEMsNENBQXVDOzs7OztJQUN2Qyw4Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGaWx0ZXIsIFByb3BlcnR5VHlwZUVudW19IGZyb20gJ0BtYXBsYW5kZXIvdHlwZXMnO1xyXG5pbXBvcnQge01hcmtlclByaWNlUGlwZX0gZnJvbSAnLi8uLi8uLi9waXBlcy9tYXJrZXItcHJpY2UvbWFya2VyLXByaWNlLnBpcGUnO1xyXG5pbXBvcnQge09mZmVyaW5nVHlwZVBpcGV9IGZyb20gJy4vLi4vLi4vcGlwZXMvb2ZmZXJpbmctdHlwZS9vZmZlcmluZy10eXBlLnBpcGUnO1xyXG5pbXBvcnQge0ZpbHRlckNoaXB9IGZyb20gJy4vLi4vLi4vdXRpbHMvbW9kZWxzL2ZpbHRlci1jaGlwJztcclxuaW1wb3J0IHtGaWx0ZXJDaGlwVHlwZX0gZnJvbSAnLi4vLi4vdXRpbHMvZW51bXMvZmlsdGVyLWNoaXAtdHlwZSc7XHJcbmltcG9ydCB7Q29uc3RhbnRzQ29tcG9uZW50c30gZnJvbSAnLi4vLi4vY29uc3RhbnRzQ29tcG9uZW50cyc7XHJcbmltcG9ydCB7RmlsdGVyc1NlcnZpY2V9IGZyb20gJy4vLi4vZmlsdGVycy9maWx0ZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RmlsdGVyc0NoYW5nZX0gZnJvbSAnLi8uLy4uLy4uL3V0aWxzL21vZGVscy9maWx0ZXJzLWNoYW5nZSc7XHJcbmltcG9ydCB7RmlsdGVyc1dyYXBwZXJ9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZmFiLWZpbHRlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmFiLWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFiRmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpc09QSTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBtbHNMYWJlbDogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgTUVURVJTX1RPX1NRID0gMTAuNzYzOTEwNDI7XHJcbiAgcHJpdmF0ZSBfZmlsdGVyOiBGaWx0ZXI7XHJcbiAgcHJpdmF0ZSBfd3JhcHBlcjogRmlsdGVyc1dyYXBwZXI7XHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHVibGljIGNoaXBzOiBGaWx0ZXJDaGlwW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfY3VycmVuY3k6IE1hcmtlclByaWNlUGlwZSxcclxuICAgIHByaXZhdGUgX29mZmVyaW5nUGlwZTogT2ZmZXJpbmdUeXBlUGlwZSxcclxuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5jaGlwcyA9IFtdO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5vblN0YXJ0Q29tcG9uZW50KCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgICB0aGlzLl93cmFwcGVyID0gcmVzcG9uc2U7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5fZmlsdGVyc1NlcnZpY2UuZ2V0Q2hhbmdlcygpLnN1YnNjcmliZSgocmVzcG9uc2U6IEZpbHRlcnNDaGFuZ2UpID0+IHtcclxuICAgICAgICB0aGlzLmluaXQocmVzcG9uc2UuZmlsdGVyLCByZXNwb25zZS5mdCwgcmVzcG9uc2UuaXNTaGFyZWRQcm9wZXJ0aWVzKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX3dyYXBwZXIpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdbRmFiRmlsdGVyc0NvbXBvbmVudF0gd2FpdGluZyBvblN0YXJ0Q29tcG9uZW50Jyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3dyYXBwZXIub3BlbigpO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja0NoaXAodHlwZTogRmlsdGVyQ2hpcFR5cGUpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlID09PSBGaWx0ZXJDaGlwVHlwZS5QUk9QRVJUWV9UWVBFIHx8IHR5cGUgPT09IEZpbHRlckNoaXBUeXBlLk9GRkVSSU5HKSB7XHJcbiAgICAgIHRoaXMub3BlbkZpbHRlcnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdChmaWx0ZXI6IEZpbHRlciwgZnQ6IGJvb2xlYW4sIHNoYXJlZFByb3BlcnRpZXM/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoaXBzID0gW107XHJcbiAgICB0aGlzLl9maWx0ZXIgPSBmaWx0ZXI7XHJcbiAgICB0aGlzLmxpc3RpbmdUeXBlKHNoYXJlZFByb3BlcnRpZXMpO1xyXG4gICAgdGhpcy5vZmZlcmluZ1R5cGUoKTtcclxuICAgIHRoaXMucHJvcGVydHlUeXBlKCk7XHJcbiAgICB0aGlzLnByaWNlKCk7XHJcbiAgICB0aGlzLnN1cmZhY2UoZnQpO1xyXG4gICAgdGhpcy5iZWRyb29tcygpO1xyXG4gICAgdGhpcy5iYXRocm9vbXMoKTtcclxuICAgIHRoaXMucGFya2luZ1BsYWNlcygpO1xyXG4gICAgdGhpcy5hbWVuaXRpZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGluZ1R5cGUoc2hhcmVkUHJvcGVydGllcz86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc09QSSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICB0eXBlOiBGaWx0ZXJDaGlwVHlwZS5MSVNUSU5HLFxyXG4gICAgICB0ZXh0OiBzaGFyZWRQcm9wZXJ0aWVzID8gJ0NvbXBhcnRpZGFzJyA6ICh0aGlzLl9maWx0ZXIubWxzID8gdGhpcy5tbHNMYWJlbCB8fCAnTUxTJyA6ICdNaSBsaXN0YScpLFxyXG4gICAgICBpY29uOiBbdGhpcy5fZmlsdGVyLm1scyA/ICdtbG0nIDogJ2xpc3QnXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9mZmVyaW5nVHlwZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIub2ZmZXJpbmcgJiYgdGhpcy5fZmlsdGVyLnR5cGUgIT09IFByb3BlcnR5VHlwZUVudW0uTk9ORSkge1xyXG4gICAgICBsZXQgb2ZmZXJpbmcgPSB0aGlzLl9vZmZlcmluZ1BpcGUudHJhbnNmb3JtKHRoaXMuX2ZpbHRlci5vZmZlcmluZywgJyAnKS5yZXBsYWNlKC8gL2csICcnKTtcclxuICAgICAgY29uc3QgZmlyc3RMZXR0ZXIgPSBvZmZlcmluZy5zdWJzdHIoMCwgMSk7XHJcbiAgICAgIG9mZmVyaW5nID0gb2ZmZXJpbmcucmVwbGFjZShmaXJzdExldHRlciwgJycpO1xyXG4gICAgICBvZmZlcmluZyA9IGAke2ZpcnN0TGV0dGVyLnRvTG9jYWxlVXBwZXJDYXNlKCl9JHtvZmZlcmluZ31gO1xyXG4gICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgIHR5cGU6IEZpbHRlckNoaXBUeXBlLk9GRkVSSU5HLFxyXG4gICAgICAgIHRleHQ6IG9mZmVyaW5nLFxyXG4gICAgICAgIGljb246IG51bGxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3BlcnR5VHlwZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIudHlwZSAmJiB0aGlzLl9maWx0ZXIudHlwZSAhPT0gUHJvcGVydHlUeXBlRW51bS5OT05FKSB7XHJcbiAgICAgIENvbnN0YW50c0NvbXBvbmVudHMuUHJvcGVydHlUeXBlTGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnZhbHVlID09PSB0aGlzLl9maWx0ZXIudHlwZSkge1xyXG4gICAgICAgICAgdGhpcy5jaGlwcy5wdXNoKHtcclxuICAgICAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuUFJPUEVSVFlfVFlQRSxcclxuICAgICAgICAgICAgdGV4dDogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICBpY29uOiBbaXRlbS5pY29uTmFtZV1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByaWNlKCk6IHZvaWQge1xyXG4gICAgbGV0IG1pbiA9ICcnLCBtYXggPSAnJywgY3VycmVuY3k7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLmRvd25MaW1pdFByaWNlICE9PSAwKSB7XHJcbiAgICAgIG1pbiArPSB0aGlzLl9jdXJyZW5jeS50cmFuc2Zvcm0odGhpcy5fZmlsdGVyLmRvd25MaW1pdFByaWNlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9maWx0ZXIudXBMaW1pdFByaWNlICE9PSAwKSB7XHJcbiAgICAgIG1heCArPSB0aGlzLl9jdXJyZW5jeS50cmFuc2Zvcm0odGhpcy5fZmlsdGVyLnVwTGltaXRQcmljZSk7XHJcbiAgICB9XHJcbiAgICBpZiAobWluICE9PSAnJyB8fCBtYXggIT09ICcnKSB7XHJcbiAgICAgIGN1cnJlbmN5ID0gdGhpcy5fZmlsdGVyLmN1cnJlbmN5ID8gdGhpcy5fZmlsdGVyLmN1cnJlbmN5IDogJyc7XHJcbiAgICAgIHRoaXMuY2hpcHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuUFJJQ0UsXHJcbiAgICAgICAgdGV4dDogYCR7bWlufSR7bWluICE9PSAnJyAmJiBtYXggIT09ICcnID8gJyAtICcgOiAnJ30ke21heH0gJHtjdXJyZW5jeX1gLFxyXG4gICAgICAgIGljb246IFsncHJpY2UnXVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3VyZmFjZShmdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlci5tYWluQXJlYSAhPT0gMCkge1xyXG4gICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgIHR5cGU6IEZpbHRlckNoaXBUeXBlLlNVUkZBQ0UsXHJcbiAgICAgICAgdGV4dDogKGZ0ID8gKHRoaXMuX2ZpbHRlci5tYWluQXJlYSAvIHRoaXMuTUVURVJTX1RPX1NRKS50b0ZpeGVkKDApLnRvU3RyaW5nKCkgOiB0aGlzLl9maWx0ZXIubWFpbkFyZWEudG9TdHJpbmcoKSkgKyAoZnQgPyAnIHNxIGZ0JyA6ICcgbTInKSxcclxuICAgICAgICBpY29uOiBbJ3N1cmZhY2UnXVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmVkcm9vbXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLmJlZHJvb21zICE9PSAwKSB7XHJcbiAgICAgIHRoaXMuY2hpcHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuQkVEUk9PTVMsXHJcbiAgICAgICAgdGV4dDogdGhpcy5fZmlsdGVyLmJlZHJvb21zLnRvU3RyaW5nKCksXHJcbiAgICAgICAgaWNvbjogWydiZWRyb29tJ11cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJhdGhyb29tcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIuYmF0aHJvb21zICE9PSAwKSB7XHJcbiAgICAgIHRoaXMuY2hpcHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuQkFUSFJPT01TLFxyXG4gICAgICAgIHRleHQ6IHRoaXMuX2ZpbHRlci5iYXRocm9vbXMudG9TdHJpbmcoKSxcclxuICAgICAgICBpY29uOiBbJ2JhdGhyb29tJ11cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcmtpbmdQbGFjZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLnBhcmtpbmdQbGFjZXMgIT09IDApIHtcclxuICAgICAgdGhpcy5jaGlwcy5wdXNoKHtcclxuICAgICAgICB0eXBlOiBGaWx0ZXJDaGlwVHlwZS5QQVJLSU5HX1BMQUNFUyxcclxuICAgICAgICB0ZXh0OiB0aGlzLl9maWx0ZXIucGFya2luZ1BsYWNlcy50b1N0cmluZygpLFxyXG4gICAgICAgIGljb246IFsncGFya2luZyddXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhbWVuaXRpZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLmV4dHJhcyAmJiB0aGlzLl9maWx0ZXIuZXh0cmFzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5jaGlwcy5wdXNoKHtcclxuICAgICAgICB0eXBlOiBGaWx0ZXJDaGlwVHlwZS5BTUVOSVRJRVMsXHJcbiAgICAgICAgdGV4dDogdGhpcy5fZmlsdGVyLmV4dHJhcy5sZW5ndGgudG9TdHJpbmcoKSxcclxuICAgICAgICBpY29uOiBbdGhpcy5fZmlsdGVyLmV4dHJhc1swXV1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG1hcGxhbmRlci9jb21wb25lbnRzLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmFiLWZpbHRlcnMvZmFiLWZpbHRlcnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFTLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRWhGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUlsQztJQWNFLDZCQUNVLFNBQTBCLEVBQzFCLGFBQStCLEVBQy9CLGVBQStCO1FBRi9CLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFUeEIsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFXMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7Ozs7SUFFRCxzQ0FBUTs7O0lBQVI7UUFBQSxpQkFXQztRQVZDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUzs7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YSxDQUFDLFFBQVEsRUFBRTtnQkFDM0MsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO2FBQ2xCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Ozs7SUFFTyx1Q0FBUzs7OztJQUFqQjtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDZCxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVM7Z0JBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUMzQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O2dCQTdLRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IseXpEQUEyQzs7aUJBRTVDOzs7O2dCQWRPLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUloQixjQUFjOzs7d0JBV25CLEtBQUs7MkJBQ0wsS0FBSzs7SUF3S1IsMEJBQUM7Q0FBQSxBQS9LRCxJQStLQztTQTFLWSxtQkFBbUI7OztJQUM5QixvQ0FBd0I7O0lBQ3hCLHVDQUEwQjs7Ozs7SUFDMUIsMkNBQTRDOzs7OztJQUM1QyxzQ0FBd0I7Ozs7O0lBQ3hCLHVDQUFpQzs7Ozs7SUFDakMsNENBQW9DOztJQUNwQyxvQ0FBMkI7Ozs7O0lBR3pCLHdDQUFrQzs7Ozs7SUFDbEMsNENBQXVDOzs7OztJQUN2Qyw4Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGaWx0ZXIsIFByb3BlcnR5VHlwZUVudW19IGZyb20gJ0BtYXBsYW5kZXIvdHlwZXMnO1xyXG5pbXBvcnQge01hcmtlclByaWNlUGlwZX0gZnJvbSAnLi8uLi8uLi9waXBlcy9tYXJrZXItcHJpY2UvbWFya2VyLXByaWNlLnBpcGUnO1xyXG5pbXBvcnQge09mZmVyaW5nVHlwZVBpcGV9IGZyb20gJy4vLi4vLi4vcGlwZXMvb2ZmZXJpbmctdHlwZS9vZmZlcmluZy10eXBlLnBpcGUnO1xyXG5pbXBvcnQge0ZpbHRlckNoaXB9IGZyb20gJy4vLi4vLi4vdXRpbHMvbW9kZWxzL2ZpbHRlci1jaGlwJztcclxuaW1wb3J0IHtGaWx0ZXJDaGlwVHlwZX0gZnJvbSAnLi4vLi4vdXRpbHMvZW51bXMvZmlsdGVyLWNoaXAtdHlwZSc7XHJcbmltcG9ydCB7Q29uc3RhbnRzQ29tcG9uZW50c30gZnJvbSAnLi4vLi4vY29uc3RhbnRzQ29tcG9uZW50cyc7XHJcbmltcG9ydCB7RmlsdGVyc1NlcnZpY2V9IGZyb20gJy4vLi4vZmlsdGVycy9maWx0ZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RmlsdGVyc0NoYW5nZX0gZnJvbSAnLi8uLy4uLy4uL3V0aWxzL21vZGVscy9maWx0ZXJzLWNoYW5nZSc7XHJcbmltcG9ydCB7RmlsdGVyc1dyYXBwZXJ9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZmFiLWZpbHRlcnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWItZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmFiLWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFiRmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpc09QSTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBtbHNMYWJlbDogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgTUVURVJTX1RPX1NRID0gMTAuNzYzOTEwNDI7XHJcbiAgcHJpdmF0ZSBfZmlsdGVyOiBGaWx0ZXI7XHJcbiAgcHJpdmF0ZSBfd3JhcHBlcjogRmlsdGVyc1dyYXBwZXI7XHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHVibGljIGNoaXBzOiBGaWx0ZXJDaGlwW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfY3VycmVuY3k6IE1hcmtlclByaWNlUGlwZSxcclxuICAgIHByaXZhdGUgX29mZmVyaW5nUGlwZTogT2ZmZXJpbmdUeXBlUGlwZSxcclxuICAgIHByaXZhdGUgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5jaGlwcyA9IFtdO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5vblN0YXJ0Q29tcG9uZW50KCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgICB0aGlzLl93cmFwcGVyID0gcmVzcG9uc2U7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgdGhpcy5fZmlsdGVyc1NlcnZpY2UuZ2V0Q2hhbmdlcygpLnN1YnNjcmliZSgocmVzcG9uc2U6IEZpbHRlcnNDaGFuZ2UpID0+IHtcclxuICAgICAgICB0aGlzLmluaXQocmVzcG9uc2UuZmlsdGVyLCByZXNwb25zZS5mdCwgcmVzcG9uc2UuaXNTaGFyZWRQcm9wZXJ0aWVzKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX3dyYXBwZXIpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdbRmFiRmlsdGVyc0NvbXBvbmVudF0gd2FpdGluZyBvblN0YXJ0Q29tcG9uZW50Jyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3dyYXBwZXIub3BlbigpO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja0NoaXAodHlwZTogRmlsdGVyQ2hpcFR5cGUpOiB2b2lkIHtcclxuICAgIGlmICh0eXBlID09PSBGaWx0ZXJDaGlwVHlwZS5QUk9QRVJUWV9UWVBFIHx8IHR5cGUgPT09IEZpbHRlckNoaXBUeXBlLk9GRkVSSU5HKSB7XHJcbiAgICAgIHRoaXMub3BlbkZpbHRlcnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdChmaWx0ZXI6IEZpbHRlciwgZnQ6IGJvb2xlYW4sIHNoYXJlZFByb3BlcnRpZXM/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoaXBzID0gW107XHJcbiAgICB0aGlzLl9maWx0ZXIgPSBmaWx0ZXI7XHJcbiAgICB0aGlzLmxpc3RpbmdUeXBlKHNoYXJlZFByb3BlcnRpZXMpO1xyXG4gICAgdGhpcy5vZmZlcmluZ1R5cGUoKTtcclxuICAgIHRoaXMucHJvcGVydHlUeXBlKCk7XHJcbiAgICB0aGlzLnByaWNlKCk7XHJcbiAgICB0aGlzLnN1cmZhY2UoZnQpO1xyXG4gICAgdGhpcy5iZWRyb29tcygpO1xyXG4gICAgdGhpcy5iYXRocm9vbXMoKTtcclxuICAgIHRoaXMucGFya2luZ1BsYWNlcygpO1xyXG4gICAgdGhpcy5hbWVuaXRpZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGluZ1R5cGUoc2hhcmVkUHJvcGVydGllcz86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc09QSSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICB0eXBlOiBGaWx0ZXJDaGlwVHlwZS5MSVNUSU5HLFxyXG4gICAgICB0ZXh0OiBzaGFyZWRQcm9wZXJ0aWVzID8gJ0NvbXBhcnRpZGFzJyA6ICh0aGlzLl9maWx0ZXIubWxzID8gdGhpcy5tbHNMYWJlbCB8fCAnTUxTJyA6ICdNaSBsaXN0YScpLFxyXG4gICAgICBpY29uOiBbdGhpcy5fZmlsdGVyLm1scyA/ICdtbG0nIDogJ2xpc3QnXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9mZmVyaW5nVHlwZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIub2ZmZXJpbmcgJiYgdGhpcy5fZmlsdGVyLnR5cGUgIT09IFByb3BlcnR5VHlwZUVudW0uTk9ORSkge1xyXG4gICAgICBsZXQgb2ZmZXJpbmcgPSB0aGlzLl9vZmZlcmluZ1BpcGUudHJhbnNmb3JtKHRoaXMuX2ZpbHRlci5vZmZlcmluZywgJyAnKS5yZXBsYWNlKC8gL2csICcnKTtcclxuICAgICAgY29uc3QgZmlyc3RMZXR0ZXIgPSBvZmZlcmluZy5zdWJzdHIoMCwgMSk7XHJcbiAgICAgIG9mZmVyaW5nID0gb2ZmZXJpbmcucmVwbGFjZShmaXJzdExldHRlciwgJycpO1xyXG4gICAgICBvZmZlcmluZyA9IGAke2ZpcnN0TGV0dGVyLnRvTG9jYWxlVXBwZXJDYXNlKCl9JHtvZmZlcmluZ31gO1xyXG4gICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgIHR5cGU6IEZpbHRlckNoaXBUeXBlLk9GRkVSSU5HLFxyXG4gICAgICAgIHRleHQ6IG9mZmVyaW5nLFxyXG4gICAgICAgIGljb246IG51bGxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3BlcnR5VHlwZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIudHlwZSAmJiB0aGlzLl9maWx0ZXIudHlwZSAhPT0gUHJvcGVydHlUeXBlRW51bS5OT05FKSB7XHJcbiAgICAgIENvbnN0YW50c0NvbXBvbmVudHMuUHJvcGVydHlUeXBlTGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnZhbHVlID09PSB0aGlzLl9maWx0ZXIudHlwZSkge1xyXG4gICAgICAgICAgdGhpcy5jaGlwcy5wdXNoKHtcclxuICAgICAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuUFJPUEVSVFlfVFlQRSxcclxuICAgICAgICAgICAgdGV4dDogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICBpY29uOiBbaXRlbS5pY29uTmFtZV1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByaWNlKCk6IHZvaWQge1xyXG4gICAgbGV0IG1pbiA9ICcnLCBtYXggPSAnJywgY3VycmVuY3k7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLmRvd25MaW1pdFByaWNlICE9PSAwKSB7XHJcbiAgICAgIG1pbiArPSB0aGlzLl9jdXJyZW5jeS50cmFuc2Zvcm0odGhpcy5fZmlsdGVyLmRvd25MaW1pdFByaWNlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9maWx0ZXIudXBMaW1pdFByaWNlICE9PSAwKSB7XHJcbiAgICAgIG1heCArPSB0aGlzLl9jdXJyZW5jeS50cmFuc2Zvcm0odGhpcy5fZmlsdGVyLnVwTGltaXRQcmljZSk7XHJcbiAgICB9XHJcbiAgICBpZiAobWluICE9PSAnJyB8fCBtYXggIT09ICcnKSB7XHJcbiAgICAgIGN1cnJlbmN5ID0gdGhpcy5fZmlsdGVyLmN1cnJlbmN5ID8gdGhpcy5fZmlsdGVyLmN1cnJlbmN5IDogJyc7XHJcbiAgICAgIHRoaXMuY2hpcHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuUFJJQ0UsXHJcbiAgICAgICAgdGV4dDogYCR7bWlufSR7bWluICE9PSAnJyAmJiBtYXggIT09ICcnID8gJyAtICcgOiAnJ30ke21heH0gJHtjdXJyZW5jeX1gLFxyXG4gICAgICAgIGljb246IFsncHJpY2UnXVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3VyZmFjZShmdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlci5tYWluQXJlYSAhPT0gMCkge1xyXG4gICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgIHR5cGU6IEZpbHRlckNoaXBUeXBlLlNVUkZBQ0UsXHJcbiAgICAgICAgdGV4dDogKGZ0ID8gKHRoaXMuX2ZpbHRlci5tYWluQXJlYSAvIHRoaXMuTUVURVJTX1RPX1NRKS50b0ZpeGVkKDApLnRvU3RyaW5nKCkgOiB0aGlzLl9maWx0ZXIubWFpbkFyZWEudG9TdHJpbmcoKSkgKyAoZnQgPyAnIHNxIGZ0JyA6ICcgbTInKSxcclxuICAgICAgICBpY29uOiBbJ3N1cmZhY2UnXVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmVkcm9vbXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLmJlZHJvb21zICE9PSAwKSB7XHJcbiAgICAgIHRoaXMuY2hpcHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuQkVEUk9PTVMsXHJcbiAgICAgICAgdGV4dDogdGhpcy5fZmlsdGVyLmJlZHJvb21zLnRvU3RyaW5nKCksXHJcbiAgICAgICAgaWNvbjogWydiZWRyb29tJ11cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJhdGhyb29tcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9maWx0ZXIuYmF0aHJvb21zICE9PSAwKSB7XHJcbiAgICAgIHRoaXMuY2hpcHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogRmlsdGVyQ2hpcFR5cGUuQkFUSFJPT01TLFxyXG4gICAgICAgIHRleHQ6IHRoaXMuX2ZpbHRlci5iYXRocm9vbXMudG9TdHJpbmcoKSxcclxuICAgICAgICBpY29uOiBbJ2JhdGhyb29tJ11cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcmtpbmdQbGFjZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLnBhcmtpbmdQbGFjZXMgIT09IDApIHtcclxuICAgICAgdGhpcy5jaGlwcy5wdXNoKHtcclxuICAgICAgICB0eXBlOiBGaWx0ZXJDaGlwVHlwZS5QQVJLSU5HX1BMQUNFUyxcclxuICAgICAgICB0ZXh0OiB0aGlzLl9maWx0ZXIucGFya2luZ1BsYWNlcy50b1N0cmluZygpLFxyXG4gICAgICAgIGljb246IFsncGFya2luZyddXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhbWVuaXRpZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fZmlsdGVyLmV4dHJhcyAmJiB0aGlzLl9maWx0ZXIuZXh0cmFzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5jaGlwcy5wdXNoKHtcclxuICAgICAgICB0eXBlOiBGaWx0ZXJDaGlwVHlwZS5BTUVOSVRJRVMsXHJcbiAgICAgICAgdGV4dDogdGhpcy5fZmlsdGVyLmV4dHJhcy5sZW5ndGgudG9TdHJpbmcoKSxcclxuICAgICAgICBpY29uOiBbdGhpcy5fZmlsdGVyLmV4dHJhc1swXV1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|