From 21a1b27d35667fe2ff3b75e9e93cdc539625403f Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Thu, 19 Feb 2026 12:49:17 -0300 Subject: [PATCH] . --- dist-back/dayjs26.js | 49 +++++++++++++++++++ dist-back/index.js | 2 + dist-front/index.d.mts | 79 ++++++++++++++++++++++++++++-- dist-front/index.mjs | 2 +- package.json | 2 +- pacote.tgz | Bin 29408 -> 30970 bytes src/dayjs26.ts | 108 +++++++++++++++++++++++++++++++++++++++++ src/index.ts | 1 + 8 files changed, 238 insertions(+), 5 deletions(-) create mode 100644 dist-back/dayjs26.js create mode 100755 src/dayjs26.ts diff --git a/dist-back/dayjs26.js b/dist-back/dayjs26.js new file mode 100644 index 0000000..da03329 --- /dev/null +++ b/dist-back/dayjs26.js @@ -0,0 +1,49 @@ +"use strict"; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var dayjs26_exports = {}; +__export(dayjs26_exports, { + defineDayjsBr: () => defineDayjsBr +}); +module.exports = __toCommonJS(dayjs26_exports); +const defineDayjsBr = ({ + dayjs, + duration, + isSameOrAfter, + isSameOrBefore, + minMax, + relativeTime, + timezone, + utc, + weekOfYear +}) => { + dayjs.extend(utc); + dayjs.extend(timezone); + dayjs.extend(weekOfYear); + dayjs.extend(isSameOrBefore); + dayjs.extend(isSameOrAfter); + dayjs.extend(minMax); + dayjs.extend(relativeTime); + dayjs.extend(duration); + dayjs.locale("pt-br"); + return dayjs; +}; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + defineDayjsBr +}); diff --git a/dist-back/index.js b/dist-back/index.js index 487f583..4d12d2d 100644 --- a/dist-back/index.js +++ b/dist-back/index.js @@ -20,6 +20,7 @@ __reExport(index_exports, require("./cacheMemoria"), module.exports); __reExport(index_exports, require("./constantes"), module.exports); __reExport(index_exports, require("./consulta"), module.exports); __reExport(index_exports, require("./dayjs"), module.exports); +__reExport(index_exports, require("./dayjs26"), module.exports); __reExport(index_exports, require("./ecosistema"), module.exports); __reExport(index_exports, require("./extensoes"), module.exports); __reExport(index_exports, require("./extensoes"), module.exports); @@ -42,6 +43,7 @@ __reExport(index_exports, require("./variaveisComuns"), module.exports); ...require("./constantes"), ...require("./consulta"), ...require("./dayjs"), + ...require("./dayjs26"), ...require("./ecosistema"), ...require("./extensoes"), ...require("./extensoes"), diff --git a/dist-front/index.d.mts b/dist-front/index.d.mts index 8fb1e77..52e0fa3 100644 --- a/dist-front/index.d.mts +++ b/dist-front/index.d.mts @@ -1,6 +1,14 @@ import z, { z as z$1 } from 'zod'; -import dayjs from 'dayjs'; +import _dayjs from 'dayjs'; export { Dayjs, ManipulateType } from 'dayjs'; +import _duration from 'dayjs/plugin/duration'; +import _isSameOrAfter from 'dayjs/plugin/isSameOrAfter'; +import _isSameOrBefore from 'dayjs/plugin/isSameOrBefore'; +import _minMax from 'dayjs/plugin/minMax'; +import _relativeTime from 'dayjs/plugin/relativeTime'; +import _timezone from 'dayjs/plugin/timezone'; +import _utc from 'dayjs/plugin/utc'; +import _weekOfYear from 'dayjs/plugin/weekOfYear'; import { v4 } from 'uuid'; declare const aleatorio: (tamanho?: number) => string; @@ -93,7 +101,72 @@ declare const zFiltro: z.ZodObject<{ ou: z.ZodOptional; }, z.core.$strip>; -declare const dayjsbr: typeof dayjs; +declare const dayjsbr: typeof _dayjs; + +/** + * Utilitário de configuração do Dayjs focado em compatibilidade com SSR. + * + * PROBLEMA: + * A importação direta do `dayjs` e seus plugins frequentemente causa conflitos em ambientes + * de Renderização do Lado do Servidor (SSR), como Nuxt ou Next.js, devido a discrepâncias + * na resolução de módulos (ESM vs CJS) e instabilidades de importação. + * + * SOLUÇÃO: + * Este módulo utiliza o padrão de Injeção de Dependência. Ele expõe apenas tipagens e + * uma função de configuração (`defineDayjsBr`). A responsabilidade de importar as + * bibliotecas "vivas" é delegada à aplicação consumidora (o cliente da função). + * + * Isso permite que o bundler da aplicação principal (Vite, Webpack, etc.) gerencie as + * instâncias, garantindo consistência e evitando erros de "module not found" ou + * instâncias duplicadas/não inicializadas adequadamente. + */ + +/** + * Inicializa e configura o Dayjs com o locale 'pt-br' e plugins essenciais. + * + * MODO DE USO: + * Importe os pacotes reais na sua aplicação e passe-os para esta função. + * + * @example + * ```ts + * // Em seu arquivo de configuração (ex: plugins/dayjs.ts): + * import dayjs from "dayjs"; + * import duration from "dayjs/plugin/duration"; + * import isSameOrAfter from "dayjs/plugin/isSameOrAfter"; + * import isSameOrBefore from "dayjs/plugin/isSameOrBefore"; + * import minMax from "dayjs/plugin/minMax"; + * import relativeTime from "dayjs/plugin/relativeTime"; + * import timezone from "dayjs/plugin/timezone"; + * import utc from "dayjs/plugin/utc"; + * import weekOfYear from "dayjs/plugin/weekOfYear"; + * import "dayjs/locale/pt-br"; // Importante: importar o locale! + * + * import { defineDayjsBr } from "@comuns/src/dayjs26"; + * + * export const dayjsbr = defineDayjsBr({ + * dayjs, + * duration, + * isSameOrAfter, + * isSameOrBefore, + * minMax, + * relativeTime, + * timezone, + * utc, + * weekOfYear, + * }); + * ``` + */ +declare const defineDayjsBr: ({ dayjs, duration, isSameOrAfter, isSameOrBefore, minMax, relativeTime, timezone, utc, weekOfYear, }: { + dayjs: typeof _dayjs; + duration: typeof _duration; + isSameOrAfter: typeof _isSameOrAfter; + isSameOrBefore: typeof _isSameOrBefore; + minMax: typeof _minMax; + relativeTime: typeof _relativeTime; + timezone: typeof _timezone; + utc: typeof _utc; + weekOfYear: typeof _weekOfYear; +}) => typeof _dayjs; declare const link_paiol = "https://paiol.idz.one"; @@ -467,4 +540,4 @@ declare const nomeVariavel: (v: { [key: string]: any; }) => string; -export { Produtos, TipagemRotas, agrupadores26, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, criarFiltro26, dayjsbr, erUuid, esperar, extensoes, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadores, operadores26, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoFiltro, type tipoFiltro26, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zFiltro26, zOperadores }; +export { Produtos, TipagemRotas, agrupadores26, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, criarFiltro26, dayjsbr, defineDayjsBr, erUuid, esperar, extensoes, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadores, operadores26, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoFiltro, type tipoFiltro26, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zFiltro, zFiltro26, zOperadores }; diff --git a/dist-front/index.mjs b/dist-front/index.mjs index 8b1aae0..1a07b9a 100644 --- a/dist-front/index.mjs +++ b/dist-front/index.mjs @@ -1 +1 @@ -var g="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),Z=o=>`eli-${Array.from({length:o||8}).map(()=>g[(999*Math.random()|0)%g.length]).join("")}`;var f={};globalThis.cacheMemoria_cache=f;var x=(o,r,a)=>{let n=typeof o=="string"?o:typeof o=="number"?String(o):encodeURIComponent(JSON.stringify(o)),t=a&&new Date().getTime()+a*1e3;r!==void 0&&(f[n]={valor:r,validade:t});let i=f[n];if(!(i?.validade&&i.validadef,X=x,S=o=>r=>x(o,r);var oo="00000000-0000-0000-0000-000000000000",b=(m=>(m.codigo="codigo",m.excluido="excluido",m.data_hora_criacao="data_hora_criacao",m.data_hora_atualizacao="data_hora_atualizacao",m.codigo_usuario_criacao="codigo_usuario_criacao",m.codigo_usuario_atualizacao="codigo_usuario_atualizacao",m.versao="versao",m))(b||{}),v=(r=>(r.token="token",r))(v||{}),h=(a=>(a.Usuario="usuario",a.Fornecedor="fornecedor",a))(h||{});import s from"zod";var T=(n=>(n["="]="=",n["!="]="!=",n[">"]=">",n[">="]=">=",n["<"]="<",n["<="]="<=",n.like="like",n.in="in",n.isNull="isNull",n))(T||{}),O=s.enum(["=","!=",">",">=","<","<=","like","in","isNull"]),ro=s.object({coluna:s.string(),valor:s.any(),operador:O,ou:s.boolean().optional()});import z from"dayjs";import j from"dayjs/plugin/duration";import w from"dayjs/plugin/isSameOrAfter";import k from"dayjs/plugin/isSameOrBefore";import N from"dayjs/plugin/minMax";import F from"dayjs/plugin/relativeTime";import P from"dayjs/plugin/timezone";import K from"dayjs/plugin/utc";import U from"dayjs/plugin/weekOfYear";import"dayjs/locale/pt-br";var d=z;d.locale("pt-br");d.extend(K);d.extend(P);d.extend(U);d.extend(k);d.extend(w);d.extend(N);d.extend(F);d.extend(j);var _o="https://paiol.idz.one";var M=[{ext:"gif",tipo:"imagem",mime:"image/gif"},{ext:"jpg",tipo:"imagem",mime:"image/jpeg"},{ext:"jpeg",tipo:"imagem",mime:"image/jpeg"},{ext:"png",tipo:"imagem",mime:"image/png"},{ext:"bmp",tipo:"imagem",mime:"image/bmp"},{ext:"webp",tipo:"imagem",mime:"image/webp"},{ext:"tiff",tipo:"imagem",mime:"image/tiff"},{ext:"svg",tipo:"imagem",mime:"image/svg+xml"},{ext:"ico",tipo:"imagem",mime:"image/x-icon"},{ext:"pdf",tipo:"documento",mime:"application/pdf"},{ext:"doc",tipo:"documento",mime:"application/msword"},{ext:"docx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},{ext:"xls",tipo:"documento",mime:"application/vnd.ms-excel"},{ext:"xlsx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{ext:"ppt",tipo:"documento",mime:"application/vnd.ms-powerpoint"},{ext:"pptx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},{ext:"txt",tipo:"documento",mime:"text/plain"},{ext:"odt",tipo:"documento",mime:"application/vnd.oasis.opendocument.text"},{ext:"ods",tipo:"documento",mime:"application/vnd.oasis.opendocument.spreadsheet"},{ext:"rtf",tipo:"documento",mime:"application/rtf"},{ext:"csv",tipo:"documento",mime:"text/csv"},{ext:"mp4",tipo:"v\xEDdeo",mime:"video/mp4"},{ext:"avi",tipo:"v\xEDdeo",mime:"video/x-msvideo"},{ext:"mkv",tipo:"v\xEDdeo",mime:"video/x-matroska"},{ext:"mov",tipo:"v\xEDdeo",mime:"video/quicktime"},{ext:"wmv",tipo:"v\xEDdeo",mime:"video/x-ms-wmv"},{ext:"flv",tipo:"v\xEDdeo",mime:"video/x-flv"},{ext:"webm",tipo:"v\xEDdeo",mime:"video/webm"},{ext:"3gp",tipo:"v\xEDdeo",mime:"video/3gpp"},{ext:"mpeg",tipo:"v\xEDdeo",mime:"video/mpeg"}],ho=o=>{let r=String(o||"").toLocaleLowerCase().split(".").pop();return M.find(n=>n.ext===r)?.tipo||"outros"};var Oo=(o,r)=>{let a="localStorage"in globalThis?globalThis.localStorage:void 0;if(typeof a>"u")return null;let n=typeof o=="string"?o:encodeURIComponent(JSON.stringify(o));try{r!==void 0&&a.setItem(n,JSON.stringify(r));let t=a.getItem(n);if(t===null)return null;try{return JSON.parse(t)}catch{return t}}catch{return null}};var c=o=>{try{return Object.fromEntries(Object.entries(o).map(([r,a])=>[r,a===void 0||a==null||typeof a=="string"||typeof a=="number"||typeof a=="boolean"?a:JSON.stringify(a,null,2)]))}catch(r){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${r.message} ${r.stack}`)}},jo=c,wo=c;var L=(o=>(o["e-licencie"]="e-licencie",o["gov.e-licencie"]="gov.e-licencie",o))(L||{});var q=(e=>(e.modelo="000_modelo",e.vencida="100_vencida",e.expirado="200_expirado",e.alerta="300_alerta",e.protocoladafora="350_protocoladafora",e.protocolada="400_protocolada",e.protocoladaApenas="430_protocolada",e.protocolada_alteracao="450_protocolada",e.prazo="500_prazo",e.emitida="515_emitida",e.valida="518_valida",e.novo="520_novo",e.recebido="521_recebido",e.em_andamento="530_em_andamento",e.aguardando="530_aguardando",e.aguardandoresposta="540_aguardandoresposta",e.suspensaotemporaria="540_suspensaotemporaria",e.cancelada="550_cancelada",e.execucao="560_execucao",e.pendente="570_pendente",e.executadafora="600_executadafora",e.executada="700_executada",e.naoexecutada="701_naoexecutada",e.concluida="730_concluida",e.respondido_negado="740_respondido_negado",e.respondido_aceito="741_respondido_aceito",e.atendidoparcial="742_atendidoparcial",e.naoatendido="743_naoatendido",e.atendido="744_atendido",e.renovada="760_renovada",e.finalizada="800_finalizada",e.emitirnota="101_emitirnota",e.faturaatrasada="301_faturaatrasada",e.pagarfatura="302_pagarfatura",e.aguardandoconfirmacao="531_aguardandoconfirmacao",e.agendado="701_agendado",e.faturapaga="801_faturapaga",e.excluida="999_excluida",e.requerida="401_requerida",e.vigente="516_vigente",e.emrenovacao="402_emrenovacao",e.arquivada="801_arquivada",e.aguardando_sincronizacao="999_aguardando_sincronizacao",e.nao_conforme="710_nao_conforme",e.conforme="720_conforme",e.nao_aplicavel="730_nao_aplicavel",e.parcial="715_parcial",e))(q||{});var Po=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Uo="Ol\xE1 Mundo! (vari\xE1vel)";var Io=(...o)=>o.map(r=>r==null?"":String(r).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var _=class{constructor({caminho:r,acaoIr:a,rotulo:n}){this._partesCaminho=[];this._acaoIr=a,this._partesCaminho=(Array.isArray(r)?r:[r]).filter(Boolean).map(t=>String(t)).flatMap(t=>t.split("/")).filter(Boolean),this.rotulo=n}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(r){this._partesCaminho=r.split("/").filter(a=>a)}endereco(r,a){let n=typeof globalThis<"u"&&globalThis.window||void 0,t=new URL(n?n.location.href:"http://localhost");t.pathname=this.caminho,t.search="";let i=Object.entries(r);for(let[p,m]of i)t.searchParams.set(String(p),JSON.stringify(m));return t.hash="",a&&(t.hash=`#${t.search}`,t.search=""),t.href}ir(r){if(this._acaoIr)this._acaoIr(this.endereco({...r}));else{let a=typeof globalThis<"u"&&globalThis.window||void 0;a&&(a.location.href=this.endereco({...r}))}}parametros(r){let a=r?new URL(r):new URL(typeof globalThis<"u"&&globalThis.window?globalThis.window.location.href:"http://localhost"),n=a.searchParams,t=Object.fromEntries(n.entries()),i=a.hash;if(i){let p=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());t={...t,...p}}for(let p in t)try{t[p]=JSON.parse(t[p])}catch{console.log(`[${p}|${t[p]}] n\xE3o \xE9 um json v\xE1lido.`)}return t}};import{z as l}from"zod";var y=(a=>(a["="]="=",a["!="]="!=",a[">"]=">",a[">="]=">=",a["<"]="<",a["<="]="<=",a.like="like",a.in="in",a))(y||{}),C=(a=>(a.E="E",a.OU="OU",a))(C||{}),I=l.nativeEnum(y),A=l.any(),V=l.record(I,A),u=l.lazy(()=>l.object({E:l.array(u).optional(),OU:l.array(u).optional()}).catchall(l.union([V,u]))),J=o=>o,Go=J({idade:{">=":18},OU:[{nome:{like:"%pa%"}},{E:[{carro:{ano:{"=":2020}}},{carro:{modelo:{in:["Civic","Corolla"]}}}]}]});var G=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(G||{}),Bo=[{sigla_unidade:"KG",nome:"Quilograma",sigla_normalizada:"KG",normalizar:o=>o,tipo:"massa"},{sigla_unidade:"g",nome:"Grama",sigla_normalizada:"KG",normalizar:o=>o/1e3,tipo:"massa"},{sigla_unidade:"TON",nome:"Tonelada",sigla_normalizada:"KG",normalizar:o=>o*1e3,tipo:"massa"},{sigla_unidade:"Lt",nome:"Litro",sigla_normalizada:"Lt",normalizar:o=>o,tipo:"volume"},{sigla_unidade:"M\xB3",nome:"Metro C\xFAbico",sigla_normalizada:"Lt",normalizar:o=>o*1e3,tipo:"volume"},{sigla_unidade:"UN",nome:"Unidade",sigla_normalizada:"UN",normalizar:o=>o,tipo:"unidade"}];import{NIL as $,v3 as B,v4 as D}from"uuid";var R=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Qo=o=>R.test(String(o||"")),Q=(o,r)=>B(typeof o=="string"?o:typeof o=="number"?String(o):JSON.stringify(o),r?Q(r):$),Y=D,Yo=Y;var Ho=o=>new Promise(r=>setTimeout(()=>r(!0),o)),Wo=o=>Object.keys(o).join("/");export{L as Produtos,_ as TipagemRotas,C as agrupadores26,Z as aleatorio,x as cacheM,S as cacheMFixo,X as cacheMemoria,b as camposComuns,J as criarFiltro26,d as dayjsbr,R as erUuid,Ho as esperar,M as extensoes,_o as link_paiol,Oo as localValor,Wo as nomeVariavel,wo as objetoPg,T as operadores,y as operadores26,c as paraObjetoRegistroPg,jo as pgObjeto,G as siglas_unidades_medida,Io as texto_busca,ho as tipoArquivo,h as tipoUsuarioResiduos,q as tiposSituacoesElicencie,v as tx,Po as umaFuncao,Uo as umaVariavel,Bo as unidades_medida,Yo as uuid,Q as uuidV3,Y as uuidV4,oo as uuid_null,Qo as validarUuid,W as verCacheM,ro as zFiltro,u as zFiltro26,O as zOperadores}; +var x="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),H=e=>`eli-${Array.from({length:e||8}).map(()=>x[(999*Math.random()|0)%x.length]).join("")}`;var f={};globalThis.cacheMemoria_cache=f;var g=(e,t,r)=>{let n=typeof e=="string"?e:typeof e=="number"?String(e):encodeURIComponent(JSON.stringify(e)),a=r&&new Date().getTime()+r*1e3;t!==void 0&&(f[n]={valor:t,validade:a});let i=f[n];if(!(i?.validade&&i.validadef,S=g,E=e=>t=>g(e,t);var oe="00000000-0000-0000-0000-000000000000",v=(m=>(m.codigo="codigo",m.excluido="excluido",m.data_hora_criacao="data_hora_criacao",m.data_hora_atualizacao="data_hora_atualizacao",m.codigo_usuario_criacao="codigo_usuario_criacao",m.codigo_usuario_atualizacao="codigo_usuario_atualizacao",m.versao="versao",m))(v||{}),h=(t=>(t.token="token",t))(h||{}),O=(r=>(r.Usuario="usuario",r.Fornecedor="fornecedor",r))(O||{});import s from"zod";var T=(n=>(n["="]="=",n["!="]="!=",n[">"]=">",n[">="]=">=",n["<"]="<",n["<="]="<=",n.like="like",n.in="in",n.isNull="isNull",n))(T||{}),z=s.enum(["=","!=",">",">=","<","<=","like","in","isNull"]),ae=s.object({coluna:s.string(),valor:s.any(),operador:z,ou:s.boolean().optional()});import j from"dayjs";import w from"dayjs/plugin/duration";import k from"dayjs/plugin/isSameOrAfter";import N from"dayjs/plugin/isSameOrBefore";import M from"dayjs/plugin/minMax";import F from"dayjs/plugin/relativeTime";import P from"dayjs/plugin/timezone";import K from"dayjs/plugin/utc";import U from"dayjs/plugin/weekOfYear";import"dayjs/locale/pt-br";var p=j;p.locale("pt-br");p.extend(K);p.extend(P);p.extend(U);p.extend(N);p.extend(k);p.extend(M);p.extend(F);p.extend(w);var ye=({dayjs:e,duration:t,isSameOrAfter:r,isSameOrBefore:n,minMax:a,relativeTime:i,timezone:d,utc:m,weekOfYear:b})=>(e.extend(m),e.extend(d),e.extend(b),e.extend(n),e.extend(r),e.extend(a),e.extend(i),e.extend(t),e.locale("pt-br"),e);var be="https://paiol.idz.one";var A=[{ext:"gif",tipo:"imagem",mime:"image/gif"},{ext:"jpg",tipo:"imagem",mime:"image/jpeg"},{ext:"jpeg",tipo:"imagem",mime:"image/jpeg"},{ext:"png",tipo:"imagem",mime:"image/png"},{ext:"bmp",tipo:"imagem",mime:"image/bmp"},{ext:"webp",tipo:"imagem",mime:"image/webp"},{ext:"tiff",tipo:"imagem",mime:"image/tiff"},{ext:"svg",tipo:"imagem",mime:"image/svg+xml"},{ext:"ico",tipo:"imagem",mime:"image/x-icon"},{ext:"pdf",tipo:"documento",mime:"application/pdf"},{ext:"doc",tipo:"documento",mime:"application/msword"},{ext:"docx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},{ext:"xls",tipo:"documento",mime:"application/vnd.ms-excel"},{ext:"xlsx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{ext:"ppt",tipo:"documento",mime:"application/vnd.ms-powerpoint"},{ext:"pptx",tipo:"documento",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},{ext:"txt",tipo:"documento",mime:"text/plain"},{ext:"odt",tipo:"documento",mime:"application/vnd.oasis.opendocument.text"},{ext:"ods",tipo:"documento",mime:"application/vnd.oasis.opendocument.spreadsheet"},{ext:"rtf",tipo:"documento",mime:"application/rtf"},{ext:"csv",tipo:"documento",mime:"text/csv"},{ext:"mp4",tipo:"v\xEDdeo",mime:"video/mp4"},{ext:"avi",tipo:"v\xEDdeo",mime:"video/x-msvideo"},{ext:"mkv",tipo:"v\xEDdeo",mime:"video/x-matroska"},{ext:"mov",tipo:"v\xEDdeo",mime:"video/quicktime"},{ext:"wmv",tipo:"v\xEDdeo",mime:"video/x-ms-wmv"},{ext:"flv",tipo:"v\xEDdeo",mime:"video/x-flv"},{ext:"webm",tipo:"v\xEDdeo",mime:"video/webm"},{ext:"3gp",tipo:"v\xEDdeo",mime:"video/3gpp"},{ext:"mpeg",tipo:"v\xEDdeo",mime:"video/mpeg"}],Te=e=>{let t=String(e||"").toLocaleLowerCase().split(".").pop();return A.find(n=>n.ext===t)?.tipo||"outros"};var je=(e,t)=>{let r="localStorage"in globalThis?globalThis.localStorage:void 0;if(typeof r>"u")return null;let n=typeof e=="string"?e:encodeURIComponent(JSON.stringify(e));try{t!==void 0&&r.setItem(n,JSON.stringify(t));let a=r.getItem(n);if(a===null)return null;try{return JSON.parse(a)}catch{return a}}catch{return null}};var c=e=>{try{return Object.fromEntries(Object.entries(e).map(([t,r])=>[t,r===void 0||r==null||typeof r=="string"||typeof r=="number"||typeof r=="boolean"?r:JSON.stringify(r,null,2)]))}catch(t){throw new Error(`Erro na fun\xE7\xE3o paraObjetoRegistroPg: ${t.message} ${t.stack}`)}},ke=c,Ne=c;var L=(e=>(e["e-licencie"]="e-licencie",e["gov.e-licencie"]="gov.e-licencie",e))(L||{});var q=(o=>(o.modelo="000_modelo",o.vencida="100_vencida",o.expirado="200_expirado",o.alerta="300_alerta",o.protocoladafora="350_protocoladafora",o.protocolada="400_protocolada",o.protocoladaApenas="430_protocolada",o.protocolada_alteracao="450_protocolada",o.prazo="500_prazo",o.emitida="515_emitida",o.valida="518_valida",o.novo="520_novo",o.recebido="521_recebido",o.em_andamento="530_em_andamento",o.aguardando="530_aguardando",o.aguardandoresposta="540_aguardandoresposta",o.suspensaotemporaria="540_suspensaotemporaria",o.cancelada="550_cancelada",o.execucao="560_execucao",o.pendente="570_pendente",o.executadafora="600_executadafora",o.executada="700_executada",o.naoexecutada="701_naoexecutada",o.concluida="730_concluida",o.respondido_negado="740_respondido_negado",o.respondido_aceito="741_respondido_aceito",o.atendidoparcial="742_atendidoparcial",o.naoatendido="743_naoatendido",o.atendido="744_atendido",o.renovada="760_renovada",o.finalizada="800_finalizada",o.emitirnota="101_emitirnota",o.faturaatrasada="301_faturaatrasada",o.pagarfatura="302_pagarfatura",o.aguardandoconfirmacao="531_aguardandoconfirmacao",o.agendado="701_agendado",o.faturapaga="801_faturapaga",o.excluida="999_excluida",o.requerida="401_requerida",o.vigente="516_vigente",o.emrenovacao="402_emrenovacao",o.arquivada="801_arquivada",o.aguardando_sincronizacao="999_aguardando_sincronizacao",o.nao_conforme="710_nao_conforme",o.conforme="720_conforme",o.nao_aplicavel="730_nao_aplicavel",o.parcial="715_parcial",o))(q||{});var Ke=()=>"Ol\xE1 Mundo! (fun\xE7\xE3o)";var Ae="Ol\xE1 Mundo! (vari\xE1vel)";var Be=(...e)=>e.map(t=>t==null?"":String(t).normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g," ").toLowerCase()).join(" ");var y=class{constructor({caminho:t,acaoIr:r,rotulo:n}){this._partesCaminho=[];this._acaoIr=r,this._partesCaminho=(Array.isArray(t)?t:[t]).filter(Boolean).map(a=>String(a)).flatMap(a=>a.split("/")).filter(Boolean),this.rotulo=n}get caminho(){return`/${this._partesCaminho.join("/")}`}set caminho(t){this._partesCaminho=t.split("/").filter(r=>r)}endereco(t,r){let n=typeof globalThis<"u"&&globalThis.window||void 0,a=new URL(n?n.location.href:"http://localhost");a.pathname=this.caminho,a.search="";let i=Object.entries(t);for(let[d,m]of i)a.searchParams.set(String(d),JSON.stringify(m));return a.hash="",r&&(a.hash=`#${a.search}`,a.search=""),a.href}ir(t){if(this._acaoIr)this._acaoIr(this.endereco({...t}));else{let r=typeof globalThis<"u"&&globalThis.window||void 0;r&&(r.location.href=this.endereco({...t}))}}parametros(t){let r=t?new URL(t):new URL(typeof globalThis<"u"&&globalThis.window?globalThis.window.location.href:"http://localhost"),n=r.searchParams,a=Object.fromEntries(n.entries()),i=r.hash;if(i){let d=Object.fromEntries(new URLSearchParams(i.slice(1)).entries());a={...a,...d}}for(let d in a)try{a[d]=JSON.parse(a[d])}catch{console.log(`[${d}|${a[d]}] n\xE3o \xE9 um json v\xE1lido.`)}return a}};import{z as l}from"zod";var _=(r=>(r["="]="=",r["!="]="!=",r[">"]=">",r[">="]=">=",r["<"]="<",r["<="]="<=",r.like="like",r.in="in",r))(_||{}),C=(r=>(r.E="E",r.OU="OU",r))(C||{}),I=l.nativeEnum(_),B=l.any(),V=l.record(I,B),u=l.lazy(()=>l.object({E:l.array(u).optional(),OU:l.array(u).optional()}).catchall(l.union([V,u]))),D=e=>e,Ge=D({idade:{">=":18},OU:[{nome:{like:"%pa%"}},{E:[{carro:{ano:{"=":2020}}},{carro:{modelo:{in:["Civic","Corolla"]}}}]}]});var J=(i=>(i.UN="UN",i.KG="KG",i.TON="TON",i.g="g",i["M\xB3"]="M\xB3",i.Lt="Lt",i))(J||{}),Re=[{sigla_unidade:"KG",nome:"Quilograma",sigla_normalizada:"KG",normalizar:e=>e,tipo:"massa"},{sigla_unidade:"g",nome:"Grama",sigla_normalizada:"KG",normalizar:e=>e/1e3,tipo:"massa"},{sigla_unidade:"TON",nome:"Tonelada",sigla_normalizada:"KG",normalizar:e=>e*1e3,tipo:"massa"},{sigla_unidade:"Lt",nome:"Litro",sigla_normalizada:"Lt",normalizar:e=>e,tipo:"volume"},{sigla_unidade:"M\xB3",nome:"Metro C\xFAbico",sigla_normalizada:"Lt",normalizar:e=>e*1e3,tipo:"volume"},{sigla_unidade:"UN",nome:"Unidade",sigla_normalizada:"UN",normalizar:e=>e,tipo:"unidade"}];import{NIL as G,v3 as $,v4 as R}from"uuid";var Y=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Ze=e=>Y.test(String(e||"")),Q=(e,t)=>$(typeof e=="string"?e:typeof e=="number"?String(e):JSON.stringify(e),t?Q(t):G),Z=R,He=Z;var Xe=e=>new Promise(t=>setTimeout(()=>t(!0),e)),Se=e=>Object.keys(e).join("/");export{L as Produtos,y as TipagemRotas,C as agrupadores26,H as aleatorio,g as cacheM,E as cacheMFixo,S as cacheMemoria,v as camposComuns,D as criarFiltro26,p as dayjsbr,ye as defineDayjsBr,Y as erUuid,Xe as esperar,A as extensoes,be as link_paiol,je as localValor,Se as nomeVariavel,Ne as objetoPg,T as operadores,_ as operadores26,c as paraObjetoRegistroPg,ke as pgObjeto,J as siglas_unidades_medida,Be as texto_busca,Te as tipoArquivo,O as tipoUsuarioResiduos,q as tiposSituacoesElicencie,h as tx,Ke as umaFuncao,Ae as umaVariavel,Re as unidades_medida,He as uuid,Q as uuidV3,Z as uuidV4,oe as uuid_null,Ze as validarUuid,X as verCacheM,ae as zFiltro,u as zFiltro26,z as zOperadores}; diff --git a/package.json b/package.json index 0074b61..aa4368a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.313.0", + "version": "0.316.0", "description": "", "main": "./dist-front/index.mjs", "module": "./dist-front/index.mjs", diff --git a/pacote.tgz b/pacote.tgz index 1a2226af676c04f0335d43ee19ee4a15ecb1394a..1989375bc979d2defba398214f061b542ca839d3 100644 GIT binary patch literal 30970 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 B(bxb0 literal 29408 zcmYhC18^ll-|pjVu*t^e#yPRgjct2l+qP|PHs08_ZEIs2CphQs`+nc8d#9#)rfRCD zr>d*FpXd4ih9u?-#D5Mb@MZU;Gl6si&6sl z5`V>C?M<#YOVtwh=S+*KgB8aD3G=&+?EiY&9!erFWJ>K=*0IQ<7)mC3Ck)%8Up9GK@!nkzaCTYEpam zX6D74zMvPhr3pn)>zLGS-H)}YpDDk8@MCx4aeyM($#Q&wltEN?Xrd|oM#6yjtLCvz zkL509{Pw8X?~@YzmHLpfW3tcTx5~}E^~AcI>KeY2mxiMyB7uiJW)8N6@ZYxakumo> zjEV{EJsgUNDLkWh;9z*&$zX9Q!M|B@1m1xvz@<8_3-9#VE0@@vHJQ4eo3V z&|Yk|&K$Nd%ruGe0%aT>e=hagg}ZaEIYA}&)pqz~F*g}I?mSz%BP;0&h|A-KXbb$D zfZFp8+AkiBQ1tioe!K)G1iY;Zfrp*{O7Bt2PqHG?r8-N8vh$uutB51KI%)E>D_j~&OIBvmMkXCJ#Sa90wT-^Tp~%gc zmk=Q7CkTAzEcb?isnQ;HORjl*hC~^Cy#)Y$MM=;Wf7=7Dv;r+>Qs?B(taHE_+RPV%j^)t%M9fx#WSkXb# zA0-l&PnEr8j3{lTHdx%sa|9-kkgV>{3YFggd4|s=a1q|ai+dj}Ci&PyG9rN}YKf#< zxsbb-f;L-H~RB4l~E$-#=Mg&elmmZvgXwjWH_hUx|6v zfcSymjY8jJv|E!WFIws(0G)r!P7S*!V2?*UoRi-MC`BP>jQVmz=@*vr4Q|_uuVhV5CA%} z-y{2Nhgl{>nA!qi(lH2YfsL413_7_q{;k#Ep#WrI<04_AJOIz*rR?|C}Uol$G zGN&DAQ<#YCENjsn>LnY7*iDH4k*(bA1m4p@+;ASd8}Au~8B8ssOPe=C=S|)3%bRzb z((f~AQ(UA7#hoW-{h`RhQr5%~@zYo5F22v6GLa_r`|-5*(jJ*P$5h*km(F1khmlW{3W(Q ziTMe;gMP#%rODCLYo$`a)%Y6(LaB+h;hy+>>*I%6d_gB!DV&ia$wm{^*-h(|Z5 z(CSjsRCJu{F&6d$J)#DU83BLzJEQ2rBhfJ?qnsA>QbO|(pk8CJ5hs5wemWEvobR*A&AMU8`-0FF43P#Abfq|9w)5tOke3N-akdijG%{K_^wdZL) zy8YDdOBt)n6wtXCk13*%oVH{!1)#@ww+1twqGe$1%%Bz6J2C~ZdZ4a_8L{AKb|_1^&LuH36)xW1&Y#A?%x}+eZN}kQ+4Zx{KuZ*tUfm)Py0cqu#LaqxEA{hB zo?aVwS}H$!C3m|bYZHLI$>7~{d;3%%cxPqiI2vqt2c`!F41;T5!B}AM#R2#(Re$IM zhn4aqLE1vJ7U8KKX4jxk-E4!UD&B51Hr8o%uA;C`3;>wRhdEnI*ubxg?Mq0o977of zeJKU1Ya!0XDESRa=+%`tN#C+I%q0-duct{-XtmcFLCSy7LO*5FD`)oo6ptclXyxy~ zkAeeym%@0NXt4U59@A}pd9;5z8*3my!DERxPJx#%0#s=a>|{5(l5X&)au#sq@ObbE zKIC4G-nJ|El}xwS(RRw~H%Ex+GT*V+cPERzZls5NpfW(v$yJjLIq>a4*HLJp@1H_& zqpUN?fZMa^e93%YJWo0zIsb&GmY=Fs{Je;M-&JrZ`vvZ;U)Em-S3mY@yct&cY|hq# z)9fN+)}9ap&DI;uw#l@ESBBPbYE=RzzK+8VFfQNzcqkIi z$@oV~x&>PPQlkJht0EHCycIa5(_0OM;h1qxZA>OA+b#(BcUOuOODjSMoru4HTtEzz z@P$&BxrOY3@ER{gl#q_M-nSMMX@30ipc8`=l_dHABytd@U zuqnGDBNeEEZpckH!dczg_^VU{=vdq?Or*HNe*V?#@_-6<%S92J|wG(xg-9u@)J4`91P{( zdun)N_iL+VC`fviisXnGx$+rz2O;z#C~|GFljH)jiMAfJ5Js0?a2=o>iO_kUG9+1b zQB6P86=x^U;ER4m?cK@hB*X+j)M!@R^uX*(evV`L<7(gWrj`$~BMN@O2xQ`x89cfp zbtTGXJ2GX=+Y^A8p7(C}968D=`kEBAm5*D(Qd7k;7YM;aHOTBCHph5uHoC zIVUpb=s{?Si$1KHS&r?zUm%~_6lr5Ho-Ua1VF5TD^YHo@LOp$Y4eS^IFH((p%YaC{ z>EC%yw4|$7B(#iwRq0x`$3_6 zV&66X5*|KHU=rMSV#O{H?Gtxol7FQ(iu|M~xu$*+9WeQ(<7Mk76Q)=;1*R}-3`L!H zIie=Lqb{U*NTp^6!5Zx^Y%HDG1@LFHi-HU9n9cHU{6u#H9f}f|^5W_q%^qELf~Vx$ zleIVOtANK6IyqG>V>0|;q`uM5BG6J$rg-28S_t*8c4Pb zD~`@KS3#=YI?GDUy$R>?;ISwJ=~}sc!;v2y-r&KY-WAxx-U4(9_&ENxRWIOzs}DmU zSoaQ%9_;h)6lw(v9JL}^62w~*EtB!FRJK(PqGM#|G6A5ov}6!HM6o*|z5hu-8nmTi z2K2k=B6B%ER1*vX2udZ#P$WSbMS4>I;xb>?@Mq#0PJ52XN++WJ`)WYQC>d!yYUh zpCPY8Jt+A8%89+|l-k4nlX}b{lt4crBS{Bx%>x@WdU=TpLv5974f@rNObZnT4s3w* zhb1AZq10c94U_zW+o{eCKlV5Hm!Q3~!4oncG`?5OjygeqkutS>A!>~RJzrrjt2Yyq zZ?PRDad6?_#V_M5zUX9gSp_O9pKAk)srve1h$-;U|CMkgqhl9 zHhf(obsCJbm5@Cl8+p+4ob4W?6>lr0J8K2sfzD6Ns3pEHJB!m6jJ%1b+J3uysN3#>#Snr?h zkPGPAV;Wj%Ci5F9^o>q07A)*2SRhSpOMtksFsH`-v$uCmSfZ?$OIVD_fPa4}t$w(= z8UN`9TYbjoM1z~=FKjgrgsLxlHSTwp-@)fQuSlNY)qkE0E6}+IaoOcLnDS$s8)>Py zC#XGBNd)!ootEI;i5$7DgCD?_UV)eUW*}NzC}-rJxVrpvD+v1mXbn3MNL20bhV%A&d4)V5W3_QsY_GAmH#qU<%@OMf06j592{srA8pJ7BP#sWFHS>*%j+! zSfy>^2E>z5G{%!8gs7QJg#m@hXl6li65LCL<|B_ns_oHF>zfprtc)+MaA*|5g!{n6 z_^lYDfxFa{a~Az?Xb00t85{ynV?{(hvUR;Rv%mp%uwPF(m*$k4i(oCxOD{V}@$7a7 z6TG^4`dIm~J97T{PqtOR_F{owkoLe!;cbav`XgD;O_a=XcTsP~{;JFuEFyd{yI1kN zEO^B!m3W30#_ro!I{u=&ZrxDAhYHnj#u7Y6$i`sYROaHFMoA8)$D?!P-kk@b#>Mum zSJZ8VR?RzbYkhljG`Q}+zW4kC44ei3^I}5~Y7i9g5G$c~Ni%$N@a1?{MN~crphA@b z4cR}VT9ZtG!0Gjf9}uI3LVZw-ULgu)Y-+om8Q9qas0kA)+X@!t7>rCK<`^UchZD}- z3Kp3qdIpJbauk&vasQt6FfoPlMNdMX&!gdVJZe~I&1m7riPx{w7Hajpfjql+DmTp9pYr-A{_>gMRh7~or7dh5lRZWE948U{Uguq3 zKSh4{U1jdi52;y0Od?^MYgfsalV{9fW2LtA(?7ZB9HmNIQ_l8_@~MxnXxPP~@b~kt zlX#l$e;5muZIP#kj>_kLaz)5uV*>sz`ZBi`F{w`+!74ZR2jpOVRxaYy$Aq58=E5m-{3Qo~L2SzrI; z)*8XPUn%{)%zWmHtG5{2T{LL84r#>q3gzMVPe~u#_au7H!`|ufKn2||PDhmySEx;9 z>K>P_e1oFrX`2<=ZL8WXq)Q?!xnDC2%zT_!fR&VH*Ph$eMeU1c^fSQ=G>*DMHv#Uz z&7YbXX;N3KMqr;1kPu%E9{~qQNE2k}PX#Pc*<{z(&PwW@RH%s-nQ{Tk4YR_I%Kx~M zM~Z#*&n9y1$3=6cGAoBn(5=RAioe_3v18|}<_#tS8gq4$ZUEyunotwqib&Wb>oVb0 zSDM(SS7Xru%dI+xGEL95Kg+6g!Cn@-q2RKe5sjnIfW}4baj@opHo^c(Fc^3Q9tm$d zg)M{=?}j|Y%i0oB)Dc}V4B=7T1?0ELk0wQ!8X#HgbAGX+Vzc7PD*qBtu8OcI?MI(B z$v4y>Wf(ykDyjhU%oPMq=cpcixzTRSw|-*sd)g!Z{0`P?jvs(i;SfKkPatdkG-_C&-#vapwRTw*CuM{sma)ABK70 z-oS_5wQo4A5FE_O(4OXpr}-?4>HCn@iO?9|=C~R61`s!GY|IKUzO+)$MdsbIkxaw# zmu^A{!79>tfo~{GjAGtEwFB_q!?;U>9qndiQl-#GeC^~(#wW}{HNkj=2%*xWS23D? zRyr)ZHaaTAhyz>cCABY*Z^|u>tkuoULETc@p)sYoV;kIrLWQr;WC2JhMbO4{hvB&X zmw~VB#!d>$cjGll^elmH^q{rw-$sp=E(O}%yW<@tit)>{7@K&&+n${diH!^zRU9k+ zVs2XN%^8})@nZgn^SNoe$(lmu$dou(V?@v#Jp>$(R<@@a~3-j1iOti=J&zyZ|GkrZrb&1<2ItzA6`7R=0v!AknV$!c+tuq5fiC`#7Z#qXz_=}V^@?`HK1N5W6(S0vHrm}_!< z;dL>shL9|8;kp@YIkr{vlHmNgsI&04k>HFjJsqpT)|{^qXJv4^rm`k%LYS3E89Z9& zaR{x}sejlvZJWa^!F1sP&4|?>)PmGq{%4IpV{1IUR{M8B$$8LQ+jY09ysnAM*cA zV7M9e9%=-I`qSfGIeb{lI-LHZE8P?TnXnPgRj6Vv zSS)K_BW>J~PaNPB1bckb(?(O2S&%5DvjSr0d(Hk$CL$@U>M4!ro4{AbF-f(#!_N9s z`yKdO2}=V^a`4GzpA*WL_C&fv@5&SpjYN0o(P}G+-{mWgF~&$GW)GFp?Fz(R8RYzECIdk11HNlI<|#rFPXlb zZa`IZpAp_*`!_!UappK41$NbB4Y&Sq_)60vOO%~~{6+m=My?`LgYW%5a;Og`MUz+q;gCJdprpJ4!$cH{~Xe&R_(bO2n2$_u|YwCeEV zb|DWPcdN3|0(Cdz)PCYq)DzL@!|Z}&>n}LQIB4pDsPvuH&yk3K2aPG4es5nfrQ6)@!|GDYshGA^#o(oD zzEd-;O6jngj{K1^;SCY6Ec}`@_3~Y{u@@rr{3C2q~vlce8%QR+ubR~%5 z5aNu+f>BaSlgQ0Y>6v|Feaud9FcZg;oTk)O4`d7(ey3PW%cty!(YfG@N7*j zgVYFucAR!V1+Q0MAo>_F9}QB-RjU#p&X<@Yp>d@3z9o0f{kx5^abuvoV`%S@L97tR zp_2c=Lz*@mLFF|b4on8}RC70^woSpK^b7r&C0-e#8KGbX-a^K1SVxAiv>qY^ln_PY z6BEW86Lyv?Aw|k-{~wq!XpD@Z6BROU(%)zqo|Gcd`37aHkiPh)6^ZP!8Al&qklvCi zhdM44{cvjfJ=*s~AUNeCrQbo56yelyv)0lsKo+H)JEYF{r>&Co7;yUVKCt|~PyN2v z{s*XaQTP94mWB}E0z3a0PcUNO;roAMx&d@wPgo20DGQ!Cg&`XvxZCp|#3f0i4oRhF z9xE+^2WRTGb26FF7xmyj`C#6q9Z5$B%{*{-^ylh~y9XB7?tjAza11y2>DU7SUI}j8 z6C%&p5t7%6N3bw<{Sd~L7|}jjuaBLr3Pq3$L&R^g}Dg|+VcOxODCTHw_Kd+e7 z+gd?WdS6mQ&FU z`)@jZ>@jv?dr)G0K5 zeNzCure0KA6p~eb?qWBX{W(KCnxF!W5Ac7J>RuR-Aq>)|V5V2{BI?KKk)xd#kKXyXyA zW89`Q+bxGymj1i$R+NOblhoTZ{5tgP&yJ&jiW~i^_tmPu0S?cc^dLhnF5aq#fd4zz z4+Y?g8wP%G9KRQc?T-IRU>p7(=_WwJ+WPlrn{g?qEvdu-dx48gUt)+>&4_|wP#^aY zJME2Zbm=_8f!%9hv2U zb?66-wL*h;ljv%`Y8}KB`ebqsjx)8Gk|kF{IzuNGoyaI80~B2=f0b++n=RoTM6UhX z0#LM5{`%f>LVVzh`p&mGglJXTz3HppP2KhZSXfXU5BkNzmISiK77tfg3tinX#2Qb9PtV0CGMHTH`HCAhA?)oWq zBvu??#DLy-`WbMvcN@X)fBS7-_K$}e7pMBk6H*?f@s)F#!*S(vgCf_otz%-4QbCdn z17ol6_)*NCraz!F+$}nAhLzv;kum;u;D?2&OCue4UGFY{9^~*}n_5r+rvDeHYxTn# zMbpRj$4Z*n7JY;c!W#%o(3zNTpzCc1XS-a>uY`Z1Pa>|_5TQcL@BYhRfwpBjA^r{! z@7(yy%D}5o_tn1=?#(l&CaBlpkmL{1Ma-Ij1zGdkP;eM$Dm}m+3~4bOqcs!HIr2Az z4~39hOdGBYS#VUx7LE+V6zP)w#))e+rkP`vgr6M%!%+TF5Z z;KFDyR83*u9cfWbkv~1JipFiNTfH{h2(p2{lvn{v)aq)32?#dn!45)`ZyveN)V7ep z4@2iEXkSfMtc7LvBoQ!x))r{D&iRx)47B}q;?~z+68rRs!}t0szeqo%3J9;5piPNzOYiU(Ne_s_kovN-LM~(yP0d*0he(F_ z$Vm{p`)O15S&ydREj!&)8U6Gwkh;;9yBw_-inq3sHf@(4QS8@UCNYD-bc;(dq09 zzv(_jA%f4TnCra}+Quji#$e85XooH21pIs?LKhXk4;xEF4==hE|DAq8S=yOPLSD%M zi^9r%pyUU!;w+T=EnSI-9+D$7bcDTs14(zq^lpJ1OaYM0yWbNz1AlkesYF@DkklWe zJz83*?{rQNkZZVL_d2DxqlW!s3JQCYmg4hbb>;bM9QpCjJk7jY>&(7ZH-WyMZy!&7 zeneLo7aUm1UeODo0>`yBv`V2nIIg+VjT(d9*#0gDJAwX))?`nusilJNI49I?5-VwRjT6c&teexGaoNK7i7iFPE0U$|$|JJ;yRNtiBLnhlYYZ0i8x%S~p=)*g8C zzJv$J*!~DliQP4SJI0nzaj_?y@y@>iAFcOq`#HOMg4YY43y2dVX0NYo5VfTI%p@?t zsJ8kMoF00_ycXGKO)5d8IvBNx8A*Y7EGut&r!@w`VFZK2dL;_7ng~Cd={*T+6SV$9 zMHt!f>NleYee*26!MND%&}YN*y{Da%&pV#yVlqLvfOyp8E%qFSj?8b&I(UPwq3psk zIWrhN^S^rZUXL6-gJJD)Zn+oLl5k;K0XH4_UfG(lORn>OwtltPJUd4|GSVx3$(`=P zp^lA0y~zz@FeqIGNx!1|f%q2Jj)-kW0g%T$Jv>0g*4A$Q?_g~pxUK!6z{`Ii3>w3T zq}Jii*j2m?_%!kVMZC0UQ7KorVL2h;#K6W+(sGEORXXYy((S{32hOGy4AN;oP7gjL zTuruGu@4g2HpW|jJq1b}q{gqmMb1-TO%)FJG2*&q{P`ti9uKH}=(yE`R<8RcL=^IF zMN>+vivk%ltHtg_1;t50wQ^)xY3JqU(0TnS6h-L~0l4DWg{t)gS4DvrHg~koz*~Eu zg6=JC1x}2^8l>PKLPmeT-T1&A3@;w$GsSi$_7GLDk@jA;zm727NYX3MGWmTTT)lX6 z1y-$qHHN{H60NNb;176RuuQy)HV9sFvnmaY+6WSgfOx%s+TGl$mnzf0{4J7$MOTR!e2@#!8 z?-u7qh}!GZKl;NFr8JE&RWJ!DH>at@`+iazMvi}bz?~-vJjO)@!b_43D;kHepscj_ zlvaLX-q%ns?DDcQ3|Br9#mtKY-wbs86gDv6)@wiy@lH(uayi&I!iY>npyVas!Ey_# z5kcXaNHAHARL6DRUJaG3Ar!SXlD!RnA7M{K?*(b;L(=;g-XAJ1QuUNwVv02s9W_S% zTZDfynePz#`Ftq8rwHkkR3zTF5jhFJ3?Y8FXt-o+MZv{hu)__Q3E4T^O<6sKxJB{? zd|d*W&{&lG{-&ygApe8}5e*kdHn_77^UpUK(PF8f)458x2>+zulQP-I9`zSJ2t^n9 zY_;w)6&f~V zRspA(4)IEep7(+i*5sk_G2j+HKIp|^wJwRboX2NxaQhb0it)Gm-MZ&QGKGm@TfdvX1ZH{E+ zZ5ZBM?jVnUoJ4?wiyLTnN~r2}OVjtH5kKzU#z=%msTXIp8;#T2AS`CKWc8iOS0G`a z;6?ovrwdd-e7Wo6>ezkZU-7hiW$RA=9FSK%y<`2kJJh=iO8-aze-w;8-~ulkgmu8% zNoJwXi=nb{Y+hTO`0!2xW86=)2wu5g=y5{GC>mOY@pYR(tY{P z{ws(?HR2cdA3Igbq=*SXaG@$t?2m( zaxg+vC(k5=QQE~skj0&=T>I**Q{@$K&W>MhoTLy*HEHRFszXH0-X{o_pi8<<%oWXA zlsI^Ne2g7AL5F?fpGzrJZMm+m0F9e3$xGc`fl&oK-@+H-Mu>r6&jm9xl&F4*~Ddulh7FlN+0i2iKt161w_31xn{YACAiUXp>oah zwPJLk9aF7c>ce4*=Ij zw`MHr3};i7vlQ&T39A3jNADMwb)Oi22PZ!{8;|_$?K*z} zOzh&s!;k>f`Ak~(pqqh{L(K5ErAzL$%$p#y;AwP`cVLfpdm}r(B(tdhl(Rr5j{srd zq``|2l>C`KIEDFN-EdtOB$@6e)Kcf)+xv&Y1EXJJ2J=r-b#UeASL;mn<8_&VFjoq{ z>;aurG)z+yn9eJ^&A1UV<#@&MiY%9CLG{D)phk)O083^0#n6x+5mj3iO5bz}Q!%;* z%B>T1rHpnTO}#jeSX7!5=MN4M5>o1oB!&2Gi}qyu&d&F(;FqMh7|LdiBD8dU$UnxO zs4B+z4o7ST*=s$zFHa=z{XZ+__*646N_ z>ZZ5hNlxoq$*cuRkPXnmXr&peKZ!i*4sX#CzGrvf19)d>Yv8d+m!W)F0hL}|pBnXg zBT9m5VhAqM)G5$B<)6(Q_p!3`cd22dAh=SL@@H7~W|=7wVwjdvH|?=ifG8j|j6-Z- zLbxhfC!}!jgu5}YkQ%T@Vdm&xT4Yud!UVwe+ktI)NuMXdWNF z71qeUB!FTv&bdl_;nxlg+?YTcKTQqGv25tTQ!)SB6(yNNqehO4ggy3a=^Q`D;6nbu z4qlEd^wCWg4xJVVQj(hVx7IgKDhMnU`#)qy&wWS1S6uiup^42LRtRk^E7WBni`YEf zVc?tnfY%33P=wIusajfce$zxr;be^C?wEWT@)w9Wf$}_ROsc>B$qT~Q&tsB#y@cor19kv(>-4`7LKT3g3t9?G(X1pRMz_0xee!u zk|a-Ytij}^ZFChR%eW<`Py8D#Zoks$hM+S^{qKK>3DpG#j4S=zTkzBk*o}3@CKb%k z0zQA@?T)Ji&CbYxJideb`sY23t^!dT`1sc!;`-gzVOA5Rv3b0I;OsvqxVu&5k}ov*8=g!%6|%++guaFN%5f zcU&x%wH%RxwKbt!RKQcmigqnf5!|R_5n|50W)tqn@i6LZG~TO0@4AMp0H1&g_(W0> z*);N;fh7_x_s+NvQkSM1Q08X&Z2hVA9dGYv_aM7M#jRI-mtc3Pcv1GSmlC>oDg-51 zr+Tg>$Kqy3f9h(*bq+J6yVMaKl>7r439Q9nyg6MF%1y$4W>hPkcY+S=Q)$*>INy@Y zkMPn%{-gZ7X|23zpKl7(ce@<+Tq>GILs@SWVZ*=VC^oe*%0vDWv>Y8@t^4|({;?La z>vKI*pq_zLSH1pBt&4p`i0zYss*HQnWnnPIl_eYe8 zyLD(d0BAowX#BVN@4S=3*Q1kd60q?ka8c1-9Iuwh^O!Ph3rm^A155ZT09>w z?l-n#Z47n)K7IVUX9{g04CiC7kk-!p?~6IJzr9nSS>O;F#faf-_@|OQP!Bn5Skivy5QgE`;}0Use~&(K0pX51ep+8 zm;tV!`kgW1e&&`{l>f7?2x$%hvCx>P1yUj7uB}ro>pzU71$GXDx;?%ZN9Z4{-YQoVo>@b7y3P}^&87vYmCPY;J+9o>T*OK%*_IBrng&`Ghp+d&|ch8 z|MU6X;!u*fE)b0{Iiz2B&4ZA1Z<`NE9nHihzU(jA=ww3A+gwnXXV zB{bqHF@o85uaJI-G1|oN%p)%HWc0kD{7!bKSvL(^EKlRh!_Qhxr%?iHA-&MsZ5}t}6c5{c+XY?`SPM%6O^Ky#h8HMT8E;`N5LQ(d z1#6W~^2Ub$fp8>9df@jC{&*n<2K9=%lb(voK?7EMkao$h&3&-Jop6~9%f2Yd zSUGLl3#NLI^u1fpnT2#yx%^hcXQ~tfZd$WgAeQj+)^+5~DESHV=E(cDu_6C4C}UeP zOcaBrLg%gHw{eMSBm;cM!2Y*)*xBpBaSV;R zdVSsAsto$=0PNcs$UfDz4PrMagtqwyyQq<@;m}|O9@d86bN!a^Mf~EONA?kn$>0>W zbgdL1JtcyRR6LPT2R^lZp>~AHGF`2+f z6hv|yqUpC`h1h{5v2QqOZQ&ifRE_6yQN0|hw!?J*h6zO43!`(^wYc+&eWs;JH=yla zmj_3&>}U`4ZLmDlThKC@c|@2as!S=H#jg|O89&oXLO%BL?;Z?B#yM49+q#FR9iju= zvI?;nEB$`SiVU_>hZ%xMiW0>biq z7gBN3gkRD8$JT&nj;kR&cIxyx2R{fVgA-t7FhooNz4K=%F;?8!u5w{=aEUu}QZzHd zO9SXddfK`K+s1b3fI)Ia6k+(jLrnz?HOQ;^$G+BF0&mCv?50JaWPwMzp92{_FtI6b zL+a-V%dVI9|7OZ1(RzwA_32}{1e8kD1Yf01=ip`I+PU$iWX)bux-I0-80Td`pcTRg zFM$@{_RO4|vWwQqGjAASVCuP;D)tzjfmHHAiG{I;P3ElNrhU)E%PTeEQOb((?c!yj z?EluMyadYubf*{%}TUXwTTMHl81>#l!+k4sTOQJaDYWkgxj<`I4vL3e$GVTD0 z%cE?)ODWpjZ$4PWlk}~L(lZ&Zi)4Dg>Dd(Co6h)7AAyHka6N6jp)auIyf9m3;%8su%kSf8<`j^*C%TLYd32(~g5KBSxC=CMJ zjc6`jy8z|Y@U1HFhbu9`k+@$oI|eRI#pf{}&c zd(x<3uMag|odzp}|0!@WV)|4ew2N_TAlIc|!Y`HOX;bCVZRTL8!2`oWG{wd73#Zhf zDs=L?Om3#~em*KdcKlM-x3JDbQcpNE?m(KJfB*a6&5my!J8?nN%f^*d?pe!UuVPOW zNgWZEmVO!fud5lB^?v>pJ;*7@eq5`D*<^cxb!BB99U*L(M$Jlby9_(vHnHFA1VmJ4nAF{8o-VHEWd`l@s7u2p}E6y~G)6TbO2C4*4d`<*mfe0-Ns{W#Qewc_FU z^RU_hxYv0c=DXS{yqtfn>C)%v8+6W(Q$F?G&FlDKWmp9KDtf-J7dS8jTYeGPGDFC! z9(pW3i+bqdhepH)a1{-QOcRA|lSZRTMV`T}TLb;P$Dz*pA;#`YKB z^X0G0Co(zrG>WTE53m(@vwEI}i;er3zt4*p@AJ;oV%TlT*`1gHg`>tZF}ru8=ETO(?%_ZtEApD-yK3D!)jxJ8pDJ`QQia$ytPFF;1GqvmgWx+kePA>?TfJs^C zAgMzZ5aD-aeK}`^4ipnY>%wjft+~y4te>*=Y2_XOM*ev}xooV| zTbF;Lz002=-8@FArVoutZsY%}HDwf)cp&`#hfN1$K(CcN*Zz$_dw*fZkKATO_yR(% zh9~HW^?dALVHuvB?KctGp&l#$He%r)&dcZ?{()@gNS#k7{oN}Cz`fbEXd!Y~^HU0z zHF|Mb{L850>iDnd2`dHPHey4Erlq77RPLbOZ=&`LvTxfsLYWo?tS=aUD}CuGcRSVz z=>HuU1niyFWqVDHMz1dZc<~Du(FJD*$WlhHWXVBZso()BpNL8WS>iPkt-TUMYr`yl zJz)x}5e^GEe<&5D6YsYw}*~2|EgX=66e61j9qEH4SV2QktHP#pL!73@D3~_^*R}BWOui^ z&?|k#=wXtl(>dW45qJ>#S$|W)Z{NLucb8P~d+7)uI5$wUg2`r4O&!Vfm6m&`tm{cH zz=8oRQJPBg-Y6F~0}=thITb&hT)vpcSdfZgqJRQ-C6Fgq3YZ~ln7Qd;plCi@HLQIf zTXZ8{vuwO(H1``c-U6~j9>1P~?H=7LpL+>%2@tbrhGEZpo0v* zE08y{i!x#macCd!KsG%aWAukISS zmDtiSc?*EH=iqwC@KQzOUv&zFY{k{_(dadoYZTB8x#7QU$Mj3&K;m@Vb(!LOA@CL$ z+{4nRc+fX|aCes1Mh!aFxh2-*OSS3@EZP@Zq7pR@QQBCaGJzG!9RNrInS@~|SUahZ z(uU-p3a09x4K-R71Cy@I^=)dsFiItn>zSq&LPd~y!P|iBtKy0uh_kTE*Yf6-s><>h z%+h|-BV90>M+a&mX^21AI25MFIC#ir=Z;_o2cVn>uYatwq5x>v=0>7h4_~SQ#;Cn7 z4T@R48ArP#H=FBaQ@zy>B0~@eDg(jNf}A_6cj>=%sHmi2|GgA4gETouy}YeLd|mpn zk*L}JVeFBEjF*YzjCn|6au<)JQqH@qRvzfsD+0w#xD_eWs%4cp7mFf@KMWXeN!4Fo znqw-X?VRBAE9Mxbu2k8tzg4Jb$%GTExi%uDSS7zP`-Wk&dK$=0U*e?fd%f(M9Y=de z<)}-~(cE^1d+Aot62Ld-Q40}Z_eQUU zQLsm&)q-ZDndZMg%@mULO_LuRc^Wn|Z`7qSwyVa{Th}*-y+U{-m&ZfS-k0&zt^=*9 zm)yjg+0J=?Z_v6CsqXSDqg38d@XNhC60Qmqheo#E$#&OVUU42X+^;yb8_nP_w^R9~ zVMuQ`zI)5>d%)85Y7G7|C}i6lTlM@?Q{M(F<)@JQl=Y0~E58f=x|F?Fw!ln>8sOf! zDu+lTiG__59ge6z;i{H4L3&bGx?yAUwLxOcZ@M^07U5QojNI|PFbYN+jcs( z)3H0YZFh{0ZQJHrJKx^t_WXpZiyCv(eCM-xQivJ?iicZ_rOmvQ7JDJQR37_m8B8IS zgI+78fgoq`<&;G8l8I*RLV)LoNQe7$it(jar@N>Y_TetakW2m`PUo~N))KQEi$*c7 zn%_8RQ!z6m9fE1HMTaP^AtsB;3ashC#k@}q*GPk)I9b673{bave1@cUmh@iEL*}j#p2$N`xd8od=zbz0f}prk!T%a+^7MXtX(RTQAxi7 zDw+^&ka77a_fHHwbHbP$xdu8sAD(TfUMh|ugF&^5f+7>K1~)ukT%Vaepg0)&7z=&G zY?PLsd5Xa*?x+OK6l$sbHwGwZd9fe`^pFyEGLtzu%P=4HFmouiO;QC4opl_sQ4f!H zN1z&hGNg_B#NjLk`xu#5oJpob+H^u7`BfvB1gvpo1~puX0geUM;}p7Xo%$q5ezjd% z9qJ-ua<-K6ft(37RmM1CQKbjPiCC=_#hy&3WeKdqX~y_by%MNAMv9K5H|n8|6;zH= zo}Ili#=jI8A|Yi$dH1q;;bc5*VQP5?JQWQ2YrJratn&#uEcrCXin4JIt5i1mqJkog z^PEDGEQ((Zg;}}knE;$;RdHQ;#&PRZQ=#iM`Mu$BW1sE zAQknS!*BlOHNHcr9WjAs#vLSAc0cMCgOoTyJgpV`aIzHEK0YD<;`YVHm7@a7q#pfE zdAJIhgH-krnIiic3l|)YXv^y6n~^#}8`fR8^d>fn*hB=4RT8YIwQ3}b9l1(56a$JD z&h(;)HF?1*f_*OlzejI?TUl6{T2`)m1y9ecg?b0pwU_E)mJ0~F$_+Ji>`J&=o(YI4 zi1S2T$mGg3D(F)f6A}Y9+9l5Q80W19Z5>I)6ouku z&@E~Ux@HbC{Vfb7&v5FV#=HW=H*o1no6&A<*|9DU(aiOp@P#jBQYf7t{=k(6!a2J1 zz&vbNTGl8r?&^?Cn zBezOq$ba9BIs8CPhdr`>A901ve_ND4X5J$m{kDu-!(}Rw^yk5_{qoS`p{y9L9 zy|$J81|@DWsY&E&(kxep+zSh_n5bWNg=Q=8e} z6Rn#(fY<>WA93+V(Fa+sY8m(u=;`PhwySxYWt_g<0ou90M z6ET*(2VM9YEQ^26!%y;wI0S@5%;fs#7M!oIgXg=bm#>sTTU7f^mL}>9 zTCO+T)ft^$H7h(Pp^ySB{mr-lKUTlbwFzo;8X4|h%Y+`|O)MEM-s>>m;cfytr=kGb z3n;e_X9I1DFY#j`l8Qg_1U3RbFLxu^@-79pD3PA8W*Xs^qmp{5`*KcqvB za_<#j>jrl-P~q{@Hj#0AAz5dNCR*|t3iMWqy}(>tSE2r|TgGM*idO20O5C7#@tGy@FOE#2bV5P5XaOy3&nA&e`*>wJiBiMR zkvuj8LQzJ)bMmMx63&a7c#I8Y8dSom6!&D<02c|s`q@Vm@AtlbmU;UmRthdY!A(Ip_^tLeMH~Ej*Xp`wW8zJ{ z^^IA~wlVKE@soAWO`Ez8>vQqOkj4@1#^i2BK4Is>cy1De%y65EWSa zNX0PB$KFtc5>Ygo#76>HZ2_C4;P<8!V9MU+o^XR3oFI!^p9%$@@*rQn?q#c+0#U2z z;TTl`$bz6Vj51ZbII{^c#>FT|9j0VKaz7l{4}ajy5m^*Fngy3(5x!2XIzzeX`rA{IxY-Zm@V z-3ttyG6CN4Uj^z~@+}yHuuyQjqQvm-lK}r6BVOd^ON6LdOQ#8gRe$iiyf(`T&(SvB z19c?Dhqare2lpPlNsi&0mAyColvE+*;gwi>64L~W z2CYSee#4Kt2$>Ac=%pmel=Ky(_?;a<=foFn1;NJtRh3gWnmJH|JL`A-FceO&$JS89 zgK8eDLO0x%c%&bRGoD*K;dwXDfT30+QcL65WKcbm)wXUCo|VCMJ!|4Jp5qp{t11i! zReGALY%7>Oca7f@0?8)+`~>K}LR`>%`g%mJS*4PPsl4`A$5%=MXLjzYy&+g!n1cQu zM!**H%S|mvM{UHASv45XO;wZ^XefTxdh@cYtGURPaxX?0P1==8sa6Q#Of-~&WiMtb zTUeAwlFGO4Qf@Mt!6;Q^6vfr1{D{j+8xbaJFh}|`p$9pBfkU*KIrAtm_@l|oeZZ45&h930)WHDD&bSeypXQ4cet8xfr z$kSBLcfiW#v8jHV!URoLPM5yRdQene5A5b<5yg`u`w=C9qHb=)FphjTiao7Qa0L^c&Z%p6rGn3CG*HJAzfm z_7h~2Qml|voE(`PGNk%%%&*`U^tIacP{=~sgu1B-4F}3co#Bb#S}@*%$Q?;>&Ptfm z-K&!c8#{uMi3oqCORB=89u+Ki9C`FwXTq-McwY}jJce{~Zsq18)@@fj@d zJNk*^*`0M*VF57vceh_VB!uJw*spAfAH-_dSeAu^zo;E~wS)rL&?^PPI|S=nJ2sWM?W zp3IxcEtNw!SZfB(EF_)@`Ctt9=0krGInm}CFm>j?PZSNst9Y%M8xu6xhAJ$XbBcaa z4(9HwX{3SoFlA&?5J2u6_7D9 zrP3FCVV7Y#cvD31@Aw^W>_DpIlKS|XLOw~51`7LLXVK5Xr}4X+-Ev_bRHBvL~yXD6s4&AxiMcLX)nSQA&(gyWqKUwpKXO5GIpVHQ_SL4dZbfH{!tRi5F$iRLJQe zuf)uvbVcRNj+%sU`vl`rspqju6fPSJRpA~zXS4cM$O~uxxZ?1A7f;$TrTwfQVwLmV za%tzGR{uEM2ui6MX9)qFGniI0+)U&?uQG(x1k5yUcZ+_b4iF7Zj{+U*<9&1{oGeN1 zj0r(&#D|lN7ZHFL$a41iD>t6NDZ&aYbQfDDCPepC0RQjFhV#7S%O?#)=_=(v@-=kz zXMAO9S$YT)?QT~YIg(Z(m_{nOE?uqCSz<@O7XEY#17BxxXE9KT4D1W~D!&K`ZXGlL3*y?2*1#M4ntj2Y z;!nwNE%Hd!~cPtD(@k*;2=yII~Z&@iqz|bX@ z^YK|{6*cu!_5wV{3p#*B)1&T=0NG36M$SE8XKP)n2e@?zi1*2KIjDjJ((HP~0S$8& zsM_mE!QZOdg$?MO;Qs8*o~mCuu(qMD=z?RJc&(&TLA^0xC4=@b(w2$%Uj(ysd+LK? zyy}8y3HM&~!wdJj6XV}@)e2!E=z*6-=|V%_^|MP6e02Sok3^`2UkrnCELWz7hH^B+ zp-J=1YWLulSJfXMqpdT;=<+w__-#e5`9qX^?ebctG*`W~z_P6DzMC&jfy+ zbR+R3*vi{upbj)OeFC_W0tJ>#t)hZxxe?em!#K`;!#JXUiwukeA@pCaxpCUWeI+&` zDyO0Gi1h4Ps|{DIhw6i;NjI~hBI*n{V=AN#7YNgG88kJO zB%0M@(EX;~SK<@$xIhQ-@a6qnM%3FHpxL7`^pNgQw!kCSMw% zYK>qiv&HGoK^XEg-U$xuzaLt-4A97BabXff!iBwh3*SNf~eH+RFyPyMysQAB63oDpejet5qm_!DQaO#fFf{T*5LUd--Ea71m*>B61!yS_* zy5<6j~ z8B(tSz}u5E@xHTda2Bw2_-?4m2&uq}A#7KZ5g0J?6i^f6|Ms%uU|Dwj)z+i~{60yU zk>jqBAfHj=shgaBjKDGrW{{Cj^Mg=FYP7wGa?YMTrR%Q(sI|Hc$1LVsQwaO zJQObW#;o(P^P~9^etlBPEQ{{c8{8O`G^gz$DQnYDHoR9*hE9Apkat-os_5?GVf4rN z5M+p(ae~up06IFVJqCDh^rU{>#C>*ENJWJCSX`r(o9Su(@UY5Sqc%3OP^Y{?e@^*p z8Lq)8k~OJqkp&rD5-z@ruVP84)j!X;>J((1F^@^V3<>vuJKfllf#`>2xk!!I9gVSr zJnZ%4;X612t#g1_!fimZZ6#P}e^38A_h)B@Ie@qXZHCtFN~)khVJZn47QQ7&GYZW5 z#+=rNSD$~1*!nzeIFxvS00*5pUVh3$K?li4lINY)y=rYrt~rWK{(q62CS#?%irW(g z`OOD}?yY5qr^P?ho9CcVS3~uYKI`DV){iXvb)?|#MX|kG6wn2aZLsqO#8)>|d^Ij2 zF;%0@SSi!B!r}9;+|NMV@FN|Ckg97SFUD71&A;n&0FZSH*h1OFoYDN=N;>SiDuxA0$;ecT>nQy-m5D9X_=Zh<{VUq3`WNf z;lT7MQpTbXO&B(cxaB(_NgK8*4(~%S*Y6_uzq+TxnOe(jNVfzSqaxEv^Fa5n1 zPy$!B(Q=5C&^Ww7Z|mXct4wD0URi=DlTPHS@5?8@Jm*>WVs1=+NNCBoVIMKY=;kyT zsE^n}FpyPv?jWtsWsligBm%41aB2d~iDR@5GtiS_I!pr4shMR_1#w3Qv66l^3z_ET zIqgveh`uP(!!>^j)6f4uVFwov|NCGEx9e{n86~E~Kkd$LUt<<#7>TWT3Gk-<|F5w_ zqMP(8SFLE;{$};Fl8EfelqvF+iKkH2;_O9`_PD|+b8t9A0-*a0^1>_+dnyW9cZT*JI!LmBxEcMF9Va~b=iJe!p2wn(tnG$z#oV>-lYJY*^AF1>|A3b=6& z;k!Z=gN)nFO+N-qYW8uP@q~_S_b98oyU80TN{|~`50`Qt?K)t6A^D9*p!vQCfp3B+ zXAE@1{SLdoc}fRTOzO)R8Q@Z<6g3UR1;Bx2;=7#oz#eT=V9!0!x#+&n5_yE~CArq` z9)3R}nJqET+Z+4bKialaZ>erN!ZS#-sys6==XtYsd@MACr&mc`m?;JWG@1(D3uAZ) zRM#gTn|oL#b(L4Vklrs*h5=bS|6odac~av#6XA_NB*`Dxgo{QGDJh#?5C{@!>g@Zlsm|HC$Hij zyc!|vsEd1Yfnsla!l_VsIE)>onX}xeok2Pl<)RJrHa@~~pz5pE0N+XzuT3e| z{!hITNWEx{LNd@Is#`fjc;d8}4}^6~H??=;5q%?PR)A1!|3CBw)vSt@j+_*g6tSO! z7qXruGMW-05HB65czf8>wJ6LAmklF>N zQE|Y;=!V=qn<9UD0PH{Q#)Zt7NTXo>jVi5tJc;4X>X3zB;6LpqEx#1TRds1bcY{g% zu^+b(fs6RCMkc4Fh zd3ixJWq#@Po$=6!P4CTrEl?~A*LMptxDOt`cvBN@Jlug-k`SrTdjis$-1(Tilxzmz-2?XRYIncC|5TOi_d6lV=sTnR#+ z{EY_M+S-|h6KtUPW^yxKU?f+G(!w<(2Je(iiL&b&f$uo+Qjf8|o&5;Vl3^^g1kkMF z{6r%nVJMc`f@*?GkxJuP$xC<<%cSSX>dDrPzm!go2Un3K6A@U2WKV;twpHUp_5PZG z?wA+fR2{t+e91A^(Fqsj2EbNu^K6Ph@U{S4kd{KnF-Py$ja#WOSx*053SMskx_TR1 zIc$MFtqH*E2f&L+$d;jj@umH|_Va|s{vQlhJ+Xds=7&$NUtU9!j!TQUeNnDD0VgGJ z+oz(J;|ZJHffySt{qmp#(Tsz`qpkw`^7yo3O`lW&F8OhH8<1f7#d!#M*j z7dvk6{OiEwm6P2*|CY{rU=QP0AMAO|0a99Yb0;ZtTA9@{?>-74IoK2{5yI(M1f$*1 z*UKO0e!j3kqF*omF|u|{Z93wyNGu~<*lA7qn8=(UhT6=1NiR`RRQ+0oKewdkfCHbo zaR~RJ+`lpUMc!UTt-0eo)g#U^YnxvFrKx)1MM?Kd{;k3Pq_3%4yg=I9dB3aoP+q#OZ9rhNrwyWru0iA|!G?OTYK*d9r>Q+!|YUxBn(+EqI2BH8C&KVDy z$Yny*NlCI@{Ndl67>Ozf)|w)YePSd4`K;fZpgimhf%IT*t6FE3X}^1vB0pRN|IFa3 z8*pjBWO{KpyJj+EjyQxW89`Q@>s)kHDWg+MabMw-qeCp(VYagU`ez+ug^BH_nHU$w zu~CC4#w3NJ{DH+{^=3VzO}7Sb<&sU&x}0G3)UqCLWn2QJfk_QhCu6EPVa8ut+OEV< zE0sGf-5nnm4yZt;S>JckpMtKU6^U>`R%{#Kw`m9wApC1`yXBL%l7^{|+6N9hsI5;m zE%MQo-3@xmYTPqNk3MHsoG{`r)Dne9G^Y(D%t;QlQ=43Skh~Cl@zk=<8(}VLI_#+5 zKaLmc!bvr`dh&xBi0WKF1xH_RXaO6VlSUVY^}rg&PvDIrz$g5ka3sQ{C~&kvsGHJb zO45Iq62#h#WM6DJY|uKkKnnZ70z-%ibqpgX2oeT6)Go;FIGI{gm0y(>v6&5$BFyQs zJ@#j+MjeV2A6mY5i9wyAu80Gy{_bD5+)1zZ5LfMqsOs5cKF?D$i6pEhc#m5K$E?2$ zQRGLSl?eWX$a0_|KxC;6s2z6AHgZb|Tlo6Kse5zB+Oo$eoc5uwREo?jh+7 zVv5KinSg#G0ok95f+BS3u<@oT*X}#COW5`CCFE(z>!aBgz80R5p7JEu_YJm=@(Kkv ziKZq>f^@7hl2NgX&!vb#chFBi{K}4tT1r|E*yPrFP~oe6nal`TytMTXlP#uk$9hU% zFet+Wu1RpF4(wRIy!Ipha2%1h;s+!0et=L!OOt_P7%2`jkey!zBBp2R#}aBTiGje& zeX2AX9F^oC9v{;WJptf;1kuPRfD30%r@{KH@j~-VJA~Rb40?WO$ zfNdY)sNz0SOp9?-O*Xdt%gEDC;88e0xPTsi=!Lp#cf=*WwAi%7?tP3CBvRsRa~@<` zx)jCa(eA*_cpMdKU$5E1$awr%!{e~T^rP7v9y3Zz`ycq-So6?RGuD~-Zzx*V1&SBf z4K7Mj4))fpO2Ey+`M=WpVM+>Bfq3?QZzKJwpaaDn2abexSSOQ@Je&IEdHrr%o{ZHF zy6okdldH-J${P-<5M2LQvT8F*U(h>FVr-3O>e2fdKK~p@wsFPZH$>&JSu5*NEBAme zlAA&JY21fDA$<>`ivF6@2sigSFc=c_aOlwZZk~GOudr(Ixx+?{27dTarptfqJJS{y zsLF%CI9L6f5OMXEzA<2}TdPN0id@slxK&!lA)L!!khT)OC6!~`ZIP@9%NcNP&dlUy z)7092AN6G;yD*nDY4;j`QcpU-%1CbD5X`%e8|0a}rdCbU>y*g-pBN1d%$}--c{d<6 z^{8O?E&)MUC89#D3a5>{Vkg}TEM-cl&jIBEgmXKMj z7xkg04KYl*eg#`le%2`b;wbVC@$fx~FsI$Vx%Ab1@bc$%Dez@HaVc0$JK^*BJih;V z(QW1x$KH-3*nnE9oUb6O7>%%Ou%^v&P*aEH^IU1C_wv*=ADekSgC83#e6s}mAgWaV zkz+2HN$uJ(rd+m{+Qk9kWeb>)W-=8={TI}|u&JJv+x0)9U9jEy#jKCh%B&8?_rfVC(ndM0gwz-s~Z zgw6q`x3I?2fRrSAE8jUB<3AVbK-~IG6)*SOBgoRe&)XyMg3w7~Vgk7UkfMOcTGa&T zCC%Yss|U3OV&p3{bXPvF#Q@)#49J)n{4=0^d-=w2K+ihB^;b!QKnzgF&|tT3s}2C% zEWe|MDt19wZ~upco*~~j!qfPBqYixHlFx7Z+Oh94AMMTFKVL{C*SWYEMSf99VOe~}_%>a<>AiT2pjn$BV$6Q(s5OfJop`QHC<4@cm ze6L#b+;#a|d%AYco^^e`JmNb(Y8+zh+a^34;RsmF-xY{gGQE)6vm(psN2+Hi=Fvr9ij$v?Y+e{g9;o=|oON%1u^kk9t0DY%Ob)ZCp2OgYX7aEp#Oll=+NN z!~rG3{2G*v<7qGNB*OSB>m~6pjw7O}c&v_-|5mpqQN?Kp#Qo}m&bjq|PaLMUI}Y|J zJsX8Uer=z4RO%?0_lys@WA=kS14;q=v!7P&SeRdTvaK)>7|yM8ox;xdjltS~+$P(3 z-I!?B1isgyBJ#w} z$Rw5Ul3JN{EkSm8!6(8w?>{JWq`M{Ct|4Y!Zo#4*`xN`FE)%zU;W)0rTh75-kHOgw zz>|QWu>O2gg=U700X@BPg3S*<5gwYKQcBhktp{uWnz-Bj%}y{8aXyh!exc$lgp6S& z?sOChnGh4(9G*XG@mya3f^lr(KJs=g^u4rk>e^M=*Hx6&7<9EPnfT!ADH2`Tw|czr zmTVZRYYPUD7D+M^HX%OG>m6j3UnpMU=z{TUrHysU_?jr@qEb&ahHA69(_SrXiq3xI zM4vi%`_JxduU#twx3{j@)-<|ywlCW{-Hy-dzjBthbDnNIx{-+Yr1qZ6k#hcQrJ~Ja zc(^nUl_H8Br`41wdJu#!O|Zc*Q*q~ zbpUm5jYXtG;=wzXH_u(2qE4OFWi+sm{`B7j*^H=G<`x!rlB29N482 zZHzh)FXZ-MSq6GtyG<_E`Eu zWR}=SpTwQB(aaHe!tV&t8kitIV#<6?-VkHe0u*zeL_HMs1hWW83|Q0S`En(rjTBBp zRTZN6@=0q2ffA1K?^0q=E=DED$S@HBtQLa?%3n&}>y@*5b-5~L#(oP(=FBr7sP2{_ zP!YVbO}_=|w+?7)STCR12i9_8z6idU0Ci2D%PE;%?XgF0$ZdOq81A{&{_!0ZwIPY0 zrpl(Bz^u|K)xt%Y;%`>5%pjKse~OILc+t(N2rHy8D8|mcuR=c}kiqMl9cyJ4;a8?lwoSlcrPJm3-c_yHWb9|vwxk#BA62bxu)$xJLUO?jEH#wUSOfW9^i_&5(wG} zz5n2s_=9LjNm`#misT?PBzV-VY;SBjT(PY&ASIt68CAf%U!V(<6A^?^NFx8RoiaNN zSz>(TTbBV_F4sR!i?m-j_oU_~Fy1nfDTuE!K;2mDy!too;Nw`;vSd9El2th%t<%q^ z8G{%)K|u1!(sr(%tOfamI0Q?W<30~Diw)@(fY;L4i(s5|%lylBzhr|9-V$X1Qcr@} zjRSQ1_nVk1%&vg{DPi6k8F(tFzO9LJ2ABiSp4*VbLY~m4$*DWLH?0Vg2GieBV^$&( zxoS*0J^Fg*b7$mg3Q$EOg(}!69`P=E`J=l7gL+QqWbP$SX0E;b@2~SC0(aQIqQ^@` z)1N5Wq-QO)`QffNoBQ)XAf>im2ar&bMXu66Ba-SfY#^}i4rrj8I{?(xHQen30G@#e zqJMQfxMu9gqV|8f$&_S1s&n0fu0)Cu*wu&Vv~aLdw#H;0zV!3g=k5@Fv|D`bOn~n4 zy!8o?0_!+1pAF&PfSL(F=VdG;5N>8e=%G&h4uheCUoL)Kl90-TE9f1>LezOA33_Ie z&m<0uc!)G*$&JuNCB2FS*d5t+RAy5no1=zSZ_K2_Xl-9*$OrN`eVyozR2>zY3R|fo zs1%$Y^mKU7-JW@1Jq5kA5-!z&HwjFa&UTU%ttXI=MNyhS-cSiiS_6{1=F`f_FDdaY017IPad}jazvEQn+yV$UVyrZpMr{jyd_{w zZ4KRRUqH+U@I>m-o|bnk8Z%2>z{4cPTPfOZFa2FE-FAl(C#?jB7nqC$GT$wZk&gn9NP zNp>TOCzorDSs?Ul15llKnS;UhRa5Pd%ZknA#n`^2;H-+CpieB=k7#rdeWqq0^OvG- z7t_~8%>Rf%+z)Xb0SGp8i2XRDaAJ2hZ8H10-( zsf|X2u?M~b2MC-72MEHNz3veFd%VJ<=lr2}o_Kv;A0P(vm3b^*0s=$`>0Xf-JwbA& z)}&noG^6j1ZOKK|i>1&O)oMZDxGe-)nmp>&!k2Dm7$wc4vid*3ajZYIQsCn%=&<`Z zGFhQggx$1xQib7&^8}foYlTVjz)%Mq)nimU$r6T=I7H~1)jVq*;vVeJq3_A|O>1*! ztkZJNl8X<}WHLz&hP`{EOOyGeXB?7oHB2X;yuXgc&VE^roli2w)VSfL(0|EIcqH)| z^ZKKXD=L|n^zEHizVIuL{dz=%1Lsz*{gd;u zVUgyeQ3aRbup{gf`aTbP9NP(Wq&rPQ*jMr1u;)kXw)mT)djYTm_+Ypj;fO@JnI1I4 z8JpdLD^UKv{YyRE#QF6DKM$y~(-m@SxRL|JrDc7+nWQzO{}jAFGQHM$ZuO+ObSwF* zp!ts;UM>;=?vi|%F%ELwhFZ-54EZNQYa3f2k?T$gA4tB?6}!@M0+AuJRkvqMVLagVm;jEyggTKaF!}CrbXHQU)f5HR9upd4v}dNKdf_&_bX%RhNF8V^i7(}*%7AryXv78sr%c{s&PAuWovx^KrEF6}8jqovt!9Y0K zOpbc)9@-RP!tQ$Kz_2&$IB`S`RS=Sb7(PWyH%@S@o>dmS*ec4AFz-j*f|xMXp@o)! zq2!olyc)w%fSSnh5j6iAwMvq9^#FmYlQYC>)Kp8=^%oz>$5C4RnFR8MmCQ)?&nFEy zRkKt2vuv*?2e_sw%c_1J@hel z3dT1h?S4z&k@?LGIme36zl@5M!WNh@;iG{iYp!xJpxvm&MrIH?aHCkAi{vuFV%`!& z<%KhB9fgJWj)n_f5PPJkdF MD>>32#b6-+1G`)!9{>OV diff --git a/src/dayjs26.ts b/src/dayjs26.ts new file mode 100755 index 0000000..bbb1b5c --- /dev/null +++ b/src/dayjs26.ts @@ -0,0 +1,108 @@ +/** + * Utilitário de configuração do Dayjs focado em compatibilidade com SSR. + * + * PROBLEMA: + * A importação direta do `dayjs` e seus plugins frequentemente causa conflitos em ambientes + * de Renderização do Lado do Servidor (SSR), como Nuxt ou Next.js, devido a discrepâncias + * na resolução de módulos (ESM vs CJS) e instabilidades de importação. + * + * SOLUÇÃO: + * Este módulo utiliza o padrão de Injeção de Dependência. Ele expõe apenas tipagens e + * uma função de configuração (`defineDayjsBr`). A responsabilidade de importar as + * bibliotecas "vivas" é delegada à aplicação consumidora (o cliente da função). + * + * Isso permite que o bundler da aplicação principal (Vite, Webpack, etc.) gerencie as + * instâncias, garantindo consistência e evitando erros de "module not found" ou + * instâncias duplicadas/não inicializadas adequadamente. + */ + +import type _dayjs from "dayjs" +import type { Dayjs } from "dayjs" + +export type { ManipulateType } from "dayjs" + +// Importação apenas de TIPOS para evitar bundling indesejado neste arquivo +import type _duration from "dayjs/plugin/duration" +import type _isSameOrAfter from "dayjs/plugin/isSameOrAfter" +import type _isSameOrBefore from "dayjs/plugin/isSameOrBefore" +import type _minMax from "dayjs/plugin/minMax" +import type _relativeTime from "dayjs/plugin/relativeTime" +import type _timezone from "dayjs/plugin/timezone" +import type _utc from "dayjs/plugin/utc" +import type _weekOfYear from "dayjs/plugin/weekOfYear" + +/** + * Inicializa e configura o Dayjs com o locale 'pt-br' e plugins essenciais. + * + * MODO DE USO: + * Importe os pacotes reais na sua aplicação e passe-os para esta função. + * + * @example + * ```ts + * // Em seu arquivo de configuração (ex: plugins/dayjs.ts): + * import dayjs from "dayjs"; + * import duration from "dayjs/plugin/duration"; + * import isSameOrAfter from "dayjs/plugin/isSameOrAfter"; + * import isSameOrBefore from "dayjs/plugin/isSameOrBefore"; + * import minMax from "dayjs/plugin/minMax"; + * import relativeTime from "dayjs/plugin/relativeTime"; + * import timezone from "dayjs/plugin/timezone"; + * import utc from "dayjs/plugin/utc"; + * import weekOfYear from "dayjs/plugin/weekOfYear"; + * import "dayjs/locale/pt-br"; // Importante: importar o locale! + * + * import { defineDayjsBr } from "@comuns/src/dayjs26"; + * + * export const dayjsbr = defineDayjsBr({ + * dayjs, + * duration, + * isSameOrAfter, + * isSameOrBefore, + * minMax, + * relativeTime, + * timezone, + * utc, + * weekOfYear, + * }); + * ``` + */ +const defineDayjsBr = ({ + dayjs, + duration, + isSameOrAfter, + isSameOrBefore, + minMax, + relativeTime, + timezone, + utc, + weekOfYear, +}: { + dayjs: typeof _dayjs + duration: typeof _duration + isSameOrAfter: typeof _isSameOrAfter + isSameOrBefore: typeof _isSameOrBefore + minMax: typeof _minMax + relativeTime: typeof _relativeTime + timezone: typeof _timezone + utc: typeof _utc + weekOfYear: typeof _weekOfYear +}) => { + // Extensão da biblioteca com os plugins fornecidos + dayjs.extend(utc) + dayjs.extend(timezone) + dayjs.extend(weekOfYear) + dayjs.extend(isSameOrBefore) + dayjs.extend(isSameOrAfter) + dayjs.extend(minMax) + dayjs.extend(relativeTime) + dayjs.extend(duration) + + // Definição do locale global + dayjs.locale("pt-br") + + return dayjs +} + +export { defineDayjsBr } + +export type { Dayjs } diff --git a/src/index.ts b/src/index.ts index eaa0800..ca7c49c 100755 --- a/src/index.ts +++ b/src/index.ts @@ -3,6 +3,7 @@ export * from "./cacheMemoria" export * from "./constantes" export * from "./consulta" export * from "./dayjs" +export * from "./dayjs26" export * from "./ecosistema" export * from "./extensoes" export * from "./extensoes"