@dotglitch/ngx-common 1.1.7 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/tooltip/tooltip.component.d.ts +9 -4
- package/directives/tooltip.directive.d.ts +2 -2
- package/esm2022/components/tooltip/tooltip.component.mjs +82 -32
- package/esm2022/directives/tooltip.directive.mjs +6 -4
- package/esm2022/types/tooltip.mjs +1 -1
- package/fesm2022/dotglitch-ngx-common.mjs +94 -42
- package/fesm2022/dotglitch-ngx-common.mjs.map +1 -1
- package/package.json +1 -1
- package/types/tooltip.d.ts +5 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { TemplateRef, Type, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
-
import {
|
|
2
|
+
import { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material/dialog';
|
|
3
|
+
import { TooltipOptions } from '../../types/tooltip';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare const calcTooltipBounds: (template: TemplateRef<any> | Type<any>, data: any) => Promise<DOMRect>;
|
|
5
|
+
export declare const calcTooltipBounds: (template: TemplateRef<any> | Type<any>, data: any, matDialogConfig: MatDialogConfig) => Promise<DOMRect>;
|
|
6
6
|
export declare class TooltipComponent {
|
|
7
7
|
viewContainer: ViewContainerRef;
|
|
8
8
|
private _data;
|
|
9
9
|
dialog: MatDialog;
|
|
10
10
|
dialogRef: MatDialogRef<any>;
|
|
11
11
|
data: any;
|
|
12
|
-
config:
|
|
12
|
+
config: TooltipOptions;
|
|
13
13
|
ownerCords: DOMRect;
|
|
14
14
|
selfCords: any;
|
|
15
15
|
template: TemplateRef<any> | Type<any>;
|
|
@@ -17,6 +17,8 @@ export declare class TooltipComponent {
|
|
|
17
17
|
hasBootstrapped: boolean;
|
|
18
18
|
pointerIsOnVoid: boolean;
|
|
19
19
|
isLockedOpen: boolean;
|
|
20
|
+
clientWidth: number;
|
|
21
|
+
clientHeight: number;
|
|
20
22
|
coverRectCords: {
|
|
21
23
|
top: number;
|
|
22
24
|
left: number;
|
|
@@ -27,6 +29,9 @@ export declare class TooltipComponent {
|
|
|
27
29
|
dialogRef: MatDialogRef<any>);
|
|
28
30
|
ngOnInit(): void;
|
|
29
31
|
ngAfterViewInit(): void;
|
|
32
|
+
onKeyDown(evt: KeyboardEvent): void;
|
|
33
|
+
onVoidPointerDown(evt: PointerEvent): void;
|
|
34
|
+
onWheel(evt: WheelEvent): void;
|
|
30
35
|
/**
|
|
31
36
|
* Close the tooltip if these actions occur
|
|
32
37
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TemplateRef, Type, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
2
|
+
import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
|
|
3
3
|
import { TooltipOptions } from '../types/tooltip';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class TooltipDirective {
|
|
@@ -28,4 +28,4 @@ export declare class TooltipDirective {
|
|
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<TooltipDirective, never>;
|
|
29
29
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TooltipDirective, "[ngxTooltip],[ngx-tooltip]", never, { "template": { "alias": "ngx-tooltip"; "required": false; }; "config": { "alias": "ngx-tooltip-config"; "required": false; }; "data": { "alias": "ngx-tooltip-context"; "required": false; }; }, {}, never, never, true, never>;
|
|
30
30
|
}
|
|
31
|
-
export declare const openTooltip: (dialog: MatDialog, template: TemplateRef<any> | Type<any>, data: any, el: HTMLElement, config?: TooltipOptions, focusTrap?: boolean) => Promise<any>;
|
|
31
|
+
export declare const openTooltip: (dialog: MatDialog, template: TemplateRef<any> | Type<any>, data: any, el: HTMLElement, config?: TooltipOptions, focusTrap?: boolean, matPopupOptions?: MatDialogConfig<any>) => Promise<any>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';
|
|
2
2
|
import { Component, HostListener, Inject, Input, TemplateRef } from '@angular/core';
|
|
3
3
|
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
4
|
import { Optional } from '@angular/core';
|
|
@@ -6,8 +6,7 @@ import { createApplication } from '@angular/platform-browser';
|
|
|
6
6
|
import { firstValueFrom } from 'rxjs';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/material/dialog";
|
|
9
|
-
|
|
10
|
-
export const calcTooltipBounds = async (template, data) => {
|
|
9
|
+
export const calcTooltipBounds = async (template, data, matDialogConfig) => {
|
|
11
10
|
const args = {
|
|
12
11
|
data: data || {},
|
|
13
12
|
template,
|
|
@@ -16,24 +15,43 @@ export const calcTooltipBounds = async (template, data) => {
|
|
|
16
15
|
ownerCords: { x: 0, y: 0, width: 0, height: 0 },
|
|
17
16
|
id: null
|
|
18
17
|
};
|
|
19
|
-
//
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
// dimensions should be in px... Might need to handle vw/v
|
|
19
|
+
if (matDialogConfig?.width && matDialogConfig?.height) {
|
|
20
|
+
return {
|
|
21
|
+
width: parseInt(matDialogConfig.width),
|
|
22
|
+
height: parseInt(matDialogConfig.height),
|
|
23
|
+
top: 0,
|
|
24
|
+
left: 0,
|
|
25
|
+
right: 0,
|
|
26
|
+
bottom: 0
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return new Promise((res, rej) => {
|
|
30
|
+
const zone = Zone.current.fork({
|
|
31
|
+
name: 'zone',
|
|
32
|
+
});
|
|
33
|
+
zone.run(async () => {
|
|
34
|
+
// Forcibly bootstrap the ctx menu outside of the client application's zone.
|
|
35
|
+
const app = await createApplication({
|
|
36
|
+
providers: [
|
|
37
|
+
{ provide: MAT_DIALOG_DATA, useValue: args }
|
|
38
|
+
]
|
|
39
|
+
});
|
|
40
|
+
app.injector;
|
|
41
|
+
const del = document.createElement("div");
|
|
42
|
+
del.style.position = "absolute";
|
|
43
|
+
del.style.left = '-1000vw';
|
|
44
|
+
document.body.append(del);
|
|
45
|
+
const base = app.bootstrap(TooltipComponent, del);
|
|
46
|
+
const { instance } = base;
|
|
47
|
+
await firstValueFrom(app.isStable);
|
|
48
|
+
const el = instance.viewContainer?.element?.nativeElement;
|
|
49
|
+
const rect = el.getBoundingClientRect();
|
|
50
|
+
app.destroy();
|
|
51
|
+
del.remove();
|
|
52
|
+
res(rect);
|
|
53
|
+
});
|
|
24
54
|
});
|
|
25
|
-
const del = document.createElement("div");
|
|
26
|
-
del.style.position = "absolute";
|
|
27
|
-
del.style.left = '-1000vw';
|
|
28
|
-
document.body.append(del);
|
|
29
|
-
const base = app.bootstrap(TooltipComponent, del);
|
|
30
|
-
const { instance } = base;
|
|
31
|
-
await firstValueFrom(app.isStable);
|
|
32
|
-
const el = instance.viewContainer?.element?.nativeElement;
|
|
33
|
-
const rect = el.getBoundingClientRect();
|
|
34
|
-
app.destroy();
|
|
35
|
-
del.remove();
|
|
36
|
-
return rect;
|
|
37
55
|
};
|
|
38
56
|
export class TooltipComponent {
|
|
39
57
|
constructor(viewContainer, _data, dialog, // optional only for the purpose of estimating dimensions
|
|
@@ -45,6 +63,8 @@ export class TooltipComponent {
|
|
|
45
63
|
this.hasBootstrapped = false;
|
|
46
64
|
this.pointerIsOnVoid = false;
|
|
47
65
|
this.isLockedOpen = false;
|
|
66
|
+
this.clientWidth = window.innerWidth;
|
|
67
|
+
this.clientHeight = window.innerHeight;
|
|
48
68
|
this.coverRectCords = {
|
|
49
69
|
top: 0,
|
|
50
70
|
left: 0,
|
|
@@ -58,7 +78,7 @@ export class TooltipComponent {
|
|
|
58
78
|
this.template = this.template || this._data?.template;
|
|
59
79
|
this.ownerCords = this.ownerCords || this._data?.ownerCords;
|
|
60
80
|
this.selfCords = this.selfCords || this._data?.selfCords;
|
|
61
|
-
this.isLockedOpen = this._data?.isLockedOpen;
|
|
81
|
+
this.isLockedOpen = this._data?.isLockedOpen || this.config?.stayOpen;
|
|
62
82
|
}
|
|
63
83
|
ngOnInit() {
|
|
64
84
|
const selfY = parseInt(this.selfCords.top.replace('px', ''));
|
|
@@ -94,32 +114,59 @@ export class TooltipComponent {
|
|
|
94
114
|
this.isLockedOpen = true;
|
|
95
115
|
});
|
|
96
116
|
}
|
|
117
|
+
onKeyDown(evt) {
|
|
118
|
+
if (this.config.freezeOnKeyCode) {
|
|
119
|
+
if (evt.code == this.config.freezeOnKeyCode)
|
|
120
|
+
this.isLockedOpen = true;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
onVoidPointerDown(evt) {
|
|
124
|
+
if (!this.isLockedOpen) {
|
|
125
|
+
const el = this.viewContainer.element.nativeElement;
|
|
126
|
+
el.querySelector(".void").remove();
|
|
127
|
+
setTimeout(() => {
|
|
128
|
+
const clonedEvt = new PointerEvent("pointerdown", evt);
|
|
129
|
+
const target = document.elementFromPoint(evt.clientX, evt.clientY);
|
|
130
|
+
console.log("DEBUG EVENTS", { evt, clonedEvt });
|
|
131
|
+
target.dispatchEvent(clonedEvt);
|
|
132
|
+
}, 15);
|
|
133
|
+
}
|
|
134
|
+
this.closeOnVoid(true);
|
|
135
|
+
}
|
|
136
|
+
// If the void element gets stuck open, make wheel events pass through.
|
|
137
|
+
onWheel(evt) {
|
|
138
|
+
const el = this.viewContainer.element.nativeElement;
|
|
139
|
+
el.style.display = "none";
|
|
140
|
+
const target = document.elementFromPoint(evt.clientX, evt.clientY);
|
|
141
|
+
el.style.display = "block";
|
|
142
|
+
target.scroll({
|
|
143
|
+
top: evt.deltaY + target.scrollTop,
|
|
144
|
+
left: evt.deltaX + target.scrollLeft,
|
|
145
|
+
behavior: "smooth"
|
|
146
|
+
});
|
|
147
|
+
}
|
|
97
148
|
/**
|
|
98
149
|
* Close the tooltip if these actions occur
|
|
99
150
|
*/
|
|
100
151
|
onClose() {
|
|
101
152
|
if (!this.isLockedOpen)
|
|
102
153
|
this.dialogRef?.close();
|
|
154
|
+
this.clientWidth = window.innerWidth;
|
|
155
|
+
this.clientHeight = window.innerHeight;
|
|
103
156
|
}
|
|
104
157
|
closeOnVoid(force = false) {
|
|
105
158
|
if (!this.isLockedOpen || force)
|
|
106
159
|
this.dialogRef.close();
|
|
107
160
|
}
|
|
108
161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ViewContainerRef }, { token: MAT_DIALOG_DATA, optional: true }, { token: i1.MatDialog, optional: true }, { token: i1.MatDialogRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
110
|
-
// NgIf,
|
|
111
|
-
// NgTemplateOutlet,
|
|
112
|
-
// NgComponentOutlet,
|
|
113
|
-
CommonModule }, { kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
162
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: TooltipComponent, isStandalone: true, selector: "ngx-tooltip", inputs: { data: "data", config: "config", ownerCords: "ownerCords", selfCords: "selfCords", template: "template" }, host: { listeners: { "window:keydown": "onKeyDown($event)", "window:resize": "onClose()", "window:blur": "onClose()", "pointerleave": "onClose()" } }, ngImport: i0, template: "<!-- Mouse event blocker for pointer leave -->\n@if (coverRectCords) {\n <!-- <div\n class=\"owner-mask\"\n [style.top]=\"coverRectCords.top + 'px'\"\n [style.left]=\"coverRectCords.left + 'px'\"\n [style.height]=\"coverRectCords.height + 'px'\"\n [style.width]=\"coverRectCords.width + 'px'\"\n style=\"z-index: -1;\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n ></div> -->\n\n <div class=\"void left\"\n [style.top]=\"'0px'\"\n [style.left]=\"'0px'\"\n [style.height]=\"'100%'\"\n [style.width]=\"(ownerCords.left) + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n <div class=\"void top\"\n [style.top]=\"'0px'\"\n [style.left]=\"ownerCords.left + 'px'\"\n [style.height]=\"ownerCords.top + 'px'\"\n [style.width]=\"ownerCords.width + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n <div class=\"void right\"\n [style.top]=\"'0px'\"\n [style.left]=\"(ownerCords.left + ownerCords.width) + 'px'\"\n [style.height]=\"'100%'\"\n [style.width]=\"(clientWidth - (ownerCords.left + ownerCords.width)) + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n <div class=\"void\"\n [style.top]=\"(ownerCords.top + ownerCords.height) + 'px'\"\n [style.left]=\"ownerCords.left + 'px'\"\n [style.height]=\"(clientHeight - (ownerCords.top + ownerCords.height)) + 'px'\"\n [style.width]=\"ownerCords.width + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n}\n\n\n<div\n #container\n class=\"container\"\n>\n @if (isTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"$any(template)\"\n [ngTemplateOutletContext]=\"{\n '$implicit': data,\n 'dialog': dialogRef,\n 'element': container,\n 'tooltip': this\n }\"\n ></ng-container>\n }\n @else {\n <ng-container\n [ngComponentOutlet]=\"$any(template)\"\n >\n </ng-container>\n }\n</div>\n", styles: ["::ng-deep .cdk-overlay-container .ngx-tooltip{--mdc-dialog-container-color: var(--ngx-tooltip-background-color, #2f2f2f)}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog__container{transform-origin:top left}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog--open .mdc-dialog__container{transform:none}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog__surface{overflow:visible;background-color:#0000}::ng-deep .cdk-overlay-container .context-menu-backdrop.cdk-overlay-backdrop-showing{opacity:0}::ng-deep .cdk-overlay-pane.ngx-tooltip .mat-dialog-container{padding:0}:host{min-width:2px;min-height:2px;display:block}.void,.owner-mask{position:absolute}.void{top:-100vh;right:-100vw;bottom:-100vh;left:-100vw;z-index:-2;position:fixed}.container{width:100%;height:100%;background:var(--ngx-tooltip-background-color, #333);border-radius:6px;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }] }); }
|
|
114
163
|
}
|
|
115
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
116
165
|
type: Component,
|
|
117
166
|
args: [{ selector: 'ngx-tooltip', imports: [
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
CommonModule,
|
|
122
|
-
], standalone: true, template: "<!-- Mouse event blocker for pointer leave -->\n<div\n *ngIf=\"coverRectCords\"\n class=\"owner-mask\"\n [style.top]=\"coverRectCords.top + 'px'\"\n [style.left]=\"coverRectCords.left + 'px'\"\n [style.height]=\"coverRectCords.height + 'px'\"\n [style.width]=\"coverRectCords.width + 'px'\"\n style=\"z-index: -1;\"\n></div>\n\n<div class=\"void\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && !isLockedOpen && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"hasBootstrapped && closeOnVoid(true)\"\n></div>\n\n<div\n #container\n class=\"container\"\n>\n <ng-container\n *ngIf=\"isTemplate == false\"\n [ngComponentOutlet]=\"$any(template)\"\n >\n </ng-container>\n\n <ng-container\n *ngIf=\"isTemplate == true\"\n >\n <ng-container\n [ngTemplateOutlet]=\"$any(template)\"\n [ngTemplateOutletContext]=\"{\n '$implicit': data,\n 'dialog': dialogRef,\n 'element': container,\n 'tooltip': this\n }\"\n ></ng-container>\n </ng-container>\n</div>\n", styles: ["::ng-deep .cdk-overlay-container .ngx-tooltip{--mdc-dialog-container-color: var(--ngx-tooltip-background-color, #2f2f2f)}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog__container{transform-origin:top left}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog--open .mdc-dialog__container{transform:none}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog__surface{overflow:visible;background-color:#0000}::ng-deep .cdk-overlay-container .context-menu-backdrop.cdk-overlay-backdrop-showing{opacity:0}::ng-deep .cdk-overlay-pane.ngx-tooltip .mat-dialog-container{padding:0}:host{min-width:2px;min-height:2px;display:block}.void,.owner-mask{position:absolute}.void{top:-100vh;right:-100vw;bottom:-100vh;left:-100vw;z-index:-2}.container{width:100%;height:100%;background:var(--ngx-tooltip-background-color, #333);border-radius:6px;overflow:hidden}\n"] }]
|
|
167
|
+
NgTemplateOutlet,
|
|
168
|
+
NgComponentOutlet
|
|
169
|
+
], standalone: true, template: "<!-- Mouse event blocker for pointer leave -->\n@if (coverRectCords) {\n <!-- <div\n class=\"owner-mask\"\n [style.top]=\"coverRectCords.top + 'px'\"\n [style.left]=\"coverRectCords.left + 'px'\"\n [style.height]=\"coverRectCords.height + 'px'\"\n [style.width]=\"coverRectCords.width + 'px'\"\n style=\"z-index: -1;\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n ></div> -->\n\n <div class=\"void left\"\n [style.top]=\"'0px'\"\n [style.left]=\"'0px'\"\n [style.height]=\"'100%'\"\n [style.width]=\"(ownerCords.left) + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n <div class=\"void top\"\n [style.top]=\"'0px'\"\n [style.left]=\"ownerCords.left + 'px'\"\n [style.height]=\"ownerCords.top + 'px'\"\n [style.width]=\"ownerCords.width + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n <div class=\"void right\"\n [style.top]=\"'0px'\"\n [style.left]=\"(ownerCords.left + ownerCords.width) + 'px'\"\n [style.height]=\"'100%'\"\n [style.width]=\"(clientWidth - (ownerCords.left + ownerCords.width)) + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n <div class=\"void\"\n [style.top]=\"(ownerCords.top + ownerCords.height) + 'px'\"\n [style.left]=\"ownerCords.left + 'px'\"\n [style.height]=\"(clientHeight - (ownerCords.top + ownerCords.height)) + 'px'\"\n [style.width]=\"ownerCords.width + 'px'\"\n (pointerenter)=\"pointerIsOnVoid = true; hasBootstrapped && closeOnVoid()\"\n (pointerleave)=\"pointerIsOnVoid = false\"\n (pointerdown)=\"onVoidPointerDown($event)\"\n (wheel)=\"onWheel($event)\"\n ></div>\n}\n\n\n<div\n #container\n class=\"container\"\n>\n @if (isTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"$any(template)\"\n [ngTemplateOutletContext]=\"{\n '$implicit': data,\n 'dialog': dialogRef,\n 'element': container,\n 'tooltip': this\n }\"\n ></ng-container>\n }\n @else {\n <ng-container\n [ngComponentOutlet]=\"$any(template)\"\n >\n </ng-container>\n }\n</div>\n", styles: ["::ng-deep .cdk-overlay-container .ngx-tooltip{--mdc-dialog-container-color: var(--ngx-tooltip-background-color, #2f2f2f)}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog__container{transform-origin:top left}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog--open .mdc-dialog__container{transform:none}::ng-deep .cdk-overlay-container .ngx-tooltip .mdc-dialog__surface{overflow:visible;background-color:#0000}::ng-deep .cdk-overlay-container .context-menu-backdrop.cdk-overlay-backdrop-showing{opacity:0}::ng-deep .cdk-overlay-pane.ngx-tooltip .mat-dialog-container{padding:0}:host{min-width:2px;min-height:2px;display:block}.void,.owner-mask{position:absolute}.void{top:-100vh;right:-100vw;bottom:-100vh;left:-100vw;z-index:-2;position:fixed}.container{width:100%;height:100%;background:var(--ngx-tooltip-background-color, #333);border-radius:6px;overflow:hidden}\n"] }]
|
|
123
170
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
|
124
171
|
type: Optional
|
|
125
172
|
}, {
|
|
@@ -139,6 +186,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
139
186
|
type: Input
|
|
140
187
|
}], template: [{
|
|
141
188
|
type: Input
|
|
189
|
+
}], onKeyDown: [{
|
|
190
|
+
type: HostListener,
|
|
191
|
+
args: ["window:keydown", ['$event']]
|
|
142
192
|
}], onClose: [{
|
|
143
193
|
type: HostListener,
|
|
144
194
|
args: ["window:resize"]
|
|
@@ -149,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
149
199
|
type: HostListener,
|
|
150
200
|
args: ["pointerleave"]
|
|
151
201
|
}] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQTJCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUl0QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsUUFBc0MsRUFBRSxJQUFTLEVBQUUsRUFBRTtJQUN6RixNQUFNLElBQUksR0FBRztRQUNULElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtRQUNoQixRQUFRO1FBQ1IsTUFBTSxFQUFFLEVBQUU7UUFDVixTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7UUFDdEMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRTtRQUMvQyxFQUFFLEVBQUUsSUFBSTtLQUNYLENBQUE7SUFDRCw0RUFB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlQXBwbGljYXRpb24gfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb3B1cE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcy9wb3B1cCc7XG5cblxuZXhwb3J0IGNvbnN0IGNhbGNUb29sdGlwQm91bmRzID0gYXN5bmMgKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+LCBkYXRhOiBhbnkpID0+IHtcbiAgICBjb25zdCBhcmdzID0ge1xuICAgICAgICBkYXRhOiBkYXRhIHx8IHt9LFxuICAgICAgICB0ZW1wbGF0ZSxcbiAgICAgICAgY29uZmlnOiB7fSxcbiAgICAgICAgc2VsZkNvcmRzOiB7IGxlZnQ6IFwiMHB4XCIsIHRvcDogXCIwcHhcIiB9LFxuICAgICAgICBvd25lckNvcmRzOiB7IHg6IDAsIHk6IDAsIHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSxcbiAgICAgICAgaWQ6IG51bGxcbiAgICB9XG4gICAgLy8gRm9yY2libHkgYm9vdHN0cmFwIHRoZSBjdHggbWVudSBvdXRzaWRlIG9mIHRoZSBjbGllbnQgYXBwbGljYXRpb24ncyB6b25lLlxuICAgIGNvbnN0IGFwcCA9IGF3YWl0IGNyZWF0ZUFwcGxpY2F0aW9uKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7IHByb3ZpZGU6IE1BVF9ESUFMT0dfREFUQSwgdXNlVmFsdWU6IGFyZ3MgfVxuICAgICAgICBdXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgIGRlbC5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcbiAgICBkZWwuc3R5bGUubGVmdCA9ICctMTAwMHZ3JztcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChkZWwpO1xuXG4gICAgY29uc3QgYmFzZSA9IGFwcC5ib290c3RyYXAoVG9vbHRpcENvbXBvbmVudCwgZGVsKTtcbiAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBiYXNlO1xuXG4gICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20oYXBwLmlzU3RhYmxlKTtcblxuICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IGluc3RhbmNlLnZpZXdDb250YWluZXI/LmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgYXBwLmRlc3Ryb3koKTtcbiAgICBkZWwucmVtb3ZlKCk7XG5cbiAgICByZXR1cm4gcmVjdDtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtdG9vbHRpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE5nSWYsXG4gICAgICAgIC8vIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIC8vIE5nQ29tcG9uZW50T3V0bGV0LFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgICBASW5wdXQoKSBjb25maWc6IFBvcHVwT3B0aW9ucztcbiAgICBASW5wdXQoKSBvd25lckNvcmRzOiBET01SZWN0O1xuICAgIEBJbnB1dCgpIHNlbGZDb3JkcztcbiAgICBASW5wdXQoKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IFR5cGU8YW55PjtcblxuICAgIHB1YmxpYyBpc1RlbXBsYXRlOiBib29sZWFuO1xuICAgIHB1YmxpYyBoYXNCb290c3RyYXBwZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgcG9pbnRlcklzT25Wb2lkID0gZmFsc2U7XG4gICAgcHVibGljIGlzTG9ja2VkT3BlbiA9IGZhbHNlO1xuXG4gICAgY292ZXJSZWN0Q29yZHMgPSB7XG4gICAgICAgIHRvcDogMCxcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICB3aWR0aDogMFxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGE6IGFueSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCAvLyBvcHRpb25hbCBvbmx5IGZvciB0aGUgcHVycG9zZSBvZiBlc3RpbWF0aW5nIGRpbWVuc2lvbnNcbiAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPGFueT4sXG4gICAgKSB7XG4gICAgICAgIC8vIERlZmF1bHRzIGFyZSBzZXQgYmVmb3JlIEBJbnB1dCgpIGhvb2tzIGV2YWx1YXRlXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSB8fCB0aGlzLl9kYXRhPy5kYXRhIHx8IHt9O1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuY29uZmlnIHx8IHRoaXMuX2RhdGE/LmNvbmZpZztcbiAgICAgICAgdGhpcy5kaWFsb2cgPSB0aGlzLmRpYWxvZyB8fCB0aGlzLl9kYXRhPy5kaWFsb2c7XG4gICAgICAgIHRoaXMudGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlIHx8IHRoaXMuX2RhdGE/LnRlbXBsYXRlO1xuICAgICAgICB0aGlzLm93bmVyQ29yZHMgPSB0aGlzLm93bmVyQ29yZHMgfHwgdGhpcy5fZGF0YT8ub3duZXJDb3JkcztcbiAgICAgICAgdGhpcy5zZWxmQ29yZHMgPSB0aGlzLnNlbGZDb3JkcyB8fCB0aGlzLl9kYXRhPy5zZWxmQ29yZHM7XG4gICAgICAgIHRoaXMuaXNMb2NrZWRPcGVuID0gdGhpcy5fZGF0YT8uaXNMb2NrZWRPcGVuO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuXG4gICAgICAgIGNvbnN0IHNlbGZZID0gcGFyc2VJbnQodGhpcy5zZWxmQ29yZHMudG9wLnJlcGxhY2UoJ3B4JywgJycpKTtcbiAgICAgICAgY29uc3Qgc2VsZlggPSBwYXJzZUludCh0aGlzLnNlbGZDb3Jkcy5sZWZ0LnJlcGxhY2UoJ3B4JywgJycpKTtcblxuICAgICAgICB0aGlzLmNvdmVyUmVjdENvcmRzID0ge1xuICAgICAgICAgICAgdG9wOiB0aGlzLm93bmVyQ29yZHMueSAtIHNlbGZZIC0gMTYsXG4gICAgICAgICAgICBsZWZ0OiB0aGlzLm93bmVyQ29yZHMueCAtIHNlbGZYIC0gMTYsXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMub3duZXJDb3Jkcy5oZWlnaHQgKyAzMixcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLm93bmVyQ29yZHMud2lkdGggKyAzMlxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudGVtcGxhdGUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZilcbiAgICAgICAgICAgIHRoaXMuaXNUZW1wbGF0ZSA9IHRydWU7XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiB0aGlzLnRlbXBsYXRlID09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgICAgIHRoaXMuaXNUZW1wbGF0ZSA9IGZhbHNlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbnJlY29nbml6ZWQgdGVtcGxhdGUgb2JqZWN0IHByb3ZpZGVkLlwiKTtcblxuICAgICAgICAvLyBUT0RPOiByZXNvbHZlIHRoZSBldmVudCBob29rIHdpdGggdGhlIC52b2lkIGVsZW1lbnRcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhc0Jvb3RzdHJhcHBlZCA9IHRydWU7XG4gICAgICAgICAgICBpZiAodGhpcy5wb2ludGVySXNPblZvaWQgJiYgIXRoaXMuaXNMb2NrZWRPcGVuKVxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgZXZ0ID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2NrZWRPcGVuID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJkb3duXCIsIGV2dCA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9ja2VkT3BlbiA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaFwiLCBldnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvY2tlZE9wZW4gPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZSB0aGUgdG9vbHRpcCBpZiB0aGVzZSBhY3Rpb25zIG9jY3VyXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OmJsdXJcIilcbiAgICBASG9zdExpc3RlbmVyKFwicG9pbnRlcmxlYXZlXCIpXG4gICAgcHJpdmF0ZSBvbkNsb3NlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNMb2NrZWRPcGVuKVxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWY/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgY2xvc2VPblZvaWQoZm9yY2UgPSBmYWxzZSkge1xuICAgICAgICBpZiAoIXRoaXMuaXNMb2NrZWRPcGVuIHx8IGZvcmNlKVxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8IS0tIE1vdXNlIGV2ZW50IGJsb2NrZXIgZm9yIHBvaW50ZXIgbGVhdmUgLS0+XG48ZGl2XG4gICAgKm5nSWY9XCJjb3ZlclJlY3RDb3Jkc1wiXG4gICAgY2xhc3M9XCJvd25lci1tYXNrXCJcbiAgICBbc3R5bGUudG9wXT1cImNvdmVyUmVjdENvcmRzLnRvcCArICdweCdcIlxuICAgIFtzdHlsZS5sZWZ0XT1cImNvdmVyUmVjdENvcmRzLmxlZnQgKyAncHgnXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImNvdmVyUmVjdENvcmRzLmhlaWdodCArICdweCdcIlxuICAgIFtzdHlsZS53aWR0aF09XCJjb3ZlclJlY3RDb3Jkcy53aWR0aCArICdweCdcIlxuICAgIHN0eWxlPVwiei1pbmRleDogLTE7XCJcbj48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInZvaWRcIlxuICAgIChwb2ludGVyZW50ZXIpPVwicG9pbnRlcklzT25Wb2lkID0gdHJ1ZTsgaGFzQm9vdHN0cmFwcGVkICYmICFpc0xvY2tlZE9wZW4gJiYgY2xvc2VPblZvaWQoKVwiXG4gICAgKHBvaW50ZXJsZWF2ZSk9XCJwb2ludGVySXNPblZvaWQgPSBmYWxzZVwiXG4gICAgKHBvaW50ZXJkb3duKT1cImhhc0Jvb3RzdHJhcHBlZCAmJiBjbG9zZU9uVm9pZCh0cnVlKVwiXG4+PC9kaXY+XG5cbjxkaXZcbiAgICAjY29udGFpbmVyXG4gICAgY2xhc3M9XCJjb250YWluZXJcIlxuPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJpc1RlbXBsYXRlID09IGZhbHNlXCJcbiAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0XT1cIiRhbnkodGVtcGxhdGUpXCJcbiAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiaXNUZW1wbGF0ZSA9PSB0cnVlXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkodGVtcGxhdGUpXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgJyRpbXBsaWNpdCc6IGRhdGEsXG4gICAgICAgICAgICAgICAgJ2RpYWxvZyc6IGRpYWxvZ1JlZixcbiAgICAgICAgICAgICAgICAnZWxlbWVudCc6IGNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAndG9vbHRpcCc6IHRoaXNcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBMkIsZUFBZSxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBS3RDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxRQUFzQyxFQUFFLElBQVMsRUFBRSxlQUFnQyxFQUFFLEVBQUU7SUFDM0gsTUFBTSxJQUFJLEdBQUc7UUFDVCxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDaEIsUUFBUTtRQUNSLE1BQU0sRUFBRSxFQUFFO1FBQ1YsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1FBQ3RDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUU7UUFDL0MsRUFBRSxFQUFF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RFIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkE2Q2xDLE9BQU87c0JBSGQsWUFBWTt1QkFBQyxlQUFlOztzQkFDNUIsWUFBWTt1QkFBQyxhQUFhOztzQkFDMUIsWUFBWTt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDb21wb25lbnRPdXRsZXQsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9vbHRpcE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcy90b29sdGlwJztcblxuZGVjbGFyZSBjb25zdCBab25lO1xuXG5leHBvcnQgY29uc3QgY2FsY1Rvb2x0aXBCb3VuZHMgPSBhc3luYyAodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT4sIGRhdGE6IGFueSwgbWF0RGlhbG9nQ29uZmlnOiBNYXREaWFsb2dDb25maWcpID0+IHtcbiAgICBjb25zdCBhcmdzID0ge1xuICAgICAgICBkYXRhOiBkYXRhIHx8IHt9LFxuICAgICAgICB0ZW1wbGF0ZSxcbiAgICAgICAgY29uZmlnOiB7fSxcbiAgICAgICAgc2VsZkNvcmRzOiB7IGxlZnQ6IFwiMHB4XCIsIHRvcDogXCIwcHhcIiB9LFxuICAgICAgICBvd25lckNvcmRzOiB7IHg6IDAsIHk6IDAsIHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSxcbiAgICAgICAgaWQ6IG51bGxcbiAgICB9XG5cbiAgICAvLyBkaW1lbnNpb25zIHNob3VsZCBiZSBpbiBweC4uLiBNaWdodCBuZWVkIHRvIGhhbmRsZSB2dy92XG4gICAgaWYgKG1hdERpYWxvZ0NvbmZpZz8ud2lkdGggJiYgbWF0RGlhbG9nQ29uZmlnPy5oZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHdpZHRoOiBwYXJzZUludChtYXREaWFsb2dDb25maWcud2lkdGgpLFxuICAgICAgICAgICAgaGVpZ2h0OiBwYXJzZUludChtYXREaWFsb2dDb25maWcuaGVpZ2h0KSxcbiAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgIGJvdHRvbTogMFxuICAgICAgICB9IGFzIERPTVJlY3Q7XG4gICAgfVxuXG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8RE9NUmVjdD4oKHJlcywgcmVqKSA9PiB7XG4gICAgICAgIGNvbnN0IHpvbmUgPSBab25lLmN1cnJlbnQuZm9yayh7XG4gICAgICAgICAgICBuYW1lOiAnem9uZScsXG4gICAgICAgIH0pO1xuICAgICAgICB6b25lLnJ1bihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAvLyBGb3JjaWJseSBib290c3RyYXAgdGhlIGN0eCBtZW51IG91dHNpZGUgb2YgdGhlIGNsaWVudCBhcHBsaWNhdGlvbidzIHpvbmUuXG4gICAgICAgICAgICBjb25zdCBhcHAgPSBhd2FpdCBjcmVhdGVBcHBsaWNhdGlvbih7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTUFUX0RJQUxPR19EQVRBLCB1c2VWYWx1ZTogYXJncyB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBhcHAuaW5qZWN0b3JcblxuICAgICAgICAgICAgY29uc3QgZGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgICAgIGRlbC5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcbiAgICAgICAgICAgIGRlbC5zdHlsZS5sZWZ0ID0gJy0xMDAwdncnO1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoZGVsKTtcblxuICAgICAgICAgICAgY29uc3QgYmFzZSA9IGFwcC5ib290c3RyYXAoVG9vbHRpcENvbXBvbmVudCwgZGVsKTtcbiAgICAgICAgICAgIGNvbnN0IHsgaW5zdGFuY2UgfSA9IGJhc2U7XG5cbiAgICAgICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKGFwcC5pc1N0YWJsZSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IGluc3RhbmNlLnZpZXdDb250YWluZXI/LmVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGFwcC5kZXN0cm95KCk7XG4gICAgICAgICAgICBkZWwucmVtb3ZlKCk7XG4gICAgICAgICAgICByZXMocmVjdClcbiAgICAgICAgfSk7XG4gICAgfSlcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtdG9vbHRpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIE5nQ29tcG9uZW50T3V0bGV0XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgICBASW5wdXQoKSBjb25maWc6IFRvb2x0aXBPcHRpb25zO1xuICAgIEBJbnB1dCgpIG93bmVyQ29yZHM6IERPTVJlY3Q7XG4gICAgQElucHV0KCkgc2VsZkNvcmRzO1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+O1xuXG4gICAgcHVibGljIGlzVGVtcGxhdGU6IGJvb2xlYW47XG4gICAgcHVibGljIGhhc0Jvb3RzdHJhcHBlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBwb2ludGVySXNPblZvaWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNMb2NrZWRPcGVuID0gZmFsc2U7XG5cbiAgICBjbGllbnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIGNsaWVudEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgIGNvdmVyUmVjdENvcmRzID0ge1xuICAgICAgICB0b3A6IDAsXG4gICAgICAgIGxlZnQ6IDAsXG4gICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgd2lkdGg6IDBcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIF9kYXRhOiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgLy8gb3B0aW9uYWwgb25seSBmb3IgdGhlIHB1cnBvc2Ugb2YgZXN0aW1hdGluZyBkaW1lbnNpb25zXG4gICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+LFxuICAgICkge1xuICAgICAgICAvLyBEZWZhdWx0cyBhcmUgc2V0IGJlZm9yZSBASW5wdXQoKSBob29rcyBldmFsdWF0ZVxuICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEgfHwgdGhpcy5fZGF0YT8uZGF0YSB8fCB7fTtcbiAgICAgICAgdGhpcy5jb25maWcgPSB0aGlzLmNvbmZpZyB8fCB0aGlzLl9kYXRhPy5jb25maWc7XG4gICAgICAgIHRoaXMuZGlhbG9nID0gdGhpcy5kaWFsb2cgfHwgdGhpcy5fZGF0YT8uZGlhbG9nO1xuICAgICAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZSB8fCB0aGlzLl9kYXRhPy50ZW1wbGF0ZTtcbiAgICAgICAgdGhpcy5vd25lckNvcmRzID0gdGhpcy5vd25lckNvcmRzIHx8IHRoaXMuX2RhdGE/Lm93bmVyQ29yZHM7XG4gICAgICAgIHRoaXMuc2VsZkNvcmRzID0gdGhpcy5zZWxmQ29yZHMgfHwgdGhpcy5fZGF0YT8uc2VsZkNvcmRzO1xuICAgICAgICB0aGlzLmlzTG9ja2VkT3BlbiA9IHRoaXMuX2RhdGE/LmlzTG9ja2VkT3BlbiB8fCB0aGlzLmNvbmZpZz8uc3RheU9wZW47XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG5cbiAgICAgICAgY29uc3Qgc2VsZlkgPSBwYXJzZUludCh0aGlzLnNlbGZDb3Jkcy50b3AucmVwbGFjZSgncHgnLCAnJykpO1xuICAgICAgICBjb25zdCBzZWxmWCA9IHBhcnNlSW50KHRoaXMuc2VsZkNvcmRzLmxlZnQucmVwbGFjZSgncHgnLCAnJykpO1xuXG4gICAgICAgIHRoaXMuY292ZXJSZWN0Q29yZHMgPSB7XG4gICAgICAgICAgICB0b3A6IHRoaXMub3duZXJDb3Jkcy55IC0gc2VsZlkgLSAxNixcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMub3duZXJDb3Jkcy54IC0gc2VsZlggLSAxNixcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5vd25lckNvcmRzLmhlaWdodCArIDMyLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMub3duZXJDb3Jkcy53aWR0aCArIDMyXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50ZW1wbGF0ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKVxuICAgICAgICAgICAgdGhpcy5pc1RlbXBsYXRlID0gdHJ1ZTtcbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHRoaXMudGVtcGxhdGUgPT0gXCJmdW5jdGlvblwiKVxuICAgICAgICAgICAgdGhpcy5pc1RlbXBsYXRlID0gZmFsc2U7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVucmVjb2duaXplZCB0ZW1wbGF0ZSBvYmplY3QgcHJvdmlkZWQuXCIpO1xuXG4gICAgICAgIC8vIFRPRE86IHJlc29sdmUgdGhlIGV2ZW50IGhvb2sgd2l0aCB0aGUgLnZvaWQgZWxlbWVudFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFzQm9vdHN0cmFwcGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnBvaW50ZXJJc09uVm9pZCAmJiAhdGhpcy5pc0xvY2tlZE9wZW4pXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfSwgMjAwKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBldnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvY2tlZE9wZW4gPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcmRvd25cIiwgZXZ0ID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2NrZWRPcGVuID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoXCIsIGV2dCA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9ja2VkT3BlbiA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6a2V5ZG93blwiLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmZyZWV6ZU9uS2V5Q29kZSkge1xuICAgICAgICAgICAgaWYgKGV2dC5jb2RlID09IHRoaXMuY29uZmlnLmZyZWV6ZU9uS2V5Q29kZSlcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9ja2VkT3BlbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblZvaWRQb2ludGVyRG93bihldnQ6IFBvaW50ZXJFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNMb2NrZWRPcGVuKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBlbC5xdWVyeVNlbGVjdG9yKFwiLnZvaWRcIikucmVtb3ZlKCk7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsb25lZEV2dCA9IG5ldyBQb2ludGVyRXZlbnQoXCJwb2ludGVyZG93blwiLCBldnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZ0LmNsaWVudFgsIGV2dC5jbGllbnRZKSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiREVCVUcgRVZFTlRTXCIsIHtldnQsIGNsb25lZEV2dH0pO1xuICAgICAgICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KGNsb25lZEV2dCk7XG4gICAgICAgICAgICB9LCAxNSlcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xvc2VPblZvaWQodHJ1ZSlcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgdm9pZCBlbGVtZW50IGdldHMgc3R1Y2sgb3BlbiwgbWFrZSB3aGVlbCBldmVudHMgcGFzcyB0aHJvdWdoLlxuICAgIG9uV2hlZWwoZXZ0OiBXaGVlbEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgZWwuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGV2dC5jbGllbnRYLCBldnQuY2xpZW50WSk7XG4gICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG5cbiAgICAgICAgdGFyZ2V0LnNjcm9sbCh7XG4gICAgICAgICAgICB0b3A6IGV2dC5kZWx0YVkgKyB0YXJnZXQuc2Nyb2xsVG9wLFxuICAgICAgICAgICAgbGVmdDogZXZ0LmRlbHRhWCArIHRhcmdldC5zY3JvbGxMZWZ0LFxuICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCJcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xvc2UgdGhlIHRvb2x0aXAgaWYgdGhlc2UgYWN0aW9ucyBvY2N1clxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIpXG4gICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpibHVyXCIpXG4gICAgQEhvc3RMaXN0ZW5lcihcInBvaW50ZXJsZWF2ZVwiKVxuICAgIHByaXZhdGUgb25DbG9zZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTG9ja2VkT3BlbilcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmPy5jbG9zZSgpO1xuXG4gICAgICAgIHRoaXMuY2xpZW50V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgdGhpcy5jbGllbnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgfVxuXG4gICAgY2xvc2VPblZvaWQoZm9yY2UgPSBmYWxzZSkge1xuICAgICAgICBpZiAoIXRoaXMuaXNMb2NrZWRPcGVuIHx8IGZvcmNlKVxuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8IS0tIE1vdXNlIGV2ZW50IGJsb2NrZXIgZm9yIHBvaW50ZXIgbGVhdmUgLS0+XG5AaWYgKGNvdmVyUmVjdENvcmRzKSB7XG4gICAgPCEtLSA8ZGl2XG4gICAgICAgIGNsYXNzPVwib3duZXItbWFza1wiXG4gICAgICAgIFtzdHlsZS50b3BdPVwiY292ZXJSZWN0Q29yZHMudG9wICsgJ3B4J1wiXG4gICAgICAgIFtzdHlsZS5sZWZ0XT1cImNvdmVyUmVjdENvcmRzLmxlZnQgKyAncHgnXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJjb3ZlclJlY3RDb3Jkcy5oZWlnaHQgKyAncHgnXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvdmVyUmVjdENvcmRzLndpZHRoICsgJ3B4J1wiXG4gICAgICAgIHN0eWxlPVwiei1pbmRleDogLTE7XCJcbiAgICAgICAgKHBvaW50ZXJkb3duKT1cIm9uVm9pZFBvaW50ZXJEb3duKCRldmVudClcIlxuICAgID48L2Rpdj4gLS0+XG5cbiAgICA8ZGl2IGNsYXNzPVwidm9pZCBsZWZ0XCJcbiAgICAgICAgW3N0eWxlLnRvcF09XCInMHB4J1wiXG4gICAgICAgIFtzdHlsZS5sZWZ0XT1cIicwcHgnXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCInMTAwJSdcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiKG93bmVyQ29yZHMubGVmdCkgKyAncHgnXCJcbiAgICAgICAgKHBvaW50ZXJlbnRlcik9XCJwb2ludGVySXNPblZvaWQgPSB0cnVlOyBoYXNCb290c3RyYXBwZWQgJiYgY2xvc2VPblZvaWQoKVwiXG4gICAgICAgIChwb2ludGVybGVhdmUpPVwicG9pbnRlcklzT25Wb2lkID0gZmFsc2VcIlxuICAgICAgICAocG9pbnRlcmRvd24pPVwib25Wb2lkUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgICAgICh3aGVlbCk9XCJvbldoZWVsKCRldmVudClcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidm9pZCB0b3BcIlxuICAgICAgICBbc3R5bGUudG9wXT1cIicwcHgnXCJcbiAgICAgICAgW3N0eWxlLmxlZnRdPVwib3duZXJDb3Jkcy5sZWZ0ICsgJ3B4J1wiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwib3duZXJDb3Jkcy50b3AgKyAncHgnXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIm93bmVyQ29yZHMud2lkdGggKyAncHgnXCJcbiAgICAgICAgKHBvaW50ZXJlbnRlcik9XCJwb2ludGVySXNPblZvaWQgPSB0cnVlOyBoYXNCb290c3RyYXBwZWQgJiYgY2xvc2VPblZvaWQoKVwiXG4gICAgICAgIChwb2ludGVybGVhdmUpPVwicG9pbnRlcklzT25Wb2lkID0gZmFsc2VcIlxuICAgICAgICAocG9pbnRlcmRvd24pPVwib25Wb2lkUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgICAgICh3aGVlbCk9XCJvbldoZWVsKCRldmVudClcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidm9pZCByaWdodFwiXG4gICAgICAgIFtzdHlsZS50b3BdPVwiJzBweCdcIlxuICAgICAgICBbc3R5bGUubGVmdF09XCIob3duZXJDb3Jkcy5sZWZ0ICsgb3duZXJDb3Jkcy53aWR0aCkgKyAncHgnXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCInMTAwJSdcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiKGNsaWVudFdpZHRoIC0gKG93bmVyQ29yZHMubGVmdCArIG93bmVyQ29yZHMud2lkdGgpKSArICdweCdcIlxuICAgICAgICAocG9pbnRlcmVudGVyKT1cInBvaW50ZXJJc09uVm9pZCA9IHRydWU7IGhhc0Jvb3RzdHJhcHBlZCAmJiBjbG9zZU9uVm9pZCgpXCJcbiAgICAgICAgKHBvaW50ZXJsZWF2ZSk9XCJwb2ludGVySXNPblZvaWQgPSBmYWxzZVwiXG4gICAgICAgIChwb2ludGVyZG93bik9XCJvblZvaWRQb2ludGVyRG93bigkZXZlbnQpXCJcbiAgICAgICAgKHdoZWVsKT1cIm9uV2hlZWwoJGV2ZW50KVwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ2b2lkXCJcbiAgICAgICAgW3N0eWxlLnRvcF09XCIob3duZXJDb3Jkcy50b3AgKyBvd25lckNvcmRzLmhlaWdodCkgKyAncHgnXCJcbiAgICAgICAgW3N0eWxlLmxlZnRdPVwib3duZXJDb3Jkcy5sZWZ0ICsgJ3B4J1wiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiKGNsaWVudEhlaWdodCAtIChvd25lckNvcmRzLnRvcCArIG93bmVyQ29yZHMuaGVpZ2h0KSkgKyAncHgnXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cIm93bmVyQ29yZHMud2lkdGggKyAncHgnXCJcbiAgICAgICAgKHBvaW50ZXJlbnRlcik9XCJwb2ludGVySXNPblZvaWQgPSB0cnVlOyBoYXNCb290c3RyYXBwZWQgJiYgY2xvc2VPblZvaWQoKVwiXG4gICAgICAgIChwb2ludGVybGVhdmUpPVwicG9pbnRlcklzT25Wb2lkID0gZmFsc2VcIlxuICAgICAgICAocG9pbnRlcmRvd24pPVwib25Wb2lkUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgICAgICh3aGVlbCk9XCJvbldoZWVsKCRldmVudClcIlxuICAgID48L2Rpdj5cbn1cblxuXG48ZGl2XG4gICAgI2NvbnRhaW5lclxuICAgIGNsYXNzPVwiY29udGFpbmVyXCJcbj5cbiAgICBAaWYgKGlzVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueSh0ZW1wbGF0ZSlcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAnJGltcGxpY2l0JzogZGF0YSxcbiAgICAgICAgICAgICAgICAnZGlhbG9nJzogZGlhbG9nUmVmLFxuICAgICAgICAgICAgICAgICdlbGVtZW50JzogY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICd0b29sdGlwJzogdGhpc1xuICAgICAgICAgICAgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdDb21wb25lbnRPdXRsZXRdPVwiJGFueSh0ZW1wbGF0ZSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
@@ -106,8 +106,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
106
106
|
args: ['pointerleave', ['$event']]
|
|
107
107
|
}] } });
|
|
108
108
|
// Helper to open the context menu without using the directive.
|
|
109
|
-
export const openTooltip = async (dialog, template, data, el, config, focusTrap = false) => {
|
|
110
|
-
const rect = await calcTooltipBounds(template, data);
|
|
109
|
+
export const openTooltip = async (dialog, template, data, el, config, focusTrap = false, matPopupOptions) => {
|
|
110
|
+
const rect = await calcTooltipBounds(template, data, matPopupOptions);
|
|
111
111
|
const ownerCords = el.getBoundingClientRect();
|
|
112
112
|
const cords = getPosition(el, config, rect);
|
|
113
113
|
const specificId = ulid();
|
|
@@ -120,13 +120,15 @@ export const openTooltip = async (dialog, template, data, el, config, focusTrap
|
|
|
120
120
|
data: data,
|
|
121
121
|
template: template,
|
|
122
122
|
config: config,
|
|
123
|
+
matPopupOptions,
|
|
123
124
|
ownerCords: ownerCords,
|
|
124
125
|
selfCords: cords,
|
|
125
126
|
id: specificId
|
|
126
127
|
},
|
|
127
128
|
panelClass: ["ngx-tooltip", 'ngx-' + specificId].concat(config?.customClass || []),
|
|
128
129
|
position: cords,
|
|
129
|
-
hasBackdrop: false
|
|
130
|
+
hasBackdrop: false,
|
|
131
|
+
...matPopupOptions
|
|
130
132
|
})
|
|
131
133
|
.afterClosed()
|
|
132
134
|
.subscribe(s => {
|
|
@@ -134,4 +136,4 @@ export const openTooltip = async (dialog, template, data, el, config, focusTrap
|
|
|
134
136
|
});
|
|
135
137
|
});
|
|
136
138
|
};
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ0osT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFaEksT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQzs7O0FBUzdCLE1BQU0sT0FBTyxnQkFBZ0I7SUF3QnpCLFlBQ1ksTUFBaUIsRUFDakIsYUFBK0I7UUFEL0IsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFuQjNDOztXQUVHO1FBRTBCLFdBQU0sR0FBbUIsRUFBRSxDQUFDO1FBRXpEOztXQUVHO1FBRTJCLFNBQUksR0FBUSxFQUFFLENBQUM7UUFJckMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQXdCL0IsaUJBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQWxCN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUU7WUFDdEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lB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QUFDO0FBQ3ZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgVGVtcGxhdGVSZWYsIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGdldFBvc2l0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyAgfSBmcm9tICcuLi90eXBlcy9wb3B1cCc7aW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCwgY2FsY1Rvb2x0aXBCb3VuZHMgfSBmcm9tICcuLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy90b29sdGlwJztcbmltcG9ydCB7IHVsaWQgfSBmcm9tICd1bGlkeCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25neFRvb2x0aXBdLFtuZ3gtdG9vbHRpcF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNYXREaWFsb2dcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSB7XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBASW5wdXQoXCJuZ3hUb29sdGlwXCIpXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXBcIikgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBvcGVuaW5nIHRoZSBhcHAgbWVudVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neFRvb2x0aXBDb25maWdcIilcbiAgICBASW5wdXQoXCJuZ3gtdG9vbHRpcC1jb25maWdcIikgY29uZmlnOiBUb29sdGlwT3B0aW9ucyA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQXJiaXRyYXJ5IGRhdGEgdG8gcGFzcyBpbnRvIHRoZSB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neFRvb2x0aXBDb250ZXh0XCIpXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXAtY29udGV4dFwiKSBkYXRhOiBhbnkgPSB7fTtcblxuXG4gICAgcHJpdmF0ZSBkaWFsb2dJbnN0YW5jZTogTWF0RGlhbG9nUmVmPGFueT47XG4gICAgcHJpdmF0ZSBpc0N1cnNvck92ZXJUYXJnZXQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzRnJlZXplT25LZXlDb2RlQm91bmQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmZyZWV6ZU9uS2V5Q29kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZyZWV6ZU9uS2V5Q29kZUJvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbktleURvd25FdnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRnJlZXplT25LZXlDb2RlQm91bmQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbktleURvd25FdnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2dCkge1xuICAgICAgICAvLyBUT0RPOiBmYWRlIG1lc3NhZ2UgJ3Rvb2x0aXAgaXMgbG9ja2VkIG9wZW4nXG4gICAgICAgIGlmIChldnQuY29kZSA9PSAoXCJGMlwiKSkge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZS5pc0xvY2tlZE9wZW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgb25LZXlEb3duRXZ0ID0gdGhpcy5vbktleURvd24uYmluZCh0aGlzKTtcblxuICAgIC8vIE5lZWRzIHRvIGJlIHB1YmxpYyBzbyB3ZSBjYW4gbWFudWFsbHkgb3BlbiB0aGUgZGlhbG9nXG4gICAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmVudGVyJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgYXN5bmMgb25Qb2ludGVyRW50ZXIoZXZ0OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgLy8gSWYgdGhlIHRlbXBsYXRlIGlzIG5vdCBhIHRlbXBsYXRlIHJlZiwgZG8gbm90aGluZy5cbiAgICAgICAgaWYgKCEodGhpcy50ZW1wbGF0ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSlcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAvLyBJZiB0aGUgY2xpY2sgdHJpZ2dlciBpcyBzZXQsIHdlIHdpbGwgaW1tZWRpYXRlbHkgb3BlbiB0aGUgdG9vbHRpcC5cbiAgICAgICAgLy8gVGhpcyB3aWxsIGJ5cGFzcyBhbGwgb3RoZXIgdHJpZ2dlcnMuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZz8udHJpZ2dlcnM/LmluY2x1ZGVzKFwiY2xpY2tcIikpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaWFsb2dJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgICAgIGRhdGEuaXNMb2NrZWRPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0luc3RhbmNlID0gYXdhaXQgb3BlblRvb2x0aXAodGhpcy5kaWFsb2csIHRoaXMudGVtcGxhdGUsIHRoaXMuZGF0YSwgZWwsIHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNDdXJzb3JPdmVyVGFyZ2V0ID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBjdXJzb3IgbW92ZWQgYXdheSBpbiB0aGUgdGltZVxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ3Vyc29yT3ZlclRhcmdldClcbiAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5kaWFsb2dJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0luc3RhbmNlID0gYXdhaXQgb3BlblRvb2x0aXAodGhpcy5kaWFsb2csIHRoaXMudGVtcGxhdGUsIHRoaXMuZGF0YSwgZWwsIHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcy5jb25maWcuZGVsYXkgPz8gMjUwKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVybGVhdmUnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBhc3luYyBvblBvaW50ZXJMZWF2ZShldnQ6IFBvaW50ZXJFdmVudCkge1xuICAgICAgICB0aGlzLmlzQ3Vyc29yT3ZlclRhcmdldCA9IGZhbHNlO1xuICAgIH1cbn1cblxuLy8gSGVscGVyIHRvIG9wZW4gdGhlIGNvbnRleHQgbWVudSB3aXRob3V0IHVzaW5nIHRoZSBkaXJlY3RpdmUuXG5leHBvcnQgY29uc3Qgb3BlblRvb2x0aXAgPSBhc3luYyAoXG4gICAgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT4sXG4gICAgZGF0YTogYW55LFxuICAgIGVsOiBIVE1MRWxlbWVudCxcbiAgICBjb25maWc/OiBUb29sdGlwT3B0aW9ucyxcbiAgICBmb2N1c1RyYXAgPSBmYWxzZVxuKSA9PiB7XG5cbiAgICBjb25zdCByZWN0ID0gYXdhaXQgY2FsY1Rvb2x0aXBCb3VuZHModGVtcGxhdGUsIGRhdGEpO1xuICAgIGNvbnN0IG93bmVyQ29yZHMgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBjb3JkcyA9IGdldFBvc2l0aW9uKGVsLCBjb25maWcsIHJlY3QpO1xuICAgIGNvbnN0IHNwZWNpZmljSWQgPSB1bGlkKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzID0+IHtcbiAgICAgICAgZGlhbG9nLm9wZW4oVG9vbHRpcENvbXBvbmVudCwge1xuICAgICAgICAgICAgYXV0b0ZvY3VzOiBmb2N1c1RyYXAsXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZvY3VzVHJhcCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBkaWFsb2csXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogdGVtcGxhdGUsXG4gICAgICAgICAgICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICAgICAgICAgICAgb3duZXJDb3Jkczogb3duZXJDb3JkcyxcbiAgICAgICAgICAgICAgICBzZWxmQ29yZHM6IGNvcmRzLFxuICAgICAgICAgICAgICAgIGlkOiBzcGVjaWZpY0lkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFuZWxDbGFzczogW1wibmd4LXRvb2x0aXBcIiwgJ25neC0nICsgc3BlY2lmaWNJZF0uY29uY2F0KGNvbmZpZz8uY3VzdG9tQ2xhc3MgfHwgW10pLFxuICAgICAgICAgICAgcG9zaXRpb246IGNvcmRzLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgICAgICAgICByZXMocyk7XG4gICAgICAgICAgICB9KVxuICAgIH0pIGFzIFByb21pc2U8YW55Pjtcbn07XG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2RpcmVjdGl2ZXMvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ0osT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFaEksT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQzs7O0FBUzdCLE1BQU0sT0FBTyxnQkFBZ0I7SUF3QnpCLFlBQ1ksTUFBaUIsRUFDakIsYUFBK0I7UUFEL0IsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFuQjNDOztXQUVHO1FBRTBCLFdBQU0sR0FBbUIsRUFBRSxDQUFDO1FBRXpEOztXQUVHO1FBRTJCLFNBQUksR0FBUSxFQUFFLENBQUM7UUFJckMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQXdCL0IsaUJBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQWxCN0MsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUU7WUFDdEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNuRTtJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBRztRQUNULDhDQUE4QztRQUM5QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDN0Q7SUFDTCxDQUFDO0lBR0Qsd0RBQXdEO0lBRWpELEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBaUI7UUFDekMscURBQXFEO1FBQ3JELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLFlBQVksV0FBVyxDQUFDO1lBQ3ZDLE9BQU87UUFFWCxxRUFBcUU7UUFDckUsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN0QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7Z0JBQ3BELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkc7WUFDRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBRS9CLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNsQix1Q0FBdUM7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0I7Z0JBQ3hCLE9BQU87WUFFWCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDdEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkc7UUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUdNLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBaUI7UUFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDOzhHQXBGUSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiwwVEFMZDtZQUNQLFNBQVM7U0FDWjs7MkZBR1EsZ0JBQWdCO2tCQVA1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFNBQVMsRUFBRTt3QkFDUCxTQUFTO3FCQUNaO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs2R0FNeUIsUUFBUTtzQkFEN0IsS0FBSzt1QkFBQyxZQUFZOztzQkFDbEIsS0FBSzt1QkFBQyxhQUFhO2dCQU1TLE1BQU07c0JBRGxDLEtBQUs7dUJBQUMsa0JBQWtCOztzQkFDeEIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBTUcsSUFBSTtzQkFEakMsS0FBSzt1QkFBQyxtQkFBbUI7O3NCQUN6QixLQUFLO3VCQUFDLHFCQUFxQjtnQkFpQ2YsY0FBYztzQkFEMUIsWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBaUMzQixjQUFjO3NCQUQxQixZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFNNUMsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQzVCLE1BQWlCLEVBQ2pCLFFBQXNDLEVBQ3RDLElBQVMsRUFDVCxFQUFlLEVBQ2YsTUFBdUIsRUFDdkIsU0FBUyxHQUFHLEtBQUssRUFDakIsZUFBc0MsRUFDeEMsRUFBRTtJQUVBLE1BQU0sSUFBSSxHQUFHLE1BQU0saUJBQWlCLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0RSxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUUxQixPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsWUFBWSxFQUFFLFNBQVM7WUFDdkIsSUFBSSxFQUFFO2dCQUNGLE1BQU07Z0JBQ04sSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGVBQWU7Z0JBQ2YsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixFQUFFLEVBQUUsVUFBVTthQUNqQjtZQUNELFVBQVUsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO1lBQ2xGLFFBQVEsRUFBRSxLQUFLO1lBQ2YsV0FBVyxFQUFFLEtBQUs7WUFDbEIsR0FBRyxlQUFlO1NBQ3JCLENBQUM7YUFDRyxXQUFXLEVBQUU7YUFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWCxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBaUIsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0TGlzdGVuZXIsIFRlbXBsYXRlUmVmLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGdldFBvc2l0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyAgfSBmcm9tICcuLi90eXBlcy9wb3B1cCc7aW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCwgY2FsY1Rvb2x0aXBCb3VuZHMgfSBmcm9tICcuLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbHRpcE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcy90b29sdGlwJztcbmltcG9ydCB7IHVsaWQgfSBmcm9tICd1bGlkeCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW25neFRvb2x0aXBdLFtuZ3gtdG9vbHRpcF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNYXREaWFsb2dcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSB7XG5cbiAgICAvKipcbiAgICAgKi9cbiAgICBASW5wdXQoXCJuZ3hUb29sdGlwXCIpXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXBcIikgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBvcGVuaW5nIHRoZSBhcHAgbWVudVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neFRvb2x0aXBDb25maWdcIilcbiAgICBASW5wdXQoXCJuZ3gtdG9vbHRpcC1jb25maWdcIikgY29uZmlnOiBUb29sdGlwT3B0aW9ucyA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQXJiaXRyYXJ5IGRhdGEgdG8gcGFzcyBpbnRvIHRoZSB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dChcIm5neFRvb2x0aXBDb250ZXh0XCIpXG4gICAgQElucHV0KFwibmd4LXRvb2x0aXAtY29udGV4dFwiKSBkYXRhOiBhbnkgPSB7fTtcblxuXG4gICAgcHJpdmF0ZSBkaWFsb2dJbnN0YW5jZTogTWF0RGlhbG9nUmVmPGFueT47XG4gICAgcHJpdmF0ZSBpc0N1cnNvck92ZXJUYXJnZXQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzRnJlZXplT25LZXlDb2RlQm91bmQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmZyZWV6ZU9uS2V5Q29kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZyZWV6ZU9uS2V5Q29kZUJvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbktleURvd25FdnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRnJlZXplT25LZXlDb2RlQm91bmQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbktleURvd25FdnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2dCkge1xuICAgICAgICAvLyBUT0RPOiBmYWRlIG1lc3NhZ2UgJ3Rvb2x0aXAgaXMgbG9ja2VkIG9wZW4nXG4gICAgICAgIGlmIChldnQuY29kZSA9PSAoXCJGMlwiKSkge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZS5pc0xvY2tlZE9wZW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgb25LZXlEb3duRXZ0ID0gdGhpcy5vbktleURvd24uYmluZCh0aGlzKTtcblxuICAgIC8vIE5lZWRzIHRvIGJlIHB1YmxpYyBzbyB3ZSBjYW4gbWFudWFsbHkgb3BlbiB0aGUgZGlhbG9nXG4gICAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmVudGVyJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgYXN5bmMgb25Qb2ludGVyRW50ZXIoZXZ0OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgLy8gSWYgdGhlIHRlbXBsYXRlIGlzIG5vdCBhIHRlbXBsYXRlIHJlZiwgZG8gbm90aGluZy5cbiAgICAgICAgaWYgKCEodGhpcy50ZW1wbGF0ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSlcbiAgICAgICAgICAgIHJldHVybjtcblxuICAgICAgICAvLyBJZiB0aGUgY2xpY2sgdHJpZ2dlciBpcyBzZXQsIHdlIHdpbGwgaW1tZWRpYXRlbHkgb3BlbiB0aGUgdG9vbHRpcC5cbiAgICAgICAgLy8gVGhpcyB3aWxsIGJ5cGFzcyBhbGwgb3RoZXIgdHJpZ2dlcnMuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZz8udHJpZ2dlcnM/LmluY2x1ZGVzKFwiY2xpY2tcIikpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaWFsb2dJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgICAgIGRhdGEuaXNMb2NrZWRPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0luc3RhbmNlID0gYXdhaXQgb3BlblRvb2x0aXAodGhpcy5kaWFsb2csIHRoaXMudGVtcGxhdGUsIHRoaXMuZGF0YSwgZWwsIHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNDdXJzb3JPdmVyVGFyZ2V0ID0gdHJ1ZTtcblxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBjdXJzb3IgbW92ZWQgYXdheSBpbiB0aGUgdGltZVxuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ3Vyc29yT3ZlclRhcmdldClcbiAgICAgICAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5kaWFsb2dJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsID0gdGhpcy52aWV3Q29udGFpbmVyLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0luc3RhbmNlID0gYXdhaXQgb3BlblRvb2x0aXAodGhpcy5kaWFsb2csIHRoaXMudGVtcGxhdGUsIHRoaXMuZGF0YSwgZWwsIHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgdGhpcy5jb25maWcuZGVsYXkgPz8gMjUwKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdwb2ludGVybGVhdmUnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBhc3luYyBvblBvaW50ZXJMZWF2ZShldnQ6IFBvaW50ZXJFdmVudCkge1xuICAgICAgICB0aGlzLmlzQ3Vyc29yT3ZlclRhcmdldCA9IGZhbHNlO1xuICAgIH1cbn1cblxuLy8gSGVscGVyIHRvIG9wZW4gdGhlIGNvbnRleHQgbWVudSB3aXRob3V0IHVzaW5nIHRoZSBkaXJlY3RpdmUuXG5leHBvcnQgY29uc3Qgb3BlblRvb2x0aXAgPSBhc3luYyAoXG4gICAgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBUeXBlPGFueT4sXG4gICAgZGF0YTogYW55LFxuICAgIGVsOiBIVE1MRWxlbWVudCxcbiAgICBjb25maWc/OiBUb29sdGlwT3B0aW9ucyxcbiAgICBmb2N1c1RyYXAgPSBmYWxzZSxcbiAgICBtYXRQb3B1cE9wdGlvbnM/OiBNYXREaWFsb2dDb25maWc8YW55PlxuKSA9PiB7XG5cbiAgICBjb25zdCByZWN0ID0gYXdhaXQgY2FsY1Rvb2x0aXBCb3VuZHModGVtcGxhdGUsIGRhdGEsIG1hdFBvcHVwT3B0aW9ucyk7XG4gICAgY29uc3Qgb3duZXJDb3JkcyA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGNvcmRzID0gZ2V0UG9zaXRpb24oZWwsIGNvbmZpZywgcmVjdCk7XG4gICAgY29uc3Qgc3BlY2lmaWNJZCA9IHVsaWQoKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXMgPT4ge1xuICAgICAgICBkaWFsb2cub3BlbihUb29sdGlwQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZvY3VzVHJhcCxcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZm9jdXNUcmFwLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGRpYWxvZyxcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiB0ZW1wbGF0ZSxcbiAgICAgICAgICAgICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgICAgICAgICAgICBtYXRQb3B1cE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgb3duZXJDb3Jkczogb3duZXJDb3JkcyxcbiAgICAgICAgICAgICAgICBzZWxmQ29yZHM6IGNvcmRzLFxuICAgICAgICAgICAgICAgIGlkOiBzcGVjaWZpY0lkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGFuZWxDbGFzczogW1wibmd4LXRvb2x0aXBcIiwgJ25neC0nICsgc3BlY2lmaWNJZF0uY29uY2F0KGNvbmZpZz8uY3VzdG9tQ2xhc3MgfHwgW10pLFxuICAgICAgICAgICAgcG9zaXRpb246IGNvcmRzLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgLi4ubWF0UG9wdXBPcHRpb25zXG4gICAgICAgIH0pXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShzID0+IHtcbiAgICAgICAgICAgICAgICByZXMocyk7XG4gICAgICAgICAgICB9KVxuICAgIH0pIGFzIFByb21pc2U8YW55Pjtcbn07XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdHlwZXMvdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9wdXBPcHRpb25zIH0gZnJvbSAnLi9wb3B1cCc7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBPcHRpb25zID0gUGFydGlhbDxQb3B1cE9wdGlvbnMgJiB7XG4gICAgLyoqXG4gICAgICogRHVyYXRpb24gaW4gbXMgZm9yIGhvdyBsb25nIHRoZSBtb3VzZVxuICAgICAqIG5lZWRzIHRvIGJlIG92ZXIgdGhlIGVsZW1lbnQgYmVmb3JlIHRoZVxuICAgICAqIHRvb2x0aXAgd2lsbCBiZSB2aXNpYmxlXG4gICAgICogIC0gRGVmYXVsdCBgMjUwYFxuICAgICAqICAtIE9ubHkgYXBwbGllcyB3aGVuIHRyaWdnZXIgaXMgYGhvdmVyYC5cbiAgICAgKi9cbiAgICBkZWxheTogbnVtYmVyLFxuXG4gICAgLyoqXG4gICAgICogQSBrZXkgdGhlIHVzZXIgY2FuIHByZXNzIHRvIGtlZXAgYSB0b29sdGlwIHZpc2libGUuXG4gICAgICogIC0gRGVmYXVsdCBgRjJgXG4gICAgICovXG4gICAgZnJlZXplT25LZXlDb2RlOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBXaGF0IHVzZXIgaW50ZXJhY3Rpb24gZXZlbnQgc2hvdWxkIG1ha2UgdGhlIHRvb2x0aXAgYXBwZWFyLlxuICAgICAqICAtIERlZmF1bHQgYGhvdmVyYFxuICAgICAqL1xuICAgIHRyaWdnZXJzOiAoXCJjbGlja1wiIHwgXCJob3ZlclwiKVtdLFxuXG4gICAgLyoqXG4gICAgICogU2V0IHRvIGB0cnVlYCB0byBrZWVwIHRoZSB0b29sdGlwIG9wZW4gd2hlbiBob3ZlcmVkIG92ZXIuXG4gICAgICogUHJpbWFyaWx5IHVzZWQgZm9yIHBvcHBpbmcgdXAgaW50ZXJhY3RpdmUgY29tcG9uZW50c1xuICAgICAqL1xuICAgIHN0YXlPcGVuOiBib29sZWFuXG59PjtcbiJdfQ==
|