@annalib/anna-core 33.2.9 → 33.2.11

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.
@@ -22,7 +22,7 @@ export class AnnaLicensingTableComponent {
22
22
  this.specificationChanged.emit({ updatedValue, featureDetails });
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaLicensingTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaLicensingTableComponent, isStandalone: true, selector: "anna-core-licensing-table", inputs: { plans: "plans", isEditMode: "isEditMode", loading: "loading", defaultListing: "defaultListing", editingCurrentPlan: "editingCurrentPlan", maxValueForEvaluationPlanPOD: "maxValueForEvaluationPlanPOD" }, outputs: { specificationChanged: "specificationChanged" }, ngImport: i0, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th><div>FEATURE</div></th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading && plans?.length\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <ng-container *ngIf=\"plans.length === 1\">\r\n <p *ngIf=\"isEditMode\">\r\n {{ editingCurrentPlan ? \"Current plan\" : \"Upcoming Plan\" }}\r\n </p>\r\n <p *ngIf=\"!isEditMode\">\r\n {{ !plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? \"Current plan\" : \"Expired Plan\" }}\r\n </p>\r\n </ng-container>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && plans?.length\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <ng-container *ngIf=\"!featureDetails.Specification.length\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"featureDetails.Specification.length\">\r\n <ng-container *ngFor=\"let spec of featureDetails.Specification\">\r\n <ng-container *ngIf=\"spec.JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n annaCoreDigitOnly\r\n type=\"number\"\r\n [ngModel]=\"spec.Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n [attr.min]=\"spec.JsonCloned.TotalCount\"\r\n [attr.max]=\"maxValueForEvaluationPlanPOD || null\"\r\n [ngClass]=\"{\r\n 'red-border':\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (maxValueForEvaluationPlanPOD &&\r\n spec.Json.TotalCount > maxValueForEvaluationPlanPOD)\r\n }\"\r\n />\r\n Orders\r\n <i\r\n class=\"mdi mdi-alert-octagon\"\r\n *ngIf=\"\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (maxValueForEvaluationPlanPOD && spec.Json.TotalCount > maxValueForEvaluationPlanPOD)\r\n \"\r\n matTooltipPosition=\"above\"\r\n matTooltip=\"The value must be at least the chosen plan's limit and no more than the next plan's limit.\"\r\n ></i>\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ spec.Json.TotalCount }} Orders\r\n <span *ngIf=\"spec.Json.ConsumedCount\"\r\n >|\r\n {{ spec.Json.TotalCount - spec.Json.ConsumedCount }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span\r\n class=\"customized-text\"\r\n *ngIf=\"spec.IsCustomized\"\r\n >(Customized)</span\r\n >\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && !plans?.length\">\r\n <anna-core-no-data-lib [width]=\"'50%'\"></anna-core-no-data-lib>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td .mdi-checkbox-marked-circle{font-size:14px;color:#304598;position:relative}td .mdi-close{color:#bdbdbd}td .mdi-alert-octagon{color:#f44336!important;cursor:pointer}td .red-border{border:1px solid #f44336;outline:#f44336}td:not(:first-child){width:142px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.customized-text{color:#a7a7a7;font-style:italic}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][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: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaLicensingTableComponent, isStandalone: true, selector: "anna-core-licensing-table", inputs: { plans: "plans", isEditMode: "isEditMode", loading: "loading", defaultListing: "defaultListing", editingCurrentPlan: "editingCurrentPlan", maxValueForEvaluationPlanPOD: "maxValueForEvaluationPlanPOD" }, outputs: { specificationChanged: "specificationChanged" }, ngImport: i0, template: "<table class=\"header-section\">\r\n <thead>\r\n <tr>\r\n <th><div>FEATURE</div></th>\r\n <ng-container *ngIf=\"loading\">\r\n <ng-container *ngIf=\"defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!defaultListing\">\r\n <div class=\"skeleton-loader\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ height: '100%', borderRadius: '8px', marginBottom: '0px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!loading && plans?.length\">\r\n <th *ngFor=\"let plan of plans\">\r\n {{ plan?.PlanName }}\r\n <ng-container *ngIf=\"plans.length === 1\">\r\n <p *ngIf=\"isEditMode\">\r\n {{ editingCurrentPlan ? \"Current plan\" : \"Upcoming Plan\" }}\r\n </p>\r\n <p *ngIf=\"!isEditMode\">\r\n {{ !plan?.PlanExpiryDays || plan?.PlanExpiryDays >= 0 ? \"Current plan\" : \"Expired Plan\" }}\r\n </p>\r\n </ng-container>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n</table>\r\n<div class=\"scrollable-tbody\">\r\n <ng-container *ngIf=\"loading\">\r\n <ngx-skeleton-loader\r\n count=\"1\"\r\n [theme]=\"{ marginTop: '10px', marginBottom: '0', height: defaultListing ? '490px' : '430px' }\"\r\n >\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && plans?.length\">\r\n <table>\r\n <tbody>\r\n <tr *ngFor=\"let feature of plans[0]?.FeatureDetails; let featureIndex = index\">\r\n <td>\r\n <strong>{{ feature.FeatureName }}</strong> {{ feature.FeatureDescription }}\r\n </td>\r\n <td *ngFor=\"let plan of plans; let planIndex = index\">\r\n <ng-container *ngIf=\"plan.FeatureDetails[featureIndex] as featureDetails\">\r\n <ng-container *ngIf=\"!featureDetails.Specification.length\">\r\n <i\r\n *ngIf=\"featureDetails.IsEnabled\"\r\n class=\"mdi mdi-checkbox-marked-circle\"\r\n ></i>\r\n <i\r\n *ngIf=\"!featureDetails.IsEnabled\"\r\n class=\"mdi mdi-close\"\r\n ></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"featureDetails.Specification.length\">\r\n <ng-container *ngFor=\"let spec of featureDetails.Specification\">\r\n <ng-container *ngIf=\"spec.JsonType === 'PAY_PER_USE'\">\r\n <div *ngIf=\"isEditMode\">\r\n <input\r\n annaCoreDigitOnly\r\n type=\"number\"\r\n [ngModel]=\"spec.Json.TotalCount\"\r\n (ngModelChange)=\"onValueChange($event, featureDetails)\"\r\n [attr.min]=\"spec.JsonCloned.TotalCount\"\r\n [attr.max]=\"maxValueForEvaluationPlanPOD || null\"\r\n [ngClass]=\"{\r\n 'red-border':\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (maxValueForEvaluationPlanPOD &&\r\n spec.Json.TotalCount > maxValueForEvaluationPlanPOD)\r\n }\"\r\n />\r\n Orders\r\n <i\r\n class=\"mdi mdi-alert-octagon\"\r\n *ngIf=\"\r\n spec.Json.TotalCount < spec.JsonCloned.TotalCount ||\r\n (maxValueForEvaluationPlanPOD && spec.Json.TotalCount > maxValueForEvaluationPlanPOD)\r\n \"\r\n matTooltipPosition=\"above\"\r\n matTooltip=\"The value must be at least the chosen plan's limit and no more than the next plan's limit.\"\r\n ></i>\r\n </div>\r\n <div *ngIf=\"!isEditMode\">\r\n <p>\r\n {{ spec.Json.TotalCount }} Orders\r\n <span *ngIf=\"spec.Json.ConsumedCount\"\r\n >|\r\n {{ spec.Json.TotalCount - spec.Json.ConsumedCount }}\r\n Remaining</span\r\n >\r\n </p>\r\n <span\r\n class=\"customized-text\"\r\n *ngIf=\"spec.IsCustomized\"\r\n >(Customized)</span\r\n >\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n <ng-container *ngIf=\"!loading && !plans?.length\">\r\n <anna-core-no-data-lib [width]=\"'50%'\"></anna-core-no-data-lib>\r\n </ng-container>\r\n</div>\r\n", styles: ["table.header-section{border-collapse:separate;border-spacing:0 8px;width:100%;border-top:1px solid #9b1cd5;border-bottom:1px solid #9b1cd5}.scrollable-tbody table{border-collapse:collapse;width:100%}tr{height:40px}tr .skeleton-loader{display:flex;justify-content:flex-end}tr ::ng-deep ngx-skeleton-loader{border:1px solid #304598;border-radius:8px;width:153px;height:52px;display:inline-block;margin-right:8px}tr ::ng-deep ngx-skeleton-loader:nth-of-type(1) div{background-color:#f5f7ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(2) div{background-color:#dfe6ff}tr ::ng-deep ngx-skeleton-loader:nth-of-type(3) div{background-color:#c6d2ff}tr ::ng-deep ngx-skeleton-loader:last-of-type{margin-right:0}th{padding:8px 8px 8px 0;text-align:left;font-family:Roboto;font-size:16px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;position:sticky;top:0;background-color:#fff;z-index:1}th:not(:first-child){border:1px solid #304598;border-radius:8px;padding-left:8px;width:137px;height:35px}th:not(:first-child) p{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;margin-bottom:0}th:nth-of-type(2){background-color:#f5f7ff}th:nth-of-type(3){background-color:#dfe6ff}th:nth-of-type(4){background-color:#c6d2ff}td{border-bottom:1px solid #d3d3d3;padding:8px 8px 8px 0;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}td p{margin-bottom:0}td input{width:30px}td .mdi-checkbox-marked-circle{font-size:14px;color:#304598;position:relative}td .mdi-close{color:#bdbdbd}td .mdi-alert-octagon{color:#f44336!important;cursor:pointer}td .red-border{border:1px solid #f44336;outline:#f44336}td:not(:first-child){width:142px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.customized-text{color:#a7a7a7;font-style:italic}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][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: "ngmodule", type: NgxSkeletonLoaderModule }, { kind: "component", type: i3.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaLicensingTableComponent, decorators: [{
28
28
  type: Component,
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
42
42
  }], specificationChanged: [{
43
43
  type: Output
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpY2Vuc2luZy10YWJsZS9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGljZW5zaW5nLXRhYmxlL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7O0FBVTdFLE1BQU0sT0FBTywyQkFBMkI7SUFSeEM7UUFVYSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRW5DLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FLNUQ7SUFIRyxhQUFhLENBQUMsWUFBaUIsRUFBRSxjQUE4QjtRQUMzRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQzsrR0FYUSwyQkFBMkI7bUdBQTNCLDJCQUEyQixvV0NsQnhDLDZrUEF1SUEseWpFRDFIYyxZQUFZLDZWQUFFLFdBQVcsZ3hCQUFFLHVCQUF1QiwrTUFBRSxrQkFBa0IsaUxBQUUsZ0JBQWdCLDZUQUFFLG1CQUFtQjs7NEZBSzlHLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDSSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHdkcsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gXCJuZ3gtc2tlbGV0b24tbG9hZGVyXCI7XHJcblxyXG5pbXBvcnQgeyBEaWdpdE9ubHlEaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRmVhdHVyZURldGFpbHMsIExpY2Vuc2luZ1BsYW4gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FubmEtbGljZW5zaW5nLXRhYmxlLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFOb0RhdGFDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1uby1kYXRhL2FubmEtbm8tZGF0YS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5uYS1jb3JlLWxpY2Vuc2luZy10YWJsZVwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSwgRGlnaXRPbmx5RGlyZWN0aXZlLCBNYXRUb29sdGlwTW9kdWxlLCBBbm5hTm9EYXRhQ29tcG9uZW50XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUxpY2Vuc2luZ1RhYmxlQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIHBsYW5zOiBMaWNlbnNpbmdQbGFuW107XHJcbiAgICBASW5wdXQoKSBpc0VkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHRMaXN0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBlZGl0aW5nQ3VycmVudFBsYW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG1heFZhbHVlRm9yRXZhbHVhdGlvblBsYW5QT0Q6IG51bWJlcjtcclxuICAgIEBPdXRwdXQoKSBzcGVjaWZpY2F0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIG9uVmFsdWVDaGFuZ2UodXBkYXRlZFZhbHVlOiBhbnksIGZlYXR1cmVEZXRhaWxzOiBGZWF0dXJlRGV0YWlscykge1xyXG4gICAgICAgIHRoaXMuc3BlY2lmaWNhdGlvbkNoYW5nZWQuZW1pdCh7IHVwZGF0ZWRWYWx1ZSwgZmVhdHVyZURldGFpbHMgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHRhYmxlIGNsYXNzPVwiaGVhZGVyLXNlY3Rpb25cIj5cclxuICAgIDx0aGVhZD5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0aD48ZGl2PkZFQVRVUkU8L2Rpdj48L3RoPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhlbWVdPVwieyBoZWlnaHQ6ICcxMDAlJywgYm9yZGVyUmFkaXVzOiAnOHB4JywgbWFyZ2luQm90dG9tOiAnMHB4JyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cInsgaGVpZ2h0OiAnMTAwJScsIGJvcmRlclJhZGl1czogJzhweCcsIG1hcmdpbkJvdHRvbTogJzBweCcgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiBwbGFucz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IHBsYW4gb2YgcGxhbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBwbGFuPy5QbGFuTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwbGFucy5sZW5ndGggPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJpc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlZGl0aW5nQ3VycmVudFBsYW4gPyBcIkN1cnJlbnQgcGxhblwiIDogXCJVcGNvbWluZyBQbGFuXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFpc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAhcGxhbj8uUGxhbkV4cGlyeURheXMgfHwgcGxhbj8uUGxhbkV4cGlyeURheXMgPj0gMCA/IFwiQ3VycmVudCBwbGFuXCIgOiBcIkV4cGlyZWQgUGxhblwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG48L3RhYmxlPlxyXG48ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS10Ym9keVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICBbdGhlbWVdPVwieyBtYXJnaW5Ub3A6ICcxMHB4JywgbWFyZ2luQm90dG9tOiAnMCcsIGhlaWdodDogZGVmYXVsdExpc3RpbmcgPyAnNDkwcHgnIDogJzQzMHB4JyB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmcgJiYgcGxhbnM/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDx0YWJsZT5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBmZWF0dXJlIG9mIHBsYW5zWzBdPy5GZWF0dXJlRGV0YWlsczsgbGV0IGZlYXR1cmVJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGZlYXR1cmUuRmVhdHVyZU5hbWUgfX08L3N0cm9uZz4ge3sgZmVhdHVyZS5GZWF0dXJlRGVzY3JpcHRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgcGxhbiBvZiBwbGFuczsgbGV0IHBsYW5JbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwbGFuLkZlYXR1cmVEZXRhaWxzW2ZlYXR1cmVJbmRleF0gYXMgZmVhdHVyZURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvbi5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZlYXR1cmVEZXRhaWxzLklzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1jaGVja2JveC1tYXJrZWQtY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZlYXR1cmVEZXRhaWxzLklzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1jbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb24ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3BlYyBvZiBmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzcGVjLkpzb25UeXBlID09PSAnUEFZX1BFUl9VU0UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm5hQ29yZURpZ2l0T25seVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwic3BlYy5Kc29uLlRvdGFsQ291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudCwgZmVhdHVyZURldGFpbHMpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIubWluXT1cInNwZWMuSnNvbkNsb25lZC5Ub3RhbENvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIubWF4XT1cIm1heFZhbHVlRm9yRXZhbHVhdGlvblBsYW5QT0QgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWQtYm9yZGVyJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLkpzb24uVG90YWxDb3VudCA8IHNwZWMuSnNvbkNsb25lZC5Ub3RhbENvdW50IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1heFZhbHVlRm9yRXZhbHVhdGlvblBsYW5QT0QgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlYy5Kc29uLlRvdGFsQ291bnQgPiBtYXhWYWx1ZUZvckV2YWx1YXRpb25QbGFuUE9EKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yZGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydC1vY3RhZ29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMuSnNvbi5Ub3RhbENvdW50IDwgc3BlYy5Kc29uQ2xvbmVkLlRvdGFsQ291bnQgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXhWYWx1ZUZvckV2YWx1YXRpb25QbGFuUE9EICYmIHNwZWMuSnNvbi5Ub3RhbENvdW50ID4gbWF4VmFsdWVGb3JFdmFsdWF0aW9uUGxhblBPRClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiVGhlIHZhbHVlIG11c3QgYmUgYXQgbGVhc3QgdGhlIGNob3NlbiBwbGFuJ3MgbGltaXQgYW5kIG5vIG1vcmUgdGhhbiB0aGUgbmV4dCBwbGFuJ3MgbGltaXQuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3BlYy5Kc29uLlRvdGFsQ291bnQgfX0gT3JkZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3BlYy5Kc29uLkNvbnN1bWVkQ291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNwZWMuSnNvbi5Ub3RhbENvdW50IC0gc3BlYy5Kc29uLkNvbnN1bWVkQ291bnQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbWFpbmluZzwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9taXplZC10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzcGVjLklzQ3VzdG9taXplZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4oQ3VzdG9taXplZCk8L3NwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmICFwbGFucz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPGFubmEtY29yZS1uby1kYXRhLWxpYiBbd2lkdGhdPVwiJzUwJSdcIj48L2FubmEtY29yZS1uby1kYXRhLWxpYj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvY29tcG9uZW50cy9hbm5hLWxpY2Vuc2luZy10YWJsZS9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9jb21wb25lbnRzL2FubmEtbGljZW5zaW5nLXRhYmxlL2FubmEtbGljZW5zaW5nLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUV4RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7O0FBVTdFLE1BQU0sT0FBTywyQkFBMkI7SUFSeEM7UUFVYSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRW5DLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FLNUQ7SUFIRyxhQUFhLENBQUMsWUFBaUIsRUFBRSxjQUE4QjtRQUMzRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQzsrR0FYUSwyQkFBMkI7bUdBQTNCLDJCQUEyQixvV0NsQnhDLDZrUEF1SUEseWpFRDFIYyxZQUFZLDZWQUFFLFdBQVcsZ3hCQUFFLHVCQUF1QiwrTUFBRSxrQkFBa0IsaUxBQUUsZ0JBQWdCLCtIQUFFLG1CQUFtQjs7NEZBSzlHLDJCQUEyQjtrQkFSdkMsU0FBUzsrQkFDSSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHdkcsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gXCJuZ3gtc2tlbGV0b24tbG9hZGVyXCI7XHJcblxyXG5pbXBvcnQgeyBEaWdpdE9ubHlEaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHsgRmVhdHVyZURldGFpbHMsIExpY2Vuc2luZ1BsYW4gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2FubmEtbGljZW5zaW5nLXRhYmxlLm1vZGVsXCI7XHJcbmltcG9ydCB7IEFubmFOb0RhdGFDb21wb25lbnQgfSBmcm9tIFwiLi4vYW5uYS1uby1kYXRhL2FubmEtbm8tZGF0YS5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5uYS1jb3JlLWxpY2Vuc2luZy10YWJsZVwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSwgRGlnaXRPbmx5RGlyZWN0aXZlLCBNYXRUb29sdGlwTW9kdWxlLCBBbm5hTm9EYXRhQ29tcG9uZW50XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYW5uYS1saWNlbnNpbmctdGFibGUuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLWxpY2Vuc2luZy10YWJsZS5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUxpY2Vuc2luZ1RhYmxlQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIHBsYW5zOiBMaWNlbnNpbmdQbGFuW107XHJcbiAgICBASW5wdXQoKSBpc0VkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHRMaXN0aW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBlZGl0aW5nQ3VycmVudFBsYW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG1heFZhbHVlRm9yRXZhbHVhdGlvblBsYW5QT0Q6IG51bWJlcjtcclxuICAgIEBPdXRwdXQoKSBzcGVjaWZpY2F0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIG9uVmFsdWVDaGFuZ2UodXBkYXRlZFZhbHVlOiBhbnksIGZlYXR1cmVEZXRhaWxzOiBGZWF0dXJlRGV0YWlscykge1xyXG4gICAgICAgIHRoaXMuc3BlY2lmaWNhdGlvbkNoYW5nZWQuZW1pdCh7IHVwZGF0ZWRWYWx1ZSwgZmVhdHVyZURldGFpbHMgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHRhYmxlIGNsYXNzPVwiaGVhZGVyLXNlY3Rpb25cIj5cclxuICAgIDx0aGVhZD5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0aD48ZGl2PkZFQVRVUkU8L2Rpdj48L3RoPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5neC1za2VsZXRvbi1sb2FkZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGhlbWVdPVwieyBoZWlnaHQ6ICcxMDAlJywgYm9yZGVyUmFkaXVzOiAnOHB4JywgbWFyZ2luQm90dG9tOiAnMHB4JyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoZW1lXT1cInsgaGVpZ2h0OiAnMTAwJScsIGJvcmRlclJhZGl1czogJzhweCcsIG1hcmdpbkJvdHRvbTogJzBweCcgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWRlZmF1bHRMaXN0aW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aGVtZV09XCJ7IGhlaWdodDogJzEwMCUnLCBib3JkZXJSYWRpdXM6ICc4cHgnLCBtYXJnaW5Cb3R0b206ICcwcHgnIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiBwbGFucz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IHBsYW4gb2YgcGxhbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBwbGFuPy5QbGFuTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwbGFucy5sZW5ndGggPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJpc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlZGl0aW5nQ3VycmVudFBsYW4gPyBcIkN1cnJlbnQgcGxhblwiIDogXCJVcGNvbWluZyBQbGFuXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cIiFpc0VkaXRNb2RlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAhcGxhbj8uUGxhbkV4cGlyeURheXMgfHwgcGxhbj8uUGxhbkV4cGlyeURheXMgPj0gMCA/IFwiQ3VycmVudCBwbGFuXCIgOiBcIkV4cGlyZWQgUGxhblwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICA8L3RoZWFkPlxyXG48L3RhYmxlPlxyXG48ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS10Ym9keVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgICAgICA8bmd4LXNrZWxldG9uLWxvYWRlclxyXG4gICAgICAgICAgICBjb3VudD1cIjFcIlxyXG4gICAgICAgICAgICBbdGhlbWVdPVwieyBtYXJnaW5Ub3A6ICcxMHB4JywgbWFyZ2luQm90dG9tOiAnMCcsIGhlaWdodDogZGVmYXVsdExpc3RpbmcgPyAnNDkwcHgnIDogJzQzMHB4JyB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmcgJiYgcGxhbnM/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDx0YWJsZT5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBmZWF0dXJlIG9mIHBsYW5zWzBdPy5GZWF0dXJlRGV0YWlsczsgbGV0IGZlYXR1cmVJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGZlYXR1cmUuRmVhdHVyZU5hbWUgfX08L3N0cm9uZz4ge3sgZmVhdHVyZS5GZWF0dXJlRGVzY3JpcHRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgcGxhbiBvZiBwbGFuczsgbGV0IHBsYW5JbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwbGFuLkZlYXR1cmVEZXRhaWxzW2ZlYXR1cmVJbmRleF0gYXMgZmVhdHVyZURldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZmVhdHVyZURldGFpbHMuU3BlY2lmaWNhdGlvbi5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZlYXR1cmVEZXRhaWxzLklzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1jaGVja2JveC1tYXJrZWQtY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWZlYXR1cmVEZXRhaWxzLklzRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1jbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZlYXR1cmVEZXRhaWxzLlNwZWNpZmljYXRpb24ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3BlYyBvZiBmZWF0dXJlRGV0YWlscy5TcGVjaWZpY2F0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzcGVjLkpzb25UeXBlID09PSAnUEFZX1BFUl9VU0UnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNFZGl0TW9kZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm5hQ29yZURpZ2l0T25seVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwic3BlYy5Kc29uLlRvdGFsQ291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudCwgZmVhdHVyZURldGFpbHMpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIubWluXT1cInNwZWMuSnNvbkNsb25lZC5Ub3RhbENvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIubWF4XT1cIm1heFZhbHVlRm9yRXZhbHVhdGlvblBsYW5QT0QgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWQtYm9yZGVyJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLkpzb24uVG90YWxDb3VudCA8IHNwZWMuSnNvbkNsb25lZC5Ub3RhbENvdW50IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1heFZhbHVlRm9yRXZhbHVhdGlvblBsYW5QT0QgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlYy5Kc29uLlRvdGFsQ291bnQgPiBtYXhWYWx1ZUZvckV2YWx1YXRpb25QbGFuUE9EKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yZGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1hbGVydC1vY3RhZ29uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMuSnNvbi5Ub3RhbENvdW50IDwgc3BlYy5Kc29uQ2xvbmVkLlRvdGFsQ291bnQgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXhWYWx1ZUZvckV2YWx1YXRpb25QbGFuUE9EICYmIHNwZWMuSnNvbi5Ub3RhbENvdW50ID4gbWF4VmFsdWVGb3JFdmFsdWF0aW9uUGxhblBPRClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiVGhlIHZhbHVlIG11c3QgYmUgYXQgbGVhc3QgdGhlIGNob3NlbiBwbGFuJ3MgbGltaXQgYW5kIG5vIG1vcmUgdGhhbiB0aGUgbmV4dCBwbGFuJ3MgbGltaXQuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzRWRpdE1vZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3BlYy5Kc29uLlRvdGFsQ291bnQgfX0gT3JkZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic3BlYy5Kc29uLkNvbnN1bWVkQ291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNwZWMuSnNvbi5Ub3RhbENvdW50IC0gc3BlYy5Kc29uLkNvbnN1bWVkQ291bnQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbWFpbmluZzwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9taXplZC10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzcGVjLklzQ3VzdG9taXplZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4oQ3VzdG9taXplZCk8L3NwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmICFwbGFucz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPGFubmEtY29yZS1uby1kYXRhLWxpYiBbd2lkdGhdPVwiJzUwJSdcIj48L2FubmEtY29yZS1uby1kYXRhLWxpYj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
@@ -97,7 +97,7 @@ export class AnnaSingleSelectComponent {
97
97
  }
98
98
  }
99
99
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaSingleSelectComponent, deps: [{ token: i1.AnnaGlobalConfigService }, { token: i2.AnnaFilterSearchedTextPipe }], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaSingleSelectComponent, isStandalone: true, selector: "anna-core-single-select", inputs: { config: "config", loading: "loading", showAdditionalDataInSelectedText: "showAdditionalDataInSelectedText", disabled: "disabled", items: "items", selectedItem: "selectedItem", keyToUseForDisplay: "keyToUseForDisplay", keyToUseForCheckingSelectedItem: "keyToUseForCheckingSelectedItem", hideDropdownArrow: "hideDropdownArrow", borderbottomObject: "borderbottomObject", defaultDropdownHeight: "defaultDropdownHeight", itemsToHideInDropdownIds: "itemsToHideInDropdownIds", showClearSelection: "showClearSelection" }, outputs: { valueChanged: "valueChanged", dropdownClosedEvent: "dropdownClosedEvent", dropdownOpenedEvent: "dropdownOpenedEvent", clearSelectionClickedEvent: "clearSelectionClickedEvent" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button\r\n id=\"dropdown-trigger\"\r\n #dropdown\r\n #t=\"matMenuTrigger\"\r\n (menuClosed)=\"dropdownClosed()\"\r\n (menuOpened)=\"dropdownOpened()\"\r\n [matMenuTriggerFor]=\"contextMenu\"\r\n [disabled]=\"disabled || loading\"\r\n>\r\n <span\r\n class=\"placeholder\"\r\n *ngIf=\"!selectedItem && config\"\r\n >{{ config.placeholder }}</span\r\n >\r\n <span\r\n class=\"selected-item\"\r\n [class]=\"selectedItem.class\"\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"selectedItem\"\r\n >\r\n <ng-container *ngIf=\"(selectedItem | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n {{ selectedItem[keyToUseForDisplay] }}\r\n <ng-container *ngIf=\"showAdditionalDataInSelectedText && selectedItem && selectedItem?.additionalData\">\r\n <span [class]=\"selectedItem?.additionalClass\">{{ selectedItem?.additionalData }} </span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #stringTypeTemplate>\r\n {{ selectedItem }}\r\n </ng-template>\r\n </span>\r\n <div\r\n *ngIf=\"loading\"\r\n [ngClass]=\"{ 'spinner-for-button-directive': loading }\"\r\n ></div>\r\n\r\n <ng-container *ngIf=\"!loading && !hideDropdownArrow\">\r\n <i\r\n *ngIf=\"!t.menuOpen\"\r\n class=\"mdi mdi-menu-down icon\"\r\n ></i>\r\n <i\r\n *ngIf=\"t.menuOpen\"\r\n class=\"mdi mdi-menu-up icon\"\r\n ></i>\r\n </ng-container>\r\n</button>\r\n<ng-content select=\".role-tooltip-icon\"></ng-content>\r\n<mat-menu\r\n backdropClass=\"single-select-dropdown\"\r\n [yPosition]=\"yPosition\"\r\n #contextMenu=\"matMenu\"\r\n>\r\n <ng-template matMenuContent>\r\n <div\r\n class=\"{{ config.classes }}\"\r\n [style.width.px]=\"width\"\r\n >\r\n <div\r\n class=\"gap\"\r\n *ngIf=\"config.showSearchBar\"\r\n ></div>\r\n <div\r\n *ngIf=\"showClearSelection\"\r\n class=\"clear-selection\"\r\n >\r\n <a\r\n (click)=\"clearSelectionClicked()\"\r\n [ngClass]=\"{ disabled: !selectedItem }\"\r\n >Clear selection</a\r\n >\r\n </div>\r\n <section\r\n *ngIf=\"config.showSearchBar\"\r\n class=\"search-bar\"\r\n >\r\n <i class=\"mi mdi-search search-icon\"></i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchFor\"\r\n placeholder=\"Search\"\r\n (ngModelChange)=\"updateHeight()\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </section>\r\n <cdk-virtual-scroll-viewport\r\n class=\"dropdown-data-container\"\r\n itemSize=\"18\"\r\n [style.height.px]=\"heightOfCheckboxTooltipFilter\"\r\n >\r\n <ul\r\n class=\"single-select-ul\"\r\n [style.width.px]=\"width\"\r\n >\r\n <ng-container *ngIf=\"items && (items[0] | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *cdkVirtualFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n let last = last;\r\n trackBy: trackByFn\r\n \"\r\n [ngClass]=\"{\r\n active:\r\n selectedItem &&\r\n selectedItem[keyToUseForCheckingSelectedItem] ===\r\n item[keyToUseForCheckingSelectedItem],\r\n 'show-bottom-border': !last && borderbottomObject[item.id],\r\n disabled: item.isDisabled\r\n }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span [class]=\"item.class\"> {{ item[keyToUseForDisplay] }} </span>\r\n <ng-container *ngIf=\"item && item.additionalData\">\r\n <span\r\n class=\"ml-0\"\r\n [class]=\"item.additionalClass\"\r\n >\r\n {{ item?.additionalData }}\r\n </span>\r\n </ng-container>\r\n </li>\r\n\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #stringTypeTemplate>\r\n <ng-container\r\n *ngFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n trackBy: trackByFn\r\n \"\r\n >\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n [ngClass]=\"{ active: selectedItem && selectedItem === item }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span> {{ item }} </span>\r\n </li>\r\n </ng-container>\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ul>\r\n </cdk-virtual-scroll-viewport>\r\n </div>\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<ng-template\r\n #noDataCase\r\n let-items=\"items\"\r\n>\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"(items | AnnafilterSearchedText: searchFor : keyToUseForDisplay)?.length === 0\"\r\n >\r\n <span> No data found </span>\r\n </li>\r\n</ng-template>\r\n", styles: ["#dropdown-trigger{height:1.5rem;background:#fff;border-radius:2px;border:1px solid #b7b7b7;width:100%;text-align:left;display:flex;align-items:center}#dropdown-trigger:disabled{background-color:#bdbdbd;opacity:.5}#dropdown-trigger:disabled .placeholder,#dropdown-trigger:disabled .icon{color:#000}.placeholder{color:#bdbdbd;width:100%;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;opacity:1!important}.icon{font-size:1.125rem;float:right;margin-left:auto}.search-bar{margin:0 7px 8px;border:1px solid #b7b7b7;height:24px;border-radius:2px}.search-bar input{outline:none;border:none;position:relative;bottom:4px;width:calc(100% - 29px);font-size:var(--dropdown-text-fs)}.search-bar .search-icon{font-size:var(--multi-select-dropdown-checkbox-fs);color:#9b9b9b;margin:5px}.search-bar .close-icon{cursor:pointer}ul{overflow-y:auto;padding-left:0;padding-bottom:0;margin-bottom:0;max-height:calc(50vh - 80px)!important}li{list-style-type:none;cursor:pointer;padding-inline:10px;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:2.14;letter-spacing:normal;color:#4a4a4a;width:100%}ul::-webkit-scrollbar{width:4px;height:4px}ul::-webkit-scrollbar-track{border:1px solid rgba(0,0,0,.1)}ul::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0006!important;border:1px solid rgba(0,0,0,.2)}li:hover{background:#ebebeb}li.active{color:#fff;background:#268bff}span.selected-item{background:transparent;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#4a4a4a;width:calc(100% - 22px);display:inline-block;vertical-align:middle}.ellipsify,li,span.selected-item{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}::ng-deep .cdk-overlay-container{z-index:1051}span.red-color-text{color:#f44336!important}span.additional-data-color-text{color:#b7b6b6!important}span.italic{font-style:italic}.spinner-for-button-directive{left:0;margin-left:auto}.spinner-for-button-directive span.additional-data-color-text{color:#000}::ng-deep .mat-menu-panel{min-height:auto!important}.small-text li{font-size:12px!important}.ml-0{margin-left:0}#dropdown-trigger:disabled{cursor:default!important}#dropdown-trigger:disabled span{color:#4a4a4a!important;cursor:default!important}::ng-deep .mat-mdc-menu-panel.mat-elevation-z8{box-shadow:var(--dropdown-box-shadow)}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content{background-color:#fff;padding:0!important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content.mdc-list{background-color:#fff}::ng-deep .mat-mdc-menu-panel.mat-mdc-menu-panel{max-width:none!important}::ng-deep .mat-mdc-menu-panel .clear-selection{margin:0 7px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a{color:#268bff!important;text-decoration:underline!important;font-size:12px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a.disabled{color:#4a4a4a!important;pointer-events:none;cursor:not-allowed;opacity:.5}li{background-color:#fff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.5rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container li.disabled{opacity:.5;cursor:default}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.1875rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}::ng-deep ul.single-select-ul{max-height:none!important}li.show-bottom-border{border-bottom:1px solid #e6e6e6}::ng-deep .no-wrap-text ul li{line-height:1.41!important;padding-top:4px;padding-bottom:4px}::ng-deep .no-wrap-text ul li span{white-space:normal!important}.gap{height:9px}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AnnaFilterSearchedTextPipe, name: "AnnafilterSearchedText" }, { kind: "pipe", type: AnnaTypeofDataPipe, name: "AnnatypeofData" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaSingleSelectComponent, isStandalone: true, selector: "anna-core-single-select", inputs: { config: "config", loading: "loading", showAdditionalDataInSelectedText: "showAdditionalDataInSelectedText", disabled: "disabled", items: "items", selectedItem: "selectedItem", keyToUseForDisplay: "keyToUseForDisplay", keyToUseForCheckingSelectedItem: "keyToUseForCheckingSelectedItem", hideDropdownArrow: "hideDropdownArrow", borderbottomObject: "borderbottomObject", defaultDropdownHeight: "defaultDropdownHeight", itemsToHideInDropdownIds: "itemsToHideInDropdownIds", showClearSelection: "showClearSelection" }, outputs: { valueChanged: "valueChanged", dropdownClosedEvent: "dropdownClosedEvent", dropdownOpenedEvent: "dropdownOpenedEvent", clearSelectionClickedEvent: "clearSelectionClickedEvent" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["dropdown"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<button\r\n id=\"dropdown-trigger\"\r\n #dropdown\r\n #t=\"matMenuTrigger\"\r\n (menuClosed)=\"dropdownClosed()\"\r\n (menuOpened)=\"dropdownOpened()\"\r\n [matMenuTriggerFor]=\"contextMenu\"\r\n [disabled]=\"disabled || loading\"\r\n>\r\n <span\r\n class=\"placeholder\"\r\n *ngIf=\"!selectedItem && config\"\r\n >{{ config.placeholder }}</span\r\n >\r\n <span\r\n class=\"selected-item\"\r\n [class]=\"selectedItem.class\"\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"selectedItem\"\r\n >\r\n <ng-container *ngIf=\"(selectedItem | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n {{ selectedItem[keyToUseForDisplay] }}\r\n <ng-container *ngIf=\"showAdditionalDataInSelectedText && selectedItem && selectedItem?.additionalData\">\r\n <span [class]=\"selectedItem?.additionalClass\">{{ selectedItem?.additionalData }} </span>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #stringTypeTemplate>\r\n {{ selectedItem }}\r\n </ng-template>\r\n </span>\r\n <div\r\n *ngIf=\"loading\"\r\n [ngClass]=\"{ 'spinner-for-button-directive': loading }\"\r\n ></div>\r\n\r\n <ng-container *ngIf=\"!loading && !hideDropdownArrow\">\r\n <i\r\n *ngIf=\"!t.menuOpen\"\r\n class=\"mdi mdi-menu-down icon\"\r\n ></i>\r\n <i\r\n *ngIf=\"t.menuOpen\"\r\n class=\"mdi mdi-menu-up icon\"\r\n ></i>\r\n </ng-container>\r\n</button>\r\n<ng-content select=\".role-tooltip-icon\"></ng-content>\r\n<mat-menu\r\n backdropClass=\"single-select-dropdown\"\r\n [yPosition]=\"yPosition\"\r\n #contextMenu=\"matMenu\"\r\n>\r\n <ng-template matMenuContent>\r\n <div\r\n class=\"{{ config.classes }}\"\r\n [style.width.px]=\"width\"\r\n >\r\n <div\r\n class=\"gap\"\r\n *ngIf=\"config.showSearchBar\"\r\n ></div>\r\n <div\r\n *ngIf=\"showClearSelection\"\r\n class=\"clear-selection\"\r\n >\r\n <a\r\n (click)=\"clearSelectionClicked()\"\r\n [ngClass]=\"{ disabled: !selectedItem }\"\r\n >Clear selection</a\r\n >\r\n </div>\r\n <section\r\n *ngIf=\"config.showSearchBar\"\r\n class=\"search-bar\"\r\n >\r\n <i class=\"mi mdi-search search-icon\"></i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"searchFor\"\r\n placeholder=\"Search\"\r\n (ngModelChange)=\"updateHeight()\"\r\n (click)=\"$event.stopPropagation()\"\r\n />\r\n </section>\r\n <cdk-virtual-scroll-viewport\r\n class=\"dropdown-data-container\"\r\n itemSize=\"18\"\r\n [style.height.px]=\"heightOfCheckboxTooltipFilter\"\r\n >\r\n <ul\r\n class=\"single-select-ul\"\r\n [style.width.px]=\"width\"\r\n >\r\n <ng-container *ngIf=\"items && (items[0] | AnnatypeofData) === 'object'; else stringTypeTemplate\">\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *cdkVirtualFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n let last = last;\r\n trackBy: trackByFn\r\n \"\r\n [ngClass]=\"{\r\n active:\r\n selectedItem &&\r\n selectedItem[keyToUseForCheckingSelectedItem] ===\r\n item[keyToUseForCheckingSelectedItem],\r\n 'show-bottom-border': !last && borderbottomObject[item.id],\r\n disabled: item.isDisabled\r\n }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span [class]=\"item.class\"> {{ item[keyToUseForDisplay] }} </span>\r\n <ng-container *ngIf=\"item && item.additionalData\">\r\n <span\r\n class=\"ml-0\"\r\n [class]=\"item.additionalClass\"\r\n >\r\n {{ item?.additionalData }}\r\n </span>\r\n </ng-container>\r\n </li>\r\n\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #stringTypeTemplate>\r\n <ng-container\r\n *ngFor=\"\r\n let item of items | AnnafilterSearchedText: searchFor : keyToUseForDisplay;\r\n trackBy: trackByFn\r\n \"\r\n >\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n [ngClass]=\"{ active: selectedItem && selectedItem === item }\"\r\n (click)=\"itemSelected(item, $event)\"\r\n >\r\n <span> {{ item }} </span>\r\n </li>\r\n </ng-container>\r\n <ng-container\r\n [ngTemplateOutlet]=\"noDataCase\"\r\n [ngTemplateOutletContext]=\"{ items: items }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ul>\r\n </cdk-virtual-scroll-viewport>\r\n </div>\r\n </ng-template>\r\n</mat-menu>\r\n\r\n<ng-template\r\n #noDataCase\r\n let-items=\"items\"\r\n>\r\n <li\r\n annaCoreShowEllipsisTextOnHover\r\n *ngIf=\"(items | AnnafilterSearchedText: searchFor : keyToUseForDisplay)?.length === 0\"\r\n >\r\n <span> No data found </span>\r\n </li>\r\n</ng-template>\r\n", styles: ["#dropdown-trigger{height:1.5rem;background:#fff;border-radius:2px;border:1px solid #b7b7b7;width:100%;text-align:left;display:flex;align-items:center}#dropdown-trigger:disabled{background-color:#bdbdbd;opacity:.5}#dropdown-trigger:disabled .placeholder,#dropdown-trigger:disabled .icon{color:#000}.placeholder{color:#bdbdbd;width:100%;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;opacity:1!important}.icon{font-size:1.125rem;float:right;margin-left:auto}.search-bar{margin:0 7px 8px;border:1px solid #b7b7b7;height:24px;border-radius:2px}.search-bar input{outline:none;border:none;position:relative;bottom:4px;width:calc(100% - 29px);font-size:var(--dropdown-text-fs)}.search-bar .search-icon{font-size:var(--multi-select-dropdown-checkbox-fs);color:#9b9b9b;margin:5px}.search-bar .close-icon{cursor:pointer}ul{overflow-y:auto;padding-left:0;padding-bottom:0;margin-bottom:0;max-height:calc(50vh - 80px)!important}li{list-style-type:none;cursor:pointer;padding-inline:10px;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:2.14;letter-spacing:normal;color:#4a4a4a;width:100%}ul::-webkit-scrollbar{width:4px;height:4px}ul::-webkit-scrollbar-track{border:1px solid rgba(0,0,0,.1)}ul::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0006!important;border:1px solid rgba(0,0,0,.2)}li:hover{background:#ebebeb}li.active{color:#fff;background:#268bff}span.selected-item{background:transparent;font-family:Roboto;font-size:var(--dropdown-text-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#4a4a4a;width:calc(100% - 22px);display:inline-block;vertical-align:middle}.ellipsify,li,span.selected-item{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}::ng-deep .cdk-overlay-container{z-index:1051}span.red-color-text{color:#f44336!important}span.additional-data-color-text{color:#b7b6b6!important}span.italic{font-style:italic}.spinner-for-button-directive{left:0;margin-left:auto}.spinner-for-button-directive span.additional-data-color-text{color:#000}::ng-deep .mat-menu-panel{min-height:auto!important}.small-text li{font-size:12px!important}.ml-0{margin-left:0}#dropdown-trigger:disabled{cursor:default!important}#dropdown-trigger:disabled span{color:#4a4a4a!important;cursor:default!important}::ng-deep .mat-mdc-menu-panel.mat-elevation-z8{box-shadow:var(--dropdown-box-shadow)}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content{background-color:#fff;padding:0!important}::ng-deep .mat-mdc-menu-panel .mat-mdc-menu-content.mdc-list{background-color:#fff}::ng-deep .mat-mdc-menu-panel.mat-mdc-menu-panel{max-width:none!important}::ng-deep .mat-mdc-menu-panel .clear-selection{margin:0 7px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a{color:#268bff!important;text-decoration:underline!important;font-size:12px!important}::ng-deep .mat-mdc-menu-panel .clear-selection a.disabled{color:#4a4a4a!important;pointer-events:none;cursor:not-allowed;opacity:.5}li{background-color:#fff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.5rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container li.disabled{opacity:.5;cursor:default}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.1875rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}::ng-deep ul.single-select-ul{max-height:none!important}li.show-bottom-border{border-bottom:1px solid #e6e6e6}::ng-deep .no-wrap-text ul li{line-height:1.41!important;padding-top:4px;padding-bottom:4px}::ng-deep .no-wrap-text ul li span{white-space:normal!important}.gap{height:9px}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AnnaFilterSearchedTextPipe, name: "AnnafilterSearchedText" }, { kind: "pipe", type: AnnaTypeofDataPipe, name: "AnnatypeofData" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
101
  }
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaSingleSelectComponent, decorators: [{
103
103
  type: Component,
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
152
152
  type: ViewChild,
153
153
  args: ["dropdown"]
154
154
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS1zaW5nbGUtc2VsZWN0L2FubmEtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtc2luZ2xlLXNlbGVjdC9hbm5hLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7Ozs7O0FBdUI1RyxN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QUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzICovXHJcbmltcG9ydCB7IENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsIENka1ZpcnR1YWxGb3JPZiwgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG5pbXBvcnQgeyBJQ3VzdG9tU2luZ2xlU2VsZWN0IH0gZnJvbSBcIi4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFUeXBlb2ZEYXRhUGlwZSB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hVHlwZU9mRGF0YS5waXBlXCI7XHJcbmltcG9ydCB7IEFubmFHbG9iYWxDb25maWdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZ2xvYmFsLWNvbmZpZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNpbmdsZVNlbGVjdElkVGV4dCB9IGZyb20gXCIuL21vZGVscy9hbm5hLXNpbmdsZS1zZWxlY3QubW9kZWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5uYS1jb3JlLXNpbmdsZS1zZWxlY3RcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYW5uYS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYW5uYS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICAgICAgTmdJZixcclxuICAgICAgICBOZ0NsYXNzLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCxcclxuICAgICAgICBDZGtGaXhlZFNpemVWaXJ0dWFsU2Nyb2xsLFxyXG4gICAgICAgIENka1ZpcnR1YWxGb3JPZixcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgICAgIE5nRm9yLFxyXG4gICAgICAgIEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgICAgIEFubmFUeXBlb2ZEYXRhUGlwZSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hU2luZ2xlU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KCkgY29uZmlnOiBJQ3VzdG9tU2luZ2xlU2VsZWN0O1xyXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2hvd0FkZGl0aW9uYWxEYXRhSW5TZWxlY3RlZFRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXRlbXM6IFNpbmdsZVNlbGVjdElkVGV4dFtdIHwgc3RyaW5nW10gfCBhbnk7XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEl0ZW06IFNpbmdsZVNlbGVjdElkVGV4dCB8IHN0cmluZyB8IGFueTtcclxuICAgIEBJbnB1dCgpIGtleVRvVXNlRm9yRGlzcGxheTogc3RyaW5nID0gXCJ0ZXh0XCI7XHJcbiAgICBASW5wdXQoKSBrZXlUb1VzZUZvckNoZWNraW5nU2VsZWN0ZWRJdGVtOiBzdHJpbmcgPSBcImlkXCI7XHJcbiAgICBASW5wdXQoKSBoaWRlRHJvcGRvd25BcnJvdzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYm9yZGVyYm90dG9tT2JqZWN0OiBhbnkgPSB7fTtcclxuICAgIEBJbnB1dCgpIGRlZmF1bHREcm9wZG93bkhlaWdodDogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIGl0ZW1zVG9IaWRlSW5Ecm9wZG93bklkczogbnVtYmVyW10gPSBbXTtcclxuICAgIEBJbnB1dCgpIHNob3dDbGVhclNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTaW5nbGVTZWxlY3RJZFRleHQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTaW5nbGVTZWxlY3RJZFRleHQ+KCk7XHJcbiAgICBAT3V0cHV0KCkgZHJvcGRvd25DbG9zZWRFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBkcm9wZG93bk9wZW5lZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIGNsZWFyU2VsZWN0aW9uQ2xpY2tlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgc2VhcmNoRm9yOiBzdHJpbmc7XHJcbiAgICB5UG9zaXRpb246IGFueSA9IFwiYWJvdmVcIjtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBoZWlnaHRPZkNoZWNrYm94VG9vbHRpcEZpbHRlcjogbnVtYmVyO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoXCJkcm9wZG93blwiKSBidXR0b25FbGVtZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYW5uYUdsb2JhbENvbmZpZzogQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBzZWFyY2hGaWx0ZXJQaXBlOiBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSxcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuY29uZmlnPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuYW5uYUdsb2JhbENvbmZpZy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLCAuLi50aGlzLmNvbmZpZyB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXM/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0RHJvcGRvd25IZWlnaHQpIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSB0aGlzLmRlZmF1bHREcm9wZG93bkhlaWdodDtcclxuICAgICAgICAgICAgZWxzZSB0aGlzLmhlaWdodE9mQ2hlY2tib3hUb29sdGlwRmlsdGVyID0gdGhpcy5pdGVtcy5sZW5ndGggPiA3ID8gMjAwIDogMjUuNjggKiB0aGlzLml0ZW1zLmxlbmd0aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zVG9IaWRlSW5Ecm9wZG93bklkcz8uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihcclxuICAgICAgICAgICAgICAgIChpdGVtOiBTaW5nbGVTZWxlY3RJZFRleHQpID0+ICF0aGlzLml0ZW1zVG9IaWRlSW5Ecm9wZG93bklkcy5pbmNsdWRlcyhpdGVtLmlkKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnRoaXMuYW5uYUdsb2JhbENvbmZpZy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLCAuLi50aGlzLmNvbmZpZyB9O1xyXG4gICAgICAgIHRoaXMuc2V0UG9zdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1TZWxlY3RlZChpdGVtOiBTaW5nbGVTZWxlY3RJZFRleHQsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICAgICAgaWYgKGl0ZW0/LmlzRGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0VxdWFsKHRoaXMuc2VsZWN0ZWRJdGVtLCBpdGVtKSkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlZC5lbWl0KGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgZHJvcGRvd25PcGVuZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hGb3IgPSBcIlwiO1xyXG4gICAgICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XHJcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuYnV0dG9uRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25PcGVuZWRFdmVudC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZHJvcGRvd25DbG9zZWQoKSB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bkNsb3NlZEV2ZW50LmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhclNlbGVjdGlvbkNsaWNrZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY2xlYXJTZWxlY3Rpb25DbGlja2VkRXZlbnQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc3Rpb24oKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLnBvc2l0aW9uID09PSBcIlRPUFwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMueVBvc2l0aW9uID0gXCJhYm92ZVwiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcucG9zaXRpb24gPT09IFwiQk9UVE9NXCIpIHtcclxuICAgICAgICAgICAgdGhpcy55UG9zaXRpb24gPSBcImJlbG93XCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdXBkYXRlSGVpZ2h0KCkge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zZWFyY2hGaWx0ZXJQaXBlLnRyYW5zZm9ybSh0aGlzLml0ZW1zLCB0aGlzLnNlYXJjaEZvciwgdGhpcy5rZXlUb1VzZUZvckRpc3BsYXkpO1xyXG4gICAgICAgIGlmIChpdGVtcy5sZW5ndGggPiA3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSAyMDA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSAyNS42OCAqIGl0ZW1zLmxlbmd0aDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmhlaWdodE9mQ2hlY2tib3hUb29sdGlwRmlsdGVyID0gMjUuNjg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxidXR0b25cclxuICAgIGlkPVwiZHJvcGRvd24tdHJpZ2dlclwiXHJcbiAgICAjZHJvcGRvd25cclxuICAgICN0PVwibWF0TWVudVRyaWdnZXJcIlxyXG4gICAgKG1lbnVDbG9zZWQpPVwiZHJvcGRvd25DbG9zZWQoKVwiXHJcbiAgICAobWVudU9wZW5lZCk9XCJkcm9wZG93bk9wZW5lZCgpXCJcclxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb250ZXh0TWVudVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9hZGluZ1wiXHJcbj5cclxuICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtICYmIGNvbmZpZ1wiXHJcbiAgICAgICAgPnt7IGNvbmZpZy5wbGFjZWhvbGRlciB9fTwvc3BhblxyXG4gICAgPlxyXG4gICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cInNlbGVjdGVkLWl0ZW1cIlxyXG4gICAgICAgIFtjbGFzc109XCJzZWxlY3RlZEl0ZW0uY2xhc3NcIlxyXG4gICAgICAgIGFubmFDb3JlU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJcclxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkSXRlbVwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzZWxlY3RlZEl0ZW0gfCBBbm5hdHlwZW9mRGF0YSkgPT09ICdvYmplY3QnOyBlbHNlIHN0cmluZ1R5cGVUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICB7eyBzZWxlY3RlZEl0ZW1ba2V5VG9Vc2VGb3JEaXNwbGF5XSB9fVxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FkZGl0aW9uYWxEYXRhSW5TZWxlY3RlZFRleHQgJiYgc2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbT8uYWRkaXRpb25hbERhdGFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJzZWxlY3RlZEl0ZW0/LmFkZGl0aW9uYWxDbGFzc1wiPnt7IHNlbGVjdGVkSXRlbT8uYWRkaXRpb25hbERhdGEgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3N0cmluZ1R5cGVUZW1wbGF0ZT5cclxuICAgICAgICAgICAge3sgc2VsZWN0ZWRJdGVtIH19XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxkaXZcclxuICAgICAgICAqbmdJZj1cImxvYWRpbmdcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NwaW5uZXItZm9yLWJ1dHRvbi1kaXJlY3RpdmUnOiBsb2FkaW5nIH1cIlxyXG4gICAgPjwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZyAmJiAhaGlkZURyb3Bkb3duQXJyb3dcIj5cclxuICAgICAgICA8aVxyXG4gICAgICAgICAgICAqbmdJZj1cIiF0Lm1lbnVPcGVuXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLW1lbnUtZG93biBpY29uXCJcclxuICAgICAgICA+PC9pPlxyXG4gICAgICAgIDxpXHJcbiAgICAgICAgICAgICpuZ0lmPVwidC5tZW51T3BlblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWRpIG1kaS1tZW51LXVwIGljb25cIlxyXG4gICAgICAgID48L2k+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9idXR0b24+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cIi5yb2xlLXRvb2x0aXAtaWNvblwiPjwvbmctY29udGVudD5cclxuPG1hdC1tZW51XHJcbiAgICBiYWNrZHJvcENsYXNzPVwic2luZ2xlLXNlbGVjdC1kcm9wZG93blwiXHJcbiAgICBbeVBvc2l0aW9uXT1cInlQb3NpdGlvblwiXHJcbiAgICAjY29udGV4dE1lbnU9XCJtYXRNZW51XCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ7eyBjb25maWcuY2xhc3NlcyB9fVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdhcFwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93U2VhcmNoQmFyXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dDbGVhclNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNsZWFyLXNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uQ2xpY2tlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhc2VsZWN0ZWRJdGVtIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgID5DbGVhciBzZWxlY3Rpb248L2FcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5zaG93U2VhcmNoQmFyXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWJhclwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWkgbWRpLXNlYXJjaCBzZWFyY2gtaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaEZvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUhlaWdodCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1kYXRhLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICBpdGVtU2l6ZT1cIjE4XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8dWxcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbmdsZS1zZWxlY3QtdWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zICYmIChpdGVtc1swXSB8IEFubmF0eXBlb2ZEYXRhKSA9PT0gJ29iamVjdCc7IGVsc2Ugc3RyaW5nVHlwZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5uYUNvcmVTaG93RWxsaXBzaXNUZXh0T25Ib3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKmNka1ZpcnR1YWxGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBpdGVtcyB8IEFubmFmaWx0ZXJTZWFyY2hlZFRleHQ6IHNlYXJjaEZvciA6IGtleVRvVXNlRm9yRGlzcGxheTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdCA9IGxhc3Q7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbVtrZXlUb1VzZUZvckNoZWNraW5nU2VsZWN0ZWRJdGVtXSA9PT1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1ba2V5VG9Vc2VGb3JDaGVja2luZ1NlbGVjdGVkSXRlbV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Nob3ctYm90dG9tLWJvcmRlcic6ICFsYXN0ICYmIGJvcmRlcmJvdHRvbU9iamVjdFtpdGVtLmlkXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogaXRlbS5pc0Rpc2FibGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtU2VsZWN0ZWQoaXRlbSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJpdGVtLmNsYXNzXCI+IHt7IGl0ZW1ba2V5VG9Vc2VGb3JEaXNwbGF5XSB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSAmJiBpdGVtLmFkZGl0aW9uYWxEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIml0ZW0uYWRkaXRpb25hbENsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0/LmFkZGl0aW9uYWxEYXRhIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJub0RhdGFDYXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtcyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N0cmluZ1R5cGVUZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgaXRlbXMgfCBBbm5hZmlsdGVyU2VhcmNoZWRUZXh0OiBzZWFyY2hGb3IgOiBrZXlUb1VzZUZvckRpc3BsYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm5hQ29yZVNob3dFbGxpcHNpc1RleHRPbkhvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW0gPT09IGl0ZW0gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1TZWxlY3RlZChpdGVtLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ge3sgaXRlbSB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9EYXRhQ2FzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtczogaXRlbXMgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L21hdC1tZW51PlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjbm9EYXRhQ2FzZVxyXG4gICAgbGV0LWl0ZW1zPVwiaXRlbXNcIlxyXG4+XHJcbiAgICA8bGlcclxuICAgICAgICBhbm5hQ29yZVNob3dFbGxpcHNpc1RleHRPbkhvdmVyXHJcbiAgICAgICAgKm5nSWY9XCIoaXRlbXMgfCBBbm5hZmlsdGVyU2VhcmNoZWRUZXh0OiBzZWFyY2hGb3IgOiBrZXlUb1VzZUZvckRpc3BsYXkpPy5sZW5ndGggPT09IDBcIlxyXG4gICAgPlxyXG4gICAgICAgIDxzcGFuPiBObyBkYXRhIGZvdW5kIDwvc3Bhbj5cclxuICAgIDwvbGk+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtZHJvcGRvd24tbGliL2NvbXBvbmVudHMvYW5uYS1zaW5nbGUtc2VsZWN0L2FubmEtc2luZ2xlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtc2luZ2xlLXNlbGVjdC9hbm5hLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQzs7Ozs7O0FBdUI1RyxNQUFNLE9BQU8seUJBQXlCO0lBMEJsQyxZQUNZLGdCQUF5QyxFQUN6QyxnQkFBNEM7UUFENUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTRCO1FBMUIvQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLHFDQUFnQyxHQUFZLEtBQUssQ0FBQztRQUlsRCx1QkFBa0IsR0FBVyxNQUFNLENBQUM7UUFDcEMsb0NBQStCLEdBQVcsSUFBSSxDQUFDO1FBQy9DLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyx1QkFBa0IsR0FBUSxFQUFFLENBQUM7UUFDN0IsMEJBQXFCLEdBQVcsSUFBSSxDQUFDO1FBQ3JDLDZCQUF3QixHQUFhLEVBQUUsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFbkMsaUJBQVksR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFDeEYsd0JBQW1CLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakUsd0JBQW1CLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakUsK0JBQTBCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEYsY0FBUyxHQUFRLE9BQU8sQ0FBQztJQVN0QixDQUFDO0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekYsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUM5QixJQUFJLElBQUksQ0FBQyxxQkFBcUI7Z0JBQUUsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQzs7Z0JBQzNGLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RHLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUMxQixDQUFDLElBQXdCLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQ2pGLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXdCLEVBQUUsS0FBaUI7UUFDcEQsSUFBSSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQzFELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUM3QixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ25HLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsNkJBQTZCLEdBQUcsR0FBRyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzlELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLDZCQUE2QixHQUFHLEtBQUssQ0FBQztRQUMvQyxDQUFDO0lBQ0wsQ0FBQzsrR0FwR1EseUJBQXlCO21HQUF6Qix5QkFBeUIsNDVCQzdDdEMsc3BOQXFLQSx1eUhEcklRLGFBQWEscVZBQ2IsSUFBSSw2RkFDSixPQUFPLG1GQUNQLFdBQVcsK21CQUNYLHdCQUF3QixpSkFDeEIseUJBQXlCLHNJQUN6QixlQUFlLDZMQUNmLGdCQUFnQixvSkFDaEIsS0FBSyw4R0FDTCwwQkFBMEIsMERBQzFCLGtCQUFrQjs7NEZBR2IseUJBQXlCO2tCQXBCckMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNMLGFBQWE7d0JBQ2IsSUFBSTt3QkFDSixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixLQUFLO3dCQUNMLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3FCQUNyQjtxSUFHUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRywrQkFBK0I7c0JBQXZDLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQU1nQixhQUFhO3NCQUFuQyxTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMgKi9cclxuaW1wb3J0IHsgQ2RrRml4ZWRTaXplVmlydHVhbFNjcm9sbCwgQ2RrVmlydHVhbEZvck9mLCBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuXHJcbmltcG9ydCB7IElDdXN0b21TaW5nbGVTZWxlY3QgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBbm5hRmlsdGVyU2VhcmNoZWRUZXh0UGlwZSB9IGZyb20gXCIuLi8uLi8uLi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9waXBlcy9hbm5hRmlsdGVyU2VhcmNoZWRUZXh0LnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYVR5cGVvZkRhdGFQaXBlIH0gZnJvbSBcIi4uLy4uLy4uL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFUeXBlT2ZEYXRhLnBpcGVcIjtcclxuaW1wb3J0IHsgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2luZ2xlU2VsZWN0SWRUZXh0IH0gZnJvbSBcIi4vbW9kZWxzL2FubmEtc2luZ2xlLXNlbGVjdC5tb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJhbm5hLWNvcmUtc2luZ2xlLXNlbGVjdFwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbm5hLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0eWxlVXJsczogW1wiLi9hbm5hLXNpbmdsZS1zZWxlY3QuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgTWF0TWVudU1vZHVsZSxcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIE5nQ2xhc3MsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LFxyXG4gICAgICAgIENka0ZpeGVkU2l6ZVZpcnR1YWxTY3JvbGwsXHJcbiAgICAgICAgQ2RrVmlydHVhbEZvck9mLFxyXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXHJcbiAgICAgICAgTmdGb3IsXHJcbiAgICAgICAgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUsXHJcbiAgICAgICAgQW5uYVR5cGVvZkRhdGFQaXBlLFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFTaW5nbGVTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICBASW5wdXQoKSBjb25maWc6IElDdXN0b21TaW5nbGVTZWxlY3Q7XHJcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBzaG93QWRkaXRpb25hbERhdGFJblNlbGVjdGVkVGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpdGVtczogU2luZ2xlU2VsZWN0SWRUZXh0W10gfCBzdHJpbmdbXSB8IGFueTtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogU2luZ2xlU2VsZWN0SWRUZXh0IHwgc3RyaW5nIHwgYW55O1xyXG4gICAgQElucHV0KCkga2V5VG9Vc2VGb3JEaXNwbGF5OiBzdHJpbmcgPSBcInRleHRcIjtcclxuICAgIEBJbnB1dCgpIGtleVRvVXNlRm9yQ2hlY2tpbmdTZWxlY3RlZEl0ZW06IHN0cmluZyA9IFwiaWRcIjtcclxuICAgIEBJbnB1dCgpIGhpZGVEcm9wZG93bkFycm93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBib3JkZXJib3R0b21PYmplY3Q6IGFueSA9IHt9O1xyXG4gICAgQElucHV0KCkgZGVmYXVsdERyb3Bkb3duSGVpZ2h0OiBudW1iZXIgPSBudWxsO1xyXG4gICAgQElucHV0KCkgaXRlbXNUb0hpZGVJbkRyb3Bkb3duSWRzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgQElucHV0KCkgc2hvd0NsZWFyU2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFNpbmdsZVNlbGVjdElkVGV4dD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNpbmdsZVNlbGVjdElkVGV4dD4oKTtcclxuICAgIEBPdXRwdXQoKSBkcm9wZG93bkNsb3NlZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIGRyb3Bkb3duT3BlbmVkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgY2xlYXJTZWxlY3Rpb25DbGlja2VkRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBzZWFyY2hGb3I6IHN0cmluZztcclxuICAgIHlQb3NpdGlvbjogYW55ID0gXCJhYm92ZVwiO1xyXG4gICAgd2lkdGg6IG51bWJlcjtcclxuICAgIGhlaWdodE9mQ2hlY2tib3hUb29sdGlwRmlsdGVyOiBudW1iZXI7XHJcblxyXG4gICAgQFZpZXdDaGlsZChcImRyb3Bkb3duXCIpIGJ1dHRvbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBhbm5hR2xvYmFsQ29uZmlnOiBBbm5hR2xvYmFsQ29uZmlnU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHNlYXJjaEZpbHRlclBpcGU6IEFubmFGaWx0ZXJTZWFyY2hlZFRleHRQaXBlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAoY2hhbmdlcy5jb25maWc/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZyA9IHsgLi4udGhpcy5hbm5hR2xvYmFsQ29uZmlnLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcsIC4uLnRoaXMuY29uZmlnIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlcy5pdGVtcz8uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHREcm9wZG93bkhlaWdodCkgdGhpcy5oZWlnaHRPZkNoZWNrYm94VG9vbHRpcEZpbHRlciA9IHRoaXMuZGVmYXVsdERyb3Bkb3duSGVpZ2h0O1xyXG4gICAgICAgICAgICBlbHNlIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSB0aGlzLml0ZW1zLmxlbmd0aCA+IDcgPyAyMDAgOiAyNS42OCAqIHRoaXMuaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXNUb0hpZGVJbkRyb3Bkb3duSWRzPy5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgKGl0ZW06IFNpbmdsZVNlbGVjdElkVGV4dCkgPT4gIXRoaXMuaXRlbXNUb0hpZGVJbkRyb3Bkb3duSWRzLmluY2x1ZGVzKGl0ZW0uaWQpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbmZpZyA9IHsgLi4udGhpcy5hbm5hR2xvYmFsQ29uZmlnLmRlZmF1bHRTaW5nbGVTZWxlY3RDb25maWcsIC4uLnRoaXMuY29uZmlnIH07XHJcbiAgICAgICAgdGhpcy5zZXRQb3N0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbVNlbGVjdGVkKGl0ZW06IFNpbmdsZVNlbGVjdElkVGV4dCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgICAgICBpZiAoaXRlbT8uaXNEaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWlzRXF1YWwodGhpcy5zZWxlY3RlZEl0ZW0sIGl0ZW0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2VkLmVtaXQoaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBkcm9wZG93bk9wZW5lZCgpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaEZvciA9IFwiXCI7XHJcbiAgICAgICAgdGhpcy51cGRhdGVIZWlnaHQoKTtcclxuICAgICAgICB0aGlzLndpZHRoID0gdGhpcy5idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bk9wZW5lZEV2ZW50LmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBkcm9wZG93bkNsb3NlZCgpIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duQ2xvc2VkRXZlbnQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyU2VsZWN0aW9uQ2xpY2tlZCgpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5jbGVhclNlbGVjdGlvbkNsaWNrZWRFdmVudC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9zdGlvbigpIHtcclxuICAgICAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcucG9zaXRpb24gPT09IFwiVE9QXCIpIHtcclxuICAgICAgICAgICAgdGhpcy55UG9zaXRpb24gPSBcImFib3ZlXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5wb3NpdGlvbiA9PT0gXCJCT1RUT01cIikge1xyXG4gICAgICAgICAgICB0aGlzLnlQb3NpdGlvbiA9IFwiYmVsb3dcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1cGRhdGVIZWlnaHQoKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLnNlYXJjaEZpbHRlclBpcGUudHJhbnNmb3JtKHRoaXMuaXRlbXMsIHRoaXMuc2VhcmNoRm9yLCB0aGlzLmtleVRvVXNlRm9yRGlzcGxheSk7XHJcbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA+IDcpIHtcclxuICAgICAgICAgICAgdGhpcy5oZWlnaHRPZkNoZWNrYm94VG9vbHRpcEZpbHRlciA9IDIwMDtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5oZWlnaHRPZkNoZWNrYm94VG9vbHRpcEZpbHRlciA9IDI1LjY4ICogaXRlbXMubGVuZ3RoO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGVpZ2h0T2ZDaGVja2JveFRvb2x0aXBGaWx0ZXIgPSAyNS42ODtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gICAgaWQ9XCJkcm9wZG93bi10cmlnZ2VyXCJcclxuICAgICNkcm9wZG93blxyXG4gICAgI3Q9XCJtYXRNZW51VHJpZ2dlclwiXHJcbiAgICAobWVudUNsb3NlZCk9XCJkcm9wZG93bkNsb3NlZCgpXCJcclxuICAgIChtZW51T3BlbmVkKT1cImRyb3Bkb3duT3BlbmVkKClcIlxyXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbnRleHRNZW51XCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2FkaW5nXCJcclxuPlxyXG4gICAgPHNwYW5cclxuICAgICAgICBjbGFzcz1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAqbmdJZj1cIiFzZWxlY3RlZEl0ZW0gJiYgY29uZmlnXCJcclxuICAgICAgICA+e3sgY29uZmlnLnBsYWNlaG9sZGVyIH19PC9zcGFuXHJcbiAgICA+XHJcbiAgICA8c3BhblxyXG4gICAgICAgIGNsYXNzPVwic2VsZWN0ZWQtaXRlbVwiXHJcbiAgICAgICAgW2NsYXNzXT1cInNlbGVjdGVkSXRlbS5jbGFzc1wiXHJcbiAgICAgICAgYW5uYUNvcmVTaG93RWxsaXBzaXNUZXh0T25Ib3ZlclxyXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJdGVtXCJcclxuICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKHNlbGVjdGVkSXRlbSB8IEFubmF0eXBlb2ZEYXRhKSA9PT0gJ29iamVjdCc7IGVsc2Ugc3RyaW5nVHlwZVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIHt7IHNlbGVjdGVkSXRlbVtrZXlUb1VzZUZvckRpc3BsYXldIH19XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93QWRkaXRpb25hbERhdGFJblNlbGVjdGVkVGV4dCAmJiBzZWxlY3RlZEl0ZW0gJiYgc2VsZWN0ZWRJdGVtPy5hZGRpdGlvbmFsRGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cInNlbGVjdGVkSXRlbT8uYWRkaXRpb25hbENsYXNzXCI+e3sgc2VsZWN0ZWRJdGVtPy5hZGRpdGlvbmFsRGF0YSB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RyaW5nVHlwZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICB7eyBzZWxlY3RlZEl0ZW0gfX1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnc3Bpbm5lci1mb3ItYnV0dG9uLWRpcmVjdGl2ZSc6IGxvYWRpbmcgfVwiXHJcbiAgICA+PC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkaW5nICYmICFoaWRlRHJvcGRvd25BcnJvd1wiPlxyXG4gICAgICAgIDxpXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXQubWVudU9wZW5cIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1kaSBtZGktbWVudS1kb3duIGljb25cIlxyXG4gICAgICAgID48L2k+XHJcbiAgICAgICAgPGlcclxuICAgICAgICAgICAgKm5nSWY9XCJ0Lm1lbnVPcGVuXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtZGkgbWRpLW1lbnUtdXAgaWNvblwiXHJcbiAgICAgICAgPjwvaT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG48L2J1dHRvbj5cclxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnJvbGUtdG9vbHRpcC1pY29uXCI+PC9uZy1jb250ZW50PlxyXG48bWF0LW1lbnVcclxuICAgIGJhY2tkcm9wQ2xhc3M9XCJzaW5nbGUtc2VsZWN0LWRyb3Bkb3duXCJcclxuICAgIFt5UG9zaXRpb25dPVwieVBvc2l0aW9uXCJcclxuICAgICNjb250ZXh0TWVudT1cIm1hdE1lbnVcIlxyXG4+XHJcbiAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInt7IGNvbmZpZy5jbGFzc2VzIH19XCJcclxuICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ2FwXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLnNob3dTZWFyY2hCYXJcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0NsZWFyU2VsZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xlYXItc2VsZWN0aW9uXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb25DbGlja2VkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6ICFzZWxlY3RlZEl0ZW0gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPkNsZWFyIHNlbGVjdGlvbjwvYVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNlY3Rpb25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLnNob3dTZWFyY2hCYXJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZWFyY2gtYmFyXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtaSBtZGktc2VhcmNoIHNlYXJjaC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoRm9yXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlSGVpZ2h0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWRhdGEtY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIGl0ZW1TaXplPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRPZkNoZWNrYm94VG9vbHRpcEZpbHRlclwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx1bFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2luZ2xlLXNlbGVjdC11bFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMgJiYgKGl0ZW1zWzBdIHwgQW5uYXR5cGVvZkRhdGEpID09PSAnb2JqZWN0JzsgZWxzZSBzdHJpbmdUeXBlVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm5hQ29yZVNob3dFbGxpcHNpc1RleHRPbkhvdmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqY2RrVmlydHVhbEZvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIGl0ZW1zIHwgQW5uYWZpbHRlclNlYXJjaGVkVGV4dDogc2VhcmNoRm9yIDoga2V5VG9Vc2VGb3JEaXNwbGF5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0ID0gbGFzdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0gJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtW2tleVRvVXNlRm9yQ2hlY2tpbmdTZWxlY3RlZEl0ZW1dID09PVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVtrZXlUb1VzZUZvckNoZWNraW5nU2VsZWN0ZWRJdGVtXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hvdy1ib3R0b20tYm9yZGVyJzogIWxhc3QgJiYgYm9yZGVyYm90dG9tT2JqZWN0W2l0ZW0uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBpdGVtLmlzRGlzYWJsZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW1TZWxlY3RlZChpdGVtLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIml0ZW0uY2xhc3NcIj4ge3sgaXRlbVtrZXlUb1VzZUZvckRpc3BsYXldIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtICYmIGl0ZW0uYWRkaXRpb25hbERhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaXRlbS5hZGRpdGlvbmFsQ2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8uYWRkaXRpb25hbERhdGEgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vRGF0YUNhc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbXM6IGl0ZW1zIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RyaW5nVHlwZVRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBpdGVtcyB8IEFubmFmaWx0ZXJTZWFyY2hlZFRleHQ6IHNlYXJjaEZvciA6IGtleVRvVXNlRm9yRGlzcGxheTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFubmFDb3JlU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogc2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbSA9PT0gaXRlbSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaXRlbVNlbGVjdGVkKGl0ZW0sICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7eyBpdGVtIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJub0RhdGFDYXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtcyB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbWF0LW1lbnU+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICAgICNub0RhdGFDYXNlXHJcbiAgICBsZXQtaXRlbXM9XCJpdGVtc1wiXHJcbj5cclxuICAgIDxsaVxyXG4gICAgICAgIGFubmFDb3JlU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJcclxuICAgICAgICAqbmdJZj1cIihpdGVtcyB8IEFubmFmaWx0ZXJTZWFyY2hlZFRleHQ6IHNlYXJjaEZvciA6IGtleVRvVXNlRm9yRGlzcGxheSk/Lmxlbmd0aCA9PT0gMFwiXHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4+IE5vIGRhdGEgZm91bmQgPC9zcGFuPlxyXG4gICAgPC9saT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -256,7 +256,7 @@ export class AnnaColumnTimeFilterComponent {
256
256
  this.disableTimeFilterApplyButton();
257
257
  }
258
258
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaColumnTimeFilterComponent, deps: [{ token: i1.AnnaSortService }, { token: i2.AnnaDateTimeFormatService }, { token: i3.AnnaFilterService }], target: i0.ɵɵFactoryTarget.Component }); }
259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaColumnTimeFilterComponent, isStandalone: true, selector: "anna-core-anna-column-time-filter", inputs: { tableData: "tableData", clonedTableData: "clonedTableData", filterTabObjects: "filterTabObjects", isLurAndCsrComponent: "isLurAndCsrComponent", showFilterHeaderTabs: "showFilterHeaderTabs", showAllTimeRangeCheckboxes: "showAllTimeRangeCheckboxes", gtGeneralConfig: "gtGeneralConfig", showClearAllFilter: "showClearAllFilter", startFromText: "startFromText", endToText: "endToText", isSortAndFilterAbsent: "isSortAndFilterAbsent" }, outputs: { timeChanges: "timeChanges", timeChangedEmitter: "timeChangedEmitter", filterAppliedToTable: "filterAppliedToTable", sortingAppliedToTable: "sortingAppliedToTable", getSortType: "getSortType", closeTooltip: "closeTooltip" }, ngImport: i0, template: "<div\r\n class=\"radio-container\"\r\n *ngIf=\"showFilterHeaderTabs\"\r\n>\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p\r\n class=\"filter-tab\"\r\n [title]=\"data.label\"\r\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\r\n [ngClass]=\"{ active: annaFilterService.selectedRadio === data.key }\"\r\n *ngIf=\"filterTabObjects.length > 0\"\r\n >\r\n {{ data.label }}\r\n </p>\r\n </div>\r\n</div>\r\n\r\n<anna-core-sort-lib\r\n *ngIf=\"showSortComponent\"\r\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\r\n></anna-core-sort-lib>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <button\r\n class=\"column-clear-all\"\r\n *ngIf=\"showClearAllFilter\"\r\n [disabled]=\"disableColumnClearAllBtn\"\r\n (click)=\"clearColumnFilter()\"\r\n >\r\n Clear filter\r\n </button>\r\n <div\r\n class=\"time-filter-checkboxes\"\r\n *ngIf=\"showAllTimeRangeCheckboxes\"\r\n >\r\n <!-- Multi time option checkbox -->\r\n <div\r\n class=\"d-flex align-items-center checkbox-container-padding\"\r\n *ngIf=\"showMultiTimeCheckbox\"\r\n >\r\n <span\r\n *ngIf=\"multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p class=\"label\">Include Multi</p>\r\n </div>\r\n <!-- Zero time option checkbox -->\r\n <div\r\n class=\"d-flex align-items-center checkbox-container-padding\"\r\n *ngIf=\"showZeroTimeCheckbox\"\r\n >\r\n <span\r\n *ngIf=\"zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p class=\"label\">Include Zero</p>\r\n </div>\r\n <!-- Enter time range option checkbox -->\r\n <div\r\n class=\"d-flex align-items-center checkbox-container-padding\"\r\n *ngIf=\"showEnterTimeCheckbox\"\r\n >\r\n <span\r\n *ngIf=\"enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p class=\"label\">Enter time range</p>\r\n </div>\r\n </div>\r\n <div class=\"time-label-container\">\r\n <label>{{ startFromText }}</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input\r\n class=\"form-control numberInput\"\r\n [ngClass]=\"{ 'error-border': startTimeHourErr }\"\r\n [(ngModel)]=\"selectedFromTime[0]\"\r\n type=\"text\"\r\n pattern=\"[1-12]*\"\r\n (ngModelChange)=\"startTimeHourChange($event)\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeStartTimeHour(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeStartTimeHour(false)\"\r\n ></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input\r\n class=\"form-control numberInput\"\r\n [ngClass]=\"{ 'error-border': startTimeMinErr }\"\r\n [(ngModel)]=\"selectedFromTime[1]\"\r\n type=\"text\"\r\n pattern=\"[0-59]*\"\r\n (ngModelChange)=\"startTimeMinChange($event)\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeStartTimeMinute(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeStartTimeMinute(false)\"\r\n ></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group\r\n [(ngModel)]=\"selectedFromTime[2]\"\r\n (ngModelChange)=\"disableTimeFilterApplyButton()\"\r\n >\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-label-container\">\r\n <label>{{ endToText }}</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input\r\n class=\"form-control numberInput\"\r\n [(ngModel)]=\"selectedToTime[0]\"\r\n [ngClass]=\"{ 'error-border': endTimeHourErr }\"\r\n (ngModelChange)=\"endTimeHourChange($event)\"\r\n type=\"text\"\r\n pattern=\"[1-12]*\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeEndTimeHour(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeEndTimeHour(false)\"\r\n ></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input\r\n class=\"form-control numberInput\"\r\n [ngClass]=\"{ 'error-border': endTimeMinErr }\"\r\n [(ngModel)]=\"selectedToTime[1]\"\r\n (ngModelChange)=\"endTimeMinChange($event)\"\r\n type=\"text\"\r\n pattern=\"[0-59]*\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeEndTimeMinute(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeEndTimeMinute(false)\"\r\n ></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group\r\n [(ngModel)]=\"selectedToTime[2]\"\r\n (ngModelChange)=\"disableTimeFilterApplyButton()\"\r\n >\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button\r\n class=\"button\"\r\n (click)=\"closeTimeFilter()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableTimeFilterApplyBtn }\"\r\n (click)=\"applyTimeFilters()\"\r\n [disabled]=\"disableTimeFilterApplyBtn\"\r\n >\r\n Apply\r\n </button>\r\n</div>\r\n", styles: [":host ::ng-deep .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:23px;width:42px;padding:0 10px;height:22px}:host ::ng-deep .mat-button-toggle-checked{background-color:#268bff;color:#fff!important}:host ::ng-deep .mat-button-toggle-group-appearance-standard{border-radius:0;border:none!important}::ng-deep .mat-button-toggle-disabled.mat-button-toggle-checked{background:#bdbdbd!important}::ng-deep .mat-button-toggle-disabled.mat-button-toggle-checked button{color:#fff;opacity:1}::ng-deep .mat-button-toggle-appearance-standard{opacity:1;border:solid 1px #b3b3b3}::ng-deep .mat-button-toggle-appearance-standard button{opacity:1}::ng-deep .mat-button-toggle-appearance-standard.mat-button-toggle-checked{opacity:1}.sort-btn{background:#fff;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:var(--sort-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:var(--filter-search-icon-fs);color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:var(--filter-checkbox-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:var(--filter-search-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.5rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666;font-size:var(--page-message-content-fs)}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:.875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:20px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700;font-size:var(--dropdown-label-fs)}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:var(--filter-clear-select-btn-fs);background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:var(--filter-tab-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis;padding-block:3px}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:var(--filter-clear-select-btn-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:var(--filter-checkbox-label-fs)!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#2962ff}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1}.redcolor-status{color:#c62a2a}#no-filter-space{width:.875rem}input.numberInput{margin-right:-.8125rem;padding:0 0 0 .625rem;height:1.5rem;font-size:var(--dropdown-text-fs)}.hidden{display:none}div.checkbox-container-padding{padding:.5rem 0 .5rem .5rem}div.checkbox-container-padding .label{margin-left:2px;font-size:var(--page-messsage-content-fs)}i.mdi-menu-down{position:relative;left:.25px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AnnaSortComponent, selector: "anna-core-sort-lib", inputs: ["sortObjectKey"], outputs: ["sortOptionClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }] }); }
259
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AnnaColumnTimeFilterComponent, isStandalone: true, selector: "anna-core-anna-column-time-filter", inputs: { tableData: "tableData", clonedTableData: "clonedTableData", filterTabObjects: "filterTabObjects", isLurAndCsrComponent: "isLurAndCsrComponent", showFilterHeaderTabs: "showFilterHeaderTabs", showAllTimeRangeCheckboxes: "showAllTimeRangeCheckboxes", gtGeneralConfig: "gtGeneralConfig", showClearAllFilter: "showClearAllFilter", startFromText: "startFromText", endToText: "endToText", isSortAndFilterAbsent: "isSortAndFilterAbsent" }, outputs: { timeChanges: "timeChanges", timeChangedEmitter: "timeChangedEmitter", filterAppliedToTable: "filterAppliedToTable", sortingAppliedToTable: "sortingAppliedToTable", getSortType: "getSortType", closeTooltip: "closeTooltip" }, ngImport: i0, template: "<div\r\n class=\"radio-container\"\r\n *ngIf=\"showFilterHeaderTabs\"\r\n>\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p\r\n class=\"filter-tab\"\r\n [title]=\"data.label\"\r\n (click)=\"populateTooltipDataBasedOnSelectedRadio(data, true)\"\r\n [ngClass]=\"{ active: annaFilterService.selectedRadio === data.key }\"\r\n *ngIf=\"filterTabObjects.length > 0\"\r\n >\r\n {{ data.label }}\r\n </p>\r\n </div>\r\n</div>\r\n\r\n<anna-core-sort-lib\r\n *ngIf=\"showSortComponent\"\r\n [ngClass]=\"{ 'no-bottom-border': !showFilterComponent }\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"\r\n></anna-core-sort-lib>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <button\r\n class=\"column-clear-all\"\r\n *ngIf=\"showClearAllFilter\"\r\n [disabled]=\"disableColumnClearAllBtn\"\r\n (click)=\"clearColumnFilter()\"\r\n >\r\n Clear filter\r\n </button>\r\n <div\r\n class=\"time-filter-checkboxes\"\r\n *ngIf=\"showAllTimeRangeCheckboxes\"\r\n >\r\n <!-- Multi time option checkbox -->\r\n <div\r\n class=\"d-flex align-items-center checkbox-container-padding\"\r\n *ngIf=\"showMultiTimeCheckbox\"\r\n >\r\n <span\r\n *ngIf=\"multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p class=\"label\">Include Multi</p>\r\n </div>\r\n <!-- Zero time option checkbox -->\r\n <div\r\n class=\"d-flex align-items-center checkbox-container-padding\"\r\n *ngIf=\"showZeroTimeCheckbox\"\r\n >\r\n <span\r\n *ngIf=\"zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p class=\"label\">Include Zero</p>\r\n </div>\r\n <!-- Enter time range option checkbox -->\r\n <div\r\n class=\"d-flex align-items-center checkbox-container-padding\"\r\n *ngIf=\"showEnterTimeCheckbox\"\r\n >\r\n <span\r\n *ngIf=\"enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p class=\"label\">Enter time range</p>\r\n </div>\r\n </div>\r\n <div class=\"time-label-container\">\r\n <label>{{ startFromText }}</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input\r\n class=\"form-control numberInput\"\r\n [ngClass]=\"{ 'error-border': startTimeHourErr }\"\r\n [(ngModel)]=\"selectedFromTime[0]\"\r\n type=\"text\"\r\n pattern=\"[1-12]*\"\r\n (ngModelChange)=\"startTimeHourChange($event)\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeStartTimeHour(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeStartTimeHour(false)\"\r\n ></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input\r\n class=\"form-control numberInput\"\r\n [ngClass]=\"{ 'error-border': startTimeMinErr }\"\r\n [(ngModel)]=\"selectedFromTime[1]\"\r\n type=\"text\"\r\n pattern=\"[0-59]*\"\r\n (ngModelChange)=\"startTimeMinChange($event)\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeStartTimeMinute(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeStartTimeMinute(false)\"\r\n ></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group\r\n [(ngModel)]=\"selectedFromTime[2]\"\r\n (ngModelChange)=\"disableTimeFilterApplyButton()\"\r\n >\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-label-container\">\r\n <label>{{ endToText }}</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input\r\n class=\"form-control numberInput\"\r\n [(ngModel)]=\"selectedToTime[0]\"\r\n [ngClass]=\"{ 'error-border': endTimeHourErr }\"\r\n (ngModelChange)=\"endTimeHourChange($event)\"\r\n type=\"text\"\r\n pattern=\"[1-12]*\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeEndTimeHour(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeEndTimeHour(false)\"\r\n ></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input\r\n class=\"form-control numberInput\"\r\n [ngClass]=\"{ 'error-border': endTimeMinErr }\"\r\n [(ngModel)]=\"selectedToTime[1]\"\r\n (ngModelChange)=\"endTimeMinChange($event)\"\r\n type=\"text\"\r\n pattern=\"[0-59]*\"\r\n />\r\n <div class=\"arrow-container\">\r\n <i\r\n class=\"mdi mdi-menu-up upward\"\r\n (click)=\"changeEndTimeMinute(true)\"\r\n ></i>\r\n <i\r\n class=\"mdi mdi-menu-down downward\"\r\n (click)=\"changeEndTimeMinute(false)\"\r\n ></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group\r\n [(ngModel)]=\"selectedToTime[2]\"\r\n (ngModelChange)=\"disableTimeFilterApplyButton()\"\r\n >\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button\r\n class=\"button\"\r\n (click)=\"closeTimeFilter()\"\r\n >\r\n Cancel\r\n </button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableTimeFilterApplyBtn }\"\r\n (click)=\"applyTimeFilters()\"\r\n [disabled]=\"disableTimeFilterApplyBtn\"\r\n >\r\n Apply\r\n </button>\r\n</div>\r\n", styles: [":host ::ng-deep .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:23px;width:42px;padding:0 10px;height:22px}:host ::ng-deep .mat-button-toggle-checked{background-color:#268bff;color:#fff!important}:host ::ng-deep .mat-button-toggle-group-appearance-standard{border-radius:0;border:none!important}::ng-deep .mat-button-toggle-disabled.mat-button-toggle-checked{background:#bdbdbd!important}::ng-deep .mat-button-toggle-disabled.mat-button-toggle-checked button{color:#fff;opacity:1}::ng-deep .mat-button-toggle-appearance-standard{opacity:1;border:solid 1px #b3b3b3}::ng-deep .mat-button-toggle-appearance-standard button{opacity:1}::ng-deep .mat-button-toggle-appearance-standard.mat-button-toggle-checked{opacity:1}.sort-btn{background:#fff;border:none;border-right:1px solid #1b88ff;text-decoration:underline;font-family:Roboto;font-size:var(--sort-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.07;letter-spacing:normal;color:#1b88ff;cursor:pointer;flex:1;text-align:center}.sort-btn:last-of-type{border-right:none}.sort-btn.active{color:#202b47;text-decoration:none}p.sort-container{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #e6e6e6;margin-bottom:0;display:flex}::ng-deep .tooltip-inner{max-height:22rem;background-color:#fff;border:1px solid white;border-radius:5px;box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;max-width:251px;width:100%;padding:0!important}::ng-deep .tooltip-inner div.radio-container{flex-wrap:wrap}::ng-deep .md-drppicker{box-shadow:unset!important}::ng-deep .available{color:#999}::ng-deep .bs-tooltip-bottom .arrow:before{border-bottom-color:#fff!important}::ng-deep .bs-tooltip-left .arrow:before{border-left-color:#fff!important}::ng-deep .tooltip.show{opacity:1}.input{text-align:left;margin:5px 10px 5px 5px;display:flex;align-items:center;width:230px;white-space:nowrap}.data{color:#000;font-weight:700;margin-left:5px;margin-right:5px}span.data{display:inline-block;text-overflow:ellipsis;white-space:pre;width:100%;overflow:hidden}.check-box{font-size:14px;cursor:pointer;position:relative;top:-1px}span.mdi-filter.active{color:#000;opacity:1!important;pointer-events:all!important}p{margin-bottom:0;line-height:initial}span.mdi-filter{color:#cbcbcb}::ng-deep .ngx-slider-pointer{top:-5px!important;width:12px!important;height:12px!important;background:#bdbdbd!important;border:1px solid #ffffff!important;box-shadow:0 1px 3px #0000004d!important;border-radius:16px!important}input:focus{outline:none}input::placeholder{color:#c8c8c8}.cancel-btn{background:#c7e1ff;color:#268bff}.apply-btn{background:#268bff;color:#fff;margin-left:.3125rem}div.radio-container{display:flex;white-space:nowrap;justify-content:space-between;background-color:#f4f4f4;border-radius:.125rem;margin:.4375rem .4375rem .25rem}div.radio-container div{flex:1;width:50%}div.radio-container div.full-width{width:100%}div.radio-container input{position:relative;top:.125rem;margin-right:.25rem}div.radio-container label{font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:0;color:#4a4a4a;margin:0;padding-left:.125rem}div.radio-container label:first-of-type{margin-right:.188rem}div.radio-container input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;width:.9375rem;height:.9375rem;padding:.125rem;background-clip:content-box;border:.125rem solid #268bff;background-color:transparent;border-radius:50%}div.radio-container input[type=radio]:checked{background-color:#268bff}.checkbox-filter-buttons-container{padding:0 8px!important}.buttons-container{display:flex;margin:0px auto .4375rem;justify-content:center;padding:0 12px}.buttons-container .button{padding:0 10px;width:100%;margin:8px 0 0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.buttons-container button:last-of-type{background-color:#268bff;color:#fff;margin-left:.5rem}.buttons-container button.disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.button{display:inline-block;margin:8px 4px 0 8px;padding:0 16px;border-radius:4px;text-align:center;outline:none;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.67;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.search-box{display:flex;align-items:center;color:#c8c8c8;border:1px solid #e6e6e6;border-radius:.125rem;margin:.25rem .4375rem .188rem;height:1.5rem;padding:.188rem 8px .188rem .5rem}.search-box .search-bar-close{margin-left:auto;float:right}.search-icon{margin:0 4px 0 0;font-size:var(--filter-search-icon-fs);color:#9b9b9b}.filter-icon{justify-content:right;margin-left:auto;color:#d4d4d4;color:#a1a1a1;font-size:16px;cursor:pointer}.data{margin:0 13px 0 8px;font-family:Roboto;font-size:var(--filter-checkbox-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.86;letter-spacing:\"\";color:#4a4a4a}.search-input{font-family:Roboto;font-size:var(--filter-search-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#c8c8c8;width:calc(100% - 38px);margin:1px 0 1px 2px;border:none;padding:0}.check-box{color:#268bff}.tooltip-data-container{overflow-y:scroll;max-height:8rem}.searchbar{width:100%;display:flex;justify-content:flex-end;align-items:flex-end}.clear-button{opacity:.5;font-family:Roboto;font-size:.9375rem;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-decoration:underline;border:none;background-color:#fff;color:#4a4a4a;margin-left:.625rem;padding:0}.clear-button:focus{outline:none;box-shadow:none}.unchecked{color:#268bff}cdk-virtual-scroll-viewport.dropdown-data-container{max-height:12.3rem;width:100%;overflow-y:auto;overflow-x:hidden}cdk-virtual-scroll-viewport.dropdown-data-container p.input{margin-left:0}cdk-virtual-scroll-viewport.dropdown-data-container p.input span.mi{padding-left:.4375rem}cdk-virtual-scroll-viewport.dropdown-data-container p.input:hover{background-color:#ebebeb;cursor:pointer}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar{width:.188rem}cdk-virtual-scroll-viewport.dropdown-data-container::-webkit-scrollbar-thumb{color:#d3d3d3;background:#d3d3d3}section.min-maxContainer{display:flex;justify-content:center;margin-bottom:-.125rem;margin-top:.5rem;width:100%}section.min-maxContainer input{width:30%;height:1.5rem;border:1px solid lightgray;color:gray}section.min-maxContainer span{display:inline-block;padding-left:.5rem;padding-right:.5rem;position:relative;top:.3125rem;color:#666;font-size:var(--page-message-content-fs)}.time-container{width:100%;display:flex;padding:0 .75rem}.time-container input.form-control:disabled{background-color:#fff;width:2.813rem}.time-container input.numberInput:focus{box-shadow:none;border-color:#c2cfd6}.time-container .dot{color:#cbcbcb;position:relative;left:-7px;font-size:17px}.time-container div.arrow-container{flex-direction:column;display:flex;margin-top:.375rem;width:9px;height:18px;margin-right:.875rem}.time-container div.arrow-container i{color:#000;cursor:pointer;max-height:9px;font-size:20px;width:10px}.time-container div.arrow-container i:before{width:0;height:0;pointer-events:none;position:relative;left:-9px;top:-11px}.mdi-filter{cursor:pointer}.time-label-container{display:flex;justify-content:flex-start}.time-label-container label{margin-bottom:0;color:#4a4a4a;margin-top:.125rem;margin-left:.75rem;font-weight:700;font-size:var(--dropdown-label-fs)}.time-heading{color:#000;font-size:.8125rem;text-align:left;padding-left:.625rem;margin-top:.625rem;font-weight:700}.column-clear-all{width:94%;text-align:center;border:none;font-size:var(--filter-clear-select-btn-fs);background:none;text-decoration:underline;color:#268bff}.checkbox-container{display:flex;padding-inline:.625rem}.checkbox-container .data{text-align:left}.checkbox-container:first-of-type{margin-top:.625rem;font-weight:500}.column-clear-all{width:94%;text-align:center;border:none;background:none;text-decoration:underline;color:#268bff}.column-clear-all:disabled{opacity:.5;color:#4a4a4a;font-weight:400}.column-clear-all.align-center{text-align:center}span.mdi-filter-variant.disabled{pointer-events:none;opacity:.5}.datepicker-container{width:100%}span.mdi-filter-variant{color:#cbcbcb;cursor:pointer;font-size:.875rem}span.mdi-filter-variant.active{color:#000}p.filter-tab{font-family:Roboto;font-size:var(--filter-tab-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:1.29;letter-spacing:normal;color:#1b88ff;border-radius:5px;background-color:#f4f4f4;padding-inline:8px;cursor:pointer;overflow:hidden;text-align:center;text-overflow:ellipsis;padding-block:3px}p.filter-tab.active{color:#fff;background-color:#1b88ff}button.filter-text-btn{background:#fff;text-decoration:underline;font-family:Roboto;font-size:var(--filter-clear-select-btn-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:none;color:#268bff;margin-inline:4px;margin-top:2px}button.filter-text-btn:disabled{color:#b1b1b1;cursor:not-allowed}::ng-deep .non-edit-datepicker-tooltip .tooltip-inner{max-width:310px!important;width:283px!important;overflow-y:initial!important;padding:0!important}input.slider-text::-webkit-outer-spin-button,input.slider-text::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.slider-text{-moz-appearance:textfield}input.slider-text.red-border{border:1px solid #f44336!important}::ng-deep .checkbox-sort p.sort-container{margin-top:8px!important;padding-bottom:8px!important}i.mdi-close{cursor:pointer}i.mdi-close.disable-close-icon{pointer-events:none;cursor:not-allowed}input.error-border{border:1px solid #f44336!important}::ng-deep .non-edit-checkbox-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-slider-tooltip .tooltip-inner{width:238px!important;padding:0!important}::ng-deep .non-edit-time-tooltip .tooltip-inner{width:250px!important;padding:0!important}::ng-deep .non-edit-time-tooltip.bs-tooltip-start{padding:.4rem}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow{right:0;top:5px!important;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}::ng-deep .non-edit-time-tooltip.bs-tooltip-start .tooltip-arrow:before{border-left-color:#fff;left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height)}::ng-deep .no-bottom-border p.sort-container{border-bottom:none!important}::ng-deep .ngx-slider-pointer-min:after{display:none}::ng-deep .ngx-slider-pointer-max:after{display:none}::ng-deep .ngx-slider span.ngx-slider-pointer{width:12px;height:12px;top:-5px;background-color:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bar{height:3px;background:#ededed}::ng-deep .ngx-slider span.ngx-slider-selection{background:#bdbdbd}::ng-deep .ngx-slider span.ngx-slider-bubble{bottom:-22px;font-size:12px;color:#333}::ng-deep .show-min.ngx-slider span.ngx-slider-model-value{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .show-max.ngx-slider span.ngx-slider-model-high{background:#fff;box-shadow:none}::ng-deep .ngx-slider span.ngx-slider-combined{background:#fff;box-shadow:0 6px 10px #0000004d,0 2px 2px #0003}::ng-deep .ngx-slider{top:10px!important;margin:5px 0 2px!important}::ng-deep .ngx-slider-animate{top:0!important}.sidebar-slider{margin-bottom:35px!important;margin-left:5px;margin-right:5px}.slider-placeholder{height:14px}::ng-deep .filter-calendar select.form-select:focus{border-color:#c2cfd6;box-shadow:none}::ng-deep .filter-calendar select.form-select{background-color:#fff}.no-data-case{padding-left:.4375rem!important;font-size:var(--filter-checkbox-label-fs)!important;margin-top:10px!important;cursor:pointer}.custom-column-checkbox-checked,.custom-column-checkbox-unchecked{font-size:.875rem;cursor:pointer}.custom-column-checkbox-checked{color:#268bff}.custom-column-checkbox-unchecked{color:#2962ff}.virtual-scroll-div{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1}.redcolor-status{color:#c62a2a}#no-filter-space{width:.875rem}input.numberInput{margin-right:-.8125rem;padding:0 0 0 .625rem;height:1.5rem;font-size:var(--dropdown-text-fs)}.hidden{display:none}div.checkbox-container-padding{padding:.5rem 0 .5rem .5rem}div.checkbox-container-padding .label{margin-left:2px;font-size:var(--page-messsage-content-fs)}i.mdi-menu-down{position:relative;left:.25px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AnnaSortComponent, selector: "anna-core-sort-lib", inputs: ["sortObjectKey"], outputs: ["sortOptionClicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }] }); }
260
260
  }
261
261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaColumnTimeFilterComponent, decorators: [{
262
262
  type: Component,