@testgorilla/tgo-ui 2.23.27 → 2.23.28
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/dialog/dialog.component.d.ts +17 -1
- package/components/field/field.component.d.ts +3 -2
- package/components/scale/scale.component.d.ts +18 -3
- package/components/side-sheet/side-sheet.component.d.ts +1 -0
- package/esm2022/assets/i18n/en.json +2 -1
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +1 -1
- package/esm2022/components/dialog/dialog.component.mjs +32 -10
- package/esm2022/components/field/field.component.mjs +8 -5
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +9 -7
- package/esm2022/components/scale/scale.component.mjs +32 -4
- package/esm2022/components/side-sheet/side-sheet.component.mjs +9 -3
- package/esm2022/utils/hex-to-rgb.mjs +9 -0
- package/fesm2022/testgorilla-tgo-ui.mjs +93 -23
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/projects/tgo-canopy-ui/assets/i18n/en.json +2 -1
- package/utils/hex-to-rgb.d.ts +1 -0
|
@@ -96,9 +96,25 @@ export declare class DialogComponent implements OnInit, OnChanges {
|
|
|
96
96
|
* @memberof DialogComponent
|
|
97
97
|
*/
|
|
98
98
|
shouldDisableButtons: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* A string representing the ARIA requirement for accessibility.
|
|
101
|
+
* This attribute is used to indicate whether an input field is required for form submission.
|
|
102
|
+
* @type {string}
|
|
103
|
+
* @memberof DialogComponent
|
|
104
|
+
*/
|
|
105
|
+
ariaLabelledby: string;
|
|
106
|
+
/**
|
|
107
|
+
* A string representing the ARIA requirement for accessibility.
|
|
108
|
+
* This attribute is used to indicate whether an input field is required for form submission.
|
|
109
|
+
* @type {string}
|
|
110
|
+
* @memberof DialogComponent
|
|
111
|
+
*/
|
|
112
|
+
ariaDescribedby: string;
|
|
99
113
|
closeEvent: EventEmitter<Event>;
|
|
100
114
|
secondaryButtonClickEvent: EventEmitter<Event>;
|
|
101
115
|
primaryButtonClickEvent: EventEmitter<Event>;
|
|
116
|
+
modalClosed: boolean;
|
|
117
|
+
onEsc(_: KeyboardEvent): void;
|
|
102
118
|
constructor(defaultAppTheme: ApplicationTheme, dialogRef: MatDialogRef<DialogComponent>, data: {
|
|
103
119
|
applicationTheme: ApplicationTheme;
|
|
104
120
|
});
|
|
@@ -112,5 +128,5 @@ export declare class DialogComponent implements OnInit, OnChanges {
|
|
|
112
128
|
onSecondaryButtonClick(event: Event): void;
|
|
113
129
|
onPrimaryButtonClick(event: Event): void;
|
|
114
130
|
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, [{ optional: true; }, null, null]>;
|
|
115
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "ui-dialog", never, { "title": { "alias": "title"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "canCloseFn": { "alias": "canCloseFn"; "required": false; }; "secondaryButtonLabel": { "alias": "secondaryButtonLabel"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "secondaryButtonType": { "alias": "secondaryButtonType"; "required": false; }; "primaryButtonType": { "alias": "primaryButtonType"; "required": false; }; "language": { "alias": "language"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "disablePrimaryButton": { "alias": "disablePrimaryButton"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "shouldDisableButtons": { "alias": "shouldDisableButtons"; "required": false; }; }, { "closeEvent": "closeEvent"; "secondaryButtonClickEvent": "secondaryButtonClickEvent"; "primaryButtonClickEvent": "primaryButtonClickEvent"; }, never, ["*"], false, never>;
|
|
131
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "ui-dialog", never, { "title": { "alias": "title"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "canCloseFn": { "alias": "canCloseFn"; "required": false; }; "secondaryButtonLabel": { "alias": "secondaryButtonLabel"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "secondaryButtonType": { "alias": "secondaryButtonType"; "required": false; }; "primaryButtonType": { "alias": "primaryButtonType"; "required": false; }; "language": { "alias": "language"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "disablePrimaryButton": { "alias": "disablePrimaryButton"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "shouldDisableButtons": { "alias": "shouldDisableButtons"; "required": false; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; }, { "closeEvent": "closeEvent"; "secondaryButtonClickEvent": "secondaryButtonClickEvent"; "primaryButtonClickEvent": "primaryButtonClickEvent"; }, never, ["*"], false, never>;
|
|
116
132
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AfterViewInit, ChangeDetectorRef, DestroyRef, DoCheck, EventEmitter, NgZone, OnInit } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, DestroyRef, DoCheck, ElementRef, EventEmitter, NgZone, OnInit } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor, NgControl } from '@angular/forms';
|
|
3
3
|
import { FieldType } from '../../components/field/field.model';
|
|
4
4
|
import { MatIconRegistry } from '@angular/material/icon';
|
|
@@ -244,7 +244,7 @@ export declare class FieldComponent implements OnInit, ControlValueAccessor, DoC
|
|
|
244
244
|
hasError: boolean;
|
|
245
245
|
validateEvent: EventEmitter<string>;
|
|
246
246
|
fieldBlur: EventEmitter<void>;
|
|
247
|
-
field: HTMLInputElement
|
|
247
|
+
field: ElementRef<HTMLInputElement>;
|
|
248
248
|
get getPasswordIcon(): IconName;
|
|
249
249
|
isActiveField: boolean;
|
|
250
250
|
isActiveHover: boolean;
|
|
@@ -288,6 +288,7 @@ export declare class FieldComponent implements OnInit, ControlValueAccessor, DoC
|
|
|
288
288
|
private clearSpace;
|
|
289
289
|
onBlur(): void;
|
|
290
290
|
trackByFn: (index: number, value: any) => any;
|
|
291
|
+
focus(): void;
|
|
291
292
|
static ɵfac: i0.ɵɵFactoryDeclaration<FieldComponent, [{ optional: true; }, null, null, null, { optional: true; self: true; }, null, null, null]>;
|
|
292
293
|
static ɵcmp: i0.ɵɵComponentDeclaration<FieldComponent, "ui-field", never, { "fullWidth": { "alias": "fullWidth"; "required": false; }; "label": { "alias": "label"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "value": { "alias": "value"; "required": false; }; "errors": { "alias": "errors"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hintMessage": { "alias": "hintMessage"; "required": false; }; "type": { "alias": "type"; "required": false; }; "updateOnBlur": { "alias": "updateOnBlur"; "required": false; }; "allowOnlyDigits": { "alias": "allowOnlyDigits"; "required": false; }; "allowNegative": { "alias": "allowNegative"; "required": false; }; "language": { "alias": "language"; "required": false; }; "showBottomContent": { "alias": "showBottomContent"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "isValid": { "alias": "isValid"; "required": false; }; "maxCharacters": { "alias": "maxCharacters"; "required": false; }; "trimOnBlur": { "alias": "trimOnBlur"; "required": false; }; "trimOnSubmit": { "alias": "trimOnSubmit"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "hideBuiltInErrors": { "alias": "hideBuiltInErrors"; "required": false; }; "hideLabelInErrors": { "alias": "hideLabelInErrors"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "textareaHeight": { "alias": "textareaHeight"; "required": false; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; }, { "validateEvent": "validateEvent"; "fieldBlur": "fieldBlur"; }, never, never, false, never>;
|
|
293
294
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class ScaleComponent {
|
|
4
|
+
export declare class ScaleComponent implements OnInit, OnChanges {
|
|
5
5
|
private readonly defaultAppTheme;
|
|
6
6
|
private readonly MIN_LENGTH;
|
|
7
7
|
private readonly DEFAULT_LENGTH;
|
|
@@ -26,9 +26,24 @@ export declare class ScaleComponent {
|
|
|
26
26
|
* @memberof ScaleComponent
|
|
27
27
|
*/
|
|
28
28
|
applicationTheme: ApplicationTheme;
|
|
29
|
+
/**
|
|
30
|
+
* Color of the option hover.
|
|
31
|
+
* Defaults to Test Gorilla primary color.
|
|
32
|
+
*
|
|
33
|
+
* @type {string}
|
|
34
|
+
* @memberof ScaleComponent
|
|
35
|
+
*/
|
|
36
|
+
companyColor: string;
|
|
29
37
|
selectedIndexChange: EventEmitter<number>;
|
|
38
|
+
styles: import("@angular/core").WritableSignal<{
|
|
39
|
+
'--hover-color': string;
|
|
40
|
+
'--selected-color': string;
|
|
41
|
+
}>;
|
|
30
42
|
constructor(defaultAppTheme: ApplicationTheme);
|
|
43
|
+
ngOnInit(): void;
|
|
44
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
31
45
|
protected select(index: number): void;
|
|
46
|
+
private setCompanyColor;
|
|
32
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<ScaleComponent, [{ optional: true; }]>;
|
|
33
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ScaleComponent, "ui-scale", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "length": { "alias": "length"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; }, never, never, false, never>;
|
|
48
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ScaleComponent, "ui-scale", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "length": { "alias": "length"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; "companyColor": { "alias": "companyColor"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; }, never, never, false, never>;
|
|
34
49
|
}
|
|
@@ -33,6 +33,7 @@ export declare class SideSheetComponent implements OnInit {
|
|
|
33
33
|
openChange: EventEmitter<boolean>;
|
|
34
34
|
drawer: MatDrawer;
|
|
35
35
|
container: ViewContainerRef;
|
|
36
|
+
onEscPress(_: KeyboardEvent): void;
|
|
36
37
|
protected title: string;
|
|
37
38
|
protected showBackButton: boolean;
|
|
38
39
|
protected showTitleTooltip: boolean;
|
|
@@ -32,7 +32,7 @@ export class ConfirmDialogComponent {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: ConfirmDialogComponent, selector: "ui-confirm-dialog", inputs: { applicationTheme: "applicationTheme" }, ngImport: i0, template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? (('COMMON.CONFIRM') | uiTranslate : lang)\"\n [primaryButtonLabel]=\"confirmButtonText ?? (('COMMON.YES') | uiTranslate : lang)\"\n [secondaryButtonLabel]=\"cancelButtonText ?? (('COMMON.CANCEL') | uiTranslate : lang)\"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n primaryButtonType=\"primary\"\n secondaryButtonType=\"outlined\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"false\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"], dependencies: [{ kind: "component", type: i3.DialogComponent, selector: "ui-dialog", inputs: ["title", "showCloseButton", "canCloseFn", "secondaryButtonLabel", "primaryButtonLabel", "secondaryButtonType", "primaryButtonType", "language", "companyColor", "applicationTheme", "disablePrimaryButton", "disableClose", "shouldDisableButtons"], outputs: ["closeEvent", "secondaryButtonClickEvent", "primaryButtonClickEvent"] }, { kind: "pipe", type: i4.UiTranslatePipe, name: "uiTranslate" }] }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: ConfirmDialogComponent, selector: "ui-confirm-dialog", inputs: { applicationTheme: "applicationTheme" }, ngImport: i0, template: "<ng-container>\n <ui-dialog\n [title]=\"title ?? (('COMMON.CONFIRM') | uiTranslate : lang)\"\n [primaryButtonLabel]=\"confirmButtonText ?? (('COMMON.YES') | uiTranslate : lang)\"\n [secondaryButtonLabel]=\"cancelButtonText ?? (('COMMON.CANCEL') | uiTranslate : lang)\"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n primaryButtonType=\"primary\"\n secondaryButtonType=\"outlined\"\n [applicationTheme]=\"applicationTheme\"\n [showCloseButton]=\"false\"\n >\n <div class=\"message\">{{ confirmMessage }}</div>\n @if (confirmMessageHtml) {\n <div class=\"message\" [innerHTML]=\"confirmMessageHtml\"></div>\n }\n </ui-dialog>\n\n</ng-container>\n", styles: ["::ng-deep .ui-dialog-wrapper{max-width:600px!important}\n"], dependencies: [{ kind: "component", type: i3.DialogComponent, selector: "ui-dialog", inputs: ["title", "showCloseButton", "canCloseFn", "secondaryButtonLabel", "primaryButtonLabel", "secondaryButtonType", "primaryButtonType", "language", "companyColor", "applicationTheme", "disablePrimaryButton", "disableClose", "shouldDisableButtons", "ariaLabelledby", "ariaDescribedby"], outputs: ["closeEvent", "secondaryButtonClickEvent", "primaryButtonClickEvent"] }, { kind: "pipe", type: i4.UiTranslatePipe, name: "uiTranslate" }] }); }
|
|
36
36
|
}
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Inject, Input, Optional, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
3
|
import { LanguageService } from '../../utils/localization/language.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -7,6 +7,9 @@ import * as i2 from "@angular/common";
|
|
|
7
7
|
import * as i3 from "../button/button.component";
|
|
8
8
|
import * as i4 from "../../pipes/ui-translate.pipe";
|
|
9
9
|
export class DialogComponent {
|
|
10
|
+
onEsc(_) {
|
|
11
|
+
this.dismiss();
|
|
12
|
+
}
|
|
10
13
|
constructor(defaultAppTheme, dialogRef, data) {
|
|
11
14
|
this.defaultAppTheme = defaultAppTheme;
|
|
12
15
|
this.dialogRef = dialogRef;
|
|
@@ -100,9 +103,24 @@ export class DialogComponent {
|
|
|
100
103
|
* @memberof DialogComponent
|
|
101
104
|
*/
|
|
102
105
|
this.shouldDisableButtons = true;
|
|
106
|
+
/**
|
|
107
|
+
* A string representing the ARIA requirement for accessibility.
|
|
108
|
+
* This attribute is used to indicate whether an input field is required for form submission.
|
|
109
|
+
* @type {string}
|
|
110
|
+
* @memberof DialogComponent
|
|
111
|
+
*/
|
|
112
|
+
this.ariaLabelledby = '';
|
|
113
|
+
/**
|
|
114
|
+
* A string representing the ARIA requirement for accessibility.
|
|
115
|
+
* This attribute is used to indicate whether an input field is required for form submission.
|
|
116
|
+
* @type {string}
|
|
117
|
+
* @memberof DialogComponent
|
|
118
|
+
*/
|
|
119
|
+
this.ariaDescribedby = '';
|
|
103
120
|
this.closeEvent = new EventEmitter();
|
|
104
121
|
this.secondaryButtonClickEvent = new EventEmitter();
|
|
105
122
|
this.primaryButtonClickEvent = new EventEmitter();
|
|
123
|
+
this.modalClosed = false;
|
|
106
124
|
this.disableButtons = false;
|
|
107
125
|
this.translationContext = 'DIALOG.';
|
|
108
126
|
if (defaultAppTheme) {
|
|
@@ -130,22 +148,19 @@ export class DialogComponent {
|
|
|
130
148
|
}
|
|
131
149
|
//Disable primary button when canClose is false
|
|
132
150
|
areButtonsDisabled() {
|
|
133
|
-
|
|
134
|
-
this.disableButtons = true;
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
this.disableButtons = false;
|
|
138
|
-
}
|
|
151
|
+
this.disableButtons = !this.canCloseFn() && this.shouldDisableButtons;
|
|
139
152
|
}
|
|
140
153
|
//Close modal
|
|
141
154
|
dismiss() {
|
|
142
155
|
if (this.canCloseFn()) {
|
|
143
156
|
this.dialogRef.disableClose = false;
|
|
144
157
|
this.dialogRef.close();
|
|
158
|
+
this.modalClosed = true;
|
|
145
159
|
}
|
|
146
160
|
}
|
|
147
161
|
onClose(event) {
|
|
148
162
|
this.closeEvent.emit(event);
|
|
163
|
+
this.modalClosed = true;
|
|
149
164
|
}
|
|
150
165
|
onSecondaryButtonClick(event) {
|
|
151
166
|
this.secondaryButtonClickEvent.emit(event);
|
|
@@ -154,11 +169,11 @@ export class DialogComponent {
|
|
|
154
169
|
this.primaryButtonClickEvent.emit(event);
|
|
155
170
|
}
|
|
156
171
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DialogComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
157
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: DialogComponent, selector: "ui-dialog", inputs: { title: "title", showCloseButton: "showCloseButton", canCloseFn: "canCloseFn", secondaryButtonLabel: "secondaryButtonLabel", primaryButtonLabel: "primaryButtonLabel", secondaryButtonType: "secondaryButtonType", primaryButtonType: "primaryButtonType", language: "language", companyColor: "companyColor", applicationTheme: "applicationTheme", disablePrimaryButton: "disablePrimaryButton", disableClose: "disableClose", shouldDisableButtons: "shouldDisableButtons" }, outputs: { closeEvent: "closeEvent", secondaryButtonClickEvent: "secondaryButtonClickEvent", primaryButtonClickEvent: "primaryButtonClickEvent" }, host: { properties: { "style.--color": "this.companyColor" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dialog-container\" [attr.theme]=\"applicationTheme\">\n <div
|
|
172
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: DialogComponent, selector: "ui-dialog", inputs: { title: "title", showCloseButton: "showCloseButton", canCloseFn: "canCloseFn", secondaryButtonLabel: "secondaryButtonLabel", primaryButtonLabel: "primaryButtonLabel", secondaryButtonType: "secondaryButtonType", primaryButtonType: "primaryButtonType", language: "language", companyColor: "companyColor", applicationTheme: "applicationTheme", disablePrimaryButton: "disablePrimaryButton", disableClose: "disableClose", shouldDisableButtons: "shouldDisableButtons", ariaLabelledby: "ariaLabelledby", ariaDescribedby: "ariaDescribedby" }, outputs: { closeEvent: "closeEvent", secondaryButtonClickEvent: "secondaryButtonClickEvent", primaryButtonClickEvent: "primaryButtonClickEvent" }, host: { listeners: { "keydown.esc": "onEsc($event)" }, properties: { "style.--color": "this.companyColor" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dialog-container\" [attr.theme]=\"applicationTheme\">\n <div\n mat-dialog-title\n class=\"dialog-title\"\n [attr.aria-modal]=\"true\"\n [attr.aria-labelledby]=\"'labelledby'\"\n [attr.aria-describedby]=\"'ariaDescribedby'\"\n >\n\n <span [style.display]=\"'none'\" id=\"ariaDescribedby\">{{ ariaDescribedby }}</span>\n <h3 class=\"bold\" id=\"labelledby\">{{ title }}</h3>\n <div *ngIf=\"showCloseButton\">\n <ui-button\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"('COMMON.CLOSE') | uiTranslate : language\"\n (click)=\"onClose($event)\"\n (buttonClickEvent)=\"dismiss()\"\n id=\"dialog-close-button\"\n ></ui-button>\n </div>\n </div>\n <mat-dialog-content>\n <ng-content></ng-content>\n </mat-dialog-content>\n <div mat-dialog-actions *ngIf=\"secondaryButtonLabel !== '' || primaryButtonLabel !== ''\">\n <ui-button\n [companyColor]=\"companyColor\"\n [variant]=\"secondaryButtonType\"\n [applicationTheme]=\"applicationTheme\"\n *ngIf=\"!!secondaryButtonLabel\"\n [label]=\"secondaryButtonLabel\"\n (click)=\"onSecondaryButtonClick($event)\"\n ></ui-button>\n <ui-button\n [variant]=\"primaryButtonType\"\n *ngIf=\"!!primaryButtonLabel\"\n [disabled]=\"disableButtons || disablePrimaryButton\"\n [applicationTheme]=\"applicationTheme\"\n (click)=\"onPrimaryButtonClick($event)\"\n [label]=\"primaryButtonLabel\"\n [companyColor]=\"companyColor\"\n (buttonClickEvent)=\"dismiss()\"\n ></ui-button>\n </div>\n\n<!-- This is announcement for screen reader that dialog was closed-->\n <div aria-live=\"assertive\" role=\"alert\" style=\"position: absolute; left: -9999px;\">\n <span *ngIf=\"modalClosed\">{{ 'DIALOG.CLOSED' | uiTranslate : language }}</span>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.ui-dialog-wrapper{display:flex;flex-flow:column}.ui-dialog-wrapper.small{width:600px}.ui-dialog-wrapper.large{width:956px}.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{border-radius:8px;padding:16px}.ui-dialog-wrapper.dark .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface,.ui-dialog-wrapper.light .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{padding:32px}.ui-dialog-wrapper.dark .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface,.ui-dialog-wrapper.light .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{border-radius:10px}.ui-dialog-wrapper.dark .dialog-title,.ui-dialog-wrapper.light .dialog-title{height:40px;padding:0;margin-bottom:32px}.ui-dialog-wrapper.dark .mat-mdc-dialog-content,.ui-dialog-wrapper.light .mat-mdc-dialog-content{padding:0}.ui-dialog-wrapper.dark .mat-mdc-dialog-actions,.ui-dialog-wrapper.light .mat-mdc-dialog-actions{padding:0;margin-top:32px}.ui-dialog-wrapper .mat-mdc-dialog-content{font-size:14px;color:#000;line-height:20px}.ui-dialog-wrapper.dark .mat-mdc-dialog-container{--mdc-dialog-container-color: #424242}.ui-dialog-wrapper.dark .mat-mdc-dialog-content{color:#fff!important}.ui-dialog-wrapper.dark .dialog-title{--mdc-dialog-subhead-color: #ffffff}.dialog-title{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin:0}.dialog-title .close{margin-right:-24px}.dialog-title:before{content:none}.mat-mdc-dialog-actions{display:flex;justify-content:flex-end;column-gap:16px;padding:16px 0 0;margin-bottom:0;min-height:48px}@media (max-width: 1024px){.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:320px;max-width:600px;border-radius:0}.mat-mdc-dialog-content{max-height:524px}}@media (max-width: 600px){.cdk-overlay-pane.ui-dialog-wrapper{max-width:100%!important;min-height:100%;display:flex;flex-flow:column}.cdk-overlay-pane.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:100%;max-width:100%;height:100%;display:flex;flex-grow:1;border-radius:0}ui-dialog{height:100%;display:flex;flex-flow:column}.mat-mdc-dialog-content{max-height:unset;display:flex;flex-grow:1;flex-direction:column}}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "language", "preventDefault", "tooltipPosition"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: i4.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
158
173
|
}
|
|
159
174
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DialogComponent, decorators: [{
|
|
160
175
|
type: Component,
|
|
161
|
-
args: [{ selector: 'ui-dialog', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"dialog-container\" [attr.theme]=\"applicationTheme\">\n <div
|
|
176
|
+
args: [{ selector: 'ui-dialog', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"dialog-container\" [attr.theme]=\"applicationTheme\">\n <div\n mat-dialog-title\n class=\"dialog-title\"\n [attr.aria-modal]=\"true\"\n [attr.aria-labelledby]=\"'labelledby'\"\n [attr.aria-describedby]=\"'ariaDescribedby'\"\n >\n\n <span [style.display]=\"'none'\" id=\"ariaDescribedby\">{{ ariaDescribedby }}</span>\n <h3 class=\"bold\" id=\"labelledby\">{{ title }}</h3>\n <div *ngIf=\"showCloseButton\">\n <ui-button\n [variant]=\"'icon-button'\"\n [iconName]=\"'Close'\"\n [companyColor]=\"applicationTheme === 'classic' ? '#000' : '#242424'\"\n [applicationTheme]=\"applicationTheme\"\n [tooltip]=\"('COMMON.CLOSE') | uiTranslate : language\"\n (click)=\"onClose($event)\"\n (buttonClickEvent)=\"dismiss()\"\n id=\"dialog-close-button\"\n ></ui-button>\n </div>\n </div>\n <mat-dialog-content>\n <ng-content></ng-content>\n </mat-dialog-content>\n <div mat-dialog-actions *ngIf=\"secondaryButtonLabel !== '' || primaryButtonLabel !== ''\">\n <ui-button\n [companyColor]=\"companyColor\"\n [variant]=\"secondaryButtonType\"\n [applicationTheme]=\"applicationTheme\"\n *ngIf=\"!!secondaryButtonLabel\"\n [label]=\"secondaryButtonLabel\"\n (click)=\"onSecondaryButtonClick($event)\"\n ></ui-button>\n <ui-button\n [variant]=\"primaryButtonType\"\n *ngIf=\"!!primaryButtonLabel\"\n [disabled]=\"disableButtons || disablePrimaryButton\"\n [applicationTheme]=\"applicationTheme\"\n (click)=\"onPrimaryButtonClick($event)\"\n [label]=\"primaryButtonLabel\"\n [companyColor]=\"companyColor\"\n (buttonClickEvent)=\"dismiss()\"\n ></ui-button>\n </div>\n\n<!-- This is announcement for screen reader that dialog was closed-->\n <div aria-live=\"assertive\" role=\"alert\" style=\"position: absolute; left: -9999px;\">\n <span *ngIf=\"modalClosed\">{{ 'DIALOG.CLOSED' | uiTranslate : language }}</span>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.ui-dialog-wrapper{display:flex;flex-flow:column}.ui-dialog-wrapper.small{width:600px}.ui-dialog-wrapper.large{width:956px}.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{border-radius:8px;padding:16px}.ui-dialog-wrapper.dark .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface,.ui-dialog-wrapper.light .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{padding:32px}.ui-dialog-wrapper.dark .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface,.ui-dialog-wrapper.light .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{border-radius:10px}.ui-dialog-wrapper.dark .dialog-title,.ui-dialog-wrapper.light .dialog-title{height:40px;padding:0;margin-bottom:32px}.ui-dialog-wrapper.dark .mat-mdc-dialog-content,.ui-dialog-wrapper.light .mat-mdc-dialog-content{padding:0}.ui-dialog-wrapper.dark .mat-mdc-dialog-actions,.ui-dialog-wrapper.light .mat-mdc-dialog-actions{padding:0;margin-top:32px}.ui-dialog-wrapper .mat-mdc-dialog-content{font-size:14px;color:#000;line-height:20px}.ui-dialog-wrapper.dark .mat-mdc-dialog-container{--mdc-dialog-container-color: #424242}.ui-dialog-wrapper.dark .mat-mdc-dialog-content{color:#fff!important}.ui-dialog-wrapper.dark .dialog-title{--mdc-dialog-subhead-color: #ffffff}.dialog-title{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin:0}.dialog-title .close{margin-right:-24px}.dialog-title:before{content:none}.mat-mdc-dialog-actions{display:flex;justify-content:flex-end;column-gap:16px;padding:16px 0 0;margin-bottom:0;min-height:48px}@media (max-width: 1024px){.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:320px;max-width:600px;border-radius:0}.mat-mdc-dialog-content{max-height:524px}}@media (max-width: 600px){.cdk-overlay-pane.ui-dialog-wrapper{max-width:100%!important;min-height:100%;display:flex;flex-flow:column}.cdk-overlay-pane.ui-dialog-wrapper .mat-mdc-dialog-container .mdc-dialog__container .mat-mdc-dialog-surface{min-width:100%;max-width:100%;height:100%;display:flex;flex-grow:1;border-radius:0}ui-dialog{height:100%;display:flex;flex-flow:column}.mat-mdc-dialog-content{max-height:unset;display:flex;flex-grow:1;flex-direction:column}}\n"] }]
|
|
162
177
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
163
178
|
type: Optional
|
|
164
179
|
}, {
|
|
@@ -196,11 +211,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
|
|
|
196
211
|
type: Input
|
|
197
212
|
}], shouldDisableButtons: [{
|
|
198
213
|
type: Input
|
|
214
|
+
}], ariaLabelledby: [{
|
|
215
|
+
type: Input
|
|
216
|
+
}], ariaDescribedby: [{
|
|
217
|
+
type: Input
|
|
199
218
|
}], closeEvent: [{
|
|
200
219
|
type: Output
|
|
201
220
|
}], secondaryButtonClickEvent: [{
|
|
202
221
|
type: Output
|
|
203
222
|
}], primaryButtonClickEvent: [{
|
|
204
223
|
type: Output
|
|
224
|
+
}], onEsc: [{
|
|
225
|
+
type: HostListener,
|
|
226
|
+
args: ['keydown.esc', ['$event']]
|
|
205
227
|
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFRyxRQUFRLEVBQ2hCLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7OztBQVU1RSxNQUFNLE9BQU8sZUFBZTtJQTRHMUIsWUFDNkUsZUFBaUMsRUFDckcsU0FBd0MsRUFDZCxJQUE0QztRQUZGLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUNyRyxjQUFTLEdBQVQsU0FBUyxDQUErQjtRQUNkLFNBQUksR0FBSixJQUFJLENBQXdDO1FBN0cvRTs7OztXQUlHO1FBQ00sVUFBSyxHQUFJLEVBQUUsQ0FBQztRQUVyQjs7OztXQUlHO1FBQ00sb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFaEM7Ozs7V0FJRztRQUNNLGVBQVUsR0FBa0IsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1FBRWhEOzs7O1dBSUc7UUFDTSx5QkFBb0IsR0FBSSxFQUFFLENBQUM7UUFFcEM7Ozs7V0FJRztRQUNNLHVCQUFrQixHQUFJLEVBQUUsQ0FBQztRQUVsQzs7OztXQUlHO1FBQ00sd0JBQW1CLEdBQWdCLFdBQVcsQ0FBQztRQUV4RDs7OztXQUlHO1FBQ00sc0JBQWlCLEdB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Q3pCNUIsaytDQXdDQTs7MkZEZmEsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQStHbEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7OzBCQUV2RCxNQUFNOzJCQUFDLGVBQWU7eUNBeEdoQixLQUFLO3NCQUFiLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFPRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBT0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVdOLFlBQVk7c0JBRlgsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFVRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBUUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0cseUJBQXlCO3NCQUFsQyxNQUFNO2dCQUNHLHVCQUF1QjtzQkFBaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LCBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBCdXR0b25Db2xvciB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kZWwnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9jYWxpemF0aW9uL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICAvKipcbiAgICogRGlhbG9nIHRpdGxlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBTaG93IGNsb3NlIGJ1dHRvblxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBGdWN0aW9uIGNhbGxlZCBiZWZvcmUgZGlhbGdvIGlzIGNsb3NlZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjYW5DbG9zZUZuOiAoKSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZTtcblxuICAvKipcbiAgICogU2Vjb25kYXJ5IGJ1dHRvbiBsYWJlbFxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZWNvbmRhcnlCdXR0b25MYWJlbD8gPSAnJztcblxuICAvKipcbiAgICogUHJpbWFyeSBidXR0b24gbGFiZWxcbiAgICpcbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcHJpbWFyeUJ1dHRvbkxhYmVsPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBTZWNvbmRhcnkgYnV0dG9uIHR5cGVcbiAgICpcbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2Vjb25kYXJ5QnV0dG9uVHlwZTogQnV0dG9uQ29sb3IgPSAnc2Vjb25kYXJ5JztcblxuICAvKipcbiAgICogUHJpbWFyeSBidXR0b24gdHlwZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBwcmltYXJ5QnV0dG9uVHlwZTogQnV0dG9uQ29sb3IgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSB0byBiZSB1c2VkXG4gICAqIEBwcm9wZXJ0eSBsYW5ndWFnZVxuICAgKiBAdHlwZSB7TGFuZ3VhZ2V9XG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGxhbmd1YWdlID0gTGFuZ3VhZ2VTZXJ2aWNlLmRlZmF1bHRMYW5ndWFnZTtcblxuICAvKipcbiAgICogQ29sb3Igb2YgdGhlIGRpYWxvZy5cbiAgICogRGVmYXVsdHMgdG8gVGVzdCBHb3JpbGxhIHByaW1hcnkgY29sb3IuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS1jb2xvcicpXG4gIEBJbnB1dCgpXG4gIGNvbXBhbnlDb2xvcjogc3RyaW5nIHwgbnVsbCA9ICcnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XG4gIC8qKlxuICAgKlxuICAgKiBEaXNhYmxlIHByaW1hcnkgYnV0dG9uXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlUHJpbWFyeUJ1dHRvbiA9IGZhbHNlO1xuICAvKipcbiAgICpcbiAgICogRGlzYWJsZSBjbG9zZSBidXR0b25cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVDbG9zZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEaXNhYmxlIGJ1dHRvbiB3aGVuIGNhbkNsb3NlRm4gaXMgdXNlZFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2hvdWxkRGlzYWJsZUJ1dHRvbnMgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSBjbG9zZUV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIHNlY29uZGFyeUJ1dHRvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgcHJpbWFyeUJ1dHRvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBkYXRhOiB7IGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgfVxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgZGlzYWJsZUJ1dHRvbnMgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYW5zbGF0aW9uQ29udGV4dCA9ICdESUFMT0cuJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFyZUJ1dHRvbnNEaXNhYmxlZCgpO1xuICAgIGlmICh0aGlzLmRhdGE/LmFwcGxpY2F0aW9uVGhlbWUpIHtcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IHRoaXMuZGF0YS5hcHBsaWNhdGlvblRoZW1lO1xuICAgIH1cbiAgICBpZiAodGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycpIHtcbiAgICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uVHlwZSA9ICdnaG9zdCc7XG4gICAgICB0aGlzLmNvbXBhbnlDb2xvciA9IHRoaXMuY29tcGFueUNvbG9yIHx8ICcjRDQxMEFBJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wYW55Q29sb3IgPSB0aGlzLmNvbXBhbnlDb2xvciB8fCAnIzQ2QTk5Nyc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydjYW5DbG9zZUZuJ10pIHtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9ICF0aGlzLmNhbkNsb3NlRm4oKTtcbiAgICAgIHRoaXMuYXJlQnV0dG9uc0Rpc2FibGVkKCk7XG4gICAgfVxuICB9XG5cbiAgLy9EaXNhYmxlIHByaW1hcnkgYnV0dG9uIHdoZW4gY2FuQ2xvc2UgaXMgZmFsc2VcbiAgYXJlQnV0dG9uc0Rpc2FibGVkKCkge1xuICAgIGlmICh0aGlzLmNhbkNsb3NlRm4oKSA9PT0gZmFsc2UgJiYgdGhpcy5zaG91bGREaXNhYmxlQnV0dG9ucykge1xuICAgICAgdGhpcy5kaXNhYmxlQnV0dG9ucyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbnMgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvL0Nsb3NlIG1vZGFsXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuQ2xvc2VGbigpKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBvblNlY29uZGFyeUJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uQ2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uUHJpbWFyeUJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucHJpbWFyeUJ1dHRvbkNsaWNrRXZlbnQuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctY29udGFpbmVyXCIgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiPlxuICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJkaWFsb2ctdGl0bGVcIj5cbiAgICA8aDMgY2xhc3M9XCJib2xkXCI+e3sgdGl0bGUgfX08L2gzPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIj5cbiAgICAgIDx1aS1idXR0b25cbiAgICAgICAgW3ZhcmlhbnRdPVwiJ2ljb24tYnV0dG9uJ1wiXG4gICAgICAgIFtpY29uTmFtZV09XCInQ2xvc2UnXCJcbiAgICAgICAgW2NvbXBhbnlDb2xvcl09XCJhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnIzAwMCcgOiAnIzI0MjQyNCdcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiKCdDT01NT04uQ0xPU0UnKSB8IHVpVHJhbnNsYXRlIDogbGFuZ3VhZ2VcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrRXZlbnQpPVwiZGlzbWlzcygpXCJcbiAgICAgICAgaWQ9XCJkaWFsb2ctY2xvc2UtYnV0dG9uXCJcbiAgICAgID48L3VpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgKm5nSWY9XCJzZWNvbmRhcnlCdXR0b25MYWJlbCAhPT0gJycgfHwgcHJpbWFyeUJ1dHRvbkxhYmVsICE9PSAnJ1wiPlxuICAgIDx1aS1idXR0b25cbiAgICAgIFtjb21wYW55Q29sb3JdPVwiY29tcGFueUNvbG9yXCJcbiAgICAgIFt2YXJpYW50XT1cInNlY29uZGFyeUJ1dHRvblR5cGVcIlxuICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAqbmdJZj1cIiEhc2Vjb25kYXJ5QnV0dG9uTGFiZWxcIlxuICAgICAgW2xhYmVsXT1cInNlY29uZGFyeUJ1dHRvbkxhYmVsXCJcbiAgICAgIChjbGljayk9XCJvblNlY29uZGFyeUJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgID48L3VpLWJ1dHRvbj5cbiAgICA8dWktYnV0dG9uXG4gICAgICBbdmFyaWFudF09XCJwcmltYXJ5QnV0dG9uVHlwZVwiXG4gICAgICAqbmdJZj1cIiEhcHJpbWFyeUJ1dHRvbkxhYmVsXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnV0dG9ucyB8fCBkaXNhYmxlUHJpbWFyeUJ1dHRvblwiXG4gICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIChjbGljayk9XCJvblByaW1hcnlCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIFtsYWJlbF09XCJwcmltYXJ5QnV0dG9uTGFiZWxcIlxuICAgICAgW2NvbXBhbnlDb2xvcl09XCJjb21wYW55Q29sb3JcIlxuICAgICAgKGJ1dHRvbkNsaWNrRXZlbnQpPVwiZGlzbWlzcygpXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUcsUUFBUSxFQUNoQixNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7QUFVNUUsTUFBTSxPQUFPLGVBQWU7SUErSDFCLEtBQUssQ0FBQyxDQUFnQjtRQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQzZFLGVBQWlDLEVBQ3JHLFNBQXdDLEVBQ2QsSUFBNEM7UUFGRixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFDckcsY0FBUyxHQUFULFNBQVMsQ0FBK0I7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUF3QztRQXBJL0U7Ozs7V0FJRztRQUNNLFVBQUssR0FBSSxFQUFFLENBQUM7UUFFckI7Ozs7V0FJRztRQUNNLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRWhDOzs7O1dBSUc7UUFDTSxlQUFVLEdBQWtCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUVoRDs7OztXQUlHO1FBQ00seUJBQW9CLEdBQUksRUFBRSxDQUFDO1FBRXBDOzs7O1dBSUc7UUFDTSx1QkFBa0IsR0FBSSxFQUFFLENB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QUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBN0xVLGVBQWUsa0JBb0lKLG9DQUFvQyx5REFFaEQsZUFBZTtrR0F0SWQsZUFBZSx3MkJDMUI1QixzK0RBcURBOzsyRkQzQmEsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQXNJbEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7OzBCQUV2RCxNQUFNOzJCQUFDLGVBQWU7eUNBL0hoQixLQUFLO3NCQUFiLEtBQUs7Z0JBT0csZUFBZTtzQkFBdkIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFPRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBT0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQVdOLFlBQVk7c0JBRlgsV0FBVzt1QkFBQyxlQUFlOztzQkFDM0IsS0FBSztnQkFVRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBUUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQVFHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLHlCQUF5QjtzQkFBbEMsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBS1AsS0FBSztzQkFESixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEJ1dHRvbkNvbG9yIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9sb2NhbGl6YXRpb24vbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIC8qKlxuICAgKiBEaWFsb2cgdGl0bGVcbiAgICpcbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGl0bGU/ID0gJyc7XG5cbiAgLyoqXG4gICAqIFNob3cgY2xvc2UgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNob3dDbG9zZUJ1dHRvbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEZ1Y3Rpb24gY2FsbGVkIGJlZm9yZSBkaWFsZ28gaXMgY2xvc2VkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNhbkNsb3NlRm46ICgpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlO1xuXG4gIC8qKlxuICAgKiBTZWNvbmRhcnkgYnV0dG9uIGxhYmVsXG4gICAqXG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNlY29uZGFyeUJ1dHRvbkxhYmVsPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBQcmltYXJ5IGJ1dHRvbiBsYWJlbFxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBwcmltYXJ5QnV0dG9uTGFiZWw/ID0gJyc7XG5cbiAgLyoqXG4gICAqIFNlY29uZGFyeSBidXR0b24gdHlwZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZWNvbmRhcnlCdXR0b25UeXBlOiBCdXR0b25Db2xvciA9ICdzZWNvbmRhcnknO1xuXG4gIC8qKlxuICAgKiBQcmltYXJ5IGJ1dHRvbiB0eXBlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHByaW1hcnlCdXR0b25UeXBlOiBCdXR0b25Db2xvciA9ICdwcmltYXJ5JztcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRvIGJlIHVzZWRcbiAgICogQHByb3BlcnR5IGxhbmd1YWdlXG4gICAqIEB0eXBlIHtMYW5ndWFnZX1cbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSBMYW5ndWFnZVNlcnZpY2UuZGVmYXVsdExhbmd1YWdlO1xuXG4gIC8qKlxuICAgKiBDb2xvciBvZiB0aGUgZGlhbG9nLlxuICAgKiBEZWZhdWx0cyB0byBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWNvbG9yJylcbiAgQElucHV0KClcbiAgY29tcGFueUNvbG9yOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcbiAgLyoqXG4gICAqXG4gICAqIERpc2FibGUgcHJpbWFyeSBidXR0b25cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVQcmltYXJ5QnV0dG9uID0gZmFsc2U7XG4gIC8qKlxuICAgKlxuICAgKiBEaXNhYmxlIGNsb3NlIGJ1dHRvblxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERpYWxvZ0NvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZUNsb3NlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIERpc2FibGUgYnV0dG9uIHdoZW4gY2FuQ2xvc2VGbiBpcyB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRGlhbG9nQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaG91bGREaXNhYmxlQnV0dG9ucyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbGxlZGJ5ID0gJyc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEaWFsb2dDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRieSA9ICcnO1xuXG4gIEBPdXRwdXQoKSBjbG9zZUV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIHNlY29uZGFyeUJ1dHRvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgcHJpbWFyeUJ1dHRvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIG1vZGFsQ2xvc2VkID0gZmFsc2U7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnLCBbJyRldmVudCddKVxuICBvbkVzYyhfOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5kaXNtaXNzKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgZGF0YTogeyBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lIH1cbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIGRpc2FibGVCdXR0b25zID0gZmFsc2U7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSAnRElBTE9HLic7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hcmVCdXR0b25zRGlzYWJsZWQoKTtcbiAgICBpZiAodGhpcy5kYXRhPy5hcHBsaWNhdGlvblRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSB0aGlzLmRhdGEuYXBwbGljYXRpb25UaGVtZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnKSB7XG4gICAgICB0aGlzLnNlY29uZGFyeUJ1dHRvblR5cGUgPSAnZ2hvc3QnO1xuICAgICAgdGhpcy5jb21wYW55Q29sb3IgPSB0aGlzLmNvbXBhbnlDb2xvciB8fCAnI0Q0MTBBQSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29tcGFueUNvbG9yID0gdGhpcy5jb21wYW55Q29sb3IgfHwgJyM0NkE5OTcnO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snY2FuQ2xvc2VGbiddKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSAhdGhpcy5jYW5DbG9zZUZuKCk7XG4gICAgICB0aGlzLmFyZUJ1dHRvbnNEaXNhYmxlZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vRGlzYWJsZSBwcmltYXJ5IGJ1dHRvbiB3aGVuIGNhbkNsb3NlIGlzIGZhbHNlXG4gIGFyZUJ1dHRvbnNEaXNhYmxlZCgpIHtcbiAgICB0aGlzLmRpc2FibGVCdXR0b25zID0gIXRoaXMuY2FuQ2xvc2VGbigpICYmIHRoaXMuc2hvdWxkRGlzYWJsZUJ1dHRvbnM7XG4gIH1cblxuICAvL0Nsb3NlIG1vZGFsXG4gIGRpc21pc3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuQ2xvc2VGbigpKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICB0aGlzLm1vZGFsQ2xvc2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLm1vZGFsQ2xvc2VkID0gdHJ1ZTtcbiAgfVxuXG4gIG9uU2Vjb25kYXJ5QnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWNvbmRhcnlCdXR0b25DbGlja0V2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25QcmltYXJ5QnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5wcmltYXJ5QnV0dG9uQ2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1jb250YWluZXJcIiBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCI+XG4gIDxkaXZcbiAgICBtYXQtZGlhbG9nLXRpdGxlXG4gICAgY2xhc3M9XCJkaWFsb2ctdGl0bGVcIlxuICAgIFthdHRyLmFyaWEtbW9kYWxdPVwidHJ1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5J1wiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInYXJpYURlc2NyaWJlZGJ5J1wiXG4gID5cblxuICAgIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIGlkPVwiYXJpYURlc2NyaWJlZGJ5XCI+e3sgYXJpYURlc2NyaWJlZGJ5IH19PC9zcGFuPlxuICAgIDxoMyBjbGFzcz1cImJvbGRcIiBpZD1cImxhYmVsbGVkYnlcIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgPGRpdiAqbmdJZj1cInNob3dDbG9zZUJ1dHRvblwiPlxuICAgICAgPHVpLWJ1dHRvblxuICAgICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgICAgW2ljb25OYW1lXT1cIidDbG9zZSdcIlxuICAgICAgICBbY29tcGFueUNvbG9yXT1cImFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICcjMDAwJyA6ICcjMjQyNDI0J1wiXG4gICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICBbdG9vbHRpcF09XCIoJ0NPTU1PTi5DTE9TRScpIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJkaXNtaXNzKClcIlxuICAgICAgICBpZD1cImRpYWxvZy1jbG9zZS1idXR0b25cIlxuICAgICAgPjwvdWktYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyAqbmdJZj1cInNlY29uZGFyeUJ1dHRvbkxhYmVsICE9PSAnJyB8fCBwcmltYXJ5QnV0dG9uTGFiZWwgIT09ICcnXCI+XG4gICAgPHVpLWJ1dHRvblxuICAgICAgW2NvbXBhbnlDb2xvcl09XCJjb21wYW55Q29sb3JcIlxuICAgICAgW3ZhcmlhbnRdPVwic2Vjb25kYXJ5QnV0dG9uVHlwZVwiXG4gICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICpuZ0lmPVwiISFzZWNvbmRhcnlCdXR0b25MYWJlbFwiXG4gICAgICBbbGFiZWxdPVwic2Vjb25kYXJ5QnV0dG9uTGFiZWxcIlxuICAgICAgKGNsaWNrKT1cIm9uU2Vjb25kYXJ5QnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgPjwvdWktYnV0dG9uPlxuICAgIDx1aS1idXR0b25cbiAgICAgIFt2YXJpYW50XT1cInByaW1hcnlCdXR0b25UeXBlXCJcbiAgICAgICpuZ0lmPVwiISFwcmltYXJ5QnV0dG9uTGFiZWxcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVCdXR0b25zIHx8IGRpc2FibGVQcmltYXJ5QnV0dG9uXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgKGNsaWNrKT1cIm9uUHJpbWFyeUJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgW2xhYmVsXT1cInByaW1hcnlCdXR0b25MYWJlbFwiXG4gICAgICBbY29tcGFueUNvbG9yXT1cImNvbXBhbnlDb2xvclwiXG4gICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJkaXNtaXNzKClcIlxuICAgID48L3VpLWJ1dHRvbj5cbiAgPC9kaXY+XG5cbjwhLS0gIFRoaXMgaXMgYW5ub3VuY2VtZW50IGZvciBzY3JlZW4gcmVhZGVyIHRoYXQgZGlhbG9nIHdhcyBjbG9zZWQtLT5cbiAgPGRpdiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiByb2xlPVwiYWxlcnRcIiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDtcIj5cbiAgICA8c3BhbiAqbmdJZj1cIm1vZGFsQ2xvc2VkXCI+e3sgJ0RJQUxPRy5DTE9TRUQnIHwgdWlUcmFuc2xhdGUgOiBsYW5ndWFnZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|