UNPKG

ngx-extended-pdf-viewer

Version:

Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.

38 lines 14.4 kB
import { Component, Input } from '@angular/core'; import { getVersionSuffix, pdfDefaultOptions } from '../../options/pdf-default-options'; import * as i0 from "@angular/core"; import * as i1 from "../../pdf-notification-service"; import * as i2 from "@angular/common"; import * as i3 from "../pdf-shy-button/pdf-shy-button.component"; import * as i4 from "../../responsive-visibility"; export class PdfStampEditorComponent { notificationService; show = true; isSelected = false; get pdfJsVersion() { return getVersionSuffix(pdfDefaultOptions.assetsFolder); } constructor(notificationService) { this.notificationService = notificationService; const subscription = this.notificationService.onPDFJSInit.subscribe(() => { this.onPdfJsInit(); subscription.unsubscribe(); }); } onPdfJsInit() { const PDFViewerApplication = window.PDFViewerApplication; PDFViewerApplication.eventBus.on('annotationeditormodechanged', ({ mode }) => (this.isSelected = mode === 13)); } onClick() { document.getElementById('editorStamp')?.click(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PdfStampEditorComponent, deps: [{ token: i1.PDFNotificationService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: PdfStampEditorComponent, selector: "pdf-stamp-editor", inputs: { show: "show" }, ngImport: i0, template: "<pdf-shy-button\n title=\"Text\"\n primaryToolbarId=\"primaryEditorStamp\"\n [cssClass]=\"show | responsiveCSSClass : 'hiddenTinyView'\"\n l10nId=\"pdfjs-editor-stamp-button\"\n l10nLabel=\"pdfjs-editor-stamp-button-label\"\n [order]=\"4200\"\n [action]=\"onClick\"\n [toggled]=\"isSelected\"\n [closeOnClick]=\"true\"\n image=\"<svg style='width: 20px; height: 20px' viewBox='0 0 24 24'> <path fill='currentColor' d='M13 19C13 19.7 13.13 20.37 13.35 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13.35C13.75 15.88 14.47 14.91 15.4 14.21L13.96 12.29M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z' /> </svg>\"\n>\n</pdf-shy-button>\n<div\n class=\"editorParamsToolbar hidden doorHangerRight\"\n id=\"editorStampParamsToolbar\"\n [class]=\"show | responsiveCSSClass : 'hiddenTinyView'\"\n *ngIf=\"pdfJsVersion >= '3.10'\"\n>\n <div class=\"editorParamsToolbarContainer\">\n <button\n id=\"editorStampAddImage\"\n class=\"secondaryToolbarButton\"\n title=\"Add image\"\n tabindex=\"105\"\n data-l10n-id=\"pdfjs-editor-stamp-add-image-button\"\n aria-label=\"Add image\"\n >\n <svg role=\"img\" aria-label=\"Add image\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.00488 9.75V14C7.00488 14.1658 7.07073 14.3247 7.18794 14.4419C7.30515 14.5592 7.46412 14.625 7.62988 14.625C7.79564 14.625 7.95461 14.5592 8.07183 14.4419C8.18904 14.3247 8.25488 14.1658 8.25488 14V9.75L8.75488 9.25H13.0049C13.1706 9.25 13.3296 9.18415 13.4468 9.06694C13.564 8.94973 13.6299 8.79076 13.6299 8.625C13.6299 8.45924 13.564 8.30027 13.4468 8.18306C13.3296 8.06585 13.1706 8 13.0049 8H8.75488L8.25488 7.5V3.25C8.25488 3.08424 8.18904 2.92527 8.07183 2.80806C7.95461 2.69085 7.79564 2.625 7.62988 2.625C7.46412 2.625 7.30515 2.69085 7.18794 2.80806C7.07073 2.92527 7.00488 3.08424 7.00488 3.25V7.5L6.50488 8H2.25488C2.08912 8 1.93015 8.06585 1.81294 8.18306C1.69573 8.30027 1.62988 8.45924 1.62988 8.625C1.62988 8.79076 1.69573 8.94973 1.81294 9.06694C1.93015 9.18415 2.08912 9.25 2.25488 9.25H6.39188L7.00488 9.75Z\"\n fill=\"black\"\n />\n </svg>\n <span data-l10n-id=\"pdfjs-editor-stamp-add-image-button-label\">Add image</span>\n </button>\n </div>\n</div>\n", styles: ["button{padding:0;height:25px;background-color:transparent}button:focus{outline:none;border:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PdfShyButtonComponent, selector: "pdf-shy-button", inputs: ["primaryToolbarId", "secondaryMenuId", "cssClass", "eventBusName", "l10nId", "l10nLabel", "title", "toggled", "disabled", "order", "action", "closeOnClick", "onlySecondaryMenu", "image"] }, { kind: "pipe", type: i4.ResponsiveCSSClassPipe, name: "responsiveCSSClass" }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PdfStampEditorComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-stamp-editor', template: "<pdf-shy-button\n title=\"Text\"\n primaryToolbarId=\"primaryEditorStamp\"\n [cssClass]=\"show | responsiveCSSClass : 'hiddenTinyView'\"\n l10nId=\"pdfjs-editor-stamp-button\"\n l10nLabel=\"pdfjs-editor-stamp-button-label\"\n [order]=\"4200\"\n [action]=\"onClick\"\n [toggled]=\"isSelected\"\n [closeOnClick]=\"true\"\n image=\"<svg style='width: 20px; height: 20px' viewBox='0 0 24 24'> <path fill='currentColor' d='M13 19C13 19.7 13.13 20.37 13.35 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13.35C13.75 15.88 14.47 14.91 15.4 14.21L13.96 12.29M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z' /> </svg>\"\n>\n</pdf-shy-button>\n<div\n class=\"editorParamsToolbar hidden doorHangerRight\"\n id=\"editorStampParamsToolbar\"\n [class]=\"show | responsiveCSSClass : 'hiddenTinyView'\"\n *ngIf=\"pdfJsVersion >= '3.10'\"\n>\n <div class=\"editorParamsToolbarContainer\">\n <button\n id=\"editorStampAddImage\"\n class=\"secondaryToolbarButton\"\n title=\"Add image\"\n tabindex=\"105\"\n data-l10n-id=\"pdfjs-editor-stamp-add-image-button\"\n aria-label=\"Add image\"\n >\n <svg role=\"img\" aria-label=\"Add image\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.00488 9.75V14C7.00488 14.1658 7.07073 14.3247 7.18794 14.4419C7.30515 14.5592 7.46412 14.625 7.62988 14.625C7.79564 14.625 7.95461 14.5592 8.07183 14.4419C8.18904 14.3247 8.25488 14.1658 8.25488 14V9.75L8.75488 9.25H13.0049C13.1706 9.25 13.3296 9.18415 13.4468 9.06694C13.564 8.94973 13.6299 8.79076 13.6299 8.625C13.6299 8.45924 13.564 8.30027 13.4468 8.18306C13.3296 8.06585 13.1706 8 13.0049 8H8.75488L8.25488 7.5V3.25C8.25488 3.08424 8.18904 2.92527 8.07183 2.80806C7.95461 2.69085 7.79564 2.625 7.62988 2.625C7.46412 2.625 7.30515 2.69085 7.18794 2.80806C7.07073 2.92527 7.00488 3.08424 7.00488 3.25V7.5L6.50488 8H2.25488C2.08912 8 1.93015 8.06585 1.81294 8.18306C1.69573 8.30027 1.62988 8.45924 1.62988 8.625C1.62988 8.79076 1.69573 8.94973 1.81294 9.06694C1.93015 9.18415 2.08912 9.25 2.25488 9.25H6.39188L7.00488 9.75Z\"\n fill=\"black\"\n />\n </svg>\n <span data-l10n-id=\"pdfjs-editor-stamp-add-image-button-label\">Add image</span>\n </button>\n </div>\n</div>\n", styles: ["button{padding:0;height:25px;background-color:transparent}button:focus{outline:none;border:none}\n"] }] }], ctorParameters: () => [{ type: i1.PDFNotificationService }], propDecorators: { show: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXN0YW1wLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcGRmLXN0YW1wLWVkaXRvci9wZGYtc3RhbXAtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtc3RhbXAtZWRpdG9yL3BkZi1zdGFtcC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7OztBQVV4RixNQUFNLE9BQU8sdUJBQXVCO0lBVWQ7SUFSYixJQUFJLEdBQXlCLElBQUksQ0FBQztJQUVsQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRTFCLElBQVcsWUFBWTtRQUNyQixPQUFPLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxZQUFvQixtQkFBMkM7UUFBM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sb0JBQW9CLEdBQTJCLE1BQWMsQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLDZCQUE2QixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQTBDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6SixDQUFDO0lBRU0sT0FBTztRQUNaLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbEQsQ0FBQzt1R0F4QlUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsa0ZDWnBDLDYyRUFzQ0E7OzJGRDFCYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usa0JBQWtCOzJGQU1yQixJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uRWRpdG9yRWRpdG9yTW9kZUNoYW5nZWRFdmVudCB9IGZyb20gJy4uLy4uL2V2ZW50cy9hbm5vdGF0aW9uLWVkaXRvci1tb2RlLWNoYW5nZWQtZXZlbnQnO1xuaW1wb3J0IHsgZ2V0VmVyc2lvblN1ZmZpeCwgcGRmRGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi8uLi9vcHRpb25zL3BkZi1kZWZhdWx0LW9wdGlvbnMnO1xuaW1wb3J0IHsgSVBERlZpZXdlckFwcGxpY2F0aW9uIH0gZnJvbSAnLi4vLi4vb3B0aW9ucy9wZGYtdmlld2VyLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBERk5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wZGYtbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZVZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi9yZXNwb25zaXZlLXZpc2liaWxpdHknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZGYtc3RhbXAtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi1zdGFtcC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZGYtc3RhbXAtZWRpdG9yLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGRmU3RhbXBFZGl0b3JDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvdzogUmVzcG9uc2l2ZVZpc2liaWxpdHkgPSB0cnVlO1xuXG4gIHB1YmxpYyBpc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBwZGZKc1ZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0VmVyc2lvblN1ZmZpeChwZGZEZWZhdWx0T3B0aW9ucy5hc3NldHNGb2xkZXIpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBQREZOb3RpZmljYXRpb25TZXJ2aWNlKSB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uUERGSlNJbml0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uUGRmSnNJbml0KCk7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25QZGZKc0luaXQoKSB7XG4gICAgY29uc3QgUERGVmlld2VyQXBwbGljYXRpb246IElQREZWaWV3ZXJBcHBsaWNhdGlvbiA9ICh3aW5kb3cgYXMgYW55KS5QREZWaWV3ZXJBcHBsaWNhdGlvbjtcbiAgICBQREZWaWV3ZXJBcHBsaWNhdGlvbi5ldmVudEJ1cy5vbignYW5ub3RhdGlvbmVkaXRvcm1vZGVjaGFuZ2VkJywgKHsgbW9kZSB9OiBBbm5vdGF0aW9uRWRpdG9yRWRpdG9yTW9kZUNoYW5nZWRFdmVudCkgPT4gKHRoaXMuaXNTZWxlY3RlZCA9IG1vZGUgPT09IDEzKSk7XG4gIH1cblxuICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZWRpdG9yU3RhbXAnKT8uY2xpY2soKTtcbiAgfVxufVxuIiwiPHBkZi1zaHktYnV0dG9uXG4gIHRpdGxlPVwiVGV4dFwiXG4gIHByaW1hcnlUb29sYmFySWQ9XCJwcmltYXJ5RWRpdG9yU3RhbXBcIlxuICBbY3NzQ2xhc3NdPVwic2hvdyB8IHJlc3BvbnNpdmVDU1NDbGFzcyA6ICdoaWRkZW5UaW55VmlldydcIlxuICBsMTBuSWQ9XCJwZGZqcy1lZGl0b3Itc3RhbXAtYnV0dG9uXCJcbiAgbDEwbkxhYmVsPVwicGRmanMtZWRpdG9yLXN0YW1wLWJ1dHRvbi1sYWJlbFwiXG4gIFtvcmRlcl09XCI0MjAwXCJcbiAgW2FjdGlvbl09XCJvbkNsaWNrXCJcbiAgW3RvZ2dsZWRdPVwiaXNTZWxlY3RlZFwiXG4gIFtjbG9zZU9uQ2xpY2tdPVwidHJ1ZVwiXG4gIGltYWdlPVwiPHN2ZyBzdHlsZT0nd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweCcgdmlld0JveD0nMCAwIDI0IDI0Jz4gPHBhdGggZmlsbD0nY3VycmVudENvbG9yJyBkPSdNMTMgMTlDMTMgMTkuNyAxMy4xMyAyMC4zNyAxMy4zNSAyMUg1QzMuOSAyMSAzIDIwLjExIDMgMTlWNUMzIDMuOSAzLjkgMyA1IDNIMTlDMjAuMTEgMyAyMSAzLjkgMjEgNVYxMy4zNUMyMC4zNyAxMy4xMyAxOS43IDEzIDE5IDEzVjVINVYxOUgxM00xMy45NiAxMi4yOUwxMS4yMSAxNS44M0w5LjI1IDEzLjQ3TDYuNSAxN0gxMy4zNUMxMy43NSAxNS44OCAxNC40NyAxNC45MSAxNS40IDE0LjIxTDEzLjk2IDEyLjI5TTIwIDE4VjE1SDE4VjE4SDE1VjIwSDE4VjIzSDIwVjIwSDIzVjE4SDIwWicgLz4gPC9zdmc+XCJcbj5cbjwvcGRmLXNoeS1idXR0b24+XG48ZGl2XG4gIGNsYXNzPVwiZWRpdG9yUGFyYW1zVG9vbGJhciBoaWRkZW4gZG9vckhhbmdlclJpZ2h0XCJcbiAgaWQ9XCJlZGl0b3JTdGFtcFBhcmFtc1Rvb2xiYXJcIlxuICBbY2xhc3NdPVwic2hvdyB8IHJlc3BvbnNpdmVDU1NDbGFzcyA6ICdoaWRkZW5UaW55VmlldydcIlxuICAqbmdJZj1cInBkZkpzVmVyc2lvbiA+PSAnMy4xMCdcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZWRpdG9yUGFyYW1zVG9vbGJhckNvbnRhaW5lclwiPlxuICAgIDxidXR0b25cbiAgICAgIGlkPVwiZWRpdG9yU3RhbXBBZGRJbWFnZVwiXG4gICAgICBjbGFzcz1cInNlY29uZGFyeVRvb2xiYXJCdXR0b25cIlxuICAgICAgdGl0bGU9XCJBZGQgaW1hZ2VcIlxuICAgICAgdGFiaW5kZXg9XCIxMDVcIlxuICAgICAgZGF0YS1sMTBuLWlkPVwicGRmanMtZWRpdG9yLXN0YW1wLWFkZC1pbWFnZS1idXR0b25cIlxuICAgICAgYXJpYS1sYWJlbD1cIkFkZCBpbWFnZVwiXG4gICAgPlxuICAgICAgPHN2ZyByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkFkZCBpbWFnZVwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTcuMDA0ODggOS43NVYxNEM3LjAwNDg4IDE0LjE2NTggNy4wNzA3MyAxNC4zMjQ3IDcuMTg3OTQgMTQuNDQxOUM3LjMwNTE1IDE0LjU1OTIgNy40NjQxMiAxNC42MjUgNy42Mjk4OCAxNC42MjVDNy43OTU2NCAxNC42MjUgNy45NTQ2MSAxNC41NTkyIDguMDcxODMgMTQuNDQxOUM4LjE4OTA0IDE0LjMyNDcgOC4yNTQ4OCAxNC4xNjU4IDguMjU0ODggMTRWOS43NUw4Ljc1NDg4IDkuMjVIMTMuMDA0OUMxMy4xNzA2IDkuMjUgMTMuMzI5NiA5LjE4NDE1IDEzLjQ0NjggOS4wNjY5NEMxMy41NjQgOC45NDk3MyAxMy42Mjk5IDguNzkwNzYgMTMuNjI5OSA4LjYyNUMxMy42Mjk5IDguNDU5MjQgMTMuNTY0IDguMzAwMjcgMTMuNDQ2OCA4LjE4MzA2QzEzLjMyOTYgOC4wNjU4NSAxMy4xNzA2IDggMTMuMDA0OSA4SDguNzU0ODhMOC4yNTQ4OCA3LjVWMy4yNUM4LjI1NDg4IDMuMDg0MjQgOC4xODkwNCAyLjkyNTI3IDguMDcxODMgMi44MDgwNkM3Ljk1NDYxIDIuNjkwODUgNy43OTU2NCAyLjYyNSA3LjYyOTg4IDIuNjI1QzcuNDY0MTIgMi42MjUgNy4zMDUxNSAyLjY5MDg1IDcuMTg3OTQgMi44MDgwNkM3LjA3MDczIDIuOTI1MjcgNy4wMDQ4OCAzLjA4NDI0IDcuMDA0ODggMy4yNVY3LjVMNi41MDQ4OCA4SDIuMjU0ODhDMi4wODkxMiA4IDEuOTMwMTUgOC4wNjU4NSAxLjgxMjk0IDguMTgzMDZDMS42OTU3MyA4LjMwMDI3IDEuNjI5ODggOC40NTkyNCAxLjYyOTg4IDguNjI1QzEuNjI5ODggOC43OTA3NiAxLjY5NTczIDguOTQ5NzMgMS44MTI5NCA5LjA2Njk0QzEuOTMwMTUgOS4xODQxNSAyLjA4OTEyIDkuMjUgMi4yNTQ4OCA5LjI1SDYuMzkxODhMNy4wMDQ4OCA5Ljc1WlwiXG4gICAgICAgICAgZmlsbD1cImJsYWNrXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPHNwYW4gZGF0YS1sMTBuLWlkPVwicGRmanMtZWRpdG9yLXN0YW1wLWFkZC1pbWFnZS1idXR0b24tbGFiZWxcIj5BZGQgaW1hZ2U8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=