-- =============================================================================
-- OC y Clasificación — 2/3: solicitudes de clasificación
-- Base: asercolg_bitacora (conexión `cti`) · MariaDB 10.6
-- Ver specs/Especificacion_CTC_OC_Clasificacion.md §A.5, D1 y RN-3.1
-- =============================================================================
--
-- La bolsa de clasificación vive en Central (proyecto `cia`) y sus datos aquí.
-- Las dos aplicaciones leen y escriben estas tablas:
--   · CTC  crea la solicitud al cargar la OC y el In House diligencia la ficha.
--   · cia  opera la bolsa, el reloj del ANS, las suspensiones y el VoBo.
--
-- Usuarios: el CTC usa `asercolg_po.users` y cia usa los usuarios de CTI. Por
-- eso cada registro de autoría guarda el sistema, el id y el nombre del usuario
-- al momento de la acción, en lugar de una FK a una sola tabla de usuarios.
--
-- Referencias a otras bases (PO, material, comex): solo lógicas, sin FK.
--
-- La solicitud se agrupa por la OC que la originó (cabecera), pero cada ítem es
-- un material, no una línea de la OC (RN-1.23). El material apunta de vuelta a
-- su última solicitud en asercolg_po.material.id_solicitud_clasificacion.
--
-- CLAUDE.md §3: lo aplica el DBA a mano; NO se crea migración.
-- Es idempotente: CREATE TABLE IF NOT EXISTS e INSERT ... WHERE NOT EXISTS.
--
-- Orden: este es el 2º de 3 (ver oc_clasificacion_01_ctc.sql).
--
-- =============================================================================
-- PASO 0 — Estado antes (ejecutar y guardar la salida)
-- =============================================================================

SELECT TABLE_NAME, TABLE_ROWS
  FROM information_schema.TABLES
 WHERE TABLE_SCHEMA = DATABASE()
   AND (TABLE_NAME LIKE 'clasificacion\_%' OR TABLE_NAME = 'ctc_alerta');
-- Esperado antes de la primera ejecución: ninguna fila.

-- Collation por defecto de la base, para confirmar que las tablas nuevas
-- (utf8mb4_unicode_ci) no generan conflictos al cruzarse con las existentes.
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
  FROM information_schema.SCHEMATA
 WHERE SCHEMA_NAME = DATABASE();

-- Rol del Coordinador de Registros de Importación (destinatario de alertas de RIM).
SELECT id, nombre, estado FROM `roles` WHERE id = 47;

-- =============================================================================
-- PASO 1 — Catálogos
-- =============================================================================

-- Tipos de documento que el analista puede exigir en una solicitud (RN-2.2).
CREATE TABLE IF NOT EXISTS `clasificacion_tipo_documento` (
  `id`         INT(11)      NOT NULL AUTO_INCREMENT,
  `nombre`     VARCHAR(100) NOT NULL,
  `orden`      INT(11)      NOT NULL DEFAULT 0,
  `estado`     TINYINT(4)   NOT NULL DEFAULT 1,
  `created_at` TIMESTAMP    NULL DEFAULT NULL,
  `updated_at` TIMESTAMP    NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_clasificacion_tipo_documento_nombre` (`nombre`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Rangos del ANS, editables sin cambios de código (RN-7.8).
-- `items_hasta` NULL = sin tope (16 o más).
CREATE TABLE IF NOT EXISTS `clasificacion_ans_rango` (
  `id`           INT(11)    NOT NULL AUTO_INCREMENT,
  `items_desde`  INT(11)    NOT NULL,
  `items_hasta`  INT(11)    DEFAULT NULL,
  `dias_habiles` INT(11)    NOT NULL,
  `estado`       TINYINT(4) NOT NULL DEFAULT 1,
  `created_at`   TIMESTAMP  NULL DEFAULT NULL,
  `updated_at`   TIMESTAMP  NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_clasificacion_ans_rango_desde` (`items_desde`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Quién ve las solicitudes (RN-3.2). Parametrizable; se arranca con la
-- configuración inicial del PASO 4 y se ajusta sin bloquear la operación.
CREATE TABLE IF NOT EXISTS `clasificacion_visibilidad` (
  `id`         INT(11)      NOT NULL AUTO_INCREMENT,
  `tipo`       VARCHAR(20)  NOT NULL COMMENT 'CREADOR | IN_HOUSE | ANALISTA | DIRECCION_SAC | ROL_CTI | USUARIO',
  `valor`      VARCHAR(50)  DEFAULT NULL COMMENT 'id del rol de CTI o del usuario; NULL en los tipos lógicos',
  `estado`     TINYINT(4)   NOT NULL DEFAULT 1,
  `created_at` TIMESTAMP    NULL DEFAULT NULL,
  `updated_at` TIMESTAMP    NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_clasificacion_visibilidad` (`tipo`, `valor`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =============================================================================
-- PASO 2 — Solicitud y sus ítems
-- =============================================================================

CREATE TABLE IF NOT EXISTS `clasificacion_solicitud` (
  `id`                         INT(11)      NOT NULL AUTO_INCREMENT,
  `id_po`                      INT(11)      NOT NULL     COMMENT 'asercolg_po.PO.id',
  `po`                         VARCHAR(100) NOT NULL     COMMENT 'Número de OC, copiado para listar sin cruzar bases',
  `pedido`                     VARCHAR(50)  DEFAULT NULL COMMENT 'Consecutivo del sistema (RN-2.8)',
  `id_importador`              INT(11)      NOT NULL     COMMENT 'comex.importadores.ID_IMPORTADOR',
  `id_grupo_empresarial`       INT(11)      DEFAULT NULL COMMENT 'NULL si el cliente no usa CTC',
  `sistema_origen`             VARCHAR(10)  NOT NULL     COMMENT 'CTC | CENTRAL',
  `estado`                     VARCHAR(40)  NOT NULL     COMMENT 'DOCUMENTOS_INCOMPLETOS | DOCUMENTOS_COMPLETOS | EN_CLASIFICACION | SUSPENDIDA | CLASIFICADA | PRODUCTO_CREADO | PENDIENTE_RIM | EN_TRAMITE_RIM | RIM_APROBADO | VOBO_OTORGADO',
  `cantidad_items`             INT(11)      NOT NULL DEFAULT 0,
  `dias_ans`                   INT(11)      DEFAULT NULL COMMENT 'Plazo según clasificacion_ans_rango, fijado al pasar a Documentos completos',
  `dias_ampliados`             INT(11)      NOT NULL DEFAULT 0 COMMENT 'Suma de ampliaciones autorizadas (RN-7.3)',
  `fecha_limite`               DATE         DEFAULT NULL COMMENT 'La calcula cia (RelojAns); el CTC solo la lee',
  `dias_consumidos`            INT(11)      DEFAULT NULL COMMENT 'Días hábiles consumidos sin suspensiones; los calcula cia',
  `fecha_documentos_completos` DATETIME     DEFAULT NULL COMMENT 'Inicio del reloj (RN-7.1)',
  `fecha_clasificada`          DATETIME     DEFAULT NULL COMMENT 'Fin del reloj (RN-7.1)',
  `fecha_producto_creado`      DATETIME     DEFAULT NULL,
  `fecha_rim_aprobado`         DATETIME     DEFAULT NULL,
  `fecha_vobo`                 DATETIME     DEFAULT NULL,
  `sistema_creador`            VARCHAR(10)  NOT NULL     COMMENT 'CTC | CENTRAL',
  `id_user_creador`            INT(11)      NOT NULL,
  `usuario_creador`            VARCHAR(150) DEFAULT NULL,
  `id_analista`                INT(11)      DEFAULT NULL COMMENT 'Usuario de CTI que tomó la solicitud',
  `created_at`                 TIMESTAMP    NULL DEFAULT NULL,
  `updated_at`                 TIMESTAMP    NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_clasificacion_solicitud_po` (`id_po`),
  KEY `ix_clasificacion_solicitud_importador` (`id_importador`, `estado`),
  KEY `ix_clasificacion_solicitud_grupo` (`id_grupo_empresarial`, `estado`),
  KEY `ix_clasificacion_solicitud_analista` (`id_analista`, `estado`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `clasificacion_item` (
  `id`                         INT(11)      NOT NULL AUTO_INCREMENT,
  `id_solicitud`               INT(11)      NOT NULL,
  `id_material`                INT(11)      NOT NULL     COMMENT 'asercolg_po.material.id',
  -- Copias de material al crear el ítem, para listar en la bolsa sin cruzar bases
  `codigo_sap`                 VARCHAR(50)  DEFAULT NULL COMMENT 'material.codigo_sap',
  `codigo_producto`            VARCHAR(50)  DEFAULT NULL COMMENT 'material.codigo',
  `texto_breve`                VARCHAR(255) NOT NULL     COMMENT 'material.nombre (descripción corta de la plantilla)',
  `proveedor`                  VARCHAR(200) DEFAULT NULL,
  -- Ficha estructurada (Módulo 2, descripción estructurada)
  `nombre_es`                  VARCHAR(255) DEFAULT NULL COMMENT 'Nombre comercial del producto en español',
  `marca`                      VARCHAR(100) DEFAULT NULL,
  `referencia`                 VARCHAR(100) DEFAULT NULL,
  `modelo`                     VARCHAR(100) DEFAULT NULL,
  `serial`                     VARCHAR(100) DEFAULT NULL,
  `materia_constitutiva`       VARCHAR(255) DEFAULT NULL,
  `principio_funcionamiento`   VARCHAR(500) DEFAULT NULL,
  `uso_funcion`                VARCHAR(500) DEFAULT NULL,
  `destino_maquina`            VARCHAR(255) DEFAULT NULL COMMENT 'Máquina en la que se instalará',
  `funcion_maquina`            VARCHAR(500) DEFAULT NULL,
  -- Resultado de la clasificación
  `subpartida_sugerida`        VARCHAR(10)  DEFAULT NULL,
  `requisito`                  VARCHAR(500) DEFAULT NULL,
  `rim_indicativo_subpartida`  VARCHAR(5)   DEFAULT NULL COMMENT 'comex.posicion_arancelaria.REQUIERE_REGISTRO al registrar la subpartida (RN-4.2)',
  `rim_indicativo_producto`    CHAR(1)      DEFAULT NULL COMMENT 'comex.productos.REQUIERE_REGISTRO_IMPORTACION (RN-4.2)',
  `requiere_rim`               TINYINT(1)   DEFAULT NULL COMMENT 'Decisión del analista (D5)',
  `id_solicitud_rim`           INT(11)      DEFAULT NULL COMMENT 'solicitud_registros_importacion.id (RN-4.2); el VoBo espera su aprobación',
  `codigo_creado_websimex`     VARCHAR(50)  DEFAULT NULL COMMENT 'Código verificado en comex.productos (RN-2.6)',
  `id_producto_websimex`       INT(11)      DEFAULT NULL,
  `vobo`                       TINYINT(1)   NOT NULL DEFAULT 0,
  `fecha_vobo`                 DATETIME     DEFAULT NULL,
  `id_user_vobo`               INT(11)      DEFAULT NULL,
  `created_at`                 TIMESTAMP    NULL DEFAULT NULL,
  `updated_at`                 TIMESTAMP    NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_clasificacion_item_solicitud` (`id_solicitud`),
  KEY `ix_clasificacion_item_material` (`id_material`),
  KEY `ix_clasificacion_item_rim` (`id_solicitud_rim`),
  CONSTRAINT `fk_clasificacion_item_solicitud`
    FOREIGN KEY (`id_solicitud`) REFERENCES `clasificacion_solicitud` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Documentos que el analista exige para cada ítem (RN-2.2). La solicitud pasa
-- sola a Documentos completos cuando todos están cargados (RN-2.3).
CREATE TABLE IF NOT EXISTS `clasificacion_documento_requerido` (
  `id`                INT(11)      NOT NULL AUTO_INCREMENT,
  `id_item`           INT(11)      NOT NULL,
  `id_tipo_documento` INT(11)      NOT NULL,
  `cargado`           TINYINT(1)   NOT NULL DEFAULT 0,
  `ruta_archivo`      VARCHAR(500) DEFAULT NULL COMMENT 'Clave del objeto PRIVADO en S3, nunca una URL (RN-1.9)',
  `nombre_archivo`    VARCHAR(255) DEFAULT NULL,
  `fecha_carga`       DATETIME     DEFAULT NULL,
  `sistema_carga`     VARCHAR(10)  DEFAULT NULL COMMENT 'CTC (In House) | CENTRAL (analista, respuesta del proveedor RN-2.9)',
  `id_user_carga`     INT(11)      DEFAULT NULL,
  `id_user_define`    INT(11)      NOT NULL     COMMENT 'Analista que exigió el documento',
  `fecha_define`      DATETIME     NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_clasificacion_documento_requerido` (`id_item`, `id_tipo_documento`),
  CONSTRAINT `fk_clasificacion_documento_item`
    FOREIGN KEY (`id_item`) REFERENCES `clasificacion_item` (`id`),
  CONSTRAINT `fk_clasificacion_documento_tipo`
    FOREIGN KEY (`id_tipo_documento`) REFERENCES `clasificacion_tipo_documento` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =============================================================================
-- PASO 3 — Historial, suspensiones, ampliaciones y alertas
-- =============================================================================

-- Inmutable (RN-7.7): la aplicación solo inserta.
CREATE TABLE IF NOT EXISTS `clasificacion_estado_historial` (
  `id`              INT(11)      NOT NULL AUTO_INCREMENT,
  `id_solicitud`    INT(11)      NOT NULL,
  `estado_anterior` VARCHAR(40)  DEFAULT NULL,
  `estado_nuevo`    VARCHAR(40)  NOT NULL,
  `comentario`      VARCHAR(500) DEFAULT NULL,
  `sistema`         VARCHAR(10)  NOT NULL COMMENT 'CTC | CENTRAL',
  `id_user`         INT(11)      NOT NULL,
  `usuario`         VARCHAR(150) DEFAULT NULL,
  `fecha`           DATETIME     NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_clasificacion_estado_historial_solicitud` (`id_solicitud`, `fecha`),
  CONSTRAINT `fk_clasificacion_historial_solicitud`
    FOREIGN KEY (`id_solicitud`) REFERENCES `clasificacion_solicitud` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- RN-7.4 a RN-7.7. Una respuesta incompleta no reactiva el reloj: se cuenta en
-- `respuestas_incompletas` y la suspensión sigue abierta.
CREATE TABLE IF NOT EXISTS `clasificacion_suspension` (
  `id`                       INT(11)      NOT NULL AUTO_INCREMENT,
  `id_solicitud`             INT(11)      NOT NULL,
  `motivo`                   VARCHAR(255) NOT NULL,
  `informacion_pedida`       TEXT         NOT NULL,
  `id_user_suspende`         INT(11)      NOT NULL,
  `usuario_suspende`         VARCHAR(150) DEFAULT NULL,
  `fecha_suspension`         DATETIME     NOT NULL,
  `respuestas_incompletas`   INT(11)      NOT NULL DEFAULT 0,
  `fecha_respuesta`          DATETIME     DEFAULT NULL COMMENT 'Respuesta completa: aquí se reactiva el reloj',
  `id_user_reactiva`         INT(11)      DEFAULT NULL,
  `usuario_reactiva`         VARCHAR(150) DEFAULT NULL,
  `dias_habiles_suspendidos` INT(11)      DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_clasificacion_suspension_solicitud` (`id_solicitud`, `fecha_suspension`),
  CONSTRAINT `fk_clasificacion_suspension_solicitud`
    FOREIGN KEY (`id_solicitud`) REFERENCES `clasificacion_solicitud` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Ampliaciones para 16 ítems o más; las autoriza la Dirección de Servicio al
-- Cliente (RN-7.3).
CREATE TABLE IF NOT EXISTS `clasificacion_ampliacion` (
  `id`                INT(11)      NOT NULL AUTO_INCREMENT,
  `id_solicitud`      INT(11)      NOT NULL,
  `dias_adicionales`  INT(11)      NOT NULL,
  `justificacion`     VARCHAR(1000) NOT NULL,
  `estado`            VARCHAR(12)  NOT NULL DEFAULT 'PENDIENTE' COMMENT 'PENDIENTE | AUTORIZADA | RECHAZADA',
  `id_user_solicita`  INT(11)      NOT NULL,
  `fecha_solicitud`   DATETIME     NOT NULL,
  `id_user_autoriza`  INT(11)      DEFAULT NULL,
  `fecha_autoriza`    DATETIME     DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_clasificacion_ampliacion_solicitud` (`id_solicitud`, `estado`),
  CONSTRAINT `fk_clasificacion_ampliacion_solicitud`
    FOREIGN KEY (`id_solicitud`) REFERENCES `clasificacion_solicitud` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Alertas en pantalla. Va en esta base porque la leen el CTC (In House) y cia
-- (analistas). El correo de cada alerta queda además en correo_auditoria.
CREATE TABLE IF NOT EXISTS `ctc_alerta` (
  `id`                 INT(11)      NOT NULL AUTO_INCREMENT,
  `tipo`               VARCHAR(30)  NOT NULL COMMENT 'PRODUCTO_NUEVO | DOCUMENTOS_INCOMPLETOS | ANS_RIESGO | PRODUCTO_POR_CREAR | PROVEEDOR_POR_CREAR | REQUIERE_RIM | RIM_SIN_APROBAR | ADICION_PRODUCTOS',
  `id_solicitud`       INT(11)      DEFAULT NULL,
  `id_po`              INT(11)      DEFAULT NULL,
  `id_importador`      INT(11)      NOT NULL,
  `id_grupo_empresarial` INT(11)    DEFAULT NULL,
  `mensaje`            VARCHAR(500) NOT NULL,
  `destinatario_sistema` VARCHAR(10) NOT NULL COMMENT 'CTC | CENTRAL',
  `destinatario_id`    INT(11)      NOT NULL COMMENT 'Usuario del sistema indicado',
  `leida`              TINYINT(1)   NOT NULL DEFAULT 0,
  `fecha_lectura`      DATETIME     DEFAULT NULL,
  `created_at`         TIMESTAMP    NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_ctc_alerta_destinatario` (`destinatario_sistema`, `destinatario_id`, `leida`),
  KEY `ix_ctc_alerta_solicitud` (`id_solicitud`),
  KEY `ix_ctc_alerta_po` (`id_po`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- =============================================================================
-- PASO 4 — Datos iniciales
-- =============================================================================

-- Rangos del ANS (Módulo 7).
INSERT INTO `clasificacion_ans_rango` (`items_desde`, `items_hasta`, `dias_habiles`, `estado`, `created_at`)
SELECT v.desde, v.hasta, v.dias, 1, NOW()
  FROM (SELECT  1 AS desde,    3 AS hasta, 2 AS dias UNION ALL
        SELECT  4,             5,          3        UNION ALL
        SELECT  6,            10,          5        UNION ALL
        SELECT 11,            15,          6        UNION ALL
        SELECT 16,          NULL,          8) v
 WHERE NOT EXISTS (SELECT 1 FROM `clasificacion_ans_rango` r WHERE r.items_desde = v.desde);

-- Tipos de documento. PROPUESTA: la lista la valida el negocio; se puede
-- ampliar después desde la aplicación.
INSERT INTO `clasificacion_tipo_documento` (`nombre`, `orden`, `estado`, `created_at`)
SELECT v.nombre, v.orden, 1, NOW()
  FROM (SELECT 'Ficha técnica'                 AS nombre, 1 AS orden UNION ALL
        SELECT 'Foto del producto',                     2 UNION ALL
        SELECT 'Foto de la máquina destino',            3 UNION ALL
        SELECT 'Catálogo o manual',                     4 UNION ALL
        SELECT 'Hoja de seguridad',                     5 UNION ALL
        SELECT 'Otro',                                  6) v
 WHERE NOT EXISTS (SELECT 1 FROM `clasificacion_tipo_documento` t WHERE t.nombre = v.nombre);

-- Visibilidad inicial (RN-3.2). El rol de CTI para clasificar se agrega en la
-- tarea 0.7, cuando se designe:
--   INSERT INTO clasificacion_visibilidad (tipo, valor, estado, created_at)
--   VALUES ('ROL_CTI', '<id del rol>', 1, NOW());
INSERT INTO `clasificacion_visibilidad` (`tipo`, `valor`, `estado`, `created_at`)
SELECT v.tipo, NULL, 1, NOW()
  FROM (SELECT 'CREADOR' AS tipo UNION ALL
        SELECT 'IN_HOUSE'        UNION ALL
        SELECT 'ANALISTA'        UNION ALL
        SELECT 'DIRECCION_SAC') v
 WHERE NOT EXISTS (SELECT 1 FROM `clasificacion_visibilidad` x WHERE x.tipo = v.tipo AND x.valor IS NULL);

-- =============================================================================
-- PASO 5 — Verificación
-- =============================================================================

SELECT TABLE_NAME
  FROM information_schema.TABLES
 WHERE TABLE_SCHEMA = DATABASE()
   AND TABLE_NAME IN ('clasificacion_tipo_documento', 'clasificacion_ans_rango', 'clasificacion_visibilidad',
                      'clasificacion_solicitud', 'clasificacion_item', 'clasificacion_documento_requerido',
                      'clasificacion_estado_historial', 'clasificacion_suspension', 'clasificacion_ampliacion',
                      'ctc_alerta');
-- Esperado: 10 filas.

SELECT items_desde, items_hasta, dias_habiles FROM `clasificacion_ans_rango` ORDER BY items_desde;
-- Esperado: 1-3:2 · 4-5:3 · 6-10:5 · 11-15:6 · 16-NULL:8.

SELECT tipo, valor FROM `clasificacion_visibilidad` WHERE estado = 1;
-- Esperado: CREADOR, IN_HOUSE, ANALISTA, DIRECCION_SAC.

-- =============================================================================
-- Para revertir (solo si el módulo no ha escrito datos todavía)
-- =============================================================================
--
--   DROP TABLE IF EXISTS `ctc_alerta`;
--   DROP TABLE IF EXISTS `clasificacion_ampliacion`;
--   DROP TABLE IF EXISTS `clasificacion_suspension`;
--   DROP TABLE IF EXISTS `clasificacion_estado_historial`;
--   DROP TABLE IF EXISTS `clasificacion_documento_requerido`;
--   DROP TABLE IF EXISTS `clasificacion_item`;
--   DROP TABLE IF EXISTS `clasificacion_solicitud`;
--   DROP TABLE IF EXISTS `clasificacion_visibilidad`;
--   DROP TABLE IF EXISTS `clasificacion_ans_rango`;
--   DROP TABLE IF EXISTS `clasificacion_tipo_documento`;
