ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
79 lines • 13.5 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { ChangeDetectionStrategy, Component, Injector, TemplateRef, ViewChild } from '@angular/core';
import { OCurrencyPipe } from '../../../../../pipes/o-currency.pipe';
import { CurrencyService } from '../../../../../services/currency.service';
import { OTableCellRendererRealComponent } from '../real/o-table-cell-renderer-real.component';
import { NumberInputConverter } from '../../../../../decorators/input-converter';
import * as i0 from "@angular/core";
export const DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_CURRENCY = [
'currencySymbol: currency-symbol',
'currencySymbolPosition: currency-symbol-position',
'currencySymbolColumn: currency-symbol-column'
];
export class OTableCellRendererCurrencyComponent extends OTableCellRendererRealComponent {
constructor(injector) {
super(injector);
this.injector = injector;
this.minDecimalDigits = 2;
this.maxDecimalDigits = 2;
this.decimalSeparator = '.';
this.grouping = true;
this.thousandSeparator = ',';
this.tableColumn.type = 'currency';
this.currencyService = this.injector.get(CurrencyService);
this.setComponentPipe();
}
setComponentPipe() {
this.componentPipe = new OCurrencyPipe(this.injector);
}
initialize() {
super.initialize();
if (typeof this.currencySymbol === 'undefined') {
this.currencySymbol = this.currencyService.symbol;
}
if (typeof this.currencySymbolPosition === 'undefined') {
this.currencySymbolPosition = this.currencyService.symbolPosition;
}
this.pipeArguments = {
currencySimbol: this.currencySymbol,
currencySymbolPosition: this.currencySymbolPosition,
minDecimalDigits: this.minDecimalDigits,
maxDecimalDigits: this.maxDecimalDigits,
decimalSeparator: this.decimalSeparator,
grouping: this.grouping,
thousandSeparator: this.thousandSeparator
};
}
getCellData(cellValue, rowValue) {
if (this.currencySymbolColumn) {
this.pipeArguments.currencySimbol = this.getNestedProperty(rowValue, this.currencySymbolColumn);
}
return super.getCellData(cellValue, rowValue);
}
getNestedProperty(obj, path) {
if (!obj || !path) {
return undefined;
}
return path.split('.').reduce((current, prop) => {
return current?.[prop];
}, obj);
}
}
OTableCellRendererCurrencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableCellRendererCurrencyComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
OTableCellRendererCurrencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableCellRendererCurrencyComponent, selector: "o-table-cell-renderer-currency", inputs: { currencySymbol: ["currency-symbol", "currencySymbol"], currencySymbolPosition: ["currency-symbol-position", "currencySymbolPosition"], currencySymbolColumn: ["currency-symbol-column", "currencySymbolColumn"] }, viewQueries: [{ propertyName: "templateref", first: true, predicate: ["templateref"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateref let-cellvalue=\"cellvalue\" let-rowvalue=\"rowvalue\">\n {{getCellData(cellvalue, rowvalue)}}\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
__decorate([
NumberInputConverter(),
__metadata("design:type", Number)
], OTableCellRendererCurrencyComponent.prototype, "minDecimalDigits", void 0);
__decorate([
NumberInputConverter(),
__metadata("design:type", Number)
], OTableCellRendererCurrencyComponent.prototype, "maxDecimalDigits", void 0);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableCellRendererCurrencyComponent, decorators: [{
type: Component,
args: [{ selector: 'o-table-cell-renderer-currency', changeDetection: ChangeDetectionStrategy.OnPush, inputs: DEFAULT_INPUTS_O_TABLE_CELL_RENDERER_CURRENCY, template: "<ng-template #templateref let-cellvalue=\"cellvalue\" let-rowvalue=\"rowvalue\">\n {{getCellData(cellvalue, rowvalue)}}\n</ng-template>\n" }]
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { minDecimalDigits: [], maxDecimalDigits: [], templateref: [{
type: ViewChild,
args: ['templateref', { read: TemplateRef, static: true }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1jZWxsLXJlbmRlcmVyLWN1cnJlbmN5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2NvbHVtbi9jZWxsLXJlbmRlcmVyL2N1cnJlbmN5L28tdGFibGUtY2VsbC1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb2x1bW4vY2VsbC1yZW5kZXJlci9jdXJyZW5jeS9vLXRhYmxlLWNlbGwtcmVuZGVyZXItY3VycmVuY3kuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUF5QixhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRWpGLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHO0lBRTNELGlDQUFpQztJQUdqQyxrREFBa0Q7SUFHbEQsOENBQThDO0NBRS9DLENBQUM7QUFRRixNQUFNLE9BQU8sbUNBQW9DLFNBQVEsK0JBQStCO0lBcUJ0RixZQUFzQixRQUFrQjtRQUN0QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFESSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBbEJ4QyxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFFN0IscUJBQWdCLEdBQVcsQ0FBQyxDQUFDO1FBSW5CLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztRQUcvQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFXLEdBQUcsQ0FBQztRQVV4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUksZ0JBQWdCO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxVQUFVO1FBQ2YsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxXQUFXLEVBQUU7WUFDdEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUNuRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUMxQyxDQUFDO0lBRUosQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFjLEVBQUUsUUFBYztRQUN4QyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ2pHO1FBQ0QsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBUU8saUJBQWlCLENBQUMsR0FBUSxFQUFFLElBQVk7UUFDOUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDOUMsT0FBTyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOztpSUExRVUsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsMFhBbUJaLFdBQVcsa0VDNUMvQyw0SUFHQTtBRHdCRTtJQUFDLG9CQUFvQixFQUFFOzs2RUFDTTtBQUM3QjtJQUFDLG9CQUFvQixFQUFFOzs2RUFDTTs0RkFMbEIsbUNBQW1DO2tCQU4vQyxTQUFTOytCQUNFLGdDQUFnQyxtQkFFekIsdUJBQXVCLENBQUMsTUFBTSxVQUN2Qyw2Q0FBNkM7K0ZBS3JELGdCQUFnQixNQUVoQixnQkFBZ0IsTUFjc0QsV0FBVztzQkFBaEYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElDdXJyZW5jeVBpcGVBcmd1bWVudCwgT0N1cnJlbmN5UGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BpcGVzL28tY3VycmVuY3kucGlwZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IE9UYWJsZUNlbGxSZW5kZXJlclJlYWxDb21wb25lbnQgfSBmcm9tICcuLi9yZWFsL28tdGFibGUtY2VsbC1yZW5kZXJlci1yZWFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdW1iZXJJbnB1dENvbnZlcnRlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RlY29yYXRvcnMvaW5wdXQtY29udmVydGVyJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ0VMTF9SRU5ERVJFUl9DVVJSRU5DWSA9IFtcbiAgLy8gY3VycmVuY3ktc3ltYm9sIFtzdHJpbmddOiBjdXJyZW5jeSBzeW1ib2wuIERlZmF1bHQ6IGRvbGxhciAoJCkuXG4gICdjdXJyZW5jeVN5bWJvbDogY3VycmVuY3ktc3ltYm9sJyxcblxuICAvLyBjdXJyZW5jeS1zeW1ib2wtcG9zaXRpb24gW2xlZnR8cmlnaHRdOiBwb3NpdGlvbiBvZiB0aGUgY3VycmVuY3kgc3ltYm9sLiBEZWZhdWx0OiBsZWZ0LlxuICAnY3VycmVuY3lTeW1ib2xQb3NpdGlvbjogY3VycmVuY3ktc3ltYm9sLXBvc2l0aW9uJyxcbiAgLy8gY3VycmVuY3ktc3ltYm9sLWNvbHVtbiBbc3RyaW5nXTogY29sdW1uIG5hbWUgY29udGFpbmluZyB0aGUgY3VycmVuY3kgc3ltYm9sIGZvciBlYWNoIHJvdy4gRGVmYXVsdDokLlxuICAvLyBTdXBwb3J0cyBuZXN0ZWQgcHJvcGVydGllcyB1c2luZyBkb3Qgbm90YXRpb24gKGUuZy4sIFwiY3VycmVuY3kuc3ltYm9sXCIpXG4gICdjdXJyZW5jeVN5bWJvbENvbHVtbjogY3VycmVuY3ktc3ltYm9sLWNvbHVtbidcblxuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1jZWxsLXJlbmRlcmVyLWN1cnJlbmN5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tdGFibGUtY2VsbC1yZW5kZXJlci1jdXJyZW5jeS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fVEFCTEVfQ0VMTF9SRU5ERVJFUl9DVVJSRU5DWVxufSlcbmV4cG9ydCBjbGFzcyBPVGFibGVDZWxsUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCBleHRlbmRzIE9UYWJsZUNlbGxSZW5kZXJlclJlYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBOdW1iZXJJbnB1dENvbnZlcnRlcigpXG4gIG1pbkRlY2ltYWxEaWdpdHM6IG51bWJlciA9IDI7XG4gIEBOdW1iZXJJbnB1dENvbnZlcnRlcigpXG4gIG1heERlY2ltYWxEaWdpdHM6IG51bWJlciA9IDI7XG5cbiAgcHJvdGVjdGVkIGN1cnJlbmN5U3ltYm9sOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBjdXJyZW5jeVN5bWJvbFBvc2l0aW9uOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBkZWNpbWFsU2VwYXJhdG9yOiBzdHJpbmcgPSAnLic7XG4gIHByb3RlY3RlZCBjdXJyZW5jeVN5bWJvbENvbHVtbjogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBncm91cGluZzogYm9vbGVhbiA9IHRydWU7XG4gIHByb3RlY3RlZCB0aG91c2FuZFNlcGFyYXRvcjogc3RyaW5nID0gJywnO1xuXG4gIHByb3RlY3RlZCBjdXJyZW5jeVNlcnZpY2U6IEN1cnJlbmN5U2VydmljZTtcblxuICBwcm90ZWN0ZWQgY29tcG9uZW50UGlwZTogT0N1cnJlbmN5UGlwZTtcbiAgcHJvdGVjdGVkIHBpcGVBcmd1bWVudHM6IElDdXJyZW5jeVBpcGVBcmd1bWVudDtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVyZWYnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlcmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgdGhpcy50YWJsZUNvbHVtbi50eXBlID0gJ2N1cnJlbmN5JztcbiAgICB0aGlzLmN1cnJlbmN5U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEN1cnJlbmN5U2VydmljZSk7XG4gICAgdGhpcy5zZXRDb21wb25lbnRQaXBlKCk7XG4gIH1cblxucHVibGljIHNldENvbXBvbmVudFBpcGUoKTp2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFBpcGUgPSBuZXcgT0N1cnJlbmN5UGlwZSh0aGlzLmluamVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6dm9pZCB7XG4gICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW5jeVN5bWJvbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuY3VycmVuY3lTeW1ib2wgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5zeW1ib2w7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW5jeVN5bWJvbFBvc2l0aW9uID09PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5jdXJyZW5jeVN5bWJvbFBvc2l0aW9uID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sUG9zaXRpb247XG4gICAgfVxuXG4gICAgdGhpcy5waXBlQXJndW1lbnRzID0ge1xuICAgICAgY3VycmVuY3lTaW1ib2w6IHRoaXMuY3VycmVuY3lTeW1ib2wsXG4gICAgICBjdXJyZW5jeVN5bWJvbFBvc2l0aW9uOiB0aGlzLmN1cnJlbmN5U3ltYm9sUG9zaXRpb24sXG4gICAgICBtaW5EZWNpbWFsRGlnaXRzOiB0aGlzLm1pbkRlY2ltYWxEaWdpdHMsXG4gICAgICBtYXhEZWNpbWFsRGlnaXRzOiB0aGlzLm1heERlY2ltYWxEaWdpdHMsXG4gICAgICBkZWNpbWFsU2VwYXJhdG9yOiB0aGlzLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICBncm91cGluZzogdGhpcy5ncm91cGluZyxcbiAgICAgIHRob3VzYW5kU2VwYXJhdG9yOiB0aGlzLnRob3VzYW5kU2VwYXJhdG9yXG4gICAgfTtcblxuICB9XG5cbiAgZ2V0Q2VsbERhdGEoY2VsbFZhbHVlOiBhbnksIHJvd1ZhbHVlPzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXJyZW5jeVN5bWJvbENvbHVtbikge1xuICAgICAgdGhpcy5waXBlQXJndW1lbnRzLmN1cnJlbmN5U2ltYm9sID0gdGhpcy5nZXROZXN0ZWRQcm9wZXJ0eShyb3dWYWx1ZSwgdGhpcy5jdXJyZW5jeVN5bWJvbENvbHVtbik7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5nZXRDZWxsRGF0YShjZWxsVmFsdWUsIHJvd1ZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBuZXN0ZWQgcHJvcGVydHkgZnJvbSBhbiBvYmplY3QgdXNpbmcgZG90IG5vdGF0aW9uLlxuICAgKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBleHRyYWN0IHRoZSBwcm9wZXJ0eSBmcm9tXG4gICAqIEBwYXJhbSBwYXRoIC0gVGhlIHByb3BlcnR5IHBhdGggKGUuZy4sIFwiY3VycmVuY3kuc3ltYm9sXCIgb3IgXCJkYXRhLmN1cnJlbmN5LmNvZGVcIilcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBuZXN0ZWQgcHJvcGVydHksIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmRcbiAgICovXG4gIHByaXZhdGUgZ2V0TmVzdGVkUHJvcGVydHkob2JqOiBhbnksIHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFvYmogfHwgIXBhdGgpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoJy4nKS5yZWR1Y2UoKGN1cnJlbnQsIHByb3ApID0+IHtcbiAgICAgIHJldHVybiBjdXJyZW50Py5bcHJvcF07XG4gICAgfSwgb2JqKTtcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlcmVmIGxldC1jZWxsdmFsdWU9XCJjZWxsdmFsdWVcIiBsZXQtcm93dmFsdWU9XCJyb3d2YWx1ZVwiPlxuICB7e2dldENlbGxEYXRhKGNlbGx2YWx1ZSwgcm93dmFsdWUpfX1cbjwvbmctdGVtcGxhdGU+XG4iXX0=