myrta-ui 17.1.54 → 17.1.56

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.
@@ -4,11 +4,10 @@ import { TooltipService } from '../../tooltip/services/tooltip.service';
4
4
  import { v4 as uuid } from 'uuid';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../tooltip/services/tooltip.service";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/forms";
9
- import * as i4 from "../../tooltip/tooltip.component";
10
- import * as i5 from "../../tooltip/tooltip-trigger/tooltip-trigger.component";
11
- import * as i6 from "../../save-state/save-state.component";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "../../tooltip/tooltip.component";
9
+ import * as i4 from "../../tooltip/tooltip-trigger/tooltip-trigger.component";
10
+ import * as i5 from "../../save-state/save-state.component";
12
11
  export class CheckboxComponent {
13
12
  tooltipService;
14
13
  value = false;
@@ -20,6 +19,7 @@ export class CheckboxComponent {
20
19
  fields = [];
21
20
  required = false;
22
21
  boldLabel = false;
22
+ enableLabel = true;
23
23
  indeterminate = false;
24
24
  disabled = false;
25
25
  readonly = false;
@@ -85,14 +85,14 @@ export class CheckboxComponent {
85
85
  this.tooltipService.initTooltip(this._tooltip, this._tooltipInitialVisible);
86
86
  }
87
87
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxComponent, deps: [{ token: i1.TooltipService }], target: i0.ɵɵFactoryTarget.Component });
88
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CheckboxComponent, selector: "mrx-checkbox", inputs: { fields: "fields", required: "required", boldLabel: "boldLabel", indeterminate: "indeterminate", disabled: "disabled", readonly: "readonly", label: "label", customClasses: "customClasses", customWrapperClasses: "customWrapperClasses", invalid: "invalid", checkInvalid: "checkInvalid", tooltip: "tooltip", tooltipInitialVisible: "tooltipInitialVisible", isSaveToStorage: "isSaveToStorage" }, outputs: { changed: "changed", modelChange: "modelChange" }, providers: [
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxComponent, selector: "mrx-checkbox", inputs: { fields: "fields", required: "required", boldLabel: "boldLabel", enableLabel: "enableLabel", indeterminate: "indeterminate", disabled: "disabled", readonly: "readonly", label: "label", customClasses: "customClasses", customWrapperClasses: "customWrapperClasses", invalid: "invalid", checkInvalid: "checkInvalid", tooltip: "tooltip", tooltipInitialVisible: "tooltipInitialVisible", isSaveToStorage: "isSaveToStorage" }, outputs: { changed: "changed", modelChange: "modelChange" }, providers: [
89
89
  TooltipService,
90
90
  {
91
91
  provide: NG_VALUE_ACCESSOR,
92
92
  useExisting: forwardRef(() => CheckboxComponent),
93
93
  multi: true,
94
94
  },
95
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "labelContent", first: true, predicate: ["labelContent"], descendants: true }], ngImport: i0, template: "<div\r\n #input\r\n class=\"mrx-checkbox-wrapper\"\r\n [class]=\"getWrapperClasses\"\r\n>\r\n <label\r\n class=\"mrx-checkbox\"\r\n [class]=\"getClasses\"\r\n [class.mrx-checkbox-indeterminate]=\"indeterminate\"\r\n [class.mrx-checkbox-error]=\"invalid\"\r\n [class.mrx-checkbox-input-disabled]=\"disabled\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n />\r\n <span class=\"mrx-checkbox-mark\">\r\n <span class=\"mrx-icon icon-check icon-font-12 text-bold\" *ngIf=\"!indeterminate\"></span>\r\n </span>\r\n <span\r\n #labelContent\r\n [class]=\"boldLabel ? 'mrx-checkbox-label mrx-checkbox-label-bold' : 'mrx-checkbox-label'\"\r\n >\r\n {{label}}\r\n <ng-content></ng-content>\r\n <span *ngIf=\"required && !disabled\" class=\"required-active\">*</span>\r\n </span>\r\n </label>\r\n\r\n <mrx-tooltip-trigger\r\n *ngIf=\"tooltipService.getTooltip\"\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n ></mrx-tooltip-trigger>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkbox\"></mrx-save-state>\r\n</div>\r\n\r\n<mrx-tooltip\r\n *ngIf=\"tooltipService.getTooltip\"\r\n [tooltip]=\"tooltipService.getTooltip\"\r\n [tooltipVisible]=\"tooltipService.getTooltipVisible\"\r\n></mrx-tooltip>\r\n", styles: [".mrx-checkbox{display:inline-flex;align-items:flex-start;position:relative;gap:var(--spacing-2)}.mrx-checkbox:hover .mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-hover)}.mrx-checkbox:hover.mrx-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox]{min-height:auto;position:absolute;left:0;opacity:0;height:var(--sizing-4);width:var(--sizing-4);z-index:2;padding:0;margin:2px 0 0;cursor:pointer}.mrx-checkbox-wrapper{display:flex;align-items:center;justify-content:flex-start;position:relative}.mrx-checkbox .mrx-checkbox-label{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary);-webkit-user-select:none;user-select:none;cursor:pointer}.mrx-checkbox .mrx-checkbox-label-bold{font-weight:var(--body-md-bold-font-weight)}.mrx-checkbox .required-active{font-family:var(--body-md-bold-font-family);font-size:var(--body-md-bold-font-size);font-weight:var(--body-md-bold-font-weight);line-height:var(--body-md-bold-line-height);color:var(--system-icon-negative);margin-left:var(--spacing-1);position:relative;display:inline-block}.mrx-checkbox .mrx-checkbox-mark{display:block;height:var(--sizing-4);width:var(--sizing-4);min-width:var(--sizing-4);border:var(--border-width-checkbox) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);position:relative;margin-top:2px}.mrx-checkbox .mrx-checkbox-mark .mrx-icon{color:#fff;position:absolute;top:0;left:0;display:none}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--brand-bg-primary-default);background:var(--brand-bg-primary-default)}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox input[type=checkbox][readonly]{cursor:default}.mrx-checkbox input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark{display:flex;align-items:center;justify-content:center}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark:after{content:\"\";display:block;width:6px;height:2px;background-color:var(--brand-bg-primary-default);border-radius:var(--border-radius-1)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-default);background:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-error .mrx-checkbox-mark,.mrx-checkbox.mrx-input-checked-error .mrx-checkbox-mark{border-color:var(--system-bg-controls-negative-default)}.mrx-checkbox.mrx-input-checked-success input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default);background-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-input-checked-success .mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]{cursor:default}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-label{cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.TooltipComponent, selector: "mrx-tooltip", inputs: ["tooltip", "tooltipVisible", "tooltipInitiallyVisible", "triggerType"], outputs: ["visibilityChanged"] }, { kind: "component", type: i5.TooltipTriggerComponent, selector: "mrx-tooltip-trigger", inputs: ["triggerTextPosition", "triggerType", "customClasses", "isVisibleTooltip"], outputs: ["toggleTooltip"] }, { kind: "component", type: i6.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "labelContent", first: true, predicate: ["labelContent"], descendants: true }], ngImport: i0, template: "<div\r\n #input\r\n class=\"mrx-checkbox-wrapper\"\r\n [class]=\"getWrapperClasses\"\r\n>\r\n <label\r\n class=\"mrx-checkbox\"\r\n [class]=\"getClasses\"\r\n [class.mrx-checkbox-indeterminate]=\"indeterminate\"\r\n [class.mrx-checkbox-error]=\"invalid\"\r\n [class.mrx-checkbox-input-disabled]=\"disabled\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n />\r\n <span class=\"mrx-checkbox-mark\">\r\n @if (!indeterminate) {\r\n <span class=\"mrx-icon icon-check icon-font-12 text-bold\"></span>\r\n }\r\n </span>\r\n\r\n @if (enableLabel) {\r\n <span\r\n #labelContent\r\n [class]=\"boldLabel ? 'mrx-checkbox-label mrx-checkbox-label-bold' : 'mrx-checkbox-label'\"\r\n >\r\n {{ label }}\r\n\r\n <ng-content></ng-content>\r\n\r\n @if (required && !disabled) {\r\n <span class=\"required-active\">*</span>\r\n }\r\n </span>\r\n }\r\n </label>\r\n\r\n @if (tooltipService.getTooltip) {\r\n <mrx-tooltip-trigger\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n ></mrx-tooltip-trigger>\r\n }\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkbox\"></mrx-save-state>\r\n</div>\r\n\r\n@if (tooltipService.getTooltip) {\r\n <mrx-tooltip [tooltip]=\"tooltipService.getTooltip\" [tooltipVisible]=\"tooltipService.getTooltipVisible\"></mrx-tooltip>\r\n}\r\n", styles: [".mrx-checkbox{display:inline-flex;align-items:flex-start;position:relative;gap:var(--spacing-2)}.mrx-checkbox:hover .mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-hover)}.mrx-checkbox:hover.mrx-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox]{min-height:auto;position:absolute;left:0;opacity:0;height:var(--sizing-4);width:var(--sizing-4);z-index:2;padding:0;margin:2px 0 0;cursor:pointer}.mrx-checkbox-wrapper{display:flex;align-items:center;justify-content:flex-start;position:relative}.mrx-checkbox .mrx-checkbox-label{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary);-webkit-user-select:none;user-select:none;cursor:pointer}.mrx-checkbox .mrx-checkbox-label-bold{font-weight:var(--body-md-bold-font-weight)}.mrx-checkbox .required-active{font-family:var(--body-md-bold-font-family);font-size:var(--body-md-bold-font-size);font-weight:var(--body-md-bold-font-weight);line-height:var(--body-md-bold-line-height);color:var(--system-icon-negative);margin-left:var(--spacing-1);position:relative;display:inline-block}.mrx-checkbox .mrx-checkbox-mark{display:block;height:var(--sizing-4);width:var(--sizing-4);min-width:var(--sizing-4);border:var(--border-width-checkbox) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);position:relative;margin-top:2px}.mrx-checkbox .mrx-checkbox-mark .mrx-icon{color:#fff;position:absolute;top:0;left:0;display:none}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--brand-bg-primary-default);background:var(--brand-bg-primary-default)}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox input[type=checkbox][readonly]{cursor:default}.mrx-checkbox input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark{display:flex;align-items:center;justify-content:center}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark:after{content:\"\";display:block;width:6px;height:2px;background-color:var(--brand-bg-primary-default);border-radius:var(--border-radius-1)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-default);background:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-error .mrx-checkbox-mark,.mrx-checkbox.mrx-input-checked-error .mrx-checkbox-mark{border-color:var(--system-bg-controls-negative-default)}.mrx-checkbox.mrx-input-checked-success input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default);background-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-input-checked-success .mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]{cursor:default}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-label{cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TooltipComponent, selector: "mrx-tooltip", inputs: ["tooltip", "tooltipVisible", "tooltipInitiallyVisible", "triggerType"], outputs: ["visibilityChanged"] }, { kind: "component", type: i4.TooltipTriggerComponent, selector: "mrx-tooltip-trigger", inputs: ["triggerTextPosition", "triggerType", "customClasses", "isVisibleTooltip"], outputs: ["toggleTooltip"] }, { kind: "component", type: i5.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
96
96
  }
97
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxComponent, decorators: [{
98
98
  type: Component,
@@ -103,13 +103,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
103
103
  useExisting: forwardRef(() => CheckboxComponent),
104
104
  multi: true,
105
105
  },
106
- ], template: "<div\r\n #input\r\n class=\"mrx-checkbox-wrapper\"\r\n [class]=\"getWrapperClasses\"\r\n>\r\n <label\r\n class=\"mrx-checkbox\"\r\n [class]=\"getClasses\"\r\n [class.mrx-checkbox-indeterminate]=\"indeterminate\"\r\n [class.mrx-checkbox-error]=\"invalid\"\r\n [class.mrx-checkbox-input-disabled]=\"disabled\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n />\r\n <span class=\"mrx-checkbox-mark\">\r\n <span class=\"mrx-icon icon-check icon-font-12 text-bold\" *ngIf=\"!indeterminate\"></span>\r\n </span>\r\n <span\r\n #labelContent\r\n [class]=\"boldLabel ? 'mrx-checkbox-label mrx-checkbox-label-bold' : 'mrx-checkbox-label'\"\r\n >\r\n {{label}}\r\n <ng-content></ng-content>\r\n <span *ngIf=\"required && !disabled\" class=\"required-active\">*</span>\r\n </span>\r\n </label>\r\n\r\n <mrx-tooltip-trigger\r\n *ngIf=\"tooltipService.getTooltip\"\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n ></mrx-tooltip-trigger>\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkbox\"></mrx-save-state>\r\n</div>\r\n\r\n<mrx-tooltip\r\n *ngIf=\"tooltipService.getTooltip\"\r\n [tooltip]=\"tooltipService.getTooltip\"\r\n [tooltipVisible]=\"tooltipService.getTooltipVisible\"\r\n></mrx-tooltip>\r\n", styles: [".mrx-checkbox{display:inline-flex;align-items:flex-start;position:relative;gap:var(--spacing-2)}.mrx-checkbox:hover .mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-hover)}.mrx-checkbox:hover.mrx-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox]{min-height:auto;position:absolute;left:0;opacity:0;height:var(--sizing-4);width:var(--sizing-4);z-index:2;padding:0;margin:2px 0 0;cursor:pointer}.mrx-checkbox-wrapper{display:flex;align-items:center;justify-content:flex-start;position:relative}.mrx-checkbox .mrx-checkbox-label{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary);-webkit-user-select:none;user-select:none;cursor:pointer}.mrx-checkbox .mrx-checkbox-label-bold{font-weight:var(--body-md-bold-font-weight)}.mrx-checkbox .required-active{font-family:var(--body-md-bold-font-family);font-size:var(--body-md-bold-font-size);font-weight:var(--body-md-bold-font-weight);line-height:var(--body-md-bold-line-height);color:var(--system-icon-negative);margin-left:var(--spacing-1);position:relative;display:inline-block}.mrx-checkbox .mrx-checkbox-mark{display:block;height:var(--sizing-4);width:var(--sizing-4);min-width:var(--sizing-4);border:var(--border-width-checkbox) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);position:relative;margin-top:2px}.mrx-checkbox .mrx-checkbox-mark .mrx-icon{color:#fff;position:absolute;top:0;left:0;display:none}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--brand-bg-primary-default);background:var(--brand-bg-primary-default)}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox input[type=checkbox][readonly]{cursor:default}.mrx-checkbox input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark{display:flex;align-items:center;justify-content:center}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark:after{content:\"\";display:block;width:6px;height:2px;background-color:var(--brand-bg-primary-default);border-radius:var(--border-radius-1)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-default);background:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-error .mrx-checkbox-mark,.mrx-checkbox.mrx-input-checked-error .mrx-checkbox-mark{border-color:var(--system-bg-controls-negative-default)}.mrx-checkbox.mrx-input-checked-success input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default);background-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-input-checked-success .mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]{cursor:default}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-label{cursor:default}\n"] }]
106
+ ], template: "<div\r\n #input\r\n class=\"mrx-checkbox-wrapper\"\r\n [class]=\"getWrapperClasses\"\r\n>\r\n <label\r\n class=\"mrx-checkbox\"\r\n [class]=\"getClasses\"\r\n [class.mrx-checkbox-indeterminate]=\"indeterminate\"\r\n [class.mrx-checkbox-error]=\"invalid\"\r\n [class.mrx-checkbox-input-disabled]=\"disabled\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n [disabled]=\"disabled || readonly\"\r\n [readonly]=\"readonly\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"updateValue($event)\"\r\n />\r\n <span class=\"mrx-checkbox-mark\">\r\n @if (!indeterminate) {\r\n <span class=\"mrx-icon icon-check icon-font-12 text-bold\"></span>\r\n }\r\n </span>\r\n\r\n @if (enableLabel) {\r\n <span\r\n #labelContent\r\n [class]=\"boldLabel ? 'mrx-checkbox-label mrx-checkbox-label-bold' : 'mrx-checkbox-label'\"\r\n >\r\n {{ label }}\r\n\r\n <ng-content></ng-content>\r\n\r\n @if (required && !disabled) {\r\n <span class=\"required-active\">*</span>\r\n }\r\n </span>\r\n }\r\n </label>\r\n\r\n @if (tooltipService.getTooltip) {\r\n <mrx-tooltip-trigger\r\n (toggleTooltip)=\"tooltipService.toggleTooltipVisible()\"\r\n [isVisibleTooltip]=\"tooltipService.getTooltipVisible\"\r\n ></mrx-tooltip-trigger>\r\n }\r\n\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"checkbox\"></mrx-save-state>\r\n</div>\r\n\r\n@if (tooltipService.getTooltip) {\r\n <mrx-tooltip [tooltip]=\"tooltipService.getTooltip\" [tooltipVisible]=\"tooltipService.getTooltipVisible\"></mrx-tooltip>\r\n}\r\n", styles: [".mrx-checkbox{display:inline-flex;align-items:flex-start;position:relative;gap:var(--spacing-2)}.mrx-checkbox:hover .mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-hover)}.mrx-checkbox:hover.mrx-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox]{min-height:auto;position:absolute;left:0;opacity:0;height:var(--sizing-4);width:var(--sizing-4);z-index:2;padding:0;margin:2px 0 0;cursor:pointer}.mrx-checkbox-wrapper{display:flex;align-items:center;justify-content:flex-start;position:relative}.mrx-checkbox .mrx-checkbox-label{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary);-webkit-user-select:none;user-select:none;cursor:pointer}.mrx-checkbox .mrx-checkbox-label-bold{font-weight:var(--body-md-bold-font-weight)}.mrx-checkbox .required-active{font-family:var(--body-md-bold-font-family);font-size:var(--body-md-bold-font-size);font-weight:var(--body-md-bold-font-weight);line-height:var(--body-md-bold-line-height);color:var(--system-icon-negative);margin-left:var(--spacing-1);position:relative;display:inline-block}.mrx-checkbox .mrx-checkbox-mark{display:block;height:var(--sizing-4);width:var(--sizing-4);min-width:var(--sizing-4);border:var(--border-width-checkbox) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);position:relative;margin-top:2px}.mrx-checkbox .mrx-checkbox-mark .mrx-icon{color:#fff;position:absolute;top:0;left:0;display:none}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--brand-bg-primary-default);background:var(--brand-bg-primary-default)}.mrx-checkbox input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox input[type=checkbox][readonly]{cursor:default}.mrx-checkbox input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark{display:flex;align-items:center;justify-content:center}.mrx-checkbox.mrx-checkbox-indeterminate .mrx-checkbox-mark:after{content:\"\";display:block;width:6px;height:2px;background-color:var(--brand-bg-primary-default);border-radius:var(--border-radius-1)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled:hover .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate.mrx-checkbox-input-disabled .mrx-checkbox-mark:after{background-color:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-bg-stroke-default);background:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]{cursor:default}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark{cursor:default;background-color:transparent}.mrx-checkbox.mrx-checkbox-indeterminate input[type=checkbox][readonly]+.mrx-checkbox-mark+.mrx-checkbox-label{cursor:default}.mrx-checkbox.mrx-checkbox-error .mrx-checkbox-mark,.mrx-checkbox.mrx-input-checked-error .mrx-checkbox-mark{border-color:var(--system-bg-controls-negative-default)}.mrx-checkbox.mrx-input-checked-success input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default);background-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-input-checked-success .mrx-checkbox-mark{border-color:var(--system-bg-controls-positive-default)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]{cursor:default}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark{border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled input[type=checkbox]:checked+.mrx-checkbox-mark .mrx-icon{display:block}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-mark{cursor:default;border-color:var(--neutral-control-bg-accent-disabled);background:var(--neutral-control-bg-accent-disabled)}.mrx-checkbox.mrx-checkbox-input-disabled .mrx-checkbox-label{cursor:default}\n"] }]
107
107
  }], ctorParameters: () => [{ type: i1.TooltipService }], propDecorators: { fields: [{
108
108
  type: Input
109
109
  }], required: [{
110
110
  type: Input
111
111
  }], boldLabel: [{
112
112
  type: Input
113
+ }], enableLabel: [{
114
+ type: Input
113
115
  }], indeterminate: [{
114
116
  type: Input
115
117
  }], disabled: [{
@@ -143,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
143
145
  }], modelChange: [{
144
146
  type: Output
145
147
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQWlCbEMsTUFBTSxPQUFPLGlCQUFpQjtJQWdEbkI7SUEvQ0YsS0FBSyxHQUF1QixLQUFLLENBQUM7SUFFakMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUMvQixnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFFakMsYUFBYTtJQUNOLElBQUksR0FBVyxJQUFJLEVBQUUsQ0FBQztJQUNiLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDdEIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxFQUFFLENBQUM7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QUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHlOQzdCSCw4L0NBOENBOzs0RkRmYSxpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULGNBQWM7d0JBQ2Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO21GQVdlLE1BQU07c0JBQXJCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxvQkFBb0I7c0JBQW5DLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFPRixxQkFBcUI7c0JBRHhCLEtBQUs7Z0JBT0YsZUFBZTtzQkFEbEIsS0FBSztnQkFNYyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1MsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUVSLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2hlY2tib3hWYWx1ZVR5cGVzLCBDaGVja2JveFZhbHVlV2l0aElkIH0gZnJvbSAnLi9jaGVja2JveC5lbnVtJztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b29sdGlwL3NlcnZpY2VzL3Rvb2x0aXAuc2VydmljZSc7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zYXZlLXN0b3JlL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jaGVja2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgVG9vbHRpcFNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcclxuICBwdWJsaWMgdmFsdWU6IENoZWNrYm94VmFsdWVUeXBlcyA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF90b29sdGlwID0gJyc7XHJcbiAgcHJpdmF0ZSBfdG9vbHRpcEluaXRpYWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNTYXZlVG9TdG9yYWdlID0gZmFsc2U7XHJcblxyXG4gIC8vIFNBVkUgU1RBVEVcclxuICBwdWJsaWMgdXVpZDogc3RyaW5nID0gdXVpZCgpO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGJvbGRMYWJlbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tV3JhcHBlckNsYXNzZXMgPSAnJztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2hlY2tJbnZhbGlkOiB0cnVlIHwgZmFsc2UgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdG9vbHRpcCh0b29sdGlwOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3Rvb2x0aXAgPSB0b29sdGlwO1xyXG4gICAgdGhpcy50b29sdGlwU2VydmljZS5zZXRUb29sdGlwID0gdG9vbHRpcDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHRvb2x0aXBJbml0aWFsVmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fdG9vbHRpcEluaXRpYWxWaXNpYmxlID0gdmFsdWU7XHJcbiAgICB0aGlzLnRvb2x0aXBTZXJ2aWNlLnRvZ2dsZVRvb2x0aXBWaXNpYmxlRnJvbUNvZGUodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgaXNTYXZlVG9TdG9yYWdlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9pc1NhdmVUb1N0b3JhZ2UgPSB2YWx1ZTtcclxuICAgIHRoaXMudG9vbHRpcFNlcnZpY2Uuc2V0U2F2ZVRvU3RvcmFnZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dCE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnbGFiZWxDb250ZW50JykgbGFiZWxDb250ZW50ITogRWxlbWVudFJlZjtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hWYWx1ZVR5cGVzPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveFZhbHVlV2l0aElkPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hWYWx1ZVdpdGhJZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdG9vbHRpcFNlcnZpY2U6IFRvb2x0aXBTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFdyYXBwZXJDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21XcmFwcGVyQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21DbGFzc2VzfSAke3RoaXMuY2hlY2tWYWxpZENsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2hlY2tWYWxpZENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrSW52YWxpZCA9PT0gZmFsc2UgP1xyXG4gICAgICAnbXJ4LWlucHV0LWNoZWNrZWQtc3VjY2VzcycgOlxyXG4gICAgICB0aGlzLmNoZWNrSW52YWxpZCA9PT0gdHJ1ZSA/ICdtcngtaW5wdXQtY2hlY2tlZC1lcnJvcicgOiAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IENoZWNrYm94VmFsdWVUeXBlcykgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB7fSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKG91dHNpZGVWYWx1ZTogQ2hlY2tib3hWYWx1ZVR5cGVzKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gb3V0c2lkZVZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlVmFsdWUoaW5zaWRlVmFsdWU6IENoZWNrYm94VmFsdWVUeXBlcykge1xyXG4gICAgdGhpcy52YWx1ZSA9IGluc2lkZVZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHsgdmFsdWU6IGluc2lkZVZhbHVlLCBpZDogdGhpcy51dWlkIH0pO1xyXG4gICAgdGhpcy5vbkNoYW5nZShpbnNpZGVWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRvb2x0aXBTZXJ2aWNlLmluaXRUb29sdGlwKHRoaXMuX3Rvb2x0aXAsIHRoaXMuX3Rvb2x0aXBJbml0aWFsVmlzaWJsZSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiPGRpdlxyXG4gICNpbnB1dFxyXG4gIGNsYXNzPVwibXJ4LWNoZWNrYm94LXdyYXBwZXJcIlxyXG4gIFtjbGFzc109XCJnZXRXcmFwcGVyQ2xhc3Nlc1wiXHJcbj5cclxuICA8bGFiZWxcclxuICAgIGNsYXNzPVwibXJ4LWNoZWNrYm94XCJcclxuICAgIFtjbGFzc109XCJnZXRDbGFzc2VzXCJcclxuICAgIFtjbGFzcy5tcngtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCJcclxuICAgIFtjbGFzcy5tcngtY2hlY2tib3gtZXJyb3JdPVwiaW52YWxpZFwiXHJcbiAgICBbY2xhc3MubXJ4LWNoZWNrYm94LWlucHV0LWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICA+XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcclxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1yeC1jaGVja2JveC1tYXJrXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGVjayBpY29uLWZvbnQtMTIgdGV4dC1ib2xkXCIgKm5nSWY9XCIhaW5kZXRlcm1pbmF0ZVwiPjwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuXHJcbiAgICAgICNsYWJlbENvbnRlbnRcclxuICAgICAgW2NsYXNzXT1cImJvbGRMYWJlbCA/ICdtcngtY2hlY2tib3gtbGFiZWwgbXJ4LWNoZWNrYm94LWxhYmVsLWJvbGQnIDogJ21yeC1jaGVja2JveC1sYWJlbCdcIlxyXG4gICAgPlxyXG4gICAgICB7e2xhYmVsfX1cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkICYmICFkaXNhYmxlZFwiIGNsYXNzPVwicmVxdWlyZWQtYWN0aXZlXCI+Kjwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuICA8L2xhYmVsPlxyXG5cclxuICA8bXJ4LXRvb2x0aXAtdHJpZ2dlclxyXG4gICAgKm5nSWY9XCJ0b29sdGlwU2VydmljZS5nZXRUb29sdGlwXCJcclxuICAgICh0b2dnbGVUb29sdGlwKT1cInRvb2x0aXBTZXJ2aWNlLnRvZ2dsZVRvb2x0aXBWaXNpYmxlKClcIlxyXG4gICAgW2lzVmlzaWJsZVRvb2x0aXBdPVwidG9vbHRpcFNlcnZpY2UuZ2V0VG9vbHRpcFZpc2libGVcIlxyXG4gID48L21yeC10b29sdGlwLXRyaWdnZXI+XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgdHlwZT1cImNoZWNrYm94XCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuPC9kaXY+XHJcblxyXG48bXJ4LXRvb2x0aXBcclxuICAqbmdJZj1cInRvb2x0aXBTZXJ2aWNlLmdldFRvb2x0aXBcIlxyXG4gIFt0b29sdGlwXT1cInRvb2x0aXBTZXJ2aWNlLmdldFRvb2x0aXBcIlxyXG4gIFt0b29sdGlwVmlzaWJsZV09XCJ0b29sdGlwU2VydmljZS5nZXRUb29sdGlwVmlzaWJsZVwiXHJcbj48L21yeC10b29sdGlwPlxyXG4iXX0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBaUJsQyxNQUFNLE9BQU8saUJBQWlCO0lBaURuQjtJQWhERixLQUFLLEdBQXVCLEtBQUssQ0FBQztJQUVqQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2Qsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUVqQyxhQUFhO0lBQ04sSUFBSSxHQUFXLElBQUksRUFBRSxDQUFDO0lBQ2IsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUVyQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsV0FBVyxHQUFHLElBQUksQ0FBQztJQUNuQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJ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QUNULGNBQWM7WUFDZDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YseU5DN0JILDBtREFzREE7OzRGRHZCYSxpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULGNBQWM7d0JBQ2Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO21GQVdlLE1BQU07c0JBQXJCLEtBQUs7Z0JBRVUsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFFVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR0YsT0FBTztzQkFEVixLQUFLO2dCQU9GLHFCQUFxQjtzQkFEeEIsS0FBSztnQkFPRixlQUFlO3NCQURsQixLQUFLO2dCQU1jLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDUyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRVIsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDaGVja2JveFZhbHVlVHlwZXMsIENoZWNrYm94VmFsdWVXaXRoSWQgfSBmcm9tICcuL2NoZWNrYm94LmVudW0nO1xyXG5pbXBvcnQgeyBUb29sdGlwU2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvc2VydmljZXMvdG9vbHRpcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3NhdmUtc3RvcmUvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWNoZWNrYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBUb29sdGlwU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG4gIHB1YmxpYyB2YWx1ZTogQ2hlY2tib3hWYWx1ZVR5cGVzID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3Rvb2x0aXAgPSAnJztcclxuICBwcml2YXRlIF90b29sdGlwSW5pdGlhbFZpc2libGUgPSBmYWxzZTtcclxuICBwcml2YXRlIF9pc1NhdmVUb1N0b3JhZ2UgPSBmYWxzZTtcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkKCk7XHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgYm9sZExhYmVsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGVuYWJsZUxhYmVsID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21DbGFzc2VzID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbVdyYXBwZXJDbGFzc2VzID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogdHJ1ZSB8IGZhbHNlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHRvb2x0aXAodG9vbHRpcDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl90b29sdGlwID0gdG9vbHRpcDtcclxuICAgIHRoaXMudG9vbHRpcFNlcnZpY2Uuc2V0VG9vbHRpcCA9IHRvb2x0aXA7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB0b29sdGlwSW5pdGlhbFZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3Rvb2x0aXBJbml0aWFsVmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdGhpcy50b29sdGlwU2VydmljZS50b2dnbGVUb29sdGlwVmlzaWJsZUZyb21Db2RlKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlzU2F2ZVRvU3RvcmFnZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faXNTYXZlVG9TdG9yYWdlID0gdmFsdWU7XHJcbiAgICB0aGlzLnRvb2x0aXBTZXJ2aWNlLnNldFNhdmVUb1N0b3JhZ2UgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2xhYmVsQ29udGVudCcpIGxhYmVsQ29udGVudCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPENoZWNrYm94VmFsdWVUeXBlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94VmFsdWVUeXBlcz4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hlY2tib3hWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94VmFsdWVXaXRoSWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRvb2x0aXBTZXJ2aWNlOiBUb29sdGlwU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRXcmFwcGVyQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tV3JhcHBlckNsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc30gJHt0aGlzLmNoZWNrVmFsaWRDbGFzc2VzfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoZWNrVmFsaWRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja0ludmFsaWQgPT09IGZhbHNlID9cclxuICAgICAgJ21yeC1pbnB1dC1jaGVja2VkLXN1Y2Nlc3MnIDpcclxuICAgICAgdGhpcy5jaGVja0ludmFsaWQgPT09IHRydWUgPyAnbXJ4LWlucHV0LWNoZWNrZWQtZXJyb3InIDogJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlID0gKHZhbHVlOiBDaGVja2JveFZhbHVlVHlwZXMpID0+IHtcclxuICB9O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShvdXRzaWRlVmFsdWU6IENoZWNrYm94VmFsdWVUeXBlcykge1xyXG4gICAgdGhpcy52YWx1ZSA9IG91dHNpZGVWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGluc2lkZVZhbHVlOiBDaGVja2JveFZhbHVlVHlwZXMpIHtcclxuICAgIHRoaXMudmFsdWUgPSBpbnNpZGVWYWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KGluc2lkZVZhbHVlKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7IHZhbHVlOiBpbnNpZGVWYWx1ZSwgaWQ6IHRoaXMudXVpZCB9KTtcclxuICAgIHRoaXMub25DaGFuZ2UoaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50b29sdGlwU2VydmljZS5pbml0VG9vbHRpcCh0aGlzLl90b29sdGlwLCB0aGlzLl90b29sdGlwSW5pdGlhbFZpc2libGUpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsIjxkaXZcclxuICAjaW5wdXRcclxuICBjbGFzcz1cIm1yeC1jaGVja2JveC13cmFwcGVyXCJcclxuICBbY2xhc3NdPVwiZ2V0V3JhcHBlckNsYXNzZXNcIlxyXG4+XHJcbiAgPGxhYmVsXHJcbiAgICBjbGFzcz1cIm1yeC1jaGVja2JveFwiXHJcbiAgICBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiXHJcbiAgICBbY2xhc3MubXJ4LWNoZWNrYm94LWluZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiXHJcbiAgICBbY2xhc3MubXJ4LWNoZWNrYm94LWVycm9yXT1cImludmFsaWRcIlxyXG4gICAgW2NsYXNzLm1yeC1jaGVja2JveC1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXHJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJtcngtY2hlY2tib3gtbWFya1wiPlxyXG4gICAgICBAaWYgKCFpbmRldGVybWluYXRlKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZWNrIGljb24tZm9udC0xMiB0ZXh0LWJvbGRcIj48L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICBAaWYgKGVuYWJsZUxhYmVsKSB7XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgI2xhYmVsQ29udGVudFxyXG4gICAgICAgIFtjbGFzc109XCJib2xkTGFiZWwgPyAnbXJ4LWNoZWNrYm94LWxhYmVsIG1yeC1jaGVja2JveC1sYWJlbC1ib2xkJyA6ICdtcngtY2hlY2tib3gtbGFiZWwnXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGxhYmVsIH19XHJcblxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuXHJcbiAgICAgICAgQGlmIChyZXF1aXJlZCAmJiAhZGlzYWJsZWQpIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtYWN0aXZlXCI+Kjwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuXHJcbiAgQGlmICh0b29sdGlwU2VydmljZS5nZXRUb29sdGlwKSB7XHJcbiAgICA8bXJ4LXRvb2x0aXAtdHJpZ2dlclxyXG4gICAgICAodG9nZ2xlVG9vbHRpcCk9XCJ0b29sdGlwU2VydmljZS50b2dnbGVUb29sdGlwVmlzaWJsZSgpXCJcclxuICAgICAgW2lzVmlzaWJsZVRvb2x0aXBdPVwidG9vbHRpcFNlcnZpY2UuZ2V0VG9vbHRpcFZpc2libGVcIlxyXG4gICAgPjwvbXJ4LXRvb2x0aXAtdHJpZ2dlcj5cclxuICB9XHJcblxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgdHlwZT1cImNoZWNrYm94XCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuPC9kaXY+XHJcblxyXG5AaWYgKHRvb2x0aXBTZXJ2aWNlLmdldFRvb2x0aXApIHtcclxuICA8bXJ4LXRvb2x0aXAgW3Rvb2x0aXBdPVwidG9vbHRpcFNlcnZpY2UuZ2V0VG9vbHRpcFwiIFt0b29sdGlwVmlzaWJsZV09XCJ0b29sdGlwU2VydmljZS5nZXRUb29sdGlwVmlzaWJsZVwiPjwvbXJ4LXRvb2x0aXA+XHJcbn1cclxuIl19
@@ -60,7 +60,7 @@ export class CheckboxGroupItemComponent {
60
60
  return item.id;
61
61
  }
62
62
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CheckboxGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: { displaced: "displaced", level: "level", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly", invalid: "invalid", item: "item" }, outputs: { animationEnd: "animationEnd", checkboxChanged: "checkboxChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.items && item.items.length && level < 10) {\r\n <div class=\"mrx-checkbox-group__item--array\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"isOpen ? 'open' : 'close'\" (@openList.done)=\"onAnimationEvent()\">\r\n @for (item of item.items; track item.id) {\r\n <mrx-checkbox-group-item\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n }\r\n </div>\r\n </div>\r\n\r\n } @else {\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.CheckboxComponent, selector: "mrx-checkbox", inputs: ["fields", "required", "boldLabel", "indeterminate", "disabled", "readonly", "label", "customClasses", "customWrapperClasses", "invalid", "checkInvalid", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changed", "modelChange"] }, { kind: "component", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }], animations: [
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: { displaced: "displaced", level: "level", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly", invalid: "invalid", item: "item" }, outputs: { animationEnd: "animationEnd", checkboxChanged: "checkboxChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"mrx-checkbox-group__item\" [class.mrx-checkbox-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.items && item.items.length && level < 10) {\r\n <div class=\"mrx-checkbox-group__item--array\">\r\n <div class=\"mrx-checkbox-group__item--array-head\">\r\n <div class=\"mrx-checkbox-group__item--head-icon mr-1\">\r\n <span\r\n class=\"mrx-icon icon-chevron-down icon-font-16 cursor-pointer\"\r\n (click)=\"toggleList(item)\"\r\n [style.transform]=\"translateChevron\"\r\n ></span>\r\n </div>\r\n\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"isIndeterminate\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n\r\n <div class=\"mrx-checkbox-group__item--array-list\" [@openList]=\"isOpen ? 'open' : 'close'\" (@openList.done)=\"onAnimationEvent()\">\r\n @for (item of item.items; track item.id) {\r\n <mrx-checkbox-group-item\r\n [level]=\"level + 1\"\r\n [item]=\"item\"\r\n [displaced]=\"true\"\r\n [animationTrigger]=\"animationTrigger\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (checkboxChanged)=\"checkboxChanged.emit($event)\"\r\n ></mrx-checkbox-group-item>\r\n }\r\n </div>\r\n </div>\r\n\r\n } @else {\r\n <div class=\"mrx-checkbox-group__item--single\" [class.item-displaced]=\"displaced\">\r\n <mrx-checkbox\r\n [ngModel]=\"item.value\"\r\n [indeterminate]=\"false\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"checkboxChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-checkbox>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-checkbox-group__item--single.item-displaced{margin-left:20px}.mrx-checkbox-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-checkbox-group__item--array-list{padding-left:20px}.mrx-checkbox-group__item--buttom-ident{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.CheckboxComponent, selector: "mrx-checkbox", inputs: ["fields", "required", "boldLabel", "enableLabel", "indeterminate", "disabled", "readonly", "label", "customClasses", "customWrapperClasses", "invalid", "checkInvalid", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changed", "modelChange"] }, { kind: "component", type: CheckboxGroupItemComponent, selector: "mrx-checkbox-group-item", inputs: ["displaced", "level", "animationTrigger", "isLast", "disabled", "readonly", "invalid", "item"], outputs: ["animationEnd", "checkboxChanged"] }], animations: [
64
64
  trigger('openList', [
65
65
  state('*', style({ height: '0', opacity: '0', visibility: 'hidden', marginTop: '0', overflow: 'hidden' })),
66
66
  state('open', style({ height: '*', opacity: '1', visibility: 'visible', marginTop: '12px' })),
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
110
110
  }], checkboxChanged: [{
111
111
  type: Output
112
112
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC1ncm91cC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWl0ZW0vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC1ncm91cC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWl0ZW0vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFTLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBMEJ4RixNQUFNLE9BQU8sMEJBQTBCO0lBMkJqQjtJQTFCWixLQUFLLENBQXlCO0lBRS9CLGNBQWMsR0FBOEIsT0FBTyxDQUFBO0lBQ25ELE1BQU0sR0FBRyxLQUFLLENBQUE7SUFHWixTQUFTLEdBQUcsS0FBSyxDQUFBO0lBQ2pCLEtBQUssR0FBRyxDQUFDLENBQUE7SUFDVCxnQkFBZ0IsR0FBbUIsSUFBSSxDQUFBO0lBQ3ZDLE1BQU0sQ0FBVTtJQUNULFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWhDLElBQWEsSUFBSSxDQUFDLEtBQTZCO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdB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c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFTyxJQUFJO3NCQUFoQixLQUFLO2dCQVFXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsZUFBZTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgZ3JvdXAsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gIEFuaW1hdGVDaGVja2JveEdyb3VwU3RhdGUsXHJcbiAgQ2hlY2tib3hHcm91cElubmVySXRlbSxcclxuICBDaGVja2JveEluZGV0ZXJtaW5hdGVTdGF0ZVxyXG59IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jaGVja2JveC1ncm91cC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5MaXN0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG9wYWNpdHk6ICcwJywgdmlzaWJpbGl0eTogJ2hpZGRlbicsIG1hcmdpblRvcDogJzAnLCBvdmVyZmxvdzogJ2hpZGRlbicgfSkpLFxyXG4gICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6ICcxJywgdmlzaWJpbGl0eTogJ3Zpc2libGUnLCBtYXJnaW5Ub3A6ICcxMnB4JyB9KSksXHJcbiAgICAgIHN0YXRlKCdjbG9zZScsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG9wYWNpdHk6ICcwJywgdmlzaWJpbGl0eTogJ2hpZGRlbicsIG1hcmdpblRvcDogJzAnLCBvdmVyZmxvdzogJ2hpZGRlbicgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IG9wZW4nLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgyMDApXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IGNsb3NlJywgW1xyXG4gICAgICAgIGFuaW1hdGUoMjAwKVxyXG4gICAgICBdKSxcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgX2l0ZW0hOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtXHJcblxyXG4gIHB1YmxpYyBhbmltYXRpb25TdGF0ZTogQW5pbWF0ZUNoZWNrYm94R3JvdXBTdGF0ZSA9ICdjbG9zZSdcclxuICBwdWJsaWMgaXNPcGVuID0gZmFsc2VcclxuXHJcblxyXG4gIEBJbnB1dCgpIGRpc3BsYWNlZCA9IGZhbHNlXHJcbiAgQElucHV0KCkgbGV2ZWwgPSAwXHJcbiAgQElucHV0KCkgYW5pbWF0aW9uVHJpZ2dlcjogYm9vbGVhbiB8IG51bGwgPSBudWxsXHJcbiAgQElucHV0KCkgaXNMYXN0ITogYm9vbGVhblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBpdGVtKHZhbHVlOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtKSB7XHJcbiAgICB0aGlzLl9pdGVtID0gdmFsdWVcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXRlbSgpOkNoZWNrYm94R3JvdXBJbm5lckl0ZW0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgYW5pbWF0aW9uRW5kOiBFdmVudEVtaXR0ZXI8bnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGVja2JveENoYW5nZWQ6IEV2ZW50RW1pdHRlcjx7IHZhbHVlOiBDaGVja2JveEluZGV0ZXJtaW5hdGVTdGF0ZSwgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB9PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHsgdmFsdWU6IENoZWNrYm94SW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtIH0+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtLnZhbHVlID09PSBudWxsXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zbGF0ZUNoZXZyb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlzT3BlbiA/ICdyb3RhdGUoMGRlZyknIDogJ3JvdGF0ZSgtOTBkZWcpJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVMaXN0KGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tib3hDaGFuZ2VNb2RlbCh2YWx1ZTogQ2hlY2tib3hJbmRldGVybWluYXRlU3RhdGUsIGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzSW5kZXRlcm1pbmF0ZSkge1xyXG4gICAgICB0aGlzLmNoZWNrYm94Q2hhbmdlZC5lbWl0KHsgdmFsdWU6IGZhbHNlLCBpdGVtIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoZWNrYm94Q2hhbmdlZC5lbWl0KHsgdmFsdWU6IHZhbHVlLCBpdGVtIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snaXRlbSddICYmIChjaGFuZ2VzWydpdGVtJ10uY3VycmVudFZhbHVlLnZhbHVlID09PSBudWxsKSkge1xyXG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWVcclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICB0aGlzLmlzT3BlbiA9ICEhdGhpcy5hbmltYXRpb25UcmlnZ2VyO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQW5pbWF0aW9uRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbkVuZC5lbWl0KClcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBfX2l0ZW1cIiBbY2xhc3MubXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1idXR0b20taWRlbnRdPVwiIWlzTGFzdFwiPlxyXG4gIEBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCAmJiBsZXZlbCA8IDEwKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1hcnJheVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1hcnJheS1oZWFkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1jaGVja2JveC1ncm91cF9faXRlbS0taGVhZC1pY29uIG1yLTFcIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tZG93biBpY29uLWZvbnQtMTYgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUxpc3QoaXRlbSlcIlxyXG4gICAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0cmFuc2xhdGVDaGV2cm9uXCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bXJ4LWNoZWNrYm94XHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJpdGVtLnZhbHVlXCJcclxuICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja2JveENoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgID57eyBpdGVtLnRleHQgfX08L21yeC1jaGVja2JveD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1hcnJheS1saXN0XCIgW0BvcGVuTGlzdF09XCJpc09wZW4gPyAnb3BlbicgOiAnY2xvc2UnXCIgKEBvcGVuTGlzdC5kb25lKT1cIm9uQW5pbWF0aW9uRXZlbnQoKVwiPlxyXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbS5pdGVtczsgdHJhY2sgaXRlbS5pZCkge1xyXG4gICAgICAgICAgPG1yeC1jaGVja2JveC1ncm91cC1pdGVtXHJcbiAgICAgICAgICAgIFtsZXZlbF09XCJsZXZlbCArIDFcIlxyXG4gICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICAgICAgW2Rpc3BsYWNlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiYW5pbWF0aW9uVHJpZ2dlclwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgICAgICAoY2hlY2tib3hDaGFuZ2VkKT1cImNoZWNrYm94Q2hhbmdlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWl0ZW0+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICB9IEBlbHNlIHtcclxuICAgIDxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBfX2l0ZW0tLXNpbmdsZVwiIFtjbGFzcy5pdGVtLWRpc3BsYWNlZF09XCJkaXNwbGFjZWRcIj5cclxuICAgICAgPG1yeC1jaGVja2JveFxyXG4gICAgICAgIFtuZ01vZGVsXT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImZhbHNlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tib3hDaGFuZ2VNb2RlbCgkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgPnt7IGl0ZW0udGV4dCB9fTwvbXJ4LWNoZWNrYm94PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuXHJcblxyXG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC1ncm91cC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWl0ZW0vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9jaGVja2JveC1ncm91cC9jb21wb25lbnRzL2NoZWNrYm94LWdyb3VwLWl0ZW0vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFTLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBMEJ4RixNQUFNLE9BQU8sMEJBQTBCO0lBMkJqQjtJQTFCWixLQUFLLENBQXlCO0lBRS9CLGNBQWMsR0FBOEIsT0FBTyxDQUFBO0lBQ25ELE1BQU0sR0FBRyxLQUFLLENBQUE7SUFHWixTQUFTLEdBQUcsS0FBSyxDQUFBO0lBQ2pCLEtBQUssR0FBRyxDQUFDLENBQUE7SUFDVCxnQkFBZ0IsR0FBbUIsSUFBSSxDQUFBO0lBQ3ZDLE1BQU0sQ0FBVTtJQUNULFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWhDLElBQWEsSUFBSSxDQUFDLEtBQTZCO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDbkIsQ0FBQztJQUVnQixZQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDNUQsZUFBZSxHQUM5QixJQUFJLFlBQVksRUFBdUUsQ0FBQztJQUUxRixZQUFvQixTQUE0QjtRQUE1QixjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUNoRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDekQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUE0QjtRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUM1QixDQUFDO0lBRU0sbUJBQW1CLENBQUMsS0FBaUMsRUFBRSxJQUE0QjtRQUN4RixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBRU4sSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUE0QjtRQUMxRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQzt3R0FyRVUsMEJBQTBCOzRGQUExQiwwQkFBMEIsNlZDcEN2QyxrNURBa0RBLDYrQkRkYSwwQkFBMEIsNk1BZHpCO1lBQ1YsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDbEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RixLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzlHLFVBQVUsQ0FBQyxXQUFXLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUM7aUJBQ2IsQ0FBQztnQkFDRixVQUFVLENBQUMsWUFBWSxFQUFFO29CQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDO2lCQUNiLENBQUM7YUFDSCxDQUFDO1NBQ0g7OzRGQUVVLDBCQUEwQjtrQkFuQnRDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2xCLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQzs0QkFDMUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQzs0QkFDN0YsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDOzRCQUM5RyxVQUFVLENBQUMsV0FBVyxFQUFFO2dDQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDOzZCQUNiLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFlBQVksRUFBRTtnQ0FDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQzs2QkFDYixDQUFDO3lCQUNILENBQUM7cUJBQ0g7c0ZBU1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFTyxJQUFJO3NCQUFoQixLQUFLO2dCQVFXLFlBQVk7c0JBQTVCLE1BQU07Z0JBQ1UsZUFBZTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgZ3JvdXAsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gIEFuaW1hdGVDaGVja2JveEdyb3VwU3RhdGUsXHJcbiAgQ2hlY2tib3hHcm91cElubmVySXRlbSxcclxuICBDaGVja2JveEluZGV0ZXJtaW5hdGVTdGF0ZVxyXG59IGZyb20gJy4uLy4uL21vZGVscy9jaGVja2JveC1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jaGVja2JveC1ncm91cC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3gtZ3JvdXAtaXRlbS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5MaXN0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG9wYWNpdHk6ICcwJywgdmlzaWJpbGl0eTogJ2hpZGRlbicsIG1hcmdpblRvcDogJzAnLCBvdmVyZmxvdzogJ2hpZGRlbicgfSkpLFxyXG4gICAgICBzdGF0ZSgnb3BlbicsIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6ICcxJywgdmlzaWJpbGl0eTogJ3Zpc2libGUnLCBtYXJnaW5Ub3A6ICcxMnB4JyB9KSksXHJcbiAgICAgIHN0YXRlKCdjbG9zZScsIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG9wYWNpdHk6ICcwJywgdmlzaWJpbGl0eTogJ2hpZGRlbicsIG1hcmdpblRvcDogJzAnLCBvdmVyZmxvdzogJ2hpZGRlbicgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IG9wZW4nLCBbXHJcbiAgICAgICAgYW5pbWF0ZSgyMDApXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCcqID0+IGNsb3NlJywgW1xyXG4gICAgICAgIGFuaW1hdGUoMjAwKVxyXG4gICAgICBdKSxcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgX2l0ZW0hOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtXHJcblxyXG4gIHB1YmxpYyBhbmltYXRpb25TdGF0ZTogQW5pbWF0ZUNoZWNrYm94R3JvdXBTdGF0ZSA9ICdjbG9zZSdcclxuICBwdWJsaWMgaXNPcGVuID0gZmFsc2VcclxuXHJcblxyXG4gIEBJbnB1dCgpIGRpc3BsYWNlZCA9IGZhbHNlXHJcbiAgQElucHV0KCkgbGV2ZWwgPSAwXHJcbiAgQElucHV0KCkgYW5pbWF0aW9uVHJpZ2dlcjogYm9vbGVhbiB8IG51bGwgPSBudWxsXHJcbiAgQElucHV0KCkgaXNMYXN0ITogYm9vbGVhblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBpdGVtKHZhbHVlOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtKSB7XHJcbiAgICB0aGlzLl9pdGVtID0gdmFsdWVcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXRlbSgpOkNoZWNrYm94R3JvdXBJbm5lckl0ZW0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgYW5pbWF0aW9uRW5kOiBFdmVudEVtaXR0ZXI8bnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGVja2JveENoYW5nZWQ6IEV2ZW50RW1pdHRlcjx7IHZhbHVlOiBDaGVja2JveEluZGV0ZXJtaW5hdGVTdGF0ZSwgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSB9PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHsgdmFsdWU6IENoZWNrYm94SW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBDaGVja2JveEdyb3VwSW5uZXJJdGVtIH0+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtLnZhbHVlID09PSBudWxsXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zbGF0ZUNoZXZyb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlzT3BlbiA/ICdyb3RhdGUoMGRlZyknIDogJ3JvdGF0ZSgtOTBkZWcpJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVMaXN0KGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gIXRoaXMuaXNPcGVuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tib3hDaGFuZ2VNb2RlbCh2YWx1ZTogQ2hlY2tib3hJbmRldGVybWluYXRlU3RhdGUsIGl0ZW06IENoZWNrYm94R3JvdXBJbm5lckl0ZW0pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzSW5kZXRlcm1pbmF0ZSkge1xyXG4gICAgICB0aGlzLmNoZWNrYm94Q2hhbmdlZC5lbWl0KHsgdmFsdWU6IGZhbHNlLCBpdGVtIH0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNoZWNrYm94Q2hhbmdlZC5lbWl0KHsgdmFsdWU6IHZhbHVlLCBpdGVtIH0pXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snaXRlbSddICYmIChjaGFuZ2VzWydpdGVtJ10uY3VycmVudFZhbHVlLnZhbHVlID09PSBudWxsKSkge1xyXG4gICAgICB0aGlzLmlzT3BlbiA9IHRydWVcclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICB0aGlzLmlzT3BlbiA9ICEhdGhpcy5hbmltYXRpb25UcmlnZ2VyO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQW5pbWF0aW9uRXZlbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbkVuZC5lbWl0KClcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogQ2hlY2tib3hHcm91cElubmVySXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBfX2l0ZW1cIiBbY2xhc3MubXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1idXR0b20taWRlbnRdPVwiIWlzTGFzdFwiPlxyXG4gIEBpZiAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCAmJiBsZXZlbCA8IDEwKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1hcnJheVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1hcnJheS1oZWFkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1jaGVja2JveC1ncm91cF9faXRlbS0taGVhZC1pY29uIG1yLTFcIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tZG93biBpY29uLWZvbnQtMTYgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUxpc3QoaXRlbSlcIlxyXG4gICAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0cmFuc2xhdGVDaGV2cm9uXCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bXJ4LWNoZWNrYm94XHJcbiAgICAgICAgICBbbmdNb2RlbF09XCJpdGVtLnZhbHVlXCJcclxuICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja2JveENoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgID57eyBpdGVtLnRleHQgfX08L21yeC1jaGVja2JveD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWNoZWNrYm94LWdyb3VwX19pdGVtLS1hcnJheS1saXN0XCIgW0BvcGVuTGlzdF09XCJpc09wZW4gPyAnb3BlbicgOiAnY2xvc2UnXCIgKEBvcGVuTGlzdC5kb25lKT1cIm9uQW5pbWF0aW9uRXZlbnQoKVwiPlxyXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbS5pdGVtczsgdHJhY2sgaXRlbS5pZCkge1xyXG4gICAgICAgICAgPG1yeC1jaGVja2JveC1ncm91cC1pdGVtXHJcbiAgICAgICAgICAgIFtsZXZlbF09XCJsZXZlbCArIDFcIlxyXG4gICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICAgICAgW2Rpc3BsYWNlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiYW5pbWF0aW9uVHJpZ2dlclwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgICAgICAoY2hlY2tib3hDaGFuZ2VkKT1cImNoZWNrYm94Q2hhbmdlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgPjwvbXJ4LWNoZWNrYm94LWdyb3VwLWl0ZW0+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICB9IEBlbHNlIHtcclxuICAgIDxkaXYgY2xhc3M9XCJtcngtY2hlY2tib3gtZ3JvdXBfX2l0ZW0tLXNpbmdsZVwiIFtjbGFzcy5pdGVtLWRpc3BsYWNlZF09XCJkaXNwbGFjZWRcIj5cclxuICAgICAgPG1yeC1jaGVja2JveFxyXG4gICAgICAgIFtuZ01vZGVsXT1cIml0ZW0udmFsdWVcIlxyXG4gICAgICAgIFtpbmRldGVybWluYXRlXT1cImZhbHNlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tib3hDaGFuZ2VNb2RlbCgkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgPnt7IGl0ZW0udGV4dCB9fTwvbXJ4LWNoZWNrYm94PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuXHJcblxyXG4iXX0=
@@ -94,7 +94,7 @@ export class DateCalendarComponent {
94
94
  return days;
95
95
  }
96
96
  getYears() {
97
- const centerYear = this.selectedDate?.getFullYear() ?? this.currentYear;
97
+ const centerYear = this.currentYear;
98
98
  const startYear = centerYear - 5;
99
99
  return Array.from({ length: 12 }, (_, i) => startYear + i);
100
100
  }
@@ -180,7 +180,7 @@ export class DateCalendarComponent {
180
180
  }
181
181
  changeYearRange(offset) {
182
182
  this.currentYear += offset * 12;
183
- this._detector.markForCheck();
183
+ this._detector.detectChanges();
184
184
  }
185
185
  isPreviousMonthDisabled() {
186
186
  if (!this._minDate)
@@ -203,11 +203,11 @@ export class DateCalendarComponent {
203
203
  return this.getYears()[this.getYears().length - 1] >= this._maxDate.getFullYear();
204
204
  }
205
205
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DateCalendarComponent, selector: "mrx-date-calendar", inputs: { selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate" }, outputs: { dateSelected: "dateSelected", close: "close" }, ngImport: i0, template: "<div class=\"mrx-calendar\">\r\n <div class=\"mrx-calendar-header\">\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(-1)\" [disabled]=\"isPreviousMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(-1)\" [disabled]=\"isPreviousYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n <button class=\"mrx-calendar-header__button\" (click)=\"switchView()\">\r\n {{ headerText }}\r\n </button>\r\n\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(1)\" [disabled]=\"isNextMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(1)\" [disabled]=\"isNextYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-calendar-body\">\r\n @switch (view) {\r\n @case ('years') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--years\">\r\n @for (year of getYears(); track year) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--year\"\r\n [class.selected]=\"isYearSelected(year)\"\r\n [class.disabled]=\"isYearDisabled(year)\"\r\n [class.hoverable]=\"!isYearDisabled(year)\"\r\n (click)=\"selectYear(year)\"\r\n >\r\n {{ year }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case ('months') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--months\">\r\n @for (month of months; track month) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--month\"\r\n [class.selected]=\"isMonthSelected(month)\"\r\n [class.disabled]=\"isMonthDisabled(month)\"\r\n [class.hoverable]=\"!isMonthDisabled(month)\"\r\n (click)=\"selectMonth(month)\"\r\n >\r\n {{ monthNames[month] }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @default {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--days\">\r\n @for (day of daysOfWeek; track day) {\r\n <div class=\"mrx-calendar-body__grid__label\">{{ day }}</div>\r\n }\r\n\r\n @for (day of getCalendarDays(); track day) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--day\"\r\n [class.selected]=\"isSelected(day)\"\r\n [class.other-month]=\"day.month !== currentMonth\"\r\n [class.disabled]=\"!isDateEnabled(day)\"\r\n [class.hoverable]=\"isDateEnabled(day)\"\r\n (click)=\"selectDate(day)\"\r\n >\r\n {{ day.day }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n</div>\r\n", styles: [".mrx-calendar{width:272px;border-radius:4px;background-color:var(--brand-bg-tertiary-default, #FFF);box-shadow:0 1px 4px #3a3a3a4d}.mrx-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--neutral-bg-divider, #DBDFE5)}.mrx-calendar-header__button{border:none;border-radius:4px;background-color:transparent;padding:6px 12px;text-align:center;flex-grow:1;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);cursor:pointer;transition:background-color .3s}.mrx-calendar-header__button:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;transition:background-color .3s}.mrx-calendar-header__chevron:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron:disabled{cursor:default}.mrx-calendar-header__chevron:disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body{padding:8px 12px}.mrx-calendar-body__grid--days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.mrx-calendar-body__grid--months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.mrx-calendar-body__grid--years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;max-height:190px;overflow-y:auto}.mrx-calendar-body__grid__label{display:flex;justify-content:center;align-items:center;width:32px;height:32px;font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--brand-text-accent, #003780)}.mrx-calendar-body__grid__item{display:flex;justify-content:center;align-items:center;border-radius:4px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);transition:background-color .3s}.mrx-calendar-body__grid__item--day{width:32px;height:32px}.mrx-calendar-body__grid__item--month,.mrx-calendar-body__grid__item--year{height:32px}.mrx-calendar-body__grid__item.hoverable{cursor:pointer}.mrx-calendar-body__grid__item.hoverable:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-body__grid__item.selected{background-color:var(--brand-bg-primary-default, #2A6AB8);color:var(--neutral-text-inverse, #FFF)}.mrx-calendar-body__grid__item.selected:hover{background-color:var(--brand-bg-primary-hover, #0F54AA)}.mrx-calendar-body__grid__item.other-month{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected{background-color:var(--brand-bg-secondary-default, #EDF5FF);color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected:hover{background-color:var(--brand-bg-secondary-hover, #BED6F1)}.mrx-calendar-body__grid__item.other-month:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body__grid__item.disabled{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DateCalendarComponent, selector: "mrx-date-calendar", inputs: { selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate" }, outputs: { dateSelected: "dateSelected", close: "close" }, ngImport: i0, template: "<div class=\"mrx-calendar\">\r\n <div class=\"mrx-calendar-header\">\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(-1)\" [disabled]=\"isPreviousMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(-1)\" [disabled]=\"isPreviousYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n <button class=\"mrx-calendar-header__button\" (click)=\"switchView()\">\r\n {{ headerText }}\r\n </button>\r\n\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(1)\" [disabled]=\"isNextMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(1)\" [disabled]=\"isNextYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-calendar-body\">\r\n @switch (view) {\r\n @case ('years') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--years\">\r\n @for (year of getYears(); let idx = $index; track idx) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--year\"\r\n [class.selected]=\"isYearSelected(year)\"\r\n [class.disabled]=\"isYearDisabled(year)\"\r\n [class.hoverable]=\"!isYearDisabled(year)\"\r\n (click)=\"selectYear(year)\"\r\n >\r\n {{ year }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case ('months') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--months\">\r\n @for (month of months; track month) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--month\"\r\n [class.selected]=\"isMonthSelected(month)\"\r\n [class.disabled]=\"isMonthDisabled(month)\"\r\n [class.hoverable]=\"!isMonthDisabled(month)\"\r\n (click)=\"selectMonth(month)\"\r\n >\r\n {{ monthNames[month] }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @default {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--days\">\r\n @for (day of daysOfWeek; track day) {\r\n <div class=\"mrx-calendar-body__grid__label\">{{ day }}</div>\r\n }\r\n\r\n @for (day of getCalendarDays(); track day) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--day\"\r\n [class.selected]=\"isSelected(day)\"\r\n [class.other-month]=\"day.month !== currentMonth\"\r\n [class.disabled]=\"!isDateEnabled(day)\"\r\n [class.hoverable]=\"isDateEnabled(day)\"\r\n (click)=\"selectDate(day)\"\r\n >\r\n {{ day.day }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n</div>\r\n", styles: [".mrx-calendar{width:272px;border-radius:4px;background-color:var(--brand-bg-tertiary-default, #FFF);box-shadow:0 1px 4px #3a3a3a4d}.mrx-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--neutral-bg-divider, #DBDFE5)}.mrx-calendar-header__button{border:none;border-radius:4px;background-color:transparent;padding:6px 12px;text-align:center;flex-grow:1;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);cursor:pointer;transition:background-color .3s}.mrx-calendar-header__button:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;transition:background-color .3s}.mrx-calendar-header__chevron:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron:disabled{cursor:default}.mrx-calendar-header__chevron:disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body{padding:8px 12px}.mrx-calendar-body__grid--days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.mrx-calendar-body__grid--months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.mrx-calendar-body__grid--years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;max-height:190px;overflow-y:auto}.mrx-calendar-body__grid__label{display:flex;justify-content:center;align-items:center;width:32px;height:32px;font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--brand-text-accent, #003780)}.mrx-calendar-body__grid__item{display:flex;justify-content:center;align-items:center;border-radius:4px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);transition:background-color .3s}.mrx-calendar-body__grid__item--day{width:32px;height:32px}.mrx-calendar-body__grid__item--month,.mrx-calendar-body__grid__item--year{height:32px}.mrx-calendar-body__grid__item.hoverable{cursor:pointer}.mrx-calendar-body__grid__item.hoverable:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-body__grid__item.selected{background-color:var(--brand-bg-primary-default, #2A6AB8);color:var(--neutral-text-inverse, #FFF)}.mrx-calendar-body__grid__item.selected:hover{background-color:var(--brand-bg-primary-hover, #0F54AA)}.mrx-calendar-body__grid__item.other-month{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected{background-color:var(--brand-bg-secondary-default, #EDF5FF);color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected:hover{background-color:var(--brand-bg-secondary-hover, #BED6F1)}.mrx-calendar-body__grid__item.other-month:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body__grid__item.disabled{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
207
207
  }
208
208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DateCalendarComponent, decorators: [{
209
209
  type: Component,
210
- args: [{ selector: 'mrx-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-calendar\">\r\n <div class=\"mrx-calendar-header\">\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(-1)\" [disabled]=\"isPreviousMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(-1)\" [disabled]=\"isPreviousYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n <button class=\"mrx-calendar-header__button\" (click)=\"switchView()\">\r\n {{ headerText }}\r\n </button>\r\n\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(1)\" [disabled]=\"isNextMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(1)\" [disabled]=\"isNextYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-calendar-body\">\r\n @switch (view) {\r\n @case ('years') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--years\">\r\n @for (year of getYears(); track year) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--year\"\r\n [class.selected]=\"isYearSelected(year)\"\r\n [class.disabled]=\"isYearDisabled(year)\"\r\n [class.hoverable]=\"!isYearDisabled(year)\"\r\n (click)=\"selectYear(year)\"\r\n >\r\n {{ year }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case ('months') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--months\">\r\n @for (month of months; track month) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--month\"\r\n [class.selected]=\"isMonthSelected(month)\"\r\n [class.disabled]=\"isMonthDisabled(month)\"\r\n [class.hoverable]=\"!isMonthDisabled(month)\"\r\n (click)=\"selectMonth(month)\"\r\n >\r\n {{ monthNames[month] }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @default {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--days\">\r\n @for (day of daysOfWeek; track day) {\r\n <div class=\"mrx-calendar-body__grid__label\">{{ day }}</div>\r\n }\r\n\r\n @for (day of getCalendarDays(); track day) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--day\"\r\n [class.selected]=\"isSelected(day)\"\r\n [class.other-month]=\"day.month !== currentMonth\"\r\n [class.disabled]=\"!isDateEnabled(day)\"\r\n [class.hoverable]=\"isDateEnabled(day)\"\r\n (click)=\"selectDate(day)\"\r\n >\r\n {{ day.day }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n</div>\r\n", styles: [".mrx-calendar{width:272px;border-radius:4px;background-color:var(--brand-bg-tertiary-default, #FFF);box-shadow:0 1px 4px #3a3a3a4d}.mrx-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--neutral-bg-divider, #DBDFE5)}.mrx-calendar-header__button{border:none;border-radius:4px;background-color:transparent;padding:6px 12px;text-align:center;flex-grow:1;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);cursor:pointer;transition:background-color .3s}.mrx-calendar-header__button:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;transition:background-color .3s}.mrx-calendar-header__chevron:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron:disabled{cursor:default}.mrx-calendar-header__chevron:disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body{padding:8px 12px}.mrx-calendar-body__grid--days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.mrx-calendar-body__grid--months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.mrx-calendar-body__grid--years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;max-height:190px;overflow-y:auto}.mrx-calendar-body__grid__label{display:flex;justify-content:center;align-items:center;width:32px;height:32px;font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--brand-text-accent, #003780)}.mrx-calendar-body__grid__item{display:flex;justify-content:center;align-items:center;border-radius:4px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);transition:background-color .3s}.mrx-calendar-body__grid__item--day{width:32px;height:32px}.mrx-calendar-body__grid__item--month,.mrx-calendar-body__grid__item--year{height:32px}.mrx-calendar-body__grid__item.hoverable{cursor:pointer}.mrx-calendar-body__grid__item.hoverable:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-body__grid__item.selected{background-color:var(--brand-bg-primary-default, #2A6AB8);color:var(--neutral-text-inverse, #FFF)}.mrx-calendar-body__grid__item.selected:hover{background-color:var(--brand-bg-primary-hover, #0F54AA)}.mrx-calendar-body__grid__item.other-month{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected{background-color:var(--brand-bg-secondary-default, #EDF5FF);color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected:hover{background-color:var(--brand-bg-secondary-hover, #BED6F1)}.mrx-calendar-body__grid__item.other-month:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body__grid__item.disabled{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}\n"] }]
210
+ args: [{ selector: 'mrx-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-calendar\">\r\n <div class=\"mrx-calendar-header\">\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(-1)\" [disabled]=\"isPreviousMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(-1)\" [disabled]=\"isPreviousYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-left icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n <button class=\"mrx-calendar-header__button\" (click)=\"switchView()\">\r\n {{ headerText }}\r\n </button>\r\n\r\n @if (view === 'days') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeMonth(1)\" [disabled]=\"isNextMonthDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n\r\n @if (view === 'years') {\r\n <button class=\"mrx-calendar-header__chevron\" (click)=\"changeYearRange(1)\" [disabled]=\"isNextYearRangeDisabled()\">\r\n <span class=\"mrx-icon icon-chevron-right icon-font-16\"></span>\r\n </button>\r\n }\r\n </div>\r\n\r\n <div class=\"mrx-calendar-body\">\r\n @switch (view) {\r\n @case ('years') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--years\">\r\n @for (year of getYears(); let idx = $index; track idx) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--year\"\r\n [class.selected]=\"isYearSelected(year)\"\r\n [class.disabled]=\"isYearDisabled(year)\"\r\n [class.hoverable]=\"!isYearDisabled(year)\"\r\n (click)=\"selectYear(year)\"\r\n >\r\n {{ year }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @case ('months') {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--months\">\r\n @for (month of months; track month) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--month\"\r\n [class.selected]=\"isMonthSelected(month)\"\r\n [class.disabled]=\"isMonthDisabled(month)\"\r\n [class.hoverable]=\"!isMonthDisabled(month)\"\r\n (click)=\"selectMonth(month)\"\r\n >\r\n {{ monthNames[month] }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n @default {\r\n <div class=\"mrx-calendar-body__grid mrx-calendar-body__grid--days\">\r\n @for (day of daysOfWeek; track day) {\r\n <div class=\"mrx-calendar-body__grid__label\">{{ day }}</div>\r\n }\r\n\r\n @for (day of getCalendarDays(); track day) {\r\n <div\r\n class=\"mrx-calendar-body__grid__item mrx-calendar-body__grid__item--day\"\r\n [class.selected]=\"isSelected(day)\"\r\n [class.other-month]=\"day.month !== currentMonth\"\r\n [class.disabled]=\"!isDateEnabled(day)\"\r\n [class.hoverable]=\"isDateEnabled(day)\"\r\n (click)=\"selectDate(day)\"\r\n >\r\n {{ day.day }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n</div>\r\n", styles: [".mrx-calendar{width:272px;border-radius:4px;background-color:var(--brand-bg-tertiary-default, #FFF);box-shadow:0 1px 4px #3a3a3a4d}.mrx-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--neutral-bg-divider, #DBDFE5)}.mrx-calendar-header__button{border:none;border-radius:4px;background-color:transparent;padding:6px 12px;text-align:center;flex-grow:1;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);cursor:pointer;transition:background-color .3s}.mrx-calendar-header__button:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border:none;border-radius:4px;background-color:transparent;cursor:pointer;transition:background-color .3s}.mrx-calendar-header__chevron:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-header__chevron:disabled{cursor:default}.mrx-calendar-header__chevron:disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body{padding:8px 12px}.mrx-calendar-body__grid--days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.mrx-calendar-body__grid--months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.mrx-calendar-body__grid--years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;max-height:190px;overflow-y:auto}.mrx-calendar-body__grid__label{display:flex;justify-content:center;align-items:center;width:32px;height:32px;font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--brand-text-accent, #003780)}.mrx-calendar-body__grid__item{display:flex;justify-content:center;align-items:center;border-radius:4px;font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary, #262626);transition:background-color .3s}.mrx-calendar-body__grid__item--day{width:32px;height:32px}.mrx-calendar-body__grid__item--month,.mrx-calendar-body__grid__item--year{height:32px}.mrx-calendar-body__grid__item.hoverable{cursor:pointer}.mrx-calendar-body__grid__item.hoverable:hover{background-color:var(--brand-bg-tertiary-hover, #EDF5FF)}.mrx-calendar-body__grid__item.selected{background-color:var(--brand-bg-primary-default, #2A6AB8);color:var(--neutral-text-inverse, #FFF)}.mrx-calendar-body__grid__item.selected:hover{background-color:var(--brand-bg-primary-hover, #0F54AA)}.mrx-calendar-body__grid__item.other-month{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected{background-color:var(--brand-bg-secondary-default, #EDF5FF);color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.other-month.selected:hover{background-color:var(--brand-bg-secondary-hover, #BED6F1)}.mrx-calendar-body__grid__item.other-month:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}.mrx-calendar-body__grid__item.disabled{background-color:transparent;color:var(--neutral-text-tertiary, #71767E)}.mrx-calendar-body__grid__item.disabled:hover{background-color:var(--neutral-bg-island-default, #F8F9FA)}\n"] }]
211
211
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { selectedDate: [{
212
212
  type: Input
213
213
  }], dateSelected: [{
@@ -219,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
219
219
  }], maxDate: [{
220
220
  type: Input
221
221
  }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1kYXRlL2NvbXBvbmVudHMvZGF0ZS1jYWxlbmRhci9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2lucHV0LWRhdGUvY29tcG9uZW50cy9kYXRlLWNhbGVuZGFyL2RhdGUtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFRdEUsTUFBTSxPQUFPLHFCQUFxQjtJQXFCWjtJQXBCWCxZQUFZLEdBQWdCLElBQUksQ0FBQztJQUNoQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUN4QyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUUzQyxZQUFZLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QyxXQUFXLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQyxJQUFJLEdBQWdDLE1BQU0sQ0FBQztJQUNsQyxVQUFVLEdBQWE7UUFDOUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNO1FBQ3BELE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUztLQUM3RCxD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LENBQUM7UUFDdkUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXBGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLGFBQWEsR0FBRyxhQUFhLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlGLENBQUM7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFD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RWEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQTZCSCxPQUFPO3NCQURWLEtBQUs7Z0JBY0YsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xlYW5EYXRlLCBpc0RhdGVJblJhbmdlIH0gZnJvbSAnLi4vLi4vaGVscGVycy9kYXRlLWhlbHBlcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZGF0ZS1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC5sZXNzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBzZWxlY3RlZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBAT3V0cHV0KCkgZGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY3VycmVudE1vbnRoOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldE1vbnRoKCk7XHJcbiAgY3VycmVudFllYXI6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcclxuICB2aWV3OiAnZGF5cycgfCAnbW9udGhzJyB8ICd5ZWFycycgPSAnZGF5cyc7XHJcbiAgcmVhZG9ubHkgbW9udGhOYW1lczogc3RyaW5nW10gPSBbXHJcbiAgICAn0K/QvdCy0LDRgNGMJywgJ9Ck0LXQstGA0LDQu9GMJywgJ9Cc0LDRgNGCJywgJ9CQ0L/RgNC10LvRjCcsICfQnNCw0LknLCAn0JjRjtC90YwnLFxyXG4gICAgJ9CY0Y7Qu9GMJywgJ9CQ0LLQs9GD0YHRgicsICfQodC10L3RgtGP0LHRgNGMJywgJ9Ce0LrRgtGP0LHRgNGMJywgJ9Cd0L7Rj9Cx0YDRjCcsICfQlNC10LrQsNCx0YDRjCdcclxuICBdO1xyXG4gIHJlYWRvbmx5IGRheXNPZldlZWs6IHN0cmluZ1tdID0gWyfQn9CdJywgJ9CS0KInLCAn0KHQoCcsICfQp9CiJywgJ9Cf0KInLCAn0KHQkScsICfQktChJ107XHJcbiAgcmVhZG9ubHkgbW9udGhzOiBudW1iZXJbXSA9IFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTFdO1xyXG5cclxuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX21pbkRhdGVTdHI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX21heERhdGVTdHI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgY2FsZW5kYXJEYXlzQ2FjaGU6IHsgbW9udGg6IG51bWJlcjsgeWVhcjogbnVtYmVyOyBkYXlzOiB7IGRheTogbnVtYmVyLCBtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIgfVtdIH0gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRNb250aCA9IHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCk7XHJcbiAgICAgIHRoaXMuY3VycmVudFllYXIgPSB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVEYXRlQm91bmRzKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBtaW5EYXRlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICBpZiAodGhpcy5fbWluRGF0ZVN0ciAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5fbWluRGF0ZVN0ciA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZURhdGVCb3VuZHMoKTtcclxuICAgICAgdGhpcy5fZGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgbWluRGF0ZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9taW5EYXRlU3RyO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgbWF4RGF0ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHRoaXMuX21heERhdGVTdHIgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX21heERhdGVTdHIgPSB2YWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVEYXRlQm91bmRzKCk7XHJcbiAgICAgIHRoaXMuX2RldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IG1heERhdGUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZVN0cjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRGF0ZUJvdW5kcygpIHtcclxuICAgIHRoaXMuX21pbkRhdGUgPSB0aGlzLl9taW5EYXRlU3RyID8gY2xlYW5EYXRlKHRoaXMuX21pbkRhdGVTdHIpIDogbnVsbDtcclxuICAgIHRoaXMuX21heERhdGUgPSB0aGlzLl9tYXhEYXRlU3RyID8gY2xlYW5EYXRlKHRoaXMuX21heERhdGVTdHIpIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldCBoZWFkZXJUZXh0KCk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHRoaXMudmlldykge1xyXG4gICAgICBjYXNlICdkYXlzJzpcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5tb250aE5hbWVzW3RoaXMuY3VycmVudE1vbnRoXX0gJHt0aGlzLmN1cnJlbnRZZWFyfWA7XHJcbiAgICAgIGNhc2UgJ21vbnRocyc6XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuY3VycmVudFllYXJ9YDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ9CS0YvQsdC10YDQuNGC0LUg0LPQvtC0JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN3aXRjaFZpZXcoKSB7XHJcbiAgICB0aGlzLnZpZXcgPSB0aGlzLnZpZXcgPT09ICdkYXlzJyA/ICdtb250aHMnIDogdGhpcy52aWV3ID09PSAnbW9udGhzJyA/ICd5ZWFycycgOiAnZGF5cyc7XHJcbiAgICB0aGlzLl9kZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGdldENhbGVuZGFyRGF5cygpOiB7IGRheTogbnVtYmVyLCBtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIgfVtdIHtcclxuICAgIGlmICh0aGlzLmNhbGVuZGFyRGF5c0NhY2hlPy5tb250aCA9PT0gdGhpcy5jdXJyZW50TW9udGggJiYgdGhpcy5jYWxlbmRhckRheXNDYWNoZT8ueWVhciA9PT0gdGhpcy5jdXJyZW50WWVhcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5jYWxlbmRhckRheXNDYWNoZS5kYXlzO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUodGhpcy5jdXJyZW50WWVhciwgdGhpcy5jdXJyZW50TW9udGggKyAxLCAwKS5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBwcmV2TW9udGhEYXlzID0gbmV3IERhdGUodGhpcy5jdXJyZW50WWVhciwgdGhpcy5jdXJyZW50TW9udGgsIDApLmdldERhdGUoKTtcclxuXHJcbiAgICBjb25zdCBkYXlzOiB7IGRheTogbnVtYmVyLCBtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIgfVtdID0gW107XHJcbiAgICBjb25zdCBwcmV2RGF5c0NvdW50ID0gMjtcclxuICAgIGNvbnN0IHByZXZNb250aCA9IHRoaXMuY3VycmVudE1vbnRoID09PSAwID8gMTEgOiB0aGlzLmN1cnJlbnRNb250aCAtIDE7XHJcbiAgICBjb25zdCBwcmV2WWVhciA9IHRoaXMuY3VycmVudE1vbnRoID09PSAwID8gdGhpcy5jdXJyZW50WWVhciAtIDEgOiB0aGlzLmN1cnJlbnRZZWFyO1xyXG4gICAgY29uc3QgbmV4dE1vbnRoID0gdGhpcy5jdXJyZW50TW9udGggPT09IDExID8gMCA6IHRoaXMuY3VycmVudE1vbnRoICsgMTtcclxuICAgIGNvbnN0IG5leHRZZWFyID0gdGhpcy5jdXJyZW50TW9udGggPT09IDExID8gdGhpcy5jdXJyZW50WWVhciArIDEgOiB0aGlzLmN1cnJlbnRZZWFyO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldkRheXNDb3VudDsgaSsrKSB7XHJcbiAgICAgIGRheXMucHVzaCh7IGRheTogcHJldk1vbnRoRGF5cyAtIHByZXZEYXlzQ291bnQgKyAxICsgaSwgbW9udGg6IHByZXZNb250aCwgeWVhcjogcHJldlllYXIgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gZGF5c0luTW9udGg7IGkrKykge1xyXG4gICAgICBkYXlzLnB1c2goeyBkYXk6IGksIG1vbnRoOiB0aGlzLmN1cnJlbnRNb250aCwgeWVhcjogdGhpcy5jdXJyZW50WWVhciB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZW1haW5pbmdEYXlzID0gMzUgLSBkYXlzLmxlbmd0aDtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSByZW1haW5pbmdEYXlzOyBpKyspIHtcclxuICAgICAgZGF5cy5wdXNoKHsgZGF5OiBpLCBtb250aDogbmV4dE1vbnRoLCB5ZWFyOiBuZXh0WWVhciB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhbGVuZGFyRGF5c0NhY2hlID0geyBtb250aDogdGhpcy5jdXJyZW50TW9udGgsIHllYXI6IHRoaXMuY3VycmVudFllYXIsIGRheXMgfTtcclxuICAgIHJldHVybiBkYXlzO1xyXG4gIH1cclxuXHJcbiAgZ2V0WWVhcnMoKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgY2VudGVyWWVhciA9IHRoaXMuc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpID8/IHRoaXMuY3VycmVudFllYXI7XHJcbiAgICBjb25zdCBzdGFydFllYXIgPSBjZW50ZXJZZWFyIC0gNTtcclxuXHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IHN0YXJ0WWVhciArIGkpO1xyXG4gIH1cclxuXHJcbiAgaXNTZWxlY3RlZChkYXk6IHsgZGF5OiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIHllYXI6IG51bWJlciB9KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgZGF5LmRheSA9PT0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpICYmXHJcbiAgICAgIGRheS5tb250aCA9PT0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0TW9udGgoKSAmJlxyXG4gICAgICBkYXkueWVhciA9PT0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzTW9udGhTZWxlY3RlZChtb250aDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGU/LmdldE1vbnRoKCkgPT09IG1vbnRoICYmIHRoaXMuc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpID09PSB0aGlzLmN1cnJlbnRZZWFyO1xyXG4gIH1cclxuXHJcbiAgaXNZZWFyU2VsZWN0ZWQoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGU/LmdldEZ1bGxZZWFyKCkgPT09IHllYXI7XHJcbiAgfVxyXG5cclxuICBpc0RhdGVFbmFibGVkKGRheTogeyBkYXk6IG51bWJlciwgbW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyIH0pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXkueWVhciwgZGF5Lm1vbnRoLCBkYXkuZGF5KTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgICghdGhpcy5fbWluRGF0ZSB8fCBkYXRlID49IHRoaXMuX21pbkRhdGUpICYmXHJcbiAgICAgICghdGhpcy5fbWF4RGF0ZSB8fCBkYXRlIDw9IHRoaXMuX21heERhdGUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNNb250aERpc2FibGVkKG1vbnRoOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5fbWluRGF0ZSAmJiAhdGhpcy5fbWF4RGF0ZSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGNvbnN0IHN0YXJ0T2ZNb250aCA9IG5ldyBEYXRlKHRoaXMuY3VycmVudFllYXIsIG1vbnRoLCAxKTtcclxuICAgIGNvbnN0IGVuZE9mTW9udGggPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRZZWFyLCBtb250aCArIDEsIDApO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICghIXRoaXMuX21pbkRhdGUgJiYgIWlzTmFOKHRoaXMuX21pbkRhdGUuZ2V0VGltZSgpKSAmJiBlbmRPZk1vbnRoIDwgdGhpcy5fbWluRGF0ZSkgfHxcclxuICAgICAgKCEhdGhpcy5fbWF4RGF0ZSAmJiAhaXNOYU4odGhpcy5fbWF4RGF0ZS5nZXRUaW1lKCkpICYmIHN0YXJ0T2ZNb250aCA+IHRoaXMuX21heERhdGUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNZZWFyRGlzYWJsZWQoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuX21pbkRhdGUgJiYgIXRoaXMuX21heERhdGUpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBtaW5ZZWFyID0gdGhpcy5fbWluRGF0ZSAmJiAhaXNOYU4odGhpcy5fbWluRGF0ZS5nZXRUaW1lKCkpID8gdGhpcy5fbWluRGF0ZS5nZXRGdWxsWWVhcigpIDogbnVsbDtcclxuICAgIGNvbnN0IG1heFllYXIgPSB0aGlzLl9tYXhEYXRlICYmICFpc05hTih0aGlzLl9tYXhEYXRlLmdldFRpbWUoKSkgPyB0aGlzLl9tYXhEYXRlLmdldEZ1bGxZZWFyKCkgOiBudWxsO1xyXG5cclxuICAgIHJldHVybiAobWluWWVhciAhPT0gbnVsbCAmJiB5ZWFyIDwgbWluWWVhcikgfHwgKG1heFllYXIgIT09IG51bGwgJiYgeWVhciA+IG1heFllYXIpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RGF0ZShkYXk6IHsgZGF5OiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIHllYXI6IG51bWJlciB9KSB7XHJcbiAgICBpZiAoIXRoaXMuaXNEYXRlRW5hYmxlZChkYXkpKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRheS55ZWFyLCBkYXkubW9udGgsIGRheS5kYXkpO1xyXG5cclxuICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoZGF0ZSk7XHJcblxyXG4gICAgY29uc3QgbmVlZHNVcGRhdGUgPSBkYXkubW9udGggIT09IHRoaXMuY3VycmVudE1vbnRoIHx8IGRheS55ZWFyICE9PSB0aGlzLmN1cnJlbnRZZWFyO1xyXG5cclxuICAgIGlmIChuZWVkc1VwZGF0ZSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRNb250aCA9IGRheS5tb250aDtcclxuICAgICAgICB0aGlzLmN1cnJlbnRZZWFyID0gZGF5LnllYXI7XHJcblxyXG4gICAgICAgIHRoaXMuX2RldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0TW9udGgobW9udGg6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuaXNNb250aERpc2FibGVkKG1vbnRoKSkgcmV0dXJuO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmN1cnJlbnRNb250aCA9IG1vbnRoO1xyXG4gICAgICB0aGlzLnZpZXcgPSAnZGF5cyc7XHJcblxyXG4gICAgICB0aGlzLl9kZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZWxlY3RZZWFyKHllYXI6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuaXNZZWFyRGlzYWJsZWQoeWVhcikpIHJldHVybjtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jdXJyZW50WWVhciA9IHllYXI7XHJcbiAgICAgIHRoaXMudmlldyA9ICdtb250aHMnO1xyXG5cclxuICAgICAgdGhpcy5fZGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlTW9udGgob2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIGxldCBuZXdNb250aCA9IHRoaXMuY3VycmVudE1vbnRoICsgb2Zmc2V0O1xyXG4gICAgbGV0IG5ld1llYXIgPSB0aGlzLmN1cnJlbnRZZWFyO1xyXG5cclxuICAgIGlmIChuZXdNb250aCA8IDApIHtcclxuICAgICAgbmV3TW9udGggPSAxMTtcclxuICAgICAgbmV3WWVhci0tO1xyXG4gICAgfSBlbHNlIGlmIChuZXdNb250aCA+IDExKSB7XHJcbiAgICAgIG5ld01vbnRoID0gMDtcclxuICAgICAgbmV3WWVhcisrO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3VycmVudE1vbnRoID0gbmV3TW9udGg7XHJcbiAgICB0aGlzLmN1cnJlbnRZZWFyID0gbmV3WWVhcjtcclxuICAgIHRoaXMuX2RldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlWWVhclJhbmdlKG9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRZZWFyICs9IG9mZnNldCAqIDEyO1xyXG4gICAgdGhpcy5fZGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBpc1ByZXZpb3VzTW9udGhEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5fbWluRGF0ZSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoLCAwKSA8IHRoaXMuX21pbkRhdGU7XHJcbiAgfVxyXG5cclxuICBpc05leHRNb250aERpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLl9tYXhEYXRlKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jdXJyZW50WWVhciwgdGhpcy5jdXJyZW50TW9udGggKyAxLCAxKSA+IHRoaXMuX21heERhdGU7XHJcbiAgfVxyXG5cclxuICBpc1ByZXZpb3VzWWVhclJhbmdlRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuX21pbkRhdGUpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiB0aGlzLmdldFllYXJzKClbMF0gPD0gdGhpcy5fbWluRGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuXHJcbiAgaXNOZXh0WWVhclJhbmdlRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuX21heERhdGUpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiB0aGlzLmdldFllYXJzKClbdGhpcy5nZXRZZWFycygpLmxlbmd0aCAtIDFdID49IHRoaXMuX21heERhdGUuZ2V0RnVsbFllYXIoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1jYWxlbmRhclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtY2FsZW5kYXItaGVhZGVyXCI+XHJcbiAgICBAaWYgKHZpZXcgPT09ICdkYXlzJykge1xyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwibXJ4LWNhbGVuZGFyLWhlYWRlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VNb250aCgtMSlcIiBbZGlzYWJsZWRdPVwiaXNQcmV2aW91c01vbnRoRGlzYWJsZWQoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWxlZnQgaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuXHJcbiAgICBAaWYgKHZpZXcgPT09ICd5ZWFycycpIHtcclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1yeC1jYWxlbmRhci1oZWFkZXJfX2NoZXZyb25cIiAoY2xpY2spPVwiY2hhbmdlWWVhclJhbmdlKC0xKVwiIFtkaXNhYmxlZF09XCJpc1ByZXZpb3VzWWVhclJhbmdlRGlzYWJsZWQoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLWxlZnQgaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuXHJcbiAgICA8YnV0dG9uIGNsYXNzPVwibXJ4LWNhbGVuZGFyLWhlYWRlcl9fYnV0dG9uXCIgKGNsaWNrKT1cInN3aXRjaFZpZXcoKVwiPlxyXG4gICAgICB7eyBoZWFkZXJUZXh0IH19XHJcbiAgICA8L2J1dHRvbj5cclxuXHJcbiAgICBAaWYgKHZpZXcgPT09ICdkYXlzJykge1xyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwibXJ4LWNhbGVuZGFyLWhlYWRlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VNb250aCgxKVwiIFtkaXNhYmxlZF09XCJpc05leHRNb250aERpc2FibGVkKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2hldnJvbi1yaWdodCBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAodmlldyA9PT0gJ3llYXJzJykge1xyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwibXJ4LWNhbGVuZGFyLWhlYWRlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VZZWFyUmFuZ2UoMSlcIiBbZGlzYWJsZWRdPVwiaXNOZXh0WWVhclJhbmdlRGlzYWJsZWQoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLXJpZ2h0IGljb24tZm9udC0xNlwiPjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtcngtY2FsZW5kYXItYm9keVwiPlxyXG4gICAgQHN3aXRjaCAodmlldykge1xyXG4gICAgICBAY2FzZSAoJ3llYXJzJykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtcngtY2FsZW5kYXItYm9keV9fZ3JpZCBtcngtY2FsZW5kYXItYm9keV9fZ3JpZC0teWVhcnNcIj5cclxuICAgICAgICAgIEBmb3IgKHllYXIgb2YgZ2V0WWVhcnMoKTsgdHJhY2sgeWVhcikge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtY2FsZW5kYXItYm9keV9fZ3JpZF9faXRlbSBtcngtY2FsZW5kYXItYm9keV9fZ3JpZF9faXRlbS0teWVhclwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzWWVhclNlbGVjdGVkKHllYXIpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXNZZWFyRGlzYWJsZWQoeWVhcilcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5ob3ZlcmFibGVdPVwiIWlzWWVhckRpc2FibGVkKHllYXIpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0WWVhcih5ZWFyKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyB5ZWFyIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIEBjYXNlICgnbW9udGhzJykge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtcngtY2FsZW5kYXItYm9keV9fZ3JpZCBtcngtY2FsZW5kYXItYm9keV9fZ3JpZC0tbW9udGhzXCI+XHJcbiAgICAgICAgICBAZm9yIChtb250aCBvZiBtb250aHM7IHRyYWNrIG1vbnRoKSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cIm1yeC1jYWxlbmRhci1ib2R5X19ncmlkX19pdGVtIG1yeC1jYWxlbmRhci1ib2R5X19ncmlkX19pdGVtLS1tb250aFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzTW9udGhTZWxlY3RlZChtb250aClcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJpc01vbnRoRGlzYWJsZWQobW9udGgpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaG92ZXJhYmxlXT1cIiFpc01vbnRoRGlzYWJsZWQobW9udGgpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TW9udGgobW9udGgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IG1vbnRoTmFtZXNbbW9udGhdIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIEBkZWZhdWx0IHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWNhbGVuZGFyLWJvZHlfX2dyaWQgbXJ4LWNhbGVuZGFyLWJvZHlfX2dyaWQtLWRheXNcIj5cclxuICAgICAgICAgIEBmb3IgKGRheSBvZiBkYXlzT2ZXZWVrOyB0cmFjayBkYXkpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1jYWxlbmRhci1ib2R5X19ncmlkX19sYWJlbFwiPnt7IGRheSB9fTwvZGl2PlxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIEBmb3IgKGRheSBvZiBnZXRDYWxlbmRhckRheXMoKTsgdHJhY2sgZGF5KSB7XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cIm1yeC1jYWxlbmRhci1ib2R5X19ncmlkX19pdGVtIG1yeC1jYWxlbmRhci1ib2R5X19ncmlkX19pdGVtLS1kYXlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NlbGVjdGVkKGRheSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5vdGhlci1tb250aF09XCJkYXkubW9udGggIT09IGN1cnJlbnRNb250aFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiFpc0RhdGVFbmFibGVkKGRheSlcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5ob3ZlcmFibGVdPVwiaXNEYXRlRW5hYmxlZChkYXkpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShkYXkpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGRheS5kYXkgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1kYXRlL2NvbXBvbmVudHMvZGF0ZS1jYWxlbmRhci9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2lucHV0LWRhdGUvY29tcG9uZW50cy9kYXRlLWNhbGVuZGFyL2RhdGUtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFRdEUsTUFBTSxPQUFPLHFCQUFxQjtJQXFCWjtJQXBCWCxZQUFZLEdBQWdCLElBQUksQ0FBQztJQUNoQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUN4QyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUUzQyxZQUFZLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QyxXQUFXLEdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQyxJQUFJLEdBQWdDLE1BQU0sQ0FBQztJQUNsQyxVQUFVLEdBQWE7UUFDOUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNO1FBQ3BELE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUztLQUM3RCxD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LENBQUM7UUFDdkUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRXBGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLGFBQWEsR0FBRyxhQUFhLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlGLENBQUM7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFD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bUJBR1osdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkE2QkgsT0FBTztzQkFEVixLQUFLO2dCQWNGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsZWFuRGF0ZSwgaXNEYXRlSW5SYW5nZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZGF0ZS1oZWxwZXJzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWRhdGUtY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGF0ZS1jYWxlbmRhci5jb21wb25lbnQubGVzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGN1cnJlbnRNb250aDogbnVtYmVyID0gbmV3IERhdGUoKS5nZXRNb250aCgpO1xyXG4gIGN1cnJlbnRZZWFyOiBudW1iZXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7XHJcbiAgdmlldzogJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnID0gJ2RheXMnO1xyXG4gIHJlYWRvbmx5IG1vbnRoTmFtZXM6IHN0cmluZ1tdID0gW1xyXG4gICAgJ9Cv0L3QstCw0YDRjCcsICfQpNC10LLRgNCw0LvRjCcsICfQnNCw0YDRgicsICfQkNC/0YDQtdC70YwnLCAn0JzQsNC5JywgJ9CY0Y7QvdGMJyxcclxuICAgICfQmNGO0LvRjCcsICfQkNCy0LPRg9GB0YInLCAn0KHQtdC90YLRj9Cx0YDRjCcsICfQntC60YLRj9Cx0YDRjCcsICfQndC+0Y/QsdGA0YwnLCAn0JTQtdC60LDQsdGA0YwnXHJcbiAgXTtcclxuICByZWFkb25seSBkYXlzT2ZXZWVrOiBzdHJpbmdbXSA9IFsn0J/QnScsICfQktCiJywgJ9Ch0KAnLCAn0KfQoicsICfQn9CiJywgJ9Ch0JEnLCAn0JLQoSddO1xyXG4gIHJlYWRvbmx5IG1vbnRoczogbnVtYmVyW10gPSBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExXTtcclxuXHJcbiAgcHJpdmF0ZSBfbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX21heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9taW5EYXRlU3RyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9tYXhEYXRlU3RyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGNhbGVuZGFyRGF5c0NhY2hlOiB7IG1vbnRoOiBudW1iZXI7IHllYXI6IG51bWJlcjsgZGF5czogeyBkYXk6IG51bWJlciwgbW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyIH1bXSB9IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TW9udGggPSB0aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRZZWFyID0gdGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlRGF0ZUJvdW5kcygpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgbWluRGF0ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHRoaXMuX21pbkRhdGVTdHIgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX21pbkRhdGVTdHIgPSB2YWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVEYXRlQm91bmRzKCk7XHJcbiAgICAgIHRoaXMuX2RldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbkRhdGUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWluRGF0ZVN0cjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG1heERhdGUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIGlmICh0aGlzLl9tYXhEYXRlU3RyICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9tYXhEYXRlU3RyID0gdmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlRGF0ZUJvdW5kcygpO1xyXG4gICAgICB0aGlzLl9kZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBtYXhEYXRlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX21heERhdGVTdHI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZURhdGVCb3VuZHMoKSB7XHJcbiAgICB0aGlzLl9taW5EYXRlID0gdGhpcy5fbWluRGF0ZVN0ciA/IGNsZWFuRGF0ZSh0aGlzLl9taW5EYXRlU3RyKSA6IG51bGw7XHJcbiAgICB0aGlzLl9tYXhEYXRlID0gdGhpcy5fbWF4RGF0ZVN0ciA/IGNsZWFuRGF0ZSh0aGlzLl9tYXhEYXRlU3RyKSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXQgaGVhZGVyVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLnZpZXcpIHtcclxuICAgICAgY2FzZSAnZGF5cyc6XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMubW9udGhOYW1lc1t0aGlzLmN1cnJlbnRNb250aF19ICR7dGhpcy5jdXJyZW50WWVhcn1gO1xyXG4gICAgICBjYXNlICdtb250aHMnOlxyXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmN1cnJlbnRZZWFyfWA7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICfQktGL0LHQtdGA0LjRgtC1INCz0L7QtCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hWaWV3KCkge1xyXG4gICAgdGhpcy52aWV3ID0gdGhpcy52aWV3ID09PSAnZGF5cycgPyAnbW9udGhzJyA6IHRoaXMudmlldyA9PT0gJ21vbnRocycgPyAneWVhcnMnIDogJ2RheXMnO1xyXG4gICAgdGhpcy5fZGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDYWxlbmRhckRheXMoKTogeyBkYXk6IG51bWJlciwgbW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyIH1bXSB7XHJcbiAgICBpZiAodGhpcy5jYWxlbmRhckRheXNDYWNoZT8ubW9udGggPT09IHRoaXMuY3VycmVudE1vbnRoICYmIHRoaXMuY2FsZW5kYXJEYXlzQ2FjaGU/LnllYXIgPT09IHRoaXMuY3VycmVudFllYXIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXJEYXlzQ2FjaGUuZGF5cztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IG5ldyBEYXRlKHRoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoICsgMSwgMCkuZ2V0RGF0ZSgpO1xyXG4gICAgY29uc3QgcHJldk1vbnRoRGF5cyA9IG5ldyBEYXRlKHRoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoLCAwKS5nZXREYXRlKCk7XHJcblxyXG4gICAgY29uc3QgZGF5czogeyBkYXk6IG51bWJlciwgbW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyIH1bXSA9IFtdO1xyXG4gICAgY29uc3QgcHJldkRheXNDb3VudCA9IDI7XHJcbiAgICBjb25zdCBwcmV2TW9udGggPSB0aGlzLmN1cnJlbnRNb250aCA9PT0gMCA/IDExIDogdGhpcy5jdXJyZW50TW9udGggLSAxO1xyXG4gICAgY29uc3QgcHJldlllYXIgPSB0aGlzLmN1cnJlbnRNb250aCA9PT0gMCA/IHRoaXMuY3VycmVudFllYXIgLSAxIDogdGhpcy5jdXJyZW50WWVhcjtcclxuICAgIGNvbnN0IG5leHRNb250aCA9IHRoaXMuY3VycmVudE1vbnRoID09PSAxMSA/IDAgOiB0aGlzLmN1cnJlbnRNb250aCArIDE7XHJcbiAgICBjb25zdCBuZXh0WWVhciA9IHRoaXMuY3VycmVudE1vbnRoID09PSAxMSA/IHRoaXMuY3VycmVudFllYXIgKyAxIDogdGhpcy5jdXJyZW50WWVhcjtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZEYXlzQ291bnQ7IGkrKykge1xyXG4gICAgICBkYXlzLnB1c2goeyBkYXk6IHByZXZNb250aERheXMgLSBwcmV2RGF5c0NvdW50ICsgMSArIGksIG1vbnRoOiBwcmV2TW9udGgsIHllYXI6IHByZXZZZWFyIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IGRheXNJbk1vbnRoOyBpKyspIHtcclxuICAgICAgZGF5cy5wdXNoKHsgZGF5OiBpLCBtb250aDogdGhpcy5jdXJyZW50TW9udGgsIHllYXI6IHRoaXMuY3VycmVudFllYXIgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVtYWluaW5nRGF5cyA9IDM1IC0gZGF5cy5sZW5ndGg7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gcmVtYWluaW5nRGF5czsgaSsrKSB7XHJcbiAgICAgIGRheXMucHVzaCh7IGRheTogaSwgbW9udGg6IG5leHRNb250aCwgeWVhcjogbmV4dFllYXIgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jYWxlbmRhckRheXNDYWNoZSA9IHsgbW9udGg6IHRoaXMuY3VycmVudE1vbnRoLCB5ZWFyOiB0aGlzLmN1cnJlbnRZZWFyLCBkYXlzIH07XHJcbiAgICByZXR1cm4gZGF5cztcclxuICB9XHJcblxyXG4gIGdldFllYXJzKCk6IG51bWJlcltdIHtcclxuICAgIGNvbnN0IGNlbnRlclllYXIgPSB0aGlzLmN1cnJlbnRZZWFyO1xyXG4gICAgY29uc3Qgc3RhcnRZZWFyID0gY2VudGVyWWVhciAtIDU7XHJcblxyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PiBzdGFydFllYXIgKyBpKTtcclxuICB9XHJcblxyXG4gIGlzU2VsZWN0ZWQoZGF5OiB7IGRheTogbnVtYmVyLCBtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIgfSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIGRheS5kYXkgPT09IHRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSAmJlxyXG4gICAgICBkYXkubW9udGggPT09IHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkgJiZcclxuICAgICAgZGF5LnllYXIgPT09IHRoaXMuc2VsZWN0ZWREYXRlLmdldEZ1bGxZZWFyKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBpc01vbnRoU2VsZWN0ZWQobW9udGg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlPy5nZXRNb250aCgpID09PSBtb250aCAmJiB0aGlzLnNlbGVjdGVkRGF0ZT8uZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy5jdXJyZW50WWVhcjtcclxuICB9XHJcblxyXG4gIGlzWWVhclNlbGVjdGVkKHllYXI6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlPy5nZXRGdWxsWWVhcigpID09PSB5ZWFyO1xyXG4gIH1cclxuXHJcbiAgaXNEYXRlRW5hYmxlZChkYXk6IHsgZGF5OiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIHllYXI6IG51bWJlciB9KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF5LnllYXIsIGRheS5tb250aCwgZGF5LmRheSk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAoIXRoaXMuX21pbkRhdGUgfHwgZGF0ZSA+PSB0aGlzLl9taW5EYXRlKSAmJlxyXG4gICAgICAoIXRoaXMuX21heERhdGUgfHwgZGF0ZSA8PSB0aGlzLl9tYXhEYXRlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzTW9udGhEaXNhYmxlZChtb250aDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuX21pbkRhdGUgJiYgIXRoaXMuX21heERhdGUpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBjb25zdCBzdGFydE9mTW9udGggPSBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRZZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBlbmRPZk1vbnRoID0gbmV3IERhdGUodGhpcy5jdXJyZW50WWVhciwgbW9udGggKyAxLCAwKTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAoISF0aGlzLl9taW5EYXRlICYmICFpc05hTih0aGlzLl9taW5EYXRlLmdldFRpbWUoKSkgJiYgZW5kT2ZNb250aCA8IHRoaXMuX21pbkRhdGUpIHx8XHJcbiAgICAgICghIXRoaXMuX21heERhdGUgJiYgIWlzTmFOKHRoaXMuX21heERhdGUuZ2V0VGltZSgpKSAmJiBzdGFydE9mTW9udGggPiB0aGlzLl9tYXhEYXRlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzWWVhckRpc2FibGVkKHllYXI6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLl9taW5EYXRlICYmICF0aGlzLl9tYXhEYXRlKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgbWluWWVhciA9IHRoaXMuX21pbkRhdGUgJiYgIWlzTmFOKHRoaXMuX21pbkRhdGUuZ2V0VGltZSgpKSA/IHRoaXMuX21pbkRhdGUuZ2V0RnVsbFllYXIoKSA6IG51bGw7XHJcbiAgICBjb25zdCBtYXhZZWFyID0gdGhpcy5fbWF4RGF0ZSAmJiAhaXNOYU4odGhpcy5fbWF4RGF0ZS5nZXRUaW1lKCkpID8gdGhpcy5fbWF4RGF0ZS5nZXRGdWxsWWVhcigpIDogbnVsbDtcclxuXHJcbiAgICByZXR1cm4gKG1pblllYXIgIT09IG51bGwgJiYgeWVhciA8IG1pblllYXIpIHx8IChtYXhZZWFyICE9PSBudWxsICYmIHllYXIgPiBtYXhZZWFyKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdERhdGUoZGF5OiB7IGRheTogbnVtYmVyLCBtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIgfSkge1xyXG4gICAgaWYgKCF0aGlzLmlzRGF0ZUVuYWJsZWQoZGF5KSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXkueWVhciwgZGF5Lm1vbnRoLCBkYXkuZGF5KTtcclxuXHJcbiAgICB0aGlzLmRhdGVTZWxlY3RlZC5lbWl0KGRhdGUpO1xyXG5cclxuICAgIGNvbnN0IG5lZWRzVXBkYXRlID0gZGF5Lm1vbnRoICE9PSB0aGlzLmN1cnJlbnRNb250aCB8fCBkYXkueWVhciAhPT0gdGhpcy5jdXJyZW50WWVhcjtcclxuXHJcbiAgICBpZiAobmVlZHNVcGRhdGUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBkYXkubW9udGg7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50WWVhciA9IGRheS55ZWFyO1xyXG5cclxuICAgICAgICB0aGlzLl9kZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdE1vbnRoKG1vbnRoOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmlzTW9udGhEaXNhYmxlZChtb250aCkpIHJldHVybjtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBtb250aDtcclxuICAgICAgdGhpcy52aWV3ID0gJ2RheXMnO1xyXG5cclxuICAgICAgdGhpcy5fZGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0WWVhcih5ZWFyOiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmlzWWVhckRpc2FibGVkKHllYXIpKSByZXR1cm47XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudFllYXIgPSB5ZWFyO1xyXG4gICAgICB0aGlzLnZpZXcgPSAnbW9udGhzJztcclxuXHJcbiAgICAgIHRoaXMuX2RldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGNoYW5nZU1vbnRoKG9mZnNldDogbnVtYmVyKSB7XHJcbiAgICBsZXQgbmV3TW9udGggPSB0aGlzLmN1cnJlbnRNb250aCArIG9mZnNldDtcclxuICAgIGxldCBuZXdZZWFyID0gdGhpcy5jdXJyZW50WWVhcjtcclxuXHJcbiAgICBpZiAobmV3TW9udGggPCAwKSB7XHJcbiAgICAgIG5ld01vbnRoID0gMTE7XHJcbiAgICAgIG5ld1llYXItLTtcclxuICAgIH0gZWxzZSBpZiAobmV3TW9udGggPiAxMSkge1xyXG4gICAgICBuZXdNb250aCA9IDA7XHJcbiAgICAgIG5ld1llYXIrKztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmN1cnJlbnRNb250aCA9IG5ld01vbnRoO1xyXG4gICAgdGhpcy5jdXJyZW50WWVhciA9IG5ld1llYXI7XHJcbiAgICB0aGlzLl9kZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVllYXJSYW5nZShvZmZzZXQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5jdXJyZW50WWVhciArPSBvZmZzZXQgKiAxMjtcclxuICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGlzUHJldmlvdXNNb250aERpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLl9taW5EYXRlKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jdXJyZW50WWVhciwgdGhpcy5jdXJyZW50TW9udGgsIDApIDwgdGhpcy5fbWluRGF0ZTtcclxuICB9XHJcblxyXG4gIGlzTmV4dE1vbnRoRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuX21heERhdGUpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmN1cnJlbnRZZWFyLCB0aGlzLmN1cnJlbnRNb250aCArIDEsIDEpID4gdGhpcy5fbWF4RGF0ZTtcclxuICB9XHJcblxyXG4gIGlzUHJldmlvdXNZZWFyUmFuZ2VEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5fbWluRGF0ZSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0WWVhcnMoKVswXSA8PSB0aGlzLl9taW5EYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgfVxyXG5cclxuICBpc05leHRZZWFyUmFuZ2VEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5fbWF4RGF0ZSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0WWVhcnMoKVt0aGlzLmdldFllYXJzKCkubGVuZ3RoIC0gMV0gPj0gdGhpcy5fbWF4RGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWNhbGVuZGFyXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1jYWxlbmRhci1oZWFkZXJcIj5cclxuICAgIEBpZiAodmlldyA9PT0gJ2RheXMnKSB7XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJtcngtY2FsZW5kYXItaGVhZGVyX19jaGV2cm9uXCIgKGNsaWNrKT1cImNoYW5nZU1vbnRoKC0xKVwiIFtkaXNhYmxlZF09XCJpc1ByZXZpb3VzTW9udGhEaXNhYmxlZCgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tbGVmdCBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAodmlldyA9PT0gJ3llYXJzJykge1xyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwibXJ4LWNhbGVuZGFyLWhlYWRlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VZZWFyUmFuZ2UoLTEpXCIgW2Rpc2FibGVkXT1cImlzUHJldmlvdXNZZWFyUmFuZ2VEaXNhYmxlZCgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tbGVmdCBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG5cclxuICAgIDxidXR0b24gY2xhc3M9XCJtcngtY2FsZW5kYXItaGVhZGVyX19idXR0b25cIiAoY2xpY2spPVwic3dpdGNoVmlldygpXCI+XHJcbiAgICAgIHt7IGhlYWRlclRleHQgfX1cclxuICAgIDwvYnV0dG9uPlxyXG5cclxuICAgIEBpZiAodmlldyA9PT0gJ2RheXMnKSB7XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJtcngtY2FsZW5kYXItaGVhZGVyX19jaGV2cm9uXCIgKGNsaWNrKT1cImNoYW5nZU1vbnRoKDEpXCIgW2Rpc2FibGVkXT1cImlzTmV4dE1vbnRoRGlzYWJsZWQoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jaGV2cm9uLXJpZ2h0IGljb24tZm9udC0xNlwiPjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICh2aWV3ID09PSAneWVhcnMnKSB7XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJtcngtY2FsZW5kYXItaGVhZGVyX19jaGV2cm9uXCIgKGNsaWNrKT1cImNoYW5nZVllYXJSYW5nZSgxKVwiIFtkaXNhYmxlZF09XCJpc05leHRZZWFyUmFuZ2VEaXNhYmxlZCgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNoZXZyb24tcmlnaHQgaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1jYWxlbmRhci1ib2R5XCI+XHJcbiAgICBAc3dpdGNoICh2aWV3KSB7XHJcbiAgICAgIEBjYXNlICgneWVhcnMnKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1jYWxlbmRhci1ib2R5X19ncmlkIG1yeC1jYWxlbmRhci1ib2R5X19ncmlkLS15ZWFyc1wiPlxyXG4gICAgICAgICAgQGZvciAoeWVhciBvZiBnZXRZZWFycygpOyBsZXQgaWR4ID0gJGluZGV4OyB0cmFjayBpZHgpIHtcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWNhbGVuZGFyLWJvZHlfX2dyaWRfX2l0ZW0gbXJ4LWNhbGVuZGFyLWJvZHlfX2dyaWRfX2l0ZW0tLXllYXJcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1llYXJTZWxlY3RlZCh5ZWFyKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImlzWWVhckRpc2FibGVkKHllYXIpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaG92ZXJhYmxlXT1cIiFpc1llYXJEaXNhYmxlZCh5ZWFyKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFllYXIoeWVhcilcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgeWVhciB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAY2FzZSAoJ21vbnRocycpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWNhbGVuZGFyLWJvZHlfX2dyaWQgbXJ4LWNhbGVuZGFyLWJvZHlfX2dyaWQtLW1vbnRoc1wiPlxyXG4gICAgICAgICAgQGZvciAobW9udGggb2YgbW9udGhzOyB0cmFjayBtb250aCkge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtY2FsZW5kYXItYm9keV9fZ3JpZF9faXRlbSBtcngtY2FsZW5kYXItYm9keV9fZ3JpZF9faXRlbS0tbW9udGhcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc01vbnRoU2VsZWN0ZWQobW9udGgpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXNNb250aERpc2FibGVkKG1vbnRoKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmhvdmVyYWJsZV09XCIhaXNNb250aERpc2FibGVkKG1vbnRoKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE1vbnRoKG1vbnRoKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyBtb250aE5hbWVzW21vbnRoXSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAZGVmYXVsdCB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1jYWxlbmRhci1ib2R5X19ncmlkIG1yeC1jYWxlbmRhci1ib2R5X19ncmlkLS1kYXlzXCI+XHJcbiAgICAgICAgICBAZm9yIChkYXkgb2YgZGF5c09mV2VlazsgdHJhY2sgZGF5KSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtY2FsZW5kYXItYm9keV9fZ3JpZF9fbGFiZWxcIj57eyBkYXkgfX08L2Rpdj5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAZm9yIChkYXkgb2YgZ2V0Q2FsZW5kYXJEYXlzKCk7IHRyYWNrIGRheSkge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtY2FsZW5kYXItYm9keV9fZ3JpZF9faXRlbSBtcngtY2FsZW5kYXItYm9keV9fZ3JpZF9faXRlbS0tZGF5XCJcclxuICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChkYXkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3Mub3RoZXItbW9udGhdPVwiZGF5Lm1vbnRoICE9PSBjdXJyZW50TW9udGhcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhaXNEYXRlRW5hYmxlZChkYXkpXCJcclxuICAgICAgICAgICAgICBbY2xhc3MuaG92ZXJhYmxlXT1cImlzRGF0ZUVuYWJsZWQoZGF5KVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdERhdGUoZGF5KVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyBkYXkuZGF5IH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=