keevo-components 2.0.223 → 2.0.225
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/api/base-components/base-component-button.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-chart.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-crud-form.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-crud-list.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-crud.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-dropdown.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-input.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-multi-select.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component-table.mjs +4 -4
- package/esm2022/lib/api/base-components/base-component.mjs +4 -4
- package/esm2022/lib/api/directives/directives.module.mjs +5 -5
- package/esm2022/lib/api/directives/drag/drag.directive.mjs +4 -4
- package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +4 -4
- package/esm2022/lib/api/directives/template/template.directive.mjs +4 -4
- package/esm2022/lib/api/modules/primeng.module.mjs +5 -5
- package/esm2022/lib/api/pipes/capitalize.pipe.mjs +4 -4
- package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +4 -4
- package/esm2022/lib/api/pipes/mask.pipe.mjs +4 -4
- package/esm2022/lib/api/pipes/pipes.module.mjs +5 -5
- package/esm2022/lib/api/pipes/telefone.pipe.mjs +4 -4
- package/esm2022/lib/api/services/base.api.service.mjs +4 -4
- package/esm2022/lib/api/services/breadcrumbs.service.mjs +4 -4
- package/esm2022/lib/api/services/chat.service.mjs +4 -4
- package/esm2022/lib/api/services/component.service.mjs +4 -4
- package/esm2022/lib/api/services/docs.service.mjs +4 -4
- package/esm2022/lib/api/services/form.service.mjs +5 -5
- package/esm2022/lib/api/services/image.cutter.service.mjs +7 -7
- package/esm2022/lib/api/services/imagens.service.mjs +4 -4
- package/esm2022/lib/api/services/notification.service.mjs +4 -4
- package/esm2022/lib/api/services/object.service.mjs +4 -4
- package/esm2022/lib/api/services/orgchart.service.mjs +4 -4
- package/esm2022/lib/api/services/pdf.service.mjs +4 -4
- package/esm2022/lib/components/keevo-components.module.mjs +5 -5
- package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +5 -5
- package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +5 -5
- package/esm2022/lib/components/kv-button/kv-button.component.mjs +5 -5
- package/esm2022/lib/components/kv-button/kv-button.module.mjs +5 -5
- package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +4 -4
- package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +5 -5
- package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +4 -4
- package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +4 -4
- package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +5 -5
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +4 -4
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +5 -5
- package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +4 -4
- package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +5 -5
- package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +5 -5
- package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +5 -5
- package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +4 -4
- package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +5 -5
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +4 -4
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +5 -5
- package/esm2022/lib/components/kv-detailed-list/kv-detailed-list.component.mjs +4 -4
- package/esm2022/lib/components/kv-error/kv-error.component.mjs +4 -4
- package/esm2022/lib/components/kv-error/kv-error.module.mjs +5 -5
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +4 -4
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +5 -5
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +4 -4
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +5 -5
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +4 -4
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +5 -5
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +4 -4
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +5 -5
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +4 -4
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +5 -5
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +4 -4
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +4 -4
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +5 -5
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +4 -4
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +5 -5
- package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +4 -4
- package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +5 -5
- package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +5 -5
- package/esm2022/lib/components/kv-icon/kv-icon.module.mjs +5 -5
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +4 -4
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +144 -8
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +4 -4
- package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +5 -5
- package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +5 -5
- package/esm2022/lib/components/kv-label/kv-label.component.mjs +4 -4
- package/esm2022/lib/components/kv-label/kv-label.module.mjs +5 -5
- package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +4 -4
- package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +5 -5
- package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +5 -5
- package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +4 -4
- package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +4 -4
- package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +5 -5
- package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +4 -4
- package/esm2022/lib/components/kv-login/kv-login.component.mjs +4 -4
- package/esm2022/lib/components/kv-login/kv-login.module.mjs +5 -5
- package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +4 -4
- package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +5 -5
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +4 -4
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +5 -5
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +4 -4
- package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +5 -5
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +5 -5
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +5 -5
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +5 -5
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +5 -5
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +4 -4
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +5 -5
- package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +4 -4
- package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +5 -5
- package/esm2022/lib/components/kv-report/kv-report.component.mjs +4 -4
- package/esm2022/lib/components/kv-report/kv-report.module.mjs +5 -5
- package/esm2022/lib/components/kv-stacked-bar-chart/kv-stacked-bar-chart.component.mjs +4 -4
- package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +5 -5
- package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +5 -5
- package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +4 -4
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +5 -5
- package/esm2022/lib/components/kv-table/kv-table.module.mjs +5 -5
- package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.component.mjs +4 -4
- package/esm2022/lib/components/kv-table-draggable/kv-table-draggable.module.mjs +5 -5
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +4 -4
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +5 -5
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +4 -4
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +5 -5
- package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +4 -4
- package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +4 -4
- package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +4 -4
- package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +4 -4
- package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +5 -5
- package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +4 -4
- package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +5 -5
- package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +4 -4
- package/esm2022/lib/components/kv-tree-environment/components/kv-tree-environment/kv-tree-environment.component.mjs +4 -4
- package/esm2022/lib/components/kv-tree-environment/components/no-arvore/no-arvore.component.mjs +4 -4
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +4 -4
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +5 -5
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +4 -4
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +5 -5
- package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +5 -5
- package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +4 -4
- package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +5 -5
- package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +4 -4
- package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +4 -4
- package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +4 -4
- package/fesm2022/keevo-components.mjs +705 -569
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/api/services/form.service.d.ts +0 -3
- package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +22 -1
- package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/components/keevo-components-styles.scss +3 -3
|
@@ -140,10 +140,10 @@ export class KvContentViewerComponent {
|
|
|
140
140
|
this.onScrollHandler.emit($event);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
144
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvContentViewerComponent, selector: "kv-content-viewer", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, showTotalRecords: { classPropertyName: "showTotalRecords", publicName: "showTotalRecords", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, buttonTemplate: { classPropertyName: "buttonTemplate", publicName: "buttonTemplate", isSignal: false, isRequired: false, transformFunction: null }, listBottomTemplate: { classPropertyName: "listBottomTemplate", publicName: "listBottomTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, btnTelaCheia: { classPropertyName: "btnTelaCheia", publicName: "btnTelaCheia", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null }, borderCardNaoVisualizado: { classPropertyName: "borderCardNaoVisualizado", publicName: "borderCardNaoVisualizado", isSignal: false, isRequired: false, transformFunction: null }, contentForm: { classPropertyName: "contentForm", publicName: "contentForm", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile", onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<div\r\n class=\"flex flex-column md:flex-row gap-2 custom-max-height \"\r\n style=\"height: 100%\"\r\n>\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3 flex flex-column justify-content-between\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-auto': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option) && borderCardNaoVisualizado,\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div\r\n class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis\"\r\n style=\"max-width: 100%\"\r\n >\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(isLoadingSkeleton){\r\n <p-skeleton \r\n *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\" \r\n height=\"5rem\" \r\n [style]=\"{ 'margin-bottom': '0.25rem', 'borderRadius': '0.75rem' }\"\r\n ></p-skeleton>\r\n } @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\"flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-column\r\n justify-content-center text-center px-2 p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white; \"\r\n >\r\n @if(showTotalRecords()) {\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n }\r\n @if(listBottomTemplate) {\r\n <ng-container *ngTemplateOutlet=\"listBottomTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div\r\n id=\"fullscreenDiv\"\r\n class=\"card-visualizador col-12 md:col-8 lg:col-9 flex-1\"\r\n style=\"position: relative; height: 100%\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\"\r\n >\r\n @if(btnTelaCheia && !buttonTemplate) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(!btnTelaCheia && buttonTemplate && !contentViewer) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n </div>\r\n } @if(btnTelaCheia && buttonTemplate) {\r\n <div class=\"grid\">\r\n @if(!contentViewer) {\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n }\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <div class=\"flex flex-column\" style=\"height: 92%;\" >\r\n <ng-container\r\n *ngIf=\"arquivoPreview() || contentViewer; else noDocumentSelected\"\r\n >\r\n <div style=\"flex: 1;\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></ng-container>\r\n </div>\r\n @if(contentForm) {\r\n <div class=\"grid\" style=\"position: sticky; bottom: 0; background-color: white; z-index: 10; padding: 1rem 1rem 0 1rem;\">\r\n <div class=\"col-8\">\r\n <span class=\"text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios\r\n </span>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Cancelar\"\r\n icon=\"close\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n (onClick)=\"OnCancel()\"\r\n >\r\n </kv-button>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Salvar\"\r\n icon=\"save\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"primary\"\r\n (onClick)=\"OnSave()\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n </div> \r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil,.card-visualizador{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}@media (max-width: 768px){.card-perfil{max-height:20rem;overflow-y:auto}}@media (max-width: 768px){.card-visualizador{max-height:100%;overflow-y:auto}}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.custom-max-height{height:100%}@media (max-height: 768px){.custom-max-height{height:auto;min-height:100vh}}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i4.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "component", type: i5.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }] }); }
|
|
143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvContentViewerComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: KvContentViewerComponent, selector: "kv-content-viewer", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, showTotalRecords: { classPropertyName: "showTotalRecords", publicName: "showTotalRecords", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, buttonTemplate: { classPropertyName: "buttonTemplate", publicName: "buttonTemplate", isSignal: false, isRequired: false, transformFunction: null }, listBottomTemplate: { classPropertyName: "listBottomTemplate", publicName: "listBottomTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, btnTelaCheia: { classPropertyName: "btnTelaCheia", publicName: "btnTelaCheia", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null }, borderCardNaoVisualizado: { classPropertyName: "borderCardNaoVisualizado", publicName: "borderCardNaoVisualizado", isSignal: false, isRequired: false, transformFunction: null }, contentForm: { classPropertyName: "contentForm", publicName: "contentForm", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile", onSave: "onSave", onCancel: "onCancel" }, ngImport: i0, template: "<div\r\n class=\"flex flex-column md:flex-row gap-2 custom-max-height \"\r\n style=\"height: 100%\"\r\n>\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3 flex flex-column justify-content-between\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-auto': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option) && borderCardNaoVisualizado,\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div\r\n class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis\"\r\n style=\"max-width: 100%\"\r\n >\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(isLoadingSkeleton){\r\n <p-skeleton \r\n *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\" \r\n height=\"5rem\" \r\n [style]=\"{ 'margin-bottom': '0.25rem', 'borderRadius': '0.75rem' }\"\r\n ></p-skeleton>\r\n } @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\"flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-column\r\n justify-content-center text-center px-2 p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white; \"\r\n >\r\n @if(showTotalRecords()) {\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n }\r\n @if(listBottomTemplate) {\r\n <ng-container *ngTemplateOutlet=\"listBottomTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div\r\n id=\"fullscreenDiv\"\r\n class=\"card-visualizador col-12 md:col-8 lg:col-9 flex-1\"\r\n style=\"position: relative; height: 100%\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\"\r\n >\r\n @if(btnTelaCheia && !buttonTemplate) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(!btnTelaCheia && buttonTemplate && !contentViewer) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n </div>\r\n } @if(btnTelaCheia && buttonTemplate) {\r\n <div class=\"grid\">\r\n @if(!contentViewer) {\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n }\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <div class=\"flex flex-column\" style=\"height: 92%;\" >\r\n <ng-container\r\n *ngIf=\"arquivoPreview() || contentViewer; else noDocumentSelected\"\r\n >\r\n <div style=\"flex: 1;\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></ng-container>\r\n </div>\r\n @if(contentForm) {\r\n <div class=\"grid\" style=\"position: sticky; bottom: 0; background-color: white; z-index: 10; padding: 1rem 1rem 0 1rem;\">\r\n <div class=\"col-8\">\r\n <span class=\"text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios\r\n </span>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Cancelar\"\r\n icon=\"close\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n (onClick)=\"OnCancel()\"\r\n >\r\n </kv-button>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Salvar\"\r\n icon=\"save\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"primary\"\r\n (onClick)=\"OnSave()\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n </div> \r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil,.card-visualizador{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}@media (max-width: 768px){.card-perfil{max-height:20rem;overflow-y:auto}}@media (max-width: 768px){.card-visualizador{max-height:100%;overflow-y:auto}}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.custom-max-height{height:100%}@media (max-height: 768px){.custom-max-height{height:auto;min-height:100vh}}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i4.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "component", type: i5.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }] }); }
|
|
145
145
|
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvContentViewerComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
148
148
|
args: [{ selector: 'kv-content-viewer', template: "<div\r\n class=\"flex flex-column md:flex-row gap-2 custom-max-height \"\r\n style=\"height: 100%\"\r\n>\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil col-12 md:col-4 lg:col-3 flex flex-column justify-content-between\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-auto': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-naoVisualizado': !isVisualizado(option) && borderCardNaoVisualizado,\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div\r\n class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis\"\r\n style=\"max-width: 100%\"\r\n >\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(isLoadingSkeleton){\r\n <p-skeleton \r\n *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\" \r\n height=\"5rem\" \r\n [style]=\"{ 'margin-bottom': '0.25rem', 'borderRadius': '0.75rem' }\"\r\n ></p-skeleton>\r\n } @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\"flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-column\r\n justify-content-center text-center px-2 p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white; \"\r\n >\r\n @if(showTotalRecords()) {\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n }\r\n @if(listBottomTemplate) {\r\n <ng-container *ngTemplateOutlet=\"listBottomTemplate\"></ng-container>\r\n }\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div\r\n id=\"fullscreenDiv\"\r\n class=\"card-visualizador col-12 md:col-8 lg:col-9 flex-1\"\r\n style=\"position: relative; height: 100%\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\"\r\n >\r\n @if(btnTelaCheia && !buttonTemplate) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(!btnTelaCheia && buttonTemplate && !contentViewer) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n </div>\r\n } @if(btnTelaCheia && buttonTemplate) {\r\n <div class=\"grid\">\r\n @if(!contentViewer) {\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n }\r\n <div class=\"col\"></div>\r\n <span\r\n id=\"fullscreenBtn\"\r\n (click)=\"alternarTelaCheia()\"\r\n class=\"material-symbols-outlined p-2 text-xl cursor-pointer\"\r\n >\r\n open_in_full\r\n </span>\r\n </div>\r\n } @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <div class=\"flex flex-column\" style=\"height: 92%;\" >\r\n <ng-container\r\n *ngIf=\"arquivoPreview() || contentViewer; else noDocumentSelected\"\r\n >\r\n <div style=\"flex: 1;\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></ng-container>\r\n </div>\r\n @if(contentForm) {\r\n <div class=\"grid\" style=\"position: sticky; bottom: 0; background-color: white; z-index: 10; padding: 1rem 1rem 0 1rem;\">\r\n <div class=\"col-8\">\r\n <span class=\"text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios\r\n </span>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Cancelar\"\r\n icon=\"close\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n (onClick)=\"OnCancel()\"\r\n >\r\n </kv-button>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Salvar\"\r\n icon=\"save\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"primary\"\r\n (onClick)=\"OnSave()\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n </div> \r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n style=\"max-height: 50%; margin-top: 2rem\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil,.card-visualizador{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}@media (max-width: 768px){.card-perfil{max-height:20rem;overflow-y:auto}}@media (max-width: 768px){.card-visualizador{max-height:100%;overflow-y:auto}}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.custom-max-height{height:100%}@media (max-height: 768px){.custom-max-height{height:auto;min-height:100vh}}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"] }]
|
|
149
149
|
}], ctorParameters: () => [{ type: i1.NotificationService }], propDecorators: { extencaoDocumento: [{
|
|
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
183
183
|
}], onCancel: [{
|
|
184
184
|
type: Output
|
|
185
185
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFTMUgsTUFBTSxPQUFPLHdCQUF3QjtJQTZDaEMsWUFDUyxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTFDcEQsa0JBQWtCO1FBQ25CLGVBQVUsR0FBdUIsS0FBSyxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELGtCQUFhLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxLQUFLLENBQU8sRUFBUyxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFHLE1BQU0sQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDbEQsZUFBVSxHQUFHLEtBQUssQ0FBdUIsU0FBUyxDQUFD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QkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQWlCSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgSW5wdXRTaWduYWwsIE91dHB1dCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtY29udGVudC12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1jb250ZW50LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDb250ZW50Vmlld2VyQ29tcG9uZW50IHtcclxuXHJcblxyXG5cclxuICAvLyAjcmVnaW9uIFNpZ25hbHNcclxuIGRhdGFTb3VyY2U6IElucHV0U2lnbmFsPGFueVtdPiA9IGlucHV0PGFueVtdPihbXSk7XHJcbiBwYWdpbmFJbmljaWFsID0gc2lnbmFsPG51bWJlcj4oMSk7XHJcbiBhcnF1aXZvID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gYXJxdWl2b1ByZXZpZXcgPSBzaWduYWw8YW55Pih1bmRlZmluZWQpO1xyXG4gbm9tZUFycXVpdm8gPSBzaWduYWw8c3RyaW5nPignJyk7XHJcbiB0eXBlID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gYmxvYiA9IGlucHV0PEJsb2I+KCcnIGFzIGFueSk7XHJcbiBpZGFycXVpdm8gPSBzaWduYWw8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gZWtwQ29udGVudCA9IGlucHV0PFNhZmVIdG1sIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gc2hvd1RvdGFsUmVjb3JkcyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gdG90YWxJdGVuc0NhcnJlZ2FkbyA9IGNvbXB1dGVkKFxyXG4gICgpID0+IHRoaXMuZGF0YVNvdXJjZSgpPy5sZW5ndGggfHwgMFxyXG4pO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuZW1wcmVzYVNlbGVjaW9uYWRhITogYW55O1xyXG5pZHRpcG9kb2N1bWVudG8hOiBudW1iZXJbXTtcclxuQElucHV0KCkgZXh0ZW5jYW9Eb2N1bWVudG8hOiBzdHJpbmc7XHJcbnByZXZpZXdPbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5zZWxlY3RlZEl0ZW06IGFueSA9IHt9O1xyXG5ASW5wdXQoKSB0b3RhbFJlY29yZHM6IG51bWJlciA9IDA7XHJcbmlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5kaXNwbGF5U2lkZWJhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5pc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbkBJbnB1dCgpIHZpc3VhbGl6YWRvckRvY3VtZW50b3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgY2FyZFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuQElucHV0KCkgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuQElucHV0KCkgbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBub0RvY3VtZW50TGlzdFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuQElucHV0KCkgYnV0dG9uVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBsaXN0Qm90dG9tVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBpbmR2aXN1YWxpemFkbzogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBidG5UZWxhQ2hlaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgaXNMb2FkaW5nU2tlbGV0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgYm9yZGVyQ2FyZE5hb1Zpc3VhbGl6YWRvOiBib29sZWFuID0gdHJ1ZTtcclxuQElucHV0KCkgY29udGVudEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuY29udGVudFZpZXdlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5rZXlWaXN1YWxpemFkbzogc3RyaW5nID0gJ2luZHZpc3VhbGl6YWRvJzsgXHJcblxyXG4gICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgKSB7XHJcblxyXG4gICAgIH1cclxuXHJcbnRvZGF5RGF0ZSgpOiBzdHJpbmcge1xyXG4gIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICByZXR1cm4gdG9kYXkudG9Mb2NhbGVEYXRlU3RyaW5nKCdwdC1CUicsIHsgZGF5OiAnMi1kaWdpdCcsIG1vbnRoOiAnMi1kaWdpdCcsIHllYXI6ICdudW1lcmljJyB9KTtcclxufVxyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIE91dHB1dHNcclxuQE91dHB1dCgpIG9uU2Nyb2xsSGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbkBPdXRwdXQoKSBvblNlbGVjdEZpbGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5AT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuQE91dHB1dCgpIG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuLy8gI2VuZHJlZ2lvblxyXG5cclxudHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgcmV0dXJuIGl0ZW0uaWRhcnF1aXZvOyBcclxufVxyXG5cclxuaXNWaXN1YWxpemFkbyhvcHRpb246IGFueSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBvcHRpb25bdGhpcy5rZXlWaXN1YWxpemFkb10gfHwgZmFsc2U7XHJcbn1cclxuXHJcbnZpc3VhbGl6YXJQcmV2aWV3KGFycXVpdm86IGFueSwgYnV0dG9uVGVtcGxhdGU/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgXHJcbiAgaWYgKGJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICB0aGlzLmNvbnRlbnRWaWV3ZXIgPSB0cnVlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBhcnF1aXZvW3RoaXMua2V5VmlzdWFsaXphZG9dID0gdHJ1ZTtcclxuICAgIHRoaXMuY29udGVudFZpZXdlciA9IHRydWU7XHJcbiAgICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldChhcnF1aXZvKTtcclxuICB9XHJcblxyXG4gIHRoaXMub25TZWxlY3RGaWxlLmVtaXQoYXJxdWl2byk7XHJcbiAgXHJcbn1cclxuXHJcbiAgT25TYXZlKCkge1xyXG4gICAgdGhpcy5vblNhdmUuZW1pdCgpO1xyXG4gICAgdGhpcy5jb250ZW50Vmlld2VyID0gZmFsc2U7XHJcbiAgICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgT25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucXVlc3Rpb24oe1xyXG4gICAgICB0eXBlOiAncXVlc3Rpb24nLFxyXG4gICAgICBtZXNzYWdlOiAnVm9jw6ogZmV6IGFsdGVyYcOnw7VlcyBxdWUgbsOjbyBmb3JhbSBzYWx2YXMuIFRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgY2FuY2VsYXI/JyxcclxuICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50Vmlld2VyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcnF1aXZvUHJldmlldy5zZXQodW5kZWZpbmVkKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbmFsdGVybmFyVGVsYUNoZWlhKCkge1xyXG4gIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnVsbHNjcmVlbkRpdicpO1xyXG4gIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuQnRuJyk7XHJcblxyXG4gIC8vIFZlcmlmaWNhIHNlIG9zIGVsZW1lbnRvcyBleGlzdGVtXHJcbiAgaWYgKGVsZW1lbnQgJiYgYnV0dG9uKSB7XHJcbiAgICBpZiAoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7XHJcbiAgICAgIC8vIEV4cGFuZGlyIHBhcmEgdGVsYSBjaGVpYVxyXG4gICAgICBpZiAoZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbikge1xyXG4gICAgICAgIGVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLm1velJlcXVlc3RGdWxsU2NyZWVuKSB7IC8vIFBhcmEgRmlyZWZveFxyXG4gICAgICAgIChlbGVtZW50IGFzIGFueSkubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7IC8vIFBhcmEgQ2hyb21lLCBTYWZhcmkgZSBPcGVyYVxyXG4gICAgICAgIChlbGVtZW50IGFzIGFueSkud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLm1zUmVxdWVzdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBJRS9FZGdlXHJcbiAgICAgICAgKGVsZW1lbnQgYXMgYW55KS5tc1JlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH1cclxuICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ2Nsb3NlX2Z1bGxzY3JlZW4nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gU2FpciBkYSB0ZWxhIGNoZWlhXHJcbiAgICAgIGlmIChkb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xyXG4gICAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGRvY3VtZW50IGFzIGFueSkubW96Q2FuY2VsRnVsbFNjcmVlbikgeyAvLyBQYXJhIEZpcmVmb3hcclxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS5tb3pDYW5jZWxGdWxsU2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGRvY3VtZW50IGFzIGFueSkud2Via2l0RXhpdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBDaHJvbWUsIFNhZmFyaSBlIE9wZXJhXHJcbiAgICAgICAgKGRvY3VtZW50IGFzIGFueSkud2Via2l0RXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS5tc0V4aXRGdWxsc2NyZWVuKSB7IC8vIFBhcmEgSUUvRWRnZVxyXG4gICAgICAgIChkb2N1bWVudCBhcyBhbnkpLm1zRXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfVxyXG4gICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnb3Blbl9pbl9mdWxsJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbm5nT25Jbml0KCk6IHZvaWQge1xyXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Z1bGxzY3JlZW5jaGFuZ2UnLCAoKSA9PiB7XHJcbiAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnVsbHNjcmVlbkJ0bicpO1xyXG4gICAgXHJcbiAgICBpZiAoYnV0dG9uKSB7XHJcbiAgICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcclxuICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnb3Blbl9pbl9mdWxsJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnY2xvc2VfZnVsbHNjcmVlbic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuc2Nyb2xsSGFuZGxlcigkZXZlbnQ6IEV2ZW50KSB7XHJcbiAgY29uc3QgZWxlbWVudCA9ICRldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8vc2UgbyBlc2Nyb2xsIGNoZWdhciBhdMOpIG8gZmluYWxcclxuICBpZiAoZWxlbWVudC5zY3JvbGxIZWlnaHQgLSBlbGVtZW50LnNjcm9sbFRvcCA9PT0gZWxlbWVudC5jbGllbnRIZWlnaHQpIHtcclxuICAgIC8vIHRoaXMuYnVzY2FyUHJveGltb3NEb2N1bWVudG9zKCk7XHJcbiAgICB0aGlzLm9uU2Nyb2xsSGFuZGxlci5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG59XHJcblxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWQ6ZmxleC1yb3cgZ2FwLTIgY3VzdG9tLW1heC1oZWlnaHQgXCJcclxuICBzdHlsZT1cImhlaWdodDogMTAwJVwiXHJcbj5cclxuICA8IS0tIExpc3RhIGRlIGRvY3VtZW50b3MgLS0+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjYXJkLXBlcmZpbCBjb2wtMTIgbWQ6Y29sLTQgbGc6Y29sLTMgZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXHJcbiAgICAoc2Nyb2xsKT1cInNjcm9sbEhhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdvdmVyZmxvdy15LWF1dG8nOiBkYXRhU291cmNlKCkubGVuZ3RoID4gMCxcclxuICAgICAgJ292ZXJmbG93LXktaGlkZGVuJzogZGF0YVNvdXJjZSgpLmxlbmd0aCA9PT0gMFxyXG4gICAgfVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxNXJlbVwiXHJcbiAgPlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2UoKS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5RG9jdW1lbnRMaXN0XCIgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgPCEtLSBMaXN0YSBkZSBjYXJkcyAtLT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0YVNvdXJjZSgpOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgIGNsYXNzPVwiY2FyZC1ub3JtYWwgb3V0bGluZS1ub25lIGJvcmRlci1yb3VuZC14bCB3LWZ1bGwgcC0yIG0tMSBncmlkIHAtZmx1aWQgZmxleCBmbGV4LXJvdyBmbGV4LW5vd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgKGNsaWNrKT1cInZpc3VhbGl6YXJQcmV2aWV3KG9wdGlvbilcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnY2FyZC1uYW9WaXN1YWxpemFkbyc6ICFpc1Zpc3VhbGl6YWRvKG9wdGlvbikgJiYgYm9yZGVyQ2FyZE5hb1Zpc3VhbGl6YWRvLFxyXG4gICAgICAgICAgICAgICAgICAgICdjYXJkLXNlbGVjdGVkJzogb3B0aW9uID09PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICAgICAgICAgICAgICAgICAgICdjYXJkLW5vcm1hbCc6IG9wdGlvbiAhPT0gYXJxdWl2b1ByZXZpZXcoKSxcclxuICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWdyb3ctMSBtbC0yIGZsZXgtY29sdW1uIGdhcC0xIG0tMCBwLTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMCVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcmRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb21tb24tc3R5bGUgZGVmYXVsdC1jYXJkXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc20gbXQtMlwiPlxyXG4gICAgICAgICAgICAgIEt2LWZpbGUtcHJldmlldyBhZ3VhcmRhbmRvIHVtIHRlbXBsYXRlLi4uXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1zbSBwLTAgbS0wXCI+RGF0YToge3sgdG9kYXlEYXRlKCkgfX08L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlEb2N1bWVudExpc3Q+XHJcbiAgICAgIEBpZihpc0xvYWRpbmdTa2VsZXRvbil7XHJcbiAgICAgIDxwLXNrZWxldG9uIFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpIG9mIFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5XVwiIFxyXG4gICAgICAgIGhlaWdodD1cIjVyZW1cIiBcclxuICAgICAgICBbc3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6ICcwLjI1cmVtJywgJ2JvcmRlclJhZGl1cyc6ICcwLjc1cmVtJyB9XCJcclxuICAgICAgPjwvcC1za2VsZXRvbj5cclxuICAgICAgfSBAaWYoIW5vRG9jdW1lbnRMaXN0VGVtcGxhdGUpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IGluYm94IDwvc3Bhbj5cclxuICAgICAgICAgIDxwPk5lbmh1bSBkb2N1bWVudG8gZGlzcG9uw612ZWwuPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC00IG0tM1wiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRMaXN0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPCEtLSBDb250YWRvciBkZSBkb2N1bWVudG9zIC0gRml4byBuYSBwYXJ0ZSBpbmZlcmlvciAtLT5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzdGlja3ktY291bnRlciBmbGV4IGZsZXgtY29sdW1uXHJcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHRleHQtY2VudGVyIHB4LTIgcC0yXCJcclxuICAgICAgc3R5bGU9XCJwb3NpdGlvbjogc3RpY2t5OyBib3R0b206IC0xMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgXCJcclxuICAgID5cclxuICAgICAgQGlmKHNob3dUb3RhbFJlY29yZHMoKSkge1xyXG4gICAgICAgIDxzcGFuPnt7IHRvdGFsSXRlbnNDYXJyZWdhZG8oKSB9fSBkZSB7eyB0b3RhbFJlY29yZHMgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgQGlmKGxpc3RCb3R0b21UZW1wbGF0ZSkge1xyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEJvdHRvbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBWaXN1YWxpemFkb3IgLS0+XHJcbiAgPGRpdlxyXG4gICAgaWQ9XCJmdWxsc2NyZWVuRGl2XCJcclxuICAgIGNsYXNzPVwiY2FyZC12aXN1YWxpemFkb3IgY29sLTEyIG1kOmNvbC04IGxnOmNvbC05IGZsZXgtMVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlXCJcclxuICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgJ292ZXJmbG93LXknOiBhcnF1aXZvUHJldmlldygpID8gJ2F1dG8nIDogJ2hpZGRlbidcclxuICAgIH1cIlxyXG4gID5cclxuICAgIEBpZihidG5UZWxhQ2hlaWEgJiYgIWJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgaWQ9XCJmdWxsc2NyZWVuQnRuXCJcclxuICAgICAgICAoY2xpY2spPVwiYWx0ZXJuYXJUZWxhQ2hlaWEoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHAtMiB0ZXh0LXhsIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIG9wZW5faW5fZnVsbFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGlmKCFidG5UZWxhQ2hlaWEgJiYgYnV0dG9uVGVtcGxhdGUgJiYgIWNvbnRlbnRWaWV3ZXIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48L2Rpdj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJwLTNcIj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwidmlzdWFsaXphclByZXZpZXcobnVsbCwgdHJ1ZSlcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZihidG5UZWxhQ2hlaWEgJiYgYnV0dG9uVGVtcGxhdGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIEBpZighY29udGVudFZpZXdlcikge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cInAtM1wiPlxyXG4gICAgICAgIDxzcGFuIChjbGljayk9XCJ2aXN1YWxpemFyUHJldmlldyhudWxsLCB0cnVlKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIGlkPVwiZnVsbHNjcmVlbkJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFsdGVybmFyVGVsYUNoZWlhKClcIlxyXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwLTIgdGV4dC14bCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICBvcGVuX2luX2Z1bGxcclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZih2aXN1YWxpemFkb3JEb2N1bWVudG9zKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJxdWl2bygpOyBlbHNlIG5vRG9jdW1lbnRTZWxlY3RlZFwiPlxyXG4gICAgICBAaWYoaXNMb2FkaW5nKSB7XHJcbiAgICAgIDxuZ3gtbG9hZGluZ1xyXG4gICAgICAgIFtzaG93XT1cImlzTG9hZGluZ1wiXHJcbiAgICAgICAgW2NvbmZpZ109XCJ7IGJhY2tkcm9wQm9yZGVyUmFkaXVzOiAnM3B4JywgZnVsbFNjcmVlbkJhY2tkcm9wOiBmYWxzZSB9XCJcclxuICAgICAgPjwvbmd4LWxvYWRpbmc+XHJcbiAgICAgIH1cclxuICAgICAgPGt2LWZpbGUtdmlld2VyLW5vdm9cclxuICAgICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXHJcbiAgICAgICAgW2FycXVpdm9dPVwiYXJxdWl2bygpIVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpIVwiXHJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXHJcbiAgICAgICAgW3dpZHRoXT1cIicxMDAlJ1wiXHJcbiAgICAgICAgW2hlaWdodF09XCInMTAwJSdcIlxyXG4gICAgICAgIGNsYXNzPVwiZmlsZS12aWV3ZXJcIlxyXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi1maWxlLXZpZXdlci1ub3ZvPlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGlkPVwiaHRtbC1jb250ZW50XCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImVrcENvbnRlbnQoKVwiXHJcbiAgICAgICAgKm5nSWY9XCJleHRlbmNhb0RvY3VtZW50byA9PT0gJ2VrcCdcIlxyXG4gICAgICAgIGNsYXNzPVwiZWtwLWNvbnRlbnRcIlxyXG4gICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiIHN0eWxlPVwiaGVpZ2h0OiA5MiU7XCIgPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nSWY9XCJhcnF1aXZvUHJldmlldygpIHx8IGNvbnRlbnRWaWV3ZXI7IGVsc2Ugbm9Eb2N1bWVudFNlbGVjdGVkXCJcclxuICAgICAgPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZmxleDogMTtcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICBjb250ZW50VGVtcGxhdGU7XHJcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBhcnF1aXZvUHJldmlldygpIH1cclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCVcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGNvbnRlbnRGb3JtKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgei1pbmRleDogMTA7IHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj4qPC9zcGFuPiBDYW1wb3Mgb2JyaWdhdMOzcmlvc1xyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiQ2FuY2VsYXJcIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cImNsb3NlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIk9uQ2FuY2VsKClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiU2FsdmFyXCJcclxuICAgICAgICAgICAgICAgIGljb249XCJzYXZlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiT25TYXZlKClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+IFxyXG4gICAgfVxyXG4gICAgPG5nLXRlbXBsYXRlICNub0RvY3VtZW50U2VsZWN0ZWQ+XHJcbiAgICAgIEBpZighbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwibm8tZG9jdW1lbnQtbWVzc2FnZSBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJTsgb3ZlcmZsb3cteTogYXV0b1wiXHJcbiAgICAgID5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICAgIFNlbGVjaW9uZSB1bSBhcnF1aXZvIHBhcmEgdmlzdWFsaXphw6fDo29cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgW3NyY109XCJcclxuICAgICAgICAgICAgJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2ltZy9EaWdpdGFsX3BlcnNvbmFsX2ZpbGVzLXBhbmFfMy5wbmcnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtaGVpZ2h0OiA1MCU7IG1hcmdpbi10b3A6IDJyZW1cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlXCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFTMUgsTUFBTSxPQUFPLHdCQUF3QjtJQTZDaEMsWUFDUyxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTFDcEQsa0JBQWtCO1FBQ25CLGVBQVUsR0FBdUIsS0FBSyxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELGtCQUFhLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLFlBQU8sR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxLQUFLLENBQU8sRUFBUyxDQUFDLENBQUM7UUFDOUIsY0FBUyxHQUFHLE1BQU0sQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDbEQsZUFBVSxHQUFHLEtBQUssQ0FBdUIsU0FBUyxDQUFD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QkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQWlCSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgSW5wdXRTaWduYWwsIE91dHB1dCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtY29udGVudC12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1jb250ZW50LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDb250ZW50Vmlld2VyQ29tcG9uZW50IHtcclxuXHJcblxyXG5cclxuICAvLyAjcmVnaW9uIFNpZ25hbHNcclxuIGRhdGFTb3VyY2U6IElucHV0U2lnbmFsPGFueVtdPiA9IGlucHV0PGFueVtdPihbXSk7XHJcbiBwYWdpbmFJbmljaWFsID0gc2lnbmFsPG51bWJlcj4oMSk7XHJcbiBhcnF1aXZvID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gYXJxdWl2b1ByZXZpZXcgPSBzaWduYWw8YW55Pih1bmRlZmluZWQpO1xyXG4gbm9tZUFycXVpdm8gPSBzaWduYWw8c3RyaW5nPignJyk7XHJcbiB0eXBlID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gYmxvYiA9IGlucHV0PEJsb2I+KCcnIGFzIGFueSk7XHJcbiBpZGFycXVpdm8gPSBzaWduYWw8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gZWtwQ29udGVudCA9IGlucHV0PFNhZmVIdG1sIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gc2hvd1RvdGFsUmVjb3JkcyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gdG90YWxJdGVuc0NhcnJlZ2FkbyA9IGNvbXB1dGVkKFxyXG4gICgpID0+IHRoaXMuZGF0YVNvdXJjZSgpPy5sZW5ndGggfHwgMFxyXG4pO1xyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuZW1wcmVzYVNlbGVjaW9uYWRhITogYW55O1xyXG5pZHRpcG9kb2N1bWVudG8hOiBudW1iZXJbXTtcclxuQElucHV0KCkgZXh0ZW5jYW9Eb2N1bWVudG8hOiBzdHJpbmc7XHJcbnByZXZpZXdPbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5zZWxlY3RlZEl0ZW06IGFueSA9IHt9O1xyXG5ASW5wdXQoKSB0b3RhbFJlY29yZHM6IG51bWJlciA9IDA7XHJcbmlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5kaXNwbGF5U2lkZWJhcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5pc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbkBJbnB1dCgpIHZpc3VhbGl6YWRvckRvY3VtZW50b3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgY2FyZFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuQElucHV0KCkgY29udGVudFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuQElucHV0KCkgbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBub0RvY3VtZW50TGlzdFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuQElucHV0KCkgYnV0dG9uVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBsaXN0Qm90dG9tVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5ASW5wdXQoKSBpbmR2aXN1YWxpemFkbzogYm9vbGVhbiA9IGZhbHNlO1xyXG5ASW5wdXQoKSBidG5UZWxhQ2hlaWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgaXNMb2FkaW5nU2tlbGV0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuQElucHV0KCkgYm9yZGVyQ2FyZE5hb1Zpc3VhbGl6YWRvOiBib29sZWFuID0gdHJ1ZTtcclxuQElucHV0KCkgY29udGVudEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuY29udGVudFZpZXdlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5rZXlWaXN1YWxpemFkbzogc3RyaW5nID0gJ2luZHZpc3VhbGl6YWRvJzsgXHJcblxyXG4gICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgKSB7XHJcblxyXG4gICAgIH1cclxuXHJcbnRvZGF5RGF0ZSgpOiBzdHJpbmcge1xyXG4gIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICByZXR1cm4gdG9kYXkudG9Mb2NhbGVEYXRlU3RyaW5nKCdwdC1CUicsIHsgZGF5OiAnMi1kaWdpdCcsIG1vbnRoOiAnMi1kaWdpdCcsIHllYXI6ICdudW1lcmljJyB9KTtcclxufVxyXG4vLyAjZW5kcmVnaW9uXHJcblxyXG4vLyAjcmVnaW9uIE91dHB1dHNcclxuQE91dHB1dCgpIG9uU2Nyb2xsSGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbkBPdXRwdXQoKSBvblNlbGVjdEZpbGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5AT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuQE91dHB1dCgpIG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuLy8gI2VuZHJlZ2lvblxyXG5cclxudHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XHJcbiAgcmV0dXJuIGl0ZW0uaWRhcnF1aXZvOyBcclxufVxyXG5cclxuaXNWaXN1YWxpemFkbyhvcHRpb246IGFueSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiBvcHRpb25bdGhpcy5rZXlWaXN1YWxpemFkb10gfHwgZmFsc2U7XHJcbn1cclxuXHJcbnZpc3VhbGl6YXJQcmV2aWV3KGFycXVpdm86IGFueSwgYnV0dG9uVGVtcGxhdGU/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgXHJcbiAgaWYgKGJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICB0aGlzLmNvbnRlbnRWaWV3ZXIgPSB0cnVlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBhcnF1aXZvW3RoaXMua2V5VmlzdWFsaXphZG9dID0gdHJ1ZTtcclxuICAgIHRoaXMuY29udGVudFZpZXdlciA9IHRydWU7XHJcbiAgICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldChhcnF1aXZvKTtcclxuICB9XHJcblxyXG4gIHRoaXMub25TZWxlY3RGaWxlLmVtaXQoYXJxdWl2byk7XHJcbiAgXHJcbn1cclxuXHJcbiAgT25TYXZlKCkge1xyXG4gICAgdGhpcy5vblNhdmUuZW1pdCgpO1xyXG4gICAgdGhpcy5jb250ZW50Vmlld2VyID0gZmFsc2U7XHJcbiAgICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgT25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucXVlc3Rpb24oe1xyXG4gICAgICB0eXBlOiAncXVlc3Rpb24nLFxyXG4gICAgICBtZXNzYWdlOiAnVm9jw6ogZmV6IGFsdGVyYcOnw7VlcyBxdWUgbsOjbyBmb3JhbSBzYWx2YXMuIFRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgY2FuY2VsYXI/JyxcclxuICAgICAgYWNjZXB0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vbkNhbmNlbC5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy5jb250ZW50Vmlld2VyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcnF1aXZvUHJldmlldy5zZXQodW5kZWZpbmVkKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbmFsdGVybmFyVGVsYUNoZWlhKCkge1xyXG4gIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnVsbHNjcmVlbkRpdicpO1xyXG4gIGNvbnN0IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsc2NyZWVuQnRuJyk7XHJcblxyXG4gIC8vIFZlcmlmaWNhIHNlIG9zIGVsZW1lbnRvcyBleGlzdGVtXHJcbiAgaWYgKGVsZW1lbnQgJiYgYnV0dG9uKSB7XHJcbiAgICBpZiAoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7XHJcbiAgICAgIC8vIEV4cGFuZGlyIHBhcmEgdGVsYSBjaGVpYVxyXG4gICAgICBpZiAoZWxlbWVudC5yZXF1ZXN0RnVsbHNjcmVlbikge1xyXG4gICAgICAgIGVsZW1lbnQucmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLm1velJlcXVlc3RGdWxsU2NyZWVuKSB7IC8vIFBhcmEgRmlyZWZveFxyXG4gICAgICAgIChlbGVtZW50IGFzIGFueSkubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7IC8vIFBhcmEgQ2hyb21lLCBTYWZhcmkgZSBPcGVyYVxyXG4gICAgICAgIChlbGVtZW50IGFzIGFueSkud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLm1zUmVxdWVzdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBJRS9FZGdlXHJcbiAgICAgICAgKGVsZW1lbnQgYXMgYW55KS5tc1JlcXVlc3RGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH1cclxuICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ2Nsb3NlX2Z1bGxzY3JlZW4nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gU2FpciBkYSB0ZWxhIGNoZWlhXHJcbiAgICAgIGlmIChkb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xyXG4gICAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGRvY3VtZW50IGFzIGFueSkubW96Q2FuY2VsRnVsbFNjcmVlbikgeyAvLyBQYXJhIEZpcmVmb3hcclxuICAgICAgICAoZG9jdW1lbnQgYXMgYW55KS5tb3pDYW5jZWxGdWxsU2NyZWVuKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoKGRvY3VtZW50IGFzIGFueSkud2Via2l0RXhpdEZ1bGxzY3JlZW4pIHsgLy8gUGFyYSBDaHJvbWUsIFNhZmFyaSBlIE9wZXJhXHJcbiAgICAgICAgKGRvY3VtZW50IGFzIGFueSkud2Via2l0RXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfSBlbHNlIGlmICgoZG9jdW1lbnQgYXMgYW55KS5tc0V4aXRGdWxsc2NyZWVuKSB7IC8vIFBhcmEgSUUvRWRnZVxyXG4gICAgICAgIChkb2N1bWVudCBhcyBhbnkpLm1zRXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgfVxyXG4gICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnb3Blbl9pbl9mdWxsJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbm5nT25Jbml0KCk6IHZvaWQge1xyXG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Z1bGxzY3JlZW5jaGFuZ2UnLCAoKSA9PiB7XHJcbiAgICBjb25zdCBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnVsbHNjcmVlbkJ0bicpO1xyXG4gICAgXHJcbiAgICBpZiAoYnV0dG9uKSB7XHJcbiAgICAgIGlmICghZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHtcclxuICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnb3Blbl9pbl9mdWxsJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnY2xvc2VfZnVsbHNjcmVlbic7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuc2Nyb2xsSGFuZGxlcigkZXZlbnQ6IEV2ZW50KSB7XHJcbiAgY29uc3QgZWxlbWVudCA9ICRldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8vc2UgbyBlc2Nyb2xsIGNoZWdhciBhdMOpIG8gZmluYWxcclxuICBpZiAoZWxlbWVudC5zY3JvbGxIZWlnaHQgLSBlbGVtZW50LnNjcm9sbFRvcCA9PT0gZWxlbWVudC5jbGllbnRIZWlnaHQpIHtcclxuICAgIC8vIHRoaXMuYnVzY2FyUHJveGltb3NEb2N1bWVudG9zKCk7XHJcbiAgICB0aGlzLm9uU2Nyb2xsSGFuZGxlci5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG59XHJcblxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWQ6ZmxleC1yb3cgZ2FwLTIgY3VzdG9tLW1heC1oZWlnaHQgXCJcclxuICBzdHlsZT1cImhlaWdodDogMTAwJVwiXHJcbj5cclxuICA8IS0tIExpc3RhIGRlIGRvY3VtZW50b3MgLS0+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjYXJkLXBlcmZpbCBjb2wtMTIgbWQ6Y29sLTQgbGc6Y29sLTMgZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiXHJcbiAgICAoc2Nyb2xsKT1cInNjcm9sbEhhbmRsZXIoJGV2ZW50KVwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdvdmVyZmxvdy15LWF1dG8nOiBkYXRhU291cmNlKCkubGVuZ3RoID4gMCxcclxuICAgICAgJ292ZXJmbG93LXktaGlkZGVuJzogZGF0YVNvdXJjZSgpLmxlbmd0aCA9PT0gMFxyXG4gICAgfVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxNXJlbVwiXHJcbiAgPlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGFTb3VyY2UoKS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5RG9jdW1lbnRMaXN0XCIgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgPCEtLSBMaXN0YSBkZSBjYXJkcyAtLT5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0YVNvdXJjZSgpOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgIGNsYXNzPVwiY2FyZC1ub3JtYWwgb3V0bGluZS1ub25lIGJvcmRlci1yb3VuZC14bCB3LWZ1bGwgcC0yIG0tMSBncmlkIHAtZmx1aWQgZmxleCBmbGV4LXJvdyBmbGV4LW5vd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgKGNsaWNrKT1cInZpc3VhbGl6YXJQcmV2aWV3KG9wdGlvbilcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAnY2FyZC1uYW9WaXN1YWxpemFkbyc6ICFpc1Zpc3VhbGl6YWRvKG9wdGlvbikgJiYgYm9yZGVyQ2FyZE5hb1Zpc3VhbGl6YWRvLFxyXG4gICAgICAgICAgICAgICAgICAgICdjYXJkLXNlbGVjdGVkJzogb3B0aW9uID09PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICAgICAgICAgICAgICAgICAgICdjYXJkLW5vcm1hbCc6IG9wdGlvbiAhPT0gYXJxdWl2b1ByZXZpZXcoKSxcclxuICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWdyb3ctMSBtbC0yIGZsZXgtY29sdW1uIGdhcC0xIG0tMCBwLTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDEwMCVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcmRUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XCJcclxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1jb21tb24tc3R5bGUgZGVmYXVsdC1jYXJkXCI+XHJcbiAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc20gbXQtMlwiPlxyXG4gICAgICAgICAgICAgIEt2LWZpbGUtcHJldmlldyBhZ3VhcmRhbmRvIHVtIHRlbXBsYXRlLi4uXHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1zbSBwLTAgbS0wXCI+RGF0YToge3sgdG9kYXlEYXRlKCkgfX08L3A+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlEb2N1bWVudExpc3Q+XHJcbiAgICAgIEBpZihpc0xvYWRpbmdTa2VsZXRvbil7XHJcbiAgICAgIDxwLXNrZWxldG9uIFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpIG9mIFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5XVwiIFxyXG4gICAgICAgIGhlaWdodD1cIjVyZW1cIiBcclxuICAgICAgICBbc3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6ICcwLjI1cmVtJywgJ2JvcmRlclJhZGl1cyc6ICcwLjc1cmVtJyB9XCJcclxuICAgICAgPjwvcC1za2VsZXRvbj5cclxuICAgICAgfSBAaWYoIW5vRG9jdW1lbnRMaXN0VGVtcGxhdGUpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IGluYm94IDwvc3Bhbj5cclxuICAgICAgICAgIDxwPk5lbmh1bSBkb2N1bWVudG8gZGlzcG9uw612ZWwuPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtdC00IG0tM1wiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRMaXN0VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPCEtLSBDb250YWRvciBkZSBkb2N1bWVudG9zIC0gRml4byBuYSBwYXJ0ZSBpbmZlcmlvciAtLT5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzdGlja3ktY291bnRlciBmbGV4IGZsZXgtY29sdW1uXHJcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHRleHQtY2VudGVyIHB4LTIgcC0yXCJcclxuICAgICAgc3R5bGU9XCJwb3NpdGlvbjogc3RpY2t5OyBib3R0b206IC0xMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgXCJcclxuICAgID5cclxuICAgICAgQGlmKHNob3dUb3RhbFJlY29yZHMoKSkge1xyXG4gICAgICAgIDxzcGFuPnt7IHRvdGFsSXRlbnNDYXJyZWdhZG8oKSB9fSBkZSB7eyB0b3RhbFJlY29yZHMgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgQGlmKGxpc3RCb3R0b21UZW1wbGF0ZSkge1xyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdEJvdHRvbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBWaXN1YWxpemFkb3IgLS0+XHJcbiAgPGRpdlxyXG4gICAgaWQ9XCJmdWxsc2NyZWVuRGl2XCJcclxuICAgIGNsYXNzPVwiY2FyZC12aXN1YWxpemFkb3IgY29sLTEyIG1kOmNvbC04IGxnOmNvbC05IGZsZXgtMVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAxMDAlXCJcclxuICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgJ292ZXJmbG93LXknOiBhcnF1aXZvUHJldmlldygpID8gJ2F1dG8nIDogJ2hpZGRlbidcclxuICAgIH1cIlxyXG4gID5cclxuICAgIEBpZihidG5UZWxhQ2hlaWEgJiYgIWJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgaWQ9XCJmdWxsc2NyZWVuQnRuXCJcclxuICAgICAgICAoY2xpY2spPVwiYWx0ZXJuYXJUZWxhQ2hlaWEoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHAtMiB0ZXh0LXhsIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgPlxyXG4gICAgICAgIG9wZW5faW5fZnVsbFxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGlmKCFidG5UZWxhQ2hlaWEgJiYgYnV0dG9uVGVtcGxhdGUgJiYgIWNvbnRlbnRWaWV3ZXIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48L2Rpdj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJwLTNcIj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwidmlzdWFsaXphclByZXZpZXcobnVsbCwgdHJ1ZSlcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZihidG5UZWxhQ2hlaWEgJiYgYnV0dG9uVGVtcGxhdGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIEBpZighY29udGVudFZpZXdlcikge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cInAtM1wiPlxyXG4gICAgICAgIDxzcGFuIChjbGljayk9XCJ2aXN1YWxpemFyUHJldmlldyhudWxsLCB0cnVlKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPjwvZGl2PlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIGlkPVwiZnVsbHNjcmVlbkJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cImFsdGVybmFyVGVsYUNoZWlhKClcIlxyXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBwLTIgdGV4dC14bCBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICBvcGVuX2luX2Z1bGxcclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZih2aXN1YWxpemFkb3JEb2N1bWVudG9zKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJxdWl2bygpOyBlbHNlIG5vRG9jdW1lbnRTZWxlY3RlZFwiPlxyXG4gICAgICBAaWYoaXNMb2FkaW5nKSB7XHJcbiAgICAgIDxuZ3gtbG9hZGluZ1xyXG4gICAgICAgIFtzaG93XT1cImlzTG9hZGluZ1wiXHJcbiAgICAgICAgW2NvbmZpZ109XCJ7IGJhY2tkcm9wQm9yZGVyUmFkaXVzOiAnM3B4JywgZnVsbFNjcmVlbkJhY2tkcm9wOiBmYWxzZSB9XCJcclxuICAgICAgPjwvbmd4LWxvYWRpbmc+XHJcbiAgICAgIH1cclxuICAgICAgPGt2LWZpbGUtdmlld2VyLW5vdm9cclxuICAgICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXHJcbiAgICAgICAgW2FycXVpdm9dPVwiYXJxdWl2bygpIVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpIVwiXHJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXHJcbiAgICAgICAgW3dpZHRoXT1cIicxMDAlJ1wiXHJcbiAgICAgICAgW2hlaWdodF09XCInMTAwJSdcIlxyXG4gICAgICAgIGNsYXNzPVwiZmlsZS12aWV3ZXJcIlxyXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi1maWxlLXZpZXdlci1ub3ZvPlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGlkPVwiaHRtbC1jb250ZW50XCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImVrcENvbnRlbnQoKVwiXHJcbiAgICAgICAgKm5nSWY9XCJleHRlbmNhb0RvY3VtZW50byA9PT0gJ2VrcCdcIlxyXG4gICAgICAgIGNsYXNzPVwiZWtwLWNvbnRlbnRcIlxyXG4gICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiIHN0eWxlPVwiaGVpZ2h0OiA5MiU7XCIgPlxyXG4gICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nSWY9XCJhcnF1aXZvUHJldmlldygpIHx8IGNvbnRlbnRWaWV3ZXI7IGVsc2Ugbm9Eb2N1bWVudFNlbGVjdGVkXCJcclxuICAgICAgPlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZmxleDogMTtcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICBjb250ZW50VGVtcGxhdGU7XHJcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBhcnF1aXZvUHJldmlldygpIH1cclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCVcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmKGNvbnRlbnRGb3JtKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgei1pbmRleDogMTA7IHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj4qPC9zcGFuPiBDYW1wb3Mgb2JyaWdhdMOzcmlvc1xyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiQ2FuY2VsYXJcIlxyXG4gICAgICAgICAgICAgICAgaWNvbj1cImNsb3NlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cIk9uQ2FuY2VsKClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiU2FsdmFyXCJcclxuICAgICAgICAgICAgICAgIGljb249XCJzYXZlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICBzZXZlcml0eT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiT25TYXZlKClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+IFxyXG4gICAgfVxyXG4gICAgPG5nLXRlbXBsYXRlICNub0RvY3VtZW50U2VsZWN0ZWQ+XHJcbiAgICAgIEBpZighbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwibm8tZG9jdW1lbnQtbWVzc2FnZSBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJTsgb3ZlcmZsb3cteTogYXV0b1wiXHJcbiAgICAgID5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICAgIFNlbGVjaW9uZSB1bSBhcnF1aXZvIHBhcmEgdmlzdWFsaXphw6fDo29cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgW3NyY109XCJcclxuICAgICAgICAgICAgJ2h0dHBzOi8vd29yay1hc3NldHMua2Vldm8uY29tLmJyL2ltZy9EaWdpdGFsX3BlcnNvbmFsX2ZpbGVzLXBhbmFfMy5wbmcnXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtaGVpZ2h0OiA1MCU7IG1hcmdpbi10b3A6IDJyZW1cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlXCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -9,15 +9,15 @@ import { KvButtonModule } from '../kv-button/kv-button.module';
|
|
|
9
9
|
import { KvButtonsModule } from '../kv-buttons/kv-button.module';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class KvContentViewerModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvContentViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: KvContentViewerModule, declarations: [KvContentViewerComponent], imports: [CommonModule,
|
|
14
14
|
PdfViewerModule,
|
|
15
15
|
PrimeNgModule,
|
|
16
16
|
KvFileViewerNovoModule,
|
|
17
17
|
NgxLoadingModule,
|
|
18
18
|
KvButtonModule,
|
|
19
19
|
KvButtonsModule], exports: [KvContentViewerComponent] }); }
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvContentViewerModule, imports: [CommonModule,
|
|
21
21
|
PdfViewerModule,
|
|
22
22
|
PrimeNgModule,
|
|
23
23
|
KvFileViewerNovoModule,
|
|
@@ -25,7 +25,7 @@ export class KvContentViewerModule {
|
|
|
25
25
|
KvButtonModule,
|
|
26
26
|
KvButtonsModule] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvContentViewerModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
declarations: [KvContentViewerComponent],
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
41
41
|
exports: [KvContentViewerComponent]
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY29udGVudC12aWV3ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY29udGVudC12aWV3ZXIva3YtY29udGVudC12aWV3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBZ0JqRSxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixpQkFaakIsd0JBQXdCLGFBRXJDLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGVBQWUsYUFFUCx3QkFBd0I7Z0hBRXZCLHFCQUFxQixZQVY5QixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixzQkFBc0I7WUFDdEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxlQUFlOzs0RkFJTixxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQZGZWaWV3ZXJNb2R1bGUgfSBmcm9tICduZzItcGRmLXZpZXdlcic7XHJcbmltcG9ydCB7IEt2Q29udGVudFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4va3YtY29udGVudC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgS3ZGaWxlVmlld2VyTm92b01vZHVsZSB9IGZyb20gJy4uL2t2LWZpbGUtdmlld2VyLW5vdm8va3YtZmlsZS12aWV3ZXItbm92by5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOZ3hMb2FkaW5nTW9kdWxlIH0gZnJvbSAnbmd4LWxvYWRpbmcnO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2t2LWJ1dHRvbi9rdi1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgS3ZCdXR0b25zTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9ucy9rdi1idXR0b24ubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0t2Q29udGVudFZpZXdlckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUGRmVmlld2VyTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIEt2RmlsZVZpZXdlck5vdm9Nb2R1bGUsXHJcbiAgICBOZ3hMb2FkaW5nTW9kdWxlLFxyXG4gICAgS3ZCdXR0b25Nb2R1bGUsXHJcbiAgICBLdkJ1dHRvbnNNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtLdkNvbnRlbnRWaWV3ZXJDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkNvbnRlbnRWaWV3ZXJNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -111,10 +111,10 @@ export class KvDetailedListComponent {
|
|
|
111
111
|
this.onScrollHandler.emit($event);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvDetailedListComponent, isStandalone: true, selector: "kv-detailed-list", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, listacol: { classPropertyName: "listacol", publicName: "listacol", isSignal: true, isRequired: false, transformFunction: null }, listacollg: { classPropertyName: "listacollg", publicName: "listacollg", isSignal: true, isRequired: false, transformFunction: null }, listacolmd: { classPropertyName: "listacolmd", publicName: "listacolmd", isSignal: true, isRequired: false, transformFunction: null }, exibirContador: { classPropertyName: "exibirContador", publicName: "exibirContador", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, buttonTemplate: { classPropertyName: "buttonTemplate", publicName: "buttonTemplate", isSignal: false, isRequired: false, transformFunction: null }, listBottomTemplate: { classPropertyName: "listBottomTemplate", publicName: "listBottomTemplate", isSignal: false, isRequired: false, transformFunction: null }, listTopTemplate: { classPropertyName: "listTopTemplate", publicName: "listTopTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null }, borderCardNaoVisualizado: { classPropertyName: "borderCardNaoVisualizado", publicName: "borderCardNaoVisualizado", isSignal: false, isRequired: false, transformFunction: null }, contentForm: { classPropertyName: "contentForm", publicName: "contentForm", isSignal: false, isRequired: false, transformFunction: null }, enableSearch: { classPropertyName: "enableSearch", publicName: "enableSearch", isSignal: false, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, listTitle: { classPropertyName: "listTitle", publicName: "listTitle", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile", onSave: "onSave", onCancel: "onCancel", onSearch: "onSearch" }, ngImport: i0, template: "<div\r\n class=\"flex flex-column md:flex-row gap-2 custom-max-height\"\r\n style=\"height: 100%\"\r\n>\r\n <!-- Lista -->\r\n <div\r\n [class]=\"\r\n listacol() +\r\n ' ' +\r\n 'md:' +\r\n listacolmd() +\r\n ' ' +\r\n 'lg:' +\r\n listacollg() +\r\n ' ' +\r\n 'card-perfil flex flex-column justify-content-between'\r\n \"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-auto': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem\"\r\n >\r\n <div>\r\n @if(listTopTemplate) {\r\n <div #topListTemplate>\r\n <ng-container *ngTemplateOutlet=\"listTopTemplate\"></ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"col-12\">\r\n <div class=\"flex align-items-center\">\r\n @if(listTitle) {\r\n <p class=\"w-full flex align-items-start font-semibold text-md\">\r\n {{ listTitle }}\r\n </p>\r\n } @if(enableSearch) {\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"widthPage() > 800\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter($event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n autocomplete=\"off\"\r\n #inputField\r\n class=\"text-sm col-6\"\r\n style=\"height: 2rem\"\r\n />\r\n }\r\n </div>\r\n <div\r\n *ngIf=\"dataSource().length > 0; else emptyDocumentList\"\r\n class=\"mt-2\"\r\n >\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div\r\n class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis\"\r\n style=\"max-width: 100%\"\r\n >\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: option }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-detailed-list aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(isLoadingSkeleton){\r\n <p-skeleton\r\n *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"\r\n height=\"5rem\"\r\n [style]=\"{ 'margin-bottom': '0.25rem', borderRadius: '0.75rem' }\"\r\n ></p-skeleton>\r\n } @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\"flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n @if(exibirContador()) {\r\n <div\r\n class=\"sticky-counter flex flex-column justify-content-center text-center px-2 p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n @if(listBottomTemplate) {\r\n <ng-container *ngTemplateOutlet=\"listBottomTemplate\"></ng-container>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div\r\n id=\"fullscreenDiv\"\r\n class=\"card-visualizador flex-1\"\r\n style=\"position: relative\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\"\r\n >\r\n @if(buttonTemplate && !contentViewer) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n </div>\r\n } @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <div class=\"flex flex-column\" style=\"height: 100%\">\r\n <ng-container\r\n *ngIf=\"arquivoPreview() || contentViewer; else noDocumentSelected\"\r\n >\r\n <div style=\"flex: 1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></ng-container>\r\n </div>\r\n @if(contentForm) {\r\n <div\r\n class=\"grid\"\r\n style=\"\r\n position: sticky;\r\n bottom: 0;\r\n background-color: white;\r\n z-index: 10;\r\n padding: 1rem 1rem 0 1rem;\r\n \"\r\n >\r\n <div class=\"col-8\">\r\n <span class=\"text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios\r\n </span>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Cancelar\"\r\n icon=\"close\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n (onClick)=\"OnCancel()\"\r\n >\r\n </kv-button>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Salvar\"\r\n icon=\"save\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"primary\"\r\n (onClick)=\"OnSave()\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"'https://work-assets.keevo.com.br/img/Sem_Dados.png'\"\r\n style=\"max-height: 50%; margin-top: 2rem\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil,.card-visualizador{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}@media (max-width: 768px){.card-perfil{max-height:20rem;overflow-y:auto}}@media (max-width: 768px){.card-visualizador{max-height:100%;overflow-y:auto}}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.custom-max-height{height:100%}@media (max-height: 768px){.custom-max-height{height:auto;min-height:100vh}}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PdfViewerModule }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i2.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "ngmodule", type: KvFileViewerNovoModule }, { kind: "component", type: i5.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "ngmodule", type: NgxLoadingModule }, { kind: "component", type: i6.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: i7.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "ngmodule", type: KvButtonsModule }] }); }
|
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvDetailedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: KvDetailedListComponent, isStandalone: true, selector: "kv-detailed-list", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, arquivo: { classPropertyName: "arquivo", publicName: "arquivo", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, listacol: { classPropertyName: "listacol", publicName: "listacol", isSignal: true, isRequired: false, transformFunction: null }, listacollg: { classPropertyName: "listacollg", publicName: "listacollg", isSignal: true, isRequired: false, transformFunction: null }, listacolmd: { classPropertyName: "listacolmd", publicName: "listacolmd", isSignal: true, isRequired: false, transformFunction: null }, exibirContador: { classPropertyName: "exibirContador", publicName: "exibirContador", isSignal: true, isRequired: false, transformFunction: null }, ekpContent: { classPropertyName: "ekpContent", publicName: "ekpContent", isSignal: true, isRequired: false, transformFunction: null }, extencaoDocumento: { classPropertyName: "extencaoDocumento", publicName: "extencaoDocumento", isSignal: false, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null }, buttonTemplate: { classPropertyName: "buttonTemplate", publicName: "buttonTemplate", isSignal: false, isRequired: false, transformFunction: null }, listBottomTemplate: { classPropertyName: "listBottomTemplate", publicName: "listBottomTemplate", isSignal: false, isRequired: false, transformFunction: null }, listTopTemplate: { classPropertyName: "listTopTemplate", publicName: "listTopTemplate", isSignal: false, isRequired: false, transformFunction: null }, indvisualizado: { classPropertyName: "indvisualizado", publicName: "indvisualizado", isSignal: false, isRequired: false, transformFunction: null }, isLoadingSkeleton: { classPropertyName: "isLoadingSkeleton", publicName: "isLoadingSkeleton", isSignal: false, isRequired: false, transformFunction: null }, borderCardNaoVisualizado: { classPropertyName: "borderCardNaoVisualizado", publicName: "borderCardNaoVisualizado", isSignal: false, isRequired: false, transformFunction: null }, contentForm: { classPropertyName: "contentForm", publicName: "contentForm", isSignal: false, isRequired: false, transformFunction: null }, enableSearch: { classPropertyName: "enableSearch", publicName: "enableSearch", isSignal: false, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, listTitle: { classPropertyName: "listTitle", publicName: "listTitle", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile", onSave: "onSave", onCancel: "onCancel", onSearch: "onSearch" }, ngImport: i0, template: "<div\r\n class=\"flex flex-column md:flex-row gap-2 custom-max-height\"\r\n style=\"height: 100%\"\r\n>\r\n <!-- Lista -->\r\n <div\r\n [class]=\"\r\n listacol() +\r\n ' ' +\r\n 'md:' +\r\n listacolmd() +\r\n ' ' +\r\n 'lg:' +\r\n listacollg() +\r\n ' ' +\r\n 'card-perfil flex flex-column justify-content-between'\r\n \"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-auto': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; height: 100%; min-height: 15rem\"\r\n >\r\n <div>\r\n @if(listTopTemplate) {\r\n <div #topListTemplate>\r\n <ng-container *ngTemplateOutlet=\"listTopTemplate\"></ng-container>\r\n </div>\r\n }\r\n\r\n <div class=\"col-12\">\r\n <div class=\"flex align-items-center\">\r\n @if(listTitle) {\r\n <p class=\"w-full flex align-items-start font-semibold text-md\">\r\n {{ listTitle }}\r\n </p>\r\n } @if(enableSearch) {\r\n <input\r\n pInputText\r\n pAutoFocus\r\n [autofocus]=\"widthPage() > 800\"\r\n type=\"text\"\r\n (input)=\"onGlobalFilter($event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n autocomplete=\"off\"\r\n #inputField\r\n class=\"text-sm col-6\"\r\n style=\"height: 2rem\"\r\n />\r\n }\r\n </div>\r\n <div\r\n *ngIf=\"dataSource().length > 0; else emptyDocumentList\"\r\n class=\"mt-2\"\r\n >\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div\r\n class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0 overflow-hidden text-overflow-ellipsis\"\r\n style=\"max-width: 100%\"\r\n >\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n cardTemplate;\r\n context: { $implicit: option }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-detailed-list aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(isLoadingSkeleton){\r\n <p-skeleton\r\n *ngFor=\"let i of [1, 2, 3, 4, 5, 6, 7, 8, 9]\"\r\n height=\"5rem\"\r\n [style]=\"{ 'margin-bottom': '0.25rem', borderRadius: '0.75rem' }\"\r\n ></p-skeleton>\r\n } @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\"flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n @if(exibirContador()) {\r\n <div\r\n class=\"sticky-counter flex flex-column justify-content-center text-center px-2 p-2\"\r\n style=\"position: sticky; bottom: -10px; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n @if(listBottomTemplate) {\r\n <ng-container *ngTemplateOutlet=\"listBottomTemplate\"></ng-container>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div\r\n id=\"fullscreenDiv\"\r\n class=\"card-visualizador flex-1\"\r\n style=\"position: relative\"\r\n [ngStyle]=\"{\r\n 'overflow-y': arquivoPreview() ? 'auto' : 'hidden'\r\n }\"\r\n >\r\n @if(buttonTemplate && !contentViewer) {\r\n <div class=\"grid\">\r\n <div class=\"col\"></div>\r\n <span class=\"p-3\">\r\n <span (click)=\"visualizarPreview(null, true)\">\r\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\r\n </span>\r\n </span>\r\n </div>\r\n } @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"extencaoDocumento !== 'ekp'\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n style=\"max-height: 100%\"\r\n >\r\n </kv-file-viewer-novo>\r\n\r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp'\"\r\n class=\"ekp-content\"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <div class=\"flex flex-column\" style=\"height: 100%\">\r\n <ng-container\r\n *ngIf=\"arquivoPreview() || contentViewer; else noDocumentSelected\"\r\n >\r\n <div style=\"flex: 1\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n style=\"overflow-y: auto; max-height: 100%\"\r\n ></ng-container>\r\n </div>\r\n @if(contentForm) {\r\n <div\r\n class=\"grid\"\r\n style=\"\r\n position: sticky;\r\n bottom: 0;\r\n background-color: white;\r\n z-index: 10;\r\n padding: 1rem 1rem 0 1rem;\r\n \"\r\n >\r\n <div class=\"col-8\">\r\n <span class=\"text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios\r\n </span>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Cancelar\"\r\n icon=\"close\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n (onClick)=\"OnCancel()\"\r\n >\r\n </kv-button>\r\n </div>\r\n <div class=\"col-2\">\r\n <kv-button\r\n label=\"Salvar\"\r\n icon=\"save\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"primary\"\r\n (onClick)=\"OnSave()\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%; overflow-y: auto\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"'https://work-assets.keevo.com.br/img/Sem_Dados.png'\"\r\n style=\"max-height: 50%; margin-top: 2rem\"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil,.card-visualizador{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}@media (max-width: 768px){.card-perfil{max-height:20rem;overflow-y:auto}}@media (max-width: 768px){.card-visualizador{max-height:100%;overflow-y:auto}}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.custom-max-height{height:100%}@media (max-height: 768px){.custom-max-height{height:auto;min-height:100vh}}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PdfViewerModule }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i2.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "component", type: i4.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "ngmodule", type: KvFileViewerNovoModule }, { kind: "component", type: i5.KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "ngmodule", type: NgxLoadingModule }, { kind: "component", type: i6.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: i7.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup", "popupIcon"], outputs: ["iconChange", "onClick"] }, { kind: "ngmodule", type: KvButtonsModule }] }); }
|
|
116
116
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvDetailedListComponent, decorators: [{
|
|
118
118
|
type: Component,
|
|
119
119
|
args: [{ selector: 'kv-detailed-list', standalone: true, imports: [CommonModule,
|
|
120
120
|
PdfViewerModule,
|
|
@@ -168,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
168
168
|
}], onSearch: [{
|
|
169
169
|
type: Output
|
|
170
170
|
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZGV0YWlsZWQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1kZXRhaWxlZC1saXN0L2t2LWRldGFpbGVkLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZGV0YWlsZWQtbGlzdC9rdi1kZXRhaWxlZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFMUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQWVqRSxNQUFNLE9BQU8sdUJBQXVCO0lBYnBDO1FBaUJJLGtCQUFrQjtRQUNuQixlQUFVLEdBQXVCLEtBQUssQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNsQyxZQUFPLEdBQUcsS0FBSyxDQUFxQixTQUFTLENB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QkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgSW5wdXQsIElucHV0U2lnbmFsLCBPdXRwdXQsIHNpZ25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGRmVmlld2VyTW9kdWxlIH0gZnJvbSAnbmcyLXBkZi12aWV3ZXInO1xyXG5pbXBvcnQgeyBLdkZpbGVWaWV3ZXJOb3ZvTW9kdWxlIH0gZnJvbSAnLi4va3YtZmlsZS12aWV3ZXItbm92by9rdi1maWxlLXZpZXdlci1ub3ZvLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5neExvYWRpbmdNb2R1bGUgfSBmcm9tICduZ3gtbG9hZGluZyc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9uL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUgfSBmcm9tICcuLi9rdi1idXR0b25zL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1kZXRhaWxlZC1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsXHJcbiAgICBQZGZWaWV3ZXJNb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgS3ZGaWxlVmlld2VyTm92b01vZHVsZSxcclxuICAgIE5neExvYWRpbmdNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbk1vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWRldGFpbGVkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1kZXRhaWxlZC1saXN0LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZEZXRhaWxlZExpc3RDb21wb25lbnQge1xyXG5cclxuICBcclxuICBcclxuICAgIC8vICNyZWdpb24gU2lnbmFsc1xyXG4gICBkYXRhU291cmNlOiBJbnB1dFNpZ25hbDxhbnlbXT4gPSBpbnB1dDxhbnlbXT4oW10pO1xyXG4gICBwYWdpbmFJbmljaWFsID0gc2lnbmFsPG51bWJlcj4oMSk7XHJcbiAgIGFycXVpdm8gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgIGFycXVpdm9QcmV2aWV3ID0gc2lnbmFsPGFueT4odW5kZWZpbmVkKTtcclxuICAgbm9tZUFycXVpdm8gPSBzaWduYWw8c3RyaW5nPignJyk7XHJcbiAgIHR5cGUgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgIGJsb2IgPSBpbnB1dDxCbG9iPignJyBhcyBhbnkpO1xyXG4gICBsaXN0YWNvbCA9IGlucHV0PHN0cmluZz4oJ2NvbC0xMicpO1xyXG4gICBsaXN0YWNvbGxnID0gaW5wdXQ8c3RyaW5nPignY29sLTMnKTtcclxuICAgbGlzdGFjb2xtZCA9IGlucHV0PHN0cmluZz4oJ2NvbC00Jyk7XHJcbiAgIGV4aWJpckNvbnRhZG9yID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgIGlkYXJxdWl2byA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgIGVrcENvbnRlbnQgPSBpbnB1dDxTYWZlSHRtbCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICAgdG90YWxJdGVuc0NhcnJlZ2FkbyA9IGNvbXB1dGVkKFxyXG4gICAgKCkgPT4gdGhpcy5kYXRhU291cmNlKCk/Lmxlbmd0aCB8fCAwXHJcbiAgKTtcclxuICB3aWR0aFBhZ2UgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuICAvLyAjZW5kcmVnaW9uXHJcbiAgXHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcbiAgZW1wcmVzYVNlbGVjaW9uYWRhITogYW55O1xyXG4gIGlkdGlwb2RvY3VtZW50byE6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGV4dGVuY2FvRG9jdW1lbnRvITogc3RyaW5nO1xyXG4gIHByZXZpZXdPbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSXRlbTogYW55ID0ge307XHJcbiAgQElucHV0KCkgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlTaWRlYmFyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpc3VhbGl6YWRvckRvY3VtZW50b3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjYXJkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIG5vRG9jdW1lbnRMaXN0VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGJ1dHRvblRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBsaXN0Qm90dG9tVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGxpc3RUb3BUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgaW5kdmlzdWFsaXphZG86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmdTa2VsZXRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGJvcmRlckNhcmROYW9WaXN1YWxpemFkbzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY29udGVudEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nID0gJ1Blc3F1aXNhci4uLic7XHJcbiAgQElucHV0KCkgbGlzdFRpdGxlOiBzdHJpbmcgPSAnJztcclxuICBjb250ZW50Vmlld2VyOiBib29sZWFuID0gZmFsc2U7XHJcbiAga2V5VmlzdWFsaXphZG86IHN0cmluZyA9ICdpbmR2aXN1YWxpemFkbyc7IFxyXG4gIFxyXG4gIHRvZGF5RGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmV0dXJuIHRvZGF5LnRvTG9jYWxlRGF0ZVN0cmluZygncHQtQlInLCB7IGRheTogJzItZGlnaXQnLCBtb250aDogJzItZGlnaXQnLCB5ZWFyOiAnbnVtZXJpYycgfSk7XHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb25cclxuICBcclxuICAvLyAjcmVnaW9uIE91dHB1dHNcclxuICBAT3V0cHV0KCkgb25TY3JvbGxIYW5kbGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3RGaWxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG4gIFxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWRhcnF1aXZvOyBcclxuICB9XHJcbiAgXHJcbiAgaXNWaXN1YWxpemFkbyhvcHRpb246IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG9wdGlvblt0aGlzLmtleVZpc3VhbGl6YWRvXSB8fCBmYWxzZTtcclxuICB9XHJcbiAgXHJcbiAgdmlzdWFsaXphclByZXZpZXcoYXJxdWl2bzogYW55LCBidXR0b25UZW1wbGF0ZT86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIFxyXG4gICAgaWYgKGJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuY29udGVudFZpZXdlciA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhcnF1aXZvW3RoaXMua2V5VmlzdWFsaXphZG9dID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jb250ZW50Vmlld2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5hcnF1aXZvUHJldmlldy5zZXQoYXJxdWl2byk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICB0aGlzLm9uU2VsZWN0RmlsZS5lbWl0KGFycXVpdm8pO1xyXG4gICAgXHJcbiAgfVxyXG4gIFxyXG4gICAgT25TYXZlKCkge1xyXG4gICAgICB0aGlzLm9uU2F2ZS5lbWl0KCk7XHJcbiAgICAgIHRoaXMuY29udGVudFZpZXdlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgT25DYW5jZWwoKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcclxuICAgIH1cclxuICBcclxuICBwdWJsaWMgb25HbG9iYWxGaWx0ZXIoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMud2lkdGhQYWdlLnNldCh3aW5kb3cuaW5uZXJXaWR0aCk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZnVsbHNjcmVlbmNoYW5nZScsICgpID0+IHtcclxuICAgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW5CdG4nKTtcclxuICAgICAgXHJcbiAgICAgIGlmIChidXR0b24pIHtcclxuICAgICAgICBpZiAoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7XHJcbiAgICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnb3Blbl9pbl9mdWxsJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ2Nsb3NlX2Z1bGxzY3JlZW4nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIFxyXG4gIHNjcm9sbEhhbmRsZXIoJGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZWxlbWVudCA9ICRldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgXHJcbiAgICAvL3NlIG8gZXNjcm9sbCBjaGVnYXIgYXTDqSBvIGZpbmFsXHJcbiAgICBpZiAoZWxlbWVudC5zY3JvbGxIZWlnaHQgLSBlbGVtZW50LnNjcm9sbFRvcCA9PT0gZWxlbWVudC5jbGllbnRIZWlnaHQpIHtcclxuICAgICAgLy8gdGhpcy5idXNjYXJQcm94aW1vc0RvY3VtZW50b3MoKTtcclxuICAgICAgdGhpcy5vblNjcm9sbEhhbmRsZXIuZW1pdCgkZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtMiBjdXN0b20tbWF4LWhlaWdodFwiXHJcbiAgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIlxyXG4+XHJcbiAgPCEtLSBMaXN0YSAtLT5cclxuICA8ZGl2XHJcbiAgICBbY2xhc3NdPVwiXHJcbiAgICAgIGxpc3RhY29sKCkgK1xyXG4gICAgICAnICcgK1xyXG4gICAgICAnbWQ6JyArXHJcbiAgICAgIGxpc3RhY29sbWQoKSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgICdsZzonICtcclxuICAgICAgbGlzdGFjb2xsZygpICtcclxuICAgICAgJyAnICtcclxuICAgICAgJ2NhcmQtcGVyZmlsIGZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWJldHdlZW4nXHJcbiAgICBcIlxyXG4gICAgKHNjcm9sbCk9XCJzY3JvbGxIYW5kbGVyKCRldmVudClcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnb3ZlcmZsb3cteS1hdXRvJzogZGF0YVNvdXJjZSgpLmxlbmd0aCA+IDAsXHJcbiAgICAgICdvdmVyZmxvdy15LWhpZGRlbic6IGRhdGFTb3VyY2UoKS5sZW5ndGggPT09IDBcclxuICAgIH1cIlxyXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTVyZW1cIlxyXG4gID5cclxuICAgIDxkaXY+XHJcbiAgICAgIEBpZihsaXN0VG9wVGVtcGxhdGUpIHtcclxuICAgICAgPGRpdiAjdG9wTGlzdFRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0VG9wVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIEBpZihsaXN0VGl0bGUpIHtcclxuICAgICAgICAgIDxwIGNsYXNzPVwidy1mdWxsIGZsZXggYWxpZ24taXRlbXMtc3RhcnQgZm9udC1zZW1pYm9sZCB0ZXh0LW1kXCI+XHJcbiAgICAgICAgICAgIHt7IGxpc3RUaXRsZSB9fVxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgfSBAaWYoZW5hYmxlU2VhcmNoKSB7XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgcElucHV0VGV4dFxyXG4gICAgICAgICAgICBwQXV0b0ZvY3VzXHJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwid2lkdGhQYWdlKCkgPiA4MDBcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbkdsb2JhbEZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgI2lucHV0RmllbGRcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIGNvbC02XCJcclxuICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDJyZW1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdJZj1cImRhdGFTb3VyY2UoKS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5RG9jdW1lbnRMaXN0XCJcclxuICAgICAgICAgIGNsYXNzPVwibXQtMlwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPCEtLSBMaXN0YSBkZSBjYXJkcyAtLT5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkYXRhU291cmNlKCk7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ub3JtYWwgb3V0bGluZS1ub25lIGJvcmRlci1yb3VuZC14bCB3LWZ1bGwgcC0yIG0tMSBncmlkIHAtZmx1aWQgZmxleCBmbGV4LXJvdyBmbGV4LW5vd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJ2aXN1YWxpemFyUHJldmlldyhvcHRpb24pXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnY2FyZC1zZWxlY3RlZCc6IG9wdGlvbiA9PT0gYXJxdWl2b1ByZXZpZXcoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2NhcmQtbm9ybWFsJzogb3B0aW9uICE9PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWdyb3ctMSBtbC0yIGZsZXgtY29sdW1uIGdhcC0xIG0tMCBwLTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAxMDAlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2FyZFRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVxyXG4gICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbW1vbi1zdHlsZSBkZWZhdWx0LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgS3YtZGV0YWlsZWQtbGlzdCBhZ3VhcmRhbmRvIHVtIHRlbXBsYXRlLi4uXHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LXNtIHAtMCBtLTBcIj5EYXRhOiB7eyB0b2RheURhdGUoKSB9fTwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlEb2N1bWVudExpc3Q+XHJcbiAgICAgIEBpZihpc0xvYWRpbmdTa2VsZXRvbil7XHJcbiAgICAgIDxwLXNrZWxldG9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGkgb2YgWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldXCJcclxuICAgICAgICBoZWlnaHQ9XCI1cmVtXCJcclxuICAgICAgICBbc3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6ICcwLjI1cmVtJywgYm9yZGVyUmFkaXVzOiAnMC43NXJlbScgfVwiXHJcbiAgICAgID48L3Atc2tlbGV0b24+XHJcbiAgICAgIH0gQGlmKCFub0RvY3VtZW50TGlzdFRlbXBsYXRlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LWdyYXktNjAwIG10LTQgbS0zXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBpbmJveCA8L3NwYW4+XHJcbiAgICAgICAgICA8cD5OZW5odW0gZG9jdW1lbnRvIGRpc3BvbsOtdmVsLjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub0RvY3VtZW50TGlzdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDwhLS0gQ29udGFkb3IgZGUgZG9jdW1lbnRvcyAtIEZpeG8gbmEgcGFydGUgaW5mZXJpb3IgLS0+XHJcbiAgICBAaWYoZXhpYmlyQ29udGFkb3IoKSkge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInN0aWNreS1jb3VudGVyIGZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBweC0yIHAtMlwiXHJcbiAgICAgIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAtMTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVcIlxyXG4gICAgPlxyXG4gICAgICA8c3Bhbj57eyB0b3RhbEl0ZW5zQ2FycmVnYWRvKCkgfX0gZGUge3sgdG90YWxSZWNvcmRzIH19PC9zcGFuPlxyXG4gICAgICBAaWYobGlzdEJvdHRvbVRlbXBsYXRlKSB7XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0Qm90dG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gVmlzdWFsaXphZG9yIC0tPlxyXG4gIDxkaXZcclxuICAgIGlkPVwiZnVsbHNjcmVlbkRpdlwiXHJcbiAgICBjbGFzcz1cImNhcmQtdmlzdWFsaXphZG9yIGZsZXgtMVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiXHJcbiAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICdvdmVyZmxvdy15JzogYXJxdWl2b1ByZXZpZXcoKSA/ICdhdXRvJyA6ICdoaWRkZW4nXHJcbiAgICB9XCJcclxuICA+XHJcbiAgICBAaWYoYnV0dG9uVGVtcGxhdGUgJiYgIWNvbnRlbnRWaWV3ZXIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48L2Rpdj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJwLTNcIj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwidmlzdWFsaXphclByZXZpZXcobnVsbCwgdHJ1ZSlcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZih2aXN1YWxpemFkb3JEb2N1bWVudG9zKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJxdWl2bygpOyBlbHNlIG5vRG9jdW1lbnRTZWxlY3RlZFwiPlxyXG4gICAgICBAaWYoaXNMb2FkaW5nKSB7XHJcbiAgICAgIDxuZ3gtbG9hZGluZ1xyXG4gICAgICAgIFtzaG93XT1cImlzTG9hZGluZ1wiXHJcbiAgICAgICAgW2NvbmZpZ109XCJ7IGJhY2tkcm9wQm9yZGVyUmFkaXVzOiAnM3B4JywgZnVsbFNjcmVlbkJhY2tkcm9wOiBmYWxzZSB9XCJcclxuICAgICAgPjwvbmd4LWxvYWRpbmc+XHJcbiAgICAgIH1cclxuICAgICAgPGt2LWZpbGUtdmlld2VyLW5vdm9cclxuICAgICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXHJcbiAgICAgICAgW2FycXVpdm9dPVwiYXJxdWl2bygpIVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpIVwiXHJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXHJcbiAgICAgICAgW3dpZHRoXT1cIicxMDAlJ1wiXHJcbiAgICAgICAgW2hlaWdodF09XCInMTAwJSdcIlxyXG4gICAgICAgIGNsYXNzPVwiZmlsZS12aWV3ZXJcIlxyXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi1maWxlLXZpZXdlci1ub3ZvPlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGlkPVwiaHRtbC1jb250ZW50XCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImVrcENvbnRlbnQoKVwiXHJcbiAgICAgICAgKm5nSWY9XCJleHRlbmNhb0RvY3VtZW50byA9PT0gJ2VrcCdcIlxyXG4gICAgICAgIGNsYXNzPVwiZWtwLWNvbnRlbnRcIlxyXG4gICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cImFycXVpdm9QcmV2aWV3KCkgfHwgY29udGVudFZpZXdlcjsgZWxzZSBub0RvY3VtZW50U2VsZWN0ZWRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXg6IDFcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICBjb250ZW50VGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGFycXVpdm9QcmV2aWV3KCkgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCVcIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihjb250ZW50Rm9ybSkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZ3JpZFwiXHJcbiAgICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDAgMXJlbTtcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC04XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+Kjwvc3Bhbj4gQ2FtcG9zIG9icmlnYXTDs3Jpb3NcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cclxuICAgICAgICAgICAgPGt2LWJ1dHRvblxyXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ2FuY2VsYXJcIlxyXG4gICAgICAgICAgICAgIGljb249XCJjbG9zZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy1hdXRvXCJcclxuICAgICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAob25DbGljayk9XCJPbkNhbmNlbCgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yXCI+XHJcbiAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICBsYWJlbD1cIlNhbHZhclwiXHJcbiAgICAgICAgICAgICAgaWNvbj1cInNhdmVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAob25DbGljayk9XCJPblNhdmUoKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9rdi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICA8bmctdGVtcGxhdGUgI25vRG9jdW1lbnRTZWxlY3RlZD5cclxuICAgICAgQGlmKCFub0RvY3VtZW50U2VsZWN0ZWRUZW1wbGF0ZSkge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJuby1kb2N1bWVudC1tZXNzYWdlIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdy15OiBhdXRvXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC1ncmF5LTUwMFwiPlxyXG4gICAgICAgICAgU2VsZWNpb25lIHVtIGFycXVpdm8gcGFyYSB2aXN1YWxpemHDp8Ojb1xyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBbc3JjXT1cIidodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9pbWcvU2VtX0RhZG9zLnBuZydcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtaGVpZ2h0OiA1MCU7IG1hcmdpbi10b3A6IDJyZW1cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlXCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZGV0YWlsZWQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi1kZXRhaWxlZC1saXN0L2t2LWRldGFpbGVkLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZGV0YWlsZWQtbGlzdC9rdi1kZXRhaWxlZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFMUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7OztBQWVqRSxNQUFNLE9BQU8sdUJBQXVCO0lBYnBDO1FBaUJJLGtCQUFrQjtRQUNuQixlQUFVLEdBQXVCLEtBQUssQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNsQyxZQUFPLEdBQUcsS0FBSyxDQUFxQixTQUFTLENB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QkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgSW5wdXQsIElucHV0U2lnbmFsLCBPdXRwdXQsIHNpZ25hbCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGRmVmlld2VyTW9kdWxlIH0gZnJvbSAnbmcyLXBkZi12aWV3ZXInO1xyXG5pbXBvcnQgeyBLdkZpbGVWaWV3ZXJOb3ZvTW9kdWxlIH0gZnJvbSAnLi4va3YtZmlsZS12aWV3ZXItbm92by9rdi1maWxlLXZpZXdlci1ub3ZvLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5neExvYWRpbmdNb2R1bGUgfSBmcm9tICduZ3gtbG9hZGluZyc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9uL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUgfSBmcm9tICcuLi9rdi1idXR0b25zL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1kZXRhaWxlZC1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsXHJcbiAgICBQZGZWaWV3ZXJNb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgS3ZGaWxlVmlld2VyTm92b01vZHVsZSxcclxuICAgIE5neExvYWRpbmdNb2R1bGUsXHJcbiAgICBLdkJ1dHRvbk1vZHVsZSxcclxuICAgIEt2QnV0dG9uc01vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LWRldGFpbGVkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1kZXRhaWxlZC1saXN0LmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZEZXRhaWxlZExpc3RDb21wb25lbnQge1xyXG5cclxuICBcclxuICBcclxuICAgIC8vICNyZWdpb24gU2lnbmFsc1xyXG4gICBkYXRhU291cmNlOiBJbnB1dFNpZ25hbDxhbnlbXT4gPSBpbnB1dDxhbnlbXT4oW10pO1xyXG4gICBwYWdpbmFJbmljaWFsID0gc2lnbmFsPG51bWJlcj4oMSk7XHJcbiAgIGFycXVpdm8gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgIGFycXVpdm9QcmV2aWV3ID0gc2lnbmFsPGFueT4odW5kZWZpbmVkKTtcclxuICAgbm9tZUFycXVpdm8gPSBzaWduYWw8c3RyaW5nPignJyk7XHJcbiAgIHR5cGUgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgIGJsb2IgPSBpbnB1dDxCbG9iPignJyBhcyBhbnkpO1xyXG4gICBsaXN0YWNvbCA9IGlucHV0PHN0cmluZz4oJ2NvbC0xMicpO1xyXG4gICBsaXN0YWNvbGxnID0gaW5wdXQ8c3RyaW5nPignY29sLTMnKTtcclxuICAgbGlzdGFjb2xtZCA9IGlucHV0PHN0cmluZz4oJ2NvbC00Jyk7XHJcbiAgIGV4aWJpckNvbnRhZG9yID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgIGlkYXJxdWl2byA9IHNpZ25hbDxudW1iZXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcbiAgIGVrcENvbnRlbnQgPSBpbnB1dDxTYWZlSHRtbCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuICAgdG90YWxJdGVuc0NhcnJlZ2FkbyA9IGNvbXB1dGVkKFxyXG4gICAgKCkgPT4gdGhpcy5kYXRhU291cmNlKCk/Lmxlbmd0aCB8fCAwXHJcbiAgKTtcclxuICB3aWR0aFBhZ2UgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuICAvLyAjZW5kcmVnaW9uXHJcbiAgXHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcbiAgZW1wcmVzYVNlbGVjaW9uYWRhITogYW55O1xyXG4gIGlkdGlwb2RvY3VtZW50byE6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGV4dGVuY2FvRG9jdW1lbnRvITogc3RyaW5nO1xyXG4gIHByZXZpZXdPbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkSXRlbTogYW55ID0ge307XHJcbiAgQElucHV0KCkgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlTaWRlYmFyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHZpc3VhbGl6YWRvckRvY3VtZW50b3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjYXJkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgbm9Eb2N1bWVudFNlbGVjdGVkVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIG5vRG9jdW1lbnRMaXN0VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGJ1dHRvblRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBsaXN0Qm90dG9tVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGxpc3RUb3BUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgaW5kdmlzdWFsaXphZG86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmdTa2VsZXRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGJvcmRlckNhcmROYW9WaXN1YWxpemFkbzogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY29udGVudEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbmFibGVTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nID0gJ1Blc3F1aXNhci4uLic7XHJcbiAgQElucHV0KCkgbGlzdFRpdGxlOiBzdHJpbmcgPSAnJztcclxuICBjb250ZW50Vmlld2VyOiBib29sZWFuID0gZmFsc2U7XHJcbiAga2V5VmlzdWFsaXphZG86IHN0cmluZyA9ICdpbmR2aXN1YWxpemFkbyc7IFxyXG4gIFxyXG4gIHRvZGF5RGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmV0dXJuIHRvZGF5LnRvTG9jYWxlRGF0ZVN0cmluZygncHQtQlInLCB7IGRheTogJzItZGlnaXQnLCBtb250aDogJzItZGlnaXQnLCB5ZWFyOiAnbnVtZXJpYycgfSk7XHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb25cclxuICBcclxuICAvLyAjcmVnaW9uIE91dHB1dHNcclxuICBAT3V0cHV0KCkgb25TY3JvbGxIYW5kbGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TZWxlY3RGaWxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25TYXZlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG4gIFxyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWRhcnF1aXZvOyBcclxuICB9XHJcbiAgXHJcbiAgaXNWaXN1YWxpemFkbyhvcHRpb246IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIG9wdGlvblt0aGlzLmtleVZpc3VhbGl6YWRvXSB8fCBmYWxzZTtcclxuICB9XHJcbiAgXHJcbiAgdmlzdWFsaXphclByZXZpZXcoYXJxdWl2bzogYW55LCBidXR0b25UZW1wbGF0ZT86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIFxyXG4gICAgaWYgKGJ1dHRvblRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuY29udGVudFZpZXdlciA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhcnF1aXZvW3RoaXMua2V5VmlzdWFsaXphZG9dID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jb250ZW50Vmlld2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5hcnF1aXZvUHJldmlldy5zZXQoYXJxdWl2byk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICB0aGlzLm9uU2VsZWN0RmlsZS5lbWl0KGFycXVpdm8pO1xyXG4gICAgXHJcbiAgfVxyXG4gIFxyXG4gICAgT25TYXZlKCkge1xyXG4gICAgICB0aGlzLm9uU2F2ZS5lbWl0KCk7XHJcbiAgICAgIHRoaXMuY29udGVudFZpZXdlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmFycXVpdm9QcmV2aWV3LnNldCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgT25DYW5jZWwoKSB7XHJcbiAgICAgICAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoKTtcclxuICAgIH1cclxuICBcclxuICBwdWJsaWMgb25HbG9iYWxGaWx0ZXIoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMud2lkdGhQYWdlLnNldCh3aW5kb3cuaW5uZXJXaWR0aCk7XHJcblxyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZnVsbHNjcmVlbmNoYW5nZScsICgpID0+IHtcclxuICAgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Z1bGxzY3JlZW5CdG4nKTtcclxuICAgICAgXHJcbiAgICAgIGlmIChidXR0b24pIHtcclxuICAgICAgICBpZiAoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSB7XHJcbiAgICAgICAgICBidXR0b24udGV4dENvbnRlbnQgPSAnb3Blbl9pbl9mdWxsJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYnV0dG9uLnRleHRDb250ZW50ID0gJ2Nsb3NlX2Z1bGxzY3JlZW4nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIFxyXG4gIHNjcm9sbEhhbmRsZXIoJGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZWxlbWVudCA9ICRldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgXHJcbiAgICAvL3NlIG8gZXNjcm9sbCBjaGVnYXIgYXTDqSBvIGZpbmFsXHJcbiAgICBpZiAoZWxlbWVudC5zY3JvbGxIZWlnaHQgLSBlbGVtZW50LnNjcm9sbFRvcCA9PT0gZWxlbWVudC5jbGllbnRIZWlnaHQpIHtcclxuICAgICAgLy8gdGhpcy5idXNjYXJQcm94aW1vc0RvY3VtZW50b3MoKTtcclxuICAgICAgdGhpcy5vblNjcm9sbEhhbmRsZXIuZW1pdCgkZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBnYXAtMiBjdXN0b20tbWF4LWhlaWdodFwiXHJcbiAgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIlxyXG4+XHJcbiAgPCEtLSBMaXN0YSAtLT5cclxuICA8ZGl2XHJcbiAgICBbY2xhc3NdPVwiXHJcbiAgICAgIGxpc3RhY29sKCkgK1xyXG4gICAgICAnICcgK1xyXG4gICAgICAnbWQ6JyArXHJcbiAgICAgIGxpc3RhY29sbWQoKSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgICdsZzonICtcclxuICAgICAgbGlzdGFjb2xsZygpICtcclxuICAgICAgJyAnICtcclxuICAgICAgJ2NhcmQtcGVyZmlsIGZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWJldHdlZW4nXHJcbiAgICBcIlxyXG4gICAgKHNjcm9sbCk9XCJzY3JvbGxIYW5kbGVyKCRldmVudClcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnb3ZlcmZsb3cteS1hdXRvJzogZGF0YVNvdXJjZSgpLmxlbmd0aCA+IDAsXHJcbiAgICAgICdvdmVyZmxvdy15LWhpZGRlbic6IGRhdGFTb3VyY2UoKS5sZW5ndGggPT09IDBcclxuICAgIH1cIlxyXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTVyZW1cIlxyXG4gID5cclxuICAgIDxkaXY+XHJcbiAgICAgIEBpZihsaXN0VG9wVGVtcGxhdGUpIHtcclxuICAgICAgPGRpdiAjdG9wTGlzdFRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0VG9wVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgIEBpZihsaXN0VGl0bGUpIHtcclxuICAgICAgICAgIDxwIGNsYXNzPVwidy1mdWxsIGZsZXggYWxpZ24taXRlbXMtc3RhcnQgZm9udC1zZW1pYm9sZCB0ZXh0LW1kXCI+XHJcbiAgICAgICAgICAgIHt7IGxpc3RUaXRsZSB9fVxyXG4gICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgfSBAaWYoZW5hYmxlU2VhcmNoKSB7XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgcElucHV0VGV4dFxyXG4gICAgICAgICAgICBwQXV0b0ZvY3VzXHJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwid2lkdGhQYWdlKCkgPiA4MDBcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbkdsb2JhbEZpbHRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgI2lucHV0RmllbGRcclxuICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIGNvbC02XCJcclxuICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDJyZW1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdJZj1cImRhdGFTb3VyY2UoKS5sZW5ndGggPiAwOyBlbHNlIGVtcHR5RG9jdW1lbnRMaXN0XCJcclxuICAgICAgICAgIGNsYXNzPVwibXQtMlwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPCEtLSBMaXN0YSBkZSBjYXJkcyAtLT5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkYXRhU291cmNlKCk7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1ub3JtYWwgb3V0bGluZS1ub25lIGJvcmRlci1yb3VuZC14bCB3LWZ1bGwgcC0yIG0tMSBncmlkIHAtZmx1aWQgZmxleCBmbGV4LXJvdyBmbGV4LW5vd3JhcCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJ2aXN1YWxpemFyUHJldmlldyhvcHRpb24pXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAnY2FyZC1zZWxlY3RlZCc6IG9wdGlvbiA9PT0gYXJxdWl2b1ByZXZpZXcoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2NhcmQtbm9ybWFsJzogb3B0aW9uICE9PSBhcnF1aXZvUHJldmlldygpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWdyb3ctMSBtbC0yIGZsZXgtY29sdW1uIGdhcC0xIG0tMCBwLTAgb3ZlcmZsb3ctaGlkZGVuIHRleHQtb3ZlcmZsb3ctZWxsaXBzaXNcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAxMDAlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXJkVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2FyZFRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVxyXG4gICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWNvbW1vbi1zdHlsZSBkZWZhdWx0LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWJhc2UgcC0wIG0tMFwiPkJlbS12aW5kbyE8L2gxPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNtIG10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgS3YtZGV0YWlsZWQtbGlzdCBhZ3VhcmRhbmRvIHVtIHRlbXBsYXRlLi4uXHJcbiAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LXNtIHAtMCBtLTBcIj5EYXRhOiB7eyB0b2RheURhdGUoKSB9fTwvcD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZW1wdHlEb2N1bWVudExpc3Q+XHJcbiAgICAgIEBpZihpc0xvYWRpbmdTa2VsZXRvbil7XHJcbiAgICAgIDxwLXNrZWxldG9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGkgb2YgWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDldXCJcclxuICAgICAgICBoZWlnaHQ9XCI1cmVtXCJcclxuICAgICAgICBbc3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6ICcwLjI1cmVtJywgYm9yZGVyUmFkaXVzOiAnMC43NXJlbScgfVwiXHJcbiAgICAgID48L3Atc2tlbGV0b24+XHJcbiAgICAgIH0gQGlmKCFub0RvY3VtZW50TGlzdFRlbXBsYXRlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LWdyYXktNjAwIG10LTQgbS0zXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBpbmJveCA8L3NwYW4+XHJcbiAgICAgICAgICA8cD5OZW5odW0gZG9jdW1lbnRvIGRpc3BvbsOtdmVsLjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXQtNCBtLTNcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub0RvY3VtZW50TGlzdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDwhLS0gQ29udGFkb3IgZGUgZG9jdW1lbnRvcyAtIEZpeG8gbmEgcGFydGUgaW5mZXJpb3IgLS0+XHJcbiAgICBAaWYoZXhpYmlyQ29udGFkb3IoKSkge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cInN0aWNreS1jb3VudGVyIGZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBweC0yIHAtMlwiXHJcbiAgICAgIHN0eWxlPVwicG9zaXRpb246IHN0aWNreTsgYm90dG9tOiAtMTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVcIlxyXG4gICAgPlxyXG4gICAgICA8c3Bhbj57eyB0b3RhbEl0ZW5zQ2FycmVnYWRvKCkgfX0gZGUge3sgdG90YWxSZWNvcmRzIH19PC9zcGFuPlxyXG4gICAgICBAaWYobGlzdEJvdHRvbVRlbXBsYXRlKSB7XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaXN0Qm90dG9tVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gVmlzdWFsaXphZG9yIC0tPlxyXG4gIDxkaXZcclxuICAgIGlkPVwiZnVsbHNjcmVlbkRpdlwiXHJcbiAgICBjbGFzcz1cImNhcmQtdmlzdWFsaXphZG9yIGZsZXgtMVwiXHJcbiAgICBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiXHJcbiAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICdvdmVyZmxvdy15JzogYXJxdWl2b1ByZXZpZXcoKSA/ICdhdXRvJyA6ICdoaWRkZW4nXHJcbiAgICB9XCJcclxuICA+XHJcbiAgICBAaWYoYnV0dG9uVGVtcGxhdGUgJiYgIWNvbnRlbnRWaWV3ZXIpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj48L2Rpdj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJwLTNcIj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwidmlzdWFsaXphclByZXZpZXcobnVsbCwgdHJ1ZSlcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9IEBpZih2aXN1YWxpemFkb3JEb2N1bWVudG9zKSB7XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXJxdWl2bygpOyBlbHNlIG5vRG9jdW1lbnRTZWxlY3RlZFwiPlxyXG4gICAgICBAaWYoaXNMb2FkaW5nKSB7XHJcbiAgICAgIDxuZ3gtbG9hZGluZ1xyXG4gICAgICAgIFtzaG93XT1cImlzTG9hZGluZ1wiXHJcbiAgICAgICAgW2NvbmZpZ109XCJ7IGJhY2tkcm9wQm9yZGVyUmFkaXVzOiAnM3B4JywgZnVsbFNjcmVlbkJhY2tkcm9wOiBmYWxzZSB9XCJcclxuICAgICAgPjwvbmd4LWxvYWRpbmc+XHJcbiAgICAgIH1cclxuICAgICAgPGt2LWZpbGUtdmlld2VyLW5vdm9cclxuICAgICAgICAqbmdJZj1cImV4dGVuY2FvRG9jdW1lbnRvICE9PSAnZWtwJ1wiXHJcbiAgICAgICAgW2FycXVpdm9dPVwiYXJxdWl2bygpIVwiXHJcbiAgICAgICAgW3R5cGVdPVwidHlwZSgpIVwiXHJcbiAgICAgICAgW2Jsb2JdPVwiYmxvYigpIVwiXHJcbiAgICAgICAgW3dpZHRoXT1cIicxMDAlJ1wiXHJcbiAgICAgICAgW2hlaWdodF09XCInMTAwJSdcIlxyXG4gICAgICAgIGNsYXNzPVwiZmlsZS12aWV3ZXJcIlxyXG4gICAgICAgIHN0eWxlPVwibWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID5cclxuICAgICAgPC9rdi1maWxlLXZpZXdlci1ub3ZvPlxyXG5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGlkPVwiaHRtbC1jb250ZW50XCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImVrcENvbnRlbnQoKVwiXHJcbiAgICAgICAgKm5nSWY9XCJleHRlbmNhb0RvY3VtZW50byA9PT0gJ2VrcCdcIlxyXG4gICAgICAgIGNsYXNzPVwiZWtwLWNvbnRlbnRcIlxyXG4gICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJVwiXHJcbiAgICAgID48L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cImFycXVpdm9QcmV2aWV3KCkgfHwgY29udGVudFZpZXdlcjsgZWxzZSBub0RvY3VtZW50U2VsZWN0ZWRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXg6IDFcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICBjb250ZW50VGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGFycXVpdm9QcmV2aWV3KCkgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCVcIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZihjb250ZW50Rm9ybSkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiZ3JpZFwiXHJcbiAgICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDAgMXJlbTtcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC04XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+Kjwvc3Bhbj4gQ2FtcG9zIG9icmlnYXTDs3Jpb3NcclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTJcIj5cclxuICAgICAgICAgICAgPGt2LWJ1dHRvblxyXG4gICAgICAgICAgICAgIGxhYmVsPVwiQ2FuY2VsYXJcIlxyXG4gICAgICAgICAgICAgIGljb249XCJjbG9zZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy1hdXRvXCJcclxuICAgICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgICAob25DbGljayk9XCJPbkNhbmNlbCgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2t2LWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0yXCI+XHJcbiAgICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgICBsYWJlbD1cIlNhbHZhclwiXHJcbiAgICAgICAgICAgICAgaWNvbj1cInNhdmVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOnctYXV0b1wiXHJcbiAgICAgICAgICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAob25DbGljayk9XCJPblNhdmUoKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9rdi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICA8bmctdGVtcGxhdGUgI25vRG9jdW1lbnRTZWxlY3RlZD5cclxuICAgICAgQGlmKCFub0RvY3VtZW50U2VsZWN0ZWRUZW1wbGF0ZSkge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJuby1kb2N1bWVudC1tZXNzYWdlIGZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxyXG4gICAgICAgIHN0eWxlPVwiaGVpZ2h0OiAxMDAlOyBvdmVyZmxvdy15OiBhdXRvXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1jZW50ZXIgdGV4dC1ncmF5LTUwMFwiPlxyXG4gICAgICAgICAgU2VsZWNpb25lIHVtIGFycXVpdm8gcGFyYSB2aXN1YWxpemHDp8Ojb1xyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICBbc3JjXT1cIidodHRwczovL3dvcmstYXNzZXRzLmtlZXZvLmNvbS5ici9pbWcvU2VtX0RhZG9zLnBuZydcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXgtaGVpZ2h0OiA1MCU7IG1hcmdpbi10b3A6IDJyZW1cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRG9jdW1lbnRTZWxlY3RlZFRlbXBsYXRlXCJcclxuICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -11,10 +11,10 @@ export class KvErrorComponent {
|
|
|
11
11
|
this.hasError = false;
|
|
12
12
|
this.emitError = new EventEmitter();
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: KvErrorComponent, selector: "kv-error", inputs: { formControl: "formControl", setHasError: ["hasError", "setHasError"] }, ngImport: i0, template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.625rem!important;font-family:Roboto,Arial,Helvetica,sans-serif!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KvErrorComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ selector: 'kv-error', template: "<small id=\"error-message\" class=\"p-error block\" style=\"height: 0px !important;\" >\r\n <ng-content *ngIf=\"hasError\"></ng-content>\r\n</small>\r\n", styles: ["#error-message{left:1px;font-size:.625rem!important;font-family:Roboto,Arial,Helvetica,sans-serif!important}\n"] }]
|
|
20
20
|
}], ctorParameters: () => [], propDecorators: { formControl: [{
|
|
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
23
23
|
type: Input,
|
|
24
24
|
args: ['hasError']
|
|
25
25
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixJQUF1QixXQUFXLENBQUMsS0FBMEI7UUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUFBLENBQUM7SUFJRjtRQVhPLGFBQVEsR0FBd0IsS0FBSyxDQUFDO1FBUzdDLGNBQVMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUUvQyxDQUFDOytHQVpOLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGtJQ2I3QiwySkFHQTs7NEZEVWEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFVBQVU7d0RBT1gsV0FBVztzQkFBbkIsS0FBSztnQkFFaUIsV0FBVztzQkFBakMsS0FBSzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtZXJyb3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1lcnJvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtZXJyb3IuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZFcnJvckNvbXBvbmVudCB7XHJcbiAgcHVibGljIGhhc0Vycm9yOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XHJcblxyXG4gIEBJbnB1dCgnaGFzRXJyb3InKSBzZXQgc2V0SGFzRXJyb3IodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuaGFzRXJyb3IgPSB2YWx1ZTtcclxuICAgIHRoaXMuZW1pdEVycm9yLmVtaXQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIGVtaXRFcnJvcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG59XHJcbiIsIjxzbWFsbCBpZD1cImVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cInAtZXJyb3IgYmxvY2tcIiBzdHlsZT1cImhlaWdodDogMHB4ICFpbXBvcnRhbnQ7XCIgPlxyXG4gIDxuZy1jb250ZW50ICpuZ0lmPVwiaGFzRXJyb3JcIj48L25nLWNvbnRlbnQ+XHJcbjwvc21hbGw+XHJcbiJdfQ==
|
|
@@ -5,17 +5,17 @@ import { KvErrorComponent } from './kv-error.component';
|
|
|
5
5
|
import { PrimeNgModule } from '../../api/modules/primeng.module';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class kvErrorModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: kvErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: kvErrorModule, declarations: [KvErrorComponent], imports: [CommonModule,
|
|
10
10
|
FormsModule,
|
|
11
11
|
PrimeNgModule,
|
|
12
12
|
ReactiveFormsModule], exports: [KvErrorComponent] }); }
|
|
13
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: kvErrorModule, imports: [CommonModule,
|
|
14
14
|
FormsModule,
|
|
15
15
|
PrimeNgModule,
|
|
16
16
|
ReactiveFormsModule] }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: kvErrorModule, decorators: [{
|
|
19
19
|
type: NgModule,
|
|
20
20
|
args: [{
|
|
21
21
|
declarations: [
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
32
32
|
]
|
|
33
33
|
}]
|
|
34
34
|
}] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZXJyb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZXJyb3Iva3YtZXJyb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQWdCakUsTUFBTSxPQUFPLGFBQWE7K0dBQWIsYUFBYTtnSEFBYixhQUFhLGlCQVp0QixnQkFBZ0IsYUFHaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsbUJBQW1CLGFBR25CLGdCQUFnQjtnSEFHUCxhQUFhLFlBVHRCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLG1CQUFtQjs7NEZBTVYsYUFBYTtrQkFkekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZvcm1zTW9kdWxlLFxyXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBLdkVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9rdi1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEt2RXJyb3JDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFByaW1lTmdNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgS3ZFcnJvckNvbXBvbmVudCxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBrdkVycm9yTW9kdWxlIHsgfVxyXG4iXX0=
|