@alauda-fe/common
Version:
Alauda frontend team common codes.
158 lines • 15.8 kB
JavaScript
import { TooltipModule } from '@alauda/ui';
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, } from '@angular/core';
import { PurePipe } from '../core/public-api';
import { EffectDirectiveModule } from '../effect-directive/module';
import { TRANSLATE_MODULE } from '../translate/translate.module';
import * as i0 from "@angular/core";
import * as i1 from "../translate/translate.pipe";
import * as i2 from "@alauda/ui";
import * as i3 from "../effect-directive/e2e-attribute-binding.directive";
const _c0 = a0 => ({ "tw-flex-col": a0 });
const _c1 = a0 => ({ "tw-ml-8": a0 });
const _c2 = a0 => ({ data: a0 });
function ListDisplayComponent_li_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
function ListDisplayComponent_li_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "li");
i0.ɵɵtemplate(1, ListDisplayComponent_li_2_ng_container_1_Template, 1, 0, "ng-container", 5);
i0.ɵɵpipe(2, "pure");
i0.ɵɵelementEnd();
} if (rf & 2) {
const item_r1 = ctx.$implicit;
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵadvance();
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.childTemplate || ctx_r1.template)("ngTemplateOutletContext", i0.ɵɵpipeBind2(2, 2, item_r1, ctx_r1.templateContext));
} }
function ListDisplayComponent_div_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtext(1);
i0.ɵɵpipe(2, "translate");
i0.ɵɵelementStart(3, "a", 7);
i0.ɵɵtext(4);
i0.ɵɵelementEnd();
i0.ɵɵtext(5);
i0.ɵɵpipe(6, "translate");
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext(2);
const total_r3 = i0.ɵɵreference(5);
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 4, "in_total"), " ");
i0.ɵɵadvance(2);
i0.ɵɵproperty("auiTooltip", total_r3);
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1(" ", ctx_r1.data.length, " ");
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, "ge"), " ");
} }
function ListDisplayComponent_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtext(1);
i0.ɵɵpipe(2, "translate");
i0.ɵɵelementStart(3, "a", 8);
i0.ɵɵtext(4);
i0.ɵɵelementEnd();
i0.ɵɵtext(5);
i0.ɵɵpipe(6, "translate");
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext(2);
const more_r4 = i0.ɵɵreference(7);
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 5, "more"), " ");
i0.ɵɵadvance(2);
i0.ɵɵproperty("auiTooltip", more_r4)("auiTooltipContext", i0.ɵɵpureFunction1(9, _c2, ctx_r1.data.slice(ctx_r1.threshold)));
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1(" ", ctx_r1.data.slice(ctx_r1.threshold).length, " ");
i0.ɵɵadvance();
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 7, "tiao"), " ");
} }
function ListDisplayComponent_div_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div");
i0.ɵɵtemplate(1, ListDisplayComponent_div_3_ng_container_1_Template, 7, 8, "ng-container", 6)(2, ListDisplayComponent_div_3_ng_container_2_Template, 7, 11, "ng-container", 6);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵclassMap(i0.ɵɵpureFunction1(4, _c1, ctx_r1.direction === "row"));
i0.ɵɵadvance();
i0.ɵɵproperty("ngIf", ctx_r1.mode === "total");
i0.ɵɵadvance();
i0.ɵɵproperty("ngIf", ctx_r1.mode === "more");
} }
function ListDisplayComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "acl-list-display", 9);
} if (rf & 2) {
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵproperty("data", ctx_r1.data)("template", ctx_r1.childTemplate || ctx_r1.template);
} }
function ListDisplayComponent_ng_template_6_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelement(0, "acl-list-display", 9);
} if (rf & 2) {
const data_r5 = ctx.data;
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵproperty("data", data_r5)("template", ctx_r1.childTemplate || ctx_r1.template);
} }
export class ListDisplayComponent {
constructor() {
this.mode = 'total';
this.direction = 'column';
}
templateContext(item) {
return {
...item,
$implicit: item,
};
}
static { this.ɵfac = function ListDisplayComponent_Factory(t) { return new (t || ListDisplayComponent)(); }; }
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListDisplayComponent, selectors: [["acl-list-display"]], contentQueries: function ListDisplayComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
} if (rf & 2) {
let _t;
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.childTemplate = _t.first);
} }, inputs: { data: "data", threshold: "threshold", mode: "mode", direction: "direction", template: "template" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 8, vars: 6, consts: [["total", ""], ["more", ""], [1, "tw-flex"], [4, "ngFor", "ngForOf"], [3, "class", 4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [4, "ngIf"], ["auiTooltipType", "info", "auiTooltipPosition", "bottom center", 3, "auiTooltip"], ["auiTooltipType", "info", "auiTooltipPosition", "bottom center", 3, "auiTooltip", "auiTooltipContext"], [3, "data", "template"]], template: function ListDisplayComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 2)(1, "ul");
i0.ɵɵtemplate(2, ListDisplayComponent_li_2_Template, 3, 5, "li", 3);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(3, ListDisplayComponent_div_3_Template, 3, 6, "div", 4);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(4, ListDisplayComponent_ng_template_4_Template, 1, 2, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(6, ListDisplayComponent_ng_template_6_Template, 1, 2, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
} if (rf & 2) {
i0.ɵɵclassMap(i0.ɵɵpureFunction1(4, _c0, ctx.direction === "column"));
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngForOf", ctx.threshold ? ctx.data.slice(0, ctx.threshold) : ctx.data);
i0.ɵɵadvance();
i0.ɵɵproperty("ngIf", ctx.threshold && ctx.data.length > ctx.threshold);
} }, dependencies: [ListDisplayComponent, NgFor,
NgIf,
NgTemplateOutlet,
PurePipe, i1.TranslatePipe, TooltipModule, i2.TooltipDirective, EffectDirectiveModule, i3.E2eAttributeBindingDirective], styles: ["li[_ngcontent-%COMP%]{line-height:20px}"], changeDetection: 0 }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListDisplayComponent, [{
type: Component,
args: [{ standalone: true, selector: 'acl-list-display', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
NgFor,
NgIf,
NgTemplateOutlet,
PurePipe,
TRANSLATE_MODULE,
TooltipModule,
EffectDirectiveModule,
], template: "<div\n class=\"tw-flex\"\n [class]=\"{ 'tw-flex-col': direction === 'column' }\"\n>\n <ul>\n <li *ngFor=\"let item of threshold ? data.slice(0, threshold) : data\">\n <ng-container\n *ngTemplateOutlet=\"\n childTemplate || template;\n context: item | pure: templateContext\n \"\n ></ng-container>\n </li>\n </ul>\n <div\n [class]=\"{ 'tw-ml-8': direction === 'row' }\"\n *ngIf=\"threshold && data.length > threshold\"\n >\n <ng-container *ngIf=\"mode === 'total'\">\n {{ 'in_total' | translate }}\n <a\n [auiTooltip]=\"total\"\n auiTooltipType=\"info\"\n auiTooltipPosition=\"bottom center\"\n >\n {{ data.length }}\n </a>\n {{ 'ge' | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"mode === 'more'\">\n {{ 'more' | translate }}\n <a\n [auiTooltip]=\"more\"\n [auiTooltipContext]=\"{ data: data.slice(threshold) }\"\n auiTooltipType=\"info\"\n auiTooltipPosition=\"bottom center\"\n >\n {{ data.slice(threshold).length }}\n </a>\n {{ 'tiao' | translate }}\n </ng-container>\n </div>\n</div>\n\n<ng-template #total>\n <acl-list-display\n [data]=\"data\"\n [template]=\"childTemplate || template\"\n ></acl-list-display>\n</ng-template>\n\n<ng-template\n #more\n let-data=\"data\"\n>\n <acl-list-display\n [data]=\"data\"\n [template]=\"childTemplate || template\"\n ></acl-list-display>\n</ng-template>\n", styles: ["li{line-height:20px}\n"] }]
}], null, { data: [{
type: Input
}], threshold: [{
type: Input
}], mode: [{
type: Input
}], direction: [{
type: Input
}], template: [{
type: Input
}], childTemplate: [{
type: ContentChild,
args: [TemplateRef]
}] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ListDisplayComponent, { className: "ListDisplayComponent" }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2xpc3QtZGlzcGxheS9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbGlzdC1kaXNwbGF5L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7Ozs7O0lDTjNELHdCQUtnQjs7O0lBTmxCLDBCQUFxRTtJQUNuRSw0RkFLQzs7SUFDSCxpQkFBSzs7OztJQUxBLGNBRVk7SUFBQSxBQUZaLDBFQUVZLGtGQUVyQjs7O0lBT0ksNkJBQXVDO0lBQ3JDLFlBQ0E7O0lBQUEsNEJBSUM7SUFDQyxZQUNGO0lBQUEsaUJBQUk7SUFDSixZQUNGOzs7Ozs7SUFURSxjQUNBO0lBREEsaUVBQ0E7SUFDRSxlQUFvQjtJQUFwQixxQ0FBb0I7SUFJcEIsY0FDRjtJQURFLG1EQUNGO0lBQ0EsY0FDRjtJQURFLDJEQUNGOzs7SUFFQSw2QkFBc0M7SUFDcEMsWUFDQTs7SUFBQSw0QkFLQztJQUNDLFlBQ0Y7SUFBQSxpQkFBSTtJQUNKLFlBQ0Y7Ozs7OztJQVZFLGNBQ0E7SUFEQSw2REFDQTtJQUNFLGVBQW1CO0lBQ25CLEFBREEsb0NBQW1CLHNGQUNrQztJQUlyRCxjQUNGO0lBREUsMkVBQ0Y7SUFDQSxjQUNGO0lBREUsNkRBQ0Y7OztJQTNCRiwyQkFHQztJQWFDLEFBWkEsNkZBQXVDLGlGQVlEO0lBWXhDLGlCQUFNOzs7SUEzQkoscUVBQTRDO0lBRzdCLGNBQXNCO0lBQXRCLDhDQUFzQjtJQVl0QixjQUFxQjtJQUFyQiw2Q0FBcUI7OztJQWdCdEMsc0NBR29COzs7SUFEbEIsQUFEQSxrQ0FBYSxxREFDeUI7OztJQVF4QyxzQ0FHb0I7Ozs7SUFEbEIsQUFEQSw4QkFBYSxxREFDeUI7O0FEdEIxQyxNQUFNLE9BQU8sb0JBQW9CO0lBdEJqQztRQThCRSxTQUFJLEdBQXFCLE9BQU8sQ0FBQztRQUdqQyxjQUFTLEdBQXFCLFFBQVEsQ0FBQztLQWN4QztJQU5DLGVBQWUsQ0FBQyxJQUFPO1FBQ3JCLE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQztxRkF4QlUsb0JBQW9CO29FQUFwQixvQkFBb0I7d0NBZ0JqQixXQUFXOzs7OztZQ2hEekIsQUFKRiw4QkFHQyxTQUNLO1lBQ0YsbUVBQXFFO1lBUXZFLGlCQUFLO1lBQ0wscUVBR0M7WUEwQkgsaUJBQU07WUFTTixBQVBBLHNIQUFvQix5R0FVbkI7O1lBckRDLHFFQUFtRDtZQUc1QixlQUE4QztZQUE5QyxxRkFBOEM7WUFXbEUsY0FBMEM7WUFBMUMsdUVBQTBDOzRCRG9CbEMsb0JBQW9CLEVBVDdCLEtBQUs7WUFDTCxJQUFJO1lBQ0osZ0JBQWdCO1lBQ2hCLFFBQVEsb0JBRVIsYUFBYSx1QkFDYixxQkFBcUI7O2lGQUdaLG9CQUFvQjtjQXRCaEMsU0FBUzs2QkFDSSxJQUFJLFlBQ04sa0JBQWtCLG1CQVNYLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7b0JBQ1AsS0FBSztvQkFDTCxJQUFJO29CQUNKLGdCQUFnQjtvQkFDaEIsUUFBUTtvQkFDUixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IscUJBQXFCO2lCQUN0QjtnQkFJRCxJQUFJO2tCQURILEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixhQUFhO2tCQURaLFlBQVk7bUJBQUMsV0FBVzs7a0ZBaEJkLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHVyZVBpcGUgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRWZmZWN0RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vZWZmZWN0LWRpcmVjdGl2ZS9tb2R1bGUnO1xuaW1wb3J0IHsgVFJBTlNMQVRFX01PRFVMRSB9IGZyb20gJy4uL3RyYW5zbGF0ZS90cmFuc2xhdGUubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYWNsLWxpc3QtZGlzcGxheScsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGxpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0ZvcixcbiAgICBOZ0lmLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgUHVyZVBpcGUsXG4gICAgVFJBTlNMQVRFX01PRFVMRSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEVmZmVjdERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdERpc3BsYXlDb21wb25lbnQ8VD4ge1xuICBASW5wdXQoKVxuICBkYXRhOiBUW107XG5cbiAgQElucHV0KClcbiAgdGhyZXNob2xkOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbW9kZTogJ3RvdGFsJyB8ICdtb3JlJyA9ICd0b3RhbCc7XG5cbiAgQElucHV0KClcbiAgZGlyZWN0aW9uOiAncm93JyB8ICdjb2x1bW4nID0gJ2NvbHVtbic7XG5cbiAgQElucHV0KClcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgY2hpbGRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICB0ZW1wbGF0ZUNvbnRleHQoaXRlbTogVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5pdGVtLFxuICAgICAgJGltcGxpY2l0OiBpdGVtLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJ0dy1mbGV4XCJcbiAgW2NsYXNzXT1cInsgJ3R3LWZsZXgtY29sJzogZGlyZWN0aW9uID09PSAnY29sdW1uJyB9XCJcbj5cbiAgPHVsPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0aHJlc2hvbGQgPyBkYXRhLnNsaWNlKDAsIHRocmVzaG9sZCkgOiBkYXRhXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgY2hpbGRUZW1wbGF0ZSB8fCB0ZW1wbGF0ZTtcbiAgICAgICAgICBjb250ZXh0OiBpdGVtIHwgcHVyZTogdGVtcGxhdGVDb250ZXh0XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9saT5cbiAgPC91bD5cbiAgPGRpdlxuICAgIFtjbGFzc109XCJ7ICd0dy1tbC04JzogZGlyZWN0aW9uID09PSAncm93JyB9XCJcbiAgICAqbmdJZj1cInRocmVzaG9sZCAmJiBkYXRhLmxlbmd0aCA+IHRocmVzaG9sZFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3RvdGFsJ1wiPlxuICAgICAge3sgJ2luX3RvdGFsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGFcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwidG90YWxcIlxuICAgICAgICBhdWlUb29sdGlwVHlwZT1cImluZm9cIlxuICAgICAgICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAge3sgZGF0YS5sZW5ndGggfX1cbiAgICAgIDwvYT5cbiAgICAgIHt7ICdnZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnbW9yZSdcIj5cbiAgICAgIHt7ICdtb3JlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPGFcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwibW9yZVwiXG4gICAgICAgIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGRhdGE6IGRhdGEuc2xpY2UodGhyZXNob2xkKSB9XCJcbiAgICAgICAgYXVpVG9vbHRpcFR5cGU9XCJpbmZvXCJcbiAgICAgICAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IGRhdGEuc2xpY2UodGhyZXNob2xkKS5sZW5ndGggfX1cbiAgICAgIDwvYT5cbiAgICAgIHt7ICd0aWFvJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RvdGFsPlxuICA8YWNsLWxpc3QtZGlzcGxheVxuICAgIFtkYXRhXT1cImRhdGFcIlxuICAgIFt0ZW1wbGF0ZV09XCJjaGlsZFRlbXBsYXRlIHx8IHRlbXBsYXRlXCJcbiAgPjwvYWNsLWxpc3QtZGlzcGxheT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjbW9yZVxuICBsZXQtZGF0YT1cImRhdGFcIlxuPlxuICA8YWNsLWxpc3QtZGlzcGxheVxuICAgIFtkYXRhXT1cImRhdGFcIlxuICAgIFt0ZW1wbGF0ZV09XCJjaGlsZFRlbXBsYXRlIHx8IHRlbXBsYXRlXCJcbiAgPjwvYWNsLWxpc3QtZGlzcGxheT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=