ngx-sumax-erp-components 1.12.0 → 1.13.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_TXT = {
2
+ profileId: "txt",
3
+ accentColor: "#0288d1",
4
+ allowedExtensions: [".txt"],
5
+ acceptAttr: ".txt,text/plain",
6
+ headerIcon: "fa-solid fa-file-lines",
7
+ fileIcon: "fa-solid fa-file-lines",
8
+ dropzoneLabel: "Seleccione un archivo de texto (.txt) o arrástrelo aquí",
9
+ formatLabel: "Formatos soportados: .txt",
10
+ invalidFileMessage: "Solo se permiten archivos de texto (.txt)",
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXR4dC5wcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvcHJvZmlsZXMvc214LXR4dC5wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBbUI7SUFDN0MsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDM0IsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixVQUFVLEVBQUUsd0JBQXdCO0lBQ3BDLFFBQVEsRUFBRSx3QkFBd0I7SUFDbEMsYUFBYSxFQUFFLHlEQUF5RDtJQUN4RSxXQUFXLEVBQUUsMkJBQTJCO0lBQ3hDLGtCQUFrQixFQUFFLDJDQUEyQztDQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU214RmlsZVByb2ZpbGUgfSBmcm9tIFwiLi4vc214LXVwbG9hZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU01YX1BST0ZJTEVfVFhUOiBTbXhGaWxlUHJvZmlsZSA9IHtcbiAgcHJvZmlsZUlkOiBcInR4dFwiLFxuICBhY2NlbnRDb2xvcjogXCIjMDI4OGQxXCIsXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBbXCIudHh0XCJdLFxuICBhY2NlcHRBdHRyOiBcIi50eHQsdGV4dC9wbGFpblwiLFxuICBoZWFkZXJJY29uOiBcImZhLXNvbGlkIGZhLWZpbGUtbGluZXNcIixcbiAgZmlsZUljb246IFwiZmEtc29saWQgZmEtZmlsZS1saW5lc1wiLFxuICBkcm9wem9uZUxhYmVsOiBcIlNlbGVjY2lvbmUgdW4gYXJjaGl2byBkZSB0ZXh0byAoLnR4dCkgbyBhcnLDoXN0cmVsbyBhcXXDrVwiLFxuICBmb3JtYXRMYWJlbDogXCJGb3JtYXRvcyBzb3BvcnRhZG9zOiAudHh0XCIsXG4gIGludmFsaWRGaWxlTWVzc2FnZTogXCJTb2xvIHNlIHBlcm1pdGVuIGFyY2hpdm9zIGRlIHRleHRvICgudHh0KVwiLFxufTtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from "./smx-excel.profile";
2
+ export * from "./smx-pdf.profile";
3
+ export * from "./smx-txt.profile";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXVwbG9hZC1wcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvcHJvZmlsZXMvc214LXVwbG9hZC1wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc214LWV4Y2VsLnByb2ZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NteC1wZGYucHJvZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc214LXR4dC5wcm9maWxlXCI7XG4iXX0=
@@ -88,9 +88,6 @@ export class SmxUploadFileComponent {
88
88
  }
89
89
  this.dialogRef.close(this.selectedFile);
90
90
  }
91
- onCancel() {
92
- this.dialogRef.close(null);
93
- }
94
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmxUploadFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
95
92
  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\n\n <!-- Footer (Controles y Botones) -->\n <div class=\"d-flex justify-content-between align-items-end pt-3 border-top\">\n <div class=\"flex-grow-1 me-4\">\n @if (data.footerTemplate) {\n <ng-container *ngTemplateOutlet=\"data.footerTemplate\"></ng-container>\n }\n </div>\n <div>\n <button type=\"button\" class=\"btn btn-success px-5 py-2 shadow-sm fw-bold\" style=\"border-radius: 8px;\" (click)=\"onConfirm()\">\n Cargar\n </button>\n </div>\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}::ng-deep .smx-upload-dropdown-panel{width:auto!important;min-width:250px!important;max-width:400px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: NgSelectModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
96
93
  }
@@ -98,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
98
95
  type: Component,
99
96
  args: [{ selector: "smx-upload-file", standalone: true, imports: [MatDialogModule, FormsModule, NgSelectModule, CommonModule], 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\n\n <!-- Footer (Controles y Botones) -->\n <div class=\"d-flex justify-content-between align-items-end pt-3 border-top\">\n <div class=\"flex-grow-1 me-4\">\n @if (data.footerTemplate) {\n <ng-container *ngTemplateOutlet=\"data.footerTemplate\"></ng-container>\n }\n </div>\n <div>\n <button type=\"button\" class=\"btn btn-success px-5 py-2 shadow-sm fw-bold\" style=\"border-radius: 8px;\" (click)=\"onConfirm()\">\n Cargar\n </button>\n </div>\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}::ng-deep .smx-upload-dropdown-panel{width:auto!important;min-width:250px!important;max-width:400px!important}\n"] }]
100
97
  }] });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXVwbG9hZC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQtZmlsZS9zbXgtdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvc214LXVwbG9hZC1maWxlL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVcvQzs7O0dBR0c7QUFRSCxNQUFNLE9BQU8sc0JBQXNCO0lBUG5DO1FBUVcsU0FBSSxHQUFzQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQW9DLENBQUEsQ0FBQyxDQUFDO1FBQ2pELGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFMUQsaUJBQVksR0FBZ0IsSUFBSSxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxL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QkFDRSxpQkFBaUIsY0FHZixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgTWVzc2FnZVV0aWxTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3V0aWxzL21lc3NhZ2UtdXRpbC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTbXhGaWxlUHJvZmlsZSB9IGZyb20gXCIuLi9zbXgtdXBsb2FkLnR5cGVzXCI7XG5pbXBvcnQgeyBTTVhfUFJPRklMRV9FWENFTCB9IGZyb20gXCIuLi9wcm9maWxlcy9zbXgtZXhjZWwucHJvZmlsZVwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBuZy1zZWxlY3Qvbmctc2VsZWN0XCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU214VXBsb2FkRmlsZURhdGEge1xuICB0aXRsZT86IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGJhZGdlVGV4dD86IHN0cmluZztcbiAgYmFkZ2VJY29uPzogc3RyaW5nO1xuICBwcm9maWxlPzogU214RmlsZVByb2ZpbGU7XG4gIGZvb3RlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuLyoqXG4gKiBDb21wb25lbnRlIGRlIGRpw6Fsb2dvIHBhcmEgY2FyZ2FyIGFyY2hpdm9zLlxuICogVXRpbGl6YXIge0BsaW5rIFNteFVwbG9hZEZpbGVEYXRhfSBjb21vIGludGVyZmF6IHBhcmEgRGF0YS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInNteC11cGxvYWQtZmlsZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vc214LXVwbG9hZC1maWxlLmNvbXBvbmVudC5zY3NzXCJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0RGlhbG9nTW9kdWxlLCBGb3Jtc01vZHVsZSwgTmdTZWxlY3RNb2R1bGUsIENvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNteFVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSBkYXRhOiBTbXhVcGxvYWRGaWxlRGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpO1xuICByZWFkb25seSBkaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmPFNteFVwbG9hZEZpbGVDb21wb25lbnQ+KTtcbiAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlVXRpbCA9IGluamVjdChNZXNzYWdlVXRpbFNlcnZpY2UpO1xuXG4gIHNlbGVjdGVkRmlsZTogRmlsZSB8IG51bGwgPSBudWxsO1xuICBpc0RyYWdnaW5nID0gZmFsc2U7XG5cbiAgdGl0bGUgPSBcIkNhcmdhciBhcmNoaXZvXCI7XG4gIHN1YnRpdGxlID0gXCJTZWxlY2Npb25hIG8gYXJyYXN0cmEgZWwgZG9jdW1lbnRvXCI7XG4gIGJhZGdlVGV4dCA9IFwiXCI7XG4gIGJhZGdlSWNvbiA9IFwiXCI7XG4gIHByb2ZpbGU6IFNteEZpbGVQcm9maWxlID0gU01YX1BST0ZJTEVfRVhDRUw7XG5cblxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIGlmICh0aGlzLmRhdGEudGl0bGUpIHRoaXMudGl0bGUgPSB0aGlzLmRhdGEudGl0bGU7XG4gICAgICBpZiAodGhpcy5kYXRhLnN1YnRpdGxlKSB0aGlzLnN1YnRpdGxlID0gdGhpcy5kYXRhLnN1YnRpdGxlO1xuICAgICAgaWYgKHRoaXMuZGF0YS5iYWRnZVRleHQpIHRoaXMuYmFkZ2VUZXh0ID0gdGhpcy5kYXRhLmJhZGdlVGV4dDtcbiAgICAgIGlmICh0aGlzLmRhdGEuYmFkZ2VJY29uKSB0aGlzLmJhZGdlSWNvbiA9IHRoaXMuZGF0YS5iYWRnZUljb247XG4gICAgICBpZiAodGhpcy5kYXRhLnByb2ZpbGUpIHRoaXMucHJvZmlsZSA9IHRoaXMuZGF0YS5wcm9maWxlO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgfVxuXG4gIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICB9XG5cbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcztcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52YWxpZGF0ZUFuZFNldEZpbGUoZmlsZXNbMF0pO1xuICAgIH1cbiAgfVxuXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZXMgPSBpbnB1dD8uZmlsZXM7XG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmFsaWRhdGVBbmRTZXRGaWxlKGZpbGVzWzBdKTtcbiAgICAgIGlucHV0LnZhbHVlID0gXCJcIjtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUFuZFNldEZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkID0gdGhpcy5wcm9maWxlLmFsbG93ZWRFeHRlbnNpb25zLnNvbWUoKGV4dCkgPT4gZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZXh0KSk7XG4gICAgaWYgKCF2YWxpZCkge1xuICAgICAgdGhpcy5tZXNzYWdlVXRpbC5nZXRBbGVydFdhcm5pbmcodGhpcy5wcm9maWxlLmludmFsaWRGaWxlTWVzc2FnZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZTtcbiAgfVxuXG4gIGdldEZpbGVTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChieXRlcyA9PT0gMCkgcmV0dXJuIFwiMCBCeXRlc1wiO1xuICAgIGNvbnN0IGsgPSAxMDI0O1xuICAgIGNvbnN0IHNpemVzID0gW1wiQnl0ZXNcIiwgXCJLQlwiLCBcIk1CXCIsIFwiR0JcIl07XG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xuICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdCgoYnl0ZXMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZCgyKSkgKyBcIiBcIiArIHNpemVzW2ldO1xuICB9XG5cbiAgb25Db25maXJtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEZpbGUpIHtcbiAgICAgIHRoaXMubWVzc2FnZVV0aWwuZ2V0QWxlcnRXYXJuaW5nKFwiUG9yIGZhdm9yLCBzZWxlY2Npb25lIHVuIGFyY2hpdm8gcGFyYSBjb250aW51YXIuXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLnNlbGVjdGVkRmlsZSk7XG4gIH1cblxuICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShudWxsKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWN1c3RvbS1jb250YWluZXIgcC00XCIgW3N0eWxlLi0tc214LWFjY2VudF09XCJwcm9maWxlLmFjY2VudENvbG9yXCI+XG4gIDwhLS0gQ2FiZWNlcmEgLS0+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHBiLTMgbWItMyBib3JkZXItYm90dG9tXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWhlYWRlciBtZS0zXCI+XG4gICAgICAgIDxpIGNsYXNzPVwie3sgcHJvZmlsZS5oZWFkZXJJY29uIH19IGZzLTRcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoNCBjbGFzcz1cImZ3LWJvbGQgdGV4dC1kYXJrIG1iLTBcIj57eyB0aXRsZSB9fTwvaDQ+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIEBpZiAoYmFkZ2VUZXh0KSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctbGlnaHQgdGV4dC1wcmltYXJ5IGJvcmRlciBweC0zIHB5LTIgZnMtNyBmdy1ib2xkIHNoYWRvdy1zbSBtZS0zXCI+XG4gICAgICAgICAgQGlmIChiYWRnZUljb24pIHtcbiAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgYmFkZ2VJY29uIH19IG1lLTFcIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICAgIHt7IGJhZGdlVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gWm9uYSBkcmFnICYgZHJvcCAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwidXBsb2FkLWRyb3B6b25lIG1iLTRcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIFtjbGFzcy5oYXMtZmlsZV09XCJzZWxlY3RlZEZpbGVcIlxuICAgIFtjbGFzcy5kcmFnLW92ZXJdPVwiaXNEcmFnZ2luZ1wiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ0xlYXZlKCRldmVudClcIlxuICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XG4gICAgPCEtLSBFc3RhZG8gMTogc2luIGFyY2hpdm8gLS0+XG4gICAgQGlmICghc2VsZWN0ZWRGaWxlKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWljb24td3JhcHBlciBzaGFkb3ctc21cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNsb3VkLWFycm93LXVwIGZzLTJcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDYgY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFyayBtYi0xXCI+e3sgcHJvZmlsZS5kcm9wem9uZUxhYmVsIH19PC9oNj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsIG1iLTNcIj57eyBwcm9maWxlLmZvcm1hdExhYmVsIH19PC9wPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBweS0yIGZ3LWJvbGQgc2hhZG93LXNtIHJvdW5kZWQtcGlsbFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWZvbGRlci1vcGVuIG1lLTJcIj48L2k+RXhwbG9yYXIgYXJjaGl2b1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gRXN0YWRvIDI6IGFyY2hpdm8gc2VsZWNjaW9uYWRvIC0tPlxuICAgIEBpZiAoc2VsZWN0ZWRGaWxlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtZmlsZS1jYXJkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWljb24gc2hhZG93LXNtXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBwcm9maWxlLmZpbGVJY29uIH19IGZzLTNcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1kZXRhaWxzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbmFtZVwiIFt0aXRsZV09XCJzZWxlY3RlZEZpbGUubmFtZVwiPnt7IHNlbGVjdGVkRmlsZS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtc2l6ZVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtaGFyZC1kcml2ZSBtZS0xXCI+PC9pPnt7IGdldEZpbGVTaXplKHNlbGVjdGVkRmlsZS5zaXplKSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgW2F0dHIuYWNjZXB0XT1cInByb2ZpbGUuYWNjZXB0QXR0clwiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiIC8+XG4gIDwvZGl2PlxuXG5cblxuICA8IS0tIEZvb3RlciAoQ29udHJvbGVzIHkgQm90b25lcykgLS0+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtZW5kIHB0LTMgYm9yZGVyLXRvcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBtZS00XCI+XG4gICAgICBAaWYgKGRhdGEuZm9vdGVyVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGEuZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3MgcHgtNSBweS0yIHNoYWRvdy1zbSBmdy1ib2xkXCIgc3R5bGU9XCJib3JkZXItcmFkaXVzOiA4cHg7XCIgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCI+XG4gICAgICAgIENhcmdhclxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXVwbG9hZC1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQtZmlsZS9zbXgtdXBsb2FkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN1bWF4LWVycC1jb21wb25lbnQvc3JjL2xpYi9zdW1heC11cGxvYWQvc214LXVwbG9hZC1maWxlL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVcvQzs7O0dBR0c7QUFRSCxNQUFNLE9BQU8sc0JBQXNCO0lBUG5DO1FBUVcsU0FBSSxHQUFzQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQW9DLENBQUEsQ0FBQyxDQUFDO1FBQ2pELGdCQUFXLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFMUQsaUJBQVksR0FBZ0IsSUFBSSxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxL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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IE1lc3NhZ2VVdGlsU2VydmljZSB9IGZyb20gXCIuLi8uLi91dGlscy9tZXNzYWdlLXV0aWwuc2VydmljZVwiO1xuaW1wb3J0IHsgU214RmlsZVByb2ZpbGUgfSBmcm9tIFwiLi4vc214LXVwbG9hZC50eXBlc1wiO1xuaW1wb3J0IHsgU01YX1BST0ZJTEVfRVhDRUwgfSBmcm9tIFwiLi4vcHJvZmlsZXMvc214LWV4Y2VsLnByb2ZpbGVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gXCJAbmctc2VsZWN0L25nLXNlbGVjdFwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNteFVwbG9hZEZpbGVEYXRhIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICBiYWRnZVRleHQ/OiBzdHJpbmc7XG4gIGJhZGdlSWNvbj86IHN0cmluZztcbiAgcHJvZmlsZT86IFNteEZpbGVQcm9maWxlO1xuICBmb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG59XG5cbi8qKlxuICogQ29tcG9uZW50ZSBkZSBkacOhbG9nbyBwYXJhIGNhcmdhciBhcmNoaXZvcy5cbiAqIFV0aWxpemFyIHtAbGluayBTbXhVcGxvYWRGaWxlRGF0YX0gY29tbyBpbnRlcmZheiBwYXJhIERhdGEuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzbXgtdXBsb2FkLWZpbGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zbXgtdXBsb2FkLWZpbGUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnQuc2Nzc1wiXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdERpYWxvZ01vZHVsZSwgRm9ybXNNb2R1bGUsIE5nU2VsZWN0TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTbXhVcGxvYWRGaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgZGF0YTogU214VXBsb2FkRmlsZURhdGEgPSBpbmplY3QoTUFUX0RJQUxPR19EQVRBKTtcbiAgcmVhZG9ubHkgZGlhbG9nUmVmID0gaW5qZWN0KE1hdERpYWxvZ1JlZjxTbXhVcGxvYWRGaWxlQ29tcG9uZW50Pik7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVV0aWwgPSBpbmplY3QoTWVzc2FnZVV0aWxTZXJ2aWNlKTtcblxuICBzZWxlY3RlZEZpbGU6IEZpbGUgfCBudWxsID0gbnVsbDtcbiAgaXNEcmFnZ2luZyA9IGZhbHNlO1xuXG4gIHRpdGxlID0gXCJDYXJnYXIgYXJjaGl2b1wiO1xuICBzdWJ0aXRsZSA9IFwiU2VsZWNjaW9uYSBvIGFycmFzdHJhIGVsIGRvY3VtZW50b1wiO1xuICBiYWRnZVRleHQgPSBcIlwiO1xuICBiYWRnZUljb24gPSBcIlwiO1xuICBwcm9maWxlOiBTbXhGaWxlUHJvZmlsZSA9IFNNWF9QUk9GSUxFX0VYQ0VMO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIGlmICh0aGlzLmRhdGEudGl0bGUpIHRoaXMudGl0bGUgPSB0aGlzLmRhdGEudGl0bGU7XG4gICAgICBpZiAodGhpcy5kYXRhLnN1YnRpdGxlKSB0aGlzLnN1YnRpdGxlID0gdGhpcy5kYXRhLnN1YnRpdGxlO1xuICAgICAgaWYgKHRoaXMuZGF0YS5iYWRnZVRleHQpIHRoaXMuYmFkZ2VUZXh0ID0gdGhpcy5kYXRhLmJhZGdlVGV4dDtcbiAgICAgIGlmICh0aGlzLmRhdGEuYmFkZ2VJY29uKSB0aGlzLmJhZGdlSWNvbiA9IHRoaXMuZGF0YS5iYWRnZUljb247XG4gICAgICBpZiAodGhpcy5kYXRhLnByb2ZpbGUpIHRoaXMucHJvZmlsZSA9IHRoaXMuZGF0YS5wcm9maWxlO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgfVxuXG4gIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICB9XG5cbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcztcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52YWxpZGF0ZUFuZFNldEZpbGUoZmlsZXNbMF0pO1xuICAgIH1cbiAgfVxuXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsZXMgPSBpbnB1dD8uZmlsZXM7XG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmFsaWRhdGVBbmRTZXRGaWxlKGZpbGVzWzBdKTtcbiAgICAgIGlucHV0LnZhbHVlID0gXCJcIjtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUFuZFNldEZpbGUoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkID0gdGhpcy5wcm9maWxlLmFsbG93ZWRFeHRlbnNpb25zLnNvbWUoKGV4dCkgPT4gZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZXh0KSk7XG4gICAgaWYgKCF2YWxpZCkge1xuICAgICAgdGhpcy5tZXNzYWdlVXRpbC5nZXRBbGVydFdhcm5pbmcodGhpcy5wcm9maWxlLmludmFsaWRGaWxlTWVzc2FnZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gZmlsZTtcbiAgfVxuXG4gIGdldEZpbGVTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChieXRlcyA9PT0gMCkgcmV0dXJuIFwiMCBCeXRlc1wiO1xuICAgIGNvbnN0IGsgPSAxMDI0O1xuICAgIGNvbnN0IHNpemVzID0gW1wiQnl0ZXNcIiwgXCJLQlwiLCBcIk1CXCIsIFwiR0JcIl07XG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xuICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdCgoYnl0ZXMgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZCgyKSkgKyBcIiBcIiArIHNpemVzW2ldO1xuICB9XG5cbiAgb25Db25maXJtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZEZpbGUpIHtcbiAgICAgIHRoaXMubWVzc2FnZVV0aWwuZ2V0QWxlcnRXYXJuaW5nKFwiUG9yIGZhdm9yLCBzZWxlY2Npb25lIHVuIGFyY2hpdm8gcGFyYSBjb250aW51YXIuXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuc2VsZWN0ZWRGaWxlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWN1c3RvbS1jb250YWluZXIgcC00XCIgW3N0eWxlLi0tc214LWFjY2VudF09XCJwcm9maWxlLmFjY2VudENvbG9yXCI+XG4gIDwhLS0gQ2FiZWNlcmEgLS0+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIHBiLTMgbWItMyBib3JkZXItYm90dG9tXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWhlYWRlciBtZS0zXCI+XG4gICAgICAgIDxpIGNsYXNzPVwie3sgcHJvZmlsZS5oZWFkZXJJY29uIH19IGZzLTRcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoNCBjbGFzcz1cImZ3LWJvbGQgdGV4dC1kYXJrIG1iLTBcIj57eyB0aXRsZSB9fTwvaDQ+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBzbWFsbFwiPnt7IHN1YnRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIEBpZiAoYmFkZ2VUZXh0KSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmctbGlnaHQgdGV4dC1wcmltYXJ5IGJvcmRlciBweC0zIHB5LTIgZnMtNyBmdy1ib2xkIHNoYWRvdy1zbSBtZS0zXCI+XG4gICAgICAgICAgQGlmIChiYWRnZUljb24pIHtcbiAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgYmFkZ2VJY29uIH19IG1lLTFcIj48L2k+XG4gICAgICAgICAgfVxuICAgICAgICAgIHt7IGJhZGdlVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gWm9uYSBkcmFnICYgZHJvcCAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwidXBsb2FkLWRyb3B6b25lIG1iLTRcIlxuICAgIHJvbGU9XCJidXR0b25cIlxuICAgIFtjbGFzcy5oYXMtZmlsZV09XCJzZWxlY3RlZEZpbGVcIlxuICAgIFtjbGFzcy5kcmFnLW92ZXJdPVwiaXNEcmFnZ2luZ1wiXG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ0xlYXZlKCRldmVudClcIlxuICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cImZpbGVJbnB1dC5jbGljaygpXCI+XG4gICAgPCEtLSBFc3RhZG8gMTogc2luIGFyY2hpdm8gLS0+XG4gICAgQGlmICghc2VsZWN0ZWRGaWxlKSB7XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWljb24td3JhcHBlciBzaGFkb3ctc21cIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNsb3VkLWFycm93LXVwIGZzLTJcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDYgY2xhc3M9XCJmdy1ib2xkIHRleHQtZGFyayBtYi0xXCI+e3sgcHJvZmlsZS5kcm9wem9uZUxhYmVsIH19PC9oNj5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW11dGVkIHNtYWxsIG1iLTNcIj57eyBwcm9maWxlLmZvcm1hdExhYmVsIH19PC9wPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBweS0yIGZ3LWJvbGQgc2hhZG93LXNtIHJvdW5kZWQtcGlsbFwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWZvbGRlci1vcGVuIG1lLTJcIj48L2k+RXhwbG9yYXIgYXJjaGl2b1xuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0gRXN0YWRvIDI6IGFyY2hpdm8gc2VsZWNjaW9uYWRvIC0tPlxuICAgIEBpZiAoc2VsZWN0ZWRGaWxlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtZmlsZS1jYXJkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWljb24gc2hhZG93LXNtXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBwcm9maWxlLmZpbGVJY29uIH19IGZzLTNcIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1kZXRhaWxzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtbmFtZVwiIFt0aXRsZV09XCJzZWxlY3RlZEZpbGUubmFtZVwiPnt7IHNlbGVjdGVkRmlsZS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGUtc2l6ZVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtaGFyZC1kcml2ZSBtZS0xXCI+PC9pPnt7IGdldEZpbGVTaXplKHNlbGVjdGVkRmlsZS5zaXplKSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgW2F0dHIuYWNjZXB0XT1cInByb2ZpbGUuYWNjZXB0QXR0clwiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0ZWQoJGV2ZW50KVwiIC8+XG4gIDwvZGl2PlxuXG5cblxuICA8IS0tIEZvb3RlciAoQ29udHJvbGVzIHkgQm90b25lcykgLS0+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtZW5kIHB0LTMgYm9yZGVyLXRvcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBtZS00XCI+XG4gICAgICBAaWYgKGRhdGEuZm9vdGVyVGVtcGxhdGUpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGEuZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3MgcHgtNSBweS0yIHNoYWRvdy1zbSBmdy1ib2xkXCIgc3R5bGU9XCJib3JkZXItcmFkaXVzOiA4cHg7XCIgKGNsaWNrKT1cIm9uQ29uZmlybSgpXCI+XG4gICAgICAgIENhcmdhclxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  // ─── Resultado de validación ────────────────────────────────────────────────
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXVwbG9hZC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSA4pSAIFJlc3VsdGFkbyBkZSB2YWxpZGFjacOzbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZXhwb3J0IGludGVyZmFjZSBTbXhGaWxlVmFsaWRhdGlvbkVycm9yIHtcbiAgZmlsYT86IG51bWJlciB8IHN0cmluZztcbiAgY29sdW1uYT86IHN0cmluZztcbiAgbWVuc2FqZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNteEZpbGVWYWxpZGF0aW9uUmVzdWx0IHtcbiAgdG90YWxSZWdpc3Ryb3M6IG51bWJlcjtcbiAgcmVnaXN0cm9zVmFsaWRvcz86IG51bWJlcjtcbiAgZXJyb3JzOiBTbXhGaWxlVmFsaWRhdGlvbkVycm9yW107XG59XG5cbi8vIOKUgOKUgOKUgCBQZXJmaWwgZGUgdGlwbyBkZSBhcmNoaXZvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgaW50ZXJmYWNlIFNteEZpbGVQcm9maWxlIHtcbiAgLyoqIElkZW50aWZpY2Fkb3IgZGVsIHBlcmZpbCAqL1xuICBwcm9maWxlSWQ6IFwiZXhjZWxcIiB8IFwicGRmXCIgfCBcImltYWdlXCIgfCBcImN1c3RvbVwiO1xuICAvKiogQ29sb3IgZGUgYWNlbnRvIGRlbCBtb2RhbCovXG4gIGFjY2VudENvbG9yOiBzdHJpbmc7XG4gIC8qKiBFeHRlbnNpb25lcyBwZXJtaXRpZGFzLCBlLmcuIFsnLnhsc3gnLCAnLnhscyddICovXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXTtcbiAgLyoqIFZhbG9yIHBhcmEgZWwgYXRyaWJ1dG8gSFRNTCBhY2NlcHQgZGVsIDxpbnB1dCB0eXBlPVwiZmlsZVwiPiAqL1xuICBhY2NlcHRBdHRyOiBzdHJpbmc7XG4gIC8qKiDDjWNvbm8gRm9udCBBd2Vzb21lIHBhcmEgbGEgY2FiZWNlcmEgZGVsIG1vZGFsICovXG4gIGhlYWRlckljb246IHN0cmluZztcbiAgLyoqIMONY29ubyBGb250IEF3ZXNvbWUgcGFyYSBlbCBhcmNoaXZvIHNlbGVjY2lvbmFkbyAqL1xuICBmaWxlSWNvbjogc3RyaW5nO1xuICAvKiogVGV4dG8gcHJpbmNpcGFsIGRlIGxhIHpvbmEgZGUgZHJvcCAqL1xuICBkcm9wem9uZUxhYmVsOiBzdHJpbmc7XG4gIC8qKiBEZXNjcmlwY2nDs24gZGUgZm9ybWF0b3Mgc29wb3J0YWRvcyAqL1xuICBmb3JtYXRMYWJlbDogc3RyaW5nO1xuICAvKiogTWVuc2FqZSBkZSBlcnJvciBjdWFuZG8gZWwgYXJjaGl2byBubyBjdW1wbGUgbGEgZXh0ZW5zacOzbiAqL1xuICBpbnZhbGlkRmlsZU1lc3NhZ2U6IHN0cmluZztcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic214LXVwbG9hZC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSA4pSAIFJlc3VsdGFkbyBkZSB2YWxpZGFjacOzbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZXhwb3J0IGludGVyZmFjZSBTbXhGaWxlVmFsaWRhdGlvbkVycm9yIHtcbiAgZmlsYT86IG51bWJlciB8IHN0cmluZztcbiAgY29sdW1uYT86IHN0cmluZztcbiAgbWVuc2FqZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNteEZpbGVWYWxpZGF0aW9uUmVzdWx0IHtcbiAgdG90YWxSZWdpc3Ryb3M6IG51bWJlcjtcbiAgcmVnaXN0cm9zVmFsaWRvcz86IG51bWJlcjtcbiAgZXJyb3JzOiBTbXhGaWxlVmFsaWRhdGlvbkVycm9yW107XG59XG5cbi8vIOKUgOKUgOKUgCBQZXJmaWwgZGUgdGlwbyBkZSBhcmNoaXZvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgaW50ZXJmYWNlIFNteEZpbGVQcm9maWxlIHtcbiAgLyoqIElkZW50aWZpY2Fkb3IgZGVsIHBlcmZpbCAqL1xuICBwcm9maWxlSWQ6IFwiZXhjZWxcIiB8IFwicGRmXCIgfCBcImltYWdlXCIgfCBcInR4dFwiIHwgXCJjdXN0b21cIjtcbiAgLyoqIENvbG9yIGRlIGFjZW50byBkZWwgbW9kYWwqL1xuICBhY2NlbnRDb2xvcjogc3RyaW5nO1xuICAvKiogRXh0ZW5zaW9uZXMgcGVybWl0aWRhcywgZS5nLiBbJy54bHN4JywgJy54bHMnXSAqL1xuICBhbGxvd2VkRXh0ZW5zaW9uczogc3RyaW5nW107XG4gIC8qKiBWYWxvciBwYXJhIGVsIGF0cmlidXRvIEhUTUwgYWNjZXB0IGRlbCA8aW5wdXQgdHlwZT1cImZpbGVcIj4gKi9cbiAgYWNjZXB0QXR0cjogc3RyaW5nO1xuICAvKiogw41jb25vIEZvbnQgQXdlc29tZSBwYXJhIGxhIGNhYmVjZXJhIGRlbCBtb2RhbCAqL1xuICBoZWFkZXJJY29uOiBzdHJpbmc7XG4gIC8qKiDDjWNvbm8gRm9udCBBd2Vzb21lIHBhcmEgZWwgYXJjaGl2byBzZWxlY2Npb25hZG8gKi9cbiAgZmlsZUljb246IHN0cmluZztcbiAgLyoqIFRleHRvIHByaW5jaXBhbCBkZSBsYSB6b25hIGRlIGRyb3AgKi9cbiAgZHJvcHpvbmVMYWJlbDogc3RyaW5nO1xuICAvKiogRGVzY3JpcGNpw7NuIGRlIGZvcm1hdG9zIHNvcG9ydGFkb3MgKi9cbiAgZm9ybWF0TGFiZWw6IHN0cmluZztcbiAgLyoqIE1lbnNhamUgZGUgZXJyb3IgY3VhbmRvIGVsIGFyY2hpdm8gbm8gY3VtcGxlIGxhIGV4dGVuc2nDs24gKi9cbiAgaW52YWxpZEZpbGVNZXNzYWdlOiBzdHJpbmc7XG59XG4iXX0=
@@ -46,8 +46,7 @@ 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
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";
49
+ export * from "./lib/sumax-upload/profiles/smx-upload-profile";
51
50
  export * from "./lib/sumax-upload/smx-upload-file/smx-upload-file.component";
52
51
  export * from "./lib/sumax-upload/smx-validate-file/smx-validate-file.component";
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYywyR0FBMkcsQ0FBQztBQUMxSCxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx1R0FBdUcsQ0FBQztBQUN0SCxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsMkZBQTJGLENBQUM7QUFDMUcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLCtFQUErRSxDQUFDO0FBRTlGLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxrRUFBa0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXN1bWF4LWVycC1jb21wb25lbnRcbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC10ZXh0L2lucHV0LXRleHQubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3QtbXVsdGlwbGUvbmctc2VsZWN0LW11bHRpcGxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1tdWx0aXBsZS9uZy1zZWxlY3QtbXVsdGlwbGUubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LW11bHRpcGxlL25nLXNlbGVjdC1tdWx0aXBsZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LXNpbXBsZS9uZy1zZWxlY3Qtc2ltcGxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3Qtc2ltcGxlL25nLXNlbGVjdC1zaW1wbGUuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NjLWFnLWdyaWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zYy1hZy1ncmlkL2NlbGwtcmVuZGVyL25vLXJvd3Mtb3ZlcmxheS9ub1Jvd3NPdmVybGF5Q3VzdG9tLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NjLWFnLWdyaWQvc2MtYWctZ3JpZC1wYWdpbmFibGUvc2MtYWctZ3JpZC1wYWdpbmFibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2Mtd2l6YXJkL3NjLXdpemFyZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zYy13aXphcmQvc2Mtd2l6YXJkLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLWJhc2ljL3NteC1kYXNoLWNhcmQtYmFzaWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtZG91Z2hudXQtZXh0LWxhYmVscy9zbXgtZGFzaC1jYXJkLWRvdWdobnV0LWV4dC1sYWJlbHMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQta3BpLWxlZ2VuZC9zbXgtZGFzaC1jYXJkLWtwaS1sZWdlbmQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0LXNlbGVjdC9zbXgtZGFzaC1jYXJkLWxlZ2VuZC1jaGFydC1zZWxlY3QuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0LXRhYnMvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQtdGFicy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtbWV0cmljLWxpc3Qvc214LWRhc2gtY2FyZC1tZXRyaWMtbGlzdC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1yYW5raW5nL3NteC1kYXNoLWNhcmQtcmFua2luZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC10YWJsZS9zbXgtZGFzaC1jYXJkLXRhYmxlLmNvbXBvbmVudFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL3N1bWF4LWRhc2hib2FyZC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvdHlwZXMvdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvdXRpbHMvY2hhcnQtc2V0dXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvdXRpbHMvZGFzaGJvYXJkLWludGVncmF0aW9uLnV0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3V0aWxzL1NjV2l6YXJkQmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3V0aWxzL3Rva2VuL2F1ZGl0LnRva2VuXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC11cGxvYWQvc214LXVwbG9hZC50eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LXVwbG9hZC9wcm9maWxlcy9zbXgtZXhjZWwucHJvZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LXVwbG9hZC9wcm9maWxlcy9zbXgtcGRmLnByb2ZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC11cGxvYWQvc214LXVwbG9hZC1maWxlL3NteC11cGxvYWQtZmlsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC11cGxvYWQvc214LXZhbGlkYXRlLWZpbGUvc214LXZhbGlkYXRlLWZpbGUuY29tcG9uZW50XCI7XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zdW1heC1lcnAtY29tcG9uZW50L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYywyR0FBMkcsQ0FBQztBQUMxSCxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx1R0FBdUcsQ0FBQztBQUN0SCxjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsMkZBQTJGLENBQUM7QUFDMUcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLCtFQUErRSxDQUFDO0FBRTlGLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsa0VBQWtFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1zdW1heC1lcnAtY29tcG9uZW50XG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS9kYXRlLXRpbWUtcGlja2VyLWVkaXRhYmxlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXItZWRpdGFibGUvZGF0ZS10aW1lLXBpY2tlci1lZGl0YWJsZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9pbnB1dC10ZXh0L2lucHV0LXRleHQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvaW5wdXQtdGV4dC9pbnB1dC10ZXh0Lm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2lucHV0LXRleHQvaW5wdXQtdGV4dC5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LW11bHRpcGxlL25nLXNlbGVjdC1tdWx0aXBsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3QtbXVsdGlwbGUvbmctc2VsZWN0LW11bHRpcGxlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1tdWx0aXBsZS9uZy1zZWxlY3QtbXVsdGlwbGUuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25nLXNlbGVjdC1zaW1wbGUvbmctc2VsZWN0LXNpbXBsZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZy1zZWxlY3Qtc2ltcGxlL25nLXNlbGVjdC1zaW1wbGUubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmctc2VsZWN0LXNpbXBsZS9uZy1zZWxlY3Qtc2ltcGxlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zYy1hZy1ncmlkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2MtYWctZ3JpZC9jZWxsLXJlbmRlci9uby1yb3dzLW92ZXJsYXkvbm9Sb3dzT3ZlcmxheUN1c3RvbS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zYy1hZy1ncmlkL3NjLWFnLWdyaWQtcGFnaW5hYmxlL3NjLWFnLWdyaWQtcGFnaW5hYmxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NjLXdpemFyZC9zYy13aXphcmQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2Mtd2l6YXJkL3NjLXdpemFyZC5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC1kYXNoYm9hcmQvY2FyZHMvc214LWRhc2gtY2FyZC1iYXNpYy9zbXgtZGFzaC1jYXJkLWJhc2ljLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLWRvdWdobnV0LWV4dC1sYWJlbHMvc214LWRhc2gtY2FyZC1kb3VnaG51dC1leHQtbGFiZWxzLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLWtwaS1sZWdlbmQvc214LWRhc2gtY2FyZC1rcGktbGVnZW5kLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLWxlZ2VuZC1jaGFydC1zZWxlY3Qvc214LWRhc2gtY2FyZC1sZWdlbmQtY2hhcnQtc2VsZWN0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLWxlZ2VuZC1jaGFydC10YWJzL3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0LXRhYnMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0L3NteC1kYXNoLWNhcmQtbGVnZW5kLWNoYXJ0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9jYXJkcy9zbXgtZGFzaC1jYXJkLW1ldHJpYy1saXN0L3NteC1kYXNoLWNhcmQtbWV0cmljLWxpc3QuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtcmFua2luZy9zbXgtZGFzaC1jYXJkLXJhbmtpbmcuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL2NhcmRzL3NteC1kYXNoLWNhcmQtdGFibGUvc214LWRhc2gtY2FyZC10YWJsZS5jb21wb25lbnRcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vbGliL3N1bWF4LWRhc2hib2FyZC9zdW1heC1kYXNoYm9hcmQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL3R5cGVzL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL3V0aWxzL2NoYXJ0LXNldHVwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtZGFzaGJvYXJkL3V0aWxzL2Rhc2hib2FyZC1pbnRlZ3JhdGlvbi51dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi91dGlscy9TY1dpemFyZEJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi91dGlscy90b2tlbi9hdWRpdC50b2tlblwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQudHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zdW1heC11cGxvYWQvcHJvZmlsZXMvc214LXVwbG9hZC1wcm9maWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtdXBsb2FkL3NteC11cGxvYWQtZmlsZS9zbXgtdXBsb2FkLWZpbGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc3VtYXgtdXBsb2FkL3NteC12YWxpZGF0ZS1maWxlL3NteC12YWxpZGF0ZS1maWxlLmNvbXBvbmVudFwiO1xuIl19
@@ -11413,6 +11413,18 @@ const SMX_PROFILE_PDF = {
11413
11413
  invalidFileMessage: "Solo se permiten archivos PDF (.pdf)",
11414
11414
  };
11415
11415
 
11416
+ const SMX_PROFILE_TXT = {
11417
+ profileId: "txt",
11418
+ accentColor: "#0288d1",
11419
+ allowedExtensions: [".txt"],
11420
+ acceptAttr: ".txt,text/plain",
11421
+ headerIcon: "fa-solid fa-file-lines",
11422
+ fileIcon: "fa-solid fa-file-lines",
11423
+ dropzoneLabel: "Seleccione un archivo de texto (.txt) o arrástrelo aquí",
11424
+ formatLabel: "Formatos soportados: .txt",
11425
+ invalidFileMessage: "Solo se permiten archivos de texto (.txt)",
11426
+ };
11427
+
11416
11428
  /**
11417
11429
  * Componente de diálogo para cargar archivos.
11418
11430
  * Utilizar {@link SmxUploadFileData} como interfaz para Data.
@@ -11494,9 +11506,6 @@ class SmxUploadFileComponent {
11494
11506
  }
11495
11507
  this.dialogRef.close(this.selectedFile);
11496
11508
  }
11497
- onCancel() {
11498
- this.dialogRef.close(null);
11499
- }
11500
11509
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmxUploadFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11501
11510
  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\n\n <!-- Footer (Controles y Botones) -->\n <div class=\"d-flex justify-content-between align-items-end pt-3 border-top\">\n <div class=\"flex-grow-1 me-4\">\n @if (data.footerTemplate) {\n <ng-container *ngTemplateOutlet=\"data.footerTemplate\"></ng-container>\n }\n </div>\n <div>\n <button type=\"button\" class=\"btn btn-success px-5 py-2 shadow-sm fw-bold\" style=\"border-radius: 8px;\" (click)=\"onConfirm()\">\n Cargar\n </button>\n </div>\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}::ng-deep .smx-upload-dropdown-panel{width:auto!important;min-width:250px!important;max-width:400px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatDialogModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: NgSelectModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
11502
11511
  }
@@ -11594,5 +11603,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
11594
11603
  * Generated bundle index. Do not edit.
11595
11604
  */
11596
11605
 
11597
- export { AUDIT_ACTION_SERVICE, ColumnDefs, ContainerSharedComponent, DashboardIntegrationUtils, DatePickerComponent, DatePickerModule, DatePickerService, DateTimePickerComponent, DateTimePickerEditableComponent, DateTimePickerEditableModule, DateTimePickerEditableService, DateTimePickerModule, DateTimePickerService, DialogAgGridSearchComponent, EnumButtonType, InputNumberComponent, InputNumberModule, InputNumberService, InputTextComponent, InputTextModule, InputTextService, NgSelectMultipleComponent, NgSelectMultipleModule, NgSelectMultipleService, NgSelectSimpleComponent, NgSelectSimpleModule, NgSelectSimpleService, NoRowsOverlayCustomComponent, NoRowsOverlayDefaultComponent, SC_AG_GRID_BEFORE_ACTION, SC_AG_GRID_BUTTON_HEADER, SMX_PROFILE_EXCEL, SMX_PROFILE_PDF, ScAgGridBeforeActionDirective, ScAgGridButtonHeader, ScAgGridCustomizableComponent, ScAgGridModule, ScAgGridPaginableComponent, ScCellRenderButtonService, ScCellRenderCheckboxListComponent, ScCellRenderSelectComponent, ScCellRenderToggleComponent, ScCellRendererButtonComponent, ScMenuPanelComponent, ScWizardBase, ScWizardComponent, ScWizardModule, SearchParams, SmxDashCardBasicComponent, SmxDashCardDoughnutExtLabelsComponent, SmxDashCardKpiLegendComponent, SmxDashCardLegendChartComponent, SmxDashCardLegendChartSelectComponent, SmxDashCardLegendChartTabsComponent, SmxDashCardMetricListComponent, SmxDashCardRankingComponent, SmxDashCardTableComponent, SmxUploadFileComponent, SmxValidateFileComponent, SumaxDashboardComponent, TextAreaComponent, TextAreaModule, TextAreaService, TypeControl, WidgetCode, bodyContentCenter, bodyContentRight, isChartAvailable, isObjEmpty, registerChartGlobal, setClassFlex };
11606
+ export { AUDIT_ACTION_SERVICE, ColumnDefs, ContainerSharedComponent, DashboardIntegrationUtils, DatePickerComponent, DatePickerModule, DatePickerService, DateTimePickerComponent, DateTimePickerEditableComponent, DateTimePickerEditableModule, DateTimePickerEditableService, DateTimePickerModule, DateTimePickerService, DialogAgGridSearchComponent, EnumButtonType, InputNumberComponent, InputNumberModule, InputNumberService, InputTextComponent, InputTextModule, InputTextService, NgSelectMultipleComponent, NgSelectMultipleModule, NgSelectMultipleService, NgSelectSimpleComponent, NgSelectSimpleModule, NgSelectSimpleService, NoRowsOverlayCustomComponent, NoRowsOverlayDefaultComponent, SC_AG_GRID_BEFORE_ACTION, SC_AG_GRID_BUTTON_HEADER, SMX_PROFILE_EXCEL, SMX_PROFILE_PDF, SMX_PROFILE_TXT, ScAgGridBeforeActionDirective, ScAgGridButtonHeader, ScAgGridCustomizableComponent, ScAgGridModule, ScAgGridPaginableComponent, ScCellRenderButtonService, ScCellRenderCheckboxListComponent, ScCellRenderSelectComponent, ScCellRenderToggleComponent, ScCellRendererButtonComponent, ScMenuPanelComponent, ScWizardBase, ScWizardComponent, ScWizardModule, SearchParams, SmxDashCardBasicComponent, SmxDashCardDoughnutExtLabelsComponent, SmxDashCardKpiLegendComponent, SmxDashCardLegendChartComponent, SmxDashCardLegendChartSelectComponent, SmxDashCardLegendChartTabsComponent, SmxDashCardMetricListComponent, SmxDashCardRankingComponent, SmxDashCardTableComponent, SmxUploadFileComponent, SmxValidateFileComponent, SumaxDashboardComponent, TextAreaComponent, TextAreaModule, TextAreaService, TypeControl, WidgetCode, bodyContentCenter, bodyContentRight, isChartAvailable, isObjEmpty, registerChartGlobal, setClassFlex };
11598
11607
  //# sourceMappingURL=ngx-sumax-erp-components.mjs.map