UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

185 lines 19.3 kB
import { Component, Injector, Input } from '@angular/core'; import { LogLevel } from '@microsoft/windows-admin-center-sdk/core/diagnostics/log-level'; import { Logging } from '@microsoft/windows-admin-center-sdk/core/diagnostics/logging'; import { SpacerBaseDirective } from '../common/spacer-base.component'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "../icon/icon-text/icon-text.component"; function HeaderComponent_div_0_div_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 10)(1, "div"); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "div", 11); i0.ɵɵtext(4); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r5 = i0.ɵɵnextContext(2); i0.ɵɵclassProp("sme-padding-left-xs", ctx_r5.urlIcon || ctx_r5.smeIconClassName); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(ctx_r5.text); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate(ctx_r5.subtitle); } } function HeaderComponent_div_0_ng_container_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainer(0); } } function HeaderComponent_div_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 5)(1, "span", 6); i0.ɵɵelement(2, "sme-icon-text", 7); i0.ɵɵtemplate(3, HeaderComponent_div_0_div_3_Template, 5, 4, "div", 8); i0.ɵɵelementEnd(); i0.ɵɵtemplate(4, HeaderComponent_div_0_ng_container_4_Template, 1, 0, "ng-container", 9); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r0 = i0.ɵɵnextContext(); const _r3 = i0.ɵɵreference(4); i0.ɵɵclassProp("sme-layout-tool-header-no-padding", ctx_r0.noPadding); i0.ɵɵadvance(1); i0.ɵɵproperty("ngClass", ctx_r0.level === "" ? "sme-font-h3" : ctx_r0.styleTo); i0.ɵɵadvance(1); i0.ɵɵproperty("smeIconClassName", ctx_r0.smeIconClassName)("urlIcon", ctx_r0.urlIcon)("showTitle", !ctx_r0.subtitle)("title", ctx_r0.text); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx_r0.subtitle); i0.ɵɵadvance(1); i0.ɵɵproperty("ngTemplateOutlet", _r3); } } function HeaderComponent_h2_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "h2", 12); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵproperty("ngClass", ctx_r1.level === "" ? "sme-font-h3" : ctx_r1.styleTo); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate1(" ", ctx_r1.text, "\n"); } } function HeaderComponent_div_2_ng_container_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementContainer(0); } } function HeaderComponent_div_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 13)(1, "h3", 14); i0.ɵɵtext(2); i0.ɵɵelementEnd(); i0.ɵɵtemplate(3, HeaderComponent_div_2_ng_container_3_Template, 1, 0, "ng-container", 9); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r2 = i0.ɵɵnextContext(); const _r3 = i0.ɵɵreference(4); i0.ɵɵadvance(1); i0.ɵɵproperty("ngClass", ctx_r2.level !== "" ? ctx_r2.styleTo : ""); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(ctx_r2.text); i0.ɵɵadvance(1); i0.ɵɵproperty("ngTemplateOutlet", _r3); } } function HeaderComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵprojection(0); } } const _c0 = ["*"]; export class SmeHeaderData { } /** * * @smeDoc {@label Header @id sme-header} * * @overview * @file {@filepath ./examples/header-overview.md} * * @example {@label Basic Usage @id basic-usage} * @file {@filename component.ts @filepath ./examples/header-example.component.ts} * @file {@filename component.html @filepath ./examples/header-example.component.html} * */ export class HeaderComponent extends SpacerBaseDirective { constructor(injector) { super(injector); this.styleTo = ''; /** * The header type */ this.type = HeaderComponent.tool; /** * The font text for the main header */ this.text = ''; /** * The font size level for the main header */ this.level = ''; if (this.smeIconClassName && this.urlIcon) { Logging.log({ level: LogLevel.Warning, message: 'Either sme icon or url icon is accepted.', source: `${this.logSourceName}.constructor` }); } } /** * The source name to use for logging */ get logSourceName() { return 'HeaderComponent'; } /** * The method run when the component is initialized */ ngOnInit() { switch (this.level) { case '1': { this.styleTo = HeaderComponent.h1style; break; } case '2': { this.styleTo = HeaderComponent.h2style; break; } case '3': { this.styleTo = HeaderComponent.h3style; break; } case '4': { this.styleTo = HeaderComponent.h4style; break; } default: { this.styleTo = ''; } } } } HeaderComponent.tool = 'tool-header'; // default HeaderComponent.h1style = 'sme-font-h1'; HeaderComponent.h2style = 'sme-font-h2'; HeaderComponent.h3style = 'sme-font-h3'; HeaderComponent.h4style = 'sme-font-h4 sme-font-h4-no-spacing'; /** @nocollapse */ HeaderComponent.ɵfac = function HeaderComponent_Factory(t) { return new (t || HeaderComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; /** @nocollapse */ HeaderComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: HeaderComponent, selectors: [["sme-header"]], inputs: { type: "type", text: "text", level: "level", smeIconClassName: "smeIconClassName", urlIcon: "urlIcon", subtitle: "subtitle" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 5, vars: 3, consts: [["class", "sme-layout-flex sme-position-flex-align-center sme-layout-tool-header", 3, "sme-layout-tool-header-no-padding", 4, "ngIf"], ["id", "sme-dialog-title", 3, "ngClass", 4, "ngIf"], ["class", "sme-position-flex-none sme-layout-settings-header", 4, "ngIf"], ["class", "sme-padding-left-xs"], ["contentTemplate", ""], [1, "sme-layout-flex", "sme-position-flex-align-center", "sme-layout-tool-header"], [1, "sme-arrange-stack-h", 3, "ngClass"], [3, "smeIconClassName", "urlIcon", "showTitle", "title"], ["class", "sme-arrange-stack-v sme-layout-inline-block", 3, "sme-padding-left-xs", 4, "ngIf"], [4, "ngTemplateOutlet"], [1, "sme-arrange-stack-v", "sme-layout-inline-block"], [1, "sme-font-label"], ["id", "sme-dialog-title", 3, "ngClass"], [1, "sme-position-flex-none", "sme-layout-settings-header"], [3, "ngClass"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵprojectionDef(); i0.ɵɵtemplate(0, HeaderComponent_div_0_Template, 5, 9, "div", 0); i0.ɵɵtemplate(1, HeaderComponent_h2_1_Template, 2, 2, "h2", 1); i0.ɵɵtemplate(2, HeaderComponent_div_2_Template, 4, 3, "div", 2); i0.ɵɵtemplate(3, HeaderComponent_ng_template_3_Template, 1, 0, "ng-template", 3, 4, i0.ɵɵtemplateRefExtractor); } if (rf & 2) { i0.ɵɵproperty("ngIf", ctx.type === "tool-header"); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.type === "dialog-header"); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.type === "settings-page-header"); } }, dependencies: [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i2.IconTextComponent], encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{ type: Component, args: [{ selector: 'sme-header', template: "<div *ngIf=\"type === 'tool-header'\" class=\"sme-layout-flex sme-position-flex-align-center sme-layout-tool-header\"\r\n [class.sme-layout-tool-header-no-padding]=\"noPadding\">\r\n <span [ngClass]=\"level === '' ? 'sme-font-h3' : styleTo\" class=\"sme-arrange-stack-h\">\r\n <sme-icon-text [smeIconClassName]=\"smeIconClassName\" [urlIcon]=\"urlIcon\" [showTitle]=\"!subtitle\" [title]=\"text\"></sme-icon-text>\r\n <div class=\"sme-arrange-stack-v sme-layout-inline-block\" [class.sme-padding-left-xs]=\"urlIcon || smeIconClassName\" *ngIf=\"subtitle\">\r\n <div>{{ text }}</div>\r\n <div class=\"sme-font-label\">{{ subtitle }}</div>\r\n </div>\r\n </span>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n</div>\r\n\r\n<h2 *ngIf=\"type === 'dialog-header'\" id=\"sme-dialog-title\" [ngClass]=\"level === '' ? 'sme-font-h3' : styleTo\">\r\n {{ text }}\r\n</h2>\r\n\r\n<div *ngIf=\"type === 'settings-page-header'\" class=\"sme-position-flex-none sme-layout-settings-header\">\r\n <h3 [ngClass]=\"level !== '' ? styleTo : ''\">{{ text }}</h3>\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n</div>\r\n\r\n<ng-template #contentTemplate class=\"sme-padding-left-xs\">\r\n <ng-content></ng-content>\r\n</ng-template>\r\n" }] }], function () { return [{ type: i0.Injector }]; }, { type: [{ type: Input }], text: [{ type: Input }], level: [{ type: Input }], smeIconClassName: [{ type: Input }], urlIcon: [{ type: Input }], subtitle: [{ type: Input }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7SUNDbEUsK0JBQW9JLFVBQUE7SUFDN0gsWUFBVTtJQUFBLGlCQUFNO0lBQ3JCLCtCQUE0QjtJQUFBLFlBQWM7SUFBQSxpQkFBTSxFQUFBOzs7SUFGTyxnRkFBeUQ7SUFDM0csZUFBVTtJQUFWLGlDQUFVO0lBQ2EsZUFBYztJQUFkLHFDQUFjOzs7SUFHOUMsd0JBQWlFOzs7SUFUbkUsOEJBQ3dELGNBQUE7SUFFcEQsbUNBQWdJO0lBQ2hJLHNFQUdNO0lBQ1IsaUJBQU87SUFDUCx3RkFBaUU7SUFDbkUsaUJBQU07Ozs7SUFUSixxRUFBcUQ7SUFDL0MsZUFBa0Q7SUFBbEQsOEVBQWtEO0lBQ3ZDLGVBQXFDO0lBQXJDLDBEQUFxQywyQkFBQSwrQkFBQSxzQkFBQTtJQUNnRSxlQUFjO0lBQWQsc0NBQWM7SUFLckgsZUFBaUM7SUFBakMsc0NBQWlDOzs7SUFHbEQsOEJBQThHO0lBQzVHLFlBQ0Y7SUFBQSxpQkFBSzs7O0lBRnNELDhFQUFrRDtJQUMzRyxlQUNGO0lBREUsNkNBQ0Y7OztJQUlFLHdCQUFpRTs7O0lBRm5FLCtCQUF1RyxhQUFBO0lBQ3pELFlBQVU7SUFBQSxpQkFBSztJQUMzRCx3RkFBaUU7SUFDbkUsaUJBQU07Ozs7SUFGQSxlQUF1QztJQUF2QyxtRUFBdUM7SUFBQyxlQUFVO0lBQVYsaUNBQVU7SUFDdkMsZUFBaUM7SUFBakMsc0NBQWlDOzs7SUFJaEQsa0JBQXlCOzs7QURqQjNCLE1BQU0sT0FBTyxhQUFhO0NBTXpCO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFLSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFvRHBELFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBdkNiLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFcEI7O1dBRUc7UUFFSSxTQUFJLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUVuQzs7V0FFRztRQUVJLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFakI7O1dBRUc7UUFFSSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBdUJkLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDUixLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3ZCLE9BQU8sRUFBRSwwQ0FBMEM7Z0JBQ25ELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLGNBQWM7YUFDOUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBN0REOztPQUVHO0lBQ0gsSUFBYyxhQUFhO1FBQ3ZCLE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQTBERDs7T0FFRztJQUNJLFFBQVE7UUFDWCxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDaEIsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3ZDLE1BQU07YUFDVDtZQUNELEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO2dCQUN2QyxNQUFNO2FBQ1Q7WUFDRCxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDdkMsTUFBTTthQUNUO1lBQ0QsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7Z0JBQ3ZDLE1BQU07YUFDVDtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2FBQ3JCO1NBQ0o7SUFDTCxDQUFDOztBQWxGYyxvQkFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFFLFVBQVU7QUFFakMsdUJBQU8sR0FBRyxhQUFhLENBQUM7QUFDeEIsdUJBQU8sR0FBRyxhQUFhLENBQUM7QUFDeEIsdUJBQU8sR0FBRyxhQUFhLENBQUM7QUFDeEIsdUJBQU8sR0FBRyxvQ0FBb0MsQ0FBQztpR0FackQsZUFBZTtpR0FBZixlQUFlOztRQzdCNUIsZ0VBVU07UUFFTiw4REFFSztRQUVMLGdFQUdNO1FBRU4sOEdBRWM7O1FBdkJSLGlEQUE0QjtRQVk3QixlQUE4QjtRQUE5QixtREFBOEI7UUFJN0IsZUFBcUM7UUFBckMsMERBQXFDOzt1RkRhOUIsZUFBZTtjQUozQixTQUFTOzJCQUNJLFlBQVk7MkRBdUJmLElBQUk7a0JBRFYsS0FBSztZQU9DLElBQUk7a0JBRFYsS0FBSztZQU9DLEtBQUs7a0JBRFgsS0FBSztZQU9DLGdCQUFnQjtrQkFEdEIsS0FBSztZQU9DLE9BQU87a0JBRGIsS0FBSztZQU9DLFFBQVE7a0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9nTGV2ZWwgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RpYWdub3N0aWNzL2xvZy1sZXZlbCc7XHJcbmltcG9ydCB7IExvZ2dpbmcgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RpYWdub3N0aWNzL2xvZ2dpbmcnO1xyXG5pbXBvcnQgeyBTcGFjZXJCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29tbW9uL3NwYWNlci1iYXNlLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY2xhc3MgU21lSGVhZGVyRGF0YSB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcclxuICAgIHNtZUljb25DbGFzc05hbWU/OiBzdHJpbmc7XHJcbiAgICB1cmxJY29uPzogc3RyaW5nO1xyXG4gICAgbGV2ZWw/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgSGVhZGVyIEBpZCBzbWUtaGVhZGVyfVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL2hlYWRlci1vdmVydmlldy5tZH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBVc2FnZSBAaWQgYmFzaWMtdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2hlYWRlci1leGFtcGxlLmNvbXBvbmVudC50c31cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9oZWFkZXItZXhhbXBsZS5jb21wb25lbnQuaHRtbH1cclxuICpcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtaGVhZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBTcGFjZXJCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdIZWFkZXJDb21wb25lbnQnO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgdG9vbCA9ICd0b29sLWhlYWRlcic7ICAvLyBkZWZhdWx0XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgaDFzdHlsZSA9ICdzbWUtZm9udC1oMSc7XHJcbiAgICBwcml2YXRlIHN0YXRpYyBoMnN0eWxlID0gJ3NtZS1mb250LWgyJztcclxuICAgIHByaXZhdGUgc3RhdGljIGgzc3R5bGUgPSAnc21lLWZvbnQtaDMnO1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgaDRzdHlsZSA9ICdzbWUtZm9udC1oNCBzbWUtZm9udC1oNC1uby1zcGFjaW5nJztcclxuXHJcbiAgICBwdWJsaWMgc3R5bGVUbyA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGhlYWRlciB0eXBlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdHlwZSA9IEhlYWRlckNvbXBvbmVudC50b29sO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGZvbnQgdGV4dCBmb3IgdGhlIG1haW4gaGVhZGVyXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdGV4dCA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGZvbnQgc2l6ZSBsZXZlbCBmb3IgdGhlIG1haW4gaGVhZGVyXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGV2ZWwgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzbWUgaWNvbiBjbGFzcyBmb3IgTURMIGljb25zXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc21lSWNvbkNsYXNzTmFtZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNtZSBpY29uIGNsYXNzIGZvciBVUkwgaWNvbnNcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1cmxJY29uOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc3VidGl0bGUgb2YgdGhlIGhlYWRlclxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHN1YnRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zbWVJY29uQ2xhc3NOYW1lICYmIHRoaXMudXJsSWNvbikge1xyXG4gICAgICAgICAgICBMb2dnaW5nLmxvZyh7XHJcbiAgICAgICAgICAgICAgICBsZXZlbDogTG9nTGV2ZWwuV2FybmluZyxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdFaXRoZXIgc21lIGljb24gb3IgdXJsIGljb24gaXMgYWNjZXB0ZWQuJyxcclxuICAgICAgICAgICAgICAgIHNvdXJjZTogYCR7dGhpcy5sb2dTb3VyY2VOYW1lfS5jb25zdHJ1Y3RvcmBcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1ldGhvZCBydW4gd2hlbiB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzd2l0Y2ggKHRoaXMubGV2ZWwpIHtcclxuICAgICAgICAgICAgY2FzZSAnMSc6IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVUbyA9IEhlYWRlckNvbXBvbmVudC5oMXN0eWxlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnMic6IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVUbyA9IEhlYWRlckNvbXBvbmVudC5oMnN0eWxlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnMyc6IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVUbyA9IEhlYWRlckNvbXBvbmVudC5oM3N0eWxlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnNCc6IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVUbyA9IEhlYWRlckNvbXBvbmVudC5oNHN0eWxlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZVRvID0gJyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInR5cGUgPT09ICd0b29sLWhlYWRlcidcIiBjbGFzcz1cInNtZS1sYXlvdXQtZmxleCBzbWUtcG9zaXRpb24tZmxleC1hbGlnbi1jZW50ZXIgc21lLWxheW91dC10b29sLWhlYWRlclwiXHJcbiAgW2NsYXNzLnNtZS1sYXlvdXQtdG9vbC1oZWFkZXItbm8tcGFkZGluZ109XCJub1BhZGRpbmdcIj5cclxuICA8c3BhbiBbbmdDbGFzc109XCJsZXZlbCA9PT0gJycgPyAnc21lLWZvbnQtaDMnIDogc3R5bGVUb1wiIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiPlxyXG4gICAgPHNtZS1pY29uLXRleHQgW3NtZUljb25DbGFzc05hbWVdPVwic21lSWNvbkNsYXNzTmFtZVwiIFt1cmxJY29uXT1cInVybEljb25cIiBbc2hvd1RpdGxlXT1cIiFzdWJ0aXRsZVwiIFt0aXRsZV09XCJ0ZXh0XCI+PC9zbWUtaWNvbi10ZXh0PlxyXG4gICAgPGRpdiBjbGFzcz1cInNtZS1hcnJhbmdlLXN0YWNrLXYgc21lLWxheW91dC1pbmxpbmUtYmxvY2tcIiBbY2xhc3Muc21lLXBhZGRpbmctbGVmdC14c109XCJ1cmxJY29uIHx8IHNtZUljb25DbGFzc05hbWVcIiAqbmdJZj1cInN1YnRpdGxlXCI+XHJcbiAgICAgIDxkaXY+e3sgdGV4dCB9fTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic21lLWZvbnQtbGFiZWxcIj57eyBzdWJ0aXRsZSB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9zcGFuPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48aDIgKm5nSWY9XCJ0eXBlID09PSAnZGlhbG9nLWhlYWRlcidcIiBpZD1cInNtZS1kaWFsb2ctdGl0bGVcIiBbbmdDbGFzc109XCJsZXZlbCA9PT0gJycgPyAnc21lLWZvbnQtaDMnIDogc3R5bGVUb1wiPlxyXG4gIHt7IHRleHQgfX1cclxuPC9oMj5cclxuXHJcbjxkaXYgKm5nSWY9XCJ0eXBlID09PSAnc2V0dGluZ3MtcGFnZS1oZWFkZXInXCIgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1sYXlvdXQtc2V0dGluZ3MtaGVhZGVyXCI+XHJcbiAgPGgzIFtuZ0NsYXNzXT1cImxldmVsICE9PSAnJyA/IHN0eWxlVG8gOiAnJ1wiPnt7IHRleHQgfX08L2gzPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZSBjbGFzcz1cInNtZS1wYWRkaW5nLWxlZnQteHNcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==