@acorex/components 6.0.8 → 6.0.10

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 (62) hide show
  1. package/alert/src/alert.component.d.ts +1 -1
  2. package/badge/src/badge.component.d.ts +1 -1
  3. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +4 -4
  4. package/button/src/button-group.component.d.ts +4 -4
  5. package/button/src/button-item.component.d.ts +4 -4
  6. package/color-picker/src/color-picker.component.d.ts +14 -14
  7. package/date-picker/src/datepicker.component.d.ts +11 -11
  8. package/esm2020/color-palette/src/color-palette-picker.component.mjs +1 -1
  9. package/esm2020/context-menu/src/context-menu.component.mjs +17 -15
  10. package/esm2020/image-uploader/acorex-components-image-uploader.mjs +5 -0
  11. package/esm2020/image-uploader/public-api.mjs +3 -0
  12. package/esm2020/image-uploader/src/image-uploader.component.mjs +16 -0
  13. package/esm2020/image-uploader/src/image-uploader.module.mjs +19 -0
  14. package/esm2020/menu/src/menu.component.mjs +5 -3
  15. package/esm2020/popover/src/popover.component.mjs +2 -2
  16. package/esm2020/range-slider/src/range-slider.component.mjs +8 -5
  17. package/fesm2015/acorex-components-color-palette.mjs +1 -1
  18. package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
  19. package/fesm2015/acorex-components-context-menu.mjs +16 -14
  20. package/fesm2015/acorex-components-context-menu.mjs.map +1 -1
  21. package/fesm2015/acorex-components-image-uploader.mjs +39 -0
  22. package/fesm2015/acorex-components-image-uploader.mjs.map +1 -0
  23. package/fesm2015/acorex-components-menu.mjs +4 -2
  24. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  25. package/fesm2015/acorex-components-popover.mjs +1 -1
  26. package/fesm2015/acorex-components-popover.mjs.map +1 -1
  27. package/fesm2015/acorex-components-range-slider.mjs +5 -2
  28. package/fesm2015/acorex-components-range-slider.mjs.map +1 -1
  29. package/fesm2020/acorex-components-color-palette.mjs +1 -1
  30. package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
  31. package/fesm2020/acorex-components-context-menu.mjs +16 -14
  32. package/fesm2020/acorex-components-context-menu.mjs.map +1 -1
  33. package/fesm2020/acorex-components-image-uploader.mjs +39 -0
  34. package/fesm2020/acorex-components-image-uploader.mjs.map +1 -0
  35. package/fesm2020/acorex-components-menu.mjs +4 -2
  36. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  37. package/fesm2020/acorex-components-popover.mjs +1 -1
  38. package/fesm2020/acorex-components-popover.mjs.map +1 -1
  39. package/fesm2020/acorex-components-range-slider.mjs +5 -2
  40. package/fesm2020/acorex-components-range-slider.mjs.map +1 -1
  41. package/image-uploader/index.d.ts +5 -0
  42. package/image-uploader/public-api.d.ts +2 -0
  43. package/image-uploader/src/image-uploader.component.d.ts +9 -0
  44. package/image-uploader/src/image-uploader.module.d.ts +8 -0
  45. package/mixin/src/base-components.class.d.ts +1 -1
  46. package/mixin/src/base-menu-mixin.class.d.ts +4 -4
  47. package/mixin/src/button-mixin.class.d.ts +1 -1
  48. package/mixin/src/clickable-mixin.class.d.ts +1 -1
  49. package/mixin/src/color-look-mixing.class.d.ts +1 -1
  50. package/mixin/src/datalist-component.class.d.ts +9 -9
  51. package/mixin/src/dropdown-mixin.class.d.ts +1 -1
  52. package/mixin/src/interactive-mixin.class.d.ts +3 -3
  53. package/mixin/src/loading-mixin.class.d.ts +1 -1
  54. package/mixin/src/mixin.class.d.ts +42 -42
  55. package/mixin/src/page-component.class.d.ts +1 -1
  56. package/mixin/src/selection-component.class.d.ts +1 -1
  57. package/mixin/src/sizable-mixin.class.d.ts +1 -1
  58. package/mixin/src/textbox-mixin.class.d.ts +3 -3
  59. package/mixin/src/value-mixin.class.d.ts +7 -7
  60. package/package.json +9 -1
  61. package/range-slider/src/range-slider.component.d.ts +2 -1
  62. package/tabs/src/tab-item.component.d.ts +1 -1
@@ -11,7 +11,7 @@ export declare const AXBaseAlertMixin: (new (...args: any[]) => {
11
11
  look: import("@acorex/components/common").AXStyleLookType;
12
12
  id: string;
13
13
  rtl: boolean;
14
- "__#32621@#elementRef": ElementRef<any>;
14
+ "__#33097@#elementRef": ElementRef<any>;
15
15
  _cdr: ChangeDetectorRef;
16
16
  _isInited: boolean;
17
17
  _isRendered: boolean;
@@ -10,7 +10,7 @@ export declare const AXBaseBadgeMixin: (new (...args: any[]) => {
10
10
  look: import("@acorex/components/common").AXStyleLookType;
11
11
  id: string;
12
12
  rtl: boolean;
13
- "__#32621@#elementRef": ElementRef<any>;
13
+ "__#33097@#elementRef": ElementRef<any>;
14
14
  _cdr: ChangeDetectorRef;
15
15
  _isInited: boolean;
16
16
  _isRendered: boolean;
@@ -3,9 +3,9 @@ import { ChangeDetectorRef, ElementRef } from '@angular/core';
3
3
  import { AXBreadCrumbsComponent } from './breadcrumbs.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) => {
6
- "__#32624@#disabled": boolean;
6
+ "__#33100@#disabled": boolean;
7
7
  disabled: boolean;
8
- "__#32624@#tabIndex": number;
8
+ "__#33100@#tabIndex": number;
9
9
  tabIndex: number;
10
10
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
11
11
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -15,7 +15,7 @@ export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) =
15
15
  hasFocus(): boolean;
16
16
  id: string;
17
17
  rtl: boolean;
18
- "__#32621@#elementRef": ElementRef<any>;
18
+ "__#33097@#elementRef": ElementRef<any>;
19
19
  _cdr: ChangeDetectorRef;
20
20
  _isInited: boolean;
21
21
  _isRendered: boolean;
@@ -38,7 +38,7 @@ export declare const AXBaseItemBreadCrumbMixin: (abstract new (...args: any[]) =
38
38
  _emitOnClickEvent(e: MouseEvent): void;
39
39
  id: string;
40
40
  rtl: boolean;
41
- "__#32621@#elementRef": ElementRef<any>;
41
+ "__#33097@#elementRef": ElementRef<any>;
42
42
  /**
43
43
  * @ignore
44
44
  */
@@ -4,9 +4,9 @@ import { AXClickEvent, AXItemClickEvent, AXSelectionMode, AXSelectionValueChange
4
4
  import { AXBaseComponent } from '@acorex/components/mixin';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
7
- "__#32624@#disabled": boolean;
7
+ "__#33100@#disabled": boolean;
8
8
  disabled: boolean;
9
- "__#32624@#tabIndex": number;
9
+ "__#33100@#tabIndex": number;
10
10
  tabIndex: number;
11
11
  onFocus: EventEmitter<import("@acorex/components/common").AXFocusEvent>;
12
12
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -16,7 +16,7 @@ export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
16
16
  hasFocus(): boolean;
17
17
  id: string;
18
18
  rtl: boolean;
19
- "__#32621@#elementRef": ElementRef<any>;
19
+ "__#33097@#elementRef": ElementRef<any>;
20
20
  _cdr: ChangeDetectorRef;
21
21
  _isInited: boolean;
22
22
  _isRendered: boolean;
@@ -43,7 +43,7 @@ export declare const AXBaseButtonGroupMixin: (abstract new (...args: any[]) => {
43
43
  look: import("@acorex/components/common").AXStyleLookType;
44
44
  id: string;
45
45
  rtl: boolean;
46
- "__#32621@#elementRef": ElementRef<any>;
46
+ "__#33097@#elementRef": ElementRef<any>;
47
47
  _cdr: ChangeDetectorRef;
48
48
  _isInited: boolean;
49
49
  _isRendered: boolean;
@@ -3,9 +3,9 @@ import { AXStyleColorType } from '@acorex/components/common';
3
3
  import { AXBaseComponent } from '@acorex/components/mixin';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
6
- "__#32624@#disabled": boolean;
6
+ "__#33100@#disabled": boolean;
7
7
  disabled: boolean;
8
- "__#32624@#tabIndex": number;
8
+ "__#33100@#tabIndex": number;
9
9
  tabIndex: number;
10
10
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
11
11
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -15,7 +15,7 @@ export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
15
15
  hasFocus(): boolean;
16
16
  id: string;
17
17
  rtl: boolean;
18
- "__#32621@#elementRef": ElementRef<any>;
18
+ "__#33097@#elementRef": ElementRef<any>;
19
19
  _cdr: ChangeDetectorRef;
20
20
  _isInited: boolean;
21
21
  _isRendered: boolean;
@@ -38,7 +38,7 @@ export declare const AXBaseItemButtonMixin: (abstract new (...args: any[]) => {
38
38
  _emitOnClickEvent(e: MouseEvent): void;
39
39
  id: string;
40
40
  rtl: boolean;
41
- "__#32621@#elementRef": ElementRef<any>;
41
+ "__#33097@#elementRef": ElementRef<any>;
42
42
  _cdr: ChangeDetectorRef;
43
43
  _isInited: boolean;
44
44
  _isRendered: boolean;
@@ -6,9 +6,9 @@ import { AXPopoverComponent } from '@acorex/components/popover';
6
6
  import { AXBaseComponent } from '@acorex/components/mixin';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
9
- "__#32624@#disabled": boolean;
9
+ "__#33100@#disabled": boolean;
10
10
  disabled: boolean;
11
- "__#32624@#tabIndex": number;
11
+ "__#33100@#tabIndex": number;
12
12
  tabIndex: number;
13
13
  onFocus: import("@angular/core").EventEmitter<import("@acorex/components/common").AXFocusEvent>;
14
14
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -18,7 +18,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
18
18
  hasFocus(): boolean;
19
19
  id: string;
20
20
  rtl: boolean;
21
- "__#32621@#elementRef": ElementRef<any>;
21
+ "__#33097@#elementRef": ElementRef<any>;
22
22
  _cdr: ChangeDetectorRef;
23
23
  _isInited: boolean;
24
24
  _isRendered: boolean;
@@ -52,7 +52,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
52
52
  readonly isOpen: boolean;
53
53
  id: string;
54
54
  rtl: boolean;
55
- "__#32621@#elementRef": ElementRef<any>;
55
+ "__#33097@#elementRef": ElementRef<any>;
56
56
  _cdr: ChangeDetectorRef;
57
57
  _isInited: boolean;
58
58
  _isRendered: boolean;
@@ -71,17 +71,17 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
71
71
  }) & (new (...args: any[]) => {
72
72
  onValueChanged: import("@angular/core").EventEmitter<AXValueChangedEvent<any>>;
73
73
  valueChange: import("@angular/core").EventEmitter<any>;
74
- "__#32626@#readonly": boolean;
74
+ "__#33102@#readonly": boolean;
75
75
  readonly: boolean;
76
- "__#32626@#allowNull": boolean;
76
+ "__#33102@#allowNull": boolean;
77
77
  allowNull: boolean;
78
- "__#32626@#name": string;
78
+ "__#33102@#name": string;
79
79
  name: string;
80
- "__#32626@#isUserInteraction": boolean;
80
+ "__#33102@#isUserInteraction": boolean;
81
81
  readonly isUserInteraction: boolean;
82
- "__#32626@#value": any;
82
+ "__#33102@#value": any;
83
83
  value: any;
84
- "__#32626@#state": "error" | "clear" | "success";
84
+ "__#33102@#state": "error" | "clear" | "success";
85
85
  readonly state: "error" | "clear" | "success";
86
86
  _emitOnValueChangedEvent(oldValue?: any, newValue?: any): void;
87
87
  _internalSetValue(value: any): any;
@@ -97,7 +97,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
97
97
  _setState(state: "error" | "clear" | "success", ...args: any[]): void;
98
98
  id: string;
99
99
  rtl: boolean;
100
- "__#32621@#elementRef": ElementRef<any>;
100
+ "__#33097@#elementRef": ElementRef<any>;
101
101
  _cdr: ChangeDetectorRef;
102
102
  _isInited: boolean;
103
103
  _isRendered: boolean;
@@ -119,8 +119,8 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
119
119
  maxLength: number;
120
120
  autoComplete: string;
121
121
  debounceTime: number;
122
- "__#32625@#valueSubscription": import("rxjs").Subscription;
123
- "__#32625@#valueSubject": import("rxjs").Subject<unknown>;
122
+ "__#33101@#valueSubscription": import("rxjs").Subscription;
123
+ "__#33101@#valueSubject": import("rxjs").Subject<unknown>;
124
124
  onKeyDown: import("@angular/core").EventEmitter<import("@acorex/components/common").AXHtmlEvent<KeyboardEvent>>;
125
125
  onKeyUp: import("@angular/core").EventEmitter<import("@acorex/components/common").AXHtmlEvent<KeyboardEvent>>;
126
126
  onKeyPress: import("@angular/core").EventEmitter<import("@acorex/components/common").AXHtmlEvent<KeyboardEvent>>;
@@ -133,7 +133,7 @@ export declare const AXBaseColorPickerMixin: (abstract new (...args: any[]) => {
133
133
  onDestroy(): void;
134
134
  id: string;
135
135
  rtl: boolean;
136
- "__#32621@#elementRef": ElementRef<any>;
136
+ "__#33097@#elementRef": ElementRef<any>;
137
137
  _cdr: ChangeDetectorRef;
138
138
  _isInited: boolean;
139
139
  _isRendered: boolean;
@@ -6,9 +6,9 @@ import { AXPopoverComponent } from '@acorex/components/popover';
6
6
  import { AXComponentOptionChanged } from '@acorex/components/mixin';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
9
- "__#32624@#disabled": boolean;
9
+ "__#33100@#disabled": boolean;
10
10
  disabled: boolean;
11
- "__#32624@#tabIndex": number;
11
+ "__#33100@#tabIndex": number;
12
12
  tabIndex: number;
13
13
  onFocus: EventEmitter<import("@acorex/components/common").AXFocusEvent>;
14
14
  _emitOnFocusEvent(e: FocusEvent): void;
@@ -18,7 +18,7 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
18
18
  hasFocus(): boolean;
19
19
  id: string;
20
20
  rtl: boolean;
21
- "__#32621@#elementRef": ElementRef<any>;
21
+ "__#33097@#elementRef": ElementRef<any>;
22
22
  _cdr: ChangeDetectorRef;
23
23
  _isInited: boolean;
24
24
  _isRendered: boolean;
@@ -52,7 +52,7 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
52
52
  readonly isOpen: boolean;
53
53
  id: string;
54
54
  rtl: boolean;
55
- "__#32621@#elementRef": ElementRef<any>;
55
+ "__#33097@#elementRef": ElementRef<any>;
56
56
  _cdr: ChangeDetectorRef;
57
57
  _isInited: boolean;
58
58
  _isRendered: boolean;
@@ -71,17 +71,17 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
71
71
  }) & (new (...args: any[]) => {
72
72
  onValueChanged: EventEmitter<import("@acorex/components/common").AXValueChangedEvent<any>>;
73
73
  valueChange: EventEmitter<any>;
74
- "__#32626@#readonly": boolean;
74
+ "__#33102@#readonly": boolean;
75
75
  readonly: boolean;
76
- "__#32626@#allowNull": boolean;
76
+ "__#33102@#allowNull": boolean;
77
77
  allowNull: boolean;
78
- "__#32626@#name": string;
78
+ "__#33102@#name": string;
79
79
  name: string;
80
- "__#32626@#isUserInteraction": boolean;
80
+ "__#33102@#isUserInteraction": boolean;
81
81
  readonly isUserInteraction: boolean;
82
- "__#32626@#value": any;
82
+ "__#33102@#value": any;
83
83
  value: any;
84
- "__#32626@#state": "error" | "clear" | "success";
84
+ "__#33102@#state": "error" | "clear" | "success";
85
85
  readonly state: "error" | "clear" | "success";
86
86
  _emitOnValueChangedEvent(oldValue?: any, newValue?: any): void;
87
87
  _internalSetValue(value: any): any;
@@ -97,7 +97,7 @@ export declare const AXBaseDatePickerMixin: (abstract new (...args: any[]) => {
97
97
  _setState(state: "error" | "clear" | "success", ...args: any[]): void;
98
98
  id: string;
99
99
  rtl: boolean;
100
- "__#32621@#elementRef": ElementRef<any>;
100
+ "__#33097@#elementRef": ElementRef<any>;
101
101
  _cdr: ChangeDetectorRef;
102
102
  _isInited: boolean;
103
103
  _isRendered: boolean;
@@ -79,7 +79,7 @@ AXColorPalettePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
79
79
  provide: AXColorPaletteChildComponent,
80
80
  useExisting: AXColorPalettePickerComponent,
81
81
  },
82
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\r\n <div class=\"ax-color-picker-overlay-color\"></div>\r\n <div class=\"ax-color-picker-overlay-gradient\"></div>\r\n <div class=\"ax-color-picker-pointer\"></div>\r\n</div>\r\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"99\" [step]=\"1\" [value]=\"_gradient\" \r\n (onValueChanged)=\"_handleGradientChanged($event)\">\r\n</ax-range-slider>\r\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [value]=\"_rgba.a\"\r\n (onValueChanged)=\"_handleAlphaChanged($event)\">\r\n</ax-range-slider>", dependencies: [{ kind: "component", type: i1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["readonly", "allowNull", "value", "name", "checked", "minValue", "maxValue", "step", "color"], outputs: ["valueChange", "onValueChanged", "colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
82
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-color-picker-overlay\" [style.background-color]=\"_bgColor\">\r\n <div class=\"ax-color-picker-overlay-color\"></div>\r\n <div class=\"ax-color-picker-overlay-gradient\"></div>\r\n <div class=\"ax-color-picker-pointer\"></div>\r\n</div>\r\n<ax-range-slider class=\"ax-color-picker-gradient\" [minValue]=\"0\" [maxValue]=\"99\" [step]=\"1\" [value]=\"_gradient\" \r\n (onValueChanged)=\"_handleGradientChanged($event)\">\r\n</ax-range-slider>\r\n<ax-range-slider class=\"ax-color-picker-transparent\" [minValue]=\"0\" [maxValue]=\"1\" [step]=\"0.01\" [value]=\"_rgba.a\"\r\n (onValueChanged)=\"_handleAlphaChanged($event)\">\r\n</ax-range-slider>", dependencies: [{ kind: "component", type: i1.AXRangeSliderComponent, selector: "ax-range-slider", inputs: ["readonly", "allowNull", "value", "name", "checked", "minValue", "maxValue", "step", "color", "oriantaion"], outputs: ["valueChange", "onValueChanged", "colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXColorPalettePickerComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'ax-color-palette-picker', host: { class: 'ax-color-palette-picker' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -40,20 +40,22 @@ export class AXContextMenuComponent extends AXBaseMenuMixin {
40
40
  ngAfterViewInit() {
41
41
  super.onViewInit();
42
42
  this._templatePortal = new TemplatePortal(this._contextTemplate ? this._contextTemplate : this._menuTmp, this._viewContainerRef);
43
- this._target.addEventListener('contextmenu', (e) => {
44
- e.preventDefault();
45
- const position = {
46
- getBoundingClientRect: () => ({
47
- bottom: e.clientY,
48
- height: 0,
49
- left: e.clientX,
50
- right: e.clientX,
51
- top: e.clientY,
52
- width: 0,
53
- }),
54
- };
55
- this._openAsOverlay(new ElementRef(position));
56
- });
43
+ if (this._target) {
44
+ this._target.addEventListener('contextmenu', (e) => {
45
+ e.preventDefault();
46
+ const position = {
47
+ getBoundingClientRect: () => ({
48
+ bottom: e.clientY,
49
+ height: 0,
50
+ left: e.clientX,
51
+ right: e.clientX,
52
+ top: e.clientY,
53
+ width: 0,
54
+ }),
55
+ };
56
+ this._openAsOverlay(new ElementRef(position));
57
+ });
58
+ }
57
59
  }
58
60
  _openAsOverlay(position) {
59
61
  this._overlayRef = this._overlay.create({
@@ -254,4 +256,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
254
256
  }], target: [{
255
257
  type: Input
256
258
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdqQixVQUFVLEVBR1YsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3JEOzs7O0dBSUc7QUF3QkgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUE0QnpELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsaUJBQW1DLEVBQ25DLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFOaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQVk7SUFHL0IsQ0FBQztJQWhDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVdELElBQ1csTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lB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YUFBYTtxQkFDZCxXQUNRLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxtQkFDaEMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTsrTUFJckMsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsaUJBQWlCO2dCQVE1QixRQUFRO3NCQURQLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFVM0IsTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYsIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBJbnB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWEJhc2VNZW51TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWNvbnRleHQtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgaW5wdXRzOiBbXHJcbiAgICAnZGlzYWJsZWQnLFxyXG4gICAgJ3RleHRGaWVsZCcsXHJcbiAgICAndmFsdWVGaWVsZCcsXHJcbiAgICAnaXRlbXMnLFxyXG4gICAgJ3BhcmVudElkJyxcclxuICAgICdpY29uRmllbGQnLFxyXG4gICAgJ2lzT3BlbicsXHJcbiAgICAnaXNBY3RpdmUnLFxyXG4gICAgJ3Zpc2libGVGaWVsZCcsXHJcbiAgICAnZGlzYWJsZUZpZWxkJyxcclxuICAgICdoYXNDaGlsZEZpZWxkJyxcclxuICAgICdkaXZpZGVyRmllbGQnLFxyXG4gICAgJ29wZW5Nb2RlJyxcclxuICAgICdvcmllbnRhdGlvbicsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbJ29uQmx1cicsICdvbkZvY3VzJywgJ29uTWVudUl0ZW1DbGljayddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENvbnRleHRNZW51Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlTWVudU1peGluIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdjb250ZXh0VGVtcGxhdGUnKVxyXG4gIF9jb250ZXh0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGdldCBjb250ZXh0VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGV4dFRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnbWVudVRtcCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgX21lbnVUbXA6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcblxyXG4gIHByaXZhdGUgX3RlbXBsYXRlUG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDtcclxuXHJcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHRhcmdldCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB0YXJnZXQodjogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgQVhCYXNlQ29tcG9uZW50KSB7XHJcbiAgICBpZiAodiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB0aGlzLl90YXJnZXQgPSB2O1xyXG4gICAgZWxzZSBpZiAodiBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpIHRoaXMuX3RhcmdldCA9IHYubmF0aXZlRWxlbWVudDtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBBWEJhc2VDb21wb25lbnQpIHRoaXMuX3RhcmdldCA9IHYuX2dldElubmVyRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybVxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuXHJcbiAgICB0aGlzLl90ZW1wbGF0ZVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcclxuICAgICAgdGhpcy5fY29udGV4dFRlbXBsYXRlID8gdGhpcy5fY29udGV4dFRlbXBsYXRlIDogdGhpcy5fbWVudVRtcCxcclxuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZlxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCAoZSkgPT4ge1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0ge1xyXG4gICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdDogKCkgPT4gKHtcclxuICAgICAgICAgIGJvdHRvbTogZS5jbGllbnRZLFxyXG4gICAgICAgICAgaGVpZ2h0OiAwLFxyXG4gICAgICAgICAgbGVmdDogZS5jbGllbnRYLFxyXG4gICAgICAgICAgcmlnaHQ6IGUuY2xpZW50WCxcclxuICAgICAgICAgIHRvcDogZS5jbGllbnRZLFxyXG4gICAgICAgICAgd2lkdGg6IDAsXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkobmV3IEVsZW1lbnRSZWYocG9zaXRpb24pKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzT3ZlcmxheShwb3NpdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9zaXRpb24pXHJcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSlcclxuICAgICAgICAud2l0aFB1c2goZmFsc2UpLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJywgJ2F4LW92ZXJsYXktbWVudSddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl90ZW1wbGF0ZVBvcnRhbCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZSgpIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICB0aGlzLmRpc3BsYXlJdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgIGVsZW1lbnQuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqKioqKioqKioqZGVmdWx0VG1wKioqKioqKioqKiovXHJcbiAgb25Db250ZXh0TWVudUNsaWNrKGUpIHtcclxuICAgIHRoaXMub25NZW51SXRlbUNsaWNrLmVtaXQoZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjY29udGV4dFRlbXBsYXRlUmVmPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHRUZW1wbGF0ZSAgZWxzZSBtZW51VG1wXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNvbnRleHQtbWVudVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGV4dFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICNtZW51VG1wPlxyXG4gICAgPGF4LW1lbnUgY2xhc3M9XCJheC1jb250ZXh0LW1lbnVcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCIgb3Blbk1vZGU9XCJob3ZlclwiIFtpdGVtc109J2l0ZW1zJ1xyXG4gICAgICAgIFtkaXNhYmxlRmllbGRdPVwiZGlzYWJsZUZpZWxkXCIgW2hhc0NoaWxkRmllbGRdPVwiaGFzQ2hpbGRGaWVsZFwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW2ljb25GaWVsZF09XCJpY29uRmllbGRcIlxyXG4gICAgICAgIFt2YWx1ZUZpZWxkXT1cInZhbHVlRmllbGRcIiBbZGl2aWRlckZpZWxkXT1cImRpdmlkZXJGaWVsZFwiIChvbk1lbnVJdGVtQ2xpY2spPSdvbkNvbnRleHRNZW51Q2xpY2soJGV2ZW50KSc+XHJcbiAgICA8L2F4LW1lbnU+XHJcbjwvbmctdGVtcGxhdGU+Il19
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9zcmMvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUdqQixVQUFVLEVBR1YsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3JEOzs7O0dBSUc7QUF3QkgsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWU7SUE0QnpELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsaUJBQW1DLEVBQ25DLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFOaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLGNBQVMsR0FBVCxTQUFTLENBQVk7SUFHL0IsQ0FBQztJQWhDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQVdELElBQ1csTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lB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O3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxVQUFVO3dCQUNWLGFBQWE7cUJBQ2QsV0FDUSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsbUJBQ2hDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7K01BSXJDLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGlCQUFpQjtnQkFRNUIsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBVTNCLE1BQU07c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmLCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgT25Jbml0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCwgQVhCYXNlTWVudU1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1jb250ZXh0LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0ZXh0RmllbGQnLFxyXG4gICAgJ3ZhbHVlRmllbGQnLFxyXG4gICAgJ2l0ZW1zJyxcclxuICAgICdwYXJlbnRJZCcsXHJcbiAgICAnaWNvbkZpZWxkJyxcclxuICAgICdpc09wZW4nLFxyXG4gICAgJ2lzQWN0aXZlJyxcclxuICAgICd2aXNpYmxlRmllbGQnLFxyXG4gICAgJ2Rpc2FibGVGaWVsZCcsXHJcbiAgICAnaGFzQ2hpbGRGaWVsZCcsXHJcbiAgICAnZGl2aWRlckZpZWxkJyxcclxuICAgICdvcGVuTW9kZScsXHJcbiAgICAnb3JpZW50YXRpb24nLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICdvbk1lbnVJdGVtQ2xpY2snXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDb250ZXh0TWVudUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZU1lbnVNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnY29udGV4dFRlbXBsYXRlJylcclxuICBfY29udGV4dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBnZXQgY29udGV4dFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21lbnVUbXAnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIF9tZW51VG1wOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG5cclxuICBwcml2YXRlIF90ZW1wbGF0ZVBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XHJcblxyXG4gIHByaXZhdGUgX3RhcmdldDogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCB0YXJnZXQoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdGFyZ2V0KHY6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IEFYQmFzZUNvbXBvbmVudCkge1xyXG4gICAgaWYgKHYgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgdGhpcy5fdGFyZ2V0ID0gdjtcclxuICAgIGVsc2UgaWYgKHYgaW5zdGFuY2VvZiBFbGVtZW50UmVmKSB0aGlzLl90YXJnZXQgPSB2Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBlbHNlIGlmICh2IGluc3RhbmNlb2YgQVhCYXNlQ29tcG9uZW50KSB0aGlzLl90YXJnZXQgPSB2Ll9nZXRJbm5lckVsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcblxyXG4gICAgdGhpcy5fdGVtcGxhdGVQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXHJcbiAgICAgIHRoaXMuX2NvbnRleHRUZW1wbGF0ZSA/IHRoaXMuX2NvbnRleHRUZW1wbGF0ZSA6IHRoaXMuX21lbnVUbXAsXHJcbiAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWZcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMuX3RhcmdldCkge1xyXG4gICAgICB0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCAoZSkgPT4ge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHtcclxuICAgICAgICAgIGdldEJvdW5kaW5nQ2xpZW50UmVjdDogKCkgPT4gKHtcclxuICAgICAgICAgICAgYm90dG9tOiBlLmNsaWVudFksXHJcbiAgICAgICAgICAgIGhlaWdodDogMCxcclxuICAgICAgICAgICAgbGVmdDogZS5jbGllbnRYLFxyXG4gICAgICAgICAgICByaWdodDogZS5jbGllbnRYLFxyXG4gICAgICAgICAgICB0b3A6IGUuY2xpZW50WSxcclxuICAgICAgICAgICAgd2lkdGg6IDAsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkobmV3IEVsZW1lbnRSZWYocG9zaXRpb24pKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuQXNPdmVybGF5KHBvc2l0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5XHJcbiAgICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhwb3NpdGlvbilcclxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdKVxyXG4gICAgICAgIC53aXRoUHVzaChmYWxzZSksXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInLCAnYXgtb3ZlcmxheS1tZW51J10sXHJcbiAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcclxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3RlbXBsYXRlUG9ydGFsKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuZGlzcGxheUl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZWxlbWVudC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgZWxlbWVudC5pc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKioqKioqKioqKipkZWZ1bHRUbXAqKioqKioqKioqKi9cclxuICBvbkNvbnRleHRNZW51Q2xpY2soZSkge1xyXG4gICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdChlKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNjb250ZXh0VGVtcGxhdGVSZWY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dFRlbXBsYXRlICBlbHNlIG1lbnVUbXBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29udGV4dC1tZW51XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZXh0VGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI21lbnVUbXA+XHJcbiAgICA8YXgtbWVudSBjbGFzcz1cImF4LWNvbnRleHQtbWVudVwiIG9yaWVudGF0aW9uPVwidmVydGljYWxcIiBvcGVuTW9kZT1cImhvdmVyXCIgW2l0ZW1zXT0naXRlbXMnXHJcbiAgICAgICAgW2Rpc2FibGVGaWVsZF09XCJkaXNhYmxlRmllbGRcIiBbaGFzQ2hpbGRGaWVsZF09XCJoYXNDaGlsZEZpZWxkXCIgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIiBbaWNvbkZpZWxkXT1cImljb25GaWVsZFwiXHJcbiAgICAgICAgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiIFtkaXZpZGVyRmllbGRdPVwiZGl2aWRlckZpZWxkXCIgKG9uTWVudUl0ZW1DbGljayk9J29uQ29udGV4dE1lbnVDbGljaygkZXZlbnQpJz5cclxuICAgIDwvYXgtbWVudT5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtaW1hZ2UtdXBsb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9pbWFnZS11cGxvYWRlci9hY29yZXgtY29tcG9uZW50cy1pbWFnZS11cGxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './src/image-uploader.component';
2
+ export * from './src/image-uploader.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2ltYWdlLXVwbG9hZGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvaW1hZ2UtdXBsb2FkZXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9pbWFnZS11cGxvYWRlci5tb2R1bGUnOyJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class AXImageUploaderComponent {
5
+ constructor() {
6
+ this.photo = '';
7
+ }
8
+ ngOnInit() { }
9
+ }
10
+ AXImageUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageUploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ AXImageUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: AXImageUploaderComponent, selector: "ax-image-uploader", ngImport: i0, template: "<div class=\"ax-image-uploader-container\" [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\">\r\n <i class=\"ax-ic ax-ic-plus upload-icon\" *ngIf=\"!photo\"></i>\r\n <img >\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageUploaderComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'ax-image-uploader', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-image-uploader-container\" [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\">\r\n <i class=\"ax-ic ax-ic-plus upload-icon\" *ngIf=\"!photo\"></i>\r\n <img >\r\n</div>" }]
15
+ }], ctorParameters: function () { return []; } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UtdXBsb2FkZXIvc3JjL2ltYWdlLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL2ltYWdlLXVwbG9hZGVyL3NyYy9pbWFnZS11cGxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPckUsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQztRQURBLFVBQUssR0FBVyxFQUFFLENBQUM7SUFDSixDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDOztxSEFKUix3QkFBd0I7eUdBQXhCLHdCQUF3Qix5RENQckMscU1BR007MkZESU8sd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG1CQUFtQixpQkFFZCxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LWltYWdlLXVwbG9hZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWEltYWdlVXBsb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHBob3RvOiBzdHJpbmcgPSAnJztcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXgtaW1hZ2UtdXBsb2FkZXItY29udGFpbmVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgcGhvdG8gKyAnKSd9XCI+XHJcbiAgICA8aSBjbGFzcz1cImF4LWljIGF4LWljLXBsdXMgdXBsb2FkLWljb25cIiAqbmdJZj1cIiFwaG90b1wiPjwvaT5cclxuICAgIDxpbWcgPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXImageUploaderComponent } from './image-uploader.component';
4
+ import * as i0 from "@angular/core";
5
+ export class AXImageUploaderModule {
6
+ }
7
+ AXImageUploaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ AXImageUploaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AXImageUploaderModule, declarations: [AXImageUploaderComponent], imports: [CommonModule], exports: [AXImageUploaderComponent] });
9
+ AXImageUploaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageUploaderModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AXImageUploaderModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXImageUploaderComponent],
14
+ imports: [CommonModule],
15
+ exports: [AXImageUploaderComponent],
16
+ providers: [],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdXBsb2FkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UtdXBsb2FkZXIvc3JjL2ltYWdlLXVwbG9hZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFRdEUsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQUxqQix3QkFBd0IsYUFDN0IsWUFBWSxhQUNaLHdCQUF3QjttSEFHdkIscUJBQXFCLFlBSnRCLFlBQVk7MkZBSVgscUJBQXFCO2tCQU5qQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNuQyxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFYSW1hZ2VVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtdXBsb2FkZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQVhJbWFnZVVwbG9hZGVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbQVhJbWFnZVVwbG9hZGVyQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhJbWFnZVVwbG9hZGVyTW9kdWxlIHt9XHJcbiJdfQ==