@ethlete/core 3.2.0 → 3.3.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/structured-data/structured-data.component.mjs +3 -3
- package/esm2022/lib/directives/animatable/animatable.directive.mjs +3 -3
- package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +3 -3
- package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +3 -3
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +3 -3
- package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +3 -3
- package/esm2022/lib/directives/delayable/delayable.directive.mjs +3 -3
- package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +3 -3
- package/esm2022/lib/directives/is-element/is-element.directive.mjs +3 -3
- package/esm2022/lib/directives/let/let.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +3 -3
- package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +3 -3
- package/esm2022/lib/directives/repeat/repeat.directive.mjs +4 -4
- package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
- package/esm2022/lib/directives/seo/seo.directive.mjs +3 -3
- package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
- package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
- package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
- package/esm2022/lib/services/click-observer.service.mjs +6 -6
- package/esm2022/lib/services/content-observer.service.mjs +6 -6
- package/esm2022/lib/services/focus-visible.service.mjs +3 -3
- package/esm2022/lib/services/resize-observer.service.mjs +6 -6
- package/esm2022/lib/services/router-state.service.mjs +3 -3
- package/esm2022/lib/services/viewport.service.mjs +3 -3
- package/esm2022/lib/types/angular.types.mjs +1 -1
- package/esm2022/lib/utils/key-press-manager.utils.mjs +30 -0
- package/esm2022/lib/utils/public-api.mjs +2 -1
- package/esm2022/lib/utils/smart-block-scroll-strategy.utils.mjs +1 -1
- package/fesm2022/ethlete-core.mjs +130 -101
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/lib/types/angular.types.d.ts +1 -1
- package/lib/utils/key-press-manager.utils.d.ts +9 -0
- package/lib/utils/public-api.d.ts +1 -0
- package/package.json +4 -4
|
@@ -12,4 +12,4 @@ export class TypedQueryList extends QueryList {
|
|
|
12
12
|
return super.changes;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3R5cGVzL2FuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFzQmhELE1BQU0sT0FBTyxjQUFrQixTQUFRLFNBQVk7SUFBbkQ7O1FBQ1csUUFBaUIsR0FBc0IsR0FBRyxFQUFFO1lBQ25ELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBaUIsQ0FBQztRQUNqRCxDQUFDLENBQUM7SUFLSixDQUFDO2tCQVBXLE1BQU0sQ0FBQyxRQUFRO0lBSXpCLElBQWEsT0FBTztRQUNsQixPQUFPLEtBQUssQ0FBQyxPQUF3QyxDQUFDO0lBQ3hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5TGlzdCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBOZ0NsYXNzVHlwZSA9XG4gIHwgc3RyaW5nXG4gIHwgc3RyaW5nW11cbiAgfCBTZXQ8c3RyaW5nPlxuICB8IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICBba2xhc3M6IHN0cmluZ106IGFueTtcbiAgICB9XG4gIHwgbnVsbFxuICB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgSG9zdERpcmVjdGl2ZSA9XG4gIHwgVHlwZTx1bmtub3duPlxuICB8IHtcbiAgICAgIGRpcmVjdGl2ZTogVHlwZTx1bmtub3duPjtcbiAgICAgIGlucHV0cz86IHN0cmluZ1tdO1xuICAgICAgb3V0cHV0cz86IHN0cmluZ1tdO1xuICAgIH07XG5cbmV4cG9ydCBjbGFzcyBUeXBlZFF1ZXJ5TGlzdDxUPiBleHRlbmRzIFF1ZXJ5TGlzdDxUPiB7XG4gIG92ZXJyaWRlIFtTeW1ib2wuaXRlcmF0b3JdOiAoKSA9PiBJdGVyYXRvcjxUPiA9ICgpID0+IHtcbiAgICByZXR1cm4gc3VwZXJbU3ltYm9sLml0ZXJhdG9yXSgpIGFzIEl0ZXJhdG9yPFQ+O1xuICB9O1xuXG4gIG92ZXJyaWRlIGdldCBjaGFuZ2VzKCk6IE9ic2VydmFibGU8VHlwZWRRdWVyeUxpc3Q8VD4+IHtcbiAgICByZXR1cm4gc3VwZXIuY2hhbmdlcyBhcyBPYnNlcnZhYmxlPFR5cGVkUXVlcnlMaXN0PFQ+PjtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BehaviorSubject, Subject, takeUntil, timer } from 'rxjs';
|
|
2
|
+
export class KeyPressManager {
|
|
3
|
+
constructor(key) {
|
|
4
|
+
this.key = key;
|
|
5
|
+
this._isKeyPressed$ = new BehaviorSubject(false);
|
|
6
|
+
this._keyPressCount$ = new BehaviorSubject(0);
|
|
7
|
+
this._stopTimeout$ = new Subject();
|
|
8
|
+
}
|
|
9
|
+
isPressed(event) {
|
|
10
|
+
const key = event.keyCode;
|
|
11
|
+
if (key === this.key) {
|
|
12
|
+
this._isKeyPressed$.next(this._keyPressCount$.value > 1);
|
|
13
|
+
this._keyPressCount$.next(this._keyPressCount$.value + 1);
|
|
14
|
+
this._stopTimeout$.next();
|
|
15
|
+
timer(100)
|
|
16
|
+
.pipe(takeUntil(this._stopTimeout$))
|
|
17
|
+
.subscribe(() => this.clear());
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.clear();
|
|
21
|
+
}
|
|
22
|
+
return this._isKeyPressed$.value;
|
|
23
|
+
}
|
|
24
|
+
clear() {
|
|
25
|
+
this._isKeyPressed$.next(false);
|
|
26
|
+
this._keyPressCount$.next(0);
|
|
27
|
+
this._stopTimeout$.next();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXByZXNzLW1hbmFnZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9rZXktcHJlc3MtbWFuYWdlci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxFLE1BQU0sT0FBTyxlQUFlO0lBTTFCLFlBQTRCLEdBQVc7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBTHRCLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFWCxDQUFDO0lBRTNDLFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRTFCLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUUxQixLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2lCQUNuQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCB0YWtlVW50aWwsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBLZXlQcmVzc01hbmFnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0tleVByZXNzZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2tleVByZXNzQ291bnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9wVGltZW91dCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBrZXk6IG51bWJlcikge31cblxuICBpc1ByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXlDb2RlO1xuXG4gICAgaWYgKGtleSA9PT0gdGhpcy5rZXkpIHtcbiAgICAgIHRoaXMuX2lzS2V5UHJlc3NlZCQubmV4dCh0aGlzLl9rZXlQcmVzc0NvdW50JC52YWx1ZSA+IDEpO1xuICAgICAgdGhpcy5fa2V5UHJlc3NDb3VudCQubmV4dCh0aGlzLl9rZXlQcmVzc0NvdW50JC52YWx1ZSArIDEpO1xuXG4gICAgICB0aGlzLl9zdG9wVGltZW91dCQubmV4dCgpO1xuXG4gICAgICB0aW1lcigxMDApXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9zdG9wVGltZW91dCQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xlYXIoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5faXNLZXlQcmVzc2VkJC52YWx1ZTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuX2lzS2V5UHJlc3NlZCQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5fa2V5UHJlc3NDb3VudCQubmV4dCgwKTtcbiAgICB0aGlzLl9zdG9wVGltZW91dCQubmV4dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@ export * from './clone.util';
|
|
|
5
5
|
export * from './cookie.util';
|
|
6
6
|
export * from './destroy.utils';
|
|
7
7
|
export * from './equal.util';
|
|
8
|
+
export * from './key-press-manager.utils';
|
|
8
9
|
export * from './media-query-observable.util';
|
|
9
10
|
export * from './mutation-observable.util';
|
|
10
11
|
export * from './reactive-binding.util';
|
|
@@ -15,4 +16,4 @@ export * from './selection-model.utils';
|
|
|
15
16
|
export * from './smart-block-scroll-strategy.utils';
|
|
16
17
|
export * from './value.utils';
|
|
17
18
|
export * from './viewport.util';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGl2ZS1zZWxlY3Rpb24tbW9kZWwudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9hbmltYXRpb24udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFtcC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY2xvbmUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2Nvb2tpZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzdHJveS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2VxdWFsLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9rZXktcHJlc3MtbWFuYWdlci51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL21lZGlhLXF1ZXJ5LW9ic2VydmFibGUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL211dGF0aW9uLW9ic2VydmFibGUudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0aXZlLWJpbmRpbmcudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3JvdW5kLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcnVudGltZS1lcnJvci51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbGFibGUudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24tbW9kZWwudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1ibG9jay1zY3JvbGwtc3RyYXRlZ3kudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi92YWx1ZS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdwb3J0LnV0aWwnO1xuIl19
|
|
@@ -67,4 +67,4 @@ export class SmartBlockScrollStrategy {
|
|
|
67
67
|
return true;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmxvY2stc2Nyb2xsLXN0cmF0ZWd5LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvc21hcnQtYmxvY2stc2Nyb2xsLXN0cmF0ZWd5LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxJQUFJLEVBQWdCLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHckQsTUFBTSx1QkFBdUIsR0FBRyxzQkFBc0IsRUFBRSxDQUFDO0FBRXpELE1BQU0sT0FBTyx3QkFBd0I7SUFRbkMsWUFDVSxjQUE2QixFQUM3QixZQUFnQyxFQUN4QyxRQUFrQjtRQUZWLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQVRsQyx3QkFBbUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVDLDRCQUF1QixHQUFrQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzdFLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIscUJBQWdCLEdBQXdCLElBQUksQ0FBQztRQUM3QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQU8zQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO1lBRTVDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDL0UsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFFMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFFcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUV2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNO2lCQUM3QyxJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUNIO2lCQUNBLFNBQVMsRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxDQUFDO1lBRXJDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDN0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM3QixNQUFNLDBCQUEwQixHQUFHLFNBQVMsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1lBQ2xFLE1BQU0sMEJBQTBCLEdBQUcsU0FBUyxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7WUFFbEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFFeEIsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQy9DLFNBQVMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQztZQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBRWhELElBQUksdUJBQXVCLEVBQUU7Z0JBQzNCLFNBQVMsQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7YUFDOUQ7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwRjtZQUVELElBQUksdUJBQXVCLEVBQUU7Z0JBQzNCLFNBQVMsQ0FBQyxjQUFjLEdBQUcsMEJBQTBCLENBQUM7Z0JBQ3RELFNBQVMsQ0FBQyxjQUFjLEdBQUcsMEJBQTBCLENBQUM7YUFDdkQ7U0FDRjtJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO1FBRTVDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3hFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUNzc1BpeGVsVmFsdWUgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBzdXBwb3J0c1Njcm9sbEJlaGF2aW9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IHNraXAsIFN1YnNjcmlwdGlvbiwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3V0ZXJTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbmNvbnN0IHNjcm9sbEJlaGF2aW9yU3VwcG9ydGVkID0gc3VwcG9ydHNTY3JvbGxCZWhhdmlvcigpO1xuXG5leHBvcnQgY2xhc3MgU21hcnRCbG9ja1Njcm9sbFN0cmF0ZWd5IGltcGxlbWVudHMgU2Nyb2xsU3RyYXRlZ3kge1xuICBwcml2YXRlIF9wcmV2aW91c0hUTUxTdHlsZXMgPSB7IHRvcDogJycsIGxlZnQ6ICcnIH07XG4gIHByaXZhdGUgX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb246IHsgdG9wOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9ID0geyB0b3A6IDAsIGxlZnQ6IDAgfTtcbiAgcHJpdmF0ZSBfaXNFbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudDtcbiAgcHJpdmF0ZSBfdXJsU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfZGlkTmF2aWdhdGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF92aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICAgIHByaXZhdGUgX3JvdXRlclN0YXRlOiBSb3V0ZXJTdGF0ZVNlcnZpY2UsXG4gICAgZG9jdW1lbnQ6IERvY3VtZW50LFxuICApIHtcbiAgICB0aGlzLl9kb2N1bWVudCA9IGRvY3VtZW50O1xuICB9XG5cbiAgYXR0YWNoKCkge1xuICAgIC8vIG5vb3BcbiAgfVxuXG4gIGVuYWJsZSgpIHtcbiAgICBpZiAodGhpcy5fY2FuQmVFbmFibGVkKCkpIHtcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLl9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICAgIHRoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb24gPSB0aGlzLl92aWV3cG9ydFJ1bGVyLmdldFZpZXdwb3J0U2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuX2RpZE5hdmlnYXRlID0gZmFsc2U7XG5cbiAgICAgIHRoaXMuX3ByZXZpb3VzSFRNTFN0eWxlcy5sZWZ0ID0gcm9vdC5zdHlsZS5sZWZ0IHx8ICcnO1xuICAgICAgdGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLnRvcCA9IHJvb3Quc3R5bGUudG9wIHx8ICcnO1xuXG4gICAgICByb290LnN0eWxlLmxlZnQgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKC10aGlzLl9wcmV2aW91c1Njcm9sbFBvc2l0aW9uLmxlZnQpO1xuICAgICAgcm9vdC5zdHlsZS50b3AgPSBjb2VyY2VDc3NQaXhlbFZhbHVlKC10aGlzLl9wcmV2aW91c1Njcm9sbFBvc2l0aW9uLnRvcCk7XG4gICAgICByb290LmNsYXNzTGlzdC5hZGQoJ2Nkay1nbG9iYWwtc2Nyb2xsYmxvY2snKTtcbiAgICAgIHRoaXMuX2lzRW5hYmxlZCA9IHRydWU7XG5cbiAgICAgIHRoaXMuX3VybFN1YnNjcmlwdGlvbiA9IHRoaXMuX3JvdXRlclN0YXRlLnJvdXRlJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBza2lwKDEpLFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RpZE5hdmlnYXRlID0gdHJ1ZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgZGlzYWJsZSgpIHtcbiAgICBpZiAodGhpcy5faXNFbmFibGVkKSB7XG4gICAgICB0aGlzLl91cmxTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgIGNvbnN0IGh0bWwgPSB0aGlzLl9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBjb25zdCBib2R5ID0gdGhpcy5fZG9jdW1lbnQuYm9keTtcbiAgICAgIGNvbnN0IGh0bWxTdHlsZSA9IGh0bWwuc3R5bGU7XG4gICAgICBjb25zdCBib2R5U3R5bGUgPSBib2R5LnN0eWxlO1xuICAgICAgY29uc3QgcHJldmlvdXNIdG1sU2Nyb2xsQmVoYXZpb3IgPSBodG1sU3R5bGUuc2Nyb2xsQmVoYXZpb3IgfHwgJyc7XG4gICAgICBjb25zdCBwcmV2aW91c0JvZHlTY3JvbGxCZWhhdmlvciA9IGJvZHlTdHlsZS5zY3JvbGxCZWhhdmlvciB8fCAnJztcblxuICAgICAgdGhpcy5faXNFbmFibGVkID0gZmFsc2U7XG5cbiAgICAgIGh0bWxTdHlsZS5sZWZ0ID0gdGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLmxlZnQ7XG4gICAgICBodG1sU3R5bGUudG9wID0gdGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLnRvcDtcbiAgICAgIGh0bWwuY2xhc3NMaXN0LnJlbW92ZSgnY2RrLWdsb2JhbC1zY3JvbGxibG9jaycpO1xuXG4gICAgICBpZiAoc2Nyb2xsQmVoYXZpb3JTdXBwb3J0ZWQpIHtcbiAgICAgICAgaHRtbFN0eWxlLnNjcm9sbEJlaGF2aW9yID0gYm9keVN0eWxlLnNjcm9sbEJlaGF2aW9yID0gJ2F1dG8nO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuX2RpZE5hdmlnYXRlKSB7XG4gICAgICAgIHdpbmRvdy5zY3JvbGwodGhpcy5fcHJldmlvdXNTY3JvbGxQb3NpdGlvbi5sZWZ0LCB0aGlzLl9wcmV2aW91c1Njcm9sbFBvc2l0aW9uLnRvcCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzY3JvbGxCZWhhdmlvclN1cHBvcnRlZCkge1xuICAgICAgICBodG1sU3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSBwcmV2aW91c0h0bWxTY3JvbGxCZWhhdmlvcjtcbiAgICAgICAgYm9keVN0eWxlLnNjcm9sbEJlaGF2aW9yID0gcHJldmlvdXNCb2R5U2Nyb2xsQmVoYXZpb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2FuQmVFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGh0bWwgPSB0aGlzLl9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICBpZiAoaHRtbC5jbGFzc0xpc3QuY29udGFpbnMoJ2Nkay1nbG9iYWwtc2Nyb2xsYmxvY2snKSB8fCB0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
|