ngx-sumax-erp-components 1.10.0 → 1.11.0

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.
@@ -0,0 +1,12 @@
1
+ export const SMX_PROFILE_EXCEL = {
2
+ profileId: "excel",
3
+ accentColor: "#28a745",
4
+ allowedExtensions: [".xlsx", ".xls"],
5
+ acceptAttr: ".xlsx,.xls,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
6
+ headerIcon: "fa-solid fa-file-excel",
7
+ fileIcon: "fa-solid fa-file-excel",
8
+ dropzoneLabel: "Seleccione un archivo Excel o arrástrelo aquí",
9
+ formatLabel: "Formatos soportados: .xlsx, .xls",
10
+ invalidFileMessage: "Solo se permiten archivos Excel (.xlsx, .xls)",
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LWV4Y2VsLnByb2ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL3N1bWF4LXVwbG9hZC9wcm9maWxlcy9zbXgtZXhjZWwucHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBbUI7SUFDL0MsU0FBUyxFQUFFLE9BQU87SUFDbEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLFVBQVUsRUFBRSx1R0FBdUc7SUFDbkgsVUFBVSxFQUFFLHdCQUF3QjtJQUNwQyxRQUFRLEVBQUUsd0JBQXdCO0lBQ2xDLGFBQWEsRUFBRSwrQ0FBK0M7SUFDOUQsV0FBVyxFQUFFLGtDQUFrQztJQUMvQyxrQkFBa0IsRUFBRSwrQ0FBK0M7Q0FDcEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNteEZpbGVQcm9maWxlIH0gZnJvbSBcIi4uL3NteC11cGxvYWQudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFNNWF9QUk9GSUxFX0VYQ0VMOiBTbXhGaWxlUHJvZmlsZSA9IHtcbiAgcHJvZmlsZUlkOiBcImV4Y2VsXCIsXG4gIGFjY2VudENvbG9yOiBcIiMyOGE3NDVcIixcbiAgYWxsb3dlZEV4dGVuc2lvbnM6IFtcIi54bHN4XCIsIFwiLnhsc1wiXSxcbiAgYWNjZXB0QXR0cjogXCIueGxzeCwueGxzLGFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCxhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldFwiLFxuICBoZWFkZXJJY29uOiBcImZhLXNvbGlkIGZhLWZpbGUtZXhjZWxcIixcbiAgZmlsZUljb246IFwiZmEtc29saWQgZmEtZmlsZS1leGNlbFwiLFxuICBkcm9wem9uZUxhYmVsOiBcIlNlbGVjY2lvbmUgdW4gYXJjaGl2byBFeGNlbCBvIGFycsOhc3RyZWxvIGFxdcOtXCIsXG4gIGZvcm1hdExhYmVsOiBcIkZvcm1hdG9zIHNvcG9ydGFkb3M6IC54bHN4LCAueGxzXCIsXG4gIGludmFsaWRGaWxlTWVzc2FnZTogXCJTb2xvIHNlIHBlcm1pdGVuIGFyY2hpdm9zIEV4Y2VsICgueGxzeCwgLnhscylcIixcbn07XG4iXX0=
@@ -0,0 +1,12 @@
1
+ export const SMX_PROFILE_PDF = {
2
+ profileId: "pdf",
3
+ accentColor: "#e53935",
4
+ allowedExtensions: [".pdf"],
5
+ acceptAttr: "application/pdf",
6
+ headerIcon: "fa-solid fa-file-pdf",
7
+ fileIcon: "fa-solid fa-file-pdf",
8
+ dropzoneLabel: "Seleccione un archivo PDF o arrástrelo aquí",
9
+ formatLabel: "Formatos soportados: .pdf",
10
+ invalidFileMessage: "Solo se permiten archivos PDF (.pdf)",
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXBkZi5wcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvcHJvZmlsZXMvc214LXBkZi5wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBbUI7SUFDN0MsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDM0IsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixVQUFVLEVBQUUsc0JBQXNCO0lBQ2xDLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsYUFBYSxFQUFFLDZDQUE2QztJQUM1RCxXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLGtCQUFrQixFQUFFLHNDQUFzQztDQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU214RmlsZVByb2ZpbGUgfSBmcm9tIFwiLi4vc214LXVwbG9hZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU01YX1BST0ZJTEVfUERGOiBTbXhGaWxlUHJvZmlsZSA9IHtcbiAgcHJvZmlsZUlkOiBcInBkZlwiLFxuICBhY2NlbnRDb2xvcjogXCIjZTUzOTM1XCIsXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBbXCIucGRmXCJdLFxuICBhY2NlcHRBdHRyOiBcImFwcGxpY2F0aW9uL3BkZlwiLFxuICBoZWFkZXJJY29uOiBcImZhLXNvbGlkIGZhLWZpbGUtcGRmXCIsXG4gIGZpbGVJY29uOiBcImZhLXNvbGlkIGZhLWZpbGUtcGRmXCIsXG4gIGRyb3B6b25lTGFiZWw6IFwiU2VsZWNjaW9uZSB1biBhcmNoaXZvIFBERiBvIGFycsOhc3RyZWxvIGFxdcOtXCIsXG4gIGZvcm1hdExhYmVsOiBcIkZvcm1hdG9zIHNvcG9ydGFkb3M6IC5wZGZcIixcbiAgaW52YWxpZEZpbGVNZXNzYWdlOiBcIlNvbG8gc2UgcGVybWl0ZW4gYXJjaGl2b3MgUERGICgucGRmKVwiLFxufTtcbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { Component, inject } from "@angular/core";
2
+ import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from "@angular/material/dialog";
3
+ import { MessageUtilService } from "../../utils/message-util.service";
4
+ import { SMX_PROFILE_EXCEL } from "../profiles/smx-excel.profile";
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Componente de diálogo para cargar archivos.
8
+ * Utilizar {@link SmxUploadFileData} como interfaz para Data.
9
+ */
10
+ export class SmxUploadFileComponent {
11
+ constructor() {
12
+ this.data = inject(MAT_DIALOG_DATA);
13
+ this.dialogRef = inject((MatDialogRef));
14
+ this.messageUtil = inject(MessageUtilService);
15
+ this.selectedFile = null;
16
+ this.isDragging = false;
17
+ this.title = "Cargar archivo";
18
+ this.subtitle = "Selecciona o arrastra el documento";
19
+ this.badgeText = "";
20
+ this.badgeIcon = "";
21
+ this.profile = SMX_PROFILE_EXCEL;
22
+ }
23
+ ngOnInit() {
24
+ if (this.data) {
25
+ if (this.data.title)
26
+ this.title = this.data.title;
27
+ if (this.data.subtitle)
28
+ this.subtitle = this.data.subtitle;
29
+ if (this.data.badgeText)
30
+ this.badgeText = this.data.badgeText;
31
+ if (this.data.badgeIcon)
32
+ this.badgeIcon = this.data.badgeIcon;
33
+ if (this.data.profile)
34
+ this.profile = this.data.profile;
35
+ }
36
+ }
37
+ onDragOver(event) {
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ this.isDragging = true;
41
+ }
42
+ onDragLeave(event) {
43
+ event.preventDefault();
44
+ event.stopPropagation();
45
+ this.isDragging = false;
46
+ }
47
+ onDrop(event) {
48
+ event.preventDefault();
49
+ event.stopPropagation();
50
+ this.isDragging = false;
51
+ const files = event.dataTransfer?.files;
52
+ if (files && files.length > 0) {
53
+ this.validateAndSetFile(files[0]);
54
+ }
55
+ }
56
+ onFileSelected(event) {
57
+ const input = event.target;
58
+ const files = input?.files;
59
+ if (files && files.length > 0) {
60
+ this.validateAndSetFile(files[0]);
61
+ input.value = "";
62
+ }
63
+ }
64
+ validateAndSetFile(file) {
65
+ const valid = this.profile.allowedExtensions.some((ext) => file.name.toLowerCase().endsWith(ext));
66
+ if (!valid) {
67
+ this.messageUtil.getAlertWarning(this.profile.invalidFileMessage);
68
+ return;
69
+ }
70
+ this.selectedFile = file;
71
+ }
72
+ getFileSize(bytes) {
73
+ if (bytes === 0)
74
+ return "0 Bytes";
75
+ const k = 1024;
76
+ const sizes = ["Bytes", "KB", "MB", "GB"];
77
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
78
+ return Number.parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
79
+ }
80
+ onConfirm() {
81
+ if (!this.selectedFile) {
82
+ this.messageUtil.getAlertWarning("Por favor, seleccione un archivo para continuar.");
83
+ return;
84
+ }
85
+ this.dialogRef.close(this.selectedFile);
86
+ }
87
+ onCancel() {
88
+ this.dialogRef.close(null);
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmxUploadFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmxUploadFileComponent, isStandalone: true, selector: "smx-upload-file", ngImport: i0, template: "<div class=\"modal-custom-container p-4\" [style.--smx-accent]=\"profile.accentColor\">\n <!-- Cabecera -->\n <div class=\"d-flex justify-content-between align-items-center pb-3 mb-3 border-bottom\">\n <div class=\"d-flex align-items-center\">\n <div class=\"icon-header me-3\">\n <i class=\"{{ profile.headerIcon }} fs-4\"></i>\n </div>\n <div>\n <h4 class=\"fw-bold text-dark mb-0\">{{ title }}</h4>\n <span class=\"text-muted small\">{{ subtitle }}</span>\n </div>\n </div>\n <div class=\"d-flex align-items-center\">\n @if (badgeText) {\n <span class=\"badge bg-light text-primary border px-3 py-2 fs-7 fw-bold shadow-sm me-3\">\n @if (badgeIcon) {\n <i class=\"{{ badgeIcon }} me-1\"></i>\n }\n {{ badgeText }}\n </span>\n }\n </div>\n </div>\n\n <!-- Zona drag & drop -->\n <div\n class=\"upload-dropzone mb-4\"\n role=\"button\"\n [class.has-file]=\"selectedFile\"\n [class.drag-over]=\"isDragging\"\n tabindex=\"0\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n (click)=\"fileInput.click()\"\n (keydown.enter)=\"fileInput.click()\">\n <!-- Estado 1: sin archivo -->\n @if (!selectedFile) {\n <div>\n <div class=\"upload-icon-wrapper shadow-sm\">\n <i class=\"fa-solid fa-cloud-arrow-up fs-2\"></i>\n </div>\n <h6 class=\"fw-bold text-dark mb-1\">{{ profile.dropzoneLabel }}</h6>\n <p class=\"text-muted small mb-3\">{{ profile.formatLabel }}</p>\n <button\n type=\"button\"\n class=\"btn btn-primary px-4 py-2 fw-bold shadow-sm rounded-pill\"\n (click)=\"$event.stopPropagation(); fileInput.click()\">\n <i class=\"fa-solid fa-folder-open me-2\"></i>Explorar archivo\n </button>\n </div>\n }\n\n <!-- Estado 2: archivo seleccionado -->\n @if (selectedFile) {\n <div class=\"selected-file-card\">\n <div class=\"file-icon shadow-sm\">\n <i class=\"{{ profile.fileIcon }} fs-3\"></i>\n </div>\n <div class=\"file-details\">\n <div class=\"file-name\" [title]=\"selectedFile.name\">{{ selectedFile.name }}</div>\n <div class=\"file-size\"><i class=\"fa-solid fa-hard-drive me-1\"></i>{{ getFileSize(selectedFile.size) }}</div>\n </div>\n </div>\n }\n\n <input #fileInput type=\"file\" style=\"display: none\" [attr.accept]=\"profile.acceptAttr\" (change)=\"onFileSelected($event)\" />\n </div>\n\n <!-- Botones -->\n <div class=\"d-flex justify-content-end pt-3 border-top\">\n <button type=\"button\" class=\"btn btn-success px-5\" (click)=\"onConfirm()\">Cargar</button>\n </div>\n</div>\n", styles: [".modal-custom-container{background-color:#fff;border-radius:.75rem;font-family:inherit;color:#334155;--smx-accent: #28a745}.icon-header{width:48px;height:48px;border-radius:50%;background-color:color-mix(in srgb,var(--smx-accent) 12%,transparent);color:var(--smx-accent);display:flex;align-items:center;justify-content:center}.upload-dropzone{border:2px dashed #cbd5e1;border-radius:.75rem;background-color:#f8fafc;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s ease-in-out}.upload-dropzone:hover,.upload-dropzone.drag-over{border-color:var(--smx-accent);background-color:color-mix(in srgb,var(--smx-accent) 4%,transparent)}.upload-dropzone.has-file{border-style:solid;border-color:#e2e8f0;background-color:#fff;cursor:default;padding:1.5rem}.upload-icon-wrapper{width:70px;height:70px;border-radius:50%;background-color:#e2e8f0;color:#475569;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;transition:all .2s}.upload-dropzone:hover .upload-icon-wrapper{background-color:color-mix(in srgb,var(--smx-accent) 15%,transparent);color:var(--smx-accent);transform:scale(1.05)}.selected-file-card{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem;display:flex;align-items:center;justify-content:space-between;text-align:left;max-width:500px;margin:0 auto;box-shadow:0 1px 3px #0000000d}.selected-file-card .file-icon{width:46px;height:46px;border-radius:.5rem;background-color:color-mix(in srgb,var(--smx-accent) 15%,transparent);color:var(--smx-accent);display:flex;align-items:center;justify-content:center;margin-right:1rem;flex-shrink:0}.selected-file-card .file-details{overflow:hidden;flex-grow:1;margin-right:1rem}.selected-file-card .file-details .file-name{font-weight:600;color:#1e293b;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file-card .file-details .file-size{font-size:.75rem;color:#64748b}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }] }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmxUploadFileComponent, decorators: [{
94
+ type: Component,
95
+ args: [{ selector: "smx-upload-file", standalone: true, imports: [MatDialogModule], template: "<div class=\"modal-custom-container p-4\" [style.--smx-accent]=\"profile.accentColor\">\n <!-- Cabecera -->\n <div class=\"d-flex justify-content-between align-items-center pb-3 mb-3 border-bottom\">\n <div class=\"d-flex align-items-center\">\n <div class=\"icon-header me-3\">\n <i class=\"{{ profile.headerIcon }} fs-4\"></i>\n </div>\n <div>\n <h4 class=\"fw-bold text-dark mb-0\">{{ title }}</h4>\n <span class=\"text-muted small\">{{ subtitle }}</span>\n </div>\n </div>\n <div class=\"d-flex align-items-center\">\n @if (badgeText) {\n <span class=\"badge bg-light text-primary border px-3 py-2 fs-7 fw-bold shadow-sm me-3\">\n @if (badgeIcon) {\n <i class=\"{{ badgeIcon }} me-1\"></i>\n }\n {{ badgeText }}\n </span>\n }\n </div>\n </div>\n\n <!-- Zona drag & drop -->\n <div\n class=\"upload-dropzone mb-4\"\n role=\"button\"\n [class.has-file]=\"selectedFile\"\n [class.drag-over]=\"isDragging\"\n tabindex=\"0\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n (click)=\"fileInput.click()\"\n (keydown.enter)=\"fileInput.click()\">\n <!-- Estado 1: sin archivo -->\n @if (!selectedFile) {\n <div>\n <div class=\"upload-icon-wrapper shadow-sm\">\n <i class=\"fa-solid fa-cloud-arrow-up fs-2\"></i>\n </div>\n <h6 class=\"fw-bold text-dark mb-1\">{{ profile.dropzoneLabel }}</h6>\n <p class=\"text-muted small mb-3\">{{ profile.formatLabel }}</p>\n <button\n type=\"button\"\n class=\"btn btn-primary px-4 py-2 fw-bold shadow-sm rounded-pill\"\n (click)=\"$event.stopPropagation(); fileInput.click()\">\n <i class=\"fa-solid fa-folder-open me-2\"></i>Explorar archivo\n </button>\n </div>\n }\n\n <!-- Estado 2: archivo seleccionado -->\n @if (selectedFile) {\n <div class=\"selected-file-card\">\n <div class=\"file-icon shadow-sm\">\n <i class=\"{{ profile.fileIcon }} fs-3\"></i>\n </div>\n <div class=\"file-details\">\n <div class=\"file-name\" [title]=\"selectedFile.name\">{{ selectedFile.name }}</div>\n <div class=\"file-size\"><i class=\"fa-solid fa-hard-drive me-1\"></i>{{ getFileSize(selectedFile.size) }}</div>\n </div>\n </div>\n }\n\n <input #fileInput type=\"file\" style=\"display: none\" [attr.accept]=\"profile.acceptAttr\" (change)=\"onFileSelected($event)\" />\n </div>\n\n <!-- Botones -->\n <div class=\"d-flex justify-content-end pt-3 border-top\">\n <button type=\"button\" class=\"btn btn-success px-5\" (click)=\"onConfirm()\">Cargar</button>\n </div>\n</div>\n", styles: [".modal-custom-container{background-color:#fff;border-radius:.75rem;font-family:inherit;color:#334155;--smx-accent: #28a745}.icon-header{width:48px;height:48px;border-radius:50%;background-color:color-mix(in srgb,var(--smx-accent) 12%,transparent);color:var(--smx-accent);display:flex;align-items:center;justify-content:center}.upload-dropzone{border:2px dashed #cbd5e1;border-radius:.75rem;background-color:#f8fafc;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s ease-in-out}.upload-dropzone:hover,.upload-dropzone.drag-over{border-color:var(--smx-accent);background-color:color-mix(in srgb,var(--smx-accent) 4%,transparent)}.upload-dropzone.has-file{border-style:solid;border-color:#e2e8f0;background-color:#fff;cursor:default;padding:1.5rem}.upload-icon-wrapper{width:70px;height:70px;border-radius:50%;background-color:#e2e8f0;color:#475569;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;transition:all .2s}.upload-dropzone:hover .upload-icon-wrapper{background-color:color-mix(in srgb,var(--smx-accent) 15%,transparent);color:var(--smx-accent);transform:scale(1.05)}.selected-file-card{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem;display:flex;align-items:center;justify-content:space-between;text-align:left;max-width:500px;margin:0 auto;box-shadow:0 1px 3px #0000000d}.selected-file-card .file-icon{width:46px;height:46px;border-radius:.5rem;background-color:color-mix(in srgb,var(--smx-accent) 15%,transparent);color:var(--smx-accent);display:flex;align-items:center;justify-content:center;margin-right:1rem;flex-shrink:0}.selected-file-card .file-details{overflow:hidden;flex-grow:1;margin-right:1rem}.selected-file-card .file-details .file-name{font-weight:600;color:#1e293b;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file-card .file-details .file-size{font-size:.75rem;color:#64748b}\n"] }]
96
+ }] });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXVwbG9hZC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQtZmlsZS9zbXgtdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvc214LXVwbG9hZC1maWxlL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFVbEU7OztHQUdHO0FBUUgsTUFBTSxPQUFPLHNCQUFzQjtJQVBuQztRQVFXLFNBQUksR0FBc0IsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQSxZQUFvQyxDQUFBLENBQUMsQ0FBQztRQUNqRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTFELGlCQUFZLEdBQWdCLElBQUksQ0FBQztRQUNqQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLFVBQUssR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QixhQUFRLEdBQUcsb0NBQW9DLENBQUM7UUFDaEQsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixZQUFPLEdBQW1C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QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsa0RBQWtELENBQUMsQ0FBQztZQUNyRixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBbEZVLHNCQUFzQjttR0FBdEIsc0JBQXNCLDJFQ3pCbkMsNHVGQTBFQSxvOEREbkRZLGVBQWU7OzRGQUVkLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FHZixJQUFJLFdBQ1AsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBNZXNzYWdlVXRpbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdXRpbHMvbWVzc2FnZS11dGlsLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNteEZpbGVQcm9maWxlIH0gZnJvbSBcIi4uL3NteC11cGxvYWQudHlwZXNcIjtcbmltcG9ydCB7IFNNWF9QUk9GSUxFX0VYQ0VMIH0gZnJvbSBcIi4uL3Byb2ZpbGVzL3NteC1leGNlbC5wcm9maWxlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU214VXBsb2FkRmlsZURhdGEge1xuICB0aXRsZT86IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGJhZGdlVGV4dD86IHN0cmluZztcbiAgYmFkZ2VJY29uPzogc3RyaW5nO1xuICBwcm9maWxlPzogU214RmlsZVByb2ZpbGU7XG59XG5cbi8qKlxuICogQ29tcG9uZW50ZSBkZSBkacOhbG9nbyBwYXJhIGNhcmdhciBhcmNoaXZvcy5cbiAqIFV0aWxpemFyIHtAbGluayBTbXhVcGxvYWRGaWxlRGF0YX0gY29tbyBpbnRlcmZheiBwYXJhIERhdGEuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzbXgtdXBsb2FkLWZpbGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zbXgtdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnQuc2Nzc1wiXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdERpYWxvZ01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNteFVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSBkYXRhOiBTbXhVcGxvYWRGaWxlRGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpO1xuICByZWFkb25seSBkaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmPFNteFVwbG9hZEZpbGVDb21wb25lbnQ+KTtcbiAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlVXRpbCA9IGluamVjdChNZXNzYWdlVXRpbFNlcnZpY2UpO1xuXG4gIHNlbGVjdGVkRmlsZTogRmlsZSB8IG51bGwgPSBudWxsO1xuICBpc0RyYWdnaW5nID0gZmFsc2U7XG5cbiAgdGl0bGUgPSBcIkNhcmdhciBhcmNoaXZvXCI7XG4gIHN1YnRpdGxlID0gXCJTZWxlY2Npb25hIG8gYXJyYXN0cmEgZWwgZG9jdW1lbnRvXCI7XG4gIGJhZGdlVGV4dCA9IFwiXCI7XG4gIGJhZGdlSWNvbiA9IFwiXCI7XG4gIHByb2ZpbGU6IFNteEZpbGVQcm9maWxlID0gU01YX1BST0ZJTEVfRVhDRUw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgaWYgKHRoaXMuZGF0YS50aXRsZSkgdGhpcy50aXRsZSA9IHRoaXMuZGF0YS50aXRsZTtcbiAgICAgIGlmICh0aGlzLmRhdGEuc3VidGl0bGUpIHRoaXMuc3VidGl0bGUgPSB0aGlzLmRhdGEuc3VidGl0bGU7XG4gICAgICBpZiAodGhpcy5kYXRhLmJhZGdlVGV4dCkgdGhpcy5iYWRnZVRleHQgPSB0aGlzLmRhdGEuYmFkZ2VUZXh0O1xuICAgICAgaWYgKHRoaXMuZGF0YS5iYWRnZUljb24pIHRoaXMuYmFkZ2VJY29uID0gdGhpcy5kYXRhLmJhZGdlSWNvbjtcbiAgICAgIGlmICh0aGlzLmRhdGEucHJvZmlsZSkgdGhpcy5wcm9maWxlID0gdGhpcy5kYXRhLnByb2ZpbGU7XG4gICAgfVxuICB9XG5cbiAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICB9XG5cbiAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gIH1cblxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgY29uc3QgZmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXI/LmZpbGVzO1xuICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnZhbGlkYXRlQW5kU2V0RmlsZShmaWxlc1swXSk7XG4gICAgfVxuICB9XG5cbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBmaWxlcyA9IGlucHV0Py5maWxlcztcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52YWxpZGF0ZUFuZFNldEZpbGUoZmlsZXNbMF0pO1xuICAgICAgaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlQW5kU2V0RmlsZShmaWxlOiBGaWxlKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWQgPSB0aGlzLnByb2ZpbGUuYWxsb3dlZEV4dGVuc2lvbnMuc29tZSgoZXh0KSA9PiBmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChleHQpKTtcbiAgICBpZiAoIXZhbGlkKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VVdGlsLmdldEFsZXJ0V2FybmluZyh0aGlzLnByb2ZpbGUuaW52YWxpZEZpbGVNZXNzYWdlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xuICB9XG5cbiAgZ2V0RmlsZVNpemUoYnl0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGJ5dGVzID09PSAwKSByZXR1cm4gXCIwIEJ5dGVzXCI7XG4gICAgY29uc3QgayA9IDEwMjQ7XG4gICAgY29uc3Qgc2l6ZXMgPSBbXCJCeXRlc1wiLCBcIktCXCIsIFwiTUJcIiwgXCJHQlwiXTtcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihNYXRoLmxvZyhieXRlcykgLyBNYXRoLmxvZyhrKSk7XG4gICAgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KChieXRlcyAvIE1hdGgucG93KGssIGkpKS50b0ZpeGVkKDIpKSArIFwiIFwiICsgc2l6ZXNbaV07XG4gIH1cblxuICBvbkNvbmZpcm0oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmlsZSkge1xuICAgICAgdGhpcy5tZXNzYWdlVXRpbC5nZXRBbGVydFdhcm5pbmcoXCJQb3IgZmF2b3IsIHNlbGVjY2lvbmUgdW4gYXJjaGl2byBwYXJhIGNvbnRpbnVhci5cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuc2VsZWN0ZWRGaWxlKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG51bGwpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtY3VzdG9tLWNvbnRhaW5lciBwLTRcIiBbc3R5bGUuLS1zbXgtYWNjZW50XT1cInByb2ZpbGUuYWNjZW50Q29sb3JcIj5cbiAgPCEtLSBDYWJlY2VyYSAtLT5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcGItMyBtYi0zIGJvcmRlci1ib3R0b21cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImljb24taGVhZGVyIG1lLTNcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJ7eyBwcm9maWxlLmhlYWRlckljb24gfX0gZnMtNFwiPjwvaT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGg0IGNsYXNzPVwiZnctYm9sZCB0ZXh0LWRhcmsgbWItMFwiPnt7IHRpdGxlIH19PC9oND5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsXCI+e3sgc3VidGl0bGUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgQGlmIChiYWRnZVRleHQpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1saWdodCB0ZXh0LXByaW1hcnkgYm9yZGVyIHB4LTMgcHktMiBmcy03IGZ3LWJvbGQgc2hhZG93LXNtIG1lLTNcIj5cbiAgICAgICAgICBAaWYgKGJhZGdlSWNvbikge1xuICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBiYWRnZUljb24gfX0gbWUtMVwiPjwvaT5cbiAgICAgICAgICB9XG4gICAgICAgICAge3sgYmFkZ2VUZXh0IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBab25hIGRyYWcgJiBkcm9wIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ1cGxvYWQtZHJvcHpvbmUgbWItNFwiXG4gICAgcm9sZT1cImJ1dHRvblwiXG4gICAgW2NsYXNzLmhhcy1maWxlXT1cInNlbGVjdGVkRmlsZVwiXG4gICAgW2NsYXNzLmRyYWctb3Zlcl09XCJpc0RyYWdnaW5nXCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxuICAgIChkcmFnbGVhdmUpPVwib25EcmFnTGVhdmUoJGV2ZW50KVwiXG4gICAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuICAgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICA8IS0tIEVzdGFkbyAxOiBzaW4gYXJjaGl2byAtLT5cbiAgICBAaWYgKCFzZWxlY3RlZEZpbGUpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWQtaWNvbi13cmFwcGVyIHNoYWRvdy1zbVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtY2xvdWQtYXJyb3ctdXAgZnMtMlwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoNiBjbGFzcz1cImZ3LWJvbGQgdGV4dC1kYXJrIG1iLTFcIj57eyBwcm9maWxlLmRyb3B6b25lTGFiZWwgfX08L2g2PlxuICAgICAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgbWItM1wiPnt7IHByb2ZpbGUuZm9ybWF0TGFiZWwgfX08L3A+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IHB5LTIgZnctYm9sZCBzaGFkb3ctc20gcm91bmRlZC1waWxsXCJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBmaWxlSW5wdXQuY2xpY2soKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZm9sZGVyLW9wZW4gbWUtMlwiPjwvaT5FeHBsb3JhciBhcmNoaXZvXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPCEtLSBFc3RhZG8gMjogYXJjaGl2byBzZWxlY2Npb25hZG8gLS0+XG4gICAgQGlmIChzZWxlY3RlZEZpbGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1maWxlLWNhcmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtaWNvbiBzaGFkb3ctc21cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cInt7IHByb2ZpbGUuZmlsZUljb24gfX0gZnMtM1wiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRldGFpbHNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1uYW1lXCIgW3RpdGxlXT1cInNlbGVjdGVkRmlsZS5uYW1lXCI+e3sgc2VsZWN0ZWRGaWxlLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1zaXplXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1oYXJkLWRyaXZlIG1lLTFcIj48L2k+e3sgZ2V0RmlsZVNpemUoc2VsZWN0ZWRGaWxlLnNpemUpIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGlucHV0ICNmaWxlSW5wdXQgdHlwZT1cImZpbGVcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIiBbYXR0ci5hY2NlcHRdPVwicHJvZmlsZS5hY2NlcHRBdHRyXCIgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCIgLz5cbiAgPC9kaXY+XG5cbiAgPCEtLSBCb3RvbmVzIC0tPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQgcHQtMyBib3JkZXItdG9wXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3MgcHgtNVwiIChjbGljayk9XCJvbkNvbmZpcm0oKVwiPkNhcmdhcjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,3 @@
1
+ // ─── Resultado de validación ────────────────────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXVwbG9hZC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSA4pSAIFJlc3VsdGFkbyBkZSB2YWxpZGFjacOzbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZXhwb3J0IGludGVyZmFjZSBTbXhGaWxlVmFsaWRhdGlvbkVycm9yIHtcbiAgZmlsYT86IG51bWJlciB8IHN0cmluZztcbiAgY29sdW1uYT86IHN0cmluZztcbiAgbWVuc2FqZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNteEZpbGVWYWxpZGF0aW9uUmVzdWx0IHtcbiAgdG90YWxSZWdpc3Ryb3M6IG51bWJlcjtcbiAgcmVnaXN0cm9zVmFsaWRvcz86IG51bWJlcjtcbiAgZXJyb3JzOiBTbXhGaWxlVmFsaWRhdGlvbkVycm9yW107XG59XG5cbi8vIOKUgOKUgOKUgCBQZXJmaWwgZGUgdGlwbyBkZSBhcmNoaXZvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgaW50ZXJmYWNlIFNteEZpbGVQcm9maWxlIHtcbiAgLyoqIElkZW50aWZpY2Fkb3IgZGVsIHBlcmZpbCAqL1xuICBwcm9maWxlSWQ6IFwiZXhjZWxcIiB8IFwicGRmXCIgfCBcImltYWdlXCIgfCBcImN1c3RvbVwiO1xuICAvKiogQ29sb3IgZGUgYWNlbnRvIGRlbCBtb2RhbCovXG4gIGFjY2VudENvbG9yOiBzdHJpbmc7XG4gIC8qKiBFeHRlbnNpb25lcyBwZXJtaXRpZGFzLCBlLmcuIFsnLnhsc3gnLCAnLnhscyddICovXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXTtcbiAgLyoqIFZhbG9yIHBhcmEgZWwgYXRyaWJ1dG8gSFRNTCBhY2NlcHQgZGVsIDxpbnB1dCB0eXBlPVwiZmlsZVwiPiAqL1xuICBhY2NlcHRBdHRyOiBzdHJpbmc7XG4gIC8qKiDDjWNvbm8gRm9udCBBd2Vzb21lIHBhcmEgbGEgY2FiZWNlcmEgZGVsIG1vZGFsICovXG4gIGhlYWRlckljb246IHN0cmluZztcbiAgLyoqIMONY29ubyBGb250IEF3ZXNvbWUgcGFyYSBlbCBhcmNoaXZvIHNlbGVjY2lvbmFkbyAqL1xuICBmaWxlSWNvbjogc3RyaW5nO1xuICAvKiogVGV4dG8gcHJpbmNpcGFsIGRlIGxhIHpvbmEgZGUgZHJvcCAqL1xuICBkcm9wem9uZUxhYmVsOiBzdHJpbmc7XG4gIC8qKiBEZXNjcmlwY2nDs24gZGUgZm9ybWF0b3Mgc29wb3J0YWRvcyAqL1xuICBmb3JtYXRMYWJlbDogc3RyaW5nO1xuICAvKiogTWVuc2FqZSBkZSBlcnJvciBjdWFuZG8gZWwgYXJjaGl2byBubyBjdW1wbGUgbGEgZXh0ZW5zacOzbiAqL1xuICBpbnZhbGlkRmlsZU1lc3NhZ2U6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,84 @@
1
+ import { Component, inject } from "@angular/core";
2
+ import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from "@angular/material/dialog";
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Componente de diálogo para mostrar el resultado de validación de un archivo.
6
+ * Utilizar {@link SmxValidateFileData} como interfaz para Data.
7
+ */
8
+ export class SmxValidateFileComponent {
9
+ constructor() {
10
+ this.data = inject(MAT_DIALOG_DATA);
11
+ this.dialogRef = inject((MatDialogRef));
12
+ this.resultado = null;
13
+ this.errors = [];
14
+ this.fileName = "";
15
+ this.badgeText = "";
16
+ this.badgeIcon = "";
17
+ this.titleSuccess = "";
18
+ this.titleError = "";
19
+ this.subtitleError = "";
20
+ this.confirmQuestion = "";
21
+ this.textErrorAction = "";
22
+ this.tableHeaders = {
23
+ fila: "Fila",
24
+ columna: "Columna",
25
+ mensaje: "Descripción del error",
26
+ };
27
+ }
28
+ ngOnInit() {
29
+ if (this.data) {
30
+ if (this.data.resultado) {
31
+ this.resultado = this.data.resultado;
32
+ this.errors = this.resultado?.errors ?? [];
33
+ }
34
+ if (this.data.fileName)
35
+ this.fileName = this.data.fileName;
36
+ if (this.data.badgeText)
37
+ this.badgeText = this.data.badgeText;
38
+ if (this.data.badgeIcon)
39
+ this.badgeIcon = this.data.badgeIcon;
40
+ if (this.data.titleSuccess)
41
+ this.titleSuccess = this.data.titleSuccess;
42
+ if (this.data.titleError)
43
+ this.titleError = this.data.titleError;
44
+ if (this.data.subtitleError)
45
+ this.subtitleError = this.data.subtitleError;
46
+ if (this.data.confirmQuestion)
47
+ this.confirmQuestion = this.data.confirmQuestion;
48
+ if (this.data.textErrorAction)
49
+ this.textErrorAction = this.data.textErrorAction;
50
+ if (this.data.tableHeaders) {
51
+ if (this.data.tableHeaders.fila)
52
+ this.tableHeaders.fila = this.data.tableHeaders.fila;
53
+ if (this.data.tableHeaders.columna)
54
+ this.tableHeaders.columna = this.data.tableHeaders.columna;
55
+ if (this.data.tableHeaders.mensaje)
56
+ this.tableHeaders.mensaje = this.data.tableHeaders.mensaje;
57
+ }
58
+ }
59
+ }
60
+ getTotalRegistros() {
61
+ if (!this.resultado)
62
+ return 0;
63
+ if (typeof this.resultado.totalRegistros === "number") {
64
+ return this.resultado.totalRegistros;
65
+ }
66
+ return (this.resultado.registrosValidos ?? 0) + this.errors.length;
67
+ }
68
+ hasErrors() {
69
+ return this.errors.length > 0;
70
+ }
71
+ onConfirm() {
72
+ this.dialogRef.close(true);
73
+ }
74
+ onCancel() {
75
+ this.dialogRef.close(false);
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmxValidateFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmxValidateFileComponent, isStandalone: true, selector: "smx-validate-file", ngImport: i0, template: "<div class=\"swal-custom-container p-4\">\n <!-- Cabecera: nombre del archivo + badge -->\n <div class=\"d-flex justify-content-between align-items-center pb-3 mb-3 border-bottom\">\n <div class=\"d-flex align-items-center text-truncate pe-2\">\n <i class=\"fa-solid fa-file-excel text-success fs-4 me-2\"></i>\n <span class=\"fw-bold text-dark text-truncate\">{{ fileName || \"Archivo\" }}</span>\n </div>\n <div class=\"flex-shrink-0\">\n @if (badgeText) {\n <span class=\"badge bg-light text-primary border px-3 py-2 fs-7 fw-bold shadow-sm\">\n @if (badgeIcon) {\n <i class=\"{{ badgeIcon }} me-1\"></i>\n }\n {{ badgeText }}\n </span>\n }\n </div>\n </div>\n\n <!-- \u00CDcono de estado (\u00E9xito / advertencia) -->\n <div class=\"my-3\">\n @if (!hasErrors()) {\n <div class=\"swal-icon-circle success-circle mx-auto d-flex align-items-center justify-content-center\">\n <i class=\"fa-solid fa-check\"></i>\n </div>\n }\n @if (hasErrors()) {\n <div class=\"swal-icon-circle warning-circle mx-auto d-flex align-items-center justify-content-center\">\n <i class=\"fa-solid fa-exclamation\"></i>\n </div>\n }\n </div>\n\n <!-- T\u00EDtulo centrado -->\n <div class=\"text-center px-3 mb-4\">\n <h3 class=\"fw-bold text-dark mb-1 swal-title\">\n {{ !hasErrors() ? titleSuccess || \"\u00A1Validaci\u00F3n exitosa!\" : titleError || \"Observaciones en la plantilla\" }}\n </h3>\n @if (hasErrors()) {\n <p class=\"text-muted small mb-0\">\n {{ subtitleError || \"Se detectaron observaciones durante la lectura del archivo.\" }}\n </p>\n }\n </div>\n\n <!-- Panel de resumen sin errores -->\n @if (!hasErrors()) {\n <div class=\"organized-panel mx-auto p-2 mb-4 text-center\" style=\"max-width: 460px\">\n <div class=\"p-3 bg-white rounded border mb-3 d-inline-block px-5 shadow-sm\">\n <span class=\"text-muted d-block small mb-1\">Registros le\u00EDdos</span>\n <span class=\"fs-3 fw-bold text-dark\">{{ getTotalRegistros() }}</span>\n </div>\n <div class=\"text-muted small px-2\">\n <i class=\"fa-solid fa-circle-check text-success me-1\"></i>\n No se encontraron errores ni formato incorrecto en los registros le\u00EDdos.\n </div>\n </div>\n }\n\n <!-- Panel de resumen con errores -->\n @if (hasErrors()) {\n <div class=\"organized-panel mx-auto p-2 mb-3 text-center\" style=\"max-width: 560px\">\n <div class=\"row g-2 py-1 justify-content-center mb-2\">\n <div class=\"col-6\">\n <div class=\"p-2 bg-white rounded border shadow-sm\">\n <span class=\"text-muted d-block small\">Registros le\u00EDdos</span>\n <span class=\"fs-5 fw-bold text-dark\">{{ getTotalRegistros() }}</span>\n </div>\n </div>\n <div class=\"col-6\">\n <div class=\"p-2 bg-white rounded border border-warning shadow-sm\">\n <span class=\"text-warning-emphasis d-block small fw-bold\">Registros inv\u00E1lidos</span>\n <span class=\"fs-5 fw-bold text-danger\">{{ errors.length }}</span>\n </div>\n </div>\n </div>\n <div class=\"text-muted small px-2\">\n <i class=\"fa-solid fa-triangle-exclamation text-warning me-1\"></i>\n Revisa los registros que requieren correcci\u00F3n en la siguiente tabla:\n </div>\n </div>\n }\n\n <!-- Tabla de errores -->\n @if (hasErrors()) {\n <div class=\"errors-table-container border rounded-3 mb-4 mx-auto text-start overflow-hidden shadow-sm\" style=\"max-width: 600px\">\n <div class=\"table-responsive\" style=\"max-height: 180px; overflow-y: auto\">\n <table class=\"table table-hover table-sm mb-0 align-middle\">\n <thead class=\"table-light sticky-top\">\n <tr>\n <th scope=\"col\" class=\"px-3 py-2 text-dark\" style=\"width: 70px\">{{ tableHeaders.fila }}</th>\n <th scope=\"col\" class=\"py-2 text-dark\" style=\"width: 140px\">{{ tableHeaders.columna }}</th>\n <th scope=\"col\" class=\"py-2 text-dark\">{{ tableHeaders.mensaje }}</th>\n </tr>\n </thead>\n <tbody>\n @for (err of errors; track err) {\n <tr>\n <td class=\"px-3 fw-bold text-dark\">#{{ err.fila || \"-\" }}</td>\n <td>\n <span class=\"badge bg-light text-dark border px-2 py-1\">{{ err.columna || \"-\" }}</span>\n </td>\n <td class=\"text-danger small\">{{ err.mensaje }}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n </div>\n }\n\n <!-- Acciones sin errores -->\n @if (!hasErrors()) {\n <div class=\"text-center pt-2\">\n <p class=\"fs-6 fw-bold text-dark mb-3\">\n {{ confirmQuestion || \"\u00BFDesea proceder con la importaci\u00F3n?\" }}\n </p>\n <div class=\"d-flex justify-content-center align-items-center gap-2\">\n <button type=\"button\" class=\"btn btn-danger px-5\" (click)=\"onCancel()\">No</button>\n <button type=\"button\" class=\"btn btn-success px-5\" (click)=\"onConfirm()\">S\u00ED</button>\n </div>\n </div>\n }\n\n <!-- Acciones con errores -->\n @if (hasErrors()) {\n <div class=\"text-center pt-2\">\n <p class=\"fs-6 fw-bold text-danger mb-3\">\n {{ textErrorAction || \"Debe corregir las observaciones del archivo para continuar.\" }}\n </p>\n <div class=\"d-flex justify-content-center align-items-center\">\n <button type=\"button\" class=\"btn btn-danger px-5\" (click)=\"onCancel()\">Cerrar</button>\n </div>\n </div>\n }\n</div>\n", styles: [".swal-custom-container{background-color:#fff;border-radius:.5rem;font-family:inherit}.swal-icon-circle{width:80px;height:80px;border-radius:50%;border:4px solid;font-size:2.5rem}.swal-icon-circle.success-circle{border-color:#a5dc86;background-color:#a5dc8626;color:#a5dc86}.swal-icon-circle.success-circle i{color:#28a745!important}.swal-icon-circle.warning-circle{border-color:#f8bb86;background-color:#f8bb8626;color:#f8bb86}.swal-icon-circle.warning-circle i{color:#ffc107!important}.swal-title{font-size:1.5rem}.organized-panel{background-color:transparent!important}.errors-table-container{border-color:#e2e8f0!important}.errors-table-container table{font-size:.85rem}.errors-table-container table thead th{background-color:#f1f5f9;font-weight:600;color:#334155;border-bottom:1px solid #cbd5e1}.errors-table-container table tbody tr:last-child td{border-bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }] }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmxValidateFileComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: "smx-validate-file", standalone: true, imports: [MatDialogModule], template: "<div class=\"swal-custom-container p-4\">\n <!-- Cabecera: nombre del archivo + badge -->\n <div class=\"d-flex justify-content-between align-items-center pb-3 mb-3 border-bottom\">\n <div class=\"d-flex align-items-center text-truncate pe-2\">\n <i class=\"fa-solid fa-file-excel text-success fs-4 me-2\"></i>\n <span class=\"fw-bold text-dark text-truncate\">{{ fileName || \"Archivo\" }}</span>\n </div>\n <div class=\"flex-shrink-0\">\n @if (badgeText) {\n <span class=\"badge bg-light text-primary border px-3 py-2 fs-7 fw-bold shadow-sm\">\n @if (badgeIcon) {\n <i class=\"{{ badgeIcon }} me-1\"></i>\n }\n {{ badgeText }}\n </span>\n }\n </div>\n </div>\n\n <!-- \u00CDcono de estado (\u00E9xito / advertencia) -->\n <div class=\"my-3\">\n @if (!hasErrors()) {\n <div class=\"swal-icon-circle success-circle mx-auto d-flex align-items-center justify-content-center\">\n <i class=\"fa-solid fa-check\"></i>\n </div>\n }\n @if (hasErrors()) {\n <div class=\"swal-icon-circle warning-circle mx-auto d-flex align-items-center justify-content-center\">\n <i class=\"fa-solid fa-exclamation\"></i>\n </div>\n }\n </div>\n\n <!-- T\u00EDtulo centrado -->\n <div class=\"text-center px-3 mb-4\">\n <h3 class=\"fw-bold text-dark mb-1 swal-title\">\n {{ !hasErrors() ? titleSuccess || \"\u00A1Validaci\u00F3n exitosa!\" : titleError || \"Observaciones en la plantilla\" }}\n </h3>\n @if (hasErrors()) {\n <p class=\"text-muted small mb-0\">\n {{ subtitleError || \"Se detectaron observaciones durante la lectura del archivo.\" }}\n </p>\n }\n </div>\n\n <!-- Panel de resumen sin errores -->\n @if (!hasErrors()) {\n <div class=\"organized-panel mx-auto p-2 mb-4 text-center\" style=\"max-width: 460px\">\n <div class=\"p-3 bg-white rounded border mb-3 d-inline-block px-5 shadow-sm\">\n <span class=\"text-muted d-block small mb-1\">Registros le\u00EDdos</span>\n <span class=\"fs-3 fw-bold text-dark\">{{ getTotalRegistros() }}</span>\n </div>\n <div class=\"text-muted small px-2\">\n <i class=\"fa-solid fa-circle-check text-success me-1\"></i>\n No se encontraron errores ni formato incorrecto en los registros le\u00EDdos.\n </div>\n </div>\n }\n\n <!-- Panel de resumen con errores -->\n @if (hasErrors()) {\n <div class=\"organized-panel mx-auto p-2 mb-3 text-center\" style=\"max-width: 560px\">\n <div class=\"row g-2 py-1 justify-content-center mb-2\">\n <div class=\"col-6\">\n <div class=\"p-2 bg-white rounded border shadow-sm\">\n <span class=\"text-muted d-block small\">Registros le\u00EDdos</span>\n <span class=\"fs-5 fw-bold text-dark\">{{ getTotalRegistros() }}</span>\n </div>\n </div>\n <div class=\"col-6\">\n <div class=\"p-2 bg-white rounded border border-warning shadow-sm\">\n <span class=\"text-warning-emphasis d-block small fw-bold\">Registros inv\u00E1lidos</span>\n <span class=\"fs-5 fw-bold text-danger\">{{ errors.length }}</span>\n </div>\n </div>\n </div>\n <div class=\"text-muted small px-2\">\n <i class=\"fa-solid fa-triangle-exclamation text-warning me-1\"></i>\n Revisa los registros que requieren correcci\u00F3n en la siguiente tabla:\n </div>\n </div>\n }\n\n <!-- Tabla de errores -->\n @if (hasErrors()) {\n <div class=\"errors-table-container border rounded-3 mb-4 mx-auto text-start overflow-hidden shadow-sm\" style=\"max-width: 600px\">\n <div class=\"table-responsive\" style=\"max-height: 180px; overflow-y: auto\">\n <table class=\"table table-hover table-sm mb-0 align-middle\">\n <thead class=\"table-light sticky-top\">\n <tr>\n <th scope=\"col\" class=\"px-3 py-2 text-dark\" style=\"width: 70px\">{{ tableHeaders.fila }}</th>\n <th scope=\"col\" class=\"py-2 text-dark\" style=\"width: 140px\">{{ tableHeaders.columna }}</th>\n <th scope=\"col\" class=\"py-2 text-dark\">{{ tableHeaders.mensaje }}</th>\n </tr>\n </thead>\n <tbody>\n @for (err of errors; track err) {\n <tr>\n <td class=\"px-3 fw-bold text-dark\">#{{ err.fila || \"-\" }}</td>\n <td>\n <span class=\"badge bg-light text-dark border px-2 py-1\">{{ err.columna || \"-\" }}</span>\n </td>\n <td class=\"text-danger small\">{{ err.mensaje }}</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n </div>\n }\n\n <!-- Acciones sin errores -->\n @if (!hasErrors()) {\n <div class=\"text-center pt-2\">\n <p class=\"fs-6 fw-bold text-dark mb-3\">\n {{ confirmQuestion || \"\u00BFDesea proceder con la importaci\u00F3n?\" }}\n </p>\n <div class=\"d-flex justify-content-center align-items-center gap-2\">\n <button type=\"button\" class=\"btn btn-danger px-5\" (click)=\"onCancel()\">No</button>\n <button type=\"button\" class=\"btn btn-success px-5\" (click)=\"onConfirm()\">S\u00ED</button>\n </div>\n </div>\n }\n\n <!-- Acciones con errores -->\n @if (hasErrors()) {\n <div class=\"text-center pt-2\">\n <p class=\"fs-6 fw-bold text-danger mb-3\">\n {{ textErrorAction || \"Debe corregir las observaciones del archivo para continuar.\" }}\n </p>\n <div class=\"d-flex justify-content-center align-items-center\">\n <button type=\"button\" class=\"btn btn-danger px-5\" (click)=\"onCancel()\">Cerrar</button>\n </div>\n </div>\n }\n</div>\n", styles: [".swal-custom-container{background-color:#fff;border-radius:.5rem;font-family:inherit}.swal-icon-circle{width:80px;height:80px;border-radius:50%;border:4px solid;font-size:2.5rem}.swal-icon-circle.success-circle{border-color:#a5dc86;background-color:#a5dc8626;color:#a5dc86}.swal-icon-circle.success-circle i{color:#28a745!important}.swal-icon-circle.warning-circle{border-color:#f8bb86;background-color:#f8bb8626;color:#f8bb86}.swal-icon-circle.warning-circle i{color:#ffc107!important}.swal-title{font-size:1.5rem}.organized-panel{background-color:transparent!important}.errors-table-container{border-color:#e2e8f0!important}.errors-table-container table{font-size:.85rem}.errors-table-container table thead th{background-color:#f1f5f9;font-weight:600;color:#334155;border-bottom:1px solid #cbd5e1}.errors-table-container table tbody tr:last-child td{border-bottom:0}\n"] }]
83
+ }] });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXZhbGlkYXRlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvc214LXZhbGlkYXRlLWZpbGUvc214LXZhbGlkYXRlLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvc214LXZhbGlkYXRlLWZpbGUvc214LXZhbGlkYXRlLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBb0IxRjs7O0dBR0c7QUFRSCxNQUFNLE9BQU8sd0JBQXdCO0lBUHJDO1FBUVcsU0FBSSxHQUF3QixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEQsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQXNDLENBQUEsQ0FBQyxDQUFDO1FBRXBFLGNBQVMsR0FBbUMsSUFBSSxDQUFDO1FBQ2pELFdBQU0sR0FBNkIsRUFBRSxDQUFDO1FBRXRDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFFckIsaUJBQVksR0FBRztZQUNiLElBQUksRUFBRSxNQUFN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LENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7K0dBL0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDZFQ2hDckMsMnBMQXdJQSwrNUJEMUdZLGVBQWU7OzRGQUVkLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FHakIsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgU214RmlsZVZhbGlkYXRpb25FcnJvciwgU214RmlsZVZhbGlkYXRpb25SZXN1bHQgfSBmcm9tIFwiLi4vc214LXVwbG9hZC50eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNteFZhbGlkYXRlRmlsZURhdGEge1xuICByZXN1bHRhZG86IFNteEZpbGVWYWxpZGF0aW9uUmVzdWx0O1xuICBmaWxlTmFtZT86IHN0cmluZztcbiAgYmFkZ2VUZXh0Pzogc3RyaW5nO1xuICBiYWRnZUljb24/OiBzdHJpbmc7XG4gIHRpdGxlU3VjY2Vzcz86IHN0cmluZztcbiAgdGl0bGVFcnJvcj86IHN0cmluZztcbiAgc3VidGl0bGVFcnJvcj86IHN0cmluZztcbiAgY29uZmlybVF1ZXN0aW9uPzogc3RyaW5nO1xuICB0ZXh0RXJyb3JBY3Rpb24/OiBzdHJpbmc7XG4gIHRhYmxlSGVhZGVycz86IHtcbiAgICBmaWxhPzogc3RyaW5nO1xuICAgIGNvbHVtbmE/OiBzdHJpbmc7XG4gICAgbWVuc2FqZT86IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBDb21wb25lbnRlIGRlIGRpw6Fsb2dvIHBhcmEgbW9zdHJhciBlbCByZXN1bHRhZG8gZGUgdmFsaWRhY2nDs24gZGUgdW4gYXJjaGl2by5cbiAqIFV0aWxpemFyIHtAbGluayBTbXhWYWxpZGF0ZUZpbGVEYXRhfSBjb21vIGludGVyZmF6IHBhcmEgRGF0YS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInNteC12YWxpZGF0ZS1maWxlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc214LXZhbGlkYXRlLWZpbGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3NteC12YWxpZGF0ZS1maWxlLmNvbXBvbmVudC5zY3NzXCJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0RGlhbG9nTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU214VmFsaWRhdGVGaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgZGF0YTogU214VmFsaWRhdGVGaWxlRGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpO1xuICByZWFkb25seSBkaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmPFNteFZhbGlkYXRlRmlsZUNvbXBvbmVudD4pO1xuXG4gIHJlc3VsdGFkbzogU214RmlsZVZhbGlkYXRpb25SZXN1bHQgfCBudWxsID0gbnVsbDtcbiAgZXJyb3JzOiBTbXhGaWxlVmFsaWRhdGlvbkVycm9yW10gPSBbXTtcblxuICBmaWxlTmFtZSA9IFwiXCI7XG4gIGJhZGdlVGV4dCA9IFwiXCI7XG4gIGJhZGdlSWNvbiA9IFwiXCI7XG5cbiAgdGl0bGVTdWNjZXNzID0gXCJcIjtcbiAgdGl0bGVFcnJvciA9IFwiXCI7XG4gIHN1YnRpdGxlRXJyb3IgPSBcIlwiO1xuICBjb25maXJtUXVlc3Rpb24gPSBcIlwiO1xuICB0ZXh0RXJyb3JBY3Rpb24gPSBcIlwiO1xuXG4gIHRhYmxlSGVhZGVycyA9IHtcbiAgICBmaWxhOiBcIkZpbGFcIixcbiAgICBjb2x1bW5hOiBcIkNvbHVtbmFcIixcbiAgICBtZW5zYWplOiBcIkRlc2NyaXBjacOzbiBkZWwgZXJyb3JcIixcbiAgfTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICBpZiAodGhpcy5kYXRhLnJlc3VsdGFkbykge1xuICAgICAgICB0aGlzLnJlc3VsdGFkbyA9IHRoaXMuZGF0YS5yZXN1bHRhZG87XG4gICAgICAgIHRoaXMuZXJyb3JzID0gdGhpcy5yZXN1bHRhZG8/LmVycm9ycyA/PyBbXTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRhdGEuZmlsZU5hbWUpIHRoaXMuZmlsZU5hbWUgPSB0aGlzLmRhdGEuZmlsZU5hbWU7XG4gICAgICBpZiAodGhpcy5kYXRhLmJhZGdlVGV4dCkgdGhpcy5iYWRnZVRleHQgPSB0aGlzLmRhdGEuYmFkZ2VUZXh0O1xuICAgICAgaWYgKHRoaXMuZGF0YS5iYWRnZUljb24pIHRoaXMuYmFkZ2VJY29uID0gdGhpcy5kYXRhLmJhZGdlSWNvbjtcbiAgICAgIGlmICh0aGlzLmRhdGEudGl0bGVTdWNjZXNzKSB0aGlzLnRpdGxlU3VjY2VzcyA9IHRoaXMuZGF0YS50aXRsZVN1Y2Nlc3M7XG4gICAgICBpZiAodGhpcy5kYXRhLnRpdGxlRXJyb3IpIHRoaXMudGl0bGVFcnJvciA9IHRoaXMuZGF0YS50aXRsZUVycm9yO1xuICAgICAgaWYgKHRoaXMuZGF0YS5zdWJ0aXRsZUVycm9yKSB0aGlzLnN1YnRpdGxlRXJyb3IgPSB0aGlzLmRhdGEuc3VidGl0bGVFcnJvcjtcbiAgICAgIGlmICh0aGlzLmRhdGEuY29uZmlybVF1ZXN0aW9uKSB0aGlzLmNvbmZpcm1RdWVzdGlvbiA9IHRoaXMuZGF0YS5jb25maXJtUXVlc3Rpb247XG4gICAgICBpZiAodGhpcy5kYXRhLnRleHRFcnJvckFjdGlvbikgdGhpcy50ZXh0RXJyb3JBY3Rpb24gPSB0aGlzLmRhdGEudGV4dEVycm9yQWN0aW9uO1xuICAgICAgaWYgKHRoaXMuZGF0YS50YWJsZUhlYWRlcnMpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS50YWJsZUhlYWRlcnMuZmlsYSkgdGhpcy50YWJsZUhlYWRlcnMuZmlsYSA9IHRoaXMuZGF0YS50YWJsZUhlYWRlcnMuZmlsYTtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS50YWJsZUhlYWRlcnMuY29sdW1uYSkgdGhpcy50YWJsZUhlYWRlcnMuY29sdW1uYSA9IHRoaXMuZGF0YS50YWJsZUhlYWRlcnMuY29sdW1uYTtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS50YWJsZUhlYWRlcnMubWVuc2FqZSkgdGhpcy50YWJsZUhlYWRlcnMubWVuc2FqZSA9IHRoaXMuZGF0YS50YWJsZUhlYWRlcnMubWVuc2FqZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRUb3RhbFJlZ2lzdHJvcygpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5yZXN1bHRhZG8pIHJldHVybiAwO1xuICAgIGlmICh0eXBlb2YgdGhpcy5yZXN1bHRhZG8udG90YWxSZWdpc3Ryb3MgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3VsdGFkby50b3RhbFJlZ2lzdHJvcztcbiAgICB9XG4gICAgcmV0dXJuICh0aGlzLnJlc3VsdGFkby5yZWdpc3Ryb3NWYWxpZG9zID8/IDApICsgdGhpcy5lcnJvcnMubGVuZ3RoO1xuICB9XG5cbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVycm9ycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgb25Db25maXJtKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRydWUpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3dhbC1jdXN0b20tY29udGFpbmVyIHAtNFwiPlxuICA8IS0tIENhYmVjZXJhOiBub21icmUgZGVsIGFyY2hpdm8gKyBiYWRnZSAtLT5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgcGItMyBtYi0zIGJvcmRlci1ib3R0b21cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LXRydW5jYXRlIHBlLTJcIj5cbiAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZmlsZS1leGNlbCB0ZXh0LXN1Y2Nlc3MgZnMtNCBtZS0yXCI+PC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFyayB0ZXh0LXRydW5jYXRlXCI+e3sgZmlsZU5hbWUgfHwgXCJBcmNoaXZvXCIgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTBcIj5cbiAgICAgIEBpZiAoYmFkZ2VUZXh0KSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctbGlnaHQgdGV4dC1wcmltYXJ5IGJvcmRlciBweC0zIHB5LTIgZnMtNyBmdy1ib2xkIHNoYWRvdy1zbVwiPlxuICAgICAgICAgIEBpZiAoYmFkZ2VJY29uKSB7XG4gICAgICAgICAgICA8aSBjbGFzcz1cInt7IGJhZGdlSWNvbiB9fSBtZS0xXCI+PC9pPlxuICAgICAgICAgIH1cbiAgICAgICAgICB7eyBiYWRnZVRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIMONY29ubyBkZSBlc3RhZG8gKMOpeGl0byAvIGFkdmVydGVuY2lhKSAtLT5cbiAgPGRpdiBjbGFzcz1cIm15LTNcIj5cbiAgICBAaWYgKCFoYXNFcnJvcnMoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInN3YWwtaWNvbi1jaXJjbGUgc3VjY2Vzcy1jaXJjbGUgbXgtYXV0byBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGVja1wiPjwvaT5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGhhc0Vycm9ycygpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic3dhbC1pY29uLWNpcmNsZSB3YXJuaW5nLWNpcmNsZSBteC1hdXRvIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWV4Y2xhbWF0aW9uXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8IS0tIFTDrXR1bG8gY2VudHJhZG8gLS0+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBweC0zIG1iLTRcIj5cbiAgICA8aDMgY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFyayBtYi0xIHN3YWwtdGl0bGVcIj5cbiAgICAgIHt7ICFoYXNFcnJvcnMoKSA/IHRpdGxlU3VjY2VzcyB8fCBcIsKhVmFsaWRhY2nDs24gZXhpdG9zYSFcIiA6IHRpdGxlRXJyb3IgfHwgXCJPYnNlcnZhY2lvbmVzIGVuIGxhIHBsYW50aWxsYVwiIH19XG4gICAgPC9oMz5cbiAgICBAaWYgKGhhc0Vycm9ycygpKSB7XG4gICAgICA8cCBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgbWItMFwiPlxuICAgICAgICB7eyBzdWJ0aXRsZUVycm9yIHx8IFwiU2UgZGV0ZWN0YXJvbiBvYnNlcnZhY2lvbmVzIGR1cmFudGUgbGEgbGVjdHVyYSBkZWwgYXJjaGl2by5cIiB9fVxuICAgICAgPC9wPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPCEtLSBQYW5lbCBkZSByZXN1bWVuIHNpbiBlcnJvcmVzIC0tPlxuICBAaWYgKCFoYXNFcnJvcnMoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJvcmdhbml6ZWQtcGFuZWwgbXgtYXV0byBwLTIgbWItNCB0ZXh0LWNlbnRlclwiIHN0eWxlPVwibWF4LXdpZHRoOiA0NjBweFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInAtMyBiZy13aGl0ZSByb3VuZGVkIGJvcmRlciBtYi0zIGQtaW5saW5lLWJsb2NrIHB4LTUgc2hhZG93LXNtXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBkLWJsb2NrIHNtYWxsIG1iLTFcIj5SZWdpc3Ryb3MgbGXDrWRvczwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0zIGZ3LWJvbGQgdGV4dC1kYXJrXCI+e3sgZ2V0VG90YWxSZWdpc3Ryb3MoKSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWQgc21hbGwgcHgtMlwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNpcmNsZS1jaGVjayB0ZXh0LXN1Y2Nlc3MgbWUtMVwiPjwvaT5cbiAgICAgICAgTm8gc2UgZW5jb250cmFyb24gZXJyb3JlcyBuaSBmb3JtYXRvIGluY29ycmVjdG8gZW4gbG9zIHJlZ2lzdHJvcyBsZcOtZG9zLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICA8IS0tIFBhbmVsIGRlIHJlc3VtZW4gY29uIGVycm9yZXMgLS0+XG4gIEBpZiAoaGFzRXJyb3JzKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwib3JnYW5pemVkLXBhbmVsIG14LWF1dG8gcC0yIG1iLTMgdGV4dC1jZW50ZXJcIiBzdHlsZT1cIm1heC13aWR0aDogNTYwcHhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0yIHB5LTEganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTIgYmctd2hpdGUgcm91bmRlZCBib3JkZXIgc2hhZG93LXNtXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWQgZC1ibG9jayBzbWFsbFwiPlJlZ2lzdHJvcyBsZcOtZG9zPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy01IGZ3LWJvbGQgdGV4dC1kYXJrXCI+e3sgZ2V0VG90YWxSZWdpc3Ryb3MoKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTIgYmctd2hpdGUgcm91bmRlZCBib3JkZXIgYm9yZGVyLXdhcm5pbmcgc2hhZG93LXNtXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtd2FybmluZy1lbXBoYXNpcyBkLWJsb2NrIHNtYWxsIGZ3LWJvbGRcIj5SZWdpc3Ryb3MgaW52w6FsaWRvczwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtNSBmdy1ib2xkIHRleHQtZGFuZ2VyXCI+e3sgZXJyb3JzLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsIHB4LTJcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS10cmlhbmdsZS1leGNsYW1hdGlvbiB0ZXh0LXdhcm5pbmcgbWUtMVwiPjwvaT5cbiAgICAgICAgUmV2aXNhIGxvcyByZWdpc3Ryb3MgcXVlIHJlcXVpZXJlbiBjb3JyZWNjacOzbiBlbiBsYSBzaWd1aWVudGUgdGFibGE6XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDwhLS0gVGFibGEgZGUgZXJyb3JlcyAtLT5cbiAgQGlmIChoYXNFcnJvcnMoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJlcnJvcnMtdGFibGUtY29udGFpbmVyIGJvcmRlciByb3VuZGVkLTMgbWItNCBteC1hdXRvIHRleHQtc3RhcnQgb3ZlcmZsb3ctaGlkZGVuIHNoYWRvdy1zbVwiIHN0eWxlPVwibWF4LXdpZHRoOiA2MDBweFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIiBzdHlsZT1cIm1heC1oZWlnaHQ6IDE4MHB4OyBvdmVyZmxvdy15OiBhdXRvXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyIHRhYmxlLXNtIG1iLTAgYWxpZ24tbWlkZGxlXCI+XG4gICAgICAgICAgPHRoZWFkIGNsYXNzPVwidGFibGUtbGlnaHQgc3RpY2t5LXRvcFwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cInB4LTMgcHktMiB0ZXh0LWRhcmtcIiBzdHlsZT1cIndpZHRoOiA3MHB4XCI+e3sgdGFibGVIZWFkZXJzLmZpbGEgfX08L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cInB5LTIgdGV4dC1kYXJrXCIgc3R5bGU9XCJ3aWR0aDogMTQwcHhcIj57eyB0YWJsZUhlYWRlcnMuY29sdW1uYSB9fTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwicHktMiB0ZXh0LWRhcmtcIj57eyB0YWJsZUhlYWRlcnMubWVuc2FqZSB9fTwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgQGZvciAoZXJyIG9mIGVycm9yczsgdHJhY2sgZXJyKSB7XG4gICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJweC0zIGZ3LWJvbGQgdGV4dC1kYXJrXCI+I3t7IGVyci5maWxhIHx8IFwiLVwiIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLWxpZ2h0IHRleHQtZGFyayBib3JkZXIgcHgtMiBweS0xXCI+e3sgZXJyLmNvbHVtbmEgfHwgXCItXCIgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ0ZXh0LWRhbmdlciBzbWFsbFwiPnt7IGVyci5tZW5zYWplIH19PC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cblxuICA8IS0tIEFjY2lvbmVzIHNpbiBlcnJvcmVzIC0tPlxuICBAaWYgKCFoYXNFcnJvcnMoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC0yXCI+XG4gICAgICA8cCBjbGFzcz1cImZzLTYgZnctYm9sZCB0ZXh0LWRhcmsgbWItM1wiPlxuICAgICAgICB7eyBjb25maXJtUXVlc3Rpb24gfHwgXCLCv0Rlc2VhIHByb2NlZGVyIGNvbiBsYSBpbXBvcnRhY2nDs24/XCIgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWRhbmdlciBweC01XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5ObzwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBweC01XCIgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCI+U8OtPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuXG4gIDwhLS0gQWNjaW9uZXMgY29uIGVycm9yZXMgLS0+XG4gIEBpZiAoaGFzRXJyb3JzKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtMlwiPlxuICAgICAgPHAgY2xhc3M9XCJmcy02IGZ3LWJvbGQgdGV4dC1kYW5nZXIgbWItM1wiPlxuICAgICAgICB7eyB0ZXh0RXJyb3JBY3Rpb24gfHwgXCJEZWJlIGNvcnJlZ2lyIGxhcyBvYnNlcnZhY2lvbmVzIGRlbCBhcmNoaXZvIHBhcmEgY29udGludWFyLlwiIH19XG4gICAgICA8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kYW5nZXIgcHgtNVwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+Q2VycmFyPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -47,20 +47,20 @@ export class MessageUtilService {
47
47
  toastr.error(this.message, `<h5 class='text-white'> ${element} </h5>`);
48
48
  return toastr;
49
49
  }
50
- getAlertWarning(mensaje) {
50
+ getAlertWarning(mensaje, titulo = '¡ADVERTENCIA!') {
51
51
  toastr.options.positionClass = 'toast-bottom-right';
52
52
  toastr.options.closeButton = true;
53
53
  toastr.options.progressBar = true;
54
54
  toastr.options.newestOnTop = true;
55
- toastr.warning(mensaje);
55
+ toastr.warning(mensaje, `<h5 class='text-white'> ${titulo} </h5>`);
56
56
  return toastr;
57
57
  }
58
- getAlertSuccess(mensaje) {
58
+ getAlertSuccess(mensaje, titulo = '¡ÉXITO!') {
59
59
  toastr.options.positionClass = 'toast-bottom-right';
60
60
  toastr.options.closeButton = true;
61
61
  toastr.options.progressBar = true;
62
62
  toastr.options.newestOnTop = true;
63
- toastr.success(mensaje);
63
+ toastr.success(mensaje, `<h5 class='text-white'> ${titulo} </h5>`);
64
64
  return toastr;
65
65
  }
66
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: MessageUtilService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
72
72
  providedIn: 'root'
73
73
  }]
74
74
  }], ctorParameters: () => [] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL3V0aWxzL21lc3NhZ2UtdXRpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsOEJBQThCO0FBQzdCLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDOztBQUNsQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFLeEIsTUFBTSxPQUFPLGtCQUFrQjtJQUU5QjtRQURBLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFDRyxDQUFDO0lBRWpCLGVBQWUsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxFQUFFLE9BQWdCO1FBQ3JFLHlCQUF5QjtRQUN6QixRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLEtBQUssTUFBTTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksT0FBTyxnQkFBZ0IsQ0FBQztnQkFDbkQsTUFBTTtZQUNQLEtBQUssTUFBTTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksT0FBTyx1Q0FBdUMsQ0FBQztnQkFDMUUsTUFBTTtZQUNQLEtBQUssTUFBTTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLHFFQUFxRSxDQUFDO2dCQUNyRixNQUFNO1lBQ1AsS0FBSyxNQUFNO2dCQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcscUZBQXFGLENBQUM7Z0JBQ3JHLE1BQU07WUFDUCxLQUFLLFFBQVE7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixNQUFNO1lBQ1AsS0FBSyxNQUFNO2dCQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsMEJBQTBCLENBQUM7Z0JBQzFDLE1BQU07WUFDUCxLQUFLLE1BQU07Z0JBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUNsQixxQ0FBcUM7Z0JBQ3JDLE1BQU07WUFDUCxLQUFLLEtBQUs7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxrREFBa0QsQ0FBQztnQkFDbEUsTUFBTTtZQUNQO2dCQUNDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUN2QixNQUFNO1FBQ1IsQ0FBQztRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLG9CQUFvQixDQUFBO1FBQ25ELE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSwyQkFBMkIsT0FBTyxRQUFRLENBQUMsQ0FBQztRQUN2RSxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZTtRQUM5QixNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQTtRQUNuRCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFlO1FBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLG9CQUFvQixDQUFBO1FBQ25ELE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEIsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDOytHQTdEVyxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZsQixNQUFNOzs0RkFFTixrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy9pbXBvcnQgdG9hc3RyIGZyb20gJ3RvYXN0cic7XG4gaW1wb3J0ICogYXMgdG9hc3RyXyBmcm9tICd0b2FzdHInO1xuIGNvbnN0IHRvYXN0ciA9IHRvYXN0cl87XG5cbkBJbmplY3RhYmxlKHtcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VVdGlsU2VydmljZSB7XG5cdG1lc3NhZ2UgPSAnJztcblx0Y29uc3RydWN0b3IoKSB7IH1cblxuXHRnZXRNZXNzYWdlRXJyb3IoY29kaWdvOiBzdHJpbmcsIGVsZW1lbnQ6IHN0cmluZyA9ICcnLCBtZXNzYWdlPzogc3RyaW5nKTogYW55IHtcblx0XHQvLyB0c2xpbnQ6ZGlzYWJsZTogaW5kZW50XG5cdFx0c3dpdGNoIChjb2RpZ28pIHtcblx0XHRcdGNhc2UgJ0EwMDEnOlxuXHRcdFx0XHR0aGlzLm1lc3NhZ2UgPSBgRWwgY2FtcG8gJHtlbGVtZW50fSAgZXMgcmVxdWVyaWRvYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdBMDAyJzpcblx0XHRcdFx0dGhpcy5tZXNzYWdlID0gYEVsIGNhbXBvICR7ZWxlbWVudH0gbm8gY3VtcGxlIGNvbiBlbCBmb3JtYXRvIGVzdGFibGVjaWRvYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdBMDAzJzpcblx0XHRcdFx0dGhpcy5tZXNzYWdlID0gYExhIGZlY2hhIGluZ3Jlc2FkYSBubyBwdWVkZSBzZXIgc3VwZXJpb3IgYSBsYSBmZWNoYSBkZWwgZMOtwq1hIGFjdHVhbGA7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnQTAwNCc6XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGBMYSBmZWNoYSBkZWwgZG9jdW1lbnRvIG5vIHB1ZWRlIHNlciBtZW5vciBhIGxhIGZlY2hhIGRlbCB1bHRpbW8gZG9jdW1lbnRvIGluZ3Jlc2Fkb2A7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnMDAwMDQ2Jzpcblx0XHRcdFx0dGhpcy5tZXNzYWdlID0gYCR7bWVzc2FnZX1gO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ0EwMDUnOlxuXHRcdFx0XHR0aGlzLm1lc3NhZ2UgPSBgTm8gaGEgaW5ncmVzYWRvIGxhIHNlcmllYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdBOTk5Jzpcblx0XHRcdFx0dGhpcy5tZXNzYWdlID0gYCR7ZWxlbWVudH1gO1xuXHRcdFx0XHRlbGVtZW50ID0gJ0Vycm9yJztcblx0XHRcdFx0Ly8gcmV0dXJuIHRvYXN0ci5lcnJvcih0aGlzLm1lc3NhZ2UpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJzUwMCc6XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGBQb3IgZmF2b3IgY29tdW5pcXVlc2UgY29uIGVsIHNvcG9ydGUgZGVsIFNpc3RlbWFgO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGVsZW1lbnQ7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHR0b2FzdHIub3B0aW9ucy5wb3NpdGlvbkNsYXNzID0gJ3RvYXN0LWJvdHRvbS1yaWdodCdcblx0XHR0b2FzdHIub3B0aW9ucy5jbG9zZUJ1dHRvbiA9IHRydWU7XG5cdFx0dG9hc3RyLm9wdGlvbnMucHJvZ3Jlc3NCYXIgPSB0cnVlO1xuXHRcdHRvYXN0ci5vcHRpb25zLm5ld2VzdE9uVG9wID0gdHJ1ZTtcblx0XHR0b2FzdHIuZXJyb3IodGhpcy5tZXNzYWdlLCBgPGg1IGNsYXNzPSd0ZXh0LXdoaXRlJz4gJHtlbGVtZW50fSA8L2g1PmApO1xuXHRcdHJldHVybiB0b2FzdHI7XG5cdH1cblxuXHRnZXRBbGVydFdhcm5pbmcobWVuc2FqZTogc3RyaW5nKTogYW55e1xuXHRcdHRvYXN0ci5vcHRpb25zLnBvc2l0aW9uQ2xhc3MgPSAndG9hc3QtYm90dG9tLXJpZ2h0J1xuXHRcdHRvYXN0ci5vcHRpb25zLmNsb3NlQnV0dG9uID0gdHJ1ZTtcblx0XHR0b2FzdHIub3B0aW9ucy5wcm9ncmVzc0JhciA9IHRydWU7XG5cdFx0dG9hc3RyLm9wdGlvbnMubmV3ZXN0T25Ub3AgPSB0cnVlO1xuXHRcdHRvYXN0ci53YXJuaW5nKG1lbnNhamUpO1xuXHRcdHJldHVybiB0b2FzdHI7XG5cdH1cblxuXHRnZXRBbGVydFN1Y2Nlc3MobWVuc2FqZTogc3RyaW5nKTogYW55e1xuXHRcdHRvYXN0ci5vcHRpb25zLnBvc2l0aW9uQ2xhc3MgPSAndG9hc3QtYm90dG9tLXJpZ2h0J1xuXHRcdHRvYXN0ci5vcHRpb25zLmNsb3NlQnV0dG9uID0gdHJ1ZTtcblx0XHR0b2FzdHIub3B0aW9ucy5wcm9ncmVzc0JhciA9IHRydWU7XG5cdFx0dG9hc3RyLm9wdGlvbnMubmV3ZXN0T25Ub3AgPSB0cnVlO1xuXHRcdHRvYXN0ci5zdWNjZXNzKG1lbnNhamUpO1xuXHRcdHJldHVybiB0b2FzdHI7XG5cdH1cblxuXG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3VtYXgtZXJwLWNvbXBvbmVudC9zcmMvbGliL3V0aWxzL21lc3NhZ2UtdXRpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsOEJBQThCO0FBQzdCLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDOztBQUNsQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFLeEIsTUFBTSxPQUFPLGtCQUFrQjtJQUU5QjtRQURBLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFDRyxDQUFDO0lBRWpCLGVBQWUsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxFQUFFLE9BQWdCO1FBQ3JFLHlCQUF5QjtRQUN6QixRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLEtBQUssTUFBTTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksT0FBTyxnQkFBZ0IsQ0FBQztnQkFDbkQsTUFBTTtZQUNQLEtBQUssTUFBTTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksT0FBTyx1Q0FBdUMsQ0FBQztnQkFDMUUsTUFBTTtZQUNQLEtBQUssTUFBTTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLHFFQUFxRSxDQUFDO2dCQUNyRixNQUFNO1lBQ1AsS0FBSyxNQUFNO2dCQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcscUZBQXFGLENBQUM7Z0JBQ3JHLE1BQU07WUFDUCxLQUFLLFFBQVE7Z0JBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixNQUFNO1lBQ1AsS0FBSyxNQUFNO2dCQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsMEJBQTBCLENBQUM7Z0JBQzFDLE1BQU07WUFDUCxLQUFLLE1BQU07Z0JBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUM1QixPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUNsQixxQ0FBcUM7Z0JBQ3JDLE1BQU07WUFDUCxLQUFLLEtBQUs7Z0JBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxrREFBa0QsQ0FBQztnQkFDbEUsTUFBTTtZQUNQO2dCQUNDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUN2QixNQUFNO1FBQ1IsQ0FBQztRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLG9CQUFvQixDQUFBO1FBQ25ELE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSwyQkFBMkIsT0FBTyxRQUFRLENBQUMsQ0FBQztRQUN2RSxPQUFPLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZSxFQUFFLFNBQWlCLGVBQWU7UUFDaEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsb0JBQW9CLENBQUE7UUFDbkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsMkJBQTJCLE1BQU0sUUFBUSxDQUFDLENBQUM7UUFDbkUsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWUsRUFBRSxTQUFpQixTQUFTO1FBQzFELE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLG9CQUFvQixDQUFBO1FBQ25ELE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLDJCQUEyQixNQUFNLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQzsrR0E3RFcsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGbEIsTUFBTTs7NEZBRU4sa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vaW1wb3J0IHRvYXN0ciBmcm9tICd0b2FzdHInO1xuIGltcG9ydCAqIGFzIHRvYXN0cl8gZnJvbSAndG9hc3RyJztcbiBjb25zdCB0b2FzdHIgPSB0b2FzdHJfO1xuXG5ASW5qZWN0YWJsZSh7XG5cdHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlVXRpbFNlcnZpY2Uge1xuXHRtZXNzYWdlID0gJyc7XG5cdGNvbnN0cnVjdG9yKCkgeyB9XG5cblx0Z2V0TWVzc2FnZUVycm9yKGNvZGlnbzogc3RyaW5nLCBlbGVtZW50OiBzdHJpbmcgPSAnJywgbWVzc2FnZT86IHN0cmluZyk6IGFueSB7XG5cdFx0Ly8gdHNsaW50OmRpc2FibGU6IGluZGVudFxuXHRcdHN3aXRjaCAoY29kaWdvKSB7XG5cdFx0XHRjYXNlICdBMDAxJzpcblx0XHRcdFx0dGhpcy5tZXNzYWdlID0gYEVsIGNhbXBvICR7ZWxlbWVudH0gIGVzIHJlcXVlcmlkb2A7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnQTAwMic6XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGBFbCBjYW1wbyAke2VsZW1lbnR9IG5vIGN1bXBsZSBjb24gZWwgZm9ybWF0byBlc3RhYmxlY2lkb2A7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnQTAwMyc6XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGBMYSBmZWNoYSBpbmdyZXNhZGEgbm8gcHVlZGUgc2VyIHN1cGVyaW9yIGEgbGEgZmVjaGEgZGVsIGTDrcKtYSBhY3R1YWxgO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJ0EwMDQnOlxuXHRcdFx0XHR0aGlzLm1lc3NhZ2UgPSBgTGEgZmVjaGEgZGVsIGRvY3VtZW50byBubyBwdWVkZSBzZXIgbWVub3IgYSBsYSBmZWNoYSBkZWwgdWx0aW1vIGRvY3VtZW50byBpbmdyZXNhZG9gO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgJzAwMDA0Nic6XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGAke21lc3NhZ2V9YDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdBMDA1Jzpcblx0XHRcdFx0dGhpcy5tZXNzYWdlID0gYE5vIGhhIGluZ3Jlc2FkbyBsYSBzZXJpZWA7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAnQTk5OSc6XG5cdFx0XHRcdHRoaXMubWVzc2FnZSA9IGAke2VsZW1lbnR9YDtcblx0XHRcdFx0ZWxlbWVudCA9ICdFcnJvcic7XG5cdFx0XHRcdC8vIHJldHVybiB0b2FzdHIuZXJyb3IodGhpcy5tZXNzYWdlKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICc1MDAnOlxuXHRcdFx0XHR0aGlzLm1lc3NhZ2UgPSBgUG9yIGZhdm9yIGNvbXVuaXF1ZXNlIGNvbiBlbCBzb3BvcnRlIGRlbCBTaXN0ZW1hYDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHR0aGlzLm1lc3NhZ2UgPSBlbGVtZW50O1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0dG9hc3RyLm9wdGlvbnMucG9zaXRpb25DbGFzcyA9ICd0b2FzdC1ib3R0b20tcmlnaHQnXG5cdFx0dG9hc3RyLm9wdGlvbnMuY2xvc2VCdXR0b24gPSB0cnVlO1xuXHRcdHRvYXN0ci5vcHRpb25zLnByb2dyZXNzQmFyID0gdHJ1ZTtcblx0XHR0b2FzdHIub3B0aW9ucy5uZXdlc3RPblRvcCA9IHRydWU7XG5cdFx0dG9hc3RyLmVycm9yKHRoaXMubWVzc2FnZSwgYDxoNSBjbGFzcz0ndGV4dC13aGl0ZSc+ICR7ZWxlbWVudH0gPC9oNT5gKTtcblx0XHRyZXR1cm4gdG9hc3RyO1xuXHR9XG5cblx0Z2V0QWxlcnRXYXJuaW5nKG1lbnNhamU6IHN0cmluZywgdGl0dWxvOiBzdHJpbmcgPSAnwqFBRFZFUlRFTkNJQSEnKTogYW55e1xuXHRcdHRvYXN0ci5vcHRpb25zLnBvc2l0aW9uQ2xhc3MgPSAndG9hc3QtYm90dG9tLXJpZ2h0J1xuXHRcdHRvYXN0ci5vcHRpb25zLmNsb3NlQnV0dG9uID0gdHJ1ZTtcblx0XHR0b2FzdHIub3B0aW9ucy5wcm9ncmVzc0JhciA9IHRydWU7XG5cdFx0dG9hc3RyLm9wdGlvbnMubmV3ZXN0T25Ub3AgPSB0cnVlO1xuXHRcdHRvYXN0ci53YXJuaW5nKG1lbnNhamUsIGA8aDUgY2xhc3M9J3RleHQtd2hpdGUnPiAke3RpdHVsb30gPC9oNT5gKTtcblx0XHRyZXR1cm4gdG9hc3RyO1xuXHR9XG5cblx0Z2V0QWxlcnRTdWNjZXNzKG1lbnNhamU6IHN0cmluZywgdGl0dWxvOiBzdHJpbmcgPSAnwqHDiVhJVE8hJyk6IGFueXtcblx0XHR0b2FzdHIub3B0aW9ucy5wb3NpdGlvbkNsYXNzID0gJ3RvYXN0LWJvdHRvbS1yaWdodCdcblx0XHR0b2FzdHIub3B0aW9ucy5jbG9zZUJ1dHRvbiA9IHRydWU7XG5cdFx0dG9hc3RyLm9wdGlvbnMucHJvZ3Jlc3NCYXIgPSB0cnVlO1xuXHRcdHRvYXN0ci5vcHRpb25zLm5ld2VzdE9uVG9wID0gdHJ1ZTtcblx0XHR0b2FzdHIuc3VjY2VzcyhtZW5zYWplLCBgPGg1IGNsYXNzPSd0ZXh0LXdoaXRlJz4gJHt0aXR1bG99IDwvaDU+YCk7XG5cdFx0cmV0dXJuIHRvYXN0cjtcblx0fVxuXG5cbn1cbiJdfQ==
@@ -45,4 +45,9 @@ export * from "./lib/text-area/text-area.module";
45
45
  export * from "./lib/text-area/text-area.service";
46
46
  export * from "./lib/utils/ScWizardBase";
47
47
  export * from "./lib/utils/token/audit.token";
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYywyR0FBMkcsQ0FBQztBQUMxSCxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx1R0FBdUcsQ0FBQztBQUN0SCxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsMkZBQTJGLENBQUM7QUFDMUcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLCtFQUErRSxDQUFDO0FBRTlGLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtc3VtYXgtZXJwLWNvbXBvbmVudFxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LXRleHQvaW5wdXQtdGV4dC5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC10ZXh0L2lucHV0LXRleHQuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1tdWx0aXBsZS9uZy1zZWxlY3QtbXVsdGlwbGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LW11bHRpcGxlL25nLXNlbGVjdC1tdWx0aXBsZS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3QtbXVsdGlwbGUvbmctc2VsZWN0LW11bHRpcGxlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3Qtc2ltcGxlL25nLXNlbGVjdC1zaW1wbGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LXNpbXBsZS9uZy1zZWxlY3Qtc2ltcGxlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2MtYWctZ3JpZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NjLWFnLWdyaWQvY2VsbC1yZW5kZXIvbm8tcm93cy1vdmVybGF5L25vUm93c092ZXJsYXlDdXN0b20uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2MtYWctZ3JpZC9zYy1hZy1ncmlkLXBhZ2luYWJsZS9zYy1hZy1ncmlkLXBhZ2luYWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zYy13aXphcmQvc2Mtd2l6YXJkLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NjLXdpemFyZC9zYy13aXphcmQubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtYmFzaWMvc214LWRhc2gtY2FyZC1iYXNpYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1kb3VnaG51dC1leHQtbGFiZWxzL3NteC1kYXNoLWNhcmQtZG91Z2hudXQtZXh0LWxhYmVscy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1rcGktbGVnZW5kL3NteC1kYXNoLWNhcmQta3BpLWxlZ2VuZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQtc2VsZWN0L3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0LXNlbGVjdC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQtdGFicy9zbXgtZGFzaC1jYXJkLWxlZ2VuZC1jaGFydC10YWJzLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLWxlZ2VuZC1jaGFydC9zbXgtZGFzaC1jYXJkLWxlZ2VuZC1jaGFydC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1tZXRyaWMtbGlzdC9zbXgtZGFzaC1jYXJkLW1ldHJpYy1saXN0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLXJhbmtpbmcvc214LWRhc2gtY2FyZC1yYW5raW5nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLXRhYmxlL3NteC1kYXNoLWNhcmQtdGFibGUuY29tcG9uZW50XCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvc3VtYXgtZGFzaGJvYXJkLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC90eXBlcy90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC91dGlscy9jaGFydC1zZXR1cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC91dGlscy9kYXNoYm9hcmQtaW50ZWdyYXRpb24udXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RleHQtYXJlYS90ZXh0LWFyZWEubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdXRpbHMvU2NXaXphcmRCYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdXRpbHMvdG9rZW4vYXVkaXQudG9rZW5cIjtcblxuIl19
48
+ export * from "./lib/sumax-upload/smx-upload.types";
49
+ export * from "./lib/sumax-upload/profiles/smx-excel.profile";
50
+ export * from "./lib/sumax-upload/profiles/smx-pdf.profile";
51
+ export * from "./lib/sumax-upload/smx-upload-file/smx-upload-file.component";
52
+ export * from "./lib/sumax-upload/smx-validate-file/smx-validate-file.component";
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYywyR0FBMkcsQ0FBQztBQUMxSCxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx1R0FBdUcsQ0FBQztBQUN0SCxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsMkZBQTJGLENBQUM7QUFDMUcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLCtFQUErRSxDQUFDO0FBRTlGLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxrRUFBa0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXN1bWF4LWVycC1jb21wb25lbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC10ZXh0L2lucHV0LXRleHQubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3QtbXVsdGlwbGUvbmctc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1tdWx0aXBsZS9uZy1zZWxlY3QtbXVsdGlwbGUubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LW11bHRpcGxlL25nLXNlbGVjdC1tdWx0aXBsZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LXNpbXBsZS9uZy1zZWxlY3Qtc2ltcGxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3Qtc2ltcGxlL25nLXNlbGVjdC1zaW1wbGUuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NjLWFnLWdyaWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zYy1hZy1ncmlkL2NlbGwtcmVuZGVyL25vLXJvd3Mtb3ZlcmxheS9ub1Jvd3NPdmVybGF5Q3VzdG9tLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NjLWFnLWdyaWQvc2MtYWctZ3JpZC1wYWdpbmFibGUvc2MtYWctZ3JpZC1wYWdpbmFibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2Mtd2l6YXJkL3NjLXdpemFyZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zYy13aXphcmQvc2Mtd2l6YXJkLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLWJhc2ljL3NteC1kYXNoLWNhcmQtYmFzaWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtZG91Z2hudXQtZXh0LWxhYmVscy9zbXgtZGFzaC1jYXJkLWRvdWdobnV0LWV4dC1sYWJlbHMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQta3BpLWxlZ2VuZC9zbXgtZGFzaC1jYXJkLWtwaS1sZWdlbmQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0LXNlbGVjdC9zbXgtZGFzaC1jYXJkLWxlZ2VuZC1jaGFydC1zZWxlY3QuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0LXRhYnMvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQtdGFicy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtbWV0cmljLWxpc3Qvc214LWRhc2gtY2FyZC1tZXRyaWMtbGlzdC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1yYW5raW5nL3NteC1kYXNoLWNhcmQtcmFua2luZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC10YWJsZS9zbXgtZGFzaC1jYXJkLXRhYmxlLmNvbXBvbmVudFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL3N1bWF4LWRhc2hib2FyZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvdHlwZXMvdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvdXRpbHMvY2hhcnQtc2V0dXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvdXRpbHMvZGFzaGJvYXJkLWludGVncmF0aW9uLnV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3V0aWxzL1NjV2l6YXJkQmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3V0aWxzL3Rva2VuL2F1ZGl0LnRva2VuXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC11cGxvYWQvc214LXVwbG9hZC50eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LXVwbG9hZC9wcm9maWxlcy9zbXgtZXhjZWwucHJvZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LXVwbG9hZC9wcm9maWxlcy9zbXgtcGRmLnByb2ZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC11cGxvYWQvc214LXVwbG9hZC1maWxlL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC11cGxvYWQvc214LXZhbGlkYXRlLWZpbGUvc214LXZhbGlkYXRlLWZpbGUuY29tcG9uZW50XCI7XG4iXX0=