ctt-babylon 0.11.9 → 0.11.10
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/esm2022/lib/components/core/babylon-ba-sli-img-txt/babylon-ba-sli-img-txt.component.mjs +4 -3
- package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.mjs +3 -3
- package/esm2022/lib/components/core/babylon-he-svg-list/babylon-he-svg-list.component.mjs +3 -3
- package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.component.mjs +2 -1
- package/esm2022/lib/directives/widget/widget-dynamic.directive.mjs +74 -0
- package/esm2022/lib/services/mapper/mapper.service.mjs +21 -10
- package/fesm2022/ctt-babylon.mjs +98 -15
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/directives/widget/widget-dynamic.directive.d.ts +19 -0
- package/package.json +1 -1
|
@@ -51,6 +51,7 @@ export class BabylonTopSliderComponent {
|
|
|
51
51
|
return;
|
|
52
52
|
if (!this.screenSizer.minMediumTablet())
|
|
53
53
|
return;
|
|
54
|
+
this.actualItems = [...(this.items ?? [])];
|
|
54
55
|
const target = document.querySelector('.youtube-bg');
|
|
55
56
|
if (!target)
|
|
56
57
|
return;
|
|
@@ -200,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
200
201
|
}], modalClick: [{
|
|
201
202
|
type: Output
|
|
202
203
|
}] } });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi10b3Atc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFieWxvbi10b3Atc2xpZGVyL2JhYnlsb24tdG9wLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tdG9wLXNsaWRlci9iYWJ5bG9uLXRvcC1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBSTdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBbUI5RCxNQUFNLE9BQU8seUJBQXlCO0lBZ0JsQyxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lB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WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGVmZmVjdCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYWJ5bG9uU3dpcGVyU2xpZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9iYWJ5bG9uLXNsaWRlcnMvYmFieWxvbi1zd2lwZXItc2xpZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWJ5bG9uRGF0YUJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2RhdGEtYmFja2dyb3VuZC9kYXRhLWJhY2tncm91bmQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvblRhZ3NJLCBCYWJ5bG9uVGV4dHNDb2xvcnNJIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCYWJ5bG9uQnV0dG9uSSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYmFieWxvbi1idXR0b24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhYnlsb25JbWFnZUkgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2JhYnlsb24taW1hZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNjcmVlblNpemVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi1zaXplcic7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEJhYnlsb25EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBCYWJ5bG9uVmlkZW9Tb3VyY2VJIH0gZnJvbSAnLi4vYmFieWxvbi10b3Atc2xpZGVyLXZpZGVvL2JhYnlsb24tdmlkZW8tc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uVG9wU2xpZGVySXRlbSB9IGZyb20gJy4vYmFieWxvbi10b3Atc2xpZGVyLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYmFieWxvbi10b3Atc2xpZGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBCYWJ5bG9uRGF0YUJhY2tncm91bmREaXJlY3RpdmUsXG4gICAgICAgIEJhYnlsb25Td2lwZXJTbGlkZXJEaXJlY3RpdmUsXG4gICAgICAgIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgQmFieWxvbkR5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhYnlsb24tdG9wLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2JhYnlsb24tdG9wLXNsaWRlci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25Ub3BTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogQmFieWxvblRvcFNsaWRlckl0ZW1bXTtcbiAgICBASW5wdXQoKSBidXR0b25zPzogQmFieWxvbkJ1dHRvbklbXTtcbiAgICBASW5wdXQoKSBsb2dvPzogQmFieWxvbkltYWdlSTtcbiAgICBASW5wdXQoKSBpdGVtc01vYmlsZT86IEJhYnlsb25Ub3BTbGlkZXJJdGVtW107IC8vIERvbnQgd29yaywgaSBoYWNlIHRvIGZpeFxuICAgIEBJbnB1dCgpIGxvZ29UaXRsZT86IEJhYnlsb25JbWFnZUk7XG4gICAgQElucHV0KCkgdGFncz86IEJhYnlsb25UYWdzSTtcbiAgICBASW5wdXQoKSB0ZXh0Q29sb3JzPzogQmFieWxvblRleHRzQ29sb3JzSTtcbiAgICBASW5wdXQoKSB2aWRlb0RhdGE/OiBCYWJ5bG9uVmlkZW9Tb3VyY2VJO1xuXG4gICAgQE91dHB1dCgpIGJ0bkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxCYWJ5bG9uQnV0dG9uST4oKTtcbiAgICBAT3V0cHV0KCkgbW9kYWxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgbW9iaWxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9oaWRlVmlkZW8gPSBmYWxzZTtcbiAgICBwdWJsaWMgZ2V0IGhpZGVWaWRlbygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVWaWRlbztcbiAgICB9XG4gICAgcHVibGljIHNldCBoaWRlVmlkZW8odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZVZpZGVvID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdHVhbEl0ZW1zID0gWy4uLih0aGlzLml0ZW1zID8/IFtdKV07XG5cbiAgICBwcml2YXRlIGhhc1BsYXllckluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBvYnNlcnZlcj86IEludGVyc2VjdGlvbk9ic2VydmVyO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JlZW5TaXplciA9IGluamVjdChTY3JlZW5TaXplclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tYW5hZ2VWaWRlb09ySW1hZ2UoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc01heE1lZGl1bVRhYmxldCA9IHRoaXMuc2NyZWVuU2l6ZXIubWF4TWVkaXVtVGFibGV0KCk7XG4gICAgICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc01heE1lZGl1bVRhYmxldCAmJiB0aGlzLml0ZW1zTW9iaWxlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlVmlkZW8gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbEl0ZW1zID0gWy4uLnRoaXMuaXRlbXNNb2JpbGVdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtc01vYmlsZT8ubGVuZ3RoICYmIHRoaXMuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVWaWRlbyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbEl0ZW1zID0gWy4uLnRoaXMuaXRlbXNdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5zY3JlZW5TaXplci5taW5NZWRpdW1UYWJsZXQoKSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy55b3V0dWJlLWJnJyk7XG4gICAgICAgIGlmICghdGFyZ2V0KSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgICAgIGFzeW5jIChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlIG9mIGVudHJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUuaXNJbnRlcnNlY3RpbmcgJiYgIXRoaXMuaGFzUGxheWVySW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkVmlkZW9QbGF5ZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgcm9vdE1hcmdpbjogJzIwMHB4IDBweCcgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbWFuYWdlVmlkZW9PckltYWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgY29uc3QgaXNEZXNrdG9wID0gdGhpcy5zY3JlZW5TaXplci5taW5NZWRpdW1UYWJsZXQoKTtcblxuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgfHwgIWlzRGVza3RvcCkge1xuICAgICAgICAgICAgdGhpcy5oaWRlVmlkZW8gPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnZpZGVvRGF0YT8uc3JjKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVWaWRlbyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5oYXNQbGF5ZXJJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkVmlkZW9QbGF5ZXIoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oaWRlVmlkZW8gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkVmlkZW9QbGF5ZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IFV0aWxzLmxvYWRTY3JpcHQkKCdhc3NldHMvYmFieWxvbi9qcy9qcXVlcnkubWluLmpzJykudG9Qcm9taXNlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMud2FpdEZvcigoKSA9PiAod2luZG93IGFzIGFueSkualF1ZXJ5IHx8ICh3aW5kb3cgYXMgYW55KS4kKTtcbiAgICAgICAgY29uc3QgdyA9IHdpbmRvdyBhcyBhbnk7XG4gICAgICAgIGlmICghdy4kICYmIHcualF1ZXJ5KSB3LiQgPSB3LmpRdWVyeTtcblxuICAgICAgICBjb25zdCBzcmMgPSBhd2FpdCB0aGlzLndhaXRGb3IoKCkgPT4gdGhpcy52aWRlb0RhdGE/LnNyYyk7XG4gICAgICAgIGNvbnN0IHZpZGVvSWQgPSB0aGlzLmV4dHJhY3RZb3VUdWJlSWQoc3JjISk7XG4gICAgICAgIGlmICghdmlkZW9JZCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdZVCBzcmMgbm8gdsOhbGlkbzonLCBzcmMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgVXRpbHMubG9hZFNjcmlwdCQoXG4gICAgICAgICAgICAnYXNzZXRzL2JhYnlsb24vanMvanF1ZXJ5Lm1iLllUUGxheWVyLm1pbi5qcydcbiAgICAgICAgKS50b1Byb21pc2UoKTtcbiAgICAgICAgYXdhaXQgdGhpcy53YWl0Rm9yKCgpID0+IHcuJD8uZm4/LllUUGxheWVyKTtcblxuICAgICAgICBpZiAodGhpcy5oYXNQbGF5ZXJJbml0aWFsaXplZCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0ICQgPSB3LiQ7XG4gICAgICAgIGNvbnN0IHZpZGVvRWwgPSAkKCcjYmduZFZpZGVvJyk7XG4gICAgICAgIGlmICghdmlkZW9FbD8ubGVuZ3RoKSByZXR1cm47XG4gICAgICAgIHRoaXMuaGFzUGxheWVySW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgICAgIHZpZGVvRWwuWVRQbGF5ZXIoe1xuICAgICAgICAgICAgdmlkZW9VUkw6IHZpZGVvSWQsXG4gICAgICAgICAgICBjb250YWlubWVudDogJy55b3V0dWJlLWJnJyxcbiAgICAgICAgICAgIGF1dG9QbGF5OiB0cnVlLFxuICAgICAgICAgICAgbXV0ZTogdHJ1ZSxcbiAgICAgICAgICAgIHN0YXJ0QXQ6IDEsXG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgc2hvd0NvbnRyb2xzOiBmYWxzZSxcbiAgICAgICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgICAgICBzdG9wTW92aWVPbkJsdXI6IGZhbHNlLFxuICAgICAgICAgICAgcXVhbGl0eTogJ2hkMTA4MCcsXG4gICAgICAgICAgICByYXRpbzogJzE2LzknLFxuICAgICAgICAgICAgb3B0aW1pemVEaXNwbGF5OiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICB2aWRlb0VsLm9uKCdZVFBSZWFkeScsICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxheWVyID0gdmlkZW9FbC5ZVFBHZXRQbGF5ZXIoKTtcbiAgICAgICAgICAgICAgICBwbGF5ZXI/LnNldFBsYXliYWNrUXVhbGl0eT8uKCdoZDEwODAnKTtcbiAgICAgICAgICAgIH0gY2F0Y2gge31cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YWl0Rm9yPFQ+KFxuICAgICAgICBjb25kOiAoKSA9PiBUIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICAgICAgaW50ZXJ2YWwgPSA1MCxcbiAgICAgICAgdGltZW91dCA9IDUwMDBcbiAgICApOiBQcm9taXNlPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHQwID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgIGNvbnN0IHRpY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdiA9IGNvbmQoKTtcbiAgICAgICAgICAgICAgICBpZiAodikgcmV0dXJuIHJlc29sdmUodik7XG4gICAgICAgICAgICAgICAgaWYgKERhdGUubm93KCkgLSB0MCA+IHRpbWVvdXQpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QobmV3IEVycm9yKCd3YWl0Rm9yIHRpbWVvdXQnKSk7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCh0aWNrLCBpbnRlcnZhbCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGljaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dHJhY3RZb3VUdWJlSWQoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWlucHV0KSByZXR1cm4gbnVsbDtcblxuICAgICAgICBjb25zdCBpZE9ubHkgPSAvXltcXHctXXs2LH0kL2k7XG4gICAgICAgIGlmIChpZE9ubHkudGVzdChpbnB1dCkpIHJldHVybiBpbnB1dDtcbiAgICAgICAgY29uc3QgbSA9IGlucHV0Lm1hdGNoKFxuICAgICAgICAgICAgLyg/OnY9fFxcLyg/OmVtYmVkfHNob3J0c3x2KVxcL3x5b3V0dVxcLmJlXFwvKShbXFx3LV17Nix9KS9pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBtID8gbVsxXSA6IG51bGw7XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9TZWN0aW9uKGV2ZW50OiBFdmVudCwgc2VjdGlvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWN0aW9uSWQpO1xuICAgICAgICAgICAgaWYgKHNlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBzZWN0aW9uLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJiYWJ5bG9uX190b3BzbGlkZXIgbWFyZ2luLW1haW4tYm90b21cIiBiYWJ5bG9uU3dpcGVyU2xpZGVyPlxuICAgIDxkaXZcbiAgICAgICAgW2NsYXNzXT1cIlxuICAgICAgICAgICAgdmlkZW9EYXRhPy5zcmMgJiYgIWhpZGVWaWRlb1xuICAgICAgICAgICAgICAgID8gJ2NzX2hlcm8gY3Nfc3R5bGVfNCBjc19wcmltYXJ5X2JnIGNzX2JnX2ZpbGVkIHRleHQtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIHlvdXR1YmUtYmcnXG4gICAgICAgICAgICAgICAgOiAnY3NfcGFyYWxsYXhfc2xpZGVyIGxvYWRpbmcgb3ZlcmZsb3ctaGlkZGVuIHBvc2l0aW9uLXJlbGF0aXZlJ1xuICAgICAgICBcIlxuICAgID5cbiAgICAgICAgQGlmICh2aWRlb0RhdGE/LnNyYyAmJiAhaGlkZVZpZGVvKSB7XG4gICAgICAgICAgICA8ZGl2IGlkPVwiYmduZFZpZGVvXCIgY2xhc3M9XCJwbGF5ZXJcIj48L2Rpdj5cbiAgICAgICAgfSBAZWxzZSBpZiAoYWN0dWFsSXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBhY3R1YWxJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNzX2hlcm8gY3Nfc3R5bGVfMSBjc19jZW50ZXIgdGV4dC1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5pbWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjc19zd2lwZXJfcGFyYWxsYXhfYmcgY3NfaGVyb19iZyBjc19iZ19maWxlZCBoLTEwMCB3LTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSB0b3AtMCBzdGFydC0wIG1iLTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1zcmNdPVwiaXRlbS5pbWcuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFCYWNrZ3JvdW5kPVwidXJsKCd7eyBpdGVtLmltZy5zcmMgfX0nKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRhaW5lciBwb3NpdGlvbi1yZWxhdGl2ZSBjc196aW5kZXhfM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3NfaGVyb190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uc3VidGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWddPVwidGFncz8udGl0bGUgfHwgJ2gyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwicHJldGl0bGVfY2FycnVzZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJpdGVtLnN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInRleHRDb2xvcnM/LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxvZ29UaXRsZSAmJiBsb2dvVGl0bGUuc3JjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvZ29fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJsb2dvVGl0bGUuc3JjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwibG9nb1RpdGxlLmFsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhZ109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzPy50aXRsZSB8fCAkaW5kZXggPT0gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdoMSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnaDInXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3NzQ2xhc3M9XCJ0aXRsZV9jYXJydXNlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJpdGVtLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2xpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0/LmJ1dHRvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24gb2YgaXRlbT8uYnV0dG9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuc19fYm94IGFsaWduLS1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rVHlwZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uPy5saW5rVHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiYnV0dG9uPy51cmwgPz8gJyMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kYWxDbGlja109XCJtb2RhbENsaWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fcHJpbWFyeSBidG4tLWxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24/LmxhYmVsID8/ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWJ5bG9uLWFycm93LXJpZ2h0LWJpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoYWN0dWFsSXRlbXMgJiYgYWN0dWFsSXRlbXMubGVuZ3RoID4gMSAmJiAhdmlkZW9EYXRhPy5zcmMpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNzX3NsaWRlcl9uYXZpZ2F0aW9uIGNzX3doaXRlX2NvbG9yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3Nfc3dpcGVyX2J1dHRvbl9wcmV2XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWJ5bG9uLWFycm93LWxlZnQtYmlnXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3Nfc3dpcGVyX2J1dHRvbl9uZXh0XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWJ5bG9uLWFycm93LXJpZ2h0LWJpZ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChsb2dvKSB7XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIFtzcmNdPVwibG9nby5zcmNcIlxuICAgICAgICAgICAgW2FsdF09XCJsb2dvLmFsdFwiXG4gICAgICAgICAgICBjbGFzcz1cInRvcC1zbGlkZXItbG9nb1wiXG4gICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgIC8+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJtb3VzZV93cFwiPlxuICAgICAgICA8YVxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2Nyb2xsIHRvIGZpcnN0IHNlY3Rpb24nXCJcbiAgICAgICAgICAgIGhyZWY9XCIjZmlyc3Rfc2VjdGlvblwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiZmlyc3Rfc2VjdGlvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsVG9TZWN0aW9uKCRldmVudCwgJ2ZpcnN0X3NlY3Rpb24nKVwiXG4gICAgICAgICAgICBjbGFzcz1cImNzX2Rvd25fYnRuXzJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW91c2VcIj48L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgIDwvZGl2PlxuPC9zZWN0aW9uPlxuPGRpdiBpZD1cImZpcnN0X3NlY3Rpb25cIj48L2Rpdj5cbiJdfQ==
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi10b3Atc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvYmFieWxvbi10b3Atc2xpZGVyL2JhYnlsb24tdG9wLXNsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tdG9wLXNsaWRlci9iYWJ5bG9uLXRvcC1zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBSTdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBa0I5RCxNQUFNLE9BQU8seUJBQXlCO0lBZ0JsQyxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lB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U0FBUztzQkFBakIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGVmZmVjdCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYWJ5bG9uU3dpcGVyU2xpZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlcy9iYWJ5bG9uLXNsaWRlcnMvYmFieWxvbi1zd2lwZXItc2xpZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWJ5bG9uRGF0YUJhY2tncm91bmREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2RhdGEtYmFja2dyb3VuZC9kYXRhLWJhY2tncm91bmQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvbGluay10eXBlL2xpbmstdHlwZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFieWxvblRhZ3NJLCBCYWJ5bG9uVGV4dHNDb2xvcnNJIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCYWJ5bG9uQnV0dG9uSSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYmFieWxvbi1idXR0b24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhYnlsb25JbWFnZUkgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2JhYnlsb24taW1hZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNjcmVlblNpemVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NjcmVlbi1zaXplcic7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEJhYnlsb25EeW5hbWljSGVhZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBCYWJ5bG9uVmlkZW9Tb3VyY2VJIH0gZnJvbSAnLi4vYmFieWxvbi10b3Atc2xpZGVyLXZpZGVvL2JhYnlsb24tdmlkZW8tc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYWJ5bG9uVG9wU2xpZGVySXRlbSB9IGZyb20gJy4vYmFieWxvbi10b3Atc2xpZGVyLWl0ZW0uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYmFieWxvbi10b3Atc2xpZGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBCYWJ5bG9uRGF0YUJhY2tncm91bmREaXJlY3RpdmUsXG4gICAgICAgIEJhYnlsb25Td2lwZXJTbGlkZXJEaXJlY3RpdmUsXG4gICAgICAgIEJhYnlsb25MaW5rVHlwZURpcmVjdGl2ZSxcbiAgICAgICAgQmFieWxvbkR5bmFtaWNIZWFkaW5nQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhYnlsb24tdG9wLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2JhYnlsb24tdG9wLXNsaWRlci5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJhYnlsb25Ub3BTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGl0ZW1zPzogQmFieWxvblRvcFNsaWRlckl0ZW1bXTtcbiAgICBASW5wdXQoKSBidXR0b25zPzogQmFieWxvbkJ1dHRvbklbXTtcbiAgICBASW5wdXQoKSBsb2dvPzogQmFieWxvbkltYWdlSTtcbiAgICBASW5wdXQoKSBpdGVtc01vYmlsZT86IEJhYnlsb25Ub3BTbGlkZXJJdGVtW107IC8vIERvbnQgd29yaywgaSBoYWNlIHRvIGZpeFxuICAgIEBJbnB1dCgpIGxvZ29UaXRsZT86IEJhYnlsb25JbWFnZUk7XG4gICAgQElucHV0KCkgdGFncz86IEJhYnlsb25UYWdzSTtcbiAgICBASW5wdXQoKSB0ZXh0Q29sb3JzPzogQmFieWxvblRleHRzQ29sb3JzSTtcbiAgICBASW5wdXQoKSB2aWRlb0RhdGE/OiBCYWJ5bG9uVmlkZW9Tb3VyY2VJO1xuXG4gICAgQE91dHB1dCgpIGJ0bkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxCYWJ5bG9uQnV0dG9uST4oKTtcbiAgICBAT3V0cHV0KCkgbW9kYWxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgbW9iaWxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9oaWRlVmlkZW8gPSBmYWxzZTtcbiAgICBwdWJsaWMgZ2V0IGhpZGVWaWRlbygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVWaWRlbztcbiAgICB9XG4gICAgcHVibGljIHNldCBoaWRlVmlkZW8odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZVZpZGVvID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdHVhbEl0ZW1zID0gWy4uLih0aGlzLml0ZW1zID8/IFtdKV07XG5cbiAgICBwcml2YXRlIGhhc1BsYXllckluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBvYnNlcnZlcj86IEludGVyc2VjdGlvbk9ic2VydmVyO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JlZW5TaXplciA9IGluamVjdChTY3JlZW5TaXplclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tYW5hZ2VWaWRlb09ySW1hZ2UoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc01heE1lZGl1bVRhYmxldCA9IHRoaXMuc2NyZWVuU2l6ZXIubWF4TWVkaXVtVGFibGV0KCk7XG4gICAgICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc01heE1lZGl1bVRhYmxldCAmJiB0aGlzLml0ZW1zTW9iaWxlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlVmlkZW8gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbEl0ZW1zID0gWy4uLnRoaXMuaXRlbXNNb2JpbGVdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtc01vYmlsZT8ubGVuZ3RoICYmIHRoaXMuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVWaWRlbyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbEl0ZW1zID0gWy4uLnRoaXMuaXRlbXNdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5zY3JlZW5TaXplci5taW5NZWRpdW1UYWJsZXQoKSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYWN0dWFsSXRlbXMgPSBbLi4uKHRoaXMuaXRlbXMgPz8gW10pXTtcblxuICAgICAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcueW91dHViZS1iZycpO1xuICAgICAgICBpZiAoIXRhcmdldCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgICAgICBhc3luYyAoZW50cmllcykgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLmlzSW50ZXJzZWN0aW5nICYmICF0aGlzLmhhc1BsYXllckluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZFZpZGVvUGxheWVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IHJvb3RNYXJnaW46ICcyMDBweCAwcHgnIH1cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZVZpZGVvT3JJbWFnZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGNvbnN0IGlzRGVza3RvcCA9IHRoaXMuc2NyZWVuU2l6ZXIubWluTWVkaXVtVGFibGV0KCk7XG5cbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8ICFpc0Rlc2t0b3ApIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVZpZGVvID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52aWRlb0RhdGE/LnNyYykge1xuICAgICAgICAgICAgdGhpcy5oaWRlVmlkZW8gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGFzUGxheWVySW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZFZpZGVvUGxheWVyKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVZpZGVvID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZFZpZGVvUGxheWVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCBVdGlscy5sb2FkU2NyaXB0JCgnYXNzZXRzL2JhYnlsb24vanMvanF1ZXJ5Lm1pbi5qcycpLnRvUHJvbWlzZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLndhaXRGb3IoKCkgPT4gKHdpbmRvdyBhcyBhbnkpLmpRdWVyeSB8fCAod2luZG93IGFzIGFueSkuJCk7XG4gICAgICAgIGNvbnN0IHcgPSB3aW5kb3cgYXMgYW55O1xuICAgICAgICBpZiAoIXcuJCAmJiB3LmpRdWVyeSkgdy4kID0gdy5qUXVlcnk7XG5cbiAgICAgICAgY29uc3Qgc3JjID0gYXdhaXQgdGhpcy53YWl0Rm9yKCgpID0+IHRoaXMudmlkZW9EYXRhPy5zcmMpO1xuICAgICAgICBjb25zdCB2aWRlb0lkID0gdGhpcy5leHRyYWN0WW91VHViZUlkKHNyYyEpO1xuICAgICAgICBpZiAoIXZpZGVvSWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignWVQgc3JjIG5vIHbDoWxpZG86Jywgc3JjKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IFV0aWxzLmxvYWRTY3JpcHQkKFxuICAgICAgICAgICAgJ2Fzc2V0cy9iYWJ5bG9uL2pzL2pxdWVyeS5tYi5ZVFBsYXllci5taW4uanMnXG4gICAgICAgICkudG9Qcm9taXNlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMud2FpdEZvcigoKSA9PiB3LiQ/LmZuPy5ZVFBsYXllcik7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzUGxheWVySW5pdGlhbGl6ZWQpIHJldHVybjtcblxuICAgICAgICBjb25zdCAkID0gdy4kO1xuICAgICAgICBjb25zdCB2aWRlb0VsID0gJCgnI2JnbmRWaWRlbycpO1xuICAgICAgICBpZiAoIXZpZGVvRWw/Lmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICB0aGlzLmhhc1BsYXllckluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICB2aWRlb0VsLllUUGxheWVyKHtcbiAgICAgICAgICAgIHZpZGVvVVJMOiB2aWRlb0lkLFxuICAgICAgICAgICAgY29udGFpbm1lbnQ6ICcueW91dHViZS1iZycsXG4gICAgICAgICAgICBhdXRvUGxheTogdHJ1ZSxcbiAgICAgICAgICAgIG11dGU6IHRydWUsXG4gICAgICAgICAgICBzdGFydEF0OiAxLFxuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIHNob3dDb250cm9sczogZmFsc2UsXG4gICAgICAgICAgICBsb29wOiB0cnVlLFxuICAgICAgICAgICAgc3RvcE1vdmllT25CbHVyOiBmYWxzZSxcbiAgICAgICAgICAgIHF1YWxpdHk6ICdoZDEwODAnLFxuICAgICAgICAgICAgcmF0aW86ICcxNi85JyxcbiAgICAgICAgICAgIG9wdGltaXplRGlzcGxheTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmlkZW9FbC5vbignWVRQUmVhZHknLCAoKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsYXllciA9IHZpZGVvRWwuWVRQR2V0UGxheWVyKCk7XG4gICAgICAgICAgICAgICAgcGxheWVyPy5zZXRQbGF5YmFja1F1YWxpdHk/LignaGQxMDgwJyk7XG4gICAgICAgICAgICB9IGNhdGNoIHt9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2FpdEZvcjxUPihcbiAgICAgICAgY29uZDogKCkgPT4gVCB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgICAgIGludGVydmFsID0gNTAsXG4gICAgICAgIHRpbWVvdXQgPSA1MDAwXG4gICAgKTogUHJvbWlzZTxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0MCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICBjb25zdCB0aWNrID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYgPSBjb25kKCk7XG4gICAgICAgICAgICAgICAgaWYgKHYpIHJldHVybiByZXNvbHZlKHYpO1xuICAgICAgICAgICAgICAgIGlmIChEYXRlLm5vdygpIC0gdDAgPiB0aW1lb3V0KVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcignd2FpdEZvciB0aW1lb3V0JykpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQodGljaywgaW50ZXJ2YWwpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRpY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHRyYWN0WW91VHViZUlkKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKCFpbnB1dCkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgY29uc3QgaWRPbmx5ID0gL15bXFx3LV17Nix9JC9pO1xuICAgICAgICBpZiAoaWRPbmx5LnRlc3QoaW5wdXQpKSByZXR1cm4gaW5wdXQ7XG4gICAgICAgIGNvbnN0IG0gPSBpbnB1dC5tYXRjaChcbiAgICAgICAgICAgIC8oPzp2PXxcXC8oPzplbWJlZHxzaG9ydHN8dilcXC98eW91dHVcXC5iZVxcLykoW1xcdy1dezYsfSkvaVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gbSA/IG1bMV0gOiBudWxsO1xuICAgIH1cblxuICAgIHNjcm9sbFRvU2VjdGlvbihldmVudDogRXZlbnQsIHNlY3Rpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbklkKTtcbiAgICAgICAgICAgIGlmIChzZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgc2VjdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiYmFieWxvbl9fdG9wc2xpZGVyIG1hcmdpbi1tYWluLWJvdG9tXCIgYmFieWxvblN3aXBlclNsaWRlcj5cbiAgICA8ZGl2XG4gICAgICAgIFtjbGFzc109XCJcbiAgICAgICAgICAgIHZpZGVvRGF0YT8uc3JjICYmICFoaWRlVmlkZW9cbiAgICAgICAgICAgICAgICA/ICdjc19oZXJvIGNzX3N0eWxlXzQgY3NfcHJpbWFyeV9iZyBjc19iZ19maWxlZCB0ZXh0LWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSB5b3V0dWJlLWJnJ1xuICAgICAgICAgICAgICAgIDogJ2NzX3BhcmFsbGF4X3NsaWRlciBsb2FkaW5nIG92ZXJmbG93LWhpZGRlbiBwb3NpdGlvbi1yZWxhdGl2ZSdcbiAgICAgICAgXCJcbiAgICA+XG4gICAgICAgIEBpZiAodmlkZW9EYXRhPy5zcmMgJiYgIWhpZGVWaWRlbykge1xuICAgICAgICAgICAgPGRpdiBpZD1cImJnbmRWaWRlb1wiIGNsYXNzPVwicGxheWVyXCI+PC9kaXY+XG4gICAgICAgIH0gQGVsc2UgaWYgKGFjdHVhbEl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgYWN0dWFsSXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjc19oZXJvIGNzX3N0eWxlXzEgY3NfY2VudGVyIHRleHQtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uaW1nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Nfc3dpcGVyX3BhcmFsbGF4X2JnIGNzX2hlcm9fYmcgY3NfYmdfZmlsZWQgaC0xMDAgdy0xMDAgcG9zaXRpb24tYWJzb2x1dGUgdG9wLTAgc3RhcnQtMCBtYi0wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtc3JjXT1cIml0ZW0uaW1nLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhQmFja2dyb3VuZD1cInVybCgne3sgaXRlbS5pbWcuc3JjIH19JylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9maWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXIgcG9zaXRpb24tcmVsYXRpdmUgY3NfemluZGV4XzNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNzX2hlcm9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1iYWJ5bG9uLWR5bmFtaWMtaGVhZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFnXT1cInRhZ3M/LnRpdGxlIHx8ICdoMidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3NDbGFzcz1cInByZXRpdGxlX2NhcnJ1c2VsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiaXRlbS5zdWJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJ0ZXh0Q29sb3JzPy50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbGliLWJhYnlsb24tZHluYW1pYy1oZWFkaW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsb2dvVGl0bGUgJiYgbG9nb1RpdGxlLnNyYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2dvX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwibG9nb1RpdGxlLnNyY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImxvZ29UaXRsZS5hbHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYmFieWxvbi1keW5hbWljLWhlYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWddPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFncz8udGl0bGUgfHwgJGluZGV4ID09IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnaDEnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2gyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzc0NsYXNzPVwidGl0bGVfY2FycnVzZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiaXRlbS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sb3JdPVwidGV4dENvbG9ycz8udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9saWItYmFieWxvbi1keW5hbWljLWhlYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtPy5idXR0b25zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIG9mIGl0ZW0/LmJ1dHRvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bnNfX2JveCBhbGlnbi0tY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlua1R5cGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbj8ubGlua1R5cGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImJ1dHRvbj8udXJsID8/ICcjJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGFsQ2xpY2tdPVwibW9kYWxDbGlja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX3ByaW1hcnkgYnRuLS1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uPy5sYWJlbCA/PyAnJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieWxvbi1hcnJvdy1yaWdodC1iaWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGFjdHVhbEl0ZW1zICYmIGFjdHVhbEl0ZW1zLmxlbmd0aCA+IDEgJiYgIXZpZGVvRGF0YT8uc3JjKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjc19zbGlkZXJfbmF2aWdhdGlvbiBjc193aGl0ZV9jb2xvclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNzX3N3aXBlcl9idXR0b25fcHJldlwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFieWxvbi1hcnJvdy1sZWZ0LWJpZ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNzX3N3aXBlcl9idXR0b25fbmV4dFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFieWxvbi1hcnJvdy1yaWdodC1iaWdcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAobG9nbykge1xuICAgICAgICA8aW1nXG4gICAgICAgICAgICBbc3JjXT1cImxvZ28uc3JjXCJcbiAgICAgICAgICAgIFthbHRdPVwibG9nby5hbHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0b3Atc2xpZGVyLWxvZ29cIlxuICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAvPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwibW91c2Vfd3BcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Njcm9sbCB0byBmaXJzdCBzZWN0aW9uJ1wiXG4gICAgICAgICAgICBocmVmPVwiI2ZpcnN0X3NlY3Rpb25cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cImZpcnN0X3NlY3Rpb25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvU2VjdGlvbigkZXZlbnQsICdmaXJzdF9zZWN0aW9uJylcIlxuICAgICAgICAgICAgY2xhc3M9XCJjc19kb3duX2J0bl8yXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vdXNlXCI+PC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbjxkaXYgaWQ9XCJmaXJzdF9zZWN0aW9uXCI+PC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { Directive, Input, NgZone, PLATFORM_ID, inject, } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class WidgetDynamicDirective {
|
|
5
|
+
constructor(host) {
|
|
6
|
+
this.host = host;
|
|
7
|
+
this.platformId = inject(PLATFORM_ID);
|
|
8
|
+
this.zone = inject(NgZone);
|
|
9
|
+
/** Reintentos */
|
|
10
|
+
this.moveMaxTries = 200; // 200 * 100ms = 20s
|
|
11
|
+
this.moveIntervalMs = 100;
|
|
12
|
+
}
|
|
13
|
+
ngAfterViewInit() {
|
|
14
|
+
if (!isPlatformBrowser(this.platformId))
|
|
15
|
+
return;
|
|
16
|
+
if (!this.moveSelector)
|
|
17
|
+
return;
|
|
18
|
+
this.zone.runOutsideAngular(() => {
|
|
19
|
+
const target = this.host.nativeElement;
|
|
20
|
+
const tryMove = () => {
|
|
21
|
+
const node = document.querySelector(this.moveSelector);
|
|
22
|
+
if (!node)
|
|
23
|
+
return false;
|
|
24
|
+
// si ya está dentro, ok
|
|
25
|
+
if (target.contains(node))
|
|
26
|
+
return true;
|
|
27
|
+
// evita movidas raras si el selector apunta al mismo host
|
|
28
|
+
if (node === target)
|
|
29
|
+
return true;
|
|
30
|
+
target.appendChild(node);
|
|
31
|
+
return true;
|
|
32
|
+
};
|
|
33
|
+
// reintentos
|
|
34
|
+
let tries = 0;
|
|
35
|
+
this.timer = window.setInterval(() => {
|
|
36
|
+
tries++;
|
|
37
|
+
const ok = tryMove();
|
|
38
|
+
if (ok || tries >= this.moveMaxTries) {
|
|
39
|
+
if (this.timer)
|
|
40
|
+
window.clearInterval(this.timer);
|
|
41
|
+
this.timer = undefined;
|
|
42
|
+
}
|
|
43
|
+
}, this.moveIntervalMs);
|
|
44
|
+
// observer para reinyecciones
|
|
45
|
+
this.observer = new MutationObserver(() => tryMove());
|
|
46
|
+
this.observer.observe(document.body, {
|
|
47
|
+
childList: true,
|
|
48
|
+
subtree: true,
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
if (this.timer)
|
|
54
|
+
window.clearInterval(this.timer);
|
|
55
|
+
this.observer?.disconnect();
|
|
56
|
+
}
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDynamicDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
58
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: WidgetDynamicDirective, isStandalone: true, selector: "[widgetDynamic]", inputs: { moveSelector: ["widgetDynamic", "moveSelector"], moveMaxTries: "moveMaxTries", moveIntervalMs: "moveIntervalMs" }, ngImport: i0 }); }
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetDynamicDirective, decorators: [{
|
|
61
|
+
type: Directive,
|
|
62
|
+
args: [{
|
|
63
|
+
selector: '[widgetDynamic]',
|
|
64
|
+
standalone: true,
|
|
65
|
+
}]
|
|
66
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { moveSelector: [{
|
|
67
|
+
type: Input,
|
|
68
|
+
args: ['widgetDynamic']
|
|
69
|
+
}], moveMaxTries: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], moveIntervalMs: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}] } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWR5bmFtaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2RpcmVjdGl2ZXMvd2lkZ2V0L3dpZGdldC1keW5hbWljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBRUgsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBRU4sV0FBVyxFQUNYLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQzs7QUFNdkIsTUFBTSxPQUFPLHNCQUFzQjtJQWMvQixZQUFvQixJQUE2QjtRQUE3QixTQUFJLEdBQUosSUFBSSxDQUF5QjtRQWJoQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFLdkMsaUJBQWlCO1FBQ1IsaUJBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxvQkFBb0I7UUFDeEMsbUJBQWMsR0FBRyxHQUFHLENBQUM7SUFLc0IsQ0FBQztJQUVyRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFFdkMsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO2dCQUNqQixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUMvQixJQUFJLENBQUMsWUFBWSxDQUNFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUV4Qix3QkFBd0I7Z0JBQ3hCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQUUsT0FBTyxJQUFJLENBQUM7Z0JBRXZDLDBEQUEwRDtnQkFDMUQsSUFBSSxJQUFJLEtBQUssTUFBTTtvQkFBRSxPQUFPLElBQUksQ0FBQztnQkFFakMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDO1lBRUYsYUFBYTtZQUNiLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pDLEtBQUssRUFBRSxDQUFDO2dCQUNSLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtvQkFDbEMsSUFBSSxJQUFJLENBQUMsS0FBSzt3QkFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakQsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7aUJBQzFCO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUV4Qiw4QkFBOEI7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDakMsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsT0FBTyxFQUFFLElBQUk7YUFDaEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7K0dBOURRLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrRUFNMkIsWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxlQUFlO2dCQUdiLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3dpZGdldER5bmFtaWNdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXREeW5hbWljRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgLyoqIFNlbGVjdG9yIGRlbCBub2RvIGEgbW92ZXIgKHNvdXJjZSkgKi9cbiAgICBASW5wdXQoJ3dpZGdldER5bmFtaWMnKSBtb3ZlU2VsZWN0b3IhOiBzdHJpbmc7XG5cbiAgICAvKiogUmVpbnRlbnRvcyAqL1xuICAgIEBJbnB1dCgpIG1vdmVNYXhUcmllcyA9IDIwMDsgLy8gMjAwICogMTAwbXMgPSAyMHNcbiAgICBASW5wdXQoKSBtb3ZlSW50ZXJ2YWxNcyA9IDEwMDtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI/OiBNdXRhdGlvbk9ic2VydmVyO1xuICAgIHByaXZhdGUgdGltZXI/OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLm1vdmVTZWxlY3RvcikgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmhvc3QubmF0aXZlRWxlbWVudDtcblxuICAgICAgICAgICAgY29uc3QgdHJ5TW92ZSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlU2VsZWN0b3JcbiAgICAgICAgICAgICAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAoIW5vZGUpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgICAgIC8vIHNpIHlhIGVzdMOhIGRlbnRybywgb2tcbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0LmNvbnRhaW5zKG5vZGUpKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIC8vIGV2aXRhIG1vdmlkYXMgcmFyYXMgc2kgZWwgc2VsZWN0b3IgYXB1bnRhIGFsIG1pc21vIGhvc3RcbiAgICAgICAgICAgICAgICBpZiAobm9kZSA9PT0gdGFyZ2V0KSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIHRhcmdldC5hcHBlbmRDaGlsZChub2RlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIC8vIHJlaW50ZW50b3NcbiAgICAgICAgICAgIGxldCB0cmllcyA9IDA7XG4gICAgICAgICAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0cmllcysrO1xuICAgICAgICAgICAgICAgIGNvbnN0IG9rID0gdHJ5TW92ZSgpO1xuICAgICAgICAgICAgICAgIGlmIChvayB8fCB0cmllcyA+PSB0aGlzLm1vdmVNYXhUcmllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50aW1lcikgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGltZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcy5tb3ZlSW50ZXJ2YWxNcyk7XG5cbiAgICAgICAgICAgIC8vIG9ic2VydmVyIHBhcmEgcmVpbnllY2Npb25lc1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHRyeU1vdmUoKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwge1xuICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aW1lcikgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB9XG59XG4iXX0=
|