@taiga-ui/core 2.25.0 → 2.26.0

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.
Files changed (37) hide show
  1. package/bundles/taiga-ui-core-components-hints-host.umd.js +15 -8
  2. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +2 -2
  4. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-link.umd.js +5 -4
  6. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-link.umd.min.js +2 -2
  8. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  10. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  12. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  13. package/components/hints-host/hint-box/hint-box.component.d.ts +4 -2
  14. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  15. package/components/link/link.component.d.ts +1 -0
  16. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  17. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  18. package/constants/version.d.ts +1 -1
  19. package/esm2015/components/hints-host/hint-box/hint-box.component.js +10 -6
  20. package/esm2015/components/link/link.component.js +5 -3
  21. package/esm2015/constants/version.js +2 -2
  22. package/esm5/components/hints-host/hint-box/hint-box.component.js +14 -6
  23. package/esm5/components/link/link.component.js +5 -3
  24. package/esm5/constants/version.js +2 -2
  25. package/fesm2015/taiga-ui-core-components-hints-host.js +9 -6
  26. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  27. package/fesm2015/taiga-ui-core-components-link.js +4 -2
  28. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  29. package/fesm2015/taiga-ui-core-constants.js +1 -1
  30. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  31. package/fesm5/taiga-ui-core-components-hints-host.js +13 -6
  32. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  33. package/fesm5/taiga-ui-core-components-link.js +4 -2
  34. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  35. package/fesm5/taiga-ui-core-constants.js +1 -1
  36. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  37. package/package.json +5 -3
@@ -1,8 +1,9 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Input, NgZone, ViewChild, } from '@angular/core';
3
3
  import { ANIMATION_FRAME, WINDOW } from '@ng-web-apis/common';
4
- import { px, TUI_IS_MOBILE, TuiDestroyService, tuiPure, tuiZonefree } from '@taiga-ui/cdk';
4
+ import { px, TuiDestroyService, tuiPure, tuiZonefree } from '@taiga-ui/cdk';
5
5
  import { TuiPointerHintDirective } from '@taiga-ui/core/directives/pointer-hint';
6
+ import { TUI_MEDIA } from '@taiga-ui/core/tokens';
6
7
  import { Observable } from 'rxjs';
7
8
  import { takeUntil } from 'rxjs/operators';
8
9
  import { TuiHintsHostComponent } from '../hints-host.component';
@@ -33,10 +34,10 @@ const reverseDirectionsHorizontal = {
33
34
  // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
34
35
  // @dynamic
35
36
  let TuiHintBoxComponent = class TuiHintBoxComponent {
36
- constructor(animationFrame$, destroy$, ngZone, elementRef, windowRef, isMobile, hintsHost) {
37
+ constructor(animationFrame$, destroy$, ngZone, elementRef, windowRef, media, hintsHost) {
37
38
  this.elementRef = elementRef;
38
39
  this.windowRef = windowRef;
39
- this.isMobile = isMobile;
40
+ this.media = media;
40
41
  this.hintsHost = hintsHost;
41
42
  animationFrame$.pipe(tuiZonefree(ngZone), takeUntil(destroy$)).subscribe(() => {
42
43
  this.calculatePosition();
@@ -48,6 +49,9 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
48
49
  get mode() {
49
50
  return this.hint.mode;
50
51
  }
52
+ get isMobile() {
53
+ return this.windowRef.innerWidth <= this.media.mobile;
54
+ }
51
55
  /**
52
56
  * Calculates wrapper position.
53
57
  * Styles are set directly to avoid visual shake of element
@@ -185,7 +189,7 @@ TuiHintBoxComponent.ctorParameters = () => [
185
189
  { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
186
190
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
187
191
  { type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] },
188
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] },
192
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_MEDIA,] }] },
189
193
  { type: TuiHintsHostComponent, decorators: [{ type: Inject, args: [TuiHintsHostComponent,] }] }
190
194
  ];
191
195
  __decorate([
@@ -214,8 +218,8 @@ TuiHintBoxComponent = __decorate([
214
218
  __param(2, Inject(NgZone)),
215
219
  __param(3, Inject(ElementRef)),
216
220
  __param(4, Inject(WINDOW)),
217
- __param(5, Inject(TUI_IS_MOBILE)),
221
+ __param(5, Inject(TUI_MEDIA)),
218
222
  __param(6, Inject(TuiHintsHostComponent))
219
223
  ], TuiHintBoxComponent);
220
224
  export { TuiHintBoxComponent };
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4RSxNQUFNLHlCQUF5QixHQUEwQztJQUNyRSxVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixhQUFhLEVBQUUsVUFBVTtJQUN6QixjQUFjLEVBQUUsV0FBVztJQUMzQixJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxNQUFNO0NBQ2hCLENBQUM7QUFDRixNQUFNLDJCQUEyQixHQUEwQztJQUN2RSxVQUFVLEVBQUUsV0FBVztJQUN2QixXQUFXLEVBQUUsVUFBVTtJQUN2QixhQUFhLEVBQUUsY0FBYztJQUM3QixjQUFjLEVBQUUsYUFBYTtJQUM3QixJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxNQUFNO0NBQ2hCLENBQUM7QUFFRix5RUFBeUU7QUFDekUsOEZBQThGO0FBQzlGLFdBQVc7QUFRWCxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQU81QixZQUM2QixlQUFtQyxFQUNqQyxRQUEwQixFQUNyQyxNQUFjLEVBQ08sVUFBbUMsRUFDdkMsU0FBaUIsRUFDbEIsUUFBaUIsRUFFaEMsU0FBZ0M7UUFKWixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFFaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFFakQsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFJRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLFlBQVksdUJBQXVCLENBQUM7SUFDeEQsQ0FBQztJQUdELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQy9CO2FBQU07WUFDSCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFFbEMsT0FBTztTQUNWO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxPQUFPLENBQUM7UUFDeEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDcEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxVQUFVLEdBQW1CO1lBQy9CLE1BQU07WUFDTixPQUFPO1lBQ1AsYUFBYTtZQUNiLGNBQWM7WUFDZCxVQUFVO1lBQ1YsV0FBVztTQUNkLENBQUM7UUFFRixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUU1QixNQUFNLGFBQWEsR0FDZixRQUFRLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDakYsTUFBTSxjQUFjLEdBQ2hCLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNoRSxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDakYsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNoRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDL0UsTUFBTSxhQUFhLEdBQUcsVUFBVTtZQUM1QixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSTtZQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzlFLE1BQU0sWUFBWSxHQUFHLFVBQVU7WUFDM0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJO1lBQ3RFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDYixXQUFXLENBQUMsS0FBSztnQkFDakIsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFdEIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxFQUFFO1lBQ1QsUUFBUSxTQUFTLEVBQUU7Z0JBQ2YsS0FBSyxNQUFNO29CQUNQLEdBQUcsR0FBRyxhQUFhLENBQUM7b0JBQ3BCLElBQUksR0FBRyxjQUFjLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1YsS0FBSyxPQUFPO29CQUNSLEdBQUcsR0FBRyxhQUFhLENBQUM7b0JBQ3BCLElBQUksR0FBRyxlQUFlLENBQUM7b0JBQ3ZCLE1BQU07Z0JBQ1YsS0FBSyxXQUFXO29CQUNaLEdBQUcsR0FBRyxXQUFXLENBQUM7b0JBQ2xCLElBQUksR0FBRyxhQUFhLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1YsS0FBSyxVQUFVO29CQUNYLEdBQUcsR0FBRyxXQUFXLENBQUM7b0JBQ2xCLElBQUksR0FBRyxZQUFZLENBQUM7b0JBQ3BCLE1BQU07Z0JBQ1YsS0FBSyxjQUFjO29CQUNmLEdBQUcsR0FBRyxjQUFjLENBQUM7b0JBQ3JCLElBQUksR0FBRyxhQUFhLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1YsS0FBSyxhQUFhO29CQUNkLEdBQUcsR0FBRyxjQUFjLENBQUM7b0JBQ3JCLElBQUksR0FBRyxZQUFZLENBQUM7b0JBQ3BCLE1BQU07YUFDYjtZQUVELE1BQU0sV0FBVyxHQUNiLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLEtBQUs7Z0JBQzVCLEdBQUcsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRztvQkFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDbkMsTUFBTSxhQUFhLEdBQ2YsSUFBSSxHQUFHLEtBQUs7Z0JBQ1osSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUUxRSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxFQUFFO2dCQUMzRCxNQUFNO2FBQ1Q7WUFFRCxTQUFTLEdBQUcsV0FBVztnQkFDbkIsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLFNBQVM7Z0JBQ0wsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztTQUMzRTtRQUVELEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRCLE9BQU8sQ0FBQyxZQUFZLENBQUMseUJBQXlCLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLDBCQUEwQjtRQUM5QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUN4QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDL0UsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNoRSxNQUFNLGNBQWMsR0FDaEIsV0FBVyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEdBQUcsS0FBSztZQUNwQyxRQUFRLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1FBQzlDLE1BQU0saUJBQWlCLEdBQ25CLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNuQixRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FDWCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN6RSxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDbkIsTUFBTSxhQUFhLEdBQ2YsVUFBVSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2pCLGFBQWEsR0FBRyxXQUFXLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSztZQUN4RCxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUs7WUFDOUMsQ0FBQyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxHQUFHLENBQUMsQ0FDWixDQUFDO1FBRUYsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsS0FBSyxDQUFDLEdBQUcsR0FBRyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FDcEMsUUFBUSxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxHQUFHLENBQUM7Z0JBQzNELENBQUMsQ0FBQyxZQUFZO2dCQUNkLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUNuRSxDQUFDO1NBQ0w7UUFFRCxPQUFPLENBQUMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxpQkFBaUI7UUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2xELE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUU5QyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQy9FLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsWUFBWSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzdELEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztDQUNKLENBQUE7O1lBekxpRCxVQUFVLHVCQUFuRCxNQUFNLFNBQUMsZUFBZTtZQUNjLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxpQkFBaUI7WUFDRCxNQUFNLHVCQUE3QixNQUFNLFNBQUMsTUFBTTtZQUNtQyxVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTtZQUMwQixNQUFNLHVCQUFqRCxNQUFNLFNBQUMsTUFBTTswQ0FDYixNQUFNLFNBQUMsYUFBYTtZQUVPLHFCQUFxQix1QkFEaEQsTUFBTSxTQUFDLHFCQUFxQjs7QUFaakM7SUFEQyxLQUFLLEVBQUU7aURBQ2U7QUFHdkI7SUFEQyxTQUFTLENBQUMsT0FBTyxDQUFDO2tEQUM4QjtBQW1CakQ7SUFGQyxPQUFPO0lBQ1AsV0FBVyxDQUFDLG9CQUFvQixDQUFDO3dEQUdqQztBQUdEO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOytDQUc3QjtBQS9CUSxtQkFBbUI7SUFQL0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5Qiw0T0FBdUM7UUFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O0tBQ2pDLENBQUM7SUFTTyxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNyQixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0dBZHpCLG1CQUFtQixDQWlNL0I7U0FqTVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7cHgsIFRVSV9JU19NT0JJTEUsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb2ludGVyLWhpbnQnO1xuaW1wb3J0IHtUdWlEaXJlY3Rpb24sIFR1aUhpbnRNb2RlVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSGludHNIb3N0Q29tcG9uZW50fSBmcm9tICcuLi9oaW50cy1ob3N0LmNvbXBvbmVudCc7XG5cbmNvbnN0IFNQQUNFID0gODtcbmNvbnN0IEJPUkRFUl9XSURUSCA9IDE7XG5jb25zdCBMRUZUX1BBRERJTkcgPSAxNjtcbmNvbnN0IFRPUF9QQURESU5HID0gMTI7XG5jb25zdCBBUlJPV19TSVpFID0gODtcbmNvbnN0IEFSUk9XX09GRlNFVCA9IDE2O1xuY29uc3QgQVJST1dIRUFEX09GRlNFVCA9IEFSUk9XX09GRlNFVCArIChBUlJPV19TSVpFICogTWF0aC5zcXJ0KDIpKSAvIDI7XG5jb25zdCByZXZlcnNlRGlyZWN0aW9uc1ZlcnRpY2FsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICdib3R0b20tbGVmdCcsXG4gICAgJ3RvcC1yaWdodCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tbGVmdCc6ICd0b3AtbGVmdCcsXG4gICAgJ2JvdHRvbS1yaWdodCc6ICd0b3AtcmlnaHQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5jb25zdCByZXZlcnNlRGlyZWN0aW9uc0hvcml6b250YWw6IHtba2V5IGluIFR1aURpcmVjdGlvbl06IFR1aURpcmVjdGlvbn0gPSB7XG4gICAgJ3RvcC1sZWZ0JzogJ3RvcC1yaWdodCcsXG4gICAgJ3RvcC1yaWdodCc6ICd0b3AtbGVmdCcsXG4gICAgJ2JvdHRvbS1sZWZ0JzogJ2JvdHRvbS1yaWdodCcsXG4gICAgJ2JvdHRvbS1yaWdodCc6ICdib3R0b20tbGVmdCcsXG4gICAgbGVmdDogJ3JpZ2h0JyxcbiAgICByaWdodDogJ2xlZnQnLFxufTtcblxuLy8gVE9ETzogY29uc2lkZXIgYWJzdHJhY3RpbmcgVUkgYW5kIG1vdmUgdG8gQ0RLLCBzcGxpdCBoaW50IGFuZCBvdmVyZmxvd1xuLy8gQW1iaWVudCB0eXBlIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgZHluYW1pYyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMzM5NVxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWhpbnQtYm94W2hpbnRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGludC1ib3gudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGludC1ib3guc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSGludEJveENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBoaW50ITogQWJzdHJhY3RUdWlIaW50O1xuXG4gICAgQFZpZXdDaGlsZCgnYXJyb3cnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3c/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVHVpSGludHNIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRzSG9zdDogVHVpSGludHNIb3N0Q29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBhbmltYXRpb25GcmFtZSQucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3VudG91Y2hhYmxlJylcbiAgICBnZXQgaXNVbnRvdWNoYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludCBpbnN0YW5jZW9mIFR1aVBvaW50ZXJIaW50RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW1vZGUnKVxuICAgIGdldCBtb2RlKCk6IFR1aUhpbnRNb2RlVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Lm1vZGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyB3cmFwcGVyIHBvc2l0aW9uLlxuICAgICAqIFN0eWxlcyBhcmUgc2V0IGRpcmVjdGx5IHRvIGF2b2lkIHZpc3VhbCBzaGFrZSBvZiBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQb3NpdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kZSAhPT0gJ292ZXJmbG93Jykge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVDb29yZGluYXRlcygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRPdmVyZmxvd1N0eWxlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgaXNIb3N0TG9uZyA9IGhvc3RSZWN0LndpZHRoID4gQVJST1dIRUFEX09GRlNFVCAqIDI7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbnM6IFR1aURpcmVjdGlvbltdID0gW1xuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgICdib3R0b20tbGVmdCcsXG4gICAgICAgICAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAgICAgICAgICd0b3AtbGVmdCcsXG4gICAgICAgICAgICAndG9wLXJpZ2h0JyxcbiAgICAgICAgXTtcblxuICAgICAgICBsZXQgdG9wID0gMDtcbiAgICAgICAgbGV0IGxlZnQgPSAwO1xuICAgICAgICBsZXQge2RpcmVjdGlvbn0gPSB0aGlzLmhpbnQ7XG5cbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFRvcCA9XG4gICAgICAgICAgICBob3N0UmVjdC50b3AgKyBob3N0UmVjdC5oZWlnaHQgLyAyIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCBob3Jpem9udGFsTGVmdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLSBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbFJpZ2h0ID0gaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoICsgU1BBQ0UgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tID0gaG9zdFJlY3QuYm90dG9tICsgU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFJpZ2h0ID0gaXNIb3N0TG9uZ1xuICAgICAgICAgICAgPyBob3N0UmVjdC5sZWZ0IC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgLSBBUlJPV0hFQURfT0ZGU0VUIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbExlZnQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCArIGhvc3RSZWN0LndpZHRoIC0gcG9ydGFsUmVjdC5sZWZ0XG4gICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgLVxuICAgICAgICAgICAgICB0b29sdGlwUmVjdC53aWR0aCArXG4gICAgICAgICAgICAgIGhvc3RSZWN0LndpZHRoIC8gMiArXG4gICAgICAgICAgICAgIEFSUk9XSEVBRF9PRkZTRVQgLVxuICAgICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQ7XG5cbiAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpO1xuXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gaG9yaXpvbnRhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGhvcml6b250YWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9wLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxMZWZ0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20tcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxCb3R0b207XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2ZXJ0aWNhbEZpdCA9XG4gICAgICAgICAgICAgICAgdG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIHRvcCArIHRvb2x0aXBSZWN0LmhlaWdodCArIFNQQUNFICsgcG9ydGFsUmVjdC50b3AgPFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGhvcml6b250YWxGaXQgPVxuICAgICAgICAgICAgICAgIGxlZnQgPiBTUEFDRSAmJlxuICAgICAgICAgICAgICAgIGxlZnQgKyB0b29sdGlwUmVjdC53aWR0aCArIFNQQUNFICsgcG9ydGFsUmVjdC5sZWZ0IDwgcG9ydGFsUmVjdC53aWR0aDtcblxuICAgICAgICAgICAgaWYgKGRpcmVjdGlvbnMubGVuZ3RoID09PSAwIHx8ICh2ZXJ0aWNhbEZpdCAmJiBob3Jpem9udGFsRml0KSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB2ZXJ0aWNhbEZpdFxuICAgICAgICAgICAgICAgID8gcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsW2RpcmVjdGlvbl1cbiAgICAgICAgICAgICAgICA6IHJldmVyc2VEaXJlY3Rpb25zVmVydGljYWxbZGlyZWN0aW9uXTtcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9ucy5zcGxpY2UoZGlyZWN0aW9ucy5pbmRleE9mKGRpcmVjdGlvbiksIDEpWzBdIHx8IGRpcmVjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KHRvcCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTW9iaWxlQ29vcmRpbmF0ZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBvcnRhbFJlY3QgPSB0aGlzLmhpbnRzSG9zdC5jbGllbnRSZWN0O1xuICAgICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0b29sdGlwO1xuICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wID0gaG9zdFJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcEZpdCA9XG4gICAgICAgICAgICB2ZXJ0aWNhbFRvcCArIHBvcnRhbFJlY3QudG9wID4gU1BBQ0UgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbUZpdCA9XG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gPiAwICYmXG4gICAgICAgICAgICBob3N0UmVjdC5ib3R0b20gKyAyICogU1BBQ0UgKyB0b29sdGlwUmVjdC5oZWlnaHQgPCB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICh0aGlzLmhpbnQuZGlyZWN0aW9uLmluY2x1ZGVzKCd0b3AnKSAmJiB2ZXJ0aWNhbFRvcEZpdCkgfHwgIXZlcnRpY2FsQm90dG9tRml0XG4gICAgICAgICAgICAgICAgPyAndG9wJ1xuICAgICAgICAgICAgICAgIDogJ2JvdHRvbSc7XG4gICAgICAgIGNvbnN0IGF0dGVtcHRlZExlZnQgPVxuICAgICAgICAgICAgcG9ydGFsUmVjdC5sZWZ0ICsgaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIHRvb2x0aXBSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgbGVmdCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgYXR0ZW1wdGVkTGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgPiBwb3J0YWxSZWN0LnJpZ2h0XG4gICAgICAgICAgICAgICAgPyBwb3J0YWxSZWN0LnJpZ2h0IC0gU1BBQ0UgLSB0b29sdGlwUmVjdC53aWR0aFxuICAgICAgICAgICAgICAgIDogYXR0ZW1wdGVkTGVmdCxcbiAgICAgICAgICAgIFNQQUNFICogMixcbiAgICAgICAgKTtcblxuICAgICAgICBzdHlsZS5sZWZ0ID0gcHgobGVmdCk7XG4gICAgICAgIHN0eWxlLnRvcCA9IGRpcmVjdGlvbiA9PT0gJ3RvcCcgPyBweCh2ZXJ0aWNhbFRvcCkgOiBweCh2ZXJ0aWNhbEJvdHRvbSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXJyb3cpIHtcbiAgICAgICAgICAgIHRoaXMuYXJyb3cubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gcHgoXG4gICAgICAgICAgICAgICAgaG9zdFJlY3QubGVmdCA8PSBTUEFDRSAqIDIgJiYgaG9zdFJlY3Qud2lkdGggPiBBUlJPV19PRkZTRVQgKiAyXG4gICAgICAgICAgICAgICAgICAgID8gQVJST1dfT0ZGU0VUXG4gICAgICAgICAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIGxlZnQgLSBBUlJPV19TSVpFIC8gMixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0b29sdGlwLnNldEF0dHJpYnV0ZSgnZGF0YS10dWktaG9zdC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0T3ZlcmZsb3dTdHlsZXMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBzdHlsZS50b3AgPSBweChob3N0UmVjdC50b3AgLSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBUT1BfUEFERElORyAtIEJPUkRFUl9XSURUSCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChob3N0UmVjdC5sZWZ0IC0gTEVGVF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUud2lkdGggPSBweChob3N0UmVjdC53aWR0aCArIExFRlRfUEFERElORyAqIDIgKyBCT1JERVJfV0lEVEggKiAyKTtcbiAgICB9XG59XG4iXX0=
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4RSxNQUFNLHlCQUF5QixHQUEwQztJQUNyRSxVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixhQUFhLEVBQUUsVUFBVTtJQUN6QixjQUFjLEVBQUUsV0FBVztJQUMzQixJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxNQUFNO0NBQ2hCLENBQUM7QUFDRixNQUFNLDJCQUEyQixHQUEwQztJQUN2RSxVQUFVLEVBQUUsV0FBVztJQUN2QixXQUFXLEVBQUUsVUFBVTtJQUN2QixhQUFhLEVBQUUsY0FBYztJQUM3QixjQUFjLEVBQUUsYUFBYTtJQUM3QixJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxNQUFNO0NBQ2hCLENBQUM7QUFFRix5RUFBeUU7QUFDekUsOEZBQThGO0FBQzlGLFdBQVc7QUFRWCxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQU81QixZQUM2QixlQUFtQyxFQUNqQyxRQUEwQixFQUNyQyxNQUFjLEVBQ08sVUFBbUMsRUFDdkMsU0FBaUIsRUFDZCxLQUFlLEVBRWxDLFNBQWdDO1FBSlosZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDdkMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQVU7UUFFbEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFFakQsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFJRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLFlBQVksdUJBQXVCLENBQUM7SUFDeEQsQ0FBQztJQUdELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQjtRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQy9CO2FBQU07WUFDSCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFFbEMsT0FBTztTQUNWO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxPQUFPLENBQUM7UUFDeEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDcEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxVQUFVLEdBQW1CO1lBQy9CLE1BQU07WUFDTixPQUFPO1lBQ1AsYUFBYTtZQUNiLGNBQWM7WUFDZCxVQUFVO1lBQ1YsV0FBVztTQUNkLENBQUM7UUFFRixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDWixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLEVBQUMsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUU1QixNQUFNLGFBQWEsR0FDZixRQUFRLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDakYsTUFBTSxjQUFjLEdBQ2hCLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUNoRSxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDakYsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNoRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDL0UsTUFBTSxhQUFhLEdBQUcsVUFBVTtZQUM1QixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSTtZQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzlFLE1BQU0sWUFBWSxHQUFHLFVBQVU7WUFDM0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJO1lBQ3RFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDYixXQUFXLENBQUMsS0FBSztnQkFDakIsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFdEIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXBELE9BQU8sSUFBSSxFQUFFO1lBQ1QsUUFBUSxTQUFTLEVBQUU7Z0JBQ2YsS0FBSyxNQUFNO29CQUNQLEdBQUcsR0FBRyxhQUFhLENBQUM7b0JBQ3BCLElBQUksR0FBRyxjQUFjLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1YsS0FBSyxPQUFPO29CQUNSLEdBQUcsR0FBRyxhQUFhLENBQUM7b0JBQ3BCLElBQUksR0FBRyxlQUFlLENBQUM7b0JBQ3ZCLE1BQU07Z0JBQ1YsS0FBSyxXQUFXO29CQUNaLEdBQUcsR0FBRyxXQUFXLENBQUM7b0JBQ2xCLElBQUksR0FBRyxhQUFhLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1YsS0FBSyxVQUFVO29CQUNYLEdBQUcsR0FBRyxXQUFXLENBQUM7b0JBQ2xCLElBQUksR0FBRyxZQUFZLENBQUM7b0JBQ3BCLE1BQU07Z0JBQ1YsS0FBSyxjQUFjO29CQUNmLEdBQUcsR0FBRyxjQUFjLENBQUM7b0JBQ3JCLElBQUksR0FBRyxhQUFhLENBQUM7b0JBQ3JCLE1BQU07Z0JBQ1YsS0FBSyxhQUFhO29CQUNkLEdBQUcsR0FBRyxjQUFjLENBQUM7b0JBQ3JCLElBQUksR0FBRyxZQUFZLENBQUM7b0JBQ3BCLE1BQU07YUFDYjtZQUVELE1BQU0sV0FBVyxHQUNiLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLEtBQUs7Z0JBQzVCLEdBQUcsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRztvQkFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7WUFDbkMsTUFBTSxhQUFhLEdBQ2YsSUFBSSxHQUFHLEtBQUs7Z0JBQ1osSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUUxRSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxFQUFFO2dCQUMzRCxNQUFNO2FBQ1Q7WUFFRCxTQUFTLEdBQUcsV0FBVztnQkFDbkIsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzNDLFNBQVM7Z0JBQ0wsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztTQUMzRTtRQUVELEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRCLE9BQU8sQ0FBQyxZQUFZLENBQUMseUJBQXlCLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLDBCQUEwQjtRQUM5QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUN4QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDL0UsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNoRSxNQUFNLGNBQWMsR0FDaEIsV0FBVyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEdBQUcsS0FBSztZQUNwQyxRQUFRLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1FBQzlDLE1BQU0saUJBQWlCLEdBQ25CLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNuQixRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUNsRixNQUFNLFNBQVMsR0FDWCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUN6RSxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDbkIsTUFBTSxhQUFhLEdBQ2YsVUFBVSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQ2pCLGFBQWEsR0FBRyxXQUFXLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSztZQUN4RCxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUs7WUFDOUMsQ0FBQyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxHQUFHLENBQUMsQ0FDWixDQUFDO1FBRUYsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsS0FBSyxDQUFDLEdBQUcsR0FBRyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FDcEMsUUFBUSxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxHQUFHLENBQUM7Z0JBQzNELENBQUMsQ0FBQyxZQUFZO2dCQUNkLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUNuRSxDQUFDO1NBQ0w7UUFFRCxPQUFPLENBQUMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxpQkFBaUI7UUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2xELE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUU5QyxLQUFLLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQy9FLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsWUFBWSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzdELEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxHQUFHLENBQUMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztDQUNKLENBQUE7O1lBN0xpRCxVQUFVLHVCQUFuRCxNQUFNLFNBQUMsZUFBZTtZQUNjLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxpQkFBaUI7WUFDRCxNQUFNLHVCQUE3QixNQUFNLFNBQUMsTUFBTTtZQUNtQyxVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTtZQUMwQixNQUFNLHVCQUFqRCxNQUFNLFNBQUMsTUFBTTs0Q0FDYixNQUFNLFNBQUMsU0FBUztZQUVXLHFCQUFxQix1QkFEaEQsTUFBTSxTQUFDLHFCQUFxQjs7QUFaakM7SUFEQyxLQUFLLEVBQUU7aURBQ2U7QUFHdkI7SUFEQyxTQUFTLENBQUMsT0FBTyxDQUFDO2tEQUM4QjtBQW1CakQ7SUFGQyxPQUFPO0lBQ1AsV0FBVyxDQUFDLG9CQUFvQixDQUFDO3dEQUdqQztBQUdEO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDOytDQUc3QjtBQS9CUSxtQkFBbUI7SUFQL0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5Qiw0T0FBdUM7UUFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O0tBQ2pDLENBQUM7SUFTTyxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0dBZHpCLG1CQUFtQixDQXFNL0I7U0FyTVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7cHgsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb2ludGVyLWhpbnQnO1xuaW1wb3J0IHtUdWlNZWRpYX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NRURJQX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhpbnRzSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaGludHMtaG9zdC5jb21wb25lbnQnO1xuXG5jb25zdCBTUEFDRSA9IDg7XG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuY29uc3QgTEVGVF9QQURESU5HID0gMTY7XG5jb25zdCBUT1BfUEFERElORyA9IDEyO1xuY29uc3QgQVJST1dfU0laRSA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAxNjtcbmNvbnN0IEFSUk9XSEVBRF9PRkZTRVQgPSBBUlJPV19PRkZTRVQgKyAoQVJST1dfU0laRSAqIE1hdGguc3FydCgyKSkgLyAyO1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAnYm90dG9tLWxlZnQnLFxuICAgICd0b3AtcmlnaHQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tcmlnaHQnOiAndG9wLXJpZ2h0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICd0b3AtcmlnaHQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tcmlnaHQnOiAnYm90dG9tLWxlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIGFic3RyYWN0aW5nIFVJIGFuZCBtb3ZlIHRvIENESywgc3BsaXQgaGludCBhbmQgb3ZlcmZsb3dcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50LWJveFtoaW50XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpbnQtYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQtYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRCb3hDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGludCE6IEFic3RyYWN0VHVpSGludDtcblxuICAgIEBWaWV3Q2hpbGQoJ2Fycm93JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9NRURJQSkgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogVHVpTWVkaWEsXG4gICAgICAgIEBJbmplY3QoVHVpSGludHNIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRzSG9zdDogVHVpSGludHNIb3N0Q29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBhbmltYXRpb25GcmFtZSQucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3VudG91Y2hhYmxlJylcbiAgICBnZXQgaXNVbnRvdWNoYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludCBpbnN0YW5jZW9mIFR1aVBvaW50ZXJIaW50RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW1vZGUnKVxuICAgIGdldCBtb2RlKCk6IFR1aUhpbnRNb2RlVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Lm1vZGU7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aCA8PSB0aGlzLm1lZGlhLm1vYmlsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHdyYXBwZXIgcG9zaXRpb24uXG4gICAgICogU3R5bGVzIGFyZSBzZXQgZGlyZWN0bHkgdG8gYXZvaWQgdmlzdWFsIHNoYWtlIG9mIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlICE9PSAnb3ZlcmZsb3cnKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvb3JkaW5hdGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldE92ZXJmbG93U3R5bGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvb3JkaW5hdGVzKCkge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuaGludC5nZXRFbGVtZW50Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBwb3J0YWxSZWN0ID0gdGhpcy5oaW50c0hvc3QuY2xpZW50UmVjdDtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdG9vbHRpcDtcbiAgICAgICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0b29sdGlwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBpc0hvc3RMb25nID0gaG9zdFJlY3Qud2lkdGggPiBBUlJPV0hFQURfT0ZGU0VUICogMjtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uczogVHVpRGlyZWN0aW9uW10gPSBbXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgJ2JvdHRvbS1sZWZ0JyxcbiAgICAgICAgICAgICdib3R0b20tcmlnaHQnLFxuICAgICAgICAgICAgJ3RvcC1sZWZ0JyxcbiAgICAgICAgICAgICd0b3AtcmlnaHQnLFxuICAgICAgICBdO1xuXG4gICAgICAgIGxldCB0b3AgPSAwO1xuICAgICAgICBsZXQgbGVmdCA9IDA7XG4gICAgICAgIGxldCB7ZGlyZWN0aW9ufSA9IHRoaXMuaGludDtcblxuICAgICAgICBjb25zdCBob3Jpem9udGFsVG9wID1cbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCArIGhvc3RSZWN0LmhlaWdodCAvIDIgLSB0b29sdGlwUmVjdC5oZWlnaHQgLyAyIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IGhvcml6b250YWxMZWZ0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCAtIFNQQUNFIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBob3Jpem9udGFsUmlnaHQgPSBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggKyBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcCA9IGhvc3RSZWN0LnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCAtIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsUmlnaHQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIEFSUk9XSEVBRF9PRkZTRVQgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsTGVmdCA9IGlzSG9zdExvbmdcbiAgICAgICAgICAgID8gaG9zdFJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoICsgaG9zdFJlY3Qud2lkdGggLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCAtXG4gICAgICAgICAgICAgIHRvb2x0aXBSZWN0LndpZHRoICtcbiAgICAgICAgICAgICAgaG9zdFJlY3Qud2lkdGggLyAyICtcbiAgICAgICAgICAgICAgQVJST1dIRUFEX09GRlNFVCAtXG4gICAgICAgICAgICAgIHBvcnRhbFJlY3QubGVmdDtcblxuICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSk7XG5cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IGhvcml6b250YWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBob3Jpem9udGFsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsQm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsRml0ID1cbiAgICAgICAgICAgICAgICB0b3AgKyBwb3J0YWxSZWN0LnRvcCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgdG9wICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgU1BBQ0UgKyBwb3J0YWxSZWN0LnRvcCA8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbEZpdCA9XG4gICAgICAgICAgICAgICAgbGVmdCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgbGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgKyBwb3J0YWxSZWN0LmxlZnQgPCBwb3J0YWxSZWN0LndpZHRoO1xuXG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9ucy5sZW5ndGggPT09IDAgfHwgKHZlcnRpY2FsRml0ICYmIGhvcml6b250YWxGaXQpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpcmVjdGlvbiA9IHZlcnRpY2FsRml0XG4gICAgICAgICAgICAgICAgPyByZXZlcnNlRGlyZWN0aW9uc0hvcml6b250YWxbZGlyZWN0aW9uXVxuICAgICAgICAgICAgICAgIDogcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbFtkaXJlY3Rpb25dO1xuICAgICAgICAgICAgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSlbMF0gfHwgZGlyZWN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUudG9wID0gcHgodG9wKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbSA9IGhvc3RSZWN0LmJvdHRvbSArIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wRml0ID1cbiAgICAgICAgICAgIHZlcnRpY2FsVG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgaG9zdFJlY3QudG9wIDwgdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tRml0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSA+IDAgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSArIDIgKiBTUEFDRSArIHRvb2x0aXBSZWN0LmhlaWdodCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPVxuICAgICAgICAgICAgKHRoaXMuaGludC5kaXJlY3Rpb24uaW5jbHVkZXMoJ3RvcCcpICYmIHZlcnRpY2FsVG9wRml0KSB8fCAhdmVydGljYWxCb3R0b21GaXRcbiAgICAgICAgICAgICAgICA/ICd0b3AnXG4gICAgICAgICAgICAgICAgOiAnYm90dG9tJztcbiAgICAgICAgY29uc3QgYXR0ZW1wdGVkTGVmdCA9XG4gICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQgKyBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBsZWZ0ID0gTWF0aC5tYXgoXG4gICAgICAgICAgICBhdHRlbXB0ZWRMZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGggKyBTUEFDRSA+IHBvcnRhbFJlY3QucmlnaHRcbiAgICAgICAgICAgICAgICA/IHBvcnRhbFJlY3QucmlnaHQgLSBTUEFDRSAtIHRvb2x0aXBSZWN0LndpZHRoXG4gICAgICAgICAgICAgICAgOiBhdHRlbXB0ZWRMZWZ0LFxuICAgICAgICAgICAgU1BBQ0UgKiAyLFxuICAgICAgICApO1xuXG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgc3R5bGUudG9wID0gZGlyZWN0aW9uID09PSAndG9wJyA/IHB4KHZlcnRpY2FsVG9wKSA6IHB4KHZlcnRpY2FsQm90dG9tKTtcblxuICAgICAgICBpZiAodGhpcy5hcnJvdykge1xuICAgICAgICAgICAgdGhpcy5hcnJvdy5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBweChcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5sZWZ0IDw9IFNQQUNFICogMiAmJiBob3N0UmVjdC53aWR0aCA+IEFSUk9XX09GRlNFVCAqIDJcbiAgICAgICAgICAgICAgICAgICAgPyBBUlJPV19PRkZTRVRcbiAgICAgICAgICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gbGVmdCAtIEFSUk9XX1NJWkUgLyAyLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRPdmVyZmxvd1N0eWxlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KGhvc3RSZWN0LnRvcCAtIHdpbmRvdy5pbm5lckhlaWdodCAtIFRPUF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGhvc3RSZWN0LmxlZnQgLSBMRUZUX1BBRERJTkcgLSBCT1JERVJfV0lEVEgpO1xuICAgICAgICBzdHlsZS53aWR0aCA9IHB4KGhvc3RSZWN0LndpZHRoICsgTEVGVF9QQURESU5HICogMiArIEJPUkRFUl9XSURUSCAqIDIpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  var TuiLinkComponent_1;
2
2
  import { __decorate, __param } from "tslib";
3
3
  import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Inject, Input, } from '@angular/core';
4
- import { isNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, TuiDestroyService, TuiFocusableElementAccessor, TuiFocusVisibleService, TuiNativeFocusableElement, } from '@taiga-ui/cdk';
4
+ import { isNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, TuiDestroyService, TuiFocusableElementAccessor, TuiFocusVisibleService, TuiNativeFocusableElement, typedFromEvent, } from '@taiga-ui/cdk';
5
5
  import { MODE_PROVIDER } from '@taiga-ui/core/providers';
6
6
  import { TUI_MODE } from '@taiga-ui/core/tokens';
7
- import { Observable } from 'rxjs';
7
+ import { merge, Observable } from 'rxjs';
8
+ import { mapTo } from 'rxjs/operators';
8
9
  // @bad TODO: Think about extending Interactive
9
10
  let TuiLinkComponent = TuiLinkComponent_1 = class TuiLinkComponent {
10
11
  constructor(elementRef, mode$, focusVisible$) {
@@ -16,6 +17,7 @@ let TuiLinkComponent = TuiLinkComponent_1 = class TuiLinkComponent {
16
17
  this.iconRotated = false;
17
18
  this.mode = null;
18
19
  this.focusVisible = false;
20
+ this.focusedChange = merge(typedFromEvent(this.elementRef.nativeElement, 'focusin').pipe(mapTo(true)), typedFromEvent(this.elementRef.nativeElement, 'focusout').pipe(mapTo(false)));
19
21
  focusVisible$.subscribe(visible => {
20
22
  this.focusVisible = visible;
21
23
  });
@@ -92,4 +94,4 @@ TuiLinkComponent = TuiLinkComponent_1 = __decorate([
92
94
  __param(2, Inject(TuiFocusVisibleService))
93
95
  ], TuiLinkComponent);
94
96
  export { TuiLinkComponent };
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xpbmsvIiwic291cmNlcyI6WyJsaW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLHlCQUF5QixHQUM1QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsK0NBQStDO0FBb0IvQyxJQUFhLGdCQUFnQix3QkFBN0IsTUFBYSxnQkFBZ0I7SUEyQnpCLFlBRXFCLFVBQWlELEVBQ3ZDLEtBQXVDLEVBRWxFLGFBQXFDO1FBSHBCLGVBQVUsR0FBVixVQUFVLENBQXVDO1FBQ3ZDLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBMUJ0RSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFJM0IsY0FBUyxHQUEyQixPQUFPLENBQUM7UUFLNUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFLcEIsU0FBSSxHQUFtQyxJQUFJLENBQUM7UUFHNUMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFTakIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7SUFDdEQsQ0FBQztDQUNKLENBQUE7O1lBN0JvQyxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtZQUVnQixVQUFVLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTtZQUVELHNCQUFzQix1QkFEcEMsTUFBTSxTQUFDLHNCQUFzQjs7QUEzQmxDO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLGVBQWUsQ0FBQztJQUM1QixjQUFjLEVBQUU7Z0RBQ0Y7QUFJZjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTs4Q0FDVTtBQUkzQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTttREFDMkI7QUFLNUM7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMscUJBQXFCLENBQUM7SUFDbEMsY0FBYyxFQUFFO3FEQUNHO0FBS3BCO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLHFCQUFxQixDQUFDO0lBQ2xDLGNBQWMsRUFBRTs4Q0FDMkI7QUFHNUM7SUFEQyxXQUFXLENBQUMsc0JBQXNCLENBQUM7c0RBQ2Y7QUF6QlosZ0JBQWdCO0lBbkI1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsNkJBQTZCO1FBQ3ZDLDBQQUFtQztRQUVuQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFnQixDQUFDO2FBQ2xEO1lBQ0Qsc0JBQXNCO1lBQ3RCLGlCQUFpQjtZQUNqQixhQUFhO1NBQ2hCO1FBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsUUFBUSxFQUFFLFNBQVM7UUFDbkIsSUFBSSxFQUFFO1lBQ0Ysb0JBQW9CLEVBQUUsT0FBTztTQUNoQzs7S0FDSixDQUFDO0lBNkJPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRWxCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7R0EvQjFCLGdCQUFnQixDQTBENUI7U0ExRFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9NT0RFfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzLCBUdWlIb3Jpem9udGFsRGlyZWN0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGV4dGVuZGluZyBJbnRlcmFjdGl2ZVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhW3R1aUxpbmtdLCBidXR0b25bdHVpTGlua10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5rLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmsuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlMaW5rQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBleHBvcnRBczogJ3R1aUxpbmsnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9wc2V1ZG8nKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHNldWRvID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWNvbkFsaWduOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uID0gJ3JpZ2h0JztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faWNvbi1yb3RhdGVkJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25Sb3RhdGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhvc3QtbW9kZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb2RlOiAncG9zaXRpdmUnIHwgJ25lZ2F0aXZlJyB8IG51bGwgPSBudWxsO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZm9jdXMtdmlzaWJsZScpXG4gICAgZm9jdXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8VHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUdWlGb2N1c1Zpc2libGVTZXJ2aWNlKVxuICAgICAgICBmb2N1c1Zpc2libGUkOiBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBmb2N1c1Zpc2libGUkLnN1YnNjcmliZSh2aXNpYmxlID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNWaXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBoYXNJY29uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uICE9PSBudWxsO1xuICAgIH1cblxuICAgIGdldCBpY29uQWxpZ25MZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNJY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAnbGVmdCc7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNJY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAncmlnaHQnO1xuICAgIH1cbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xpbmsvIiwic291cmNlcyI6WyJsaW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLCtDQUErQztBQW9CL0MsSUFBYSxnQkFBZ0Isd0JBQTdCLE1BQWEsZ0JBQWdCO0lBZ0N6QixZQUVxQixVQUFpRCxFQUN2QyxLQUF1QyxFQUVsRSxhQUFxQztRQUhwQixlQUFVLEdBQVYsVUFBVSxDQUF1QztRQUN2QyxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQS9CdEUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlmLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBSTNCLGNBQVMsR0FBMkIsT0FBTyxDQUFDO1FBSzVDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBS3BCLFNBQUksR0FBbUMsSUFBSSxDQUFDO1FBRzVDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRVosa0JBQWEsR0FBRyxLQUFLLENBQzFCLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQy9FLENBQUM7UUFTRSxhQUFhLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQztJQUN0RCxDQUFDO0NBQ0osQ0FBQTs7WUE3Qm9DLFVBQVUsdUJBRHRDLE1BQU0sU0FBQyxVQUFVO1lBRWdCLFVBQVUsdUJBQTNDLE1BQU0sU0FBQyxRQUFRO1lBRUQsc0JBQXNCLHVCQURwQyxNQUFNLFNBQUMsc0JBQXNCOztBQWhDbEM7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMsZUFBZSxDQUFDO0lBQzVCLGNBQWMsRUFBRTtnREFDRjtBQUlmO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzhDQUNVO0FBSTNCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO21EQUMyQjtBQUs1QztJQUhDLEtBQUssRUFBRTtJQUNQLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQztJQUNsQyxjQUFjLEVBQUU7cURBQ0c7QUFLcEI7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMscUJBQXFCLENBQUM7SUFDbEMsY0FBYyxFQUFFOzhDQUMyQjtBQUc1QztJQURDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztzREFDZjtBQXpCWixnQkFBZ0I7SUFuQjVCLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSw2QkFBNkI7UUFDdkMsMFBBQW1DO1FBRW5DLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWdCLENBQUM7YUFDbEQ7WUFDRCxzQkFBc0I7WUFDdEIsaUJBQWlCO1lBQ2pCLGFBQWE7U0FDaEI7UUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxRQUFRLEVBQUUsU0FBUztRQUNuQixJQUFJLEVBQUU7WUFDRixvQkFBb0IsRUFBRSxPQUFPO1NBQ2hDOztLQUNKLENBQUM7SUFrQ08sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFFbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDaEIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtHQXBDMUIsZ0JBQWdCLENBK0Q1QjtTQS9EWSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7TU9ERV9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX01PREV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3MsIFR1aUhvcml6b250YWxEaXJlY3Rpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7bWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXBUb30gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGV4dGVuZGluZyBJbnRlcmFjdGl2ZVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhW3R1aUxpbmtdLCBidXR0b25bdHVpTGlua10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5rLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmsuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlMaW5rQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBleHBvcnRBczogJ3R1aUxpbmsnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB7XG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9wc2V1ZG8nKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHNldWRvID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWNvbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWNvbkFsaWduOiBUdWlIb3Jpem9udGFsRGlyZWN0aW9uID0gJ3JpZ2h0JztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faWNvbi1yb3RhdGVkJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25Sb3RhdGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWhvc3QtbW9kZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtb2RlOiAncG9zaXRpdmUnIHwgJ25lZ2F0aXZlJyB8IG51bGwgPSBudWxsO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZm9jdXMtdmlzaWJsZScpXG4gICAgZm9jdXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICByZWFkb25seSBmb2N1c2VkQ2hhbmdlID0gbWVyZ2UoXG4gICAgICAgIHR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9jdXNpbicpLnBpcGUobWFwVG8odHJ1ZSkpLFxuICAgICAgICB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3Vzb3V0JykucGlwZShtYXBUbyhmYWxzZSkpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8VHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUdWlGb2N1c1Zpc2libGVTZXJ2aWNlKVxuICAgICAgICBmb2N1c1Zpc2libGUkOiBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBmb2N1c1Zpc2libGUkLnN1YnNjcmliZSh2aXNpYmxlID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNWaXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBoYXNJY29uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pY29uICE9PSBudWxsO1xuICAgIH1cblxuICAgIGdldCBpY29uQWxpZ25MZWZ0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNJY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAnbGVmdCc7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNJY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAncmlnaHQnO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.25.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMjUuMCc7XG4iXX0=
1
+ export const VERSION = '2.26.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMjYuMCc7XG4iXX0=
@@ -1,8 +1,9 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Input, NgZone, ViewChild, } from '@angular/core';
3
3
  import { ANIMATION_FRAME, WINDOW } from '@ng-web-apis/common';
4
- import { px, TUI_IS_MOBILE, TuiDestroyService, tuiPure, tuiZonefree } from '@taiga-ui/cdk';
4
+ import { px, TuiDestroyService, tuiPure, tuiZonefree } from '@taiga-ui/cdk';
5
5
  import { TuiPointerHintDirective } from '@taiga-ui/core/directives/pointer-hint';
6
+ import { TUI_MEDIA } from '@taiga-ui/core/tokens';
6
7
  import { Observable } from 'rxjs';
7
8
  import { takeUntil } from 'rxjs/operators';
8
9
  import { TuiHintsHostComponent } from '../hints-host.component';
@@ -33,11 +34,11 @@ var reverseDirectionsHorizontal = {
33
34
  // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
34
35
  // @dynamic
35
36
  var TuiHintBoxComponent = /** @class */ (function () {
36
- function TuiHintBoxComponent(animationFrame$, destroy$, ngZone, elementRef, windowRef, isMobile, hintsHost) {
37
+ function TuiHintBoxComponent(animationFrame$, destroy$, ngZone, elementRef, windowRef, media, hintsHost) {
37
38
  var _this = this;
38
39
  this.elementRef = elementRef;
39
40
  this.windowRef = windowRef;
40
- this.isMobile = isMobile;
41
+ this.media = media;
41
42
  this.hintsHost = hintsHost;
42
43
  animationFrame$.pipe(tuiZonefree(ngZone), takeUntil(destroy$)).subscribe(function () {
43
44
  _this.calculatePosition();
@@ -57,6 +58,13 @@ var TuiHintBoxComponent = /** @class */ (function () {
57
58
  enumerable: true,
58
59
  configurable: true
59
60
  });
61
+ Object.defineProperty(TuiHintBoxComponent.prototype, "isMobile", {
62
+ get: function () {
63
+ return this.windowRef.innerWidth <= this.media.mobile;
64
+ },
65
+ enumerable: true,
66
+ configurable: true
67
+ });
60
68
  /**
61
69
  * Calculates wrapper position.
62
70
  * Styles are set directly to avoid visual shake of element
@@ -193,7 +201,7 @@ var TuiHintBoxComponent = /** @class */ (function () {
193
201
  { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
194
202
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
195
203
  { type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] },
196
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] },
204
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_MEDIA,] }] },
197
205
  { type: TuiHintsHostComponent, decorators: [{ type: Inject, args: [TuiHintsHostComponent,] }] }
198
206
  ]; };
199
207
  __decorate([
@@ -222,10 +230,10 @@ var TuiHintBoxComponent = /** @class */ (function () {
222
230
  __param(2, Inject(NgZone)),
223
231
  __param(3, Inject(ElementRef)),
224
232
  __param(4, Inject(WINDOW)),
225
- __param(5, Inject(TUI_IS_MOBILE)),
233
+ __param(5, Inject(TUI_MEDIA)),
226
234
  __param(6, Inject(TuiHintsHostComponent))
227
235
  ], TuiHintBoxComponent);
228
236
  return TuiHintBoxComponent;
229
237
  }());
230
238
  export { TuiHintBoxComponent };
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsSUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLElBQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLElBQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4RSxJQUFNLHlCQUF5QixHQUEw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UUFQL0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9CQUFvQjtZQUM5Qiw0T0FBdUM7WUFFdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7O1NBQ2pDLENBQUM7UUFTTyxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUN2QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDZCxXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNyQixXQUFBLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO09BZHpCLG1CQUFtQixDQWlNL0I7SUFBRCwwQkFBQztDQUFBLEFBak1ELElBaU1DO1NBak1ZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUUsIFdJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3B4LCBUVUlfSVNfTU9CSUxFLCBUdWlEZXN0cm95U2VydmljZSwgdHVpUHVyZSwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUhpbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VHVpUG9pbnRlckhpbnREaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvcG9pbnRlci1oaW50JztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhpbnRzSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaGludHMtaG9zdC5jb21wb25lbnQnO1xuXG5jb25zdCBTUEFDRSA9IDg7XG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuY29uc3QgTEVGVF9QQURESU5HID0gMTY7XG5jb25zdCBUT1BfUEFERElORyA9IDEyO1xuY29uc3QgQVJST1dfU0laRSA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAxNjtcbmNvbnN0IEFSUk9XSEVBRF9PRkZTRVQgPSBBUlJPV19PRkZTRVQgKyAoQVJST1dfU0laRSAqIE1hdGguc3FydCgyKSkgLyAyO1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAnYm90dG9tLWxlZnQnLFxuICAgICd0b3AtcmlnaHQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tcmlnaHQnOiAndG9wLXJpZ2h0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICd0b3AtcmlnaHQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tcmlnaHQnOiAnYm90dG9tLWxlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIGFic3RyYWN0aW5nIFVJIGFuZCBtb3ZlIHRvIENESywgc3BsaXQgaGludCBhbmQgb3ZlcmZsb3dcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50LWJveFtoaW50XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpbnQtYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQtYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRCb3hDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGludCE6IEFic3RyYWN0VHVpSGludDtcblxuICAgIEBWaWV3Q2hpbGQoJ2Fycm93JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFR1aUhpbnRzSG9zdENvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBoaW50c0hvc3Q6IFR1aUhpbnRzSG9zdENvbXBvbmVudCxcbiAgICApIHtcbiAgICAgICAgYW5pbWF0aW9uRnJhbWUkLnBpcGUodHVpWm9uZWZyZWUobmdab25lKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl91bnRvdWNoYWJsZScpXG4gICAgZ2V0IGlzVW50b3VjaGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnQgaW5zdGFuY2VvZiBUdWlQb2ludGVySGludERpcmVjdGl2ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1tb2RlJylcbiAgICBnZXQgbW9kZSgpOiBUdWlIaW50TW9kZVQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludC5tb2RlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgd3JhcHBlciBwb3NpdGlvbi5cbiAgICAgKiBTdHlsZXMgYXJlIHNldCBkaXJlY3RseSB0byBhdm9pZCB2aXN1YWwgc2hha2Ugb2YgZWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgY2FsY3VsYXRlUG9zaXRpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgIT09ICdvdmVyZmxvdycpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlQ29vcmRpbmF0ZXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0T3ZlcmZsb3dTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlQ29vcmRpbmF0ZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZU1vYmlsZUNvb3JkaW5hdGVzKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5oaW50LmdldEVsZW1lbnRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHBvcnRhbFJlY3QgPSB0aGlzLmhpbnRzSG9zdC5jbGllbnRSZWN0O1xuICAgICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0b29sdGlwO1xuICAgICAgICBjb25zdCB0b29sdGlwUmVjdCA9IHRvb2x0aXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGlzSG9zdExvbmcgPSBob3N0UmVjdC53aWR0aCA+IEFSUk9XSEVBRF9PRkZTRVQgKiAyO1xuICAgICAgICBjb25zdCBkaXJlY3Rpb25zOiBUdWlEaXJlY3Rpb25bXSA9IFtcbiAgICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAnYm90dG9tLWxlZnQnLFxuICAgICAgICAgICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgICAgICAgICAndG9wLWxlZnQnLFxuICAgICAgICAgICAgJ3RvcC1yaWdodCcsXG4gICAgICAgIF07XG5cbiAgICAgICAgbGV0IHRvcCA9IDA7XG4gICAgICAgIGxldCBsZWZ0ID0gMDtcbiAgICAgICAgbGV0IHtkaXJlY3Rpb259ID0gdGhpcy5oaW50O1xuXG4gICAgICAgIGNvbnN0IGhvcml6b250YWxUb3AgPVxuICAgICAgICAgICAgaG9zdFJlY3QudG9wICsgaG9zdFJlY3QuaGVpZ2h0IC8gMiAtIHRvb2x0aXBSZWN0LmhlaWdodCAvIDIgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgaG9yaXpvbnRhbExlZnQgPVxuICAgICAgICAgICAgaG9zdFJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoIC0gU1BBQ0UgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IGhvcml6b250YWxSaWdodCA9IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCArIFNQQUNFIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbSA9IGhvc3RSZWN0LmJvdHRvbSArIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wID0gaG9zdFJlY3QudG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC0gU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxSaWdodCA9IGlzSG9zdExvbmdcbiAgICAgICAgICAgID8gaG9zdFJlY3QubGVmdCAtIHBvcnRhbFJlY3QubGVmdFxuICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gQVJST1dIRUFEX09GRlNFVCAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgdmVydGljYWxMZWZ0ID0gaXNIb3N0TG9uZ1xuICAgICAgICAgICAgPyBob3N0UmVjdC5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggKyBob3N0UmVjdC53aWR0aCAtIHBvcnRhbFJlY3QubGVmdFxuICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0IC1cbiAgICAgICAgICAgICAgdG9vbHRpcFJlY3Qud2lkdGggK1xuICAgICAgICAgICAgICBob3N0UmVjdC53aWR0aCAvIDIgK1xuICAgICAgICAgICAgICBBUlJPV0hFQURfT0ZGU0VUIC1cbiAgICAgICAgICAgICAgcG9ydGFsUmVjdC5sZWZ0O1xuXG4gICAgICAgIGRpcmVjdGlvbnMuc3BsaWNlKGRpcmVjdGlvbnMuaW5kZXhPZihkaXJlY3Rpb24pLCAxKTtcblxuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gaG9yaXpvbnRhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGhvcml6b250YWxMZWZ0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IGhvcml6b250YWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBob3Jpem9udGFsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9wLWxlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tLXJpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxCb3R0b207XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20tbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsQm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxMZWZ0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdmVydGljYWxGaXQgPVxuICAgICAgICAgICAgICAgIHRvcCArIHBvcnRhbFJlY3QudG9wID4gU1BBQ0UgJiZcbiAgICAgICAgICAgICAgICB0b3AgKyB0b29sdGlwUmVjdC5oZWlnaHQgKyBTUEFDRSArIHBvcnRhbFJlY3QudG9wIDxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBob3Jpem9udGFsRml0ID1cbiAgICAgICAgICAgICAgICBsZWZ0ID4gU1BBQ0UgJiZcbiAgICAgICAgICAgICAgICBsZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGggKyBTUEFDRSArIHBvcnRhbFJlY3QubGVmdCA8IHBvcnRhbFJlY3Qud2lkdGg7XG5cbiAgICAgICAgICAgIGlmIChkaXJlY3Rpb25zLmxlbmd0aCA9PT0gMCB8fCAodmVydGljYWxGaXQgJiYgaG9yaXpvbnRhbEZpdCkpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGlyZWN0aW9uID0gdmVydGljYWxGaXRcbiAgICAgICAgICAgICAgICA/IHJldmVyc2VEaXJlY3Rpb25zSG9yaXpvbnRhbFtkaXJlY3Rpb25dXG4gICAgICAgICAgICAgICAgOiByZXZlcnNlRGlyZWN0aW9uc1ZlcnRpY2FsW2RpcmVjdGlvbl07XG4gICAgICAgICAgICBkaXJlY3Rpb24gPVxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbnMuc3BsaWNlKGRpcmVjdGlvbnMuaW5kZXhPZihkaXJlY3Rpb24pLCAxKVswXSB8fCBkaXJlY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICBzdHlsZS50b3AgPSBweCh0b3ApO1xuICAgICAgICBzdHlsZS5sZWZ0ID0gcHgobGVmdCk7XG5cbiAgICAgICAgdG9vbHRpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtdHVpLWhvc3QtZGlyZWN0aW9uJywgZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1vYmlsZUNvb3JkaW5hdGVzKCkge1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuaGludC5nZXRFbGVtZW50Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBwb3J0YWxSZWN0ID0gdGhpcy5oaW50c0hvc3QuY2xpZW50UmVjdDtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdG9vbHRpcDtcbiAgICAgICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0b29sdGlwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcCA9IGhvc3RSZWN0LnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCAtIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tID0gaG9zdFJlY3QuYm90dG9tICsgU1BBQ0UgLSBwb3J0YWxSZWN0LnRvcDtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3BGaXQgPVxuICAgICAgICAgICAgdmVydGljYWxUb3AgKyBwb3J0YWxSZWN0LnRvcCA+IFNQQUNFICYmXG4gICAgICAgICAgICBob3N0UmVjdC50b3AgPCB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b21GaXQgPVxuICAgICAgICAgICAgaG9zdFJlY3QuYm90dG9tID4gMCAmJlxuICAgICAgICAgICAgaG9zdFJlY3QuYm90dG9tICsgMiAqIFNQQUNFICsgdG9vbHRpcFJlY3QuaGVpZ2h0IDwgdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9XG4gICAgICAgICAgICAodGhpcy5oaW50LmRpcmVjdGlvbi5pbmNsdWRlcygndG9wJykgJiYgdmVydGljYWxUb3BGaXQpIHx8ICF2ZXJ0aWNhbEJvdHRvbUZpdFxuICAgICAgICAgICAgICAgID8gJ3RvcCdcbiAgICAgICAgICAgICAgICA6ICdib3R0b20nO1xuICAgICAgICBjb25zdCBhdHRlbXB0ZWRMZWZ0ID1cbiAgICAgICAgICAgIHBvcnRhbFJlY3QubGVmdCArIGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgLSB0b29sdGlwUmVjdC53aWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IGxlZnQgPSBNYXRoLm1heChcbiAgICAgICAgICAgIGF0dGVtcHRlZExlZnQgKyB0b29sdGlwUmVjdC53aWR0aCArIFNQQUNFID4gcG9ydGFsUmVjdC5yaWdodFxuICAgICAgICAgICAgICAgID8gcG9ydGFsUmVjdC5yaWdodCAtIFNQQUNFIC0gdG9vbHRpcFJlY3Qud2lkdGhcbiAgICAgICAgICAgICAgICA6IGF0dGVtcHRlZExlZnQsXG4gICAgICAgICAgICBTUEFDRSAqIDIsXG4gICAgICAgICk7XG5cbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuICAgICAgICBzdHlsZS50b3AgPSBkaXJlY3Rpb24gPT09ICd0b3AnID8gcHgodmVydGljYWxUb3ApIDogcHgodmVydGljYWxCb3R0b20pO1xuXG4gICAgICAgIGlmICh0aGlzLmFycm93KSB7XG4gICAgICAgICAgICB0aGlzLmFycm93Lm5hdGl2ZUVsZW1lbnQuc3R5bGUubGVmdCA9IHB4KFxuICAgICAgICAgICAgICAgIGhvc3RSZWN0LmxlZnQgPD0gU1BBQ0UgKiAyICYmIGhvc3RSZWN0LndpZHRoID4gQVJST1dfT0ZGU0VUICogMlxuICAgICAgICAgICAgICAgICAgICA/IEFSUk9XX09GRlNFVFxuICAgICAgICAgICAgICAgICAgICA6IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDIgLSBsZWZ0IC0gQVJST1dfU0laRSAvIDIsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9vbHRpcC5zZXRBdHRyaWJ1dGUoJ2RhdGEtdHVpLWhvc3QtZGlyZWN0aW9uJywgZGlyZWN0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE92ZXJmbG93U3R5bGVzKCkge1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuaGludC5nZXRFbGVtZW50Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgc3R5bGUudG9wID0gcHgoaG9zdFJlY3QudG9wIC0gd2luZG93LmlubmVySGVpZ2h0IC0gVE9QX1BBRERJTkcgLSBCT1JERVJfV0lEVEgpO1xuICAgICAgICBzdHlsZS5sZWZ0ID0gcHgoaG9zdFJlY3QubGVmdCAtIExFRlRfUEFERElORyAtIEJPUkRFUl9XSURUSCk7XG4gICAgICAgIHN0eWxlLndpZHRoID0gcHgoaG9zdFJlY3Qud2lkdGggKyBMRUZUX1BBRERJTkcgKiAyICsgQk9SREVSX1dJRFRIICogMik7XG4gICAgfVxufVxuIl19
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9oaW50cy1ob3N0LyIsInNvdXJjZXMiOlsiaGludC1ib3gvaGludC1ib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsSUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLElBQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUN2QixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLElBQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUNyQixJQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsSUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFH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QUd2QjtRQURDLFNBQVMsQ0FBQyxPQUFPLENBQUM7c0RBQzhCO0lBbUJqRDtRQUZDLE9BQU87UUFDUCxXQUFXLENBQUMsb0JBQW9CLENBQUM7NERBR2pDO0lBR0Q7UUFEQyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7bURBRzdCO0lBL0JRLG1CQUFtQjtRQVAvQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLDRPQUF1QztZQUV2QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs7U0FDakMsQ0FBQztRQVNPLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNkLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pCLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7T0FkekIsbUJBQW1CLENBcU0vQjtJQUFELDBCQUFDO0NBQUEsQUFyTUQsSUFxTUM7U0FyTVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7cHgsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9wb2ludGVyLWhpbnQnO1xuaW1wb3J0IHtUdWlNZWRpYX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9NRURJQX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpRGlyZWN0aW9uLCBUdWlIaW50TW9kZVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUhpbnRzSG9zdENvbXBvbmVudH0gZnJvbSAnLi4vaGludHMtaG9zdC5jb21wb25lbnQnO1xuXG5jb25zdCBTUEFDRSA9IDg7XG5jb25zdCBCT1JERVJfV0lEVEggPSAxO1xuY29uc3QgTEVGVF9QQURESU5HID0gMTY7XG5jb25zdCBUT1BfUEFERElORyA9IDEyO1xuY29uc3QgQVJST1dfU0laRSA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAxNjtcbmNvbnN0IEFSUk9XSEVBRF9PRkZTRVQgPSBBUlJPV19PRkZTRVQgKyAoQVJST1dfU0laRSAqIE1hdGguc3FydCgyKSkgLyAyO1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbDoge1trZXkgaW4gVHVpRGlyZWN0aW9uXTogVHVpRGlyZWN0aW9ufSA9IHtcbiAgICAndG9wLWxlZnQnOiAnYm90dG9tLWxlZnQnLFxuICAgICd0b3AtcmlnaHQnOiAnYm90dG9tLXJpZ2h0JyxcbiAgICAnYm90dG9tLWxlZnQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tcmlnaHQnOiAndG9wLXJpZ2h0JyxcbiAgICBsZWZ0OiAncmlnaHQnLFxuICAgIHJpZ2h0OiAnbGVmdCcsXG59O1xuY29uc3QgcmV2ZXJzZURpcmVjdGlvbnNIb3Jpem9udGFsOiB7W2tleSBpbiBUdWlEaXJlY3Rpb25dOiBUdWlEaXJlY3Rpb259ID0ge1xuICAgICd0b3AtbGVmdCc6ICd0b3AtcmlnaHQnLFxuICAgICd0b3AtcmlnaHQnOiAndG9wLWxlZnQnLFxuICAgICdib3R0b20tbGVmdCc6ICdib3R0b20tcmlnaHQnLFxuICAgICdib3R0b20tcmlnaHQnOiAnYm90dG9tLWxlZnQnLFxuICAgIGxlZnQ6ICdyaWdodCcsXG4gICAgcmlnaHQ6ICdsZWZ0Jyxcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIGFic3RyYWN0aW5nIFVJIGFuZCBtb3ZlIHRvIENESywgc3BsaXQgaGludCBhbmQgb3ZlcmZsb3dcbi8vIEFtYmllbnQgdHlwZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGR5bmFtaWMgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMjMzOTVcbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50LWJveFtoaW50XScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hpbnQtYm94LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQtYm94LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRCb3hDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGludCE6IEFic3RyYWN0VHVpSGludDtcblxuICAgIEBWaWV3Q2hpbGQoJ2Fycm93JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICAgICBASW5qZWN0KFRVSV9NRURJQSkgcHJpdmF0ZSByZWFkb25seSBtZWRpYTogVHVpTWVkaWEsXG4gICAgICAgIEBJbmplY3QoVHVpSGludHNIb3N0Q29tcG9uZW50KVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnRzSG9zdDogVHVpSGludHNIb3N0Q29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBhbmltYXRpb25GcmFtZSQucGlwZSh0dWlab25lZnJlZShuZ1pvbmUpLCB0YWtlVW50aWwoZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3VudG91Y2hhYmxlJylcbiAgICBnZXQgaXNVbnRvdWNoYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludCBpbnN0YW5jZW9mIFR1aVBvaW50ZXJIaW50RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLW1vZGUnKVxuICAgIGdldCBtb2RlKCk6IFR1aUhpbnRNb2RlVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Lm1vZGU7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy53aW5kb3dSZWYuaW5uZXJXaWR0aCA8PSB0aGlzLm1lZGlhLm1vYmlsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHdyYXBwZXIgcG9zaXRpb24uXG4gICAgICogU3R5bGVzIGFyZSBzZXQgZGlyZWN0bHkgdG8gYXZvaWQgdmlzdWFsIHNoYWtlIG9mIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5tb2RlICE9PSAnb3ZlcmZsb3cnKSB7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZUNvb3JkaW5hdGVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldE92ZXJmbG93U3R5bGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvb3JkaW5hdGVzKCkge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuaGludC5nZXRFbGVtZW50Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBwb3J0YWxSZWN0ID0gdGhpcy5oaW50c0hvc3QuY2xpZW50UmVjdDtcbiAgICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7c3R5bGV9ID0gdG9vbHRpcDtcbiAgICAgICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0b29sdGlwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBpc0hvc3RMb25nID0gaG9zdFJlY3Qud2lkdGggPiBBUlJPV0hFQURfT0ZGU0VUICogMjtcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uczogVHVpRGlyZWN0aW9uW10gPSBbXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgJ2JvdHRvbS1sZWZ0JyxcbiAgICAgICAgICAgICdib3R0b20tcmlnaHQnLFxuICAgICAgICAgICAgJ3RvcC1sZWZ0JyxcbiAgICAgICAgICAgICd0b3AtcmlnaHQnLFxuICAgICAgICBdO1xuXG4gICAgICAgIGxldCB0b3AgPSAwO1xuICAgICAgICBsZXQgbGVmdCA9IDA7XG4gICAgICAgIGxldCB7ZGlyZWN0aW9ufSA9IHRoaXMuaGludDtcblxuICAgICAgICBjb25zdCBob3Jpem9udGFsVG9wID1cbiAgICAgICAgICAgIGhvc3RSZWN0LnRvcCArIGhvc3RSZWN0LmhlaWdodCAvIDIgLSB0b29sdGlwUmVjdC5oZWlnaHQgLyAyIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IGhvcml6b250YWxMZWZ0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCAtIFNQQUNFIC0gcG9ydGFsUmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBob3Jpem9udGFsUmlnaHQgPSBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggKyBTUEFDRSAtIHBvcnRhbFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgdmVydGljYWxCb3R0b20gPSBob3N0UmVjdC5ib3R0b20gKyBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbFRvcCA9IGhvc3RSZWN0LnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCAtIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsUmlnaHQgPSBpc0hvc3RMb25nXG4gICAgICAgICAgICA/IGhvc3RSZWN0LmxlZnQgLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMiAtIEFSUk9XSEVBRF9PRkZTRVQgLSBwb3J0YWxSZWN0LmxlZnQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsTGVmdCA9IGlzSG9zdExvbmdcbiAgICAgICAgICAgID8gaG9zdFJlY3QubGVmdCAtIHRvb2x0aXBSZWN0LndpZHRoICsgaG9zdFJlY3Qud2lkdGggLSBwb3J0YWxSZWN0LmxlZnRcbiAgICAgICAgICAgIDogaG9zdFJlY3QubGVmdCAtXG4gICAgICAgICAgICAgIHRvb2x0aXBSZWN0LndpZHRoICtcbiAgICAgICAgICAgICAgaG9zdFJlY3Qud2lkdGggLyAyICtcbiAgICAgICAgICAgICAgQVJST1dIRUFEX09GRlNFVCAtXG4gICAgICAgICAgICAgIHBvcnRhbFJlY3QubGVmdDtcblxuICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSk7XG5cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IGhvcml6b250YWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSBob3Jpem9udGFsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSBob3Jpem9udGFsVG9wO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaG9yaXpvbnRhbFJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AtcmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbFRvcDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsUmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RvcC1sZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gdmVydGljYWxUb3A7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQgPSB2ZXJ0aWNhbExlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbS1yaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IHZlcnRpY2FsQm90dG9tO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gdmVydGljYWxSaWdodDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tLWxlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0b3AgPSB2ZXJ0aWNhbEJvdHRvbTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHZlcnRpY2FsTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsRml0ID1cbiAgICAgICAgICAgICAgICB0b3AgKyBwb3J0YWxSZWN0LnRvcCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgdG9wICsgdG9vbHRpcFJlY3QuaGVpZ2h0ICsgU1BBQ0UgKyBwb3J0YWxSZWN0LnRvcCA8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbEZpdCA9XG4gICAgICAgICAgICAgICAgbGVmdCA+IFNQQUNFICYmXG4gICAgICAgICAgICAgICAgbGVmdCArIHRvb2x0aXBSZWN0LndpZHRoICsgU1BBQ0UgKyBwb3J0YWxSZWN0LmxlZnQgPCBwb3J0YWxSZWN0LndpZHRoO1xuXG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9ucy5sZW5ndGggPT09IDAgfHwgKHZlcnRpY2FsRml0ICYmIGhvcml6b250YWxGaXQpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpcmVjdGlvbiA9IHZlcnRpY2FsRml0XG4gICAgICAgICAgICAgICAgPyByZXZlcnNlRGlyZWN0aW9uc0hvcml6b250YWxbZGlyZWN0aW9uXVxuICAgICAgICAgICAgICAgIDogcmV2ZXJzZURpcmVjdGlvbnNWZXJ0aWNhbFtkaXJlY3Rpb25dO1xuICAgICAgICAgICAgZGlyZWN0aW9uID1cbiAgICAgICAgICAgICAgICBkaXJlY3Rpb25zLnNwbGljZShkaXJlY3Rpb25zLmluZGV4T2YoZGlyZWN0aW9uKSwgMSlbMF0gfHwgZGlyZWN0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUudG9wID0gcHgodG9wKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGxlZnQpO1xuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNb2JpbGVDb29yZGluYXRlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHRoaXMuaGludHNIb3N0LmNsaWVudFJlY3Q7XG4gICAgICAgIGNvbnN0IHRvb2x0aXAgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRvb2x0aXA7XG4gICAgICAgIGNvbnN0IHRvb2x0aXBSZWN0ID0gdG9vbHRpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgdmVydGljYWxUb3AgPSBob3N0UmVjdC50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLSBTUEFDRSAtIHBvcnRhbFJlY3QudG9wO1xuICAgICAgICBjb25zdCB2ZXJ0aWNhbEJvdHRvbSA9IGhvc3RSZWN0LmJvdHRvbSArIFNQQUNFIC0gcG9ydGFsUmVjdC50b3A7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsVG9wRml0ID1cbiAgICAgICAgICAgIHZlcnRpY2FsVG9wICsgcG9ydGFsUmVjdC50b3AgPiBTUEFDRSAmJlxuICAgICAgICAgICAgaG9zdFJlY3QudG9wIDwgdGhpcy53aW5kb3dSZWYuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHZlcnRpY2FsQm90dG9tRml0ID1cbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSA+IDAgJiZcbiAgICAgICAgICAgIGhvc3RSZWN0LmJvdHRvbSArIDIgKiBTUEFDRSArIHRvb2x0aXBSZWN0LmhlaWdodCA8IHRoaXMud2luZG93UmVmLmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPVxuICAgICAgICAgICAgKHRoaXMuaGludC5kaXJlY3Rpb24uaW5jbHVkZXMoJ3RvcCcpICYmIHZlcnRpY2FsVG9wRml0KSB8fCAhdmVydGljYWxCb3R0b21GaXRcbiAgICAgICAgICAgICAgICA/ICd0b3AnXG4gICAgICAgICAgICAgICAgOiAnYm90dG9tJztcbiAgICAgICAgY29uc3QgYXR0ZW1wdGVkTGVmdCA9XG4gICAgICAgICAgICBwb3J0YWxSZWN0LmxlZnQgKyBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCBsZWZ0ID0gTWF0aC5tYXgoXG4gICAgICAgICAgICBhdHRlbXB0ZWRMZWZ0ICsgdG9vbHRpcFJlY3Qud2lkdGggKyBTUEFDRSA+IHBvcnRhbFJlY3QucmlnaHRcbiAgICAgICAgICAgICAgICA/IHBvcnRhbFJlY3QucmlnaHQgLSBTUEFDRSAtIHRvb2x0aXBSZWN0LndpZHRoXG4gICAgICAgICAgICAgICAgOiBhdHRlbXB0ZWRMZWZ0LFxuICAgICAgICAgICAgU1BBQ0UgKiAyLFxuICAgICAgICApO1xuXG4gICAgICAgIHN0eWxlLmxlZnQgPSBweChsZWZ0KTtcbiAgICAgICAgc3R5bGUudG9wID0gZGlyZWN0aW9uID09PSAndG9wJyA/IHB4KHZlcnRpY2FsVG9wKSA6IHB4KHZlcnRpY2FsQm90dG9tKTtcblxuICAgICAgICBpZiAodGhpcy5hcnJvdykge1xuICAgICAgICAgICAgdGhpcy5hcnJvdy5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBweChcbiAgICAgICAgICAgICAgICBob3N0UmVjdC5sZWZ0IDw9IFNQQUNFICogMiAmJiBob3N0UmVjdC53aWR0aCA+IEFSUk9XX09GRlNFVCAqIDJcbiAgICAgICAgICAgICAgICAgICAgPyBBUlJPV19PRkZTRVRcbiAgICAgICAgICAgICAgICAgICAgOiBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyIC0gbGVmdCAtIEFSUk9XX1NJWkUgLyAyLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRvb2x0aXAuc2V0QXR0cmlidXRlKCdkYXRhLXR1aS1ob3N0LWRpcmVjdGlvbicsIGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRPdmVyZmxvd1N0eWxlcygpIHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmhpbnQuZ2V0RWxlbWVudENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHN0eWxlLnRvcCA9IHB4KGhvc3RSZWN0LnRvcCAtIHdpbmRvdy5pbm5lckhlaWdodCAtIFRPUF9QQURESU5HIC0gQk9SREVSX1dJRFRIKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHB4KGhvc3RSZWN0LmxlZnQgLSBMRUZUX1BBRERJTkcgLSBCT1JERVJfV0lEVEgpO1xuICAgICAgICBzdHlsZS53aWR0aCA9IHB4KGhvc3RSZWN0LndpZHRoICsgTEVGVF9QQURESU5HICogMiArIEJPUkRFUl9XSURUSCAqIDIpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,9 +1,10 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Inject, Input, } from '@angular/core';
3
- import { isNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, TuiDestroyService, TuiFocusableElementAccessor, TuiFocusVisibleService, TuiNativeFocusableElement, } from '@taiga-ui/cdk';
3
+ import { isNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, TuiDestroyService, TuiFocusableElementAccessor, TuiFocusVisibleService, TuiNativeFocusableElement, typedFromEvent, } from '@taiga-ui/cdk';
4
4
  import { MODE_PROVIDER } from '@taiga-ui/core/providers';
5
5
  import { TUI_MODE } from '@taiga-ui/core/tokens';
6
- import { Observable } from 'rxjs';
6
+ import { merge, Observable } from 'rxjs';
7
+ import { mapTo } from 'rxjs/operators';
7
8
  // @bad TODO: Think about extending Interactive
8
9
  var TuiLinkComponent = /** @class */ (function () {
9
10
  function TuiLinkComponent(elementRef, mode$, focusVisible$) {
@@ -16,6 +17,7 @@ var TuiLinkComponent = /** @class */ (function () {
16
17
  this.iconRotated = false;
17
18
  this.mode = null;
18
19
  this.focusVisible = false;
20
+ this.focusedChange = merge(typedFromEvent(this.elementRef.nativeElement, 'focusin').pipe(mapTo(true)), typedFromEvent(this.elementRef.nativeElement, 'focusout').pipe(mapTo(false)));
19
21
  focusVisible$.subscribe(function (visible) {
20
22
  _this.focusVisible = visible;
21
23
  });
@@ -115,4 +117,4 @@ var TuiLinkComponent = /** @class */ (function () {
115
117
  return TuiLinkComponent;
116
118
  }());
117
119
  export { TuiLinkComponent };
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xpbmsvIiwic291cmNlcyI6WyJsaW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIseUJBQXlCLEdBQzVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQywrQ0FBK0M7QUFvQi9DO0lBMkJJLDBCQUVxQixVQUFpRCxFQUN2QyxLQUF1QyxFQUVsRSxhQUFxQztRQUx6QyxpQkFVQztRQVJvQixlQUFVLEdBQVYsVUFBVSxDQUF1QztRQUN2QyxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQTFCdEUsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlmLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBSTNCLGNBQVMsR0FBMkIsT0FBTyxDQUFDO1FBSzVDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBS3BCLFNBQUksR0FBbUMsSUFBSSxDQUFDO1FBRzVDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBU2pCLGFBQWEsQ0FBQyxTQUFTLENBQUMsVUFBQSxPQUFPO1lBQzNCLEtBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt5QkFyQ1EsZ0JBQWdCO0lBdUN6QixzQkFBSSxvREFBc0I7YUFBMUI7WUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3pDLENBQUM7OztPQUFBO0lBRUQsc0JBQUkscUNBQU87YUFBWDtZQUNJLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hELENBQUM7OztPQUFBO0lBRUQsc0JBQUkscUNBQU87YUFBWDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7UUFDOUIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQ0FBYTthQUFqQjtZQUNJLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQztRQUNyRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDRDQUFjO2FBQWxCO1lBQ0ksT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDO1FBQ3RELENBQUM7OztPQUFBOzs7Z0JBNUJnQyxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtnQkFFZ0IsVUFBVSx1QkFBM0MsTUFBTSxTQUFDLFFBQVE7Z0JBRUQsc0JBQXNCLHVCQURwQyxNQUFNLFNBQUMsc0JBQXNCOztJQTNCbEM7UUFIQyxLQUFLLEVBQUU7UUFDUCxXQUFXLENBQUMsZUFBZSxDQUFDO1FBQzVCLGNBQWMsRUFBRTtvREFDRjtJQUlmO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO2tEQUNVO0lBSTNCO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3VEQUMyQjtJQUs1QztRQUhDLEtBQUssRUFBRTtRQUNQLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQztRQUNsQyxjQUFjLEVBQUU7eURBQ0c7SUFLcEI7UUFIQyxLQUFLLEVBQUU7UUFDUCxXQUFXLENBQUMscUJBQXFCLENBQUM7UUFDbEMsY0FBYyxFQUFFO2tEQUMyQjtJQUc1QztRQURDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQzswREFDZjtJQXpCWixnQkFBZ0I7UUFuQjVCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSw2QkFBNkI7WUFDdkMsMFBBQW1DO1lBRW5DLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsMkJBQTJCO29CQUNwQyxXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSxrQkFBZ0IsRUFBaEIsQ0FBZ0IsQ0FBQztpQkFDbEQ7Z0JBQ0Qsc0JBQXNCO2dCQUN0QixpQkFBaUI7Z0JBQ2pCLGFBQWE7YUFDaEI7WUFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxRQUFRLEVBQUUsU0FBUztZQUNuQixJQUFJLEVBQUU7Z0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTzthQUNoQzs7U0FDSixDQUFDO1FBNkJPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRWxCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hCLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7T0EvQjFCLGdCQUFnQixDQTBENUI7SUFBRCx1QkFBQztDQUFBLEFBMURELElBMERDO1NBMURZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtNT0RFX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfTU9ERX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQnJpZ2h0bmVzcywgVHVpSG9yaXpvbnRhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBleHRlbmRpbmcgSW50ZXJhY3RpdmVcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYVt0dWlMaW5rXSwgYnV0dG9uW3R1aUxpbmtdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluay50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saW5rLnN0eWxlLmxlc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpTGlua0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UsXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICd0dWlMaW5rJyxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiAnbW9kZSQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcHNldWRvJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBzZXVkbyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25BbGlnbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9ICdyaWdodCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2ljb24tcm90YXRlZCcpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uUm90YXRlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1ob3N0LW1vZGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9kZTogJ3Bvc2l0aXZlJyB8ICduZWdhdGl2ZScgfCBudWxsID0gbnVsbDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2ZvY3VzLXZpc2libGUnKVxuICAgIGZvY3VzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVHVpRm9jdXNWaXNpYmxlU2VydmljZSlcbiAgICAgICAgZm9jdXNWaXNpYmxlJDogVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgZm9jdXNWaXNpYmxlJC5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaGFzSWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbiAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzSWNvbiAmJiB0aGlzLmljb25BbGlnbiA9PT0gJ2xlZnQnO1xuICAgIH1cblxuICAgIGdldCBpY29uQWxpZ25SaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzSWNvbiAmJiB0aGlzLmljb25BbGlnbiA9PT0gJ3JpZ2h0JztcbiAgICB9XG59XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xpbmsvIiwic291cmNlcyI6WyJsaW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIseUJBQXlCLEVBQ3pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsK0NBQStDO0FBb0IvQztJQWdDSSwwQkFFcUIsVUFBaUQsRUFDdkMsS0FBdUMsRUFFbEUsYUFBcUM7UUFMekMsaUJBVUM7UUFSb0IsZUFBVSxHQUFWLFVBQVUsQ0FBdUM7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUEvQnRFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJZixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUkzQixjQUFTLEdBQTJCLE9BQU8sQ0FBQztRQUs1QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUtwQixTQUFJLEdBQW1DLElBQUksQ0FBQztRQUc1QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVaLGtCQUFhLEdBQUcsS0FBSyxDQUMxQixjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMxRSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMvRSxDQUFDO1FBU0UsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFBLE9BQU87WUFDM0IsS0FBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3lCQTFDUSxnQkFBZ0I7SUE0Q3pCLHNCQUFJLG9EQUFzQjthQUExQjtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDekMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQ0FBTzthQUFYO1lBQ0ksT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDeEQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQ0FBTzthQUFYO1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztRQUM5QixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDJDQUFhO2FBQWpCO1lBQ0ksT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDO1FBQ3JELENBQUM7OztPQUFBO0lBRUQsc0JBQUksNENBQWM7YUFBbEI7WUFDSSxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7UUFDdEQsQ0FBQzs7O09BQUE7OztnQkE1QmdDLFVBQVUsdUJBRHRDLE1BQU0sU0FBQyxVQUFVO2dCQUVnQixVQUFVLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTtnQkFFRCxzQkFBc0IsdUJBRHBDLE1BQU0sU0FBQyxzQkFBc0I7O0lBaENsQztRQUhDLEtBQUssRUFBRTtRQUNQLFdBQVcsQ0FBQyxlQUFlLENBQUM7UUFDNUIsY0FBYyxFQUFFO29EQUNGO0lBSWY7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7a0RBQ1U7SUFJM0I7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7dURBQzJCO0lBSzVDO1FBSEMsS0FBSyxFQUFFO1FBQ1AsV0FBVyxDQUFDLHFCQUFxQixDQUFDO1FBQ2xDLGNBQWMsRUFBRTt5REFDRztJQUtwQjtRQUhDLEtBQUssRUFBRTtRQUNQLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQztRQUNsQyxjQUFjLEVBQUU7a0RBQzJCO0lBRzVDO1FBREMsV0FBVyxDQUFDLHNCQUFzQixDQUFDOzBEQUNmO0lBekJaLGdCQUFnQjtRQW5CNUIsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDZCQUE2QjtZQUN2QywwUEFBbUM7WUFFbkMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLGtCQUFnQixFQUFoQixDQUFnQixDQUFDO2lCQUNsRDtnQkFDRCxzQkFBc0I7Z0JBQ3RCLGlCQUFpQjtnQkFDakIsYUFBYTthQUNoQjtZQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFFBQVEsRUFBRSxTQUFTO1lBQ25CLElBQUksRUFBRTtnQkFDRixvQkFBb0IsRUFBRSxPQUFPO2FBQ2hDOztTQUNKLENBQUM7UUFrQ08sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEIsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtPQXBDMUIsZ0JBQWdCLENBK0Q1QjtJQUFELHVCQUFDO0NBQUEsQUEvREQsSUErREM7U0EvRFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9NT0RFfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlCcmlnaHRuZXNzLCBUdWlIb3Jpem9udGFsRGlyZWN0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwVG99IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBleHRlbmRpbmcgSW50ZXJhY3RpdmVcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYVt0dWlMaW5rXSwgYnV0dG9uW3R1aUxpbmtdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluay50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saW5rLnN0eWxlLmxlc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpTGlua0NvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UsXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICd0dWlMaW5rJyxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiAnbW9kZSQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fcHNldWRvJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBzZXVkbyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb25BbGlnbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbiA9ICdyaWdodCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2ljb24tcm90YXRlZCcpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uUm90YXRlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1ob3N0LW1vZGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9kZTogJ3Bvc2l0aXZlJyB8ICduZWdhdGl2ZScgfCBudWxsID0gbnVsbDtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2ZvY3VzLXZpc2libGUnKVxuICAgIGZvY3VzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgZm9jdXNlZENoYW5nZSA9IG1lcmdlKFxuICAgICAgICB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvY3VzaW4nKS5waXBlKG1hcFRvKHRydWUpKSxcbiAgICAgICAgdHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c291dCcpLnBpcGUobWFwVG8oZmFsc2UpKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVHVpRm9jdXNWaXNpYmxlU2VydmljZSlcbiAgICAgICAgZm9jdXNWaXNpYmxlJDogVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgZm9jdXNWaXNpYmxlJC5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaGFzSWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbiAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzSWNvbiAmJiB0aGlzLmljb25BbGlnbiA9PT0gJ2xlZnQnO1xuICAgIH1cblxuICAgIGdldCBpY29uQWxpZ25SaWdodCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzSWNvbiAmJiB0aGlzLmljb25BbGlnbiA9PT0gJ3JpZ2h0JztcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
- export var VERSION = '2.25.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMjUuMCc7XG4iXX0=
1
+ export var VERSION = '2.26.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cy8iLCJzb3VyY2VzIjpbInZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMjYuMCc7XG4iXX0=
@@ -1,14 +1,14 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { Inject, ElementRef, Component, ChangeDetectionStrategy, NgZone, Input, ViewChild, HostBinding, NgModule } from '@angular/core';
3
3
  import { ANIMATION_FRAME, WINDOW } from '@ng-web-apis/common';
4
- import { tuiZonefree, px, TuiDestroyService, TUI_IS_MOBILE, tuiPure, TuiHoveredModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
4
+ import { tuiZonefree, px, TuiDestroyService, tuiPure, TuiHoveredModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
5
  import { TuiPointerHintDirective } from '@taiga-ui/core/directives/pointer-hint';
6
+ import { TUI_ANIMATION_OPTIONS, TUI_MEDIA } from '@taiga-ui/core/tokens';
6
7
  import { Observable } from 'rxjs';
7
8
  import { takeUntil } from 'rxjs/operators';
8
9
  import { tuiFadeIn } from '@taiga-ui/core/animations';
9
10
  import { TuiHintDirective } from '@taiga-ui/core/directives/hint';
10
11
  import { TuiHintService } from '@taiga-ui/core/services';
11
- import { TUI_ANIMATION_OPTIONS } from '@taiga-ui/core/tokens';
12
12
  import { CommonModule } from '@angular/common';
13
13
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
14
14
 
@@ -76,10 +76,10 @@ const reverseDirectionsHorizontal = {
76
76
  // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
77
77
  // @dynamic
78
78
  let TuiHintBoxComponent = class TuiHintBoxComponent {
79
- constructor(animationFrame$, destroy$, ngZone, elementRef, windowRef, isMobile, hintsHost) {
79
+ constructor(animationFrame$, destroy$, ngZone, elementRef, windowRef, media, hintsHost) {
80
80
  this.elementRef = elementRef;
81
81
  this.windowRef = windowRef;
82
- this.isMobile = isMobile;
82
+ this.media = media;
83
83
  this.hintsHost = hintsHost;
84
84
  animationFrame$.pipe(tuiZonefree(ngZone), takeUntil(destroy$)).subscribe(() => {
85
85
  this.calculatePosition();
@@ -91,6 +91,9 @@ let TuiHintBoxComponent = class TuiHintBoxComponent {
91
91
  get mode() {
92
92
  return this.hint.mode;
93
93
  }
94
+ get isMobile() {
95
+ return this.windowRef.innerWidth <= this.media.mobile;
96
+ }
94
97
  /**
95
98
  * Calculates wrapper position.
96
99
  * Styles are set directly to avoid visual shake of element
@@ -228,7 +231,7 @@ TuiHintBoxComponent.ctorParameters = () => [
228
231
  { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
229
232
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
230
233
  { type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] },
231
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] },
234
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_MEDIA,] }] },
232
235
  { type: TuiHintsHostComponent, decorators: [{ type: Inject, args: [TuiHintsHostComponent,] }] }
233
236
  ];
234
237
  __decorate([
@@ -257,7 +260,7 @@ TuiHintBoxComponent = __decorate([
257
260
  __param(2, Inject(NgZone)),
258
261
  __param(3, Inject(ElementRef)),
259
262
  __param(4, Inject(WINDOW)),
260
- __param(5, Inject(TUI_IS_MOBILE)),
263
+ __param(5, Inject(TUI_MEDIA)),
261
264
  __param(6, Inject(TuiHintsHostComponent))
262
265
  ], TuiHintBoxComponent);
263
266