ctt-babylon 0.8.18 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.mjs +2 -2
- package/esm2022/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.mjs +12 -5
- package/esm2022/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.mjs +12 -0
- package/esm2022/lib/components/core/babylon-slider-img-static/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.mjs +3 -3
- package/esm2022/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.mjs +20 -0
- package/esm2022/lib/components/core/babylon-top-simple-banner/index.mjs +2 -0
- package/esm2022/lib/components/core/index.mjs +8 -7
- package/esm2022/lib/directives/babylon-sliders/babylon-swiper-slider.directive.mjs +2 -2
- package/esm2022/lib/directives/scrolls/scroll-to.directive.mjs +183 -0
- package/esm2022/lib/directives/scrolls/show-only-top.directive.mjs +103 -0
- package/esm2022/lib/directives/sliders/slick-init.directive.mjs +18 -11
- package/esm2022/lib/interfaces/babylon-item.interface.mjs +1 -1
- package/esm2022/lib/interfaces/babylon-text-info.interface.mjs +1 -1
- package/esm2022/lib/services/mapper/mapper.service.mjs +18 -11
- package/esm2022/lib/services/scroll/scroll-spy.service.mjs +50 -0
- package/fesm2022/ctt-babylon.mjs +955 -586
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.d.ts +5 -1
- package/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.d.ts +5 -0
- package/lib/components/core/babylon-slider-img-static/index.d.ts +1 -0
- package/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.d.ts +6 -0
- package/lib/components/core/babylon-top-simple-banner/index.d.ts +1 -0
- package/lib/components/core/index.d.ts +7 -6
- package/lib/directives/scrolls/scroll-to.directive.d.ts +31 -0
- package/lib/directives/scrolls/show-only-top.directive.d.ts +22 -0
- package/lib/interfaces/babylon-item.interface.d.ts +6 -0
- package/lib/interfaces/babylon-text-info.interface.d.ts +2 -0
- package/lib/services/mapper/mapper.service.d.ts +2 -1
- package/lib/services/scroll/scroll-spy.service.d.ts +17 -0
- package/lib/styles/styles/babylon/common.css +1 -1
- package/lib/styles/styles/babylon/common.scss +7 -0
- package/lib/styles/styles/babylon/globals.css +1 -1
- package/lib/styles/styles/babylon/globals.scss +299 -18
- package/package.json +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// directives/show-only-at-top.directive.ts
|
|
2
|
+
import { Directive, HostBinding, Input, } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ShowOnlyAtTopDirective {
|
|
5
|
+
get cls() {
|
|
6
|
+
return this.hidden;
|
|
7
|
+
}
|
|
8
|
+
get op() {
|
|
9
|
+
return this.hidden ? '0' : '1';
|
|
10
|
+
}
|
|
11
|
+
get pe() {
|
|
12
|
+
return this.hidden ? 'none' : 'auto';
|
|
13
|
+
}
|
|
14
|
+
constructor(zone) {
|
|
15
|
+
this.zone = zone;
|
|
16
|
+
/** Rango en px desde el top en el que el botón permanece visible */
|
|
17
|
+
this.topShowPx = 10; // ajusta a 4–16 si quieres más/menos sensible
|
|
18
|
+
this.minWidth = 540;
|
|
19
|
+
this.hidden = false;
|
|
20
|
+
this.active = false;
|
|
21
|
+
this.ticking = false;
|
|
22
|
+
this.t = 'opacity .25s ease, transform .25s ease';
|
|
23
|
+
}
|
|
24
|
+
ngAfterViewInit() {
|
|
25
|
+
const evaluateScroll = () => {
|
|
26
|
+
const y = Math.max(window.scrollY, document.documentElement.scrollTop || 0);
|
|
27
|
+
const shouldHide = this.active && y > this.topShowPx;
|
|
28
|
+
if (shouldHide !== this.hidden)
|
|
29
|
+
this.hidden = shouldHide;
|
|
30
|
+
};
|
|
31
|
+
const applyActiveState = () => {
|
|
32
|
+
const nowActive = window.innerWidth >= this.minWidth;
|
|
33
|
+
if (nowActive === this.active)
|
|
34
|
+
return;
|
|
35
|
+
this.active = nowActive;
|
|
36
|
+
if (!this.active) {
|
|
37
|
+
// Desactivado en < minWidth: muestra siempre y no escucha scroll
|
|
38
|
+
this.hidden = false;
|
|
39
|
+
window.removeEventListener('scroll', onScroll);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
// Re-activar
|
|
43
|
+
window.addEventListener('scroll', onScroll, { passive: true });
|
|
44
|
+
evaluateScroll();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const onScroll = () => {
|
|
48
|
+
if (this.ticking)
|
|
49
|
+
return;
|
|
50
|
+
this.ticking = true;
|
|
51
|
+
requestAnimationFrame(() => {
|
|
52
|
+
evaluateScroll();
|
|
53
|
+
this.ticking = false;
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const onResize = () => {
|
|
57
|
+
applyActiveState();
|
|
58
|
+
if (this.active)
|
|
59
|
+
onScroll();
|
|
60
|
+
};
|
|
61
|
+
this.zone.runOutsideAngular(() => {
|
|
62
|
+
// Setup inicial
|
|
63
|
+
applyActiveState();
|
|
64
|
+
if (this.active) {
|
|
65
|
+
window.addEventListener('scroll', onScroll, { passive: true });
|
|
66
|
+
evaluateScroll();
|
|
67
|
+
}
|
|
68
|
+
window.addEventListener('resize', onResize, { passive: true });
|
|
69
|
+
this.offScroll = () => window.removeEventListener('scroll', onScroll);
|
|
70
|
+
this.offResize = () => window.removeEventListener('resize', onResize);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
ngOnDestroy() {
|
|
74
|
+
this.offScroll?.();
|
|
75
|
+
this.offResize?.();
|
|
76
|
+
}
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ShowOnlyAtTopDirective, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
78
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ShowOnlyAtTopDirective, isStandalone: true, selector: "[showOnlyAtTop]", inputs: { topShowPx: "topShowPx", minWidth: "minWidth" }, host: { properties: { "style.transition": "this.t", "class.is-hidden": "this.cls", "style.opacity": "this.op", "style.pointerEvents": "this.pe" } }, ngImport: i0 }); }
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ShowOnlyAtTopDirective, decorators: [{
|
|
81
|
+
type: Directive,
|
|
82
|
+
args: [{
|
|
83
|
+
selector: '[showOnlyAtTop]',
|
|
84
|
+
standalone: true,
|
|
85
|
+
}]
|
|
86
|
+
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { topShowPx: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], minWidth: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], t: [{
|
|
91
|
+
type: HostBinding,
|
|
92
|
+
args: ['style.transition']
|
|
93
|
+
}], cls: [{
|
|
94
|
+
type: HostBinding,
|
|
95
|
+
args: ['class.is-hidden']
|
|
96
|
+
}], op: [{
|
|
97
|
+
type: HostBinding,
|
|
98
|
+
args: ['style.opacity']
|
|
99
|
+
}], pe: [{
|
|
100
|
+
type: HostBinding,
|
|
101
|
+
args: ['style.pointerEvents']
|
|
102
|
+
}] } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1vbmx5LXRvcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvZGlyZWN0aXZlcy9zY3JvbGxzL3Nob3ctb25seS10b3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJDQUEyQztBQUMzQyxPQUFPLEVBRUgsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBR1IsTUFBTSxlQUFlLENBQUM7O0FBTXZCLE1BQU0sT0FBTyxzQkFBc0I7SUFZL0IsSUFBb0MsR0FBRztRQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQWtDLEVBQUU7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBd0MsRUFBRTtRQUN0QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQXJCaEMsb0VBQW9FO1FBQzNELGNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyw4Q0FBOEM7UUFDOUQsYUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNoQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFUyxNQUFDLEdBQzlCLHdDQUF3QyxDQUFDO0lBV1YsQ0FBQztJQUVwQyxlQUFlO1FBQ1gsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2QsTUFBTSxDQUFDLE9BQU8sRUFDZCxRQUFRLENBQUMsZUFBZSxDQUFDLFNB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QUFHO3NCQUF0QyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFHSSxFQUFFO3NCQUFuQyxXQUFXO3VCQUFDLGVBQWU7Z0JBR1ksRUFBRTtzQkFBekMsV0FBVzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBkaXJlY3RpdmVzL3Nob3ctb25seS1hdC10b3AuZGlyZWN0aXZlLnRzXG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tzaG93T25seUF0VG9wXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2hvd09ubHlBdFRvcERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFJhbmdvIGVuIHB4IGRlc2RlIGVsIHRvcCBlbiBlbCBxdWUgZWwgYm90w7NuIHBlcm1hbmVjZSB2aXNpYmxlICovXG4gICAgQElucHV0KCkgdG9wU2hvd1B4ID0gMTA7IC8vIGFqdXN0YSBhIDTigJMxNiBzaSBxdWllcmVzIG3DoXMvbWVub3Mgc2Vuc2libGVcbiAgICBASW5wdXQoKSBtaW5XaWR0aCA9IDU0MDtcbiAgICBwcml2YXRlIGhpZGRlbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgYWN0aXZlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBvZmZTY3JvbGw/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgb2ZmUmVzaXplPzogKCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIHRpY2tpbmcgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUudHJhbnNpdGlvbicpIHQgPVxuICAgICAgICAnb3BhY2l0eSAuMjVzIGVhc2UsIHRyYW5zZm9ybSAuMjVzIGVhc2UnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtaGlkZGVuJykgZ2V0IGNscygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGlkZGVuO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm9wYWNpdHknKSBnZXQgb3AoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpZGRlbiA/ICcwJyA6ICcxJztcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyRXZlbnRzJykgZ2V0IHBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRkZW4gPyAnbm9uZScgOiAnYXV0byc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeSA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxZLFxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZEhpZGUgPSB0aGlzLmFjdGl2ZSAmJiB5ID4gdGhpcy50b3BTaG93UHg7XG4gICAgICAgICAgICBpZiAoc2hvdWxkSGlkZSAhPT0gdGhpcy5oaWRkZW4pIHRoaXMuaGlkZGVuID0gc2hvdWxkSGlkZTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBhcHBseUFjdGl2ZVN0YXRlID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgbm93QWN0aXZlID0gd2luZG93LmlubmVyV2lkdGggPj0gdGhpcy5taW5XaWR0aDtcbiAgICAgICAgICAgIGlmIChub3dBY3RpdmUgPT09IHRoaXMuYWN0aXZlKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IG5vd0FjdGl2ZTtcbiAgICAgICAgICAgIGlmICghdGhpcy5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAvLyBEZXNhY3RpdmFkbyBlbiA8IG1pbldpZHRoOiBtdWVzdHJhIHNpZW1wcmUgeSBubyBlc2N1Y2hhIHNjcm9sbFxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uU2Nyb2xsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gUmUtYWN0aXZhclxuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIGV2YWx1YXRlU2Nyb2xsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb25TY3JvbGwgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aWNraW5nKSByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnRpY2tpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICBldmFsdWF0ZVNjcm9sbCgpO1xuICAgICAgICAgICAgICAgIHRoaXMudGlja2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb25SZXNpemUgPSAoKSA9PiB7XG4gICAgICAgICAgICBhcHBseUFjdGl2ZVN0YXRlKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5hY3RpdmUpIG9uU2Nyb2xsKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIC8vIFNldHVwIGluaWNpYWxcbiAgICAgICAgICAgIGFwcGx5QWN0aXZlU3RhdGUoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIGV2YWx1YXRlU2Nyb2xsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHRoaXMub2ZmU2Nyb2xsID0gKCkgPT5cbiAgICAgICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpO1xuICAgICAgICAgICAgdGhpcy5vZmZSZXNpemUgPSAoKSA9PlxuICAgICAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvblJlc2l6ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9mZlNjcm9sbD8uKCk7XG4gICAgICAgIHRoaXMub2ZmUmVzaXplPy4oKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -9,7 +9,13 @@ export class SlickInitDirective {
|
|
|
9
9
|
async ngAfterViewInit() {
|
|
10
10
|
if (!isPlatformBrowser(this.platformId))
|
|
11
11
|
return;
|
|
12
|
-
|
|
12
|
+
// 1) Espera a que jquery + slick estén listos
|
|
13
|
+
const slickReady = await this.waitForSlick();
|
|
14
|
+
// 2) Si NO están, no sigas (evita $ undefined)
|
|
15
|
+
if (!slickReady || typeof $ === 'undefined' || !$.fn || !$.fn.slick) {
|
|
16
|
+
console.warn('[SlickInitDirective] jQuery/Slick no están disponibles, no inicializo el slider');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
13
19
|
const parent = this.host.nativeElement;
|
|
14
20
|
const get = (name) => parent.getAttribute(name);
|
|
15
21
|
const getBool = (name) => {
|
|
@@ -73,7 +79,6 @@ export class SlickInitDirective {
|
|
|
73
79
|
nextArrow +=
|
|
74
80
|
"<button type='button' class='slick-next icon-large'><svg aria-hidden='true' focusable='false'><use href='/assets/babylon/svg/icon-arrow-large.svg#icon-arrow-large'></use></svg></button>";
|
|
75
81
|
}
|
|
76
|
-
// --- normalizar altura en vertical (sin 'this' implícito) ---
|
|
77
82
|
const updateVerticalHeight = () => {
|
|
78
83
|
const $el = $(sliderSelector);
|
|
79
84
|
if (window.innerWidth >= 541) {
|
|
@@ -99,7 +104,6 @@ export class SlickInitDirective {
|
|
|
99
104
|
passive: true,
|
|
100
105
|
});
|
|
101
106
|
}
|
|
102
|
-
// --- INIT SLICK ---
|
|
103
107
|
$(sliderSelector).slick({
|
|
104
108
|
dots: showDots,
|
|
105
109
|
arrows: showBtns,
|
|
@@ -165,6 +169,8 @@ export class SlickInitDirective {
|
|
|
165
169
|
ngOnDestroy() {
|
|
166
170
|
if (!isPlatformBrowser(this.platformId))
|
|
167
171
|
return;
|
|
172
|
+
if (typeof $ === 'undefined' || !$.fn?.slick)
|
|
173
|
+
return;
|
|
168
174
|
if (this.sliderEl && $(this.sliderEl).hasClass('slick-initialized')) {
|
|
169
175
|
try {
|
|
170
176
|
$(this.sliderEl).slick('unslick');
|
|
@@ -177,18 +183,19 @@ export class SlickInitDirective {
|
|
|
177
183
|
window.removeEventListener('resize', this.resizeHandler);
|
|
178
184
|
}
|
|
179
185
|
}
|
|
180
|
-
//
|
|
181
|
-
waitForSlick(timeoutMs =
|
|
186
|
+
// Devuelve true si jQuery+Slick llegan a estar disponibles, false si no
|
|
187
|
+
waitForSlick(timeoutMs = 8000, stepMs = 100) {
|
|
182
188
|
if (!isPlatformBrowser(this.platformId))
|
|
183
|
-
return Promise.resolve();
|
|
189
|
+
return Promise.resolve(false);
|
|
184
190
|
const start = performance.now();
|
|
185
191
|
return new Promise((resolve) => {
|
|
186
192
|
const check = () => {
|
|
187
|
-
if (typeof $ !== 'undefined' && $.fn && $.fn.slick)
|
|
188
|
-
return resolve();
|
|
193
|
+
if (typeof $ !== 'undefined' && $.fn && $.fn.slick) {
|
|
194
|
+
return resolve(true);
|
|
195
|
+
}
|
|
189
196
|
if (performance.now() - start > timeoutMs) {
|
|
190
|
-
console.warn('[SlickInitDirective] Slick no disponible. ¿
|
|
191
|
-
return resolve();
|
|
197
|
+
console.warn('[SlickInitDirective] Slick no disponible tras timeout. ¿Scripts cargados?');
|
|
198
|
+
return resolve(false);
|
|
192
199
|
}
|
|
193
200
|
setTimeout(check, stepMs);
|
|
194
201
|
};
|
|
@@ -208,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
208
215
|
type: Inject,
|
|
209
216
|
args: [PLATFORM_ID]
|
|
210
217
|
}] }] });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvZGlyZWN0aXZlcy9zbGlkZXJzL3NsaWNrLWluaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBRVQsTUFBTSxFQUVOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQzs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUNZLElBQTZCLEVBQ1IsVUFBa0I7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDUixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQ2hELENBQUM7SUFFSixLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFDaEQsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQywwQkFBMEI7UUFFckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUM3QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsT0FBTyxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSyxDQUFTLEtBQUssSUFBSSxDQUFDO1FBQ3hFLENBQUMsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBWSxFQUFFLEdBQUcsR0FB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RTtvQkFDdkMsT0FBTyxDQUFDLElBQUksQ0FDUixxRUFBcUUsQ0FDeEUsQ0FBQztvQkFDRixPQUFPLE9BQU8sRUFBRSxDQUFDLENBQUMsMEJBQTBCO2lCQUMvQztnQkFDRCxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FBQztZQUNGLEtBQUssRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXhOUSxrQkFBa0IsNENBTWYsV0FBVzttR0FOZCxrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFPUSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIFNpIG5vIHRpZW5lcyBAdHlwZXMvanF1ZXJ5LCBkw6lqYWxvIGNvbW8gYW55XG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICcuanMtYWN0aXZlLXNsaWRlcixbYXBwU2xpY2tJbml0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlc2l6ZUhhbmRsZXI/OiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgc2xpZGVyRWw/OiBIVE1MRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdFxuICAgICkge31cblxuICAgIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG4gICAgICAgIGF3YWl0IHRoaXMud2FpdEZvclNsaWNrKCk7IC8vIGVzcGVyYSBhICQgeSAkLmZuLnNsaWNrXG5cbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGdldCA9IChuYW1lOiBzdHJpbmcpID0+IHBhcmVudC5nZXRBdHRyaWJ1dGUobmFtZSk7XG4gICAgICAgIGNvbnN0IGdldEJvb2wgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ID0gZ2V0KG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHYgPT09ICd0cnVlJyB8fCB2ID09PSAnMScgfHwgdiA9PT0gJycgfHwgKHYgYXMgYW55KSA9PT0gdHJ1ZTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZ2V0TnVtID0gKG5hbWU6IHN0cmluZywgZGVmID0gMCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdiA9IE51bWJlcihnZXQobmFtZSkpO1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2KSA/IHYgOiBkZWY7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2xpZGVyTmFtZSA9IGdldCgnZGF0YS1zbGlkZXJfbmFtZScpIHx8ICcnO1xuICAgICAgICBjb25zdCBzbGlkZXJTcGVlZCA9IGdldE51bSgnZGF0YS1zbGlkZXJfc3BlZWQnLCA3NTApO1xuICAgICAgICBjb25zdCBzaG93QnRucyA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3Nob3didG5zJyk7XG4gICAgICAgIGNvbnN0IHNob3dEb3RzID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfc2hvd2RvdHMnKTtcbiAgICAgICAgY29uc3QgZmFkZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2ZhZGUnKTtcbiAgICAgICAgY29uc3QgY2VudGVyTW9kZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2NlbnRlcm1vZGUnKTtcbiAgICAgICAgY29uc3QgYXV0b3BsYXkgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl9hdXRvcGxheScpO1xuICAgICAgICBjb25zdCBzbGlkZXNQYyA9IGdldE51bSgnZGF0YS1zbGlkZXNfcGMnLCAxKTtcbiAgICAgICAgY29uc3Qgc2xpZGVzTGFwdG9wID0gZ2V0TnVtKCdkYXRhLXNsaWRlc19sYXB0b3AnKSB8fCBzbGlkZXNQYztcbiAgICAgICAgY29uc3Qgc2xpZGVzVGFibGV0ID0gZ2V0TnVtKCdkYXRhLXNsaWRlc190YWJsZXQnKSB8fCBzbGlkZXNMYXB0b3A7XG4gICAgICAgIGNvbnN0IHNsaWRlc01vYmlsZSA9IGdldE51bSgnZGF0YS1zbGlkZXNfbW9iaWxlJykgfHwgc2xpZGVzVGFibGV0O1xuICAgICAgICBjb25zdCBzbGlkZXNNb2JpbGVTbWFsbCA9XG4gICAgICAgICAgICBnZXROdW0oJ2RhdGEtc2xpZGVzX21vYmlsZV9zbWFsbCcpIHx8IHNsaWRlc01vYmlsZTtcbiAgICAgICAgY29uc3Qgc2xpZGVzTW9iaWxlWFNtYWxsID1cbiAgICAgICAgICAgIGdldE51bSgnZGF0YS1zbGlkZXNfbW9iaWxlX3hzbWFsbCcpIHx8IHNsaWRlc01vYmlsZVNtYWxsO1xuICAgICAgICBjb25zdCBpbmZpbml0ZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVzX2luZmluaXRlJyk7XG5cbiAgICAgICAgbGV0IHJvd3NQYyA9IGdldE51bSgnZGF0YS1zbGlkZXNyb3dzX3BjJywgMSk7XG4gICAgICAgIGxldCByb3dzTGFwdG9wID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbGFwdG9wJywgMSk7XG4gICAgICAgIGxldCByb3dzVGFibGV0ID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfdGFibGV0JywgMSk7XG4gICAgICAgIGxldCByb3dzTW9iaWxlID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbW9iaWxlJywgMSk7XG4gICAgICAgIGxldCByb3dzTW9iaWxlU21hbGwgPSBnZXROdW0oJ2RhdGEtc2xpZGVzcm93c19tb2JpbGVfc21hbGwnLCAxKTtcbiAgICAgICAgbGV0IHJvd3NNb2JpbGVYU21hbGwgPSBnZXROdW0oJ2RhdGEtc2xpZGVzcm93c19tb2JpbGVfeHNtYWxsJywgMSk7XG5cbiAgICAgICAgY29uc3QgYXNOYXZGb3IgPSBnZXQoJ2RhdGEtc2xpZGVyX2FzTmF2Rm9yJykgfHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3ZlcnRpY2FsJyk7XG4gICAgICAgIGNvbnN0IGFkYXB0aXZlSGVpZ2h0ID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfYWRhcHRpdmVfaGVpZ2h0Jyk7XG4gICAgICAgIGNvbnN0IHBhdXNlID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfcGF1c2UnKTtcbiAgICAgICAgY29uc3QgZHJhZ2dhYmxlID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfZHJhZ2dhYmxlJyk7XG4gICAgICAgIGNvbnN0IHJ0bCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3J0bCcpO1xuICAgICAgICBjb25zdCB2YXJpYWJsZVdpZHRoID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfdmFyaWFibGVfd2lkdGgnKTtcbiAgICAgICAgY29uc3QgYnRuc01vZGUgPSBnZXQoJ2RhdGEtc2xpZGVyX2J0bnMnKSB8fCAnJztcblxuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCA1NDAgJiYgcGFyZW50LmNsYXNzTGlzdC5jb250YWlucygncm93cy0yJykpIHtcbiAgICAgICAgICAgIHJvd3NQYyA9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzbGlkZXJBcnJvd3MgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICcuanMtc2xpZGVyLWFycm93cydcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgIGNvbnN0IHNsaWRlckRvdHMgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICcuanMtc2xpZGVyLWRvdHMnXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBjb25zdCBzbGlkZXJTZWxlY3RvciA9IHBhcmVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgJy4nICsgc2xpZGVyTmFtZVxuICAgICAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICAgICAgaWYgKCFzbGlkZXJTZWxlY3RvcikgcmV0dXJuO1xuICAgICAgICB0aGlzLnNsaWRlckVsID0gc2xpZGVyU2VsZWN0b3I7XG5cbiAgICAgICAgaWYgKCQoc2xpZGVyU2VsZWN0b3IpLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSByZXR1cm47XG5cbiAgICAgICAgbGV0IHByZXZBcnJvdyA9ICcnO1xuICAgICAgICBsZXQgbmV4dEFycm93ID0gJyc7XG4gICAgICAgIGlmIChidG5zTW9kZS5pbmNsdWRlcygnaWNvbi1zbWFsbCcpKSB7XG4gICAgICAgICAgICBwcmV2QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stcHJldiBpY29uLXNtYWxsJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJyBjbGFzcz0nbGluZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2Fycm93LWxpbmUuc3ZnI2Fycm93LWxpbmUnPjwvdXNlPjwvc3ZnPjxzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnPjx1c2UgaHJlZj0nL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWFycm93LnN2ZyNpY29uLWFycm93Jz48L3VzZT48L3N2Zz48L2J1dHRvbj5cIjtcbiAgICAgICAgICAgIG5leHRBcnJvdyArPVxuICAgICAgICAgICAgICAgIFwiPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdzbGljay1uZXh0IGljb24tc21hbGwnPjxzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnIGNsYXNzPSdsaW5lJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvYXJyb3ctbGluZS5zdmcjYXJyb3ctbGluZSc+PC91c2U+PC9zdmc+PHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tYXJyb3cuc3ZnI2ljb24tYXJyb3cnPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChidG5zTW9kZS5pbmNsdWRlcygnaWNvbi1sYXJnZScpKSB7XG4gICAgICAgICAgICBwcmV2QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stcHJldiBpY29uLWxhcmdlJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy1sYXJnZS5zdmcjaWNvbi1hcnJvdy1sYXJnZSc+PC91c2U+PC9zdmc+PC9idXR0b24+XCI7XG4gICAgICAgICAgICBuZXh0QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stbmV4dCBpY29uLWxhcmdlJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy1sYXJnZS5zdmcjaWNvbi1hcnJvdy1sYXJnZSc+PC91c2U+PC9zdmc+PC9idXR0b24+XCI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLS0gbm9ybWFsaXphciBhbHR1cmEgZW4gdmVydGljYWwgKHNpbiAndGhpcycgaW1wbMOtY2l0bykgLS0tXG4gICAgICAgIGNvbnN0IHVwZGF0ZVZlcnRpY2FsSGVpZ2h0ID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgJGVsID0gJChzbGlkZXJTZWxlY3Rvcik7XG4gICAgICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPj0gNTQxKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1heEggPSAwO1xuICAgICAgICAgICAgICAgICRlbC5maW5kKCcuc2xpY2stc2xpZGU6bm90KC5zbGljay1jbG9uZWQpJykuZWFjaChcbiAgICAgICAgICAgICAgICAgICAgKF86IG51bWJlciwgZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoID0gKCQoZWwpIGFzIGFueSkub3V0ZXJIZWlnaHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoID4gbWF4SCkgbWF4SCA9IGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICRlbC5maW5kKCcuc2xpY2stc2xpZGUnKS5lYWNoKChfOiBudW1iZXIsIGVsOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAoJChlbCkgYXMgYW55KS5jc3MoJ2hlaWdodCcsIGAke21heEh9cHhgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgJChzbGlkZXJTZWxlY3RvcikuZmluZCgnLnNsaWNrLXNsaWRlJykuY3NzKCdoZWlnaHQnLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHZlcnRpY2FsKSB7XG4gICAgICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5vbignc2V0UG9zaXRpb24nLCB1cGRhdGVWZXJ0aWNhbEhlaWdodCk7XG4gICAgICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5vbignaW5pdCcsICgpID0+XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCh1cGRhdGVWZXJ0aWNhbEhlaWdodCwgMClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZXIgPSAoKSA9PiB1cGRhdGVWZXJ0aWNhbEhlaWdodCgpO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplSGFuZGxlciwge1xuICAgICAgICAgICAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC0tLSBJTklUIFNMSUNLIC0tLVxuICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5zbGljayh7XG4gICAgICAgICAgICBkb3RzOiBzaG93RG90cyxcbiAgICAgICAgICAgIGFycm93czogc2hvd0J0bnMsXG4gICAgICAgICAgICBhcHBlbmRBcnJvd3M6IHNsaWRlckFycm93cyB8fCBwYXJlbnQsXG4gICAgICAgICAgICBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3csXG4gICAgICAgICAgICBhcHBlbmREb3RzOiBzbGlkZXJEb3RzIHx8IHBhcmVudCxcbiAgICAgICAgICAgIGluZmluaXRlLFxuICAgICAgICAgICAgdXNlVHJhbnNmb3JtOiB0cnVlLFxuICAgICAgICAgICAgZmFkZSxcbiAgICAgICAgICAgIGNlbnRlck1vZGUsXG4gICAgICAgICAgICBjZW50ZXJQYWRkaW5nOiAnMCcsXG4gICAgICAgICAgICBjc3NFYXNlOiAnY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNSwgMC44NiknLFxuICAgICAgICAgICAgc3BlZWQ6IHNsaWRlclNwZWVkLFxuICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNQYyxcbiAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgcm93czogcm93c1BjLFxuICAgICAgICAgICAgYXV0b3BsYXksXG4gICAgICAgICAgICBhdXRvcGxheVNwZWVkOiA1MDAwLFxuICAgICAgICAgICAgc3dpcGVUb1NsaWRlOiB0cnVlLFxuICAgICAgICAgICAgdmVydGljYWwsXG4gICAgICAgICAgICB2ZXJ0aWNhbFN3aXBpbmc6IHZlcnRpY2FsLFxuICAgICAgICAgICAgYWRhcHRpdmVIZWlnaHQsXG4gICAgICAgICAgICBhc05hdkZvcixcbiAgICAgICAgICAgIHBhdXNlT25Gb2N1czogcGF1c2UsXG4gICAgICAgICAgICBwYXVzZU9uSG92ZXI6IHBhdXNlLFxuICAgICAgICAgICAgZHJhZ2dhYmxlLFxuICAgICAgICAgICAgc3dpcGU6IGRyYWdnYWJsZSxcbiAgICAgICAgICAgIHJ0bCxcbiAgICAgICAgICAgIHZhcmlhYmxlV2lkdGgsXG4gICAgICAgICAgICByZXNwb25zaXZlOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxNjgwLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc0xhcHRvcCwgcm93czogcm93c0xhcHRvcCB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMzY2LFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc1RhYmxldCwgcm93czogcm93c1RhYmxldCB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMjgwLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogeyBzbGlkZXNUb1Nob3c6IHNsaWRlc01vYmlsZSwgcm93czogcm93c01vYmlsZSB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBicmVha3BvaW50OiAxMDIzLFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNNb2JpbGVTbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M6IHJvd3NNb2JpbGVTbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogNzY3LFxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiBzbGlkZXNNb2JpbGVYU21hbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dzOiByb3dzTW9iaWxlWFNtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWw6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxTd2lwaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5zbGlkZXJFbCAmJiAkKHRoaXMuc2xpZGVyRWwpLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICQodGhpcy5zbGlkZXJFbCkuc2xpY2soJ3Vuc2xpY2snKTtcbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgIC8qIG5hZGEgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZXNpemVIYW5kbGVyKSB7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVIYW5kbGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVzcGVyYSBhICQgeSBzbGljazogcmVzdWVsdmUgKG5vIHJlY2hhemEpIHkgbG9ndWVhIHNpIG5vIGxsZWdhblxuICAgIHByaXZhdGUgd2FpdEZvclNsaWNrKHRpbWVvdXRNcyA9IDQwMDAsIHN0ZXBNcyA9IDEwMCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGVjayA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mICQgIT09ICd1bmRlZmluZWQnICYmICQuZm4gJiYgJC5mbi5zbGljaylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICBpZiAocGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydCA+IHRpbWVvdXRNcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgICAnW1NsaWNrSW5pdERpcmVjdGl2ZV0gU2xpY2sgbm8gZGlzcG9uaWJsZS4gwr9DYXJnYXN0ZSBqUXVlcnkgeSBzbGljaz8nXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKCk7IC8vIGV2aXRhIGVycm9yIHNpIG5vIGxsZWdhXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2ssIHN0ZXBNcyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvZGlyZWN0aXZlcy9zbGlkZXJzL3NsaWNrLWluaXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBRVQsTUFBTSxFQUVOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQzs7QUFTdkIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUNZLElBQTZCLEVBQ1IsVUFBa0I7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDUixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQ2hELENBQUM7SUFFSixLQUFLLENBQUMsZUFBZTtRQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUFFLE9BQU87UUFFaEQsOENBQThDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdDLCtDQUErQztRQUMvQyxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRTtZQUNqRSxPQUFPLENBQUMsSUFBSSxDQUNSLGlGQUFpRixDQUNwRixDQUFDO1lBQ0YsT0FBTztTQUNWO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFB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QUMsR0FBRyxFQUFFLENBQUM7UUFFaEMsT0FBTyxJQUFJLE9BQU8sQ0FBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRTtnQkFDZixJQUFJLE9BQU8sQ0FBQyxLQUFLLFdBQVcsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFO29CQUNoRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDeEI7Z0JBQ0QsSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxHQUFHLFNBQVMsRUFBRTtvQkFDdkMsT0FBTyxDQUFDLElBQUksQ0FDUiwyRUFBMkUsQ0FDOUUsQ0FBQztvQkFDRixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0QsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUM7WUFDRixLQUFLLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwT1Esa0JBQWtCLDRDQU1mLFdBQVc7bUdBTmQsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBT1EsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUExBVEZPUk1fSUQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBzaWd1ZSBpZ3VhbCwgc8OzbG8gcGFyYSBUU1xuZGVjbGFyZSBjb25zdCAkOiBhbnk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnLmpzLWFjdGl2ZS1zbGlkZXIsW2FwcFNsaWNrSW5pdF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNsaWNrSW5pdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZXNpemVIYW5kbGVyPzogKCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIHNsaWRlckVsPzogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3RcbiAgICApIHt9XG5cbiAgICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgICAgIC8vIDEpIEVzcGVyYSBhIHF1ZSBqcXVlcnkgKyBzbGljayBlc3TDqW4gbGlzdG9zXG4gICAgICAgIGNvbnN0IHNsaWNrUmVhZHkgPSBhd2FpdCB0aGlzLndhaXRGb3JTbGljaygpO1xuXG4gICAgICAgIC8vIDIpIFNpIE5PIGVzdMOhbiwgbm8gc2lnYXMgKGV2aXRhICQgdW5kZWZpbmVkKVxuICAgICAgICBpZiAoIXNsaWNrUmVhZHkgfHwgdHlwZW9mICQgPT09ICd1bmRlZmluZWQnIHx8ICEkLmZuIHx8ICEkLmZuLnNsaWNrKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgJ1tTbGlja0luaXREaXJlY3RpdmVdIGpRdWVyeS9TbGljayBubyBlc3TDoW4gZGlzcG9uaWJsZXMsIG5vIGluaWNpYWxpem8gZWwgc2xpZGVyJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBnZXQgPSAobmFtZTogc3RyaW5nKSA9PiBwYXJlbnQuZ2V0QXR0cmlidXRlKG5hbWUpO1xuICAgICAgICBjb25zdCBnZXRCb29sID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdiA9IGdldChuYW1lKTtcbiAgICAgICAgICAgIHJldHVybiB2ID09PSAndHJ1ZScgfHwgdiA9PT0gJzEnIHx8IHYgPT09ICcnIHx8ICh2IGFzIGFueSkgPT09IHRydWU7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGdldE51bSA9IChuYW1lOiBzdHJpbmcsIGRlZiA9IDApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBOdW1iZXIoZ2V0KG5hbWUpKTtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIuaXNGaW5pdGUodikgPyB2IDogZGVmO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHNsaWRlck5hbWUgPSBnZXQoJ2RhdGEtc2xpZGVyX25hbWUnKSB8fCAnJztcbiAgICAgICAgY29uc3Qgc2xpZGVyU3BlZWQgPSBnZXROdW0oJ2RhdGEtc2xpZGVyX3NwZWVkJywgNzUwKTtcbiAgICAgICAgY29uc3Qgc2hvd0J0bnMgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl9zaG93YnRucycpO1xuICAgICAgICBjb25zdCBzaG93RG90cyA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3Nob3dkb3RzJyk7XG4gICAgICAgIGNvbnN0IGZhZGUgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl9mYWRlJyk7XG4gICAgICAgIGNvbnN0IGNlbnRlck1vZGUgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl9jZW50ZXJtb2RlJyk7XG4gICAgICAgIGNvbnN0IGF1dG9wbGF5ID0gZ2V0Qm9vbCgnZGF0YS1zbGlkZXJfYXV0b3BsYXknKTtcbiAgICAgICAgY29uc3Qgc2xpZGVzUGMgPSBnZXROdW0oJ2RhdGEtc2xpZGVzX3BjJywgMSk7XG4gICAgICAgIGNvbnN0IHNsaWRlc0xhcHRvcCA9IGdldE51bSgnZGF0YS1zbGlkZXNfbGFwdG9wJykgfHwgc2xpZGVzUGM7XG4gICAgICAgIGNvbnN0IHNsaWRlc1RhYmxldCA9IGdldE51bSgnZGF0YS1zbGlkZXNfdGFibGV0JykgfHwgc2xpZGVzTGFwdG9wO1xuICAgICAgICBjb25zdCBzbGlkZXNNb2JpbGUgPSBnZXROdW0oJ2RhdGEtc2xpZGVzX21vYmlsZScpIHx8IHNsaWRlc1RhYmxldDtcbiAgICAgICAgY29uc3Qgc2xpZGVzTW9iaWxlU21hbGwgPVxuICAgICAgICAgICAgZ2V0TnVtKCdkYXRhLXNsaWRlc19tb2JpbGVfc21hbGwnKSB8fCBzbGlkZXNNb2JpbGU7XG4gICAgICAgIGNvbnN0IHNsaWRlc01vYmlsZVhTbWFsbCA9XG4gICAgICAgICAgICBnZXROdW0oJ2RhdGEtc2xpZGVzX21vYmlsZV94c21hbGwnKSB8fCBzbGlkZXNNb2JpbGVTbWFsbDtcbiAgICAgICAgY29uc3QgaW5maW5pdGUgPSBnZXRCb29sKCdkYXRhLXNsaWRlc19pbmZpbml0ZScpO1xuXG4gICAgICAgIGxldCByb3dzUGMgPSBnZXROdW0oJ2RhdGEtc2xpZGVzcm93c19wYycsIDEpO1xuICAgICAgICBsZXQgcm93c0xhcHRvcCA9IGdldE51bSgnZGF0YS1zbGlkZXNyb3dzX2xhcHRvcCcsIDEpO1xuICAgICAgICBsZXQgcm93c1RhYmxldCA9IGdldE51bSgnZGF0YS1zbGlkZXNyb3dzX3RhYmxldCcsIDEpO1xuICAgICAgICBsZXQgcm93c01vYmlsZSA9IGdldE51bSgnZGF0YS1zbGlkZXNyb3dzX21vYmlsZScsIDEpO1xuICAgICAgICBsZXQgcm93c01vYmlsZVNtYWxsID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbW9iaWxlX3NtYWxsJywgMSk7XG4gICAgICAgIGxldCByb3dzTW9iaWxlWFNtYWxsID0gZ2V0TnVtKCdkYXRhLXNsaWRlc3Jvd3NfbW9iaWxlX3hzbWFsbCcsIDEpO1xuXG4gICAgICAgIGNvbnN0IGFzTmF2Rm9yID0gZ2V0KCdkYXRhLXNsaWRlcl9hc05hdkZvcicpIHx8IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgdmVydGljYWwgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl92ZXJ0aWNhbCcpO1xuICAgICAgICBjb25zdCBhZGFwdGl2ZUhlaWdodCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2FkYXB0aXZlX2hlaWdodCcpO1xuICAgICAgICBjb25zdCBwYXVzZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3BhdXNlJyk7XG4gICAgICAgIGNvbnN0IGRyYWdnYWJsZSA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX2RyYWdnYWJsZScpO1xuICAgICAgICBjb25zdCBydGwgPSBnZXRCb29sKCdkYXRhLXNsaWRlcl9ydGwnKTtcbiAgICAgICAgY29uc3QgdmFyaWFibGVXaWR0aCA9IGdldEJvb2woJ2RhdGEtc2xpZGVyX3ZhcmlhYmxlX3dpZHRoJyk7XG4gICAgICAgIGNvbnN0IGJ0bnNNb2RlID0gZ2V0KCdkYXRhLXNsaWRlcl9idG5zJykgfHwgJyc7XG5cbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgNTQwICYmIHBhcmVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3Jvd3MtMicpKSB7XG4gICAgICAgICAgICByb3dzUGMgPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2xpZGVyQXJyb3dzID0gcGFyZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAnLmpzLXNsaWRlci1hcnJvd3MnXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuICAgICAgICBjb25zdCBzbGlkZXJEb3RzID0gcGFyZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAnLmpzLXNsaWRlci1kb3RzJ1xuICAgICAgICApIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICAgICAgY29uc3Qgc2xpZGVyU2VsZWN0b3IgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAgICcuJyArIHNsaWRlck5hbWVcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgIGlmICghc2xpZGVyU2VsZWN0b3IpIHJldHVybjtcbiAgICAgICAgdGhpcy5zbGlkZXJFbCA9IHNsaWRlclNlbGVjdG9yO1xuXG4gICAgICAgIGlmICgkKHNsaWRlclNlbGVjdG9yKS5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkgcmV0dXJuO1xuXG4gICAgICAgIGxldCBwcmV2QXJyb3cgPSAnJztcbiAgICAgICAgbGV0IG5leHRBcnJvdyA9ICcnO1xuICAgICAgICBpZiAoYnRuc01vZGUuaW5jbHVkZXMoJ2ljb24tc21hbGwnKSkge1xuICAgICAgICAgICAgcHJldkFycm93ICs9XG4gICAgICAgICAgICAgICAgXCI8YnV0dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J3NsaWNrLXByZXYgaWNvbi1zbWFsbCc+PHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZScgY2xhc3M9J2xpbmUnPjx1c2UgaHJlZj0nL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9hcnJvdy1saW5lLnN2ZyNhcnJvdy1saW5lJz48L3VzZT48L3N2Zz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJz48dXNlIGhyZWY9Jy9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy5zdmcjaWNvbi1hcnJvdyc+PC91c2U+PC9zdmc+PC9idXR0b24+XCI7XG4gICAgICAgICAgICBuZXh0QXJyb3cgKz1cbiAgICAgICAgICAgICAgICBcIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nc2xpY2stbmV4dCBpY29uLXNtYWxsJz48c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJyBjbGFzcz0nbGluZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2Fycm93LWxpbmUuc3ZnI2Fycm93LWxpbmUnPjwvdXNlPjwvc3ZnPjxzdmcgYXJpYS1oaWRkZW49J3RydWUnIGZvY3VzYWJsZT0nZmFsc2UnPjx1c2UgaHJlZj0nL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWFycm93LnN2ZyNpY29uLWFycm93Jz48L3VzZT48L3N2Zz48L2J1dHRvbj5cIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYnRuc01vZGUuaW5jbHVkZXMoJ2ljb24tbGFyZ2UnKSkge1xuICAgICAgICAgICAgcHJldkFycm93ICs9XG4gICAgICAgICAgICAgICAgXCI8YnV0dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J3NsaWNrLXByZXYgaWNvbi1sYXJnZSc+PHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tYXJyb3ctbGFyZ2Uuc3ZnI2ljb24tYXJyb3ctbGFyZ2UnPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlwiO1xuICAgICAgICAgICAgbmV4dEFycm93ICs9XG4gICAgICAgICAgICAgICAgXCI8YnV0dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J3NsaWNrLW5leHQgaWNvbi1sYXJnZSc+PHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZSc+PHVzZSBocmVmPScvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tYXJyb3ctbGFyZ2Uuc3ZnI2ljb24tYXJyb3ctbGFyZ2UnPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXBkYXRlVmVydGljYWxIZWlnaHQgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCAkZWwgPSAkKHNsaWRlclNlbGVjdG9yKTtcbiAgICAgICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+PSA1NDEpIHtcbiAgICAgICAgICAgICAgICBsZXQgbWF4SCA9IDA7XG4gICAgICAgICAgICAgICAgJGVsLmZpbmQoJy5zbGljay1zbGlkZTpub3QoLnNsaWNrLWNsb25lZCknKS5lYWNoKFxuICAgICAgICAgICAgICAgICAgICAoXzogbnVtYmVyLCBlbDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGggPSAoJChlbCkgYXMgYW55KS5vdXRlckhlaWdodCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGggPiBtYXhIKSBtYXhIID0gaDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgJGVsLmZpbmQoJy5zbGljay1zbGlkZScpLmVhY2goKF86IG51bWJlciwgZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICgkKGVsKSBhcyBhbnkpLmNzcygnaGVpZ2h0JywgYCR7bWF4SH1weGApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKHNsaWRlclNlbGVjdG9yKS5maW5kKCcuc2xpY2stc2xpZGUnKS5jc3MoJ2hlaWdodCcsICcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodmVydGljYWwpIHtcbiAgICAgICAgICAgICQoc2xpZGVyU2VsZWN0b3IpLm9uKCdzZXRQb3NpdGlvbicsIHVwZGF0ZVZlcnRpY2FsSGVpZ2h0KTtcbiAgICAgICAgICAgICQoc2xpZGVyU2VsZWN0b3IpLm9uKCdpbml0JywgKCkgPT5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHVwZGF0ZVZlcnRpY2FsSGVpZ2h0LCAwKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMucmVzaXplSGFuZGxlciA9ICgpID0+IHVwZGF0ZVZlcnRpY2FsSGVpZ2h0KCk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVIYW5kbGVyLCB7XG4gICAgICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgJChzbGlkZXJTZWxlY3Rvcikuc2xpY2soe1xuICAgICAgICAgICAgZG90czogc2hvd0RvdHMsXG4gICAgICAgICAgICBhcnJvd3M6IHNob3dCdG5zLFxuICAgICAgICAgICAgYXBwZW5kQXJyb3dzOiBzbGlkZXJBcnJvd3MgfHwgcGFyZW50LFxuICAgICAgICAgICAgcHJldkFycm93LFxuICAgICAgICAgICAgbmV4dEFycm93LFxuICAgICAgICAgICAgYXBwZW5kRG90czogc2xpZGVyRG90cyB8fCBwYXJlbnQsXG4gICAgICAgICAgICBpbmZpbml0ZSxcbiAgICAgICAgICAgIHVzZVRyYW5zZm9ybTogdHJ1ZSxcbiAgICAgICAgICAgIGZhZGUsXG4gICAgICAgICAgICBjZW50ZXJNb2RlLFxuICAgICAgICAgICAgY2VudGVyUGFkZGluZzogJzAnLFxuICAgICAgICAgICAgY3NzRWFzZTogJ2N1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUsIDAuODYpJyxcbiAgICAgICAgICAgIHNwZWVkOiBzbGlkZXJTcGVlZCxcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogc2xpZGVzUGMsXG4gICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSxcbiAgICAgICAgICAgIHJvd3M6IHJvd3NQYyxcbiAgICAgICAgICAgIGF1dG9wbGF5LFxuICAgICAgICAgICAgYXV0b3BsYXlTcGVlZDogNTAwMCxcbiAgICAgICAgICAgIHN3aXBlVG9TbGlkZTogdHJ1ZSxcbiAgICAgICAgICAgIHZlcnRpY2FsLFxuICAgICAgICAgICAgdmVydGljYWxTd2lwaW5nOiB2ZXJ0aWNhbCxcbiAgICAgICAgICAgIGFkYXB0aXZlSGVpZ2h0LFxuICAgICAgICAgICAgYXNOYXZGb3IsXG4gICAgICAgICAgICBwYXVzZU9uRm9jdXM6IHBhdXNlLFxuICAgICAgICAgICAgcGF1c2VPbkhvdmVyOiBwYXVzZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZSxcbiAgICAgICAgICAgIHN3aXBlOiBkcmFnZ2FibGUsXG4gICAgICAgICAgICBydGwsXG4gICAgICAgICAgICB2YXJpYWJsZVdpZHRoLFxuICAgICAgICAgICAgcmVzcG9uc2l2ZTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTY4MCxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IHsgc2xpZGVzVG9TaG93OiBzbGlkZXNMYXB0b3AsIHJvd3M6IHJvd3NMYXB0b3AgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTM2NixcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IHsgc2xpZGVzVG9TaG93OiBzbGlkZXNUYWJsZXQsIHJvd3M6IHJvd3NUYWJsZXQgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTI4MCxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IHsgc2xpZGVzVG9TaG93OiBzbGlkZXNNb2JpbGUsIHJvd3M6IHJvd3NNb2JpbGUgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTAyMyxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogc2xpZGVzTW9iaWxlU21hbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dzOiByb3dzTW9iaWxlU21hbGwsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrcG9pbnQ6IDc2NyxcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogc2xpZGVzTW9iaWxlWFNtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm93czogcm93c01vYmlsZVhTbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsU3dpcGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcbiAgICAgICAgaWYgKHR5cGVvZiAkID09PSAndW5kZWZpbmVkJyB8fCAhJC5mbj8uc2xpY2spIHJldHVybjtcblxuICAgICAgICBpZiAodGhpcy5zbGlkZXJFbCAmJiAkKHRoaXMuc2xpZGVyRWwpLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICQodGhpcy5zbGlkZXJFbCkuc2xpY2soJ3Vuc2xpY2snKTtcbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgIC8qIG5hZGEgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZXNpemVIYW5kbGVyKSB7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVIYW5kbGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIERldnVlbHZlIHRydWUgc2kgalF1ZXJ5K1NsaWNrIGxsZWdhbiBhIGVzdGFyIGRpc3BvbmlibGVzLCBmYWxzZSBzaSBub1xuICAgIHByaXZhdGUgd2FpdEZvclNsaWNrKHRpbWVvdXRNcyA9IDgwMDAsIHN0ZXBNcyA9IDEwMCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgICAgICBjb25zdCBzdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hlY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAkICE9PSAndW5kZWZpbmVkJyAmJiAkLmZuICYmICQuZm4uc2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0ID4gdGltZW91dE1zKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgICAgICdbU2xpY2tJbml0RGlyZWN0aXZlXSBTbGljayBubyBkaXNwb25pYmxlIHRyYXMgdGltZW91dC4gwr9TY3JpcHRzIGNhcmdhZG9zPydcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGNoZWNrLCBzdGVwTXMpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1pdGVtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9pbnRlcmZhY2VzL2JhYnlsb24taXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhYnlsb25CdXR0b25JIH0gZnJvbSAnLi9iYWJ5bG9uLWJ1dHRvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFieWxvbkltYWdlSSB9IGZyb20gJy4vYmFieWxvbi1pbWFnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFieWxvblRleHRJbmZvSSB9IGZyb20gJy4vYmFieWxvbi10ZXh0LWluZm8uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBCYWJ5bG9uSXRlbUkge1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGJ1dHRvbnM/OiBCYWJ5bG9uQnV0dG9uSVtdO1xuICAgIG11bHRpbWVkaWE/OiBCYWJ5bG9uSW1hZ2VJW107XG4gICAgdGV4dHM/OiBCYWJ5bG9uVGV4dEluZm9JO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi10ZXh0LWluZm8uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2ludGVyZmFjZXMvYmFieWxvbi10ZXh0LWluZm8uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYWJ5bG9uRHluYW1pY0hlYWRpbmdJIH0gZnJvbSAnLi4vY29tcG9uZW50cy9zaGFyZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhYnlsb25UZXh0SW5mb0kge1xuICAgIHByZXRpdGxlPzogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHRpdGxlMj86IHN0cmluZztcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIGl0ZW0xPzogc3RyaW5nO1xuICAgIGl0ZW0xVGV4dD86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsMT86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsMj86IHN0cmluZztcbiAgICBhZGRpdGlvbmFsMz86IHN0cmluZztcbiAgICBjb25kaXRpb25zPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbiAgICBwcmV0aXRsZUNvbnRhaW4/OiBCYWJ5bG9uRHluYW1pY0hlYWRpbmdJO1xuICAgIHRpdGxlQ29udGFpbj86IEJhYnlsb25EeW5hbWljSGVhZGluZ0k7XG4gICAgc3ZnPzogc3RyaW5nO1xufVxuIl19
|