@acorex/components 18.16.0-next.4 → 18.16.0-next.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. package/color-palette/lib/color-palette-input.component.d.ts +6 -1
  2. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +11 -13
  3. package/cron-job/lib/cron-job.service.d.ts +3 -3
  4. package/cron-job/lib/day/day.component.d.ts +3 -1
  5. package/cron-job/lib/day/day.service.d.ts +2 -2
  6. package/cron-job/lib/hours/hours.component.d.ts +3 -1
  7. package/cron-job/lib/hours/hours.service.d.ts +2 -2
  8. package/cron-job/lib/minutes/minutes.component.d.ts +3 -1
  9. package/cron-job/lib/minutes/minutes.service.d.ts +2 -2
  10. package/cron-job/lib/month/month.component.d.ts +3 -1
  11. package/cron-job/lib/month/month.service.d.ts +2 -2
  12. package/cron-job/lib/seconds/seconds.component.d.ts +3 -1
  13. package/cron-job/lib/seconds/seconds.service.d.ts +2 -2
  14. package/cron-job/lib/year/year.component.d.ts +3 -1
  15. package/cron-job/lib/year/year.service.d.ts +2 -2
  16. package/data-pager/lib/data-pager-info.component.d.ts +4 -4
  17. package/data-pager/lib/data-pager.component.d.ts +1 -0
  18. package/esm2022/badge/lib/badge.component.mjs +2 -2
  19. package/esm2022/button/lib/button-item-list.component.mjs +2 -2
  20. package/esm2022/color-palette/lib/color-palette-input.component.mjs +2 -1
  21. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +3 -3
  22. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +62 -45
  23. package/esm2022/cron-job/lib/cron-job.service.mjs +5 -5
  24. package/esm2022/cron-job/lib/day/day.component.mjs +8 -4
  25. package/esm2022/cron-job/lib/day/day.service.mjs +4 -4
  26. package/esm2022/cron-job/lib/hours/hours.component.mjs +8 -4
  27. package/esm2022/cron-job/lib/hours/hours.service.mjs +4 -4
  28. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +8 -4
  29. package/esm2022/cron-job/lib/minutes/minutes.service.mjs +4 -4
  30. package/esm2022/cron-job/lib/month/month.component.mjs +8 -4
  31. package/esm2022/cron-job/lib/month/month.service.mjs +4 -4
  32. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +8 -4
  33. package/esm2022/cron-job/lib/seconds/seconds.service.mjs +4 -4
  34. package/esm2022/cron-job/lib/year/year.component.mjs +8 -4
  35. package/esm2022/cron-job/lib/year/year.service.mjs +4 -4
  36. package/esm2022/data-pager/lib/data-pager-info.component.mjs +8 -7
  37. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +39 -8
  38. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +27 -15
  39. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +3 -15
  40. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +37 -7
  41. package/esm2022/data-pager/lib/data-pager.component.mjs +12 -6
  42. package/esm2022/image-editor/lib/image-editor-container/image-editor-container.component.mjs +5 -4
  43. package/esm2022/image-editor/lib/image-editor-toolbar/image-editor-toolbar.component.mjs +2 -2
  44. package/esm2022/image-editor/lib/image-editor-tools/image-editor-color-picker/image-editor-color-picker.component.mjs +3 -3
  45. package/esm2022/image-editor/lib/image-editor-view/image-editor-view.component.mjs +55 -16
  46. package/esm2022/image-editor/lib/image-editor.service.mjs +1 -1
  47. package/esm2022/list/lib/list.component.mjs +2 -2
  48. package/esm2022/step-wizard/lib/step-wizard.component.mjs +20 -3
  49. package/esm2022/tabs/lib/tabs.component.mjs +18 -13
  50. package/esm2022/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.mjs +3 -3
  51. package/esm2022/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.mjs +3 -3
  52. package/fesm2022/acorex-components-badge.mjs +2 -2
  53. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  54. package/fesm2022/acorex-components-button.mjs +2 -2
  55. package/fesm2022/acorex-components-button.mjs.map +1 -1
  56. package/fesm2022/acorex-components-color-palette.mjs +3 -2
  57. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  58. package/fesm2022/acorex-components-cron-job.mjs +109 -68
  59. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  60. package/fesm2022/acorex-components-data-pager.mjs +123 -56
  61. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  62. package/fesm2022/acorex-components-image-editor.mjs +60 -22
  63. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  64. package/fesm2022/acorex-components-list.mjs +2 -2
  65. package/fesm2022/acorex-components-list.mjs.map +1 -1
  66. package/fesm2022/acorex-components-step-wizard.mjs +18 -1
  67. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  68. package/fesm2022/acorex-components-tabs.mjs +17 -12
  69. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  70. package/fesm2022/acorex-components-uploader.mjs +4 -4
  71. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  72. package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +2 -0
  73. package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +16 -3
  74. package/image-editor/lib/image-editor.service.d.ts +2 -2
  75. package/package.json +1 -1
  76. package/step-wizard/lib/step-wizard.component.d.ts +2 -1
  77. package/tabs/lib/tabs.component.d.ts +1 -0
@@ -13,7 +13,12 @@ export declare class AXColorPaletteInputComponent extends MXBaseComponent implem
13
13
  _parent: AXColorPaletteParentComponent;
14
14
  private _unsubscriber;
15
15
  isValid: boolean;
16
- _rgba: any;
16
+ _rgba: {
17
+ r: number;
18
+ g: number;
19
+ b: number;
20
+ a: number;
21
+ };
17
22
  _hex: string;
18
23
  /**
19
24
  * @ignore
@@ -1,4 +1,4 @@
1
- import { AXClickEvent } from '@acorex/components/common';
1
+ import { MXInputBaseValueComponent } from '@acorex/components/common';
2
2
  import { AXTabLocation, AXTabLook, AXTabsComponent } from '@acorex/components/tabs';
3
3
  import { DayService } from '../day/day.service';
4
4
  import { HoursService } from '../hours/hours.service';
@@ -7,25 +7,23 @@ import { MonthService } from '../month/month.service';
7
7
  import { SecondsService } from '../seconds/seconds.service';
8
8
  import { YearService } from '../year/year.service';
9
9
  import * as i0 from "@angular/core";
10
- export declare class AXCronJobContainerComponent {
10
+ export declare class AXCronJobContainerComponent extends MXInputBaseValueComponent<string> {
11
11
  #private;
12
+ protected secondsService: SecondsService;
13
+ protected minutesService: MinutesService;
14
+ protected hoursService: HoursService;
15
+ protected monthService: MonthService;
16
+ protected dayService: DayService;
17
+ protected yearService: YearService;
12
18
  protected tabComponent: import("@angular/core").Signal<AXTabsComponent>;
13
19
  protected activeTab: import("@angular/core").WritableSignal<string>;
14
- protected expResult: string;
15
- onExpressionChange: import("@angular/core").OutputEmitterRef<AXClickEvent>;
16
20
  protected options: import("@angular/core").WritableSignal<{
17
21
  fit: boolean;
18
22
  look: AXTabLook;
19
23
  location: AXTabLocation;
20
24
  }>;
21
- protected secondsService: SecondsService;
22
- protected minutesService: MinutesService;
23
- protected hoursService: HoursService;
24
- protected monthService: MonthService;
25
- protected dayService: DayService;
26
- protected yearService: YearService;
27
- protected onGetModel(): void;
28
- protected reverseExpression(cronExpressionPattern: string): void;
25
+ onGetModel(): void;
26
+ protected internalValueChanged(cronExpressionPattern: string): void;
29
27
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCronJobContainerComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCronJobContainerComponent, "ax-cron-job-container", never, {}, { "onExpressionChange": "onExpressionChange"; }, never, never, false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCronJobContainerComponent, "ax-cron-job-container", never, {}, { "onValueChanged": "onValueChanged"; }, never, never, false, never>;
31
29
  }
@@ -1,6 +1,6 @@
1
1
  import { DropDownItem, RegexItemsIndex } from './types/shared.model';
2
2
  import * as i0 from "@angular/core";
3
- export declare class StringService {
3
+ export declare class CronJobService {
4
4
  addComma(str: string): string;
5
5
  getRegexItem(cronExpressionPattern: string, itemIndex: RegexItemsIndex): string;
6
6
  getIntervalCronData(regex: string): {
@@ -17,6 +17,6 @@ export declare class StringService {
17
17
  xst: number;
18
18
  } | undefined;
19
19
  mapItemsToDropDownItem(items: Array<string>, dropDowndata?: Array<string>): Array<DropDownItem>;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<StringService, never>;
21
- static ɵprov: i0.ɵɵInjectableDeclaration<StringService>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<CronJobService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<CronJobService>;
22
22
  }
@@ -9,6 +9,8 @@ export declare class AXCronDayComponent {
9
9
  protected boMonthDropDownList: DropDownItem[];
10
10
  protected daysIndexInMonth: number[];
11
11
  protected zeroTo30: number[];
12
+ dayChanged: import("@angular/core").OutputEmitterRef<void>;
13
+ protected inputChange(): void;
12
14
  protected changeHandler(e: AXValueChangedEvent): void;
13
15
  protected changeHandler2(e: AXValueChangedEvent): void;
14
16
  protected get daysList(): Array<string>;
@@ -18,5 +20,5 @@ export declare class AXCronDayComponent {
18
20
  protected get isBoMonthCustom(): boolean;
19
21
  protected get isBoMonthBefore(): boolean;
20
22
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCronDayComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCronDayComponent, "ax-cron-day", never, {}, {}, never, never, false, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCronDayComponent, "ax-cron-day", never, {}, { "dayChanged": "dayChanged"; }, never, never, false, never>;
22
24
  }
@@ -1,4 +1,4 @@
1
- import { StringService } from '../cron-job.service';
1
+ import { CronJobService } from '../cron-job.service';
2
2
  import { IExpression } from '../types/iexpression';
3
3
  import { Day } from './day.model';
4
4
  import * as i0 from "@angular/core";
@@ -6,7 +6,7 @@ export declare class DayService implements IExpression {
6
6
  private stringService;
7
7
  dayModel: Day;
8
8
  daysList: Array<string>;
9
- constructor(stringService: StringService);
9
+ constructor(stringService: CronJobService);
10
10
  getExpression(): any;
11
11
  expressionValidation(preCronExpressionPattern: string, newCronExpressionPattern: string): string;
12
12
  reversExpression(cronExpressionPattern: string): void;
@@ -7,8 +7,10 @@ export declare class AXCronHoursComponent {
7
7
  hoursService: HoursService;
8
8
  protected dropdownList: DropDownItem[];
9
9
  protected zeroTo23: number[];
10
+ hoursChanged: import("@angular/core").OutputEmitterRef<void>;
11
+ protected inputChange(): void;
10
12
  protected changeHandler(e: AXValueChangedEvent): void;
11
13
  protected get isCustom(): boolean;
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCronHoursComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCronHoursComponent, "ax-cron-hours", never, {}, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCronHoursComponent, "ax-cron-hours", never, {}, { "hoursChanged": "hoursChanged"; }, never, never, false, never>;
14
16
  }
@@ -1,11 +1,11 @@
1
- import { StringService } from '../cron-job.service';
1
+ import { CronJobService } from '../cron-job.service';
2
2
  import { IExpression } from '../types/iexpression';
3
3
  import { Hours } from './hours.model';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class HoursService implements IExpression {
6
6
  private stringService;
7
7
  hourModel: Hours;
8
- constructor(stringService: StringService);
8
+ constructor(stringService: CronJobService);
9
9
  getExpression(): string;
10
10
  reversExpression(cronExpressionPattern: string): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<HoursService, never>;
@@ -7,8 +7,10 @@ export declare class AXCronMinutesComponent {
7
7
  protected minutesService: MinutesService;
8
8
  protected dropdownList: DropDownItem[];
9
9
  protected zeroTo59: number[];
10
+ minutesChanged: import("@angular/core").OutputEmitterRef<void>;
11
+ protected inputChange(): void;
10
12
  protected changeHandler(e: AXValueChangedEvent): void;
11
13
  protected get isCustom(): boolean;
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCronMinutesComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMinutesComponent, "ax-cron-minutes", never, {}, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMinutesComponent, "ax-cron-minutes", never, {}, { "minutesChanged": "minutesChanged"; }, never, never, false, never>;
14
16
  }
@@ -1,11 +1,11 @@
1
- import { StringService } from '../cron-job.service';
1
+ import { CronJobService } from '../cron-job.service';
2
2
  import { IExpression } from '../types/iexpression';
3
3
  import { Minutes } from './minutes.model';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class MinutesService implements IExpression {
6
6
  private stringService;
7
7
  minuteModel: Minutes;
8
- constructor(stringService: StringService);
8
+ constructor(stringService: CronJobService);
9
9
  getExpression(): string;
10
10
  reversExpression(cronExpressionPattern: string): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<MinutesService, never>;
@@ -8,9 +8,11 @@ export declare class AXCronMonthComponent {
8
8
  protected dropdownList: DropDownItem[];
9
9
  protected dropdownList2: DropDownItem[];
10
10
  protected oneTo12: DropDownItem[];
11
+ monthChanged: import("@angular/core").OutputEmitterRef<void>;
12
+ protected inputChange(): void;
11
13
  protected changeHandler(e: AXValueChangedEvent): void;
12
14
  protected get isCustom(): boolean;
13
15
  protected get monthsList(): Array<string>;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCronMonthComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMonthComponent, "ax-cron-month", never, {}, {}, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCronMonthComponent, "ax-cron-month", never, {}, { "monthChanged": "monthChanged"; }, never, never, false, never>;
16
18
  }
@@ -1,4 +1,4 @@
1
- import { StringService } from '../cron-job.service';
1
+ import { CronJobService } from '../cron-job.service';
2
2
  import { IExpression } from '../types/iexpression';
3
3
  import { Month } from './month.model';
4
4
  import * as i0 from "@angular/core";
@@ -6,7 +6,7 @@ export declare class MonthService implements IExpression {
6
6
  private stringService;
7
7
  monthModel: Month;
8
8
  monthList: Array<string>;
9
- constructor(stringService: StringService);
9
+ constructor(stringService: CronJobService);
10
10
  getExpression(): string;
11
11
  reversExpression(cronExpressionPattern: string): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<MonthService, never>;
@@ -5,10 +5,12 @@ import * as i0 from "@angular/core";
5
5
  export declare class AXCronSecondsComponent {
6
6
  #private;
7
7
  protected secondsService: SecondsService;
8
+ secondsChanged: import("@angular/core").OutputEmitterRef<void>;
8
9
  protected dropdownList: DropDownItem[];
9
10
  protected zeroTo59: number[];
11
+ protected inputChange(): void;
10
12
  protected changeHandler(e: AXValueChangedEvent): void;
11
13
  protected get isCustom(): boolean;
12
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCronSecondsComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCronSecondsComponent, "ax-cron-seconds", never, {}, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCronSecondsComponent, "ax-cron-seconds", never, {}, { "secondsChanged": "secondsChanged"; }, never, never, false, never>;
14
16
  }
@@ -1,11 +1,11 @@
1
- import { StringService } from '../cron-job.service';
1
+ import { CronJobService } from '../cron-job.service';
2
2
  import { IExpression } from '../types/iexpression';
3
3
  import { Seconds } from './seconds.model';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class SecondsService implements IExpression {
6
6
  private stringService;
7
7
  secondModel: Seconds;
8
- constructor(stringService: StringService);
8
+ constructor(stringService: CronJobService);
9
9
  getExpression(): string;
10
10
  reversExpression(cronExpressionPattern: string): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<SecondsService, never>;
@@ -7,9 +7,11 @@ export declare class AXCronYearComponent {
7
7
  yearService: YearService;
8
8
  protected dropdownList: DropDownItem[];
9
9
  protected oneTo100: DropDownItem[];
10
+ yearChanged: import("@angular/core").OutputEmitterRef<void>;
11
+ protected inputChange(): void;
10
12
  protected changeHandler(e: AXValueChangedEvent): void;
11
13
  protected get isCustom(): boolean;
12
14
  protected getYearByOffset(offset: number): number;
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCronYearComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<AXCronYearComponent, "ax-cron-year", never, {}, {}, never, never, false, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXCronYearComponent, "ax-cron-year", never, {}, { "yearChanged": "yearChanged"; }, never, never, false, never>;
15
17
  }
@@ -1,10 +1,10 @@
1
- import { StringService } from '../cron-job.service';
1
+ import { CronJobService } from '../cron-job.service';
2
2
  import { Year } from './year.model';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class YearService {
5
5
  private stringService;
6
6
  yearModel: Year;
7
- constructor(stringService: StringService);
7
+ constructor(stringService: CronJobService);
8
8
  getExpression(): string;
9
9
  reversExpression(cronExpressionPattern: string): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<YearService, never>;
@@ -12,13 +12,13 @@ export declare class AXDataPagerInfoComponent extends AXDataPagerChild {
12
12
  */
13
13
  text: string;
14
14
  /**
15
- * @ignore
16
- */
15
+ * @ignore
16
+ */
17
17
  protected _textFormatted: string;
18
18
  protected translateService: AXTranslationService;
19
19
  /**
20
- * @ignore
21
- */
20
+ * @ignore
21
+ */
22
22
  protected applyParent(): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerInfoComponent, never>;
24
24
  static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerInfoComponent, "ax-data-pager-info", never, { "text": { "alias": "text"; "required": false; }; }, {}, never, never, false, never>;
@@ -145,6 +145,7 @@ export declare class AXDataPagerComponent extends MXValueComponent<number> {
145
145
  * @ignore
146
146
  */
147
147
  goToPage(page: number): void;
148
+ get __hostClass(): string;
148
149
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDataPagerComponent, [{ optional: true; }]>;
149
150
  static ɵcmp: i0.ɵɵComponentDeclaration<AXDataPagerComponent, "ax-data-pager", never, { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "size": { "alias": "size"; "required": false; }; "total": { "alias": "total"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; }, { "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; "disabledChange": "disabledChange"; "readonlyChange": "readonlyChange"; "displayModeChange": "displayModeChange"; "onChanged": "onChanged"; }, never, ["ax-prefix", "ax-suffix"], false, never>;
150
151
  }
@@ -18,11 +18,11 @@ export class AXBadgeComponent extends MXColorLookComponent {
18
18
  return `ax-el-${this.color}-${this.look} ${!this.text() ? 'ax-mini-badge' : ''} ${this.text()?.length == 1 ? 'ax-single-badge' : ''}`;
19
19
  }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXBadgeComponent, selector: "ax-badge", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXBadgeComponent, selector: "ax-badge", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem;max-height:fit-content}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBadgeComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'ax-badge', inputs: ['color', 'look'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"] }]
25
+ args: [{ selector: 'ax-badge', inputs: ['color', 'look'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-prefix\"></ng-content>\n@if (text) {\n <span class=\"ax-badge-text\">{{ text() }}</span>\n}\n<ng-content select=\"ax-suffix\"></ng-content>\n", styles: ["ax-badge{display:inline-block;border-radius:9999px;border-width:1px;border-color:transparent;font-size:.75rem;max-height:fit-content}ax-badge.ax-mini-badge{height:.5rem;width:.5rem}ax-badge.ax-mini-badge .ax-badge-text{display:none}ax-badge.ax-single-badge{display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center}ax-badge.ax-single-badge .ax-badge-text{padding:0}ax-badge .ax-badge-text{white-space:nowrap;word-break:break-all;padding:.25rem .375rem}\n"] }]
26
26
  }], propDecorators: { __hostClass: [{
27
27
  type: HostBinding,
28
28
  args: ['class']
@@ -111,7 +111,7 @@ export class AXButtonItemListComponent extends MXInteractiveComponent {
111
111
  }
112
112
  }
113
113
  <ng-content select="ax-button-item, ax-title, ax-divider, ng-container"></ng-content>
114
- `, isInline: true, styles: ["ax-button-item-list{padding:.5rem}ax-button-item-list.ax-action-list .ax-action-item{border-radius:var(--ax-rounded-border-default);margin-bottom:.25rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
114
+ `, isInline: true, styles: ["ax-button-item-list.ax-action-list{padding:.25rem 0}ax-button-item-list.ax-action-list .ax-action-item:not(ax-button-item-list.ax-action-list .ax-action-item:last-child){margin-bottom:.25rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
115
115
  }
116
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXButtonItemListComponent, decorators: [{
117
117
  type: Component,
@@ -135,7 +135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
135
135
  }
136
136
  }
137
137
  <ng-content select="ax-button-item, ax-title, ax-divider, ng-container"></ng-content>
138
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-button-item-list{padding:.5rem}ax-button-item-list.ax-action-list .ax-action-item{border-radius:var(--ax-rounded-border-default);margin-bottom:.25rem}\n"] }]
138
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["ax-button-item-list.ax-action-list{padding:.25rem 0}ax-button-item-list.ax-action-list .ax-action-item:not(ax-button-item-list.ax-action-list .ax-action-item:last-child){margin-bottom:.25rem}\n"] }]
139
139
  }], ctorParameters: () => [{ type: i3.AXClosbaleComponent, decorators: [{
140
140
  type: Optional
141
141
  }, {
@@ -94,6 +94,7 @@ export class AXColorPaletteInputComponent extends MXBaseComponent {
94
94
  break;
95
95
  default:
96
96
  this._colorMode = 'rgba';
97
+ this.applyParent(true);
97
98
  break;
98
99
  }
99
100
  }
@@ -153,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
153
154
  type: HostBinding,
154
155
  args: ['class']
155
156
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVwRzs7OztHQUlHO0FBbUJILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxlQUFlO0lBMkIvRDs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFoQ3ZDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZixVQUFLLEdBQVE7WUFDWCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7UUFFRixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVY7O1dBRUc7UUFDTyxlQUFVLEdBQW1CLEtBQUssQ0FBQztRQUU3Qzs7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QUF3QixpQkFPbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLDhCQUE4Qjt5QkFDMUM7d0JBQ0QsY0FBYztxQkFDZjs7MEJBaUNFLE1BQU07MkJBQUMsNkJBQTZCO3NFQStGM0IsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWE1hc2tPcHRpb25zIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IEFYQ29sb3JVdGlsLCBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LCBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGFsZXR0ZS5jbGFzcyc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBzZWxlY3RpbmcgY29sb3JzIGZyb20gYSBwYWxldHRlLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNvbG9yLXBhbGV0dGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItcGFsZXR0ZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogYFxuICAgIC5heC1ib2xkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhDb2xvclBhbGV0dGVJbnB1dENvbXBvbmVudCxcbiAgICB9LFxuICAgIEFYVW5zdWJzY3JpYmVyLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGFsZXR0ZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIGlzVmFsaWQgPSB0cnVlO1xuXG4gIF9yZ2JhOiBhbnkgPSB7XG4gICAgcjogMCxcbiAgICBnOiAwLFxuICAgIGI6IDAsXG4gICAgYTogMCxcbiAgfTtcblxuICBfaGV4ID0gJyc7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2NvbG9yTW9kZTogJ2hleCcgfCAncmdiYScgPSAnaGV4JztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGV4TWFza09wdGlvbnM6IEFYTWFza09wdGlvbnMgPSB7XG4gICAgbWFzazogL14jWzAtOWEtZl17MCw2fVswLTlhLWZdezAsMn0kL2ksXG4gICAgcHJlcGFyZTogKHN0ciwgbSwgYSkgPT4ge1xuICAgICAgcmV0dXJuIG0udHlwZWRWYWx1ZT8uc3RhcnRzV2l0aCgnIycpIHx8IHN0ciA9PSAnIycgPyBzdHIudHJpbSgpIDogJyMnICsgc3RyLnRyaW0oKTtcbiAgICB9LFxuICB9O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudClcbiAgICBwdWJsaWMgX3BhcmVudDogQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVyOiBBWFVuc3Vic2NyaWJlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBfcGFyZW50Lm9uVmFsdWVDaGFuZ2VkLnBpcGUoX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIHRoaXMuYXBwbHlQYXJlbnQoZS5pc1VzZXJJbnRlcmFjdGlvbik7XG4gICAgfSk7XG4gICAgX3BhcmVudC5vbk9wdGlvbkNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgYXBwbHlQYXJlbnQodTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9wYXJlbnQudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgdGhpcy5faGV4ID0gJyc7XG4gICAgICB0aGlzLl9yZ2JhID0ge1xuICAgICAgICByOiBudWxsLFxuICAgICAgICBnOiBudWxsLFxuICAgICAgICBiOiBudWxsLFxuICAgICAgICBhOiBudWxsLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2NvbG9yTW9kZSA9PSAncmdiYScpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9yZ2JhLCBBWENvbG9yVXRpbC50byh2YWx1ZSwgJ3JnYmEnKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fY29sb3JNb2RlID09ICdoZXgnKSB7XG4gICAgICAgIHRoaXMuX2hleCA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHZhbHVlLCAnaGV4Jyk7XG4gICAgICB9XG4gICAgICBpZiAoIXUgJiYgdGhpcy5fcmdiYS5hICE9IDEpIHtcbiAgICAgICAgdGhpcy5fY29sb3JNb2RlID0gJ3JnYmEnO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNoZWNrVmFsaWQoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFwcGx5UGFyZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIF9oYW5kbGVDaGFuZ2VJbnB1dE1vZGUoKSB7XG4gICAgc3dpdGNoICh0aGlzLl9jb2xvck1vZGUpIHtcbiAgICAgIGNhc2UgJ3JnYmEnOlxuICAgICAgICB0aGlzLl9jb2xvck1vZGUgPSAnaGV4JztcbiAgICAgICAgdGhpcy5hcHBseVBhcmVudCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLl9jb2xvck1vZGUgPSAncmdiYSc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX2hhbmRsZVJHQkFWYWx1ZUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxudW1iZXI+KSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuX3JnYmFbZS5uYW1lXSA9IGUudmFsdWU7XG4gICAgICBjb25zdCB7IHIsIGcsIGIsIGEgfSA9IHRoaXMuX3JnYmE7XG4gICAgICBjb25zdCBfY29sb3IgPSBgcmdiYSgke3J9LCR7Z30sJHtifSwke2F9KWA7XG4gICAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoX2NvbG9yLCAncmdiYScpLCBlLmlzVXNlckludGVyYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlSEVYQVZhbHVlQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PHN0cmluZz4pIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbiAmJiBlLnZhbHVlPy50cmltKCkgIT0gdGhpcy5faGV4Py50cmltKCkpIHtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShlLnZhbHVlLCBlLmlzVXNlckludGVyYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgY2hlY2tWYWxpZCgpIHtcbiAgICB0aGlzLmlzVmFsaWQgPSBBWENvbG9yVXRpbC5pc1ZhbGlkKHRoaXMuX2hleCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtY29sb3ItcGFsZXR0ZS1pbnB1dGA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwYWxldHRlLWlucHV0c1wiPlxuICBAc3dpdGNoIChfY29sb3JNb2RlKSB7XG4gICAgQGNhc2UgKCdoZXgnKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtdGV4dC1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJfaGV4XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIFtzdGF0ZV09XCJpc1ZhbGlkID8gJ2NsZWFyJyA6ICdlcnJvcidcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlSEVYQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICBbbWFzay1vcHRpb25zXT1cIl9oZXhNYXNrT3B0aW9uc1wiXG4gICAgICAgID5cbiAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgPGxhYmVsPkhFWDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGNhc2UgKCdyZ2JhJykge1xuICAgICAgPGRpdj5cbiAgICAgICAgPGF4LW51bWJlci1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBuYW1lPVwiclwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9yZ2JhLnJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPlI8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIG5hbWU9XCJnXCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwiMFwiXG4gICAgICAgICAgW21heFZhbHVlXT1cIjI1NVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiX3JnYmEuZ1wiXG4gICAgICAgICAgW3Nob3dTcGluQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVJHQkFWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+RzwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgbmFtZT1cImJcIlxuICAgICAgICAgIFttaW5WYWx1ZV09XCIwXCJcbiAgICAgICAgICBbbWF4VmFsdWVdPVwiMjU1XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJfcmdiYS5iXCJcbiAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICAgIDxsYWJlbD5CPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGF4LW51bWJlci1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBuYW1lPVwiYVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIxXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJfcmdiYS5hXCJcbiAgICAgICAgICBbZGVjaW1hbHNdPVwiMlwiXG4gICAgICAgICAgW3N0ZXBdPVwiMC4xXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICAgIDxsYWJlbD5BPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgfVxuPC9kaXY+XG48YnV0dG9uXG4gIHR5cGU9XCJidXR0b25cIlxuICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkIGF4LWJ1dHRvbi1pY29uIGF4LXNtXCJcbiAgKGNsaWNrKT1cIl9oYW5kbGVDaGFuZ2VJbnB1dE1vZGUoKVwiXG4gIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJheC1pY29uIGF4LWljb24tdW5mb2xkLW1vcmUgYXgtYm9sZFwiPjwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVwRzs7OztHQUlHO0FBbUJILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxlQUFlO0lBMkIvRDs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFoQ3ZDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZixVQUFLLEdBQW1EO1lBQ3RELENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQUVGLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVjs7V0FFRztRQUNPLGVBQVUsR0FBbUIsS0FBSyxDQUFDO1FBRTdD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Q2xDSCw0akZBMkZBOzsyRkR2RGEsNEJBQTRCO2tCQWxCeEMsU0FBUzsrQkFDRSx3QkFBd0IsaUJBT25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDRCQUE0Qjs0QkFDckMsV0FBVyw4QkFBOEI7eUJBQzFDO3dCQUNELGNBQWM7cUJBQ2Y7OzBCQWlDRSxNQUFNOzJCQUFDLDZCQUE2QjtzRUFnRzNCLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhNYXNrT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWENvbG9yVXRpbCwgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb2xvclBhbGV0dGVDaGlsZENvbXBvbmVudCwgQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3Igc2VsZWN0aW5nIGNvbG9ycyBmcm9tIGEgcGFsZXR0ZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IGBcbiAgICAuYXgtYm9sZCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlSW5wdXRDb21wb25lbnQsXG4gICAgfSxcbiAgICBBWFVuc3Vic2NyaWJlcixcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xvclBhbGV0dGVJbnB1dENvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBpc1ZhbGlkID0gdHJ1ZTtcblxuICBfcmdiYTogeyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyOyBhOiBudW1iZXIgfSA9IHtcbiAgICByOiAwLFxuICAgIGc6IDAsXG4gICAgYjogMCxcbiAgICBhOiAwLFxuICB9O1xuXG4gIF9oZXggPSAnJztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfY29sb3JNb2RlOiAnaGV4JyB8ICdyZ2JhJyA9ICdoZXgnO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oZXhNYXNrT3B0aW9uczogQVhNYXNrT3B0aW9ucyA9IHtcbiAgICBtYXNrOiAvXiNbMC05YS1mXXswLDZ9WzAtOWEtZl17MCwyfSQvaSxcbiAgICBwcmVwYXJlOiAoc3RyOiBhbnksIG06IGFueSwgYTogYW55KSA9PiB7XG4gICAgICByZXR1cm4gbS50eXBlZFZhbHVlPy5zdGFydHNXaXRoKCcjJykgfHwgc3RyID09ICcjJyA/IHN0ci50cmltKCkgOiAnIycgKyBzdHIudHJpbSgpO1xuICAgIH0sXG4gIH07XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIF9wYXJlbnQub25WYWx1ZUNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5hcHBseVBhcmVudChlLmlzVXNlckludGVyYWN0aW9uKTtcbiAgICB9KTtcbiAgICBfcGFyZW50Lm9uT3B0aW9uQ2hhbmdlZC5waXBlKF91bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVBhcmVudCh1ID0gZmFsc2UpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX3BhcmVudC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl9oZXggPSAnJztcbiAgICAgIHRoaXMuX3JnYmEgPSB7XG4gICAgICAgIHI6IG51bGwsXG4gICAgICAgIGc6IG51bGwsXG4gICAgICAgIGI6IG51bGwsXG4gICAgICAgIGE6IG51bGwsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fY29sb3JNb2RlID09ICdyZ2JhJykge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3JnYmEsIEFYQ29sb3JVdGlsLnRvKHZhbHVlLCAncmdiYScpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9jb2xvck1vZGUgPT0gJ2hleCcpIHtcbiAgICAgICAgdGhpcy5faGV4ID0gQVhDb2xvclV0aWwudG9TdHJpbmcodmFsdWUsICdoZXgnKTtcbiAgICAgIH1cbiAgICAgIGlmICghdSAmJiB0aGlzLl9yZ2JhLmEgIT0gMSkge1xuICAgICAgICB0aGlzLl9jb2xvck1vZGUgPSAncmdiYSc7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tWYWxpZCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXBwbHlQYXJlbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgX2hhbmRsZUNoYW5nZUlucHV0TW9kZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuX2NvbG9yTW9kZSkge1xuICAgICAgY2FzZSAncmdiYSc6XG4gICAgICAgIHRoaXMuX2NvbG9yTW9kZSA9ICdoZXgnO1xuICAgICAgICB0aGlzLmFwcGx5UGFyZW50KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX2NvbG9yTW9kZSA9ICdyZ2JhJztcbiAgICAgICAgdGhpcy5hcHBseVBhcmVudCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4pIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5fcmdiYVtlLm5hbWVdID0gZS52YWx1ZTtcbiAgICAgIGNvbnN0IHsgciwgZywgYiwgYSB9ID0gdGhpcy5fcmdiYTtcbiAgICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7YX0pYDtcbiAgICAgIHRoaXMuX3BhcmVudC5jb21taXRWYWx1ZShBWENvbG9yVXRpbC50b1N0cmluZyhfY29sb3IsICdyZ2JhJyksIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVIRVhBVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8c3RyaW5nPikge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uICYmIGUudmFsdWU/LnRyaW0oKSAhPSB0aGlzLl9oZXg/LnRyaW0oKSkge1xuICAgICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKGUudmFsdWUsIGUuaXNVc2VySW50ZXJhY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja1ZhbGlkKCkge1xuICAgIHRoaXMuaXNWYWxpZCA9IEFYQ29sb3JVdGlsLmlzVmFsaWQodGhpcy5faGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBheC1jb2xvci1wYWxldHRlLWlucHV0YDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhbGV0dGUtaW5wdXRzXCI+XG4gIEBzd2l0Y2ggKF9jb2xvck1vZGUpIHtcbiAgICBAY2FzZSAoJ2hleCcpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9oZXhcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgW3N0YXRlXT1cImlzVmFsaWQgPyAnY2xlYXInIDogJ2Vycm9yJ1wiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVIRVhBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIFttYXNrLW9wdGlvbnNdPVwiX2hleE1hc2tPcHRpb25zXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgICAgICA8bGFiZWw+SEVYPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAY2FzZSAoJ3JnYmEnKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIG5hbWU9XCJyXCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwiMFwiXG4gICAgICAgICAgW21heFZhbHVlXT1cIjI1NVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiX3JnYmEuclwiXG4gICAgICAgICAgW3Nob3dTcGluQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZVJHQkFWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+UjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgbmFtZT1cImdcIlxuICAgICAgICAgIFttaW5WYWx1ZV09XCIwXCJcbiAgICAgICAgICBbbWF4VmFsdWVdPVwiMjU1XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJfcmdiYS5nXCJcbiAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICAgIDxsYWJlbD5HPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGF4LW51bWJlci1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBuYW1lPVwiYlwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9yZ2JhLmJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkI8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtbnVtYmVyLWJveFxuICAgICAgICAgIGNsYXNzPVwiYXgtc21cIlxuICAgICAgICAgIG5hbWU9XCJhXCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwiMFwiXG4gICAgICAgICAgW21heFZhbHVlXT1cIjFcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cIl9yZ2JhLmFcIlxuICAgICAgICAgIFtkZWNpbWFsc109XCIyXCJcbiAgICAgICAgICBbc3RlcF09XCIwLjFcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgW3Nob3dTcGluQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkE8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICB9XG48L2Rpdj5cbjxidXR0b25cbiAgdHlwZT1cImJ1dHRvblwiXG4gIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb24gYXgtc21cIlxuICAoY2xpY2spPVwiX2hhbmRsZUNoYW5nZUlucHV0TW9kZSgpXCJcbiAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuPlxuICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi11bmZvbGQtbW9yZSBheC1ib2xkXCI+PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=
@@ -131,8 +131,8 @@ export class AXColorPalettePickerComponent extends MXBaseComponent {
131
131
  }
132
132
  const surface = this.getHostElement().querySelector('.ax-color-box-overlay');
133
133
  const pointer = this.getHostElement().querySelector('.ax-color-box-pointer');
134
- let x = e.offsetX;
135
- let y = e.offsetY;
134
+ const x = e.offsetX;
135
+ const y = e.offsetY;
136
136
  this.setColorByXY(x, y);
137
137
  }
138
138
  /**
@@ -248,4 +248,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
248
248
  type: HostBinding,
249
249
  args: ['class']
250
250
  }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFFcEc7Ozs7R0FJRztBQWNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxlQUFlO0lBOENoRTs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFuRHZDLFVBQUssR0FBbUQ7WUFDdEQsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBRUY7O1dBRUc7UUFDTyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBRWhDOztXQUVHO1FB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QTZCO3NFQW9MM0IsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhDb2xvclV0aWwsIEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LCBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGFsZXR0ZS5jbGFzcyc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBwaWNraW5nIGNvbG9ycyBmcm9tIGEgY29sb3IgcGFsZXR0ZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50LFxuICAgIH0sXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgX3JnYmE6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgYTogbnVtYmVyIH0gPSB7XG4gICAgcjogMCxcbiAgICBnOiAwLFxuICAgIGI6IDAsXG4gICAgYTogMCxcbiAgfTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfZ3JhZGllbnQ6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2JnQ29sb3I6IHN0cmluZyA9ICcjRjAwJztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2dyYWRpZW50Q29sb3JzOiBhbnlbXSA9IFtcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMCknLCBwb3M6IDAgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMjU1LCAwKScsIHBvczogMC4xNyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAwKScsIHBvczogMC4zMyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMjU1LCAyNTUpJywgcG9zOiAwLjUgfSxcbiAgICB7IGNvbG9yOiAncmdiKDAsIDAsIDI1NSknLCBwb3M6IDAuNjcgfSxcbiAgICB7IGNvbG9yOiAncmdiKDI1NSwgMCwgMjU1KScsIHBvczogMC44MyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAwKScsIHBvczogMSB9LFxuICBdO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZ3JhZGllbnRzID0gQVhDb2xvclV0aWwuZ3JhZGllbnQodGhpcy5fZ3JhZGllbnRDb2xvcnMpO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfY29sb3JzID0gdGhpcy5fZ3JhZGllbnRzLnJnYigxMDApO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGRyYWdQb3NpdGlvbiA9IHsgeDogMCwgeTogMCB9O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudClcbiAgICBwdWJsaWMgX3BhcmVudDogQVhDb2xvclBhbGV0dGVQYXJlbnRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVyOiBBWFVuc3Vic2NyaWJlcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBfcGFyZW50Lm9uVmFsdWVDaGFuZ2VkLnBpcGUoX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIHRoaXMuX2hhbmRsZVBhcmVudENvbG9yQ2hhbmdlZCgpO1xuICAgIH0pO1xuICAgIF9wYXJlbnQub25PcHRpb25DaGFuZ2VkLnBpcGUoX3Vuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHNldEhTVigpIHtcbiAgICBjb25zdCBoc3YgPSBBWENvbG9yVXRpbC50byh0aGlzLl9yZ2JhLCAnaHN2YScpIGFzIGFueTtcbiAgICBjb25zdCBzb3J0ZWRIID0gdGhpcy5fY29sb3JzLm1hcCgoYykgPT4gYy50b0hzdigpLmgpO1xuICAgIHRoaXMuX2dyYWRpZW50ID0gc29ydGVkSC5maW5kSW5kZXgoKGMpID0+IHtcbiAgICAgIHJldHVybiBNYXRoLnJvdW5kKGMpID49IE1hdGgucm91bmQoaHN2LmgpO1xuICAgIH0pO1xuICAgIHRoaXMuX2JnQ29sb3IgPSBBWENvbG9yVXRpbC50b1N0cmluZyh7IGg6IGhzdi5oLCBzOiAxLCB2OiAxLCBhOiB0aGlzLl9yZ2JhLmEgfSwgJ3JnYmEnKTtcbiAgICB0aGlzLnNldFBvaW50ZXJCeVBlcmNlbnQoaHN2LnMgKiAxMDAsIGhzdi52ICogMTAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlUGFyZW50Q29sb3JDaGFuZ2VkKCkge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5fcGFyZW50LnZhbHVlO1xuICAgIGlmICghY29sb3IpIHtcbiAgICAgIHRoaXMuX3JnYmEgPSB7XG4gICAgICAgIHI6IDAsXG4gICAgICAgIGc6IDAsXG4gICAgICAgIGI6IDAsXG4gICAgICAgIGE6IDAsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIUFYQ29sb3JVdGlsLmVxdWFsKGNvbG9yLCB0aGlzLl9yZ2JhKSkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3JnYmEsIEFYQ29sb3JVdGlsLnRvKGNvbG9yLCAncmdiYScpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRIU1YoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlQWxwaGFDaGFuZ2VkKGU6IGFueSkge1xuICAgIGlmIChlICE9IHRoaXMuX3JnYmEuYSkge1xuICAgICAgY29uc3QgeyByLCBnLCBiIH0gPSB0aGlzLl9yZ2JhO1xuICAgICAgY29uc3QgX2NvbG9yID0gYHJnYmEoJHtyfSwke2d9LCR7Yn0sJHtlfSlgO1xuICAgICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKEFYQ29sb3JVdGlsLnRvU3RyaW5nKF9jb2xvciwgJ3JnYmEnKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZUdyYWRpZW50Q2hhbmdlZChlOiBhbnkpIHtcbiAgICBpZiAoZSAhPSB0aGlzLl9ncmFkaWVudCkge1xuICAgICAgY29uc3QgeyBzLCB2IH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9yZ2JhLCAnaHN2YScpIGFzIGFueTtcbiAgICAgIGNvbnN0IHsgaCB9ID0gdGhpcy5fY29sb3JzW2UgYXMgbnVtYmVyXS50b0hzdigpO1xuICAgICAgdGhpcy5fcGFyZW50LmNvbW1pdFZhbHVlKEFYQ29sb3JVdGlsLnRvU3RyaW5nKHsgaCwgcywgdiwgYTogdGhpcy5fcmdiYS5hIH0sICdyZ2JhJyksIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVTdXJmYWNlQ2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzdXJmYWNlID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LW92ZXJsYXknKTtcbiAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICBsZXQgeCA9IGUub2Zmc2V0WDtcbiAgICBsZXQgeSA9IGUub2Zmc2V0WTtcbiAgICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVEcmFnKCkge1xuICAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtb3ZlcmxheScpO1xuICAgIGNvbnN0IHNiID0gc3VyZmFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdyA9IHBiLndpZHRoIC8gMjtcbiAgICBsZXQgeCA9IHBiLmxlZnQgLSBzYi5sZWZ0ICsgdztcbiAgICBsZXQgeSA9IHBiLnRvcCAtIHNiLnRvcCArIHc7XG4gICAgLy9cbiAgICB4ID0geCA8IDAgPyAwIDogeDtcbiAgICB4ID0geCA+IHNiLndpZHRoID8gc2Iud2lkdGggOiB4O1xuICAgIC8vXG4gICAgeSA9IHkgPCAwID8gMCA6IHk7XG4gICAgeSA9IHkgPiBzYi5oZWlnaHQgPyBzYi5oZWlnaHQgOiB5O1xuICAgIC8vXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIC8vIHByb3RlY3RlZCBfaGFuZGxlRHJhZ01vdmUoZXZlbnQ6IGFueSkge1xuICAvLyAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gIC8vICAgICByZXR1cm47XG4gIC8vICAgfVxuXG4gIC8vICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gIC8vICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIC8vICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgZHJhZyBldmVudCByZWxhdGl2ZSB0byB0aGUgc3VyZmFjZVxuICAvLyAgIGNvbnN0IGRyYWdQb3NpdGlvbiA9IGV2ZW50LnBvaW50ZXJQb3NpdGlvbjtcblxuICAvLyAgIC8vIENhbGN1bGF0ZSB4IGFuZCB5IG9mZnNldHMgcmVsYXRpdmUgdG8gdGhlIHN1cmZhY2VcbiAgLy8gICBsZXQgeCA9IGRyYWdQb3NpdGlvbi54IC0gc2IubGVmdDsgLy8gUG9pbnRlciB4IHBvc2l0aW9uXG4gIC8vICAgbGV0IHkgPSBkcmFnUG9zaXRpb24ueSAtIHNiLnRvcDsgLy8gUG9pbnRlciB5IHBvc2l0aW9uXG5cbiAgLy8gICAvLyBDbGFtcCB2YWx1ZXMgdG8gYmUgd2l0aGluIGJvdW5kc1xuICAvLyAgIC8vIEFkanVzdCB0aGUgY2xhbXBpbmcgbG9naWMgdG8gcHJldmVudCBvdmVyc2hvb3RpbmcgYnkgdGFraW5nIHRoZSBwb2ludGVyIHNpemUgaW50byBhY2NvdW50XG4gIC8vICAgY29uc3QgcG9pbnRlcldpZHRoID0gMjA7IC8vIEFzc3VtaW5nIGEgcG9pbnRlciB3aWR0aCBvZiAyMHB4LCBhZGp1c3QgYXMgbmVjZXNzYXJ5XG4gIC8vICAgY29uc3QgcG9pbnRlckhlaWdodCA9IDIwOyAvLyBBc3N1bWluZyBhIHBvaW50ZXIgaGVpZ2h0IG9mIDIwcHgsIGFkanVzdCBhcyBuZWNlc3NhcnlcblxuICAvLyAgIHggPSBNYXRoLm1heCgwICsgcG9pbnRlcldpZHRoIC8gMiwgTWF0aC5taW4oeCwgc2Iud2lkdGggLSBwb2ludGVyV2lkdGggLyAyKSk7IC8vIENlbnRlciB0aGUgcG9pbnRlclxuICAvLyAgIHkgPSBNYXRoLm1heCgwICsgcG9pbnRlckhlaWdodCAvIDIsIE1hdGgubWluKHksIHNiLmhlaWdodCAtIHBvaW50ZXJIZWlnaHQgLyAyKSk7IC8vIENlbnRlciB0aGUgcG9pbnRlclxuXG4gIC8vICAgLy8gQ2FsbCB0aGUgbWV0aG9kIHRvIHNldCB0aGUgY29sb3IgYmFzZWQgb24gdGhlIG5ldyB4IGFuZCB5XG4gIC8vICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIC8vIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0Q29sb3JCeVhZKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIC8vXG4gICAgY29uc3QgeyBoLCBhIH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9iZ0NvbG9yLCAnaHN2YScpIGFzIGFueTtcbiAgICBjb25zdCBoc3ZhID0ge1xuICAgICAgaCxcbiAgICAgIHM6IHggLyBzYi53aWR0aCxcbiAgICAgIHY6IChzYi5oZWlnaHQgLSB5KSAvIHNiLmhlaWdodCxcbiAgICAgIGEsXG4gICAgfTtcbiAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoaHN2YSwgJ3JnYmEnKSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0UG9pbnRlckJ5UGVyY2VudCh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gICAgICBpZiAoIXN1cmZhY2UpIHJldHVybjtcbiAgICAgIGNvbnN0IHNiID0gc3VyZmFjZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICAgIGNvbnN0IHBiID0gcG9pbnRlcj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB3ID0gcGIud2lkdGggLyAyO1xuICAgICAgY29uc3Qgd2lkdGggPSBzYi53aWR0aDsgLy8rIHBiLndpZHRoXG4gICAgICBjb25zdCBoZWlnaHQgPSBzYi5oZWlnaHQ7IC8vICsgcGIud2lkdGhcbiAgICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0ge1xuICAgICAgICB4OiAoeCAqIHdpZHRoKSAvIDEwMCAtIHcsXG4gICAgICAgIHk6IGhlaWdodCAtICh5ICogaGVpZ2h0KSAvIDEwMCAtIHcsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBheC1jb2xvci1wYWxldHRlLXBpY2tlcmA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1jb2xvci1ib3gtb3ZlcmxheS10cmFuc1wiPlxuICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXlcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJfYmdDb2xvclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1ib3gtb3ZlcmxheS1nMVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1ib3gtb3ZlcmxheS1nMlwiIChjbGljayk9XCJfaGFuZGxlU3VyZmFjZUNsaWNrKCRldmVudClcIj48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF4LWNvbG9yLWJveC1wb2ludGVyXCJcbiAgICAgIGNka0RyYWdcbiAgICAgIGNka0RyYWdCb3VuZGFyeT1cIi5heC1jb2xvci1ib3gtb3ZlcmxheVwiXG4gICAgICBbY2RrRHJhZ0ZyZWVEcmFnUG9zaXRpb25dPVwiZHJhZ1Bvc2l0aW9uXCJcbiAgICAgIChjZGtEcmFnRW5kZWQpPVwiX2hhbmRsZURyYWcoKVwiXG4gICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWQgfHwgX3BhcmVudC5yZWFkb25seVwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48YXgtcmFuZ2Utc2xpZGVyXG4gIGNsYXNzPVwiYXgtY29sb3ItYm94LWdyYWRpZW50XCJcbiAgW21pbl09XCIwXCJcbiAgW21heF09XCIxMDBcIlxuICBbbW9kZV09XCInc2luZ2xlJ1wiXG4gIFtuZ01vZGVsXT1cIl9ncmFkaWVudFwiXG4gIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKCRldmVudClcIlxuPlxuPC9heC1yYW5nZS1zbGlkZXI+XG48YXgtcmFuZ2Utc2xpZGVyXG4gIGNsYXNzPVwiYXgtY29sb3ItYm94LXRyYW5zcGFyZW50XCJcbiAgW21pbl09XCIwXCJcbiAgW21heF09XCIxXCJcbiAgW2hhc1N0ZXBdPVwiZmFsc2VcIlxuICBbbmdNb2RlbF09XCJfcmdiYS5hXCJcbiAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVBbHBoYUNoYW5nZWQoJGV2ZW50KVwiXG4+XG48L2F4LXJhbmdlLXNsaWRlcj5cbiJdfQ==
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLDRCQUE0QixFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFFcEc7Ozs7R0FJRztBQWNILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxlQUFlO0lBOENoRTs7T0FFRztJQUNILFlBRVMsT0FBc0MsRUFDckMsYUFBNkI7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIRCxZQUFPLEdBQVAsT0FBTyxDQUErQjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFuRHZDLFVBQUssR0FBbUQ7WUFDdEQsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBRUY7O1dBRUc7UUFDTyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRXhCOztXQUVHO1FB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QTZCO3NFQW9MM0IsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBpc0Jyb3dzZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhDb2xvclV0aWwsIEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LCBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGFsZXR0ZS5jbGFzcyc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBwaWNraW5nIGNvbG9ycyBmcm9tIGEgY29sb3IgcGFsZXR0ZS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvci1wYWxldHRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50LFxuICAgIH0sXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQYWxldHRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgX3JnYmE6IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgYTogbnVtYmVyIH0gPSB7XG4gICAgcjogMCxcbiAgICBnOiAwLFxuICAgIGI6IDAsXG4gICAgYTogMCxcbiAgfTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfZ3JhZGllbnQgPSAwO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9iZ0NvbG9yID0gJyNGMDAnO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZ3JhZGllbnRDb2xvcnM6IGFueVtdID0gW1xuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAwKScsIHBvczogMCB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAyNTUsIDApJywgcG9zOiAwLjE3IH0sXG4gICAgeyBjb2xvcjogJ3JnYigwLCAyNTUsIDApJywgcG9zOiAwLjMzIH0sXG4gICAgeyBjb2xvcjogJ3JnYigwLCAyNTUsIDI1NSknLCBwb3M6IDAuNSB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMCwgMCwgMjU1KScsIHBvczogMC42NyB9LFxuICAgIHsgY29sb3I6ICdyZ2IoMjU1LCAwLCAyNTUpJywgcG9zOiAwLjgzIH0sXG4gICAgeyBjb2xvcjogJ3JnYigyNTUsIDAsIDApJywgcG9zOiAxIH0sXG4gIF07XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9ncmFkaWVudHMgPSBBWENvbG9yVXRpbC5ncmFkaWVudCh0aGlzLl9ncmFkaWVudENvbG9ycyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2xvcnMgPSB0aGlzLl9ncmFkaWVudHMucmdiKDEwMCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgZHJhZ1Bvc2l0aW9uID0geyB4OiAwLCB5OiAwIH07XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFYQ29sb3JQYWxldHRlUGFyZW50Q29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yUGFsZXR0ZVBhcmVudENvbXBvbmVudCxcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZXI6IEFYVW5zdWJzY3JpYmVyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIF9wYXJlbnQub25WYWx1ZUNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5faGFuZGxlUGFyZW50Q29sb3JDaGFuZ2VkKCk7XG4gICAgfSk7XG4gICAgX3BhcmVudC5vbk9wdGlvbkNoYW5nZWQucGlwZShfdW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0SFNWKCkge1xuICAgIGNvbnN0IGhzdiA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX3JnYmEsICdoc3ZhJykgYXMgYW55O1xuICAgIGNvbnN0IHNvcnRlZEggPSB0aGlzLl9jb2xvcnMubWFwKChjKSA9PiBjLnRvSHN2KCkuaCk7XG4gICAgdGhpcy5fZ3JhZGllbnQgPSBzb3J0ZWRILmZpbmRJbmRleCgoYykgPT4ge1xuICAgICAgcmV0dXJuIE1hdGgucm91bmQoYykgPj0gTWF0aC5yb3VuZChoc3YuaCk7XG4gICAgfSk7XG4gICAgdGhpcy5fYmdDb2xvciA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKHsgaDogaHN2LmgsIHM6IDEsIHY6IDEsIGE6IHRoaXMuX3JnYmEuYSB9LCAncmdiYScpO1xuICAgIHRoaXMuc2V0UG9pbnRlckJ5UGVyY2VudChoc3YucyAqIDEwMCwgaHN2LnYgKiAxMDApO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9oYW5kbGVQYXJlbnRDb2xvckNoYW5nZWQoKSB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLl9wYXJlbnQudmFsdWU7XG4gICAgaWYgKCFjb2xvcikge1xuICAgICAgdGhpcy5fcmdiYSA9IHtcbiAgICAgICAgcjogMCxcbiAgICAgICAgZzogMCxcbiAgICAgICAgYjogMCxcbiAgICAgICAgYTogMCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghQVhDb2xvclV0aWwuZXF1YWwoY29sb3IsIHRoaXMuX3JnYmEpKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fcmdiYSwgQVhDb2xvclV0aWwudG8oY29sb3IsICdyZ2JhJykpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNldEhTVigpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVBbHBoYUNoYW5nZWQoZTogYW55KSB7XG4gICAgaWYgKGUgIT0gdGhpcy5fcmdiYS5hKSB7XG4gICAgICBjb25zdCB7IHIsIGcsIGIgfSA9IHRoaXMuX3JnYmE7XG4gICAgICBjb25zdCBfY29sb3IgPSBgcmdiYSgke3J9LCR7Z30sJHtifSwke2V9KWA7XG4gICAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoX2NvbG9yLCAncmdiYScpLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKGU6IGFueSkge1xuICAgIGlmIChlICE9IHRoaXMuX2dyYWRpZW50KSB7XG4gICAgICBjb25zdCB7IHMsIHYgfSA9IEFYQ29sb3JVdGlsLnRvKHRoaXMuX3JnYmEsICdoc3ZhJykgYXMgYW55O1xuICAgICAgY29uc3QgeyBoIH0gPSB0aGlzLl9jb2xvcnNbZSBhcyBudW1iZXJdLnRvSHN2KCk7XG4gICAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoeyBoLCBzLCB2LCBhOiB0aGlzLl9yZ2JhLmEgfSwgJ3JnYmEnKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX2hhbmRsZVN1cmZhY2VDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudC5kaXNhYmxlZCB8fCB0aGlzLl9wYXJlbnQucmVhZG9ubHkpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtb3ZlcmxheScpO1xuICAgIGNvbnN0IHBvaW50ZXIgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtcG9pbnRlcicpO1xuICAgIGNvbnN0IHggPSBlLm9mZnNldFg7XG4gICAgY29uc3QgeSA9IGUub2Zmc2V0WTtcbiAgICB0aGlzLnNldENvbG9yQnlYWSh4LCB5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVEcmFnKCkge1xuICAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN1cmZhY2UgPSB0aGlzLmdldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oJy5heC1jb2xvci1ib3gtb3ZlcmxheScpO1xuICAgIGNvbnN0IHNiID0gc3VyZmFjZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICBjb25zdCBwYiA9IHBvaW50ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdyA9IHBiLndpZHRoIC8gMjtcbiAgICBsZXQgeCA9IHBiLmxlZnQgLSBzYi5sZWZ0ICsgdztcbiAgICBsZXQgeSA9IHBiLnRvcCAtIHNiLnRvcCArIHc7XG4gICAgLy9cbiAgICB4ID0geCA8IDAgPyAwIDogeDtcbiAgICB4ID0geCA+IHNiLndpZHRoID8gc2Iud2lkdGggOiB4O1xuICAgIC8vXG4gICAgeSA9IHkgPCAwID8gMCA6IHk7XG4gICAgeSA9IHkgPiBzYi5oZWlnaHQgPyBzYi5oZWlnaHQgOiB5O1xuICAgIC8vXG4gICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIC8vIHByb3RlY3RlZCBfaGFuZGxlRHJhZ01vdmUoZXZlbnQ6IGFueSkge1xuICAvLyAgIGlmICh0aGlzLl9wYXJlbnQuZGlzYWJsZWQgfHwgdGhpcy5fcGFyZW50LnJlYWRvbmx5KSB7XG4gIC8vICAgICByZXR1cm47XG4gIC8vICAgfVxuXG4gIC8vICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gIC8vICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIC8vICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgZHJhZyBldmVudCByZWxhdGl2ZSB0byB0aGUgc3VyZmFjZVxuICAvLyAgIGNvbnN0IGRyYWdQb3NpdGlvbiA9IGV2ZW50LnBvaW50ZXJQb3NpdGlvbjtcblxuICAvLyAgIC8vIENhbGN1bGF0ZSB4IGFuZCB5IG9mZnNldHMgcmVsYXRpdmUgdG8gdGhlIHN1cmZhY2VcbiAgLy8gICBsZXQgeCA9IGRyYWdQb3NpdGlvbi54IC0gc2IubGVmdDsgLy8gUG9pbnRlciB4IHBvc2l0aW9uXG4gIC8vICAgbGV0IHkgPSBkcmFnUG9zaXRpb24ueSAtIHNiLnRvcDsgLy8gUG9pbnRlciB5IHBvc2l0aW9uXG5cbiAgLy8gICAvLyBDbGFtcCB2YWx1ZXMgdG8gYmUgd2l0aGluIGJvdW5kc1xuICAvLyAgIC8vIEFkanVzdCB0aGUgY2xhbXBpbmcgbG9naWMgdG8gcHJldmVudCBvdmVyc2hvb3RpbmcgYnkgdGFraW5nIHRoZSBwb2ludGVyIHNpemUgaW50byBhY2NvdW50XG4gIC8vICAgY29uc3QgcG9pbnRlcldpZHRoID0gMjA7IC8vIEFzc3VtaW5nIGEgcG9pbnRlciB3aWR0aCBvZiAyMHB4LCBhZGp1c3QgYXMgbmVjZXNzYXJ5XG4gIC8vICAgY29uc3QgcG9pbnRlckhlaWdodCA9IDIwOyAvLyBBc3N1bWluZyBhIHBvaW50ZXIgaGVpZ2h0IG9mIDIwcHgsIGFkanVzdCBhcyBuZWNlc3NhcnlcblxuICAvLyAgIHggPSBNYXRoLm1heCgwICsgcG9pbnRlcldpZHRoIC8gMiwgTWF0aC5taW4oeCwgc2Iud2lkdGggLSBwb2ludGVyV2lkdGggLyAyKSk7IC8vIENlbnRlciB0aGUgcG9pbnRlclxuICAvLyAgIHkgPSBNYXRoLm1heCgwICsgcG9pbnRlckhlaWdodCAvIDIsIE1hdGgubWluKHksIHNiLmhlaWdodCAtIHBvaW50ZXJIZWlnaHQgLyAyKSk7IC8vIENlbnRlciB0aGUgcG9pbnRlclxuXG4gIC8vICAgLy8gQ2FsbCB0aGUgbWV0aG9kIHRvIHNldCB0aGUgY29sb3IgYmFzZWQgb24gdGhlIG5ldyB4IGFuZCB5XG4gIC8vICAgdGhpcy5zZXRDb2xvckJ5WFkoeCwgeSk7XG4gIC8vIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0Q29sb3JCeVhZKHg6IG51bWJlciwgeTogbnVtYmVyKSB7XG4gICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gICAgY29uc3Qgc2IgPSBzdXJmYWNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIC8vXG4gICAgY29uc3QgeyBoLCBhIH0gPSBBWENvbG9yVXRpbC50byh0aGlzLl9iZ0NvbG9yLCAnaHN2YScpIGFzIGFueTtcbiAgICBjb25zdCBoc3ZhID0ge1xuICAgICAgaCxcbiAgICAgIHM6IHggLyBzYi53aWR0aCxcbiAgICAgIHY6IChzYi5oZWlnaHQgLSB5KSAvIHNiLmhlaWdodCxcbiAgICAgIGEsXG4gICAgfTtcbiAgICB0aGlzLl9wYXJlbnQuY29tbWl0VmFsdWUoQVhDb2xvclV0aWwudG9TdHJpbmcoaHN2YSwgJ3JnYmEnKSwgdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgc2V0UG9pbnRlckJ5UGVyY2VudCh4OiBudW1iZXIsIHk6IG51bWJlcikge1xuICAgIGlmIChpc0Jyb3dzZXIoKSkge1xuICAgICAgY29uc3Qgc3VyZmFjZSA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PignLmF4LWNvbG9yLWJveC1vdmVybGF5Jyk7XG4gICAgICBpZiAoIXN1cmZhY2UpIHJldHVybjtcbiAgICAgIGNvbnN0IHNiID0gc3VyZmFjZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwb2ludGVyID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYXgtY29sb3ItYm94LXBvaW50ZXInKTtcbiAgICAgIGNvbnN0IHBiID0gcG9pbnRlcj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB3ID0gcGIud2lkdGggLyAyO1xuICAgICAgY29uc3Qgd2lkdGggPSBzYi53aWR0aDsgLy8rIHBiLndpZHRoXG4gICAgICBjb25zdCBoZWlnaHQgPSBzYi5oZWlnaHQ7IC8vICsgcGIud2lkdGhcbiAgICAgIHRoaXMuZHJhZ1Bvc2l0aW9uID0ge1xuICAgICAgICB4OiAoeCAqIHdpZHRoKSAvIDEwMCAtIHcsXG4gICAgICAgIHk6IGhlaWdodCAtICh5ICogaGVpZ2h0KSAvIDEwMCAtIHcsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBheC1jb2xvci1wYWxldHRlLXBpY2tlcmA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1jb2xvci1ib3gtb3ZlcmxheS10cmFuc1wiPlxuICA8ZGl2IGNsYXNzPVwiYXgtY29sb3ItYm94LW92ZXJsYXlcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJfYmdDb2xvclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1ib3gtb3ZlcmxheS1nMVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xvci1ib3gtb3ZlcmxheS1nMlwiIChjbGljayk9XCJfaGFuZGxlU3VyZmFjZUNsaWNrKCRldmVudClcIj48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF4LWNvbG9yLWJveC1wb2ludGVyXCJcbiAgICAgIGNka0RyYWdcbiAgICAgIGNka0RyYWdCb3VuZGFyeT1cIi5heC1jb2xvci1ib3gtb3ZlcmxheVwiXG4gICAgICBbY2RrRHJhZ0ZyZWVEcmFnUG9zaXRpb25dPVwiZHJhZ1Bvc2l0aW9uXCJcbiAgICAgIChjZGtEcmFnRW5kZWQpPVwiX2hhbmRsZURyYWcoKVwiXG4gICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWQgfHwgX3BhcmVudC5yZWFkb25seVwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48YXgtcmFuZ2Utc2xpZGVyXG4gIGNsYXNzPVwiYXgtY29sb3ItYm94LWdyYWRpZW50XCJcbiAgW21pbl09XCIwXCJcbiAgW21heF09XCIxMDBcIlxuICBbbW9kZV09XCInc2luZ2xlJ1wiXG4gIFtuZ01vZGVsXT1cIl9ncmFkaWVudFwiXG4gIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAobmdNb2RlbENoYW5nZSk9XCJfaGFuZGxlR3JhZGllbnRDaGFuZ2VkKCRldmVudClcIlxuPlxuPC9heC1yYW5nZS1zbGlkZXI+XG48YXgtcmFuZ2Utc2xpZGVyXG4gIGNsYXNzPVwiYXgtY29sb3ItYm94LXRyYW5zcGFyZW50XCJcbiAgW21pbl09XCIwXCJcbiAgW21heF09XCIxXCJcbiAgW2hhc1N0ZXBdPVwiZmFsc2VcIlxuICBbbmdNb2RlbF09XCJfcmdiYS5hXCJcbiAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cIl9oYW5kbGVBbHBoYUNoYW5nZWQoJGV2ZW50KVwiXG4+XG48L2F4LXJhbmdlLXNsaWRlcj5cbiJdfQ==