@ruc-lib/overlay 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/esm2020/lib/overlay-content/overlay-content.component.mjs +11 -6
- package/esm2020/lib/ruclib-overlay/ruclib-overlay.component.mjs +34 -24
- package/esm2020/lib/ruclib-overlay.module.mjs +7 -3
- package/fesm2015/ruc-lib-overlay.mjs +47 -28
- package/fesm2015/ruc-lib-overlay.mjs.map +1 -1
- package/fesm2020/ruc-lib-overlay.mjs +47 -28
- package/fesm2020/ruc-lib-overlay.mjs.map +1 -1
- package/lib/overlay-content/overlay-content.component.d.ts +3 -1
- package/lib/ruclib-overlay.module.d.ts +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ npm install @uxpractice/ruc-lib
|
|
|
14
14
|
### Install Individual Component
|
|
15
15
|
If you only need the Overlay component:
|
|
16
16
|
```bash
|
|
17
|
-
npm install @
|
|
17
|
+
npm install @ruc-lib/overlay
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
## Usage
|
|
@@ -23,7 +23,7 @@ npm install @uxpractice/overlay
|
|
|
23
23
|
In your Angular module file (e.g., `app.module.ts`), import the `RuclibOverlayModule`:
|
|
24
24
|
|
|
25
25
|
```typescript
|
|
26
|
-
import { RuclibOverlayModule } from '@
|
|
26
|
+
import { RuclibOverlayModule } from '@ruc-lib/overlay';
|
|
27
27
|
import { AppComponent } from './app.component';
|
|
28
28
|
import { NgModule } from '@angular/core';
|
|
29
29
|
import { BrowserModule } from '@angular/platform-browser';
|
|
@@ -44,7 +44,7 @@ export class AppModule {}
|
|
|
44
44
|
In your component's template, use the `<uxp-ruclib-overlay>` selector and pass the configuration object to the `rucInputData` input.
|
|
45
45
|
|
|
46
46
|
```html
|
|
47
|
-
<uxp-ruclib-overlay [rucInputData]="OverlayConfig"></uxp-ruclib-overlay>
|
|
47
|
+
<uxp-ruclib-overlay [rucInputData]="OverlayConfig"></uxp-ruclib-overlay>
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
## API Reference
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, Inject, Output, TemplateRef, } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Inject, Input, Output, TemplateRef, } from '@angular/core';
|
|
2
2
|
import { animate, state, style, transition, trigger, } from '@angular/animations';
|
|
3
3
|
import { OVERLAY_CONTROL } from '../model/overlay.types';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/common";
|
|
6
6
|
import * as i2 from "@angular/material/icon";
|
|
7
|
-
import * as i3 from "
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
import * as i4 from "@angular/material/card";
|
|
9
|
+
import * as i5 from "../ruc-overlay-chart/ruc-overlay-chart.component";
|
|
8
10
|
export class OverlayContentComponent {
|
|
9
11
|
ngOnInit() {
|
|
10
12
|
if (this.control.config.tableData) {
|
|
@@ -20,6 +22,7 @@ export class OverlayContentComponent {
|
|
|
20
22
|
this.control = control;
|
|
21
23
|
this.actualPlacement = 'bottom';
|
|
22
24
|
this.tableHeaders = [];
|
|
25
|
+
this.arrowOffset = 0;
|
|
23
26
|
this.mouseEnterPopover = new EventEmitter();
|
|
24
27
|
this.mouseLeavePopover = new EventEmitter();
|
|
25
28
|
this.actualPlacement = this.control.config.placement || 'bottom';
|
|
@@ -40,7 +43,7 @@ export class OverlayContentComponent {
|
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
45
|
OverlayContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OverlayContentComponent, deps: [{ token: OVERLAY_CONTROL }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
OverlayContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OverlayContentComponent, selector: "uxp-overlay-content", outputs: { mouseEnterPopover: "mouseEnterPopover", mouseLeavePopover: "mouseLeavePopover" }, host: { properties: { "@popoverAnimation": "this.animationState" } }, ngImport: i0, template: "<
|
|
46
|
+
OverlayContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OverlayContentComponent, selector: "uxp-overlay-content", inputs: { customTheme: "customTheme" }, outputs: { mouseEnterPopover: "mouseEnterPopover", mouseLeavePopover: "mouseLeavePopover" }, host: { properties: { "@popoverAnimation": "this.animationState" } }, ngImport: i0, template: "<mat-card class=\"popover-container\" class={{customTheme}} (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"popover-arrow\"\r\n[attr.data-placement]=\"actualPlacement\"\r\n [style.left.px]=\"(actualPlacement.startsWith('top') || actualPlacement.startsWith('bottom')) ? arrowOffset : null\"\r\n[style.top.px]=\"(actualPlacement.startsWith('left') || actualPlacement.startsWith('right')) ? arrowOffset : null\">\r\n </div>\r\n <!-- Header with optional title and close button -->\r\n\r\n <div *ngIf=\"\r\n control.config.overlayTitle ||\r\n control.config.showCloseButton ||\r\n control.config.closeIcon\r\n \"\r\n class=\"popover-header\"\r\n >\r\n <h3 *ngIf=\"control.config.overlayTitle\">{{ control.config.overlayTitle }}</h3>\r\n <ng-container *ngIf=\"control.config.showCloseButton\">\r\n <button mat-icon-button class=\"close-btn\" (click)=\"control.close()\" color=\"primary\" aria-label=\"Close popover icon\">\r\n <mat-icon>{{ control.config.closeIcon }}</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n\r\n\r\n <!-- Body with dynamic content -->\r\n <mat-card-content class=\"popover-body\">\r\n <!-- Case 1: Content is a simple string -->\r\n <ng-container\r\n *ngIf=\"\r\n !isTemplateRef(control.config.content) && !control.config.tableData\r\n \"\r\n >\r\n {{ control.config.content }}\r\n </ng-container>\r\n\r\n <!-- Case 2: Content is a TemplateRef -->\r\n <ng-container *ngIf=\"isTemplateRef(control.config.content)\">\r\n <ng-container *ngTemplateOutlet=\"control.config.content\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.config.chartConfig\">\r\n\r\n <uxp-ruc-overlay-chart [chartConfig]=\"control.config.chartConfig\"></uxp-ruc-overlay-chart>\r\n </ng-container>\r\n\r\n <!-- Case 3: Content is table data -->\r\n <ng-container *ngIf=\"control.config.tableData?.length\">\r\n <table\r\n class=\"popover-table\"\r\n [class]=\"control.config.tableClass || 'basic-table'\"\r\n >\r\n <thead>\r\n <tr>\r\n <th\r\n *ngFor=\"let header of this.tableHeaders!\"\r\n >\r\n {{ header }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of control.config.tableData\">\r\n <td\r\n *ngFor=\"let header of this.tableHeaders!\"\r\n >\r\n {{ row[header] }}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </mat-card-content>\r\n</mat-card>\r\n", styles: [":host{display:block}.popover-container{z-index:1080;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px #0003;position:relative;max-width:300px}.popover-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;border-width:10px}.popover-arrow[data-placement^=bottom]{top:-10px;transform:translate(-50%);border-width:0 10px 10px 10px;border-bottom-color:#fff;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.15))}.popover-arrow[data-placement^=top]{bottom:-10px;transform:translate(-50%);border-width:10px 10px 0 10px;border-top-color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.popover-arrow[data-placement^=right]{left:-10px;transform:translateY(-50%);border-width:10px 10px 10px 0;border-right-color:#fff;filter:drop-shadow(-1px 0 1px rgba(0,0,0,.15))}.popover-arrow[data-placement^=left]{right:-10px;transform:translateY(-50%);border-width:10px 0 10px 10px;border-left-color:#fff;filter:drop-shadow(1px 0 1px rgba(0,0,0,.15))}.popover-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;margin:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #dcdcdc;border-radius:5px 5px 0 0}.popover-header h3{margin:0;font-size:1rem}.popover-body{padding:9px 14px}.close-btn,.close-icon{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;margin-left:10px}.close-btn .mdc-icon-button.mat-mdc-icon-button,.close-icon .mdc-icon-button.mat-mdc-icon-button{background-color:transparent!important}.popover-table{width:100%;border-collapse:collapse;margin-top:5px}.popover-table th,.popover-table td{border:1px solid #ddd;padding:8px;text-align:left}.popover-table th{background-color:#f2f2f2;text-transform:capitalize}.popover-table.striped-table tbody tr:nth-of-type(odd){background-color:#f9f9f9}.striped-table{width:100%;border-collapse:collapse;font-size:.9em}.striped-table th,.striped-table td{border:1px solid #ddd;padding:8px;text-align:left}.striped-table thead th{background-color:#f2f2f2;font-weight:700}.striped-table tbody tr:nth-child(even){background-color:#e9ecef}.striped-table tbody tr:hover{background-color:#f1f1f1}.basic-table{width:100%;border-collapse:collapse;font-size:.9em}.basic-table th,.basic-table td{border:1px solid #ddd;padding:8px;text-align:left}.basic-table thead th{background-color:#fff;font-weight:700}.basic-table tbody tr:nth-child(even){background-color:#fff}.basic-table tbody tr:hover{background-color:#f1f1f1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.RucOverlayChartComponent, selector: "uxp-ruc-overlay-chart", inputs: ["index", "chartConfig"] }], animations: [
|
|
44
47
|
trigger('popoverAnimation', [
|
|
45
48
|
state('void', style({ transform: 'scale(0.9)', opacity: 0 })),
|
|
46
49
|
state('enter-scale', style({ transform: 'scale(1)', opacity: 1 })),
|
|
@@ -71,11 +74,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
71
74
|
animate('500ms', style({ opacity: 0, transform: 'translateY(10px)' })),
|
|
72
75
|
]),
|
|
73
76
|
]),
|
|
74
|
-
], template: "<
|
|
77
|
+
], template: "<mat-card class=\"popover-container\" class={{customTheme}} (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"popover-arrow\"\r\n[attr.data-placement]=\"actualPlacement\"\r\n [style.left.px]=\"(actualPlacement.startsWith('top') || actualPlacement.startsWith('bottom')) ? arrowOffset : null\"\r\n[style.top.px]=\"(actualPlacement.startsWith('left') || actualPlacement.startsWith('right')) ? arrowOffset : null\">\r\n </div>\r\n <!-- Header with optional title and close button -->\r\n\r\n <div *ngIf=\"\r\n control.config.overlayTitle ||\r\n control.config.showCloseButton ||\r\n control.config.closeIcon\r\n \"\r\n class=\"popover-header\"\r\n >\r\n <h3 *ngIf=\"control.config.overlayTitle\">{{ control.config.overlayTitle }}</h3>\r\n <ng-container *ngIf=\"control.config.showCloseButton\">\r\n <button mat-icon-button class=\"close-btn\" (click)=\"control.close()\" color=\"primary\" aria-label=\"Close popover icon\">\r\n <mat-icon>{{ control.config.closeIcon }}</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n\r\n\r\n <!-- Body with dynamic content -->\r\n <mat-card-content class=\"popover-body\">\r\n <!-- Case 1: Content is a simple string -->\r\n <ng-container\r\n *ngIf=\"\r\n !isTemplateRef(control.config.content) && !control.config.tableData\r\n \"\r\n >\r\n {{ control.config.content }}\r\n </ng-container>\r\n\r\n <!-- Case 2: Content is a TemplateRef -->\r\n <ng-container *ngIf=\"isTemplateRef(control.config.content)\">\r\n <ng-container *ngTemplateOutlet=\"control.config.content\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control.config.chartConfig\">\r\n\r\n <uxp-ruc-overlay-chart [chartConfig]=\"control.config.chartConfig\"></uxp-ruc-overlay-chart>\r\n </ng-container>\r\n\r\n <!-- Case 3: Content is table data -->\r\n <ng-container *ngIf=\"control.config.tableData?.length\">\r\n <table\r\n class=\"popover-table\"\r\n [class]=\"control.config.tableClass || 'basic-table'\"\r\n >\r\n <thead>\r\n <tr>\r\n <th\r\n *ngFor=\"let header of this.tableHeaders!\"\r\n >\r\n {{ header }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of control.config.tableData\">\r\n <td\r\n *ngFor=\"let header of this.tableHeaders!\"\r\n >\r\n {{ row[header] }}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </mat-card-content>\r\n</mat-card>\r\n", styles: [":host{display:block}.popover-container{z-index:1080;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px #0003;position:relative;max-width:300px}.popover-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;border-width:10px}.popover-arrow[data-placement^=bottom]{top:-10px;transform:translate(-50%);border-width:0 10px 10px 10px;border-bottom-color:#fff;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.15))}.popover-arrow[data-placement^=top]{bottom:-10px;transform:translate(-50%);border-width:10px 10px 0 10px;border-top-color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.popover-arrow[data-placement^=right]{left:-10px;transform:translateY(-50%);border-width:10px 10px 10px 0;border-right-color:#fff;filter:drop-shadow(-1px 0 1px rgba(0,0,0,.15))}.popover-arrow[data-placement^=left]{right:-10px;transform:translateY(-50%);border-width:10px 0 10px 10px;border-left-color:#fff;filter:drop-shadow(1px 0 1px rgba(0,0,0,.15))}.popover-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;margin:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #dcdcdc;border-radius:5px 5px 0 0}.popover-header h3{margin:0;font-size:1rem}.popover-body{padding:9px 14px}.close-btn,.close-icon{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;margin-left:10px}.close-btn .mdc-icon-button.mat-mdc-icon-button,.close-icon .mdc-icon-button.mat-mdc-icon-button{background-color:transparent!important}.popover-table{width:100%;border-collapse:collapse;margin-top:5px}.popover-table th,.popover-table td{border:1px solid #ddd;padding:8px;text-align:left}.popover-table th{background-color:#f2f2f2;text-transform:capitalize}.popover-table.striped-table tbody tr:nth-of-type(odd){background-color:#f9f9f9}.striped-table{width:100%;border-collapse:collapse;font-size:.9em}.striped-table th,.striped-table td{border:1px solid #ddd;padding:8px;text-align:left}.striped-table thead th{background-color:#f2f2f2;font-weight:700}.striped-table tbody tr:nth-child(even){background-color:#e9ecef}.striped-table tbody tr:hover{background-color:#f1f1f1}.basic-table{width:100%;border-collapse:collapse;font-size:.9em}.basic-table th,.basic-table td{border:1px solid #ddd;padding:8px;text-align:left}.basic-table thead th{background-color:#fff;font-weight:700}.basic-table tbody tr:nth-child(even){background-color:#fff}.basic-table tbody tr:hover{background-color:#f1f1f1}\n"] }]
|
|
75
78
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
76
79
|
type: Inject,
|
|
77
80
|
args: [OVERLAY_CONTROL]
|
|
78
|
-
}] }]; }, propDecorators: {
|
|
81
|
+
}] }]; }, propDecorators: { customTheme: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], mouseEnterPopover: [{
|
|
79
84
|
type: Output
|
|
80
85
|
}], mouseLeavePopover: [{
|
|
81
86
|
type: Output
|
|
@@ -83,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
83
88
|
type: HostBinding,
|
|
84
89
|
args: ['@popoverAnimation']
|
|
85
90
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvb3ZlcmxheS1jb250ZW50L292ZXJsYXktY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL292ZXJsYXktY29udGVudC9vdmVybGF5LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFFTixNQUFNLEVBQ04sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQTJCekQsTUFBTSxPQUFPLHVCQUF1QjtJQVFsQyxRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxPQUFPO1lBQzlDLENBQUMsQ0FBQyxhQUFhO1lBQ2YsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBNEMsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFwQjVELG9CQUFlLEdBQThCLFFBQVEsQ0FBQztRQUN0RCxpQkFBWSxHQUFPLEVBQUUsQ0FBQztRQUVuQixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzdDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFpQnJE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QVcsRUFBRTtnQ0FDdEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7NkJBQ3ZFLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs7MEJBd0JZLE1BQU07MkJBQUMsZUFBZTs0Q0FqQnpCLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBVUgsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5Q29udHJvbCB9IGZyb20gJy4vLi4vbW9kZWwvb3ZlcmxheS50eXBlcyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5qZWN0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgYW5pbWF0ZSxcclxuICBzdGF0ZSxcclxuICBzdHlsZSxcclxuICB0cmFuc2l0aW9uLFxyXG4gIHRyaWdnZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE9WRVJMQVlfQ09OVFJPTCB9IGZyb20gJy4uL21vZGVsL292ZXJsYXkudHlwZXMnO1xyXG5pbXBvcnQgeyBQb3BvdmVyUGxhY2VtZW50IH0gZnJvbSAnLi4vcnVjbGliLW92ZXJsYXkvcnVjbGliLW92ZXJsYXkuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndXhwLW92ZXJsYXktY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL292ZXJsYXktY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb3ZlcmxheS1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcigncG9wb3ZlckFuaW1hdGlvbicsIFtcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuOSknLCBvcGFjaXR5OiAwIH0pKSxcclxuICAgICAgc3RhdGUoJ2VudGVyLXNjYWxlJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgxKScsIG9wYWNpdHk6IDEgfSkpLFxyXG4gICAgICBzdGF0ZSgnZW50ZXItZmFkZScsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXHJcbiAgICAgICAgJ3ZvaWQgPT4gZW50ZXItc2NhbGUnLFxyXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJylcclxuICAgICAgKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBlbnRlci1mYWRlJywgW1xyXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMHB4KScgfSksXHJcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKSxcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtcclxuICAgICAgICBhbmltYXRlKCc1MDBtcycsIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMHB4KScgfSkpLFxyXG4gICAgICBdKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgT3ZlcmxheUNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyBhY3R1YWxQbGFjZW1lbnQ6IHN0cmluZyB8IFBvcG92ZXJQbGFjZW1lbnQgPSAnYm90dG9tJztcclxuICBwdWJsaWMgdGFibGVIZWFkZXJzOmFueVtdPVtdO1xyXG5cclxuICBAT3V0cHV0KCkgbW91c2VFbnRlclBvcG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIG1vdXNlTGVhdmVQb3BvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmNvbnRyb2wuY29uZmlnLnRhYmxlRGF0YSkge1xyXG4gICAgICAgIHRoaXMuZ2V0VGFibGVIZWFkZXJzKCk7XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdAcG9wb3ZlckFuaW1hdGlvbicpXHJcbiAgZ2V0IGFuaW1hdGlvblN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5jb25maWcuYW5pbWF0aW9uID09PSAnc2NhbGUnXHJcbiAgICAgID8gJ2VudGVyLXNjYWxlJ1xyXG4gICAgICA6ICdlbnRlci1mYWRlJztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoT1ZFUkxBWV9DT05UUk9MKSBwdWJsaWMgY29udHJvbDogT3ZlcmxheUNvbnRyb2wpIHtcclxuICAgIHRoaXMuYWN0dWFsUGxhY2VtZW50ID0gdGhpcy5jb250cm9sLmNvbmZpZy5wbGFjZW1lbnQgfHwgJ2JvdHRvbSc7XHJcbiAgfVxyXG5cclxuICAvLyBIZWxwZXIgdG8gY2hlY2sgaWYgY29udGVudCBpcyBhIFRlbXBsYXRlUmVmXHJcbiAgaXNUZW1wbGF0ZVJlZihjb250ZW50OiBhbnkpOiBjb250ZW50IGlzIFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIGNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcclxuICB9XHJcblxyXG4gIC8vIEhlbHBlciB0byBnZXQga2V5cyBmb3IgdGhlIHRhYmxlIGhlYWRlciwgcm9idXN0bHlcclxuICBnZXRUYWJsZUhlYWRlcnMoKTogdm9pZCB7XHJcbiAgICBjb25zdCB0ZW1wRGF0YSA9IHRoaXMuY29udHJvbC5jb25maWcudGFibGVEYXRhO1xyXG5cclxuICAgIGlmICghdGVtcERhdGEgfHwgdGVtcERhdGEubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudGFibGVIZWFkZXJzID0gW107XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIEFzc3VtZXMgYWxsIG9iamVjdHMgaW4gdGhlIGFycmF5IGhhdmUgdGhlIHNhbWUgc2hhcGVcclxuICAgIHRoaXMudGFibGVIZWFkZXJzID0gT2JqZWN0LmtleXModGVtcERhdGFbMF0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicG9wb3Zlci1jb250YWluZXJcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgPGRpdiBjbGFzcz1cInBvcG92ZXItYXJyb3dcIiBbYXR0ci5kYXRhLXBsYWNlbWVudF09XCJhY3R1YWxQbGFjZW1lbnRcIj48L2Rpdj5cclxuICA8IS0tIEhlYWRlciB3aXRoIG9wdGlvbmFsIHRpdGxlIGFuZCBjbG9zZSBidXR0b24gLS0+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJcclxuICAgICAgY29udHJvbC5jb25maWcub3ZlcmxheVRpdGxlIHx8XHJcbiAgICAgIGNvbnRyb2wuY29uZmlnLnNob3dDbG9zZUJ1dHRvbiB8fFxyXG4gICAgICBjb250cm9sLmNvbmZpZy5jbG9zZUljb25cclxuICAgIFwiXHJcbiAgICBjbGFzcz1cInBvcG92ZXItaGVhZGVyXCJcclxuICA+XHJcbiAgICA8aDMgKm5nSWY9XCJjb250cm9sLmNvbmZpZy5vdmVybGF5VGl0bGVcIj5cclxuICAgICAge3sgY29udHJvbC5jb25maWcub3ZlcmxheVRpdGxlIH19XHJcbiAgICA8L2gzPlxyXG5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC5jb25maWcuc2hvd0Nsb3NlQnV0dG9uXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICBjbGFzcz1cImNsb3NlLWJ0blwiXHJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcclxuICAgICAgICAoY2xpY2spPVwiY29udHJvbC5jbG9zZSgpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtaWNvbj57eyBjb250cm9sLmNvbmZpZy5jbG9zZUljb24gfX08L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIEJvZHkgd2l0aCBkeW5hbWljIGNvbnRlbnQgLS0+XHJcbiAgPGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPlxyXG4gICAgPCEtLSBDYXNlIDE6IENvbnRlbnQgaXMgYSBzaW1wbGUgc3RyaW5nIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdJZj1cIlxyXG4gICAgICAgICFpc1RlbXBsYXRlUmVmKGNvbnRyb2wuY29uZmlnLmNvbnRlbnQpICYmICFjb250cm9sLmNvbmZpZy50YWJsZURhdGFcclxuICAgICAgXCJcclxuICAgID5cclxuICAgICAge3sgY29udHJvbC5jb25maWcuY29udGVudCB9fVxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBDYXNlIDI6IENvbnRlbnQgaXMgYSBUZW1wbGF0ZVJlZiAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGNvbnRyb2wuY29uZmlnLmNvbnRlbnQpXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250cm9sLmNvbmZpZy5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbC5jb25maWcuY2hhcnRDb25maWdcIj5cclxuXHJcbiAgICAgIDx1eHAtcnVjLW92ZXJsYXktY2hhcnQgIFtjaGFydENvbmZpZ109XCJjb250cm9sLmNvbmZpZy5jaGFydENvbmZpZ1wiPjwvdXhwLXJ1Yy1vdmVybGF5LWNoYXJ0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBDYXNlIDM6IENvbnRlbnQgaXMgdGFibGUgZGF0YSAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmNvbmZpZy50YWJsZURhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICA8dGFibGVcclxuICAgICAgICBjbGFzcz1cInBvcG92ZXItdGFibGVcIlxyXG4gICAgICAgIFtjbGFzc109XCJjb250cm9sLmNvbmZpZy50YWJsZUNsYXNzIHx8ICdiYXNpYy10YWJsZSdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGhcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRoaXMudGFibGVIZWFkZXJzIVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyBoZWFkZXIgfX1cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90aGVhZD5cclxuICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBjb250cm9sLmNvbmZpZy50YWJsZURhdGFcIj5cclxuICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0aGlzLnRhYmxlSGVhZGVycyFcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgcm93W2hlYWRlcl0gfX1cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90Ym9keT5cclxuICAgICAgPC90YWJsZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvb3ZlcmxheS1jb250ZW50L292ZXJsYXktY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL292ZXJsYXktY29udGVudC9vdmVybGF5LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQTJCekQsTUFBTSxPQUFPLHVCQUF1QjtJQVVsQyxRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxPQUFPO1lBQzlDLENBQUMsQ0FBQyxhQUFhO1lBQ2YsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBNEMsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUF0QjVELG9CQUFlLEdBQThCLFFBQVEsQ0FBQztRQUN0RCxpQkFBWSxHQUFPLEVBQUUsQ0FBQztRQUVyQixnQkFBVyxHQUFFLENBQUMsQ0FBQztRQUViLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDN0Ms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QUMsQ0FBQzs2QkFDcEUsQ0FBQzs0QkFDRixVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQzs2QkFDdkUsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzswQkEwQlksTUFBTTsyQkFBQyxlQUFlOzRDQXBCekIsV0FBVztzQkFBbkIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQVVILGNBQWM7c0JBRGpCLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheUNvbnRyb2wgfSBmcm9tICcuLy4uL21vZGVsL292ZXJsYXkudHlwZXMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIGFuaW1hdGUsXHJcbiAgc3RhdGUsXHJcbiAgc3R5bGUsXHJcbiAgdHJhbnNpdGlvbixcclxuICB0cmlnZ2VyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBPVkVSTEFZX0NPTlRST0wgfSBmcm9tICcuLi9tb2RlbC9vdmVybGF5LnR5cGVzJztcclxuaW1wb3J0IHsgUG9wb3ZlclBsYWNlbWVudCB9IGZyb20gJy4uL3J1Y2xpYi1vdmVybGF5L3J1Y2xpYi1vdmVybGF5LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3V4cC1vdmVybGF5LWNvbnRlbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vdmVybGF5LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL292ZXJsYXktY29udGVudC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3BvcG92ZXJBbmltYXRpb24nLCBbXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgwLjkpJywgb3BhY2l0eTogMCB9KSksXHJcbiAgICAgIHN0YXRlKCdlbnRlci1zY2FsZScsIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMSknLCBvcGFjaXR5OiAxIH0pKSxcclxuICAgICAgc3RhdGUoJ2VudGVyLWZhZGUnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFxyXG4gICAgICAgICd2b2lkID0+IGVudGVyLXNjYWxlJyxcclxuICAgICAgICBhbmltYXRlKCcxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScpXHJcbiAgICAgICksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gZW50ZXItZmFkZScsIFtcclxuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTBweCknIH0pLFxyXG4gICAgICAgIGFuaW1hdGUoJzUwMG1zJywgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9KSksXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgnNTAwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTBweCknIH0pKSxcclxuICAgICAgXSksXHJcbiAgICBdKSxcclxuICBdLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE92ZXJsYXlDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgYWN0dWFsUGxhY2VtZW50OiBzdHJpbmcgfCBQb3BvdmVyUGxhY2VtZW50ID0gJ2JvdHRvbSc7XHJcbiAgcHVibGljIHRhYmxlSGVhZGVyczphbnlbXT1bXTtcclxuICAgQElucHV0KCkgY3VzdG9tVGhlbWUhOnN0cmluZztcclxuICAgcHVibGljIGFycm93T2Zmc2V0ID0wO1xyXG5cclxuICBAT3V0cHV0KCkgbW91c2VFbnRlclBvcG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIG1vdXNlTGVhdmVQb3BvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmNvbnRyb2wuY29uZmlnLnRhYmxlRGF0YSkge1xyXG4gICAgICAgIHRoaXMuZ2V0VGFibGVIZWFkZXJzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ0Bwb3BvdmVyQW5pbWF0aW9uJylcclxuICBnZXQgYW5pbWF0aW9uU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmNvbmZpZy5hbmltYXRpb24gPT09ICdzY2FsZSdcclxuICAgICAgPyAnZW50ZXItc2NhbGUnXHJcbiAgICAgIDogJ2VudGVyLWZhZGUnO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChPVkVSTEFZX0NPTlRST0wpIHB1YmxpYyBjb250cm9sOiBPdmVybGF5Q29udHJvbCkge1xyXG4gICAgdGhpcy5hY3R1YWxQbGFjZW1lbnQgPSB0aGlzLmNvbnRyb2wuY29uZmlnLnBsYWNlbWVudCB8fCAnYm90dG9tJztcclxuICB9XHJcblxyXG4gIC8vIEhlbHBlciB0byBjaGVjayBpZiBjb250ZW50IGlzIGEgVGVtcGxhdGVSZWZcclxuICBpc1RlbXBsYXRlUmVmKGNvbnRlbnQ6IGFueSk6IGNvbnRlbnQgaXMgVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyIHRvIGdldCBrZXlzIGZvciB0aGUgdGFibGUgaGVhZGVyLCByb2J1c3RseVxyXG4gIGdldFRhYmxlSGVhZGVycygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRlbXBEYXRhID0gdGhpcy5jb250cm9sLmNvbmZpZy50YWJsZURhdGE7XHJcblxyXG4gICAgaWYgKCF0ZW1wRGF0YSB8fCB0ZW1wRGF0YS5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy50YWJsZUhlYWRlcnMgPSBbXTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gQXNzdW1lcyBhbGwgb2JqZWN0cyBpbiB0aGUgYXJyYXkgaGF2ZSB0aGUgc2FtZSBzaGFwZVxyXG4gICAgdGhpcy50YWJsZUhlYWRlcnMgPSBPYmplY3Qua2V5cyh0ZW1wRGF0YVswXSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2FyZCBjbGFzcz1cInBvcG92ZXItY29udGFpbmVyXCIgY2xhc3M9e3tjdXN0b21UaGVtZX19IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1hcnJvd1wiXHJcblthdHRyLmRhdGEtcGxhY2VtZW50XT1cImFjdHVhbFBsYWNlbWVudFwiXHJcbiAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cIihhY3R1YWxQbGFjZW1lbnQuc3RhcnRzV2l0aCgndG9wJykgfHwgYWN0dWFsUGxhY2VtZW50LnN0YXJ0c1dpdGgoJ2JvdHRvbScpKSA/IGFycm93T2Zmc2V0IDogbnVsbFwiXHJcbltzdHlsZS50b3AucHhdPVwiKGFjdHVhbFBsYWNlbWVudC5zdGFydHNXaXRoKCdsZWZ0JykgfHwgYWN0dWFsUGxhY2VtZW50LnN0YXJ0c1dpdGgoJ3JpZ2h0JykpID8gYXJyb3dPZmZzZXQgOiBudWxsXCI+XHJcbiAgICA8L2Rpdj5cclxuICA8IS0tIEhlYWRlciB3aXRoIG9wdGlvbmFsIHRpdGxlIGFuZCBjbG9zZSBidXR0b24gLS0+XHJcblxyXG4gIDxkaXYgICpuZ0lmPVwiXHJcbiAgICAgIGNvbnRyb2wuY29uZmlnLm92ZXJsYXlUaXRsZSB8fFxyXG4gICAgICBjb250cm9sLmNvbmZpZy5zaG93Q2xvc2VCdXR0b24gfHxcclxuICAgICAgY29udHJvbC5jb25maWcuY2xvc2VJY29uXHJcbiAgICBcIlxyXG4gICAgY2xhc3M9XCJwb3BvdmVyLWhlYWRlclwiXHJcbiAgPlxyXG4gICAgPGgzICpuZ0lmPVwiY29udHJvbC5jb25maWcub3ZlcmxheVRpdGxlXCI+e3sgY29udHJvbC5jb25maWcub3ZlcmxheVRpdGxlIH19PC9oMz5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmNvbmZpZy5zaG93Q2xvc2VCdXR0b25cIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gICBjbGFzcz1cImNsb3NlLWJ0blwiIChjbGljayk9XCJjb250cm9sLmNsb3NlKClcIiBjb2xvcj1cInByaW1hcnlcIiBhcmlhLWxhYmVsPVwiQ2xvc2UgcG9wb3ZlciBpY29uXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPnt7IGNvbnRyb2wuY29uZmlnLmNsb3NlSWNvbiB9fTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPCEtLSBCb2R5IHdpdGggZHluYW1pYyBjb250ZW50IC0tPlxyXG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwicG9wb3Zlci1ib2R5XCI+XHJcbiAgICA8IS0tIENhc2UgMTogQ29udGVudCBpcyBhIHNpbXBsZSBzdHJpbmcgLS0+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgIWlzVGVtcGxhdGVSZWYoY29udHJvbC5jb25maWcuY29udGVudCkgJiYgIWNvbnRyb2wuY29uZmlnLnRhYmxlRGF0YVxyXG4gICAgICBcIlxyXG4gICAgPlxyXG4gICAgICB7eyBjb250cm9sLmNvbmZpZy5jb250ZW50IH19XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIENhc2UgMjogQ29udGVudCBpcyBhIFRlbXBsYXRlUmVmIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoY29udHJvbC5jb25maWcuY29udGVudClcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRyb2wuY29uZmlnLmNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sLmNvbmZpZy5jaGFydENvbmZpZ1wiPlxyXG5cclxuICAgICAgPHV4cC1ydWMtb3ZlcmxheS1jaGFydCAgW2NoYXJ0Q29uZmlnXT1cImNvbnRyb2wuY29uZmlnLmNoYXJ0Q29uZmlnXCI+PC91eHAtcnVjLW92ZXJsYXktY2hhcnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIENhc2UgMzogQ29udGVudCBpcyB0YWJsZSBkYXRhIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wuY29uZmlnLnRhYmxlRGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgIDx0YWJsZVxyXG4gICAgICAgIGNsYXNzPVwicG9wb3Zlci10YWJsZVwiXHJcbiAgICAgICAgW2NsYXNzXT1cImNvbnRyb2wuY29uZmlnLnRhYmxlQ2xhc3MgfHwgJ2Jhc2ljLXRhYmxlJ1wiXHJcbiAgICAgID5cclxuICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0aFxyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGhpcy50YWJsZUhlYWRlcnMhXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGhlYWRlciB9fVxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIGNvbnRyb2wuY29uZmlnLnRhYmxlRGF0YVwiPlxyXG4gICAgICAgICAgICA8dGRcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRoaXMudGFibGVIZWFkZXJzIVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyByb3dbaGVhZGVyXSB9fVxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3Rib2R5PlxyXG4gICAgICA8L3RhYmxlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG48L21hdC1jYXJkPlxyXG4iXX0=
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
2
|
-
import { Component, ElementRef, HostListener, Injector, Input, ViewChild } from '@angular/core';
|
|
3
|
-
import { OVERLAY_CONTROL } from '../model/overlay.types';
|
|
4
|
-
import { filter } from 'rxjs';
|
|
1
|
+
import { Overlay, } from '@angular/cdk/overlay';
|
|
2
|
+
import { Component, ElementRef, HostListener, Injector, Input, ViewChild, } from '@angular/core';
|
|
3
|
+
import { OVERLAY_CONTROL, } from '../model/overlay.types';
|
|
5
4
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
6
5
|
import { OverlayService } from '../service/overlay.service';
|
|
7
6
|
import { OverlayContentComponent } from '../overlay-content/overlay-content.component';
|
|
8
7
|
import { MatButton } from '@angular/material/button';
|
|
9
|
-
import { ESCAPE } from '@angular/cdk/keycodes';
|
|
10
8
|
import { positions } from '../constants/positions';
|
|
11
9
|
import * as i0 from "@angular/core";
|
|
12
10
|
import * as i1 from "@angular/cdk/overlay";
|
|
@@ -46,7 +44,9 @@ export class RuclibOverlayComponent {
|
|
|
46
44
|
// --- Trigger Handlers for self-contained button ---
|
|
47
45
|
toggle() {
|
|
48
46
|
if (this.rucInputData.trigger !== 'hover') {
|
|
49
|
-
this.isOpen
|
|
47
|
+
this.isOpen
|
|
48
|
+
? this.destroy()
|
|
49
|
+
: this.show(this.triggerButtonRef.nativeElement, this.rucInputData);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
handleMouseEnter() {
|
|
@@ -64,47 +64,56 @@ export class RuclibOverlayComponent {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
show(trigger, config) {
|
|
67
|
-
if (this.isOpen)
|
|
67
|
+
if (this.isOpen)
|
|
68
68
|
return;
|
|
69
|
-
}
|
|
70
69
|
const positionStrategy = this.createPositionStrategy(trigger, config.placement || 'bottom');
|
|
71
70
|
this.overlayRef = this.overlay.create({
|
|
72
71
|
positionStrategy,
|
|
73
72
|
hasBackdrop: config.trigger !== 'hover',
|
|
74
73
|
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
75
74
|
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
76
|
-
disposeOnNavigation: true
|
|
77
75
|
});
|
|
78
|
-
|
|
79
|
-
// Create the control object with the close callback
|
|
80
|
-
const control = {
|
|
81
|
-
config,
|
|
82
|
-
close: this.destroy.bind(this),
|
|
83
|
-
};
|
|
76
|
+
const control = { config, close: this.destroy.bind(this) };
|
|
84
77
|
const injector = Injector.create({
|
|
85
78
|
parent: this.injector,
|
|
86
79
|
providers: [{ provide: OVERLAY_CONTROL, useValue: control }],
|
|
87
80
|
});
|
|
88
81
|
const portal = new ComponentPortal(OverlayContentComponent, null, injector);
|
|
89
82
|
const componentRef = this.overlayRef.attach(portal);
|
|
90
|
-
|
|
83
|
+
// --- START: MODIFICATION FOR DYNAMIC ARROW ---
|
|
84
|
+
this.positionSubscription = positionStrategy.positionChanges.subscribe((change) => {
|
|
85
|
+
// 1. Get the new placement ('top', 'bottom', etc.)
|
|
91
86
|
const newPlacement = this.getPlacementFromPosition(change.connectionPair);
|
|
92
87
|
componentRef.instance.actualPlacement = newPlacement;
|
|
88
|
+
// 2. Calculate the arrow's offset
|
|
89
|
+
if (this.overlayRef) {
|
|
90
|
+
const triggerRect = trigger.getBoundingClientRect();
|
|
91
|
+
const popoverRect = this.overlayRef.overlayElement.getBoundingClientRect();
|
|
92
|
+
let arrowOffset = 0;
|
|
93
|
+
// If popover is top/bottom, arrow moves horizontally (left)
|
|
94
|
+
if (newPlacement.startsWith('top') ||
|
|
95
|
+
newPlacement.startsWith('bottom')) {
|
|
96
|
+
const triggerCenter = triggerRect.left + triggerRect.width / 2;
|
|
97
|
+
arrowOffset = triggerCenter - popoverRect.left;
|
|
98
|
+
}
|
|
99
|
+
// If popover is left/right, arrow moves vertically (top)
|
|
100
|
+
else {
|
|
101
|
+
const triggerCenter = triggerRect.top + triggerRect.height / 2;
|
|
102
|
+
arrowOffset = triggerCenter - popoverRect.top;
|
|
103
|
+
}
|
|
104
|
+
// 3. Pass the offset to the content component
|
|
105
|
+
componentRef.instance.arrowOffset = arrowOffset;
|
|
106
|
+
}
|
|
93
107
|
componentRef.changeDetectorRef.detectChanges();
|
|
94
108
|
});
|
|
95
|
-
// --- NEW: Subscribe to the content component's events ---
|
|
96
109
|
componentRef.instance.mouseEnterPopover.subscribe(() => {
|
|
97
110
|
if (this.closeTimeout)
|
|
98
111
|
clearTimeout(this.closeTimeout);
|
|
99
112
|
});
|
|
100
|
-
componentRef.instance.mouseLeavePopover.subscribe(() =>
|
|
101
|
-
this.handleMouseLeave(); // Re-use the same logic
|
|
102
|
-
});
|
|
103
|
-
// Close on backdrop click for 'click' triggers
|
|
113
|
+
componentRef.instance.mouseLeavePopover.subscribe(() => this.handleMouseLeave());
|
|
104
114
|
if (config.trigger !== 'hover') {
|
|
105
115
|
this.overlayRef.backdropClick().subscribe(() => this.destroy());
|
|
106
116
|
}
|
|
107
|
-
// --- NEW: Accessibility ---
|
|
108
117
|
const popoverId = `popover-${Math.random().toString(36).substring(2, 9)}`;
|
|
109
118
|
componentRef.location.nativeElement.setAttribute('id', popoverId);
|
|
110
119
|
trigger.setAttribute('aria-describedby', popoverId);
|
|
@@ -149,7 +158,8 @@ export class RuclibOverlayComponent {
|
|
|
149
158
|
preferredPosition = positions[0];
|
|
150
159
|
break;
|
|
151
160
|
}
|
|
152
|
-
return this.overlay
|
|
161
|
+
return this.overlay
|
|
162
|
+
.position()
|
|
153
163
|
.flexibleConnectedTo(origin)
|
|
154
164
|
.withPositions([preferredPosition, ...positions])
|
|
155
165
|
.withPush(true);
|
|
@@ -179,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
179
189
|
type: HostListener,
|
|
180
190
|
args: ['document:keydown:escape']
|
|
181
191
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjbGliLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9ydWNsaWItb3ZlcmxheS9ydWNsaWItb3ZlcmxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL3J1Y2xpYi1vdmVybGF5L3J1Y2xpYi1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0YsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDekksT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUE4QyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxNQUFNLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQWlCbkQsTUFBTSxPQUFPLHNCQUFzQjtJQWlCakMsWUFDVSxPQUFnQixFQUNoQixRQUFrQixFQUNsQixjQUE4QjtRQUY5QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBbEIvQixpQkFBWSxHQUFrQjtZQUNyQyxPQUFPLEVBQUUs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QUFHLFNBQVMsQ0FBQyxDQUFDO2FBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUEsc0NBQXNDO0lBRXRDLFFBQVE7UUFDUixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQixDQUFDOztvSEE5S1Msc0JBQXNCO3dHQUF0QixzQkFBc0IsOFFBUXRCLFNBQVMsMkJBQVUsVUFBVSw2QkNsQzFDLDhTQVdBOzRGRGVhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxvQkFBb0I7a0pBTXJCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUc4QyxnQkFBZ0I7c0JBQW5FLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFrS3pDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9WRVJMQVlfQ09OVFJPTCwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheUNvbnRyb2wsIE92ZXJsYXlEYXRhIH0gZnJvbSAnLi4vbW9kZWwvb3ZlcmxheS50eXBlcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBPdmVybGF5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2Uvb3ZlcmxheS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi9vdmVybGF5LWNvbnRlbnQvb3ZlcmxheS1jb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IHBvc2l0aW9ucyB9IGZyb20gJy4uL2NvbnN0YW50cy9wb3NpdGlvbnMnO1xyXG5cclxuZXhwb3J0IHR5cGUgUG9wb3ZlclBsYWNlbWVudCA9ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnO1xyXG5leHBvcnQgdHlwZSBQb3BvdmVyQW5pbWF0aW9uID0gJ2ZhZGUnIHwgJ3NjYWxlJztcclxuZXhwb3J0IHR5cGUgQ2hhcnRUeXBlID0gJ2RvdWdobnV0JyB8ICdwaWUnIHwgJ2Jhcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENoYXJ0TW9kZWwge1xyXG4gIGNoYXJ0VHlwZTogQ2hhcnRUeXBlO1xyXG4gIGRhdGE6IGFueTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1eHAtcnVjbGliLW92ZXJsYXknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWNsaWItb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcnVjbGliLW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXSxcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSdWNsaWJPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgY29udGVudDogJ0RlZmF1bHQgY29udGVudCcsXHJcbiAgfTtcclxuICBASW5wdXQoKSBjdXN0b21UaGVtZSE6c3RyaW5nO1xyXG5cclxuICBcclxuICBAVmlld0NoaWxkKE1hdEJ1dHRvbiwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHByaXZhdGUgdHJpZ2dlckJ1dHRvblJlZiE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgc2VydmljZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGNsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+OyAvLyBVc2UgdGhlIGNvcnJlY3QgdHlwZVxyXG4gIHByaXZhdGUgbGFzdFRyaWdnZXJFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBwb3NpdGlvblN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBPdmVybGF5U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYnV0dG9uVGV4dCkge1xyXG4gICAgICB0aGlzLnNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLnBvcG92ZXJTdGF0ZSQuc3Vic2NyaWJlKFxyXG4gICAgICAgIChkYXRhOmFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEgJiYgIXRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvdyhkYXRhLnRyaWdnZXIsIGRhdGEuY29uZmlnKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoIWRhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvc2l0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5vdmVybGF5UmVmO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tIFRyaWdnZXIgSGFuZGxlcnMgZm9yIHNlbGYtY29udGFpbmVkIGJ1dHRvbiAtLS1cclxuICB0b2dnbGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ydWNJbnB1dERhdGEudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xyXG50aGlzLmlzT3BlbiA/IHRoaXMuZGVzdHJveSgpIDogdGhpcy5zaG93KHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLnJ1Y0lucHV0RGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVNb3VzZUVudGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucnVjSW5wdXREYXRhLnRyaWdnZXIgPT09ICdob3ZlcicpIHtcclxuICAgICAgaWYgKHRoaXMuY2xvc2VUaW1lb3V0KSBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXQpOyAvLyBDbGVhciBhbnkgcGVuZGluZyBjbG9zZSBjb21tYW5kXHJcbnRoaXMuc2hvdyh0aGlzLnRyaWdnZXJCdXR0b25SZWYubmF0aXZlRWxlbWVudCwgdGhpcy5ydWNJbnB1dERhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlTW91c2VMZWF2ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJ1Y0lucHV0RGF0YS50cmlnZ2VyID09PSAnaG92ZXInKSB7XHJcbiAgICAgIC8vIFVzZSB0aGUgY29uZmlndXJhYmxlIGNsb3NlRGVsYXlcclxuICAgICAgY29uc3QgZGVsYXkgPSB0aGlzLnJ1Y0lucHV0RGF0YS5jbG9zZURlbGF5ID8/IDIwMDtcclxuICAgICAgdGhpcy5jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZGVzdHJveSgpLCBkZWxheSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBzaG93KHRyaWdnZXI6IEhUTUxFbGVtZW50LCBjb25maWc6IE92ZXJsYXlDb25maWcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzT3Blbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuY3JlYXRlUG9zaXRpb25TdHJhdGVneShcclxuICAgICAgdHJpZ2dlcixcclxuICAgICAgY29uZmlnLnBsYWNlbWVudCB8fCAnYm90dG9tJ1xyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcclxuICAgICAgaGFzQmFja2Ryb3A6IGNvbmZpZy50cmlnZ2VyICE9PSAnaG92ZXInLCAvLyBObyBiYWNrZHJvcCBmb3IgaG92ZXJcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjp0cnVlXHJcbiAgICB9KTtcclxuXHJcblxyXG4gICAgdGhpcy5vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihldmVudD0+IGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSkpLnN1YnNjcmliZSgoKT0+IHRoaXMuZGVzdHJveSgpKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgdGhlIGNvbnRyb2wgb2JqZWN0IHdpdGggdGhlIGNsb3NlIGNhbGxiYWNrXHJcbiAgICBjb25zdCBjb250cm9sOiBPdmVybGF5Q29udHJvbCA9IHtcclxuICAgICAgY29uZmlnLFxyXG4gICAgICBjbG9zZTogdGhpcy5kZXN0cm95LmJpbmQodGhpcyksXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxyXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE9WRVJMQVlfQ09OVFJPTCwgdXNlVmFsdWU6IGNvbnRyb2wgfV0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKE92ZXJsYXlDb250ZW50Q29tcG9uZW50LCBudWxsLCBpbmplY3Rvcik7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XHJcblxyXG4gICAgdGhpcy5wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xyXG4gICAgICBjb25zdCBuZXdQbGFjZW1lbnQgPSB0aGlzLmdldFBsYWNlbWVudEZyb21Qb3NpdGlvbihjaGFuZ2UuY29ubmVjdGlvblBhaXIpO1xyXG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYWN0dWFsUGxhY2VtZW50ID0gbmV3UGxhY2VtZW50O1xyXG4gICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gLS0tIE5FVzogU3Vic2NyaWJlIHRvIHRoZSBjb250ZW50IGNvbXBvbmVudCdzIGV2ZW50cyAtLS1cclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tb3VzZUVudGVyUG9wb3Zlci5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jbG9zZVRpbWVvdXQpIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tb3VzZUxlYXZlUG9wb3Zlci5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmhhbmRsZU1vdXNlTGVhdmUoKTsgLy8gUmUtdXNlIHRoZSBzYW1lIGxvZ2ljXHJcbiAgICB9KTtcclxuXHJcbiAgICAgICAvLyBDbG9zZSBvbiBiYWNrZHJvcCBjbGljayBmb3IgJ2NsaWNrJyB0cmlnZ2Vyc1xyXG4gICAgaWYgKGNvbmZpZy50cmlnZ2VyICE9PSAnaG92ZXInKSB7XHJcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGVzdHJveSgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gTkVXOiBBY2Nlc3NpYmlsaXR5IC0tLVxyXG4gICAgY29uc3QgcG9wb3ZlcklkID0gYHBvcG92ZXItJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgOSl9YDtcclxuICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCBwb3BvdmVySWQpO1xyXG4gICAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCBwb3BvdmVySWQpO1xyXG4gICAgdGhpcy5sYXN0VHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyO1xyXG5cclxuICB9XHJcblxyXG4gICAvLyBSZW5hbWVkIGZyb20gaGlkZSgpIHRvIGRlc3Ryb3koKSBmb3IgY2xhcml0eVxyXG4gcHJpdmF0ZSBkZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHJldHVybjsgLy8gUHJldmVudCBtdWx0aXBsZSBjYWxsc1xyXG5cclxuICAgIGlmICh0aGlzLmxhc3RUcmlnZ2VyRWxlbWVudCkge1xyXG4gICAgICB0aGlzLmxhc3RUcmlnZ2VyRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknKTtcclxuICAgICAgdGhpcy5sYXN0VHJpZ2dlckVsZW1lbnQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnBvc2l0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBsYWNlbWVudEZyb21Qb3NpdGlvbihwb3NpdGlvbjogQ29ubmVjdGlvblBvc2l0aW9uUGFpcik6IFBvcG92ZXJQbGFjZW1lbnQge1xyXG4gICAgaWYgKHBvc2l0aW9uLm9yaWdpblkgPT09ICd0b3AnICYmIHBvc2l0aW9uLm92ZXJsYXlZID09PSAnYm90dG9tJykgcmV0dXJuICd0b3AnO1xyXG4gICAgaWYgKHBvc2l0aW9uLm9yaWdpblkgPT09ICdib3R0b20nICYmIHBvc2l0aW9uLm92ZXJsYXlZID09PSAndG9wJykgcmV0dXJuICdib3R0b20nO1xyXG4gICAgaWYgKHBvc2l0aW9uLm9yaWdpblggPT09ICdzdGFydCcgJiYgcG9zaXRpb24ub3ZlcmxheVggPT09ICdlbmQnKSByZXR1cm4gJ2xlZnQnO1xyXG4gICAgaWYgKHBvc2l0aW9uLm9yaWdpblggPT09ICdlbmQnICYmIHBvc2l0aW9uLm92ZXJsYXlYID09PSAnc3RhcnQnKSByZXR1cm4gJ3JpZ2h0JztcclxuICAgIHJldHVybiAnYm90dG9tJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUG9zaXRpb25TdHJhdGVneShvcmlnaW46IEhUTUxFbGVtZW50LCBwbGFjZW1lbnQ6IHN0cmluZyk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICBsZXQgcHJlZmVycmVkUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uO1xyXG4gICAgc3dpdGNoIChwbGFjZW1lbnQpIHtcclxuICAgICAgY2FzZSAndG9wJzogcHJlZmVycmVkUG9zaXRpb24gPSBwb3NpdGlvbnNbMV07IGJyZWFrO1xyXG4gICAgICBjYXNlICdyaWdodCc6IHByZWZlcnJlZFBvc2l0aW9uID0gcG9zaXRpb25zWzJdOyBicmVhaztcclxuICAgICAgY2FzZSAnbGVmdCc6IHByZWZlcnJlZFBvc2l0aW9uID0gcG9zaXRpb25zWzNdOyBicmVhaztcclxuICAgICAgZGVmYXVsdDogcHJlZmVycmVkUG9zaXRpb24gPSBwb3NpdGlvbnNbMF07IGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxyXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXHJcbiAgICAgIC53aXRoUG9zaXRpb25zKFtwcmVmZXJyZWRQb3NpdGlvbiwgLi4ucG9zaXRpb25zXSlcclxuICAgICAgLndpdGhQdXNoKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgIC8vRG9jdW1lbnQtbGV2ZWwgbGlzdGVuZXJzIGZvciBjbG9zaW5nXHJcbiAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd246ZXNjYXBlJylcclxuICAgb25Fc2NhcGUoKTp2b2lkIHtcclxuICAgdGhpcy5wb3NpdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2VydmljZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuZGVzdHJveSgpO1xyXG4gICB9XHJcblxyXG59XHJcbiIsIjxidXR0b25cclxubWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgKm5nSWY9XCJidXR0b25UZXh0XCJcclxuICAjdHJpZ2dlckJ1dHRvblxyXG4gIChjbGljayk9XCJ0b2dnbGUoKVwiXHJcbiAgKG1vdXNlZW50ZXIpPVwiaGFuZGxlTW91c2VFbnRlcigpXCJcclxuICAobW91c2VsZWF2ZSk9XCJoYW5kbGVNb3VzZUxlYXZlKClcIlxyXG4gIGNsYXNzPVwicG9wb3Zlci10cmlnZ2VyLWJ0blwiPlxyXG4gIHt7IGJ1dHRvblRleHQgfX1cclxuPC9idXR0b24+XHJcbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjbGliLW92ZXJsYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9ydWNsaWItb3ZlcmxheS9ydWNsaWItb3ZlcmxheS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL3J1Y2xpYi1vdmVybGF5L3J1Y2xpYi1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxPQUFPLEdBRVIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGVBQWUsR0FJaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQWdCbkQsTUFBTSxPQUFPLHNCQUFzQjtJQWdCakMsWUFDVSxPQUFnQixFQUNoQixRQUFrQixFQUNsQixjQUE4QjtRQUY5QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBakIvQixpQkFBWSxHQUFrQjtZQUNyQyxPQUFPLEVBQUUsaUJBQWlCO1NBQzNCLENBQUM7UUFNTSxlQUFVLEdBQXNCLElBQUksQ0FBQztJQVUxQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENB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TztnQkFDVixpQkFBaUIsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1lBQ1I7Z0JBQ0UsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1NBQ1Q7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLFFBQVEsRUFBRTthQUNWLG1CQUFtQixDQUFDLE1BQU0sQ0FBQzthQUMzQixhQUFhLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO2FBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsc0NBQXNDO0lBRXRDLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOztvSEFoTlUsc0JBQXNCO3dHQUF0QixzQkFBc0IsOFFBT3RCLFNBQVMsMkJBQVUsVUFBVSw2QkNwRDFDLDhTQVdBOzRGRGtDYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO2tKQUtyQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRSxnQkFBZ0I7c0JBRHZCLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFxTTFDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbm5lY3RlZFBvc2l0aW9uLFxyXG4gIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXHJcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxyXG4gIE92ZXJsYXksXHJcbiAgT3ZlcmxheVJlZixcclxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIE9WRVJMQVlfQ09OVFJPTCxcclxuICBPdmVybGF5Q29uZmlnLFxyXG4gIE92ZXJsYXlDb250cm9sLFxyXG4gIE92ZXJsYXlEYXRhLFxyXG59IGZyb20gJy4uL21vZGVsL292ZXJsYXkudHlwZXMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7IE92ZXJsYXlDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vb3ZlcmxheS1jb250ZW50L292ZXJsYXktY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBwb3NpdGlvbnMgfSBmcm9tICcuLi9jb25zdGFudHMvcG9zaXRpb25zJztcclxuXHJcbmV4cG9ydCB0eXBlIFBvcG92ZXJQbGFjZW1lbnQgPSAndG9wJyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcclxuZXhwb3J0IHR5cGUgUG9wb3ZlckFuaW1hdGlvbiA9ICdmYWRlJyB8ICdzY2FsZSc7XHJcbmV4cG9ydCB0eXBlIENoYXJ0VHlwZSA9ICdkb3VnaG51dCcgfCAncGllJyB8ICdiYXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaGFydE1vZGVsIHtcclxuICBjaGFydFR5cGU6IENoYXJ0VHlwZTtcclxuICBkYXRhOiBhbnk7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndXhwLXJ1Y2xpYi1vdmVybGF5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcnVjbGliLW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3J1Y2xpYi1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSdWNsaWJPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcnVjSW5wdXREYXRhOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgY29udGVudDogJ0RlZmF1bHQgY29udGVudCcsXHJcbiAgfTtcclxuICBASW5wdXQoKSBjdXN0b21UaGVtZSE6IHN0cmluZztcclxuXHJcbiAgQFZpZXdDaGlsZChNYXRCdXR0b24sIHsgcmVhZDogRWxlbWVudFJlZiB9KVxyXG4gIHByaXZhdGUgdHJpZ2dlckJ1dHRvblJlZiE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgc2VydmljZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGNsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+OyAvLyBVc2UgdGhlIGNvcnJlY3QgdHlwZVxyXG4gIHByaXZhdGUgbGFzdFRyaWdnZXJFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBwb3NpdGlvblN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5idXR0b25UZXh0KSB7XHJcbiAgICAgIHRoaXMuc2VydmljZVN1YnNjcmlwdGlvbiA9IHRoaXMub3ZlcmxheVNlcnZpY2UucG9wb3ZlclN0YXRlJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEgJiYgIXRoaXMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvdyhkYXRhLnRyaWdnZXIsIGRhdGEuY29uZmlnKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoIWRhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvc2l0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5vdmVybGF5UmVmO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tIFRyaWdnZXIgSGFuZGxlcnMgZm9yIHNlbGYtY29udGFpbmVkIGJ1dHRvbiAtLS1cclxuICB0b2dnbGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ydWNJbnB1dERhdGEudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xyXG4gICAgICB0aGlzLmlzT3BlblxyXG4gICAgICAgID8gdGhpcy5kZXN0cm95KClcclxuICAgICAgICA6IHRoaXMuc2hvdyh0aGlzLnRyaWdnZXJCdXR0b25SZWYubmF0aXZlRWxlbWVudCwgdGhpcy5ydWNJbnB1dERhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlTW91c2VFbnRlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJ1Y0lucHV0RGF0YS50cmlnZ2VyID09PSAnaG92ZXInKSB7XHJcbiAgICAgIGlmICh0aGlzLmNsb3NlVGltZW91dCkgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTsgLy8gQ2xlYXIgYW55IHBlbmRpbmcgY2xvc2UgY29tbWFuZFxyXG4gICAgICB0aGlzLnNob3codGhpcy50cmlnZ2VyQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMucnVjSW5wdXREYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZU1vdXNlTGVhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ydWNJbnB1dERhdGEudHJpZ2dlciA9PT0gJ2hvdmVyJykge1xyXG4gICAgICAvLyBVc2UgdGhlIGNvbmZpZ3VyYWJsZSBjbG9zZURlbGF5XHJcbiAgICAgIGNvbnN0IGRlbGF5ID0gdGhpcy5ydWNJbnB1dERhdGEuY2xvc2VEZWxheSA/PyAyMDA7XHJcbiAgICAgIHRoaXMuY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmRlc3Ryb3koKSwgZGVsYXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93KHRyaWdnZXI6IEhUTUxFbGVtZW50LCBjb25maWc6IE92ZXJsYXlDb25maWcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzT3BlbikgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koXHJcbiAgICAgIHRyaWdnZXIsXHJcbiAgICAgIGNvbmZpZy5wbGFjZW1lbnQgfHwgJ2JvdHRvbSdcclxuICAgICk7XHJcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcclxuICAgICAgaGFzQmFja2Ryb3A6IGNvbmZpZy50cmlnZ2VyICE9PSAnaG92ZXInLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgY29udHJvbDogT3ZlcmxheUNvbnRyb2wgPSB7IGNvbmZpZywgY2xvc2U6IHRoaXMuZGVzdHJveS5iaW5kKHRoaXMpIH07XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcclxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBPVkVSTEFZX0NPTlRST0wsIHVzZVZhbHVlOiBjb250cm9sIH1dLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChPdmVybGF5Q29udGVudENvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xyXG5cclxuICAgIC8vIC0tLSBTVEFSVDogTU9ESUZJQ0FUSU9OIEZPUiBEWU5BTUlDIEFSUk9XIC0tLVxyXG4gICAgdGhpcy5wb3NpdGlvblN1YnNjcmlwdGlvbiA9IHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZShcclxuICAgICAgKGNoYW5nZSkgPT4ge1xyXG4gICAgICAgIC8vIDEuIEdldCB0aGUgbmV3IHBsYWNlbWVudCAoJ3RvcCcsICdib3R0b20nLCBldGMuKVxyXG4gICAgICAgIGNvbnN0IG5ld1BsYWNlbWVudCA9IHRoaXMuZ2V0UGxhY2VtZW50RnJvbVBvc2l0aW9uKFxyXG4gICAgICAgICAgY2hhbmdlLmNvbm5lY3Rpb25QYWlyXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYWN0dWFsUGxhY2VtZW50ID0gbmV3UGxhY2VtZW50O1xyXG5cclxuICAgICAgICAvLyAyLiBDYWxjdWxhdGUgdGhlIGFycm93J3Mgb2Zmc2V0XHJcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xyXG4gICAgICAgICAgY29uc3QgdHJpZ2dlclJlY3QgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgY29uc3QgcG9wb3ZlclJlY3QgPVxyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgICAgbGV0IGFycm93T2Zmc2V0ID0gMDtcclxuICAgICAgICAgIC8vIElmIHBvcG92ZXIgaXMgdG9wL2JvdHRvbSwgYXJyb3cgbW92ZXMgaG9yaXpvbnRhbGx5IChsZWZ0KVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBuZXdQbGFjZW1lbnQuc3RhcnRzV2l0aCgndG9wJykgfHxcclxuICAgICAgICAgICAgbmV3UGxhY2VtZW50LnN0YXJ0c1dpdGgoJ2JvdHRvbScpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgY29uc3QgdHJpZ2dlckNlbnRlciA9IHRyaWdnZXJSZWN0LmxlZnQgKyB0cmlnZ2VyUmVjdC53aWR0aCAvIDI7XHJcbiAgICAgICAgICAgIGFycm93T2Zmc2V0ID0gdHJpZ2dlckNlbnRlciAtIHBvcG92ZXJSZWN0LmxlZnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBJZiBwb3BvdmVyIGlzIGxlZnQvcmlnaHQsIGFycm93IG1vdmVzIHZlcnRpY2FsbHkgKHRvcClcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCB0cmlnZ2VyQ2VudGVyID0gdHJpZ2dlclJlY3QudG9wICsgdHJpZ2dlclJlY3QuaGVpZ2h0IC8gMjtcclxuICAgICAgICAgICAgYXJyb3dPZmZzZXQgPSB0cmlnZ2VyQ2VudGVyIC0gcG9wb3ZlclJlY3QudG9wO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIDMuIFBhc3MgdGhlIG9mZnNldCB0byB0aGUgY29udGVudCBjb21wb25lbnRcclxuICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5hcnJvd09mZnNldCA9IGFycm93T2Zmc2V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW91c2VFbnRlclBvcG92ZXIuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY2xvc2VUaW1lb3V0KSBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXQpO1xyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW91c2VMZWF2ZVBvcG92ZXIuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuaGFuZGxlTW91c2VMZWF2ZSgpXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChjb25maWcudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xyXG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRlc3Ryb3koKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcG9wb3ZlcklkID0gYHBvcG92ZXItJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgOSl9YDtcclxuICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCBwb3BvdmVySWQpO1xyXG4gICAgdHJpZ2dlci5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCBwb3BvdmVySWQpO1xyXG4gICAgdGhpcy5sYXN0VHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVuYW1lZCBmcm9tIGhpZGUoKSB0byBkZXN0cm95KCkgZm9yIGNsYXJpdHlcclxuICBwcml2YXRlIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikgcmV0dXJuOyAvLyBQcmV2ZW50IG11bHRpcGxlIGNhbGxzXHJcblxyXG4gICAgaWYgKHRoaXMubGFzdFRyaWdnZXJFbGVtZW50KSB7XHJcbiAgICAgIHRoaXMubGFzdFRyaWdnZXJFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xyXG4gICAgICB0aGlzLmxhc3RUcmlnZ2VyRWxlbWVudCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIHRoaXMucG9zaXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xyXG4gICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UGxhY2VtZW50RnJvbVBvc2l0aW9uKFxyXG4gICAgcG9zaXRpb246IENvbm5lY3Rpb25Qb3NpdGlvblBhaXJcclxuICApOiBQb3BvdmVyUGxhY2VtZW50IHtcclxuICAgIGlmIChwb3NpdGlvbi5vcmlnaW5ZID09PSAndG9wJyAmJiBwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ2JvdHRvbScpXHJcbiAgICAgIHJldHVybiAndG9wJztcclxuICAgIGlmIChwb3NpdGlvbi5vcmlnaW5ZID09PSAnYm90dG9tJyAmJiBwb3NpdGlvbi5vdmVybGF5WSA9PT0gJ3RvcCcpXHJcbiAgICAgIHJldHVybiAnYm90dG9tJztcclxuICAgIGlmIChwb3NpdGlvbi5vcmlnaW5YID09PSAnc3RhcnQnICYmIHBvc2l0aW9uLm92ZXJsYXlYID09PSAnZW5kJylcclxuICAgICAgcmV0dXJuICdsZWZ0JztcclxuICAgIGlmIChwb3NpdGlvbi5vcmlnaW5YID09PSAnZW5kJyAmJiBwb3NpdGlvbi5vdmVybGF5WCA9PT0gJ3N0YXJ0JylcclxuICAgICAgcmV0dXJuICdyaWdodCc7XHJcbiAgICByZXR1cm4gJ2JvdHRvbSc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koXHJcbiAgICBvcmlnaW46IEhUTUxFbGVtZW50LFxyXG4gICAgcGxhY2VtZW50OiBzdHJpbmdcclxuICApOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xyXG4gICAgbGV0IHByZWZlcnJlZFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbjtcclxuICAgIHN3aXRjaCAocGxhY2VtZW50KSB7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcHJlZmVycmVkUG9zaXRpb24gPSBwb3NpdGlvbnNbMV07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICBwcmVmZXJyZWRQb3NpdGlvbiA9IHBvc2l0aW9uc1syXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcHJlZmVycmVkUG9zaXRpb24gPSBwb3NpdGlvbnNbM107XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcHJlZmVycmVkUG9zaXRpb24gPSBwb3NpdGlvbnNbMF07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVxyXG4gICAgICAucG9zaXRpb24oKVxyXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pXHJcbiAgICAgIC53aXRoUG9zaXRpb25zKFtwcmVmZXJyZWRQb3NpdGlvbiwgLi4ucG9zaXRpb25zXSlcclxuICAgICAgLndpdGhQdXNoKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLy9Eb2N1bWVudC1sZXZlbCBsaXN0ZW5lcnMgZm9yIGNsb3NpbmdcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duOmVzY2FwZScpXHJcbiAgb25Fc2NhcGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBvc2l0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b25cclxubWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgKm5nSWY9XCJidXR0b25UZXh0XCJcclxuICAjdHJpZ2dlckJ1dHRvblxyXG4gIChjbGljayk9XCJ0b2dnbGUoKVwiXHJcbiAgKG1vdXNlZW50ZXIpPVwiaGFuZGxlTW91c2VFbnRlcigpXCJcclxuICAobW91c2VsZWF2ZSk9XCJoYW5kbGVNb3VzZUxlYXZlKClcIlxyXG4gIGNsYXNzPVwicG9wb3Zlci10cmlnZ2VyLWJ0blwiPlxyXG4gIHt7IGJ1dHRvblRleHQgfX1cclxuPC9idXR0b24+XHJcbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { MatCardModule } from '@angular/material/card';
|
|
1
2
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
2
3
|
import { NgModule } from '@angular/core';
|
|
3
4
|
import { CommonModule } from '@angular/common';
|
|
@@ -17,12 +18,14 @@ RuclibOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
|
|
|
17
18
|
MatIconModule,
|
|
18
19
|
OverlayModule,
|
|
19
20
|
BrowserAnimationsModule,
|
|
20
|
-
MatButtonModule
|
|
21
|
+
MatButtonModule,
|
|
22
|
+
MatCardModule], exports: [RuclibOverlayComponent, RucOverlayChartComponent] });
|
|
21
23
|
RuclibOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibOverlayModule, imports: [CommonModule,
|
|
22
24
|
MatIconModule,
|
|
23
25
|
OverlayModule,
|
|
24
26
|
BrowserAnimationsModule,
|
|
25
|
-
MatButtonModule
|
|
27
|
+
MatButtonModule,
|
|
28
|
+
MatCardModule] });
|
|
26
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibOverlayModule, decorators: [{
|
|
27
30
|
type: NgModule,
|
|
28
31
|
args: [{
|
|
@@ -32,6 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
32
35
|
OverlayModule,
|
|
33
36
|
BrowserAnimationsModule,
|
|
34
37
|
MatButtonModule,
|
|
38
|
+
MatCardModule
|
|
35
39
|
],
|
|
36
40
|
declarations: [
|
|
37
41
|
RuclibOverlayComponent,
|
|
@@ -41,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
41
45
|
exports: [RuclibOverlayComponent, RucOverlayChartComponent],
|
|
42
46
|
}]
|
|
43
47
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjbGliLW92ZXJsYXkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ydWNsaWItb3ZlcmxheS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOztBQWtCM0YsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGlCQU41QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QixhQVZ4QixZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsZUFBZTtRQUNmLGFBQWEsYUFPTCxzQkFBc0IsRUFBRSx3QkFBd0I7a0hBRS9DLG1CQUFtQixZQWQ1QixZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsZUFBZTtRQUNmLGFBQWE7NEZBU0osbUJBQW1CO2tCQWhCL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLHdCQUF3QixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSdWNsaWJPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9ydWNsaWItb3ZlcmxheS9ydWNsaWItb3ZlcmxheS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPdmVybGF5Q29udGVudENvbXBvbmVudCB9IGZyb20gJy4vb3ZlcmxheS1jb250ZW50L292ZXJsYXktY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFJ1Y092ZXJsYXlDaGFydENvbXBvbmVudCB9IGZyb20gJy4vcnVjLW92ZXJsYXktY2hhcnQvcnVjLW92ZXJsYXktY2hhcnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE92ZXJsYXlNb2R1bGUsXHJcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUnVjbGliT3ZlcmxheUNvbXBvbmVudCxcclxuICAgIE92ZXJsYXlDb250ZW50Q29tcG9uZW50LFxyXG4gICAgUnVjT3ZlcmxheUNoYXJ0Q29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbUnVjbGliT3ZlcmxheUNvbXBvbmVudCwgUnVjT3ZlcmxheUNoYXJ0Q29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJ1Y2xpYk92ZXJsYXlNb2R1bGUge31cclxuIl19
|