UNPKG

ontimize-web-ngx

Version:
68 lines 15.3 kB
import { __decorate, __metadata } from "tslib"; import { Component, ElementRef, forwardRef, Inject, Injector, Optional, ViewEncapsulation } from '@angular/core'; import { OFormComponent } from '../../../components/form/o-form.component'; import { BooleanInputConverter, NumberInputConverter } from '../../../decorators/input-converter'; import { OFormDataComponent } from '../../o-form-data-component.class'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/flex-layout/flex"; import * as i3 from "@angular/forms"; import * as i4 from "@angular/material/slider"; import * as i5 from "@angular/material/tooltip"; import * as i6 from "../../../components/form/o-form.component"; export const DEFAULT_INPUTS_O_SLIDER_INPUT = [ 'color', 'max', 'min', 'step', 'thumbLabel:thumb-label', 'oDisplayWith:display-with', 'showTickMarks:show-tick-marks' ]; export class OSliderComponent extends OFormDataComponent { ; constructor(form, elRef, injector) { super(form, elRef, injector); this.thumbLabel = false; this.showTickMarks = false; this.step = 1; this.oDisplayWith = (value) => `${value}`; } onClickBlocker(evt) { evt.stopPropagation(); } } OSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OSliderComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); OSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OSliderComponent, selector: "o-slider", inputs: { color: "color", max: "max", min: "min", step: "step", thumbLabel: ["thumb-label", "thumbLabel"], oDisplayWith: ["display-with", "oDisplayWith"], showTickMarks: ["show-tick-marks", "showTickMarks"] }, host: { classAttribute: "o-slider" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"getFormGroup()\" class=\"relative\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\" [matTooltipPosition]=\"tooltipPosition\"\n [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\">\n <ng-container [ngSwitch]=\"true\">\n <mat-slider *ngSwitchCase=\"thumbLabel && !showTickMarks\" discrete [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\"\n [displayWith]=\"oDisplayWith\">\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n <mat-slider *ngSwitchCase=\"!thumbLabel && !showTickMarks\" [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\" [displayWith]=\"oDisplayWith\">\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n <mat-slider *ngSwitchCase=\"thumbLabel && showTickMarks\" [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\" discrete\n [displayWith]=\"oDisplayWith\" showTickMarks>\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n <mat-slider *ngSwitchCase=\"!thumbLabel && showTickMarks\" [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\" [displayWith]=\"oDisplayWith\"\n showTickMarks>\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n </ng-container>\n <div *ngIf=\"isReadOnly\" (click)=\"onClickBlocker($event)\" class=\"read-only-blocker\" fxFill></div>\n\n</div>\n\n\n", styles: [".o-slider .read-only-blocker{z-index:2;position:absolute;top:0;left:0;right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatSlider, selector: "mat-slider", inputs: ["color", "disableRipple", "disabled", "discrete", "showTickMarks", "min", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i4.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None }); __decorate([ BooleanInputConverter(), __metadata("design:type", Boolean) ], OSliderComponent.prototype, "thumbLabel", void 0); __decorate([ BooleanInputConverter(), __metadata("design:type", Boolean) ], OSliderComponent.prototype, "showTickMarks", void 0); __decorate([ NumberInputConverter(), __metadata("design:type", Number) ], OSliderComponent.prototype, "min", void 0); __decorate([ NumberInputConverter(), __metadata("design:type", Number) ], OSliderComponent.prototype, "max", void 0); __decorate([ NumberInputConverter(), __metadata("design:type", Number) ], OSliderComponent.prototype, "step", void 0); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OSliderComponent, decorators: [{ type: Component, args: [{ selector: 'o-slider', host: { class: 'o-slider' }, inputs: DEFAULT_INPUTS_O_SLIDER_INPUT, encapsulation: ViewEncapsulation.None, template: "<div [formGroup]=\"getFormGroup()\" class=\"relative\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\" [matTooltipPosition]=\"tooltipPosition\"\n [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\">\n <ng-container [ngSwitch]=\"true\">\n <mat-slider *ngSwitchCase=\"thumbLabel && !showTickMarks\" discrete [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\"\n [displayWith]=\"oDisplayWith\">\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n <mat-slider *ngSwitchCase=\"!thumbLabel && !showTickMarks\" [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\" [displayWith]=\"oDisplayWith\">\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n <mat-slider *ngSwitchCase=\"thumbLabel && showTickMarks\" [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\" discrete\n [displayWith]=\"oDisplayWith\" showTickMarks>\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n <mat-slider *ngSwitchCase=\"!thumbLabel && showTickMarks\" [color]=\"color\" [max]=\"max\" [min]=\"min\" [step]=\"step\" [displayWith]=\"oDisplayWith\"\n showTickMarks>\n <input matSliderThumb (change)=\"onChangeEvent($event)\" [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" />\n </mat-slider>\n </ng-container>\n <div *ngIf=\"isReadOnly\" (click)=\"onClickBlocker($event)\" class=\"read-only-blocker\" fxFill></div>\n\n</div>\n\n\n", styles: [".o-slider .read-only-blocker{z-index:2;position:absolute;top:0;left:0;right:0}\n"] }] }], ctorParameters: function () { return [{ type: i6.OFormComponent, decorators: [{ type: Optional }, { type: Inject, args: [forwardRef(() => OFormComponent)] }] }, { type: i0.ElementRef }, { type: i0.Injector }]; }, propDecorators: { thumbLabel: [], showTickMarks: [], min: [], max: [], step: [] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvc2xpZGVyL28tc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L3NsaWRlci9vLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7QUFFdkUsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUc7SUFDM0MsT0FBTztJQUNQLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLHdCQUF3QjtJQUN4QiwyQkFBMkI7SUFDM0IsK0JBQStCO0NBQ2hDLENBQUM7QUFlRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsa0JBQWtCO0lBbUJjLENBQUM7SUFFckUsWUFDd0QsSUFBb0IsRUFDMUUsS0FBaUIsRUFDakIsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFyQnhCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFTdEMsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUVqQixpQkFBWSxHQUEwQixDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQztJQVFwRSxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVU7UUFDdkIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzhHQS9CVSxnQkFBZ0Isa0JBc0JMLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7a0dBdEIzQyxnQkFBZ0IsK1RDN0I3QixrckRBd0JBO0FEU0U7SUFBQyxxQkFBcUIsRUFBRTs7b0RBQ1c7QUFFbkM7SUFBQyxxQkFBcUIsRUFBRTs7dURBQ2M7QUFFdEM7SUFBQyxvQkFBb0IsRUFBRTs7NkNBQ1g7QUFFWjtJQUFDLG9CQUFvQixFQUFFOzs2Q0FDWDtBQUVaO0lBQUMsb0JBQW9CLEVBQUU7OzhDQUNOOzRGQWpCTixnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0UsVUFBVSxRQUNkO3dCQUNKLEtBQUssRUFBRSxVQUFVO3FCQUNsQixVQUdPLDZCQUE2QixpQkFDdEIsaUJBQWlCLENBQUMsSUFBSTs7MEJBd0JsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7NEZBakIvQyxVQUFVLE1BR1YsYUFBYSxNQUdwQixHQUFHLE1BR0gsR0FBRyxNQUdILElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZm9ybS9vLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dENvbnZlcnRlciwgTnVtYmVySW5wdXRDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3JzL2lucHV0LWNvbnZlcnRlcic7XG5pbXBvcnQgeyBPRm9ybURhdGFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTlBVVFNfT19TTElERVJfSU5QVVQgPSBbXG4gICdjb2xvcicsXG4gICdtYXgnLFxuICAnbWluJyxcbiAgJ3N0ZXAnLFxuICAndGh1bWJMYWJlbDp0aHVtYi1sYWJlbCcsXG4gICdvRGlzcGxheVdpdGg6ZGlzcGxheS13aXRoJyxcbiAgJ3Nob3dUaWNrTWFya3M6c2hvdy10aWNrLW1hcmtzJ1xuXTtcblxuXG5leHBvcnQgdHlwZSBTbGlkZXJEaXNwbGF5RnVuY3Rpb24gPSAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXNsaWRlcicsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ28tc2xpZGVyJ1xuICB9LFxuICB0ZW1wbGF0ZVVybDogJ28tc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaW5wdXRzOiBERUZBVUxUX0lOUFVUU19PX1NMSURFUl9JTlBVVCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBPU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgT0Zvcm1EYXRhQ29tcG9uZW50IHtcblxuICBwdWJsaWMgY29sb3I6IHN0cmluZztcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHRodW1iTGFiZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHNob3dUaWNrTWFya3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBATnVtYmVySW5wdXRDb252ZXJ0ZXIoKVxuICBtaW46IG51bWJlcjtcblxuICBATnVtYmVySW5wdXRDb252ZXJ0ZXIoKVxuICBtYXg6IG51bWJlcjtcblxuICBATnVtYmVySW5wdXRDb252ZXJ0ZXIoKVxuICBzdGVwOiBudW1iZXIgPSAxO1xuXG4gIG9EaXNwbGF5V2l0aDogU2xpZGVyRGlzcGxheUZ1bmN0aW9uID0gKHZhbHVlOiBudW1iZXIpID0+IGAke3ZhbHVlfWA7O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBPRm9ybUNvbXBvbmVudCkpIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtLCBlbFJlZiwgaW5qZWN0b3IpO1xuICB9XG5cbiAgb25DbGlja0Jsb2NrZXIoZXZ0OiBFdmVudCkge1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG5cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJnZXRGb3JtR3JvdXAoKVwiIGNsYXNzPVwicmVsYXRpdmVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwXCIgW21hdFRvb2x0aXBDbGFzc109XCJ0b29sdGlwQ2xhc3NcIiBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvblwiXG4gIFttYXRUb29sdGlwU2hvd0RlbGF5XT1cInRvb2x0aXBTaG93RGVsYXlcIiBbbWF0VG9vbHRpcEhpZGVEZWxheV09XCJ0b29sdGlwSGlkZURlbGF5XCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInRydWVcIj5cbiAgICA8bWF0LXNsaWRlciAqbmdTd2l0Y2hDYXNlPVwidGh1bWJMYWJlbCAmJiAhc2hvd1RpY2tNYXJrc1wiIGRpc2NyZXRlIFtjb2xvcl09XCJjb2xvclwiIFttYXhdPVwibWF4XCIgW21pbl09XCJtaW5cIiBbc3RlcF09XCJzdGVwXCJcbiAgICAgIFtkaXNwbGF5V2l0aF09XCJvRGlzcGxheVdpdGhcIj5cbiAgICAgIDxpbnB1dCBtYXRTbGlkZXJUaHVtYiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiIFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiAvPlxuICAgIDwvbWF0LXNsaWRlcj5cbiAgICA8bWF0LXNsaWRlciAqbmdTd2l0Y2hDYXNlPVwiIXRodW1iTGFiZWwgJiYgIXNob3dUaWNrTWFya3NcIiBbY29sb3JdPVwiY29sb3JcIiBbbWF4XT1cIm1heFwiIFttaW5dPVwibWluXCIgW3N0ZXBdPVwic3RlcFwiIFtkaXNwbGF5V2l0aF09XCJvRGlzcGxheVdpdGhcIj5cbiAgICAgIDxpbnB1dCBtYXRTbGlkZXJUaHVtYiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiICBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgLz5cbiAgICA8L21hdC1zbGlkZXI+XG4gICAgPG1hdC1zbGlkZXIgKm5nU3dpdGNoQ2FzZT1cInRodW1iTGFiZWwgJiYgc2hvd1RpY2tNYXJrc1wiIFtjb2xvcl09XCJjb2xvclwiIFttYXhdPVwibWF4XCIgW21pbl09XCJtaW5cIiBbc3RlcF09XCJzdGVwXCIgZGlzY3JldGVcbiAgICAgIFtkaXNwbGF5V2l0aF09XCJvRGlzcGxheVdpdGhcIiBzaG93VGlja01hcmtzPlxuICAgICAgPGlucHV0IG1hdFNsaWRlclRodW1iIChjaGFuZ2UpPVwib25DaGFuZ2VFdmVudCgkZXZlbnQpXCIgW2lkXT1cImdldEF0dHJpYnV0ZSgpXCIgW2Zvcm1Db250cm9sTmFtZV09XCJnZXRBdHRyaWJ1dGUoKVwiIC8+XG4gICAgPC9tYXQtc2xpZGVyPlxuICAgIDxtYXQtc2xpZGVyICpuZ1N3aXRjaENhc2U9XCIhdGh1bWJMYWJlbCAmJiBzaG93VGlja01hcmtzXCIgW2NvbG9yXT1cImNvbG9yXCIgW21heF09XCJtYXhcIiBbbWluXT1cIm1pblwiIFtzdGVwXT1cInN0ZXBcIiBbZGlzcGxheVdpdGhdPVwib0Rpc3BsYXlXaXRoXCJcbiAgICAgIHNob3dUaWNrTWFya3M+XG4gICAgICA8aW5wdXQgbWF0U2xpZGVyVGh1bWIgKGNoYW5nZSk9XCJvbkNoYW5nZUV2ZW50KCRldmVudClcIiBbaWRdPVwiZ2V0QXR0cmlidXRlKClcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImdldEF0dHJpYnV0ZSgpXCIgLz5cbiAgICA8L21hdC1zbGlkZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2ICpuZ0lmPVwiaXNSZWFkT25seVwiIChjbGljayk9XCJvbkNsaWNrQmxvY2tlcigkZXZlbnQpXCIgY2xhc3M9XCJyZWFkLW9ubHktYmxvY2tlclwiIGZ4RmlsbD48L2Rpdj5cblxuPC9kaXY+XG5cblxuIl19