@testgorilla/tgo-ui 3.10.13 → 3.10.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +103 -103
  2. package/components/confirm-dialog/confirm-dialog.component.d.ts +5 -3
  3. package/components/confirm-dialog/confirm-dialog.model.d.ts +30 -2
  4. package/components/dialog/dialog.component.d.ts +3 -2
  5. package/components/dialog/dialog.model.d.ts +2 -2
  6. package/components/dialog/dialog.service.d.ts +5 -2
  7. package/esm2022/components/ai-feedback/ai-feedback.component.mjs +3 -3
  8. package/esm2022/components/ai-feedback/ai-feedback.model.mjs +1 -1
  9. package/esm2022/components/ai-feedback/ai-feedback.module.mjs +1 -1
  10. package/esm2022/components/alert-banner/alert-banner.component.mjs +1 -1
  11. package/esm2022/components/card/card.component.mjs +3 -3
  12. package/esm2022/components/checklist/checklist.component.mjs +3 -3
  13. package/esm2022/components/checklist/checklist.model.mjs +1 -1
  14. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +10 -3
  15. package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +1 -1
  16. package/esm2022/components/datepicker/datepicker.component.mjs +3 -3
  17. package/esm2022/components/dialog/dialog.component.mjs +5 -4
  18. package/esm2022/components/dialog/dialog.model.mjs +1 -1
  19. package/esm2022/components/dialog/dialog.service.mjs +1 -1
  20. package/esm2022/components/empty-state/empty-state.model.mjs +1 -1
  21. package/esm2022/components/field/field.component.mjs +1 -1
  22. package/esm2022/components/file-upload/file-upload.component.mjs +3 -3
  23. package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +3 -3
  24. package/esm2022/components/icon/icon.config.mjs +1 -1
  25. package/esm2022/components/icon-label/icon-label.component.mjs +1 -1
  26. package/esm2022/components/multi-input/multi-input.component.mjs +1 -1
  27. package/esm2022/components/progress-bar/progress-bar.component.mjs +1 -1
  28. package/esm2022/components/selectable-card/selectable-card.component.mjs +3 -3
  29. package/esm2022/components/selectable-card/selectable-card.component.module.mjs +1 -1
  30. package/esm2022/components/side-panel/side-panel.animations.mjs +1 -1
  31. package/esm2022/components/side-panel/side-panel.component.mjs +3 -3
  32. package/esm2022/components/side-panel/side-panel.model.mjs +1 -1
  33. package/esm2022/components/side-panel/side-panel.service.mjs +1 -1
  34. package/esm2022/pipes/ui-translate.pipe.mjs +1 -1
  35. package/esm2022/public-api.mjs +4 -4
  36. package/fesm2022/testgorilla-tgo-ui.mjs +28 -20
  37. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  38. package/package.json +1 -1
  39. package/projects/tgo-canopy-ui/assets/i18n/en.json +821 -821
  40. package/projects/tgo-canopy-ui/assets/icons/Switch-tab.svg +3 -3
  41. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-card-filled.svg +10 -10
  42. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-card-in-line.svg +10 -10
  43. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-filled.svg +3 -3
  44. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-in-line.svg +3 -3
  45. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invoice-filled.svg +3 -3
  46. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invoice-in-line.svg +3 -3
  47. package/projects/tgo-canopy-ui/assets/icons/rebrand/Messages-in-line.svg +3 -3
  48. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-in-new-filled.svg +3 -3
  49. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-in-new-in-line.svg +3 -3
  50. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-lock-filled.svg +3 -3
  51. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-lock-in-line.svg +3 -3
  52. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-filled.svg +3 -3
  53. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-in-line.svg +3 -3
  54. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-down-filled.svg +3 -3
  55. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-down-in-line.svg +3 -3
  56. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-up-filled.svg +3 -3
  57. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-up-in-line.svg +3 -3
  58. package/projects/tgo-canopy-ui/theme/_input.scss +575 -575
  59. package/public-api.d.ts +3 -3
package/README.md CHANGED
@@ -1,103 +1,103 @@
1
- # TestGorilla UI Library
2
-
3
- # Test app
4
-
5
- To see the updates of the library in the client app, use commands below from package.json
6
-
7
- - build the updated version of canopy-ui with `build:tgo-ui (ng build tgo-ui)`
8
- - restart the client app with `start:client (ng serve)`
9
-
10
- # Foundations
11
-
12
- - Typography
13
- - Colors
14
-
15
- # Components
16
-
17
- - Alert Bars
18
- - Alert Banner
19
- - Banner Actions
20
- - Snackbar
21
- - Button
22
- - Elevation Shadow
23
- - Dialog
24
- - Confirm Dialog
25
- - Custom Dialog
26
- - File Upload
27
- - Forms
28
- - Checkbox
29
- - Datepicker
30
- - Dropdown
31
- - Input Field
32
- - Radio
33
- - Icon
34
- - Icon + Label
35
- - Logo
36
- - Overflow Menu
37
- - Progress Bar
38
- - Tag
39
- - Tooltip
40
-
41
- # Deprecated
42
-
43
- - Card
44
- - Create Account
45
- - Create Password
46
- - Forgot Password
47
- - Label
48
- - Login
49
- - NavBar
50
- - Navigation
51
- - Paginator
52
- - Table
53
-
54
- ## Visual Regression Testing
55
-
56
- The project uses **Playwright** for visual regression testing to ensure UI components maintain their visual appearance across changes. Visual tests automatically capture screenshots of all Storybook stories and compare them against stored snapshots.
57
-
58
- ### Commands
59
-
60
- ```bash
61
- # Run visual tests
62
- npm run visual-test
63
-
64
- # Update snapshots when visual changes are intentional
65
- npm run visual-test:update-snapshots
66
- ```
67
-
68
- ### How It Works
69
-
70
- 1. **Build Phase**: Storybook is built (`npm run build-storybook`) creating static files
71
- 2. **Docker Execution**: Tests run in a Linux container using `mcr.microsoft.com/playwright:v1.46.1` for consistency
72
- 3. **Server Setup**: HTTP server serves Storybook static files on port 4200
73
- 4. **Test Execution**: Automatically discovers and tests all stories from Storybook's `index.json`
74
- 5. **Screenshot Comparison**: Compares current screenshots against stored snapshots
75
-
76
- ### Docker Configuration
77
-
78
- The system uses Docker Compose with two services:
79
-
80
- - **visual-tests**: Runs tests and compares with existing snapshots
81
- - **update-snapshots**: Updates snapshots when visual changes are expected
82
-
83
- Both services:
84
- - Use official Microsoft Playwright image (`mcr.microsoft.com/playwright:v1.46.1`)
85
- - Mount project directory and install dependencies
86
- - Start HTTP server and wait for Storybook availability
87
- - Execute tests with Desktop Chrome viewport (1920x1200, 2x device scale)
88
-
89
- ### Cross-Platform Consistency
90
-
91
- Visual tests run in Docker to ensure:
92
- - Consistent font rendering across operating systems
93
- - Identical browser behavior regardless of host OS
94
- - Reproducible results in CI/CD environments
95
- - Linux-based snapshots that match production environments
96
-
97
- ### Troubleshooting
98
-
99
- - **Tests failing locally**: Run `npm run visual-test:update-snapshots` if changes are intentional
100
- - **Font rendering differences**: Always use Docker commands for consistency
101
- - **Timeout issues**: Server waits up to 60 seconds for Storybook to be ready
102
- - **Memory issues**: Docker services configured with 4GB heap size
103
-
1
+ # TestGorilla UI Library
2
+
3
+ # Test app
4
+
5
+ To see the updates of the library in the client app, use commands below from package.json
6
+
7
+ - build the updated version of canopy-ui with `build:tgo-ui (ng build tgo-ui)`
8
+ - restart the client app with `start:client (ng serve)`
9
+
10
+ # Foundations
11
+
12
+ - Typography
13
+ - Colors
14
+
15
+ # Components
16
+
17
+ - Alert Bars
18
+ - Alert Banner
19
+ - Banner Actions
20
+ - Snackbar
21
+ - Button
22
+ - Elevation Shadow
23
+ - Dialog
24
+ - Confirm Dialog
25
+ - Custom Dialog
26
+ - File Upload
27
+ - Forms
28
+ - Checkbox
29
+ - Datepicker
30
+ - Dropdown
31
+ - Input Field
32
+ - Radio
33
+ - Icon
34
+ - Icon + Label
35
+ - Logo
36
+ - Overflow Menu
37
+ - Progress Bar
38
+ - Tag
39
+ - Tooltip
40
+
41
+ # Deprecated
42
+
43
+ - Card
44
+ - Create Account
45
+ - Create Password
46
+ - Forgot Password
47
+ - Label
48
+ - Login
49
+ - NavBar
50
+ - Navigation
51
+ - Paginator
52
+ - Table
53
+
54
+ ## Visual Regression Testing
55
+
56
+ The project uses **Playwright** for visual regression testing to ensure UI components maintain their visual appearance across changes. Visual tests automatically capture screenshots of all Storybook stories and compare them against stored snapshots.
57
+
58
+ ### Commands
59
+
60
+ ```bash
61
+ # Run visual tests
62
+ npm run visual-test
63
+
64
+ # Update snapshots when visual changes are intentional
65
+ npm run visual-test:update-snapshots
66
+ ```
67
+
68
+ ### How It Works
69
+
70
+ 1. **Build Phase**: Storybook is built (`npm run build-storybook`) creating static files
71
+ 2. **Docker Execution**: Tests run in a Linux container using `mcr.microsoft.com/playwright:v1.46.1` for consistency
72
+ 3. **Server Setup**: HTTP server serves Storybook static files on port 4200
73
+ 4. **Test Execution**: Automatically discovers and tests all stories from Storybook's `index.json`
74
+ 5. **Screenshot Comparison**: Compares current screenshots against stored snapshots
75
+
76
+ ### Docker Configuration
77
+
78
+ The system uses Docker Compose with two services:
79
+
80
+ - **visual-tests**: Runs tests and compares with existing snapshots
81
+ - **update-snapshots**: Updates snapshots when visual changes are expected
82
+
83
+ Both services:
84
+ - Use official Microsoft Playwright image (`mcr.microsoft.com/playwright:v1.46.1`)
85
+ - Mount project directory and install dependencies
86
+ - Start HTTP server and wait for Storybook availability
87
+ - Execute tests with Desktop Chrome viewport (1920x1200, 2x device scale)
88
+
89
+ ### Cross-Platform Consistency
90
+
91
+ Visual tests run in Docker to ensure:
92
+ - Consistent font rendering across operating systems
93
+ - Identical browser behavior regardless of host OS
94
+ - Reproducible results in CI/CD environments
95
+ - Linux-based snapshots that match production environments
96
+
97
+ ### Troubleshooting
98
+
99
+ - **Tests failing locally**: Run `npm run visual-test:update-snapshots` if changes are intentional
100
+ - **Font rendering differences**: Always use Docker commands for consistency
101
+ - **Timeout issues**: Server waits up to 60 seconds for Storybook to be ready
102
+ - **Memory issues**: Docker services configured with 4GB heap size
103
+
@@ -1,16 +1,16 @@
1
1
  import { MatDialogRef } from '@angular/material/dialog';
2
2
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
3
  import { ApplicationTheme } from '../../models/application-theme.model';
4
- import { ConfirmDialogData } from './confirm-dialog.model';
5
- import { ButtonColor } from '../button/button.model';
4
+ import { ButtonColor, ButtonIconPosition } from '../button/button.model';
6
5
  import { IconName } from '../icon/icon.model';
6
+ import { ConfirmDialogData } from './confirm-dialog.model';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class ConfirmDialogComponent {
9
9
  private readonly defaultAppTheme;
10
10
  dialogRef: MatDialogRef<ConfirmDialogComponent>;
11
11
  private data;
12
12
  protected domSanitizer: DomSanitizer;
13
- confirmMessage: string;
13
+ confirmMessage: string | undefined;
14
14
  confirmButtonText: string | undefined;
15
15
  cancelButtonText: string | undefined;
16
16
  title: string | undefined;
@@ -24,6 +24,7 @@ export declare class ConfirmDialogComponent {
24
24
  primaryButtonIconName: IconName | undefined;
25
25
  primaryButtonDataTestId: string;
26
26
  secondaryButtonDataTestId: string;
27
+ primaryButtonIconPosition: ButtonIconPosition;
27
28
  /**
28
29
  *
29
30
  * Defines the application theme
@@ -33,6 +34,7 @@ export declare class ConfirmDialogComponent {
33
34
  */
34
35
  applicationTheme: ApplicationTheme;
35
36
  constructor(defaultAppTheme: ApplicationTheme, dialogRef: MatDialogRef<ConfirmDialogComponent>, data: ConfirmDialogData, domSanitizer: DomSanitizer);
37
+ onConfirm(): void;
36
38
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDialogComponent, [{ optional: true; }, null, null, null]>;
37
39
  static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmDialogComponent, "ui-confirm-dialog", never, { "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, {}, never, never, false, never>;
38
40
  }
@@ -1,8 +1,8 @@
1
1
  import { Language } from '../../utils/localization/language.model';
2
- import { ButtonColor } from '../button/button.model';
2
+ import { ButtonColor, ButtonIconPosition } from '../button/button.model';
3
3
  import { IconName } from '../icon/icon.model';
4
4
  export interface ConfirmDialogData {
5
- message: string;
5
+ message?: string;
6
6
  confirmButtonText?: string;
7
7
  cancelButtonText?: string;
8
8
  title?: string;
@@ -12,8 +12,36 @@ export interface ConfirmDialogData {
12
12
  showCloseButton?: boolean;
13
13
  showSecondaryButton?: boolean;
14
14
  primaryButtonType?: ButtonColor;
15
+ primaryButtonIconPosition?: ButtonIconPosition;
15
16
  secondaryButtonType?: ButtonColor;
16
17
  primaryButtonIconName?: IconName;
17
18
  primaryButtonDataTestId?: string;
18
19
  secondaryButtonDataTestId?: string;
20
+ /**
21
+ * Callback function executed when the primary/confirm button is clicked.
22
+ *
23
+ * This callback is executed immediately before the dialog closes, within the same
24
+ * user gesture context. This is crucial for operations that may trigger popup blockers
25
+ * in restrictive browsers, such as:
26
+ * - Opening new tabs/windows (window.open)
27
+ * - Triggering file downloads
28
+ * - Navigating to external URLs
29
+ * - Accessing clipboard operations
30
+ *
31
+ * **Important**: Use this instead of subscribing to `afterClosed()` for popup-sensitive
32
+ * operations, as `afterClosed()` executes outside the user gesture context and will
33
+ * be blocked by popup blockers in most modern browsers.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // ✅ Good - executes within user gesture, won't be blocked
38
+ * onConfirm: () => window.open('https://example.com', '_blank')
39
+ *
40
+ * // ❌ Bad - executes outside user gesture, could be blocked
41
+ * dialogRef.afterClosed().subscribe(result => {
42
+ * if (result) window.open('https://example.com', '_blank');
43
+ * });
44
+ * ```
45
+ */
46
+ onConfirm?: () => void;
19
47
  }
@@ -1,8 +1,8 @@
1
1
  import { AfterViewInit, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { MatDialogRef } from '@angular/material/dialog';
3
- import { ButtonColor } from '../button/button.model';
4
3
  import { ApplicationTheme } from '../../models/application-theme.model';
5
4
  import { ButtonComponent } from '../button/button.component';
5
+ import { ButtonColor, ButtonIconPosition } from '../button/button.model';
6
6
  import { IconName } from '../icon/icon.model';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class DialogComponent implements OnInit, OnChanges, AfterViewInit {
@@ -136,6 +136,7 @@ export declare class DialogComponent implements OnInit, OnChanges, AfterViewInit
136
136
  * @memberof DialogComponent
137
137
  */
138
138
  keyboardOpen: boolean;
139
+ primaryButtonIconPosition: import("@angular/core").InputSignal<ButtonIconPosition>;
139
140
  closeEvent: EventEmitter<Event>;
140
141
  secondaryButtonClickEvent: EventEmitter<Event>;
141
142
  primaryButtonClickEvent: EventEmitter<Event>;
@@ -158,5 +159,5 @@ export declare class DialogComponent implements OnInit, OnChanges, AfterViewInit
158
159
  onSecondaryButtonClick(event: Event): void;
159
160
  onPrimaryButtonClick(event: Event): void;
160
161
  static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, [{ optional: true; }, null, null]>;
161
- 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; }; "footerMessage": { "alias": "footerMessage"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "primaryButtonIconName": { "alias": "primaryButtonIconName"; "required": false; }; "secondaryButtonType": { "alias": "secondaryButtonType"; "required": false; }; "primaryButtonType": { "alias": "primaryButtonType"; "required": false; }; "primaryButtonDataTestId": { "alias": "primaryButtonDataTestId"; "required": false; }; "secondaryButtonDataTestId": { "alias": "secondaryButtonDataTestId"; "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; }; "keyboardOpen": { "alias": "keyboardOpen"; "required": false; }; }, { "closeEvent": "closeEvent"; "secondaryButtonClickEvent": "secondaryButtonClickEvent"; "primaryButtonClickEvent": "primaryButtonClickEvent"; }, ["customHeader"], ["[dialogHeader]", "*"], false, never>;
162
+ 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; }; "footerMessage": { "alias": "footerMessage"; "required": false; }; "primaryButtonLabel": { "alias": "primaryButtonLabel"; "required": false; }; "primaryButtonIconName": { "alias": "primaryButtonIconName"; "required": false; }; "secondaryButtonType": { "alias": "secondaryButtonType"; "required": false; }; "primaryButtonType": { "alias": "primaryButtonType"; "required": false; }; "primaryButtonDataTestId": { "alias": "primaryButtonDataTestId"; "required": false; }; "secondaryButtonDataTestId": { "alias": "secondaryButtonDataTestId"; "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; }; "keyboardOpen": { "alias": "keyboardOpen"; "required": false; }; "primaryButtonIconPosition": { "alias": "primaryButtonIconPosition"; "required": false; "isSignal": true; }; }, { "closeEvent": "closeEvent"; "secondaryButtonClickEvent": "secondaryButtonClickEvent"; "primaryButtonClickEvent": "primaryButtonClickEvent"; }, ["customHeader"], ["[dialogHeader]", "*"], false, never>;
162
163
  }
@@ -1,11 +1,11 @@
1
1
  import { DialogSize } from "./dialog.service";
2
2
  import { MatDialogConfig } from "@angular/material/dialog";
3
3
  import { ApplicationTheme } from '../../models/application-theme.model';
4
- export interface DialogConfig {
4
+ export interface DialogConfig<T = any> {
5
5
  applicationTheme?: ApplicationTheme;
6
6
  size?: DialogSize;
7
7
  panelClass?: string;
8
- extraData?: any;
8
+ extraData?: T;
9
9
  backdropClass?: string;
10
10
  keyboardOpen?: boolean;
11
11
  config?: MatDialogConfig;
@@ -1,14 +1,17 @@
1
1
  import { ComponentType } from '@angular/cdk/portal';
2
2
  import { MatDialog, MatDialogRef } from '@angular/material/dialog';
3
3
  import { ApplicationTheme } from '../../models/application-theme.model';
4
- import { DialogConfig } from "./dialog.model";
4
+ import type { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';
5
+ import type { ConfirmDialogData } from '../confirm-dialog/confirm-dialog.model';
6
+ import { DialogConfig } from './dialog.model';
5
7
  import * as i0 from "@angular/core";
6
8
  export type DialogSize = 'small' | 'large' | 'x-large';
7
9
  export declare class DialogService {
8
10
  private matDialog;
9
11
  private readonly defaultAppTheme;
10
12
  constructor(matDialog: MatDialog, defaultAppTheme: ApplicationTheme);
11
- open(dialogComponent: ComponentType<any>, dialogConfig?: DialogConfig): MatDialogRef<any>;
13
+ open(dialogComponent: ComponentType<ConfirmDialogComponent>, dialogConfig?: DialogConfig<ConfirmDialogData>): MatDialogRef<ConfirmDialogComponent>;
14
+ open<K, T>(dialogComponent: Exclude<ComponentType<T>, ComponentType<ConfirmDialogComponent>>, dialogConfig?: DialogConfig<K>): MatDialogRef<T>;
12
15
  static ɵfac: i0.ɵɵFactoryDeclaration<DialogService, [null, { optional: true; }]>;
13
16
  static ɵprov: i0.ɵɵInjectableDeclaration<DialogService>;
14
17
  }
@@ -20,11 +20,11 @@ export class AiFeedbackComponent {
20
20
  this.selectedValue.emit(this.selected());
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AiFeedbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AiFeedbackComponent, selector: "ui-ai-feedback", inputs: { selection: "selection", tooltipPosition: "tooltipPosition" }, outputs: { selectedValue: "selectedValue" }, ngImport: i0, template: "<div class=\"ai-feedback\" [attr.aria-label]=\"'AI_FEEDBACK.TITLE' | uiTranslate\">\n <span>{{ 'AI_FEEDBACK.TITLE' | uiTranslate | async}}</span>\n <div class=\"ai-feedback-buttons\">\n @if(selected() !== optionNo) {\n <ui-button\n [justIcon]=\"true\"\n [iconName]=\"'Thumb-up-in-line'\"\n [size]=\"'small'\"\n [tooltipPosition]=\"tooltipPosition\"\n [tooltip]=\"('COMMON.YES' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.YES' | uiTranslate | async)!\"\n [iconFilled]=\"selected() === optionYes\"\n (buttonClickEvent)=\"onSelectionChange(optionYes)\"\n variant=\"icon-button\"\n role=\"button\"\n ></ui-button>\n }\n\n @if(selected() !== optionYes) {\n <ui-button\n [justIcon]=\"true\"\n [iconName]=\"'Thumb-down-in-line'\"\n [iconFilled]=\"selected() === optionNo\"\n [tooltip]=\"('COMMON.NO' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.NO' | uiTranslate | async)!\"\n [size]=\"'small'\"\n (buttonClickEvent)=\"onSelectionChange(optionNo)\"\n variant=\"icon-button\"\n role=\"button\"\n ></ui-button>\n }\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}.ai-feedback,.ai-feedback-buttons{display:flex;flex-flow:row nowrap;align-items:center}.ai-feedback>span{color:#666;margin-right:16px}.ai-feedback-buttons{justify-content:center}.ai-feedback-buttons>ui-button:first-child{margin-right:8px}\n"], dependencies: [{ kind: "component", type: i1.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", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: i2.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AiFeedbackComponent, selector: "ui-ai-feedback", inputs: { selection: "selection", tooltipPosition: "tooltipPosition" }, outputs: { selectedValue: "selectedValue" }, ngImport: i0, template: "<div class=\"ai-feedback\" [attr.aria-label]=\"'AI_FEEDBACK.TITLE' | uiTranslate\">\r\n <span>{{ 'AI_FEEDBACK.TITLE' | uiTranslate | async}}</span>\r\n <div class=\"ai-feedback-buttons\">\r\n @if(selected() !== optionNo) {\r\n <ui-button\r\n [justIcon]=\"true\"\r\n [iconName]=\"'Thumb-up-in-line'\"\r\n [size]=\"'small'\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [tooltip]=\"('COMMON.YES' | uiTranslate | async)!\"\r\n [ariaLabel]=\"('COMMON.YES' | uiTranslate | async)!\"\r\n [iconFilled]=\"selected() === optionYes\"\r\n (buttonClickEvent)=\"onSelectionChange(optionYes)\"\r\n variant=\"icon-button\"\r\n role=\"button\"\r\n ></ui-button>\r\n }\r\n\r\n @if(selected() !== optionYes) {\r\n <ui-button\r\n [justIcon]=\"true\"\r\n [iconName]=\"'Thumb-down-in-line'\"\r\n [iconFilled]=\"selected() === optionNo\"\r\n [tooltip]=\"('COMMON.NO' | uiTranslate | async)!\"\r\n [ariaLabel]=\"('COMMON.NO' | uiTranslate | async)!\"\r\n [size]=\"'small'\"\r\n (buttonClickEvent)=\"onSelectionChange(optionNo)\"\r\n variant=\"icon-button\"\r\n role=\"button\"\r\n ></ui-button>\r\n }\r\n </div>\r\n</div>\r\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}.ai-feedback,.ai-feedback-buttons{display:flex;flex-flow:row nowrap;align-items:center}.ai-feedback>span{color:#666;margin-right:16px}.ai-feedback-buttons{justify-content:center}.ai-feedback-buttons>ui-button:first-child{margin-right:8px}\n"], dependencies: [{ kind: "component", type: i1.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", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "pipe", type: i2.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AiFeedbackComponent, decorators: [{
26
26
  type: Component,
27
- args: [{ selector: 'ui-ai-feedback', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ai-feedback\" [attr.aria-label]=\"'AI_FEEDBACK.TITLE' | uiTranslate\">\n <span>{{ 'AI_FEEDBACK.TITLE' | uiTranslate | async}}</span>\n <div class=\"ai-feedback-buttons\">\n @if(selected() !== optionNo) {\n <ui-button\n [justIcon]=\"true\"\n [iconName]=\"'Thumb-up-in-line'\"\n [size]=\"'small'\"\n [tooltipPosition]=\"tooltipPosition\"\n [tooltip]=\"('COMMON.YES' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.YES' | uiTranslate | async)!\"\n [iconFilled]=\"selected() === optionYes\"\n (buttonClickEvent)=\"onSelectionChange(optionYes)\"\n variant=\"icon-button\"\n role=\"button\"\n ></ui-button>\n }\n\n @if(selected() !== optionYes) {\n <ui-button\n [justIcon]=\"true\"\n [iconName]=\"'Thumb-down-in-line'\"\n [iconFilled]=\"selected() === optionNo\"\n [tooltip]=\"('COMMON.NO' | uiTranslate | async)!\"\n [ariaLabel]=\"('COMMON.NO' | uiTranslate | async)!\"\n [size]=\"'small'\"\n (buttonClickEvent)=\"onSelectionChange(optionNo)\"\n variant=\"icon-button\"\n role=\"button\"\n ></ui-button>\n }\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}.ai-feedback,.ai-feedback-buttons{display:flex;flex-flow:row nowrap;align-items:center}.ai-feedback>span{color:#666;margin-right:16px}.ai-feedback-buttons{justify-content:center}.ai-feedback-buttons>ui-button:first-child{margin-right:8px}\n"] }]
27
+ args: [{ selector: 'ui-ai-feedback', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ai-feedback\" [attr.aria-label]=\"'AI_FEEDBACK.TITLE' | uiTranslate\">\r\n <span>{{ 'AI_FEEDBACK.TITLE' | uiTranslate | async}}</span>\r\n <div class=\"ai-feedback-buttons\">\r\n @if(selected() !== optionNo) {\r\n <ui-button\r\n [justIcon]=\"true\"\r\n [iconName]=\"'Thumb-up-in-line'\"\r\n [size]=\"'small'\"\r\n [tooltipPosition]=\"tooltipPosition\"\r\n [tooltip]=\"('COMMON.YES' | uiTranslate | async)!\"\r\n [ariaLabel]=\"('COMMON.YES' | uiTranslate | async)!\"\r\n [iconFilled]=\"selected() === optionYes\"\r\n (buttonClickEvent)=\"onSelectionChange(optionYes)\"\r\n variant=\"icon-button\"\r\n role=\"button\"\r\n ></ui-button>\r\n }\r\n\r\n @if(selected() !== optionYes) {\r\n <ui-button\r\n [justIcon]=\"true\"\r\n [iconName]=\"'Thumb-down-in-line'\"\r\n [iconFilled]=\"selected() === optionNo\"\r\n [tooltip]=\"('COMMON.NO' | uiTranslate | async)!\"\r\n [ariaLabel]=\"('COMMON.NO' | uiTranslate | async)!\"\r\n [size]=\"'small'\"\r\n (buttonClickEvent)=\"onSelectionChange(optionNo)\"\r\n variant=\"icon-button\"\r\n role=\"button\"\r\n ></ui-button>\r\n }\r\n </div>\r\n</div>\r\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}.ai-feedback,.ai-feedback-buttons{display:flex;flex-flow:row nowrap;align-items:center}.ai-feedback>span{color:#666;margin-right:16px}.ai-feedback-buttons{justify-content:center}.ai-feedback-buttons>ui-button:first-child{margin-right:8px}\n"] }]
28
28
  }], propDecorators: { selection: [{
29
29
  type: Input
30
30
  }], tooltipPosition: [{
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32
32
  }], selectedValue: [{
33
33
  type: Output
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktZmVlZGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2FpLWZlZWRiYWNrL2FpLWZlZWRiYWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9haS1mZWVkYmFjay9haS1mZWVkYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVeEcsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVdXLG9CQUFlLEdBQW9CLE9BQU8sQ0FBQztRQUUxQyxrQkFBYSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUVyRyxhQUFRLEdBQUcsTUFBTSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQUNwQyxjQUFTLEdBQXdCLEtBQUssQ0FBQztRQUN2QyxhQUFRLEdBQXdCLElBQUksQ0FBQztLQVEvQztJQWxCQyxJQUFhLFNBQVMsQ0FBQyxTQUE4QjtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQVVELGlCQUFpQixDQUFDLFNBQThCO1FBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBbEJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDJLQ1ZoQyx3ckNBaUNBOzs0RkR2QmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUdsQyxTQUFTO3NCQUFyQixLQUFLO2dCQUlHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBaUZlZWRiYWNrU2VsZWN0aW9uIH0gZnJvbSAnLi9haS1mZWVkYmFjay5tb2RlbCc7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktYWktZmVlZGJhY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vYWktZmVlZGJhY2suY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYWktZmVlZGJhY2suY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQWlGZWVkYmFja0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNldCBzZWxlY3Rpb24oc2VsZWN0aW9uOiBBaUZlZWRiYWNrU2VsZWN0aW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoc2VsZWN0aW9uIHx8IG51bGwpO1xuICB9XG5cbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAnYWJvdmUnO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZFZhbHVlOiBFdmVudEVtaXR0ZXI8QWlGZWVkYmFja1NlbGVjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFpRmVlZGJhY2tTZWxlY3Rpb24+KCk7XG5cbiAgc2VsZWN0ZWQgPSBzaWduYWw8QWlGZWVkYmFja1NlbGVjdGlvbj4obnVsbCk7XG4gIHJlYWRvbmx5IG9wdGlvblllczogQWlGZWVkYmFja1NlbGVjdGlvbiA9ICd5ZXMnO1xuICByZWFkb25seSBvcHRpb25ObzogQWlGZWVkYmFja1NlbGVjdGlvbiA9ICdubyc7XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uOiBBaUZlZWRiYWNrU2VsZWN0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnNlbGVjdGVkKCkgPT09IHNlbGVjdGlvbiA/IG51bGwgOiBzZWxlY3Rpb247XG4gICAgdGhpcy5zZWxlY3RlZC5zZXQobmV3VmFsdWUpO1xuXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlLmVtaXQodGhpcy5zZWxlY3RlZCgpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFpLWZlZWRiYWNrXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQUlfRkVFREJBQ0suVElUTEUnIHwgdWlUcmFuc2xhdGVcIj5cbiAgPHNwYW4+e3sgJ0FJX0ZFRURCQUNLLlRJVExFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmN9fTwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cImFpLWZlZWRiYWNrLWJ1dHRvbnNcIj5cbiAgICBAaWYoc2VsZWN0ZWQoKSAhPT0gb3B0aW9uTm8pIHtcbiAgICAgIDx1aS1idXR0b25cbiAgICAgICAgW2p1c3RJY29uXT1cInRydWVcIlxuICAgICAgICBbaWNvbk5hbWVdPVwiJ1RodW1iLXVwLWluLWxpbmUnXCJcbiAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICAgW3Rvb2x0aXBdPVwiKCdDT01NT04uWUVTJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwiKCdDT01NT04uWUVTJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgIFtpY29uRmlsbGVkXT1cInNlbGVjdGVkKCkgPT09IG9wdGlvblllc1wiXG4gICAgICAgIChidXR0b25DbGlja0V2ZW50KT1cIm9uU2VsZWN0aW9uQ2hhbmdlKG9wdGlvblllcylcIlxuICAgICAgICB2YXJpYW50PVwiaWNvbi1idXR0b25cIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgID48L3VpLWJ1dHRvbj5cbiAgICB9XG5cbiAgICBAaWYoc2VsZWN0ZWQoKSAhPT0gb3B0aW9uWWVzKSB7XG4gICAgICA8dWktYnV0dG9uXG4gICAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgW2ljb25OYW1lXT1cIidUaHVtYi1kb3duLWluLWxpbmUnXCJcbiAgICAgICAgW2ljb25GaWxsZWRdPVwic2VsZWN0ZWQoKSA9PT0gb3B0aW9uTm9cIlxuICAgICAgICBbdG9vbHRpcF09XCIoJ0NPTU1PTi5OTycgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSFcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cIignQ09NTU9OLk5PJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXG4gICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJvblNlbGVjdGlvbkNoYW5nZShvcHRpb25ObylcIlxuICAgICAgICB2YXJpYW50PVwiaWNvbi1idXR0b25cIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgID48L3VpLWJ1dHRvbj5cbiAgICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktZmVlZGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2FpLWZlZWRiYWNrL2FpLWZlZWRiYWNrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9haS1mZWVkYmFjay9haS1mZWVkYmFjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVeEcsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVdXLG9CQUFlLEdBQW9CLE9BQU8sQ0FBQztRQUUxQyxrQkFBYSxHQUFzQyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUVyRyxhQUFRLEdBQUcsTUFBTSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQUNwQyxjQUFTLEdBQXdCLEtBQUssQ0FBQztRQUN2QyxhQUFRLEdBQXdCLElBQUksQ0FBQztLQVEvQztJQWxCQyxJQUFhLFNBQVMsQ0FBQyxTQUE4QjtRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQVVELGlCQUFpQixDQUFDLFNBQThCO1FBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBbEJVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDJLQ1ZoQywwdkNBaUNBOzs0RkR2QmEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUdsQyxTQUFTO3NCQUFyQixLQUFLO2dCQUlHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFpRmVlZGJhY2tTZWxlY3Rpb24gfSBmcm9tICcuL2FpLWZlZWRiYWNrLm1vZGVsJztcclxuaW1wb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWFpLWZlZWRiYWNrJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWktZmVlZGJhY2suY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9haS1mZWVkYmFjay5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBaUZlZWRiYWNrQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzZXQgc2VsZWN0aW9uKHNlbGVjdGlvbjogQWlGZWVkYmFja1NlbGVjdGlvbikge1xyXG4gICAgdGhpcy5zZWxlY3RlZC5zZXQoc2VsZWN0aW9uIHx8IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uOiBUb29sdGlwUG9zaXRpb24gPSAnYWJvdmUnO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRWYWx1ZTogRXZlbnRFbWl0dGVyPEFpRmVlZGJhY2tTZWxlY3Rpb24+ID0gbmV3IEV2ZW50RW1pdHRlcjxBaUZlZWRiYWNrU2VsZWN0aW9uPigpO1xyXG5cclxuICBzZWxlY3RlZCA9IHNpZ25hbDxBaUZlZWRiYWNrU2VsZWN0aW9uPihudWxsKTtcclxuICByZWFkb25seSBvcHRpb25ZZXM6IEFpRmVlZGJhY2tTZWxlY3Rpb24gPSAneWVzJztcclxuICByZWFkb25seSBvcHRpb25ObzogQWlGZWVkYmFja1NlbGVjdGlvbiA9ICdubyc7XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbjogQWlGZWVkYmFja1NlbGVjdGlvbik6IHZvaWQge1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnNlbGVjdGVkKCkgPT09IHNlbGVjdGlvbiA/IG51bGwgOiBzZWxlY3Rpb247XHJcbiAgICB0aGlzLnNlbGVjdGVkLnNldChuZXdWYWx1ZSk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlLmVtaXQodGhpcy5zZWxlY3RlZCgpKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFpLWZlZWRiYWNrXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQUlfRkVFREJBQ0suVElUTEUnIHwgdWlUcmFuc2xhdGVcIj5cclxuICA8c3Bhbj57eyAnQUlfRkVFREJBQ0suVElUTEUnIHwgdWlUcmFuc2xhdGUgfCBhc3luY319PC9zcGFuPlxyXG4gIDxkaXYgY2xhc3M9XCJhaS1mZWVkYmFjay1idXR0b25zXCI+XHJcbiAgICBAaWYoc2VsZWN0ZWQoKSAhPT0gb3B0aW9uTm8pIHtcclxuICAgICAgPHVpLWJ1dHRvblxyXG4gICAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcclxuICAgICAgICBbaWNvbk5hbWVdPVwiJ1RodW1iLXVwLWluLWxpbmUnXCJcclxuICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcclxuICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiXHJcbiAgICAgICAgW3Rvb2x0aXBdPVwiKCdDT01NT04uWUVTJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXHJcbiAgICAgICAgW2FyaWFMYWJlbF09XCIoJ0NPTU1PTi5ZRVMnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcclxuICAgICAgICBbaWNvbkZpbGxlZF09XCJzZWxlY3RlZCgpID09PSBvcHRpb25ZZXNcIlxyXG4gICAgICAgIChidXR0b25DbGlja0V2ZW50KT1cIm9uU2VsZWN0aW9uQ2hhbmdlKG9wdGlvblllcylcIlxyXG4gICAgICAgIHZhcmlhbnQ9XCJpY29uLWJ1dHRvblwiXHJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgID48L3VpLWJ1dHRvbj5cclxuICAgIH1cclxuXHJcbiAgICBAaWYoc2VsZWN0ZWQoKSAhPT0gb3B0aW9uWWVzKSB7XHJcbiAgICAgIDx1aS1idXR0b25cclxuICAgICAgICBbanVzdEljb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgW2ljb25OYW1lXT1cIidUaHVtYi1kb3duLWluLWxpbmUnXCJcclxuICAgICAgICBbaWNvbkZpbGxlZF09XCJzZWxlY3RlZCgpID09PSBvcHRpb25Ob1wiXHJcbiAgICAgICAgW3Rvb2x0aXBdPVwiKCdDT01NT04uTk8nIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcclxuICAgICAgICBbYXJpYUxhYmVsXT1cIignQ09NTU9OLk5PJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpIVwiXHJcbiAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXHJcbiAgICAgICAgKGJ1dHRvbkNsaWNrRXZlbnQpPVwib25TZWxlY3Rpb25DaGFuZ2Uob3B0aW9uTm8pXCJcclxuICAgICAgICB2YXJpYW50PVwiaWNvbi1idXR0b25cIlxyXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICA+PC91aS1idXR0b24+XHJcbiAgICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktZmVlZGJhY2subW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvYWktZmVlZGJhY2svYWktZmVlZGJhY2subW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFpRmVlZGJhY2tTZWxlY3Rpb24gPSAneWVzJyB8ICdubycgfCBudWxsO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktZmVlZGJhY2subW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvYWktZmVlZGJhY2svYWktZmVlZGJhY2subW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFpRmVlZGJhY2tTZWxlY3Rpb24gPSAneWVzJyB8ICdubycgfCBudWxsO1xyXG4iXX0=
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
17
17
  exports: [AiFeedbackComponent],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktZmVlZGJhY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2FpLWZlZWRiYWNrL2FpLWZlZWRiYWNrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTzVDLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQUpaLG1CQUFtQixhQUN4QixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsU0FBUyxhQUNqRCxtQkFBbUI7Z0hBRWxCLGdCQUFnQixZQUhqQixxQkFBcUI7OzRGQUdwQixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBaUZlZWRiYWNrQ29tcG9uZW50IH0gZnJvbSAnLi9haS1mZWVkYmFjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdWktdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FpRmVlZGJhY2tDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50TW9kdWxlLCBVaVRyYW5zbGF0ZVBpcGUsIEFzeW5jUGlwZV0sXG4gIGV4cG9ydHM6IFtBaUZlZWRiYWNrQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQWlGZWVkYmFja01vZHVsZSB7fVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktZmVlZGJhY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2FpLWZlZWRiYWNrL2FpLWZlZWRiYWNrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTzVDLE1BQU0sT0FBTyxnQkFBZ0I7K0dBQWhCLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQUpaLG1CQUFtQixhQUN4QixxQkFBcUIsRUFBRSxlQUFlLEVBQUUsU0FBUyxhQUNqRCxtQkFBbUI7Z0hBRWxCLGdCQUFnQixZQUhqQixxQkFBcUI7OzRGQUdwQixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFpRmVlZGJhY2tDb21wb25lbnQgfSBmcm9tICcuL2FpLWZlZWRiYWNrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlJztcclxuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQWlGZWVkYmFja0NvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0J1dHRvbkNvbXBvbmVudE1vZHVsZSwgVWlUcmFuc2xhdGVQaXBlLCBBc3luY1BpcGVdLFxyXG4gIGV4cG9ydHM6IFtBaUZlZWRiYWNrQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFpRmVlZGJhY2tNb2R1bGUge31cclxuIl19
@@ -195,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
195
195
  type: HostBinding,
196
196
  args: ['class.display-none']
197
197
  }] } });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBZTdELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDNkUsZUFBaUMsRUFDcEcsWUFBMEI7UUFEeUMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ3BHLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBT3BDOzs7Ozs7V0FNRztRQUNNLGNBQVMsR0FBaUIsU0FBUyxDQUFDO1FBRTdDOzs7Ozs7V0FNRztRQUNNLGlCQUFZLEdBQWlCLFFBQVEsQ0FBQztRQVcvQzs7Ozs7V0FLRztRQUNNLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUVyQzs7Ozs7V0FLRztRQUNNLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFeEI7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUksRUFBRSxDQUFDO1FBU3hCOzs7Ozs7V0FNRztRQUNNLGVBQVUsR0FBb0IsUUFBUSxDQUFDO1FBRWhEOzs7Ozs7O1dBT0c7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FB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QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3ZFLENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQUk1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQztvRUFlakQsU0FBUztzQkFBakIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9PLE9BQU87c0JBQW5CLEtBQUs7Z0JBVUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQVNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFTRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csS0FBSztzQkFBYixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRU8sZUFBZTtzQkFBM0IsS0FBSztnQkFJaUMsV0FBVztzQkFBakQsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaWNvbi9pY29uLm1vZGVsJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRCYXJUeXBlLCBBbGVydFZhcmlhbnQgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXIubW9kZWwnO1xuaW1wb3J0IHsgYWxlcnRCYXJzVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL2FsZXJ0LWJhcnMudXRpbHMnO1xuaW1wb3J0IHsgTGlua1RhcmdldFR5cGUgfSBmcm9tICcuL2FsZXJ0LWJhbm5lci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWFsZXJ0LWJhbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFthbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKV0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJzAuMnMgZWFzZS1pbicsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldKSxcbiAgICBdKSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0QmFubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFsZXJ0IEJhbm5lciB0eXBlXG4gICAqXG4gICAqIEB0eXBlIHtBbGVydEJhclR5cGV9XG4gICAqIEBkZWZhdWx0ICdzdWNjZXNzJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFsZXJ0VHlwZTogQWxlcnRCYXJUeXBlID0gJ3N1Y2Nlc3MnO1xuXG4gIC8qKlxuICAgKiBBbGVydCBCYW5uZXIgdmFyaWFudFxuICAgKlxuICAgKiBAdHlwZSB7QWxlcnRWYXJpYW50fVxuICAgKiBAZGVmYXVsdCAnYmFubmVyJ1xuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFsZXJ0VmFyaWFudDogQWxlcnRWYXJpYW50ID0gJ2Jhbm5lcic7XG5cbiAgLyoqXG4gICAqIEFsZXJ0IGJhbm5lciBtZXNzYWdlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IG1lc3NhZ2UobXNnOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9tZXNzYWdlID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobXNnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmNsdWRlIGRpc21taXNzIGJ1dHRvblxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5jbHVkZURpc21pc3NCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIHNoYWRvdyBvciBub3RcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaGFkb3cgPSBmYWxzZTtcblxuICAvKipcbiAgICogTGluayB0ZXh0IHRoYXQgd2lsbCBhcHBlbmRlZCBhdCB0aGUgZW5kIG9mIG1lc3NhZ2VcbiAgICpcbiAgICogQGRlZmF1bHQgJydcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsaW5rVGV4dD8gPSAnJztcblxuICAvKipcbiAgICogTGluayB1cmxcbiAgICpcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsaW5rVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaW5rIHRhcmdldFxuICAgKlxuICAgKiBAdHlwZSB7QHR5cGUge0xpbmtUYXJnZXRUeXBlfX1cbiAgICogQGRlZmF1bHQgJ19ibGFuaydcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsaW5rVGFyZ2V0PzogTGlua1RhcmdldFR5cGUgPSAnX2JsYW5rJztcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBkZWZhdWx0ICdsaWdodCdcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICogU2V0cyB0aGUgZnVsbCB3aWR0aFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpc0Z1bGxXaWR0aDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ2xvc2UgYnV0dG9uIHRvb2x0aXBcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJydcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjbG9zZUJ1dHRvblRvb2x0aXAgPSAnJztcblxuICAvKipcbiAgICogU2hvd3MgaWNvblxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhhc0ljb24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhbGVydCBiYW5uZXIgcG9zaXRpb25cbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgZml4ZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcblxuICBASW5wdXQoKSBzZXQgc2Vjb25kYXJ5QWxlcnRzKGFsZXJ0czogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9zZWNvbmRhcnlBbGVydHMgPSBhbGVydHMubWFwKGFsZXJ0ID0+IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGFsZXJ0KSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc3BsYXktbm9uZScpIGdldCBpc0Rpc21pc3NlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNtaXNzQWxlcnRCYW5uZXI7XG4gIH1cblxuICBpY29uTmFtZTogSWNvbk5hbWU7XG4gIHZpc2libGUgPSB0cnVlO1xuICBmdWxsV2lkdGg6IGJvb2xlYW47XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIGNzc0NsYXNzOiBzdHJpbmc7XG4gIF9tZXNzYWdlOiBTYWZlSHRtbCA9ICcnO1xuICBfc2Vjb25kYXJ5QWxlcnRzOiBTYWZlSHRtbFtdID0gW107XG4gIGRpc21pc3NBbGVydEJhbm5lciA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQmFubmVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxuICAgIGlmIChjaGFuZ2VzWydhbGVydFR5cGUnXSkge1xuICAgICB0aGlzLnVwZGF0ZUJhbm5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQmFubmVyKCk6IHZvaWQge1xuICAgIHRoaXMuaWNvbk5hbWUgPSBhbGVydEJhcnNVdGlsLnNldEljb24odGhpcy5hbGVydFR5cGUpO1xuICAgIHRoaXMucG9zaXRpb24gPSBhbGVydEJhcnNVdGlsLnNldFBvc2l0aW9uKHRoaXMuZml4ZWQpO1xuICAgIHRoaXMuZnVsbFdpZHRoID0gdGhpcy5pc0Z1bGxXaWR0aCA/PyB0aGlzLmFsZXJ0VmFyaWFudCA9PT0gJ2Jhbm5lcic7XG4gICAgdGhpcy5jc3NDbGFzcyA9IGFsZXJ0QmFyc1V0aWwuc2V0Q3NzQ2xhc3ModGhpcy5mdWxsV2lkdGgsIHRoaXMuYWxlcnRUeXBlLCB0aGlzLnBvc2l0aW9uLCB0aGlzLmFsZXJ0VmFyaWFudCk7XG4gIH1cblxuICAvL0hpZGUgc25hY2tiYXIgd2hlbiBkaXNtaXNzIGJ1dHRvbiBpcyBjbGlja2VkXG4gIGRpc21pc3NDbGljaygpIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZGlzbWlzc0FsZXJ0QmFubmVyID0gdHJ1ZTtcbiAgICB9LCAyMDApO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cImNzc0NsYXNzXCJcbiAgW0BvcGVuQ2xvc2VdXG4gICpuZ0lmPVwidmlzaWJsZVwiXG4gIHJvbGU9XCJhbGVydFwiXG4gIGNsYXNzPVwiYWxlcnQtY29udGFpbmVyXCJcbiAgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gIFtjbGFzcy5zaGFkb3ddPVwiYWxlcnRWYXJpYW50ID09PSAnY2FsbG91dCcgJiYgc2hhZG93XCJcbiAgW2F0dHIuYXJpYS1saXZlXT1cIihhbGVydFR5cGUgPT09ICdlcnJvcicgfHwgYWxlcnRUeXBlID09PSAnd2FybmluZycpID8gJ2Fzc2VydGl2ZScgOiAncG9saXRlJ1wiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInbGFiZWxsZWRieSdcIlxuICBbdGFiSW5kZXhdPVwiMFwiXG4+XG4gIDxzcGFuIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgaWQ9XCJsYWJlbGxlZGJ5XCI+e3sgKCdBTEVSVF9CQU5ORVIuJyArIChhbGVydFR5cGUgfCB1cHBlcmNhc2UpKSB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIGlkPVwiZGVzY3JpYmVkYnlcIj57eyBhcmlhRGVzY3JpYmVkYnkgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJwcmltYXJ5LWFsZXJ0LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhbGVydC10ZXh0XCI+XG4gICAgICBAaWYgKGhhc0ljb24pIHtcbiAgICAgICAgPHVpLWljb24gY2xhc3M9XCJsZWZ0LWljb25cIiBbbmFtZV09XCJpY29uTmFtZVwiIHNpemU9XCIyNFwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj48L3VpLWljb24+XG4gICAgICB9XG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIl9tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgPGEgKm5nSWY9XCIhIWxpbmtUZXh0XCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCIgW2hyZWZdPVwibGlua1VybFwiPnt7IGxpbmtUZXh0IH19PC9hPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnXCJcbiAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgaWNvbk5hbWU9XCJDbG9zZVwiXG4gICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJkaXNtaXNzQ2xpY2soKVwiXG4gICAgPjwvdWktYnV0dG9uPlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmIGFsZXJ0VmFyaWFudCAhPT0gJ2NhbGxvdXQnXCJcbiAgICAgIGNsYXNzPVwicmlnaHQtaWNvblwiXG4gICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgW2ljb25OYW1lXT1cIidDbG9zZSdcIlxuICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICBbanVzdEljb25dPVwidHJ1ZVwiXG4gICAgICBbdG9vbHRpcF09XCIoY2xvc2VCdXR0b25Ub29sdGlwIHx8ICgnQ09NTU9OLkNMT1NFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpKSFcIlxuICAgICAgKGNsaWNrKT1cImRpc21pc3NDbGljaygpXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2Vjb25kYXJ5LWFsZXJ0cy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtdGV4dFwiICpuZ0Zvcj1cImxldCBhbGVydCBvZiBfc2Vjb25kYXJ5QWxlcnRzXCI+XG4gICAgICA8dWktaWNvbiBjbGFzcz1cImxlZnQtaWNvblwiIFtuYW1lXT1cIidTdG9wLWZpbGxlZCdcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCI+PC91aS1pY29uPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJhbGVydFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9hbGVydC1iYW5uZXIvYWxlcnQtYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7O0FBZTdELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDNkUsZUFBaUMsRUFDcEcsWUFBMEI7UUFEeUMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ3BHLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBT3BDOzs7Ozs7V0FNRztRQUNNLGNBQVMsR0FBaUIsU0FBUyxDQUFDO1FBRTdDOzs7Ozs7V0FNRztRQUNNLGlCQUFZLEdBQWlCLFFBQVEsQ0FBQztRQVcvQzs7Ozs7V0FLRztRQUNNLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUVyQzs7Ozs7V0FLRztRQUNNLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFeEI7Ozs7O1dBS0c7UUFDTSxhQUFRLEdBQUksRUFBRSxDQUFDO1FBU3hCOzs7Ozs7V0FNRztRQUNNLGVBQVUsR0FBb0IsUUFBUSxDQUFDO1FBRWhEOzs7Ozs7O1dBT0c7UUFDTSxxQkFBZ0IsR0FBcUIsT0FBTyxDQUFDO1FB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QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN2RSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3ZFLENBQUM7cUJBQ0gsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQUk1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQztvRUFlakQsU0FBUztzQkFBakIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9PLE9BQU87c0JBQW5CLEtBQUs7Z0JBVUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQVFHLE1BQU07c0JBQWQsS0FBSztnQkFRRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxVQUFVO3NCQUFsQixLQUFLO2dCQVVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQVNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFTRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csS0FBSztzQkFBYixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRU8sZUFBZTtzQkFBM0IsS0FBSztnQkFJaUMsV0FBVztzQkFBakQsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBIb3N0QmluZGluZyxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcclxuaW1wb3J0IHsgQWxlcnRCYXJUeXBlLCBBbGVydFZhcmlhbnQgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXIubW9kZWwnO1xyXG5pbXBvcnQgeyBhbGVydEJhcnNVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWxlcnQtYmFycy51dGlscyc7XHJcbmltcG9ydCB7IExpbmtUYXJnZXRUeXBlIH0gZnJvbSAnLi9hbGVydC1iYW5uZXIubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1hbGVydC1iYW5uZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hbGVydC1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FsZXJ0LWJhbm5lci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcclxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW2FuaW1hdGUoJzAuMnMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcwLjJzIGVhc2UtaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXSksXHJcbiAgICBdKSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxlcnRCYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXHJcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XHJcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsZXJ0IEJhbm5lciB0eXBlXHJcbiAgICpcclxuICAgKiBAdHlwZSB7QWxlcnRCYXJUeXBlfVxyXG4gICAqIEBkZWZhdWx0ICdzdWNjZXNzJ1xyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFsZXJ0VHlwZTogQWxlcnRCYXJUeXBlID0gJ3N1Y2Nlc3MnO1xyXG5cclxuICAvKipcclxuICAgKiBBbGVydCBCYW5uZXIgdmFyaWFudFxyXG4gICAqXHJcbiAgICogQHR5cGUge0FsZXJ0VmFyaWFudH1cclxuICAgKiBAZGVmYXVsdCAnYmFubmVyJ1xyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFsZXJ0VmFyaWFudDogQWxlcnRWYXJpYW50ID0gJ2Jhbm5lcic7XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsZXJ0IGJhbm5lciBtZXNzYWdlXHJcbiAgICpcclxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzZXQgbWVzc2FnZShtc2c6IHN0cmluZykge1xyXG4gICAgdGhpcy5fbWVzc2FnZSA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKG1zZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbmNsdWRlIGRpc21taXNzIGJ1dHRvblxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgdHJ1ZVxyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGluY2x1ZGVEaXNtaXNzQnV0dG9uID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5jbHVkZSBzaGFkb3cgb3Igbm90XHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNoYWRvdyA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBMaW5rIHRleHQgdGhhdCB3aWxsIGFwcGVuZGVkIGF0IHRoZSBlbmQgb2YgbWVzc2FnZVxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgJydcclxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBsaW5rVGV4dD8gPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogTGluayB1cmxcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxpbmtVcmw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpbmsgdGFyZ2V0XHJcbiAgICpcclxuICAgKiBAdHlwZSB7QHR5cGUge0xpbmtUYXJnZXRUeXBlfX1cclxuICAgKiBAZGVmYXVsdCAnX2JsYW5rJ1xyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQ/OiBMaW5rVGFyZ2V0VHlwZSA9ICdfYmxhbmsnO1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXHJcbiAgICpcclxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cclxuICAgKiBAZGVmYXVsdCAnbGlnaHQnXHJcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZ1bGwgd2lkdGhcclxuICAgKlxyXG4gICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGlzRnVsbFdpZHRoOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBDbG9zZSBidXR0b24gdG9vbHRpcFxyXG4gICAqXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKiBAZGVmYXVsdCAnJ1xyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uVG9vbHRpcCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTaG93cyBpY29uXHJcbiAgICpcclxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgaGFzSWNvbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGFsZXJ0IGJhbm5lciBwb3NpdGlvblxyXG4gICAqXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICogQGRlZmF1bHQgZmFsc2VcclxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBmaXhlZCA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXHJcbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgQWxlcnRCYW5uZXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcclxuXHJcbiAgQElucHV0KCkgc2V0IHNlY29uZGFyeUFsZXJ0cyhhbGVydHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9zZWNvbmRhcnlBbGVydHMgPSBhbGVydHMubWFwKGFsZXJ0ID0+IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGFsZXJ0KSk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc3BsYXktbm9uZScpIGdldCBpc0Rpc21pc3NlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpc21pc3NBbGVydEJhbm5lcjtcclxuICB9XHJcblxyXG4gIGljb25OYW1lOiBJY29uTmFtZTtcclxuICB2aXNpYmxlID0gdHJ1ZTtcclxuICBmdWxsV2lkdGg6IGJvb2xlYW47XHJcbiAgcG9zaXRpb246IHN0cmluZztcclxuICBjc3NDbGFzczogc3RyaW5nO1xyXG4gIF9tZXNzYWdlOiBTYWZlSHRtbCA9ICcnO1xyXG4gIF9zZWNvbmRhcnlBbGVydHM6IFNhZmVIdG1sW10gPSBbXTtcclxuICBkaXNtaXNzQWxlcnRCYW5uZXIgPSBmYWxzZTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZUJhbm5lcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxyXG4gICAgaWYgKGNoYW5nZXNbJ2FsZXJ0VHlwZSddKSB7XHJcbiAgICAgdGhpcy51cGRhdGVCYW5uZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQmFubmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLmFsZXJ0VHlwZSk7XHJcbiAgICB0aGlzLnBvc2l0aW9uID0gYWxlcnRCYXJzVXRpbC5zZXRQb3NpdGlvbih0aGlzLmZpeGVkKTtcclxuICAgIHRoaXMuZnVsbFdpZHRoID0gdGhpcy5pc0Z1bGxXaWR0aCA/PyB0aGlzLmFsZXJ0VmFyaWFudCA9PT0gJ2Jhbm5lcic7XHJcbiAgICB0aGlzLmNzc0NsYXNzID0gYWxlcnRCYXJzVXRpbC5zZXRDc3NDbGFzcyh0aGlzLmZ1bGxXaWR0aCwgdGhpcy5hbGVydFR5cGUsIHRoaXMucG9zaXRpb24sIHRoaXMuYWxlcnRWYXJpYW50KTtcclxuICB9XHJcblxyXG4gIC8vSGlkZSBzbmFja2JhciB3aGVuIGRpc21pc3MgYnV0dG9uIGlzIGNsaWNrZWRcclxuICBkaXNtaXNzQ2xpY2soKSB7XHJcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmRpc21pc3NBbGVydEJhbm5lciA9IHRydWU7XHJcbiAgICB9LCAyMDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cImNzc0NsYXNzXCJcbiAgW0BvcGVuQ2xvc2VdXG4gICpuZ0lmPVwidmlzaWJsZVwiXG4gIHJvbGU9XCJhbGVydFwiXG4gIGNsYXNzPVwiYWxlcnQtY29udGFpbmVyXCJcbiAgW2F0dHIudGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gIFtjbGFzcy5zaGFkb3ddPVwiYWxlcnRWYXJpYW50ID09PSAnY2FsbG91dCcgJiYgc2hhZG93XCJcbiAgW2F0dHIuYXJpYS1saXZlXT1cIihhbGVydFR5cGUgPT09ICdlcnJvcicgfHwgYWxlcnRUeXBlID09PSAnd2FybmluZycpID8gJ2Fzc2VydGl2ZScgOiAncG9saXRlJ1wiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInbGFiZWxsZWRieSdcIlxuICBbdGFiSW5kZXhdPVwiMFwiXG4+XG4gIDxzcGFuIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgaWQ9XCJsYWJlbGxlZGJ5XCI+e3sgKCdBTEVSVF9CQU5ORVIuJyArIChhbGVydFR5cGUgfCB1cHBlcmNhc2UpKSB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIGlkPVwiZGVzY3JpYmVkYnlcIj57eyBhcmlhRGVzY3JpYmVkYnkgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJwcmltYXJ5LWFsZXJ0LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhbGVydC10ZXh0XCI+XG4gICAgICBAaWYgKGhhc0ljb24pIHtcbiAgICAgICAgPHVpLWljb24gY2xhc3M9XCJsZWZ0LWljb25cIiBbbmFtZV09XCJpY29uTmFtZVwiIHNpemU9XCIyNFwiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIj48L3VpLWljb24+XG4gICAgICB9XG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIl9tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgPGEgKm5nSWY9XCIhIWxpbmtUZXh0XCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCIgW2hyZWZdPVwibGlua1VybFwiPnt7IGxpbmtUZXh0IH19PC9hPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnXCJcbiAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgIFtqdXN0SWNvbl09XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgaWNvbk5hbWU9XCJDbG9zZVwiXG4gICAgICAoYnV0dG9uQ2xpY2tFdmVudCk9XCJkaXNtaXNzQ2xpY2soKVwiXG4gICAgPjwvdWktYnV0dG9uPlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmIGFsZXJ0VmFyaWFudCAhPT0gJ2NhbGxvdXQnXCJcbiAgICAgIGNsYXNzPVwicmlnaHQtaWNvblwiXG4gICAgICBbdmFyaWFudF09XCInaWNvbi1idXR0b24nXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgW2ljb25OYW1lXT1cIidDbG9zZSdcIlxuICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICBbanVzdEljb25dPVwidHJ1ZVwiXG4gICAgICBbdG9vbHRpcF09XCIoY2xvc2VCdXR0b25Ub29sdGlwIHx8ICgnQ09NTU9OLkNMT1NFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpKSFcIlxuICAgICAgKGNsaWNrKT1cImRpc21pc3NDbGljaygpXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2Vjb25kYXJ5LWFsZXJ0cy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtdGV4dFwiICpuZ0Zvcj1cImxldCBhbGVydCBvZiBfc2Vjb25kYXJ5QWxlcnRzXCI+XG4gICAgICA8dWktaWNvbiBjbGFzcz1cImxlZnQtaWNvblwiIFtuYW1lXT1cIidTdG9wLWZpbGxlZCdcIiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCI+PC91aS1pY29uPlxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJhbGVydFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==