UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

145 lines 14.9 kB
import { Component, Injector, Input } from '@angular/core'; import { CoreBaseComponent } from '../common/base.component'; import { BreadcrumbSeparator } from './models/breadcrumb-separator'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; function BreadcrumbComponent_span_0_a_2_Template(rf, ctx) { if (rf & 1) { const _r8 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "a", 5); i0.ɵɵlistener("click", function BreadcrumbComponent_span_0_a_2_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r8); const item_r1 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(item_r1.action($event)); }); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const item_r1 = i0.ɵɵnextContext().$implicit; i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(item_r1.label); } } function BreadcrumbComponent_span_0_span_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 6); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const item_r1 = i0.ɵɵnextContext().$implicit; i0.ɵɵattribute("aria-label", item_r1.label); i0.ɵɵadvance(1); i0.ɵɵtextInterpolate(item_r1.label); } } function BreadcrumbComponent_span_0_span_4_span_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 10); i0.ɵɵtext(1, "\u00A0\\\u00A0"); i0.ɵɵelementEnd(); } } function BreadcrumbComponent_span_0_span_4_span_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 10); i0.ɵɵtext(1, "\u00A0/\u00A0"); i0.ɵɵelementEnd(); } } function BreadcrumbComponent_span_0_span_4_span_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "span", 11); } } function BreadcrumbComponent_span_0_span_4_span_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 10); i0.ɵɵtext(1, "\u00A0,\u00A0"); i0.ɵɵelementEnd(); } } function BreadcrumbComponent_span_0_span_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 7); i0.ɵɵtemplate(1, BreadcrumbComponent_span_0_span_4_span_1_Template, 2, 0, "span", 8); i0.ɵɵtemplate(2, BreadcrumbComponent_span_0_span_4_span_2_Template, 2, 0, "span", 8); i0.ɵɵtemplate(3, BreadcrumbComponent_span_0_span_4_span_3_Template, 1, 0, "span", 9); i0.ɵɵtemplate(4, BreadcrumbComponent_span_0_span_4_span_4_Template, 2, 0, "span", 8); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r5 = i0.ɵɵnextContext(2); i0.ɵɵproperty("ngSwitch", ctx_r5.separator); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 0); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 1); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 2); i0.ɵɵadvance(1); i0.ɵɵproperty("ngSwitchCase", 3); } } function BreadcrumbComponent_span_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span")(1, "span", 1); i0.ɵɵtemplate(2, BreadcrumbComponent_span_0_a_2_Template, 2, 1, "a", 2); i0.ɵɵtemplate(3, BreadcrumbComponent_span_0_span_3_Template, 2, 2, "span", 3); i0.ɵɵelementEnd(); i0.ɵɵtemplate(4, BreadcrumbComponent_span_0_span_4_Template, 5, 5, "span", 4); i0.ɵɵelementEnd(); } if (rf & 2) { const item_r1 = ctx.$implicit; const last_r2 = ctx.last; i0.ɵɵadvance(1); i0.ɵɵclassProp("sme-font-family-bold", item_r1.emphasized); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", item_r1.action); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", !item_r1.action); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", !last_r2); } } /** * * @smeDoc {@label Breadcrumb @id sme-breadcrumb} * * @overview * @file {@filepath ./examples/breadcrumb-overview.md} * * @example {@label Basic Usage @id sme-dev-guide-controls-breadcrumb} * @file {@filename component.html @filepath ./examples/breadcrumb-example.component.html} * @file {@filename component.ts @filepath ./examples/breadcrumb-example.component.ts} * */ export class BreadcrumbComponent extends CoreBaseComponent { /** * Initializes a new instance of the @see BreadcrumbComponent class. * @param injector The angular injection service. required by @SmeInjectableBase() decorator in the base @see BaseComponent class */ constructor(injector) { super(injector); this.breadcrumbs = []; this.separator = BreadcrumbSeparator.Slash; } get separators() { return BreadcrumbComponent.separators; } /** * The source name to use for logging */ get logSourceName() { return 'BreadcrumbComponent'; } /** * Gets the initial host classes to be applied to this element */ getInitialHostClasses() { return super.getInitialHostClasses().concat([ 'sme-layout-breadcrumb', 'sme-focus-zone', 'sme-font-family-normal' ]); } } BreadcrumbComponent.separators = { slash: BreadcrumbSeparator.Slash, backSlash: BreadcrumbSeparator.BackSlash, chevronRight: BreadcrumbSeparator.ChevronRight, comma: BreadcrumbSeparator.Comma }; /** @nocollapse */ BreadcrumbComponent.ɵfac = function BreadcrumbComponent_Factory(t) { return new (t || BreadcrumbComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; /** @nocollapse */ BreadcrumbComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: BreadcrumbComponent, selectors: [["sme-breadcrumb"]], inputs: { breadcrumbs: "breadcrumbs", separator: "separator" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[4, "ngFor", "ngForOf"], [1, "sme-behavior-hover-trigger"], ["class", "sme-behavior-hover-target-underline sme-focus-zone", "tabindex", "0", "role", "link", 3, "click", 4, "ngIf"], ["tabindex", "0", 4, "ngIf"], ["class", "sme-breadcrumb-separator", 3, "ngSwitch", 4, "ngIf"], ["tabindex", "0", "role", "link", 1, "sme-behavior-hover-target-underline", "sme-focus-zone", 3, "click"], ["tabindex", "0"], [1, "sme-breadcrumb-separator", 3, "ngSwitch"], ["aria-hidden", "true", 4, "ngSwitchCase"], ["class", "sme-icon sme-icon-chevronRight", "aria-hidden", "true", 4, "ngSwitchCase"], ["aria-hidden", "true"], ["aria-hidden", "true", 1, "sme-icon", "sme-icon-chevronRight"]], template: function BreadcrumbComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, BreadcrumbComponent_span_0_Template, 5, 5, "span", 0); } if (rf & 2) { i0.ɵɵproperty("ngForOf", ctx.breadcrumbs); } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgSwitch, i1.NgSwitchCase], encapsulation: 2 }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BreadcrumbComponent, [{ type: Component, args: [{ selector: 'sme-breadcrumb', template: "<span *ngFor=\"let item of breadcrumbs; let last = last\">\r\n <!-- label -->\r\n <span class=\"sme-behavior-hover-trigger\" [class.sme-font-family-bold]=\"item.emphasized\">\r\n <a *ngIf=\"item.action\" class=\"sme-behavior-hover-target-underline sme-focus-zone\" tabindex=\"0\" role=\"link\" (click)=\"item.action($event)\">{{item.label}}</a>\r\n <span tabindex=\"0\" [attr.aria-label]=\"item.label\" *ngIf=\"!item.action\">{{item.label}}</span>\r\n </span>\r\n\r\n <!-- separator -->\r\n <span *ngIf=\"!last\" [ngSwitch]=\"separator\" class=\"sme-breadcrumb-separator\">\r\n <span *ngSwitchCase=\"0\" aria-hidden=\"true\">&nbsp;\\&nbsp;</span>\r\n <span *ngSwitchCase=\"1\" aria-hidden=\"true\">&nbsp;/&nbsp;</span>\r\n <span *ngSwitchCase=\"2\" class=\"sme-icon sme-icon-chevronRight\" aria-hidden=\"true\"></span>\r\n <span *ngSwitchCase=\"3\" aria-hidden=\"true\">&nbsp;,&nbsp;</span>\r\n </span>\r\n</span>\r\n" }] }], function () { return [{ type: i0.Injector }]; }, { breadcrumbs: [{ type: Input }], separator: [{ type: Input }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7SUNEaEUsNEJBQXlJO0lBQTlCLGlMQUFTLGVBQUEsc0JBQW1CLENBQUEsSUFBQztJQUFDLFlBQWM7SUFBQSxpQkFBSTs7O0lBQWxCLGVBQWM7SUFBZCxtQ0FBYzs7O0lBQ3ZKLCtCQUF1RTtJQUFBLFlBQWM7SUFBQSxpQkFBTzs7O0lBQXpFLDJDQUE4QjtJQUFzQixlQUFjO0lBQWQsbUNBQWM7OztJQUtyRixnQ0FBMkM7SUFBQSw4QkFBYTtJQUFBLGlCQUFPOzs7SUFDL0QsZ0NBQTJDO0lBQUEsNkJBQWE7SUFBQSxpQkFBTzs7O0lBQy9ELDJCQUF5Rjs7O0lBQ3pGLGdDQUEyQztJQUFBLDZCQUFhO0lBQUEsaUJBQU87OztJQUpqRSwrQkFBNEU7SUFDMUUsb0ZBQStEO0lBQy9ELG9GQUErRDtJQUMvRCxvRkFBeUY7SUFDekYsb0ZBQStEO0lBQ2pFLGlCQUFPOzs7SUFMYSwyQ0FBc0I7SUFDakMsZUFBZTtJQUFmLGdDQUFlO0lBQ2YsZUFBZTtJQUFmLGdDQUFlO0lBQ2YsZUFBZTtJQUFmLGdDQUFlO0lBQ2YsZUFBZTtJQUFmLGdDQUFlOzs7SUFaMUIsNEJBQXdELGNBQUE7SUFHcEQsdUVBQTJKO0lBQzNKLDZFQUE0RjtJQUM5RixpQkFBTztJQUdQLDZFQUtPO0lBQ1QsaUJBQU87Ozs7SUFab0MsZUFBOEM7SUFBOUMsMERBQThDO0lBQ2pGLGVBQWlCO0lBQWpCLHFDQUFpQjtJQUM4QixlQUFrQjtJQUFsQixzQ0FBa0I7SUFJaEUsZUFBVztJQUFYLCtCQUFXOztBREZwQjs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUE4QnREOzs7T0FHRztJQUNILFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7SUE3QkQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sbUJBQW1CLENBQUMsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQWMsYUFBYTtRQUN2QixPQUFPLHFCQUFxQixDQUFDO0lBQ2pDLENBQUM7SUFzQkQ7O09BRUc7SUFDTyxxQkFBcUI7UUFDM0IsT0FBTyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDeEMsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQix3QkFBd0I7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUEvQ2MsOEJBQVUsR0FBRztJQUN4QixLQUFLLEVBQUUsbUJBQW1CLENBQUMsS0FBSztJQUNoQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsU0FBUztJQUN4QyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsWUFBWTtJQUM5QyxLQUFLLEVBQUUsbUJBQW1CLENBQUMsS0FBSztDQUNuQyxDQUFDO3lHQVBPLG1CQUFtQjtxR0FBbkIsbUJBQW1CO1FDdEJoQyxzRUFjTzs7UUFkZ0IseUNBQWdCOzt1RkRzQjFCLG1CQUFtQjtjQUovQixTQUFTOzJCQUNJLGdCQUFnQjsyREEwQlYsV0FBVztrQkFBMUIsS0FBSztZQUtVLFNBQVM7a0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iIH0gZnJvbSAnLi9tb2RlbHMvYnJlYWRjcnVtYic7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJTZXBhcmF0b3IgfSBmcm9tICcuL21vZGVscy9icmVhZGNydW1iLXNlcGFyYXRvcic7XHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIEJyZWFkY3J1bWIgQGlkIHNtZS1icmVhZGNydW1ifVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL2JyZWFkY3J1bWItb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQmFzaWMgVXNhZ2UgQGlkIHNtZS1kZXYtZ3VpZGUtY29udHJvbHMtYnJlYWRjcnVtYn1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9icmVhZGNydW1iLWV4YW1wbGUuY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2JyZWFkY3J1bWItZXhhbXBsZS5jb21wb25lbnQudHN9XHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWJyZWFkY3J1bWInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIHNlcGFyYXRvcnMgPSB7XHJcbiAgICAgICAgc2xhc2g6IEJyZWFkY3J1bWJTZXBhcmF0b3IuU2xhc2gsXHJcbiAgICAgICAgYmFja1NsYXNoOiBCcmVhZGNydW1iU2VwYXJhdG9yLkJhY2tTbGFzaCxcclxuICAgICAgICBjaGV2cm9uUmlnaHQ6IEJyZWFkY3J1bWJTZXBhcmF0b3IuQ2hldnJvblJpZ2h0LFxyXG4gICAgICAgIGNvbW1hOiBCcmVhZGNydW1iU2VwYXJhdG9yLkNvbW1hXHJcbiAgICB9O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgc2VwYXJhdG9ycygpIHtcclxuICAgICAgICByZXR1cm4gQnJlYWRjcnVtYkNvbXBvbmVudC5zZXBhcmF0b3JzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdCcmVhZGNydW1iQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3Qgb2YgaXRlbXMgdG8gYmUgc2hvd24gb24gdGhlIGJyZWFkY3J1bWIuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBicmVhZGNydW1iczogQnJlYWRjcnVtYltdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VwYXJhdG9yIHRvIGJlIHVzZSB0byBzZXBhcmF0ZSBicmVhZGNydW1iIGl0ZW1zLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgc2VwYXJhdG9yOiBCcmVhZGNydW1iU2VwYXJhdG9yO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEBzZWUgQnJlYWRjcnVtYkNvbXBvbmVudCBjbGFzcy5cclxuICAgICAqIEBwYXJhbSBpbmplY3RvciBUaGUgYW5ndWxhciBpbmplY3Rpb24gc2VydmljZS4gcmVxdWlyZWQgYnkgQFNtZUluamVjdGFibGVCYXNlKCkgZGVjb3JhdG9yIGluIHRoZSBiYXNlIEBzZWUgQmFzZUNvbXBvbmVudCBjbGFzc1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy5icmVhZGNydW1icyA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VwYXJhdG9yID0gQnJlYWRjcnVtYlNlcGFyYXRvci5TbGFzaDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtbGF5b3V0LWJyZWFkY3J1bWInLFxyXG4gICAgICAgICAgICAnc21lLWZvY3VzLXpvbmUnLFxyXG4gICAgICAgICAgICAnc21lLWZvbnQtZmFtaWx5LW5vcm1hbCdcclxuICAgICAgICBdKTtcclxuICAgIH1cclxufVxyXG4iLCI8c3BhbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZGNydW1iczsgbGV0IGxhc3QgPSBsYXN0XCI+XHJcbiAgPCEtLSBsYWJlbCAtLT5cclxuICA8c3BhbiBjbGFzcz1cInNtZS1iZWhhdmlvci1ob3Zlci10cmlnZ2VyXCIgW2NsYXNzLnNtZS1mb250LWZhbWlseS1ib2xkXT1cIml0ZW0uZW1waGFzaXplZFwiPlxyXG4gICAgPGEgKm5nSWY9XCJpdGVtLmFjdGlvblwiIGNsYXNzPVwic21lLWJlaGF2aW9yLWhvdmVyLXRhcmdldC11bmRlcmxpbmUgc21lLWZvY3VzLXpvbmVcIiB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIChjbGljayk9XCJpdGVtLmFjdGlvbigkZXZlbnQpXCI+e3tpdGVtLmxhYmVsfX08L2E+XHJcbiAgICA8c3BhbiB0YWJpbmRleD1cIjBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ubGFiZWxcIiAqbmdJZj1cIiFpdGVtLmFjdGlvblwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPCEtLSBzZXBhcmF0b3IgLS0+XHJcbiAgPHNwYW4gKm5nSWY9XCIhbGFzdFwiIFtuZ1N3aXRjaF09XCJzZXBhcmF0b3JcIiBjbGFzcz1cInNtZS1icmVhZGNydW1iLXNlcGFyYXRvclwiPlxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIjBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4mbmJzcDtcXCZuYnNwOzwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIxXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Jm5ic3A7LyZuYnNwOzwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIyXCIgY2xhc3M9XCJzbWUtaWNvbiBzbWUtaWNvbi1jaGV2cm9uUmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiM1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZuYnNwOywmbmJzcDs8L3NwYW4+XHJcbiAgPC9zcGFuPlxyXG48L3NwYW4+XHJcbiJdfQ==