
    dhP                        d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlZd dlZd dlZd dlZd dlmZmZmZ d d	lmZmZ d
 Zd Zy)    )Document)PtCm)WD_ALIGN_PARAGRAPH)qn)OxmlElement)HttpResponseN)Ambienter
   DadosTermicos)determinar_aparelhoescolher_aparelho_renovacaoc                 #  XYZ t               ZZj                  d   }t        d      |_        t        d      |_        t        d      |_        t        d      |_        Zj                  d   }|j                  }d|_	        t        d      |_        dوZfd		Xdt        j                  fZfd
	Yd } Xddd        Yd|j                   dt        j                        }|j                   D ]  }t        d      |j                  _          Yd|j"                   dt        j                        }|j                   D ]  }t        d      |j                  _          Ydt$        j$                  j'                         j)                  d       dt        j                        }	|	j                   D ]  }t        d      |j                  _          Yd        Ydt        j                        }
|
j                   D ]  }t        d      |j                  _         Zj+                           Xdd        Yd|j                   d        Yd        Ydd        Yd        g d!g d"g d#g d$g d%g d&g d'g d(g d)g d*g d+g d,g d-g d.g d/g d0g d1g d2g d3g}|D ]z  \  }}} Yd4| d5| d      }t        j,                  |_        |j1                         j3                  d6      D ]-  } Y|j1                               }t        j,                  |_        / | t        j,                   Yd7d      _        t        j,                   Yd8      _        t        j,                   Yd9      _        t        j,                   Yd:      _        Zj+                           Xd;d        Yd<       t4        j6                  j9                  |=      }g }|j;                         s
 Yd>       nt=        |d      D ]{  \  }}t>        j@                  jC                  d?d@|j                   |jD                   dA      }d}t>        j@                  j;                  |      r8tG        jH                  |dBC      }dD|jJ                  v r|dD   jM                         }tO        ||jP                  xs dE      }|rtS        |tT              s YdF|jD                   dG       i }|D ]B  }|jW                  dHdI      }|jW                  dJdI      }||f}|jW                  |d      dz   ||<   D |jY                         D ]B  \  \  }}}|dk(  rdKndL}  YdM| dN|  dO|        |j[                  |jD                  |||dP       D ~  YdQd        YdR        YdS        YdT        YdU        YdV        YdW        YdX       |r YdYd       ddZl.m/}!  |!tT              }"|D ]  }#|"|#d[      j[                  |#        Zja                  dd\]      }$d^|$_1        |$jd                  d   jf                  }%d_|%d   _4        d`|%d   _4        da|%db   _4        dc|%dd   _4        |"jY                         D ]z  \  }&}'d}(|'D ]n  })|$jk                         jf                  }*|(r|&|*d   _4        d}(n
de|*d   _4        |)dH   |*d   _4        tm        |)df         |*db   _4        tm        |)dg         |*dd   _4        p | |$jd                  D ]z  }*|*jf                  D ]i  }+|+jn                  st        j                  |+jn                  d   _        |+jn                  d   j                   D ]  }t        dh      |j                  _         k | Zj+                           Xdidb        Ydj        Ydk       g },|D ]  }	 tp        j6                  jW                  |l      }-|-rA|-jt                  xs d}.|-jv                  xs d}/|-jx                  xs d}0|-jz                  xs d}1ndn\  }.}/}0}1t}        |.|/|0|1      }2|2jW                  dog       }3|3sd}4g }5|3D ]  }6|6jW                  dpg       }7|7r|7dq   ni }8|6jW                  dHdI      }|8jW                  drd      }9|5j[                  ds| dt|9 du       |4|9z  }4|,j[                  |jD                  ||9|8jW                  dvdI      |8jW                  dwdI      |8jW                  dxdI      dy         Xdz|jD                   dd        YdF|jD                   d{       |5D ]
  } Y|        |2jW                  d|d      }: Yd}|:d~du        Yd|4d~du       |4|:k\  r	 Yd       n Yd        Yd        |,r Xddb       Zja                  dd]      };d^|;_1        |;jd                  d   jf                  }%g d}<t=        |<      D ]~  \  }=}>|>|%|=   _4        t        j                  |%|=   jn                  d   _        |%|=   jn                  d   j                   d   }d|j                  _	        t        d      |j                  _         |,D ]  }#|;jk                         jf                  }*|#d[   |*d   _4        |#dH   |*d   _4        tm        |#d         |*db   _4        tm        |#d         |*dd   _4        tm        |#d         |*d\   _4        tm        |#d         |*d   _4        |*D ]k  }+t        j                  |+jn                  d   _        |+jn                  d   j                   d   }d|j                  _	        t        d      |j                  _        m  Zj+                          XYfd}?ddg dfddg dfddg dfddg dfddg dfddg dfdddgfddg dfddg dfddg dfg
}@|@dmd }A|@ddm }B Xdd       t=        |d      D ]   \  }C}t>        j@                  jC                  d?d@|j                   |jD                   dA      }d}t>        j@                  j;                  |      r8tG        jH                  |dBC      }dD|jJ                  v r|dD   jM                         }tO        ||jP                  xs dE      }|rtS        |tT              st=        |d      D ]I  \  }D}@dmd }A|@ddm }Bdb}Et=        |A|Bgd      D ]%  \  }F}G |?ZCD|||FE       Zja                  ddd]      }$ ||$       |$jd                  d   jf                  }%d|%d   _4        d|%d   _4        d|%db   _4        |GD ]  \  }}}H|$jk                         jf                  }*||*d   _4        ||*d   _4        d|*db   _4        |HD ]=  }I|$jk                         jf                  }Jd|I |Jd   _4        de|Jd   _4        d|Jdb   _4        ?  Ct        |      k(  }KDt        |      k(  }LFEk(  }M|KrLrMrZj+                          ( L #  Xdd       t=        |d      D ],  \  }C}	 tp        j6                  jW                  |l      }-|-r|-jt                  nd}N|-r|-jv                  nd}O|-r|-jx                  nd}P|-r|-jz                  nd}Qt}        NOP|Q      }2|2jW                  dog       }R|Rst=        Rd      D ]  \  }D}|jW                  dpg       }7|7r|7dq   ni }8 XdC dD d|jD                   ddb        Ydd        Yd|jW                  dHdI       d        Ydd       Zja                  ddd]      }$ ||$       |$jd                  d   jf                  }%d|%d   _4        d|%d   _4        d|%db   _4        dddgfdddgfdddgfdddgfdddgfdddgfdddgfdddgfg}S|SD ]  \  }}}H|$jk                         jf                  }*||*d   _4        ||*d   _4        d|*db   _4        |HD ]=  }I|$jk                         jf                  }Jd|I |Jd   _4        de|Jd   _4        d|Jdb   _4        ?  Zj                  de       Zj+                           /  Xdd        Ydƫ        Ydǫ        Ydd        Ydt        j,                          Ydd        Ydt        j,                          Ydd        Ydͫ        YdΫ       Zj                  D ]  }|j                  }T|Tjn                  rTjn                  d   nTj                         }Ud|j                   dt$        j$                  j'                         j)                  d       |U_4        t        j                  |U_         t        j                         }VZj                  |V       |Vj                  d       d|j                   dt$        j$                  j'                         j)                  dӫ       dԝ}Wt        |Vj                         ddd|W iث      S # tr        $ r dm}-Y 
w xY w# tr        $ r dm}-Y w xY w)u  
    Gera um arquivo DOCX com o Plano de Manutenção, Operação e Controle (PMOC)
    de forma detalhada, incluindo capa, introdução, sumário, checklists por aparelho e considerações finais.
    O documento é baseado nas recomendações da Portaria GM/MS nº 3.523/1998 e da Resolução RE nº 9/2003 da ANVISA,
    além de boas práticas de manutenção e segurança, visando assegurar a qualidade do ar, a eficiência dos sistemas
    e a integridade das equipes de manutenção.
    r   g      @g       @NormalArial      Fc                     j                  | |      }|rt        j                  nt        j                  |_        d|j
                  j                  _        |S Nlevelr   add_headingr   CENTERLEFT	alignmentstylefontnametextr   centerhdocs       -/var/www/html/cagpublico/cag/ctermica/pmoc.pyr   zgerar_pmoc.<locals>.add_heading'   C    OODO.39(//?Q?V?V#    c                     j                         }|j                  |       }d|j                  _        t	        d      |j                  _        ||_        ||_        |S Nr   r   add_paragraphadd_runr   r   r   sizeboldr   r    r-   alignprunr#   s        r$   r*   z!gerar_pmoc.<locals>.add_paragraph-   K    iio2r&   c                 $   d| _         | j                  D ]z  }|j                  D ]i  }|j                  st        j
                  |j                  d   _        |j                  d   j                  D ]  }t        d      |j                  _
         k | y)u   
        Aplica o estilo 'Table Grid' à tabela e configura o alinhamento e a fonte das células
        para melhorar a legibilidade das informações apresentadas.
        
Table Gridr      Nr   rowscells
paragraphsr   r   r   runsr   r   r,   tablerowcellr1   s       r$   add_table_stylez#gerar_pmoc.<locals>.add_table_style6   s|    
 #:: 	/C		 /??3E3L3LDOOA&0#q166 /(*2//	/r&   u3   PLANO DE MANUTENÇÃO, OPERAÇÃO E CONTROLE (PMOC)T)r   r!   z	Projeto: )r-   r/      zCidade:    u   Data de Geração: z%d/%m/%Yz




u  Este documento apresenta, de forma organizada e detalhada, todas as diretrizes técnicas referentes ao Plano de Manutenção, Operação e Controle (PMOC) para sistemas de climatização do tipo split. A estrutura do documento inclui:

• Introdução e descrição das etapas obrigatórias do plano;
• Sumário dos equipamentos instalados em cada ambiente;
• Checklists de manutenção para cada aparelho;
• Responsabilidades da equipe técnica e observações finais importantes.r/       1. Introdução e Etapas do PMOCr   V   Este Plano de Manutenção, Operação e Controle (PMOC) foi elaborado para o projeto    . O objetivo é assegurar a eficiência dos sistemas de climatização do tipo split, bem como manter adequada a qualidade do ar interior e a segurança de todos os usuários.  O PMOC segue as diretrizes estabelecidas pela Portaria GM/MS nº 3.523/1998 e pela Resolução RE nº 9/2003 da ANVISA, além de contemplar boas práticas de manutenção para evitar falhas, reduzir custos operacionais e prolongar a vida útil dos equipamentos.2   📋 Etapas do PMOC e Detalhamento das Atividades:r-     As etapas a seguir descrevem as principais atividades de manutenção, destacando procedimentos, riscos envolvidos e medidas de segurança pertinentes. A adoção destes processos visa garantir um funcionamento confiável, seguro e econômico dos sistemas de ar condicionado."Limpeza dos Filtros da EvaporadoraMensalu  📄 Descrição: Retirar os filtros de ar da unidade interna (evaporadora), lavar com água corrente e sabão neutro. Após a limpeza, 
    os filtros devem ser completamente secos à sombra antes de serem reinstalados. A higienização regular dos filtros melhora a 
    eficiência do sistema e reduz a proliferação de poeira no ambiente.
    ⚠️ Riscos: A presença de poeira acumulada pode causar problemas respiratórios em usuários sensíveis, além de reduzir a eficiência 
    do sistema e aumentar o consumo de energia.
    🛡️ EPIs Recomendados: Máscara de proteção contra poeiras, luvas nitrílicas ou de látex e óculos de segurança em ambientes com maior acúmulo.Limpeza da Condensadora
TrimestraluP  📄 Descrição: Limpeza externa da unidade condensadora utilizando jato de água suave, escova de cerdas macias ou pincel, removendo 
    poeira, folhas e outros detritos das aletas, serpentina e área da ventoinha. Deve-se garantir a ausência de obstruções ao fluxo de ar.
    ⚠️ Riscos: Obstruções causam superaquecimento do compressor, podendo gerar falha grave no sistema. Em locais elevados, o risco de queda é alto.
    🛡️ EPIs Recomendados: Cinto de segurança e linhas de vida para altura, capacete, botas antiderrapantes, luvas de segurança e óculos de proteção.#Limpeza da Evaporadora - Serpentina	Semestralu  📄 Descrição: Aplicação de produto desengordurante e desinfetante específico para serpentina, utilizando spray ou espuma de limpeza. 
    Após o tempo de ação, deve-se enxaguar com jato leve e garantir a secagem. Essa limpeza remove biofilmes e agentes microbiológicos.
    ⚠️ Riscos: Proliferação de fungos, bactérias e odores indesejáveis por falta de limpeza adequada.
    🛡️ EPIs Recomendados: Máscara, óculos de proteção e luvas nitrílicas para evitar contato com produtos químicos e microrganismos.   Teste de Pressão do SistemarR   u   📄 Descrição: Conectar o conjunto de manômetros ao sistema e verificar as pressões de alta e baixa. Comparar os valores com os 
    parâmetros indicados pelo fabricante. O teste pode indicar vazamentos ou obstruções no circuito.
    ⚠️ Riscos: Equipamentos pressurizados representam risco de explosão e vazamentos de gás refrigerante caso manuseados incorretamente.
    🛡️ EPIs Recomendados: Óculos de segurança, luvas de proteção e avental. O técnico deve estar capacitado e habilitado.!   Recolhimento de Gás Refrigerante   Quando necessáriou  📄 Descrição: Em casos de manutenção corretiva ou substituição de componentes do circuito frigorígeno, o gás refrigerante deve ser 
    recolhido do sistema utilizando equipamento adequado (recovery unit). O recolhimento é obrigatório por lei ambiental e deve ser feito 
    com sistema fechado, direcionando o gás para um cilindro de recuperação certificado.
    ⚠️ Riscos: O não recolhimento pode causar liberação de gases nocivos à camada de ozônio e riscos à saúde dos trabalhadores. 
    Pressões elevadas podem provocar explosões ou vazamentos.
    🛡️ EPIs Recomendados: Luvas de proteção química, máscara com filtro apropriado (gases e vapores), óculos de proteção com vedação lateral. 
    Uso de avental e sapato de segurança é recomendado.   Recarga de Gás Refrigerante'   Anual ou conforme diagnóstico técnicou  📄 Descrição: Realizar a recarga do gás refrigerante após teste de pressão e verificação da necessidade. A carga deve ser feita com balança digital 
    e manômetros apropriados, respeitando o tipo de fluido do sistema. A recarga deve ser exata, evitando sobrecarga ou carga insuficiente.
    ⚠️ Riscos: Gás em excesso pode elevar a pressão além do limite do sistema, levando a falhas mecânicas. Gás insuficiente compromete a eficiência térmica 
    e causa superaquecimento do compressor. Vazamentos impactam a saúde e o meio ambiente.
    🛡️ EPIs Recomendados: Máscara com filtro para gases, luvas nitrílicas, óculos de proteção, sapato fechado. Uso de cilindros certificados e ventilação adequada.
    📏 Faixas de pressão de trabalho por tipo de gás (em funcionamento – ciclo de refrigeração com temperatura ambiente de ~25°C a 35°C):
    • R-410A: Pressão de baixa ~115-130 psi | Pressão de alta ~360-420 psi;
    • R-32: Pressão de baixa ~120-140 psi | Pressão de alta ~400-465 psi;
    • R-22 (em desuso): Pressão de baixa ~60-75 psi | Pressão de alta ~250-300 psi;
    ❗ Observação: As pressões variam conforme temperatura ambiente, carga térmica e condição do sistema. Sempre seguir as instruções do fabricante.   Balanceamento TermodinâmicoAnualu	  📄 Descrição: Medir a temperatura de insuflamento (saída do ar) e de retorno com termômetros digitais. Caso necessário, realizar ajustes 
    nos controles de carga, fluxo ou vazão para manter o sistema dentro da faixa ideal de operação térmica.
    ⚠️ Riscos: Um sistema desbalanceado opera com menor eficiência, elevando o consumo de energia e o desgaste dos componentes internos.
    🛡️ EPIs Recomendados: Luvas térmicas e proteção ocular ao manusear componentes metálicos ou áreas aquecidas.   Manutenção ElétricarR   u  📄 Descrição: Verificar todas as conexões elétricas, medir a tensão e corrente com multímetro, apertar conectores e inspecionar isolamentos 
    e disjuntores. Verificar se há sinais de aquecimento, corrosão ou rompimento de cabos.
    ⚠️ Riscos: Choque elétrico, curto-circuito, falhas por mau contato. Pode gerar incêndios em casos graves.
    🛡️ EPIs Recomendados: Luvas isolantes, botas dielétricas, óculos de proteção e uso obrigatório de ferramentas isoladas. Equipamento deve estar desenergizado.   Inspeção de Tubulaçõesr]   u  📄 Descrição: Verificação do isolamento térmico das tubulações de cobre, especialmente nas linhas de sucção. Substituir isolantes ressecados, rasgados 
    ou ausentes. Verificar fixações, trepidações e riscos de abrasão nas curvas.
    ⚠️ Riscos: Perda de eficiência térmica, formação de condensação e gotejamento, risco de corrosão.
    🛡️ EPIs Recomendados: Luvas de proteção, óculos de segurança e escada com travamento se necessário.   Inspeção Visual GeralrL   u  📄 Descrição: Avaliar visualmente a integridade estrutural do renovador de ar, verificando corrosão, acúmulo de sujeira, deformações, folgas ou partes soltas. Checar o estado externo do gabinete, grelhas e dutos ligados.
    ⚠️ Riscos: Componentes soltos ou corroídos podem comprometer a estabilidade e segurança do equipamento, além de diminuir a eficiência do sistema.
    🛡️ EPIs Recomendados: Luvas de proteção, óculos de segurança e lanterna para inspeção em locais pouco iluminados.+   Limpeza de Filtros e Entradas/Saídas de ArrL   u  📄 Descrição: Remover filtros laváveis e grelhas de entrada e saída de ar para lavagem com sabão neutro. Em filtros descartáveis, verificar substituição. Remover poeira e resíduos acumulados.
    ⚠️ Riscos: Filtros sujos reduzem o fluxo de ar, aumentam o esforço do motor e podem ser foco de microrganismos prejudiciais à saúde.
    🛡️ EPIs Recomendados: Máscara PFF2, luvas nitrílicas, óculos de proteção e recipiente para resíduos.   Aperto de Fixações e SuportesrO   u  📄 Descrição: Verificar e reapertar todos os parafusos, suportes e elementos de fixação do renovador e de sua estrutura de montagem. Avaliar vibração excessiva e deslocamento.
    ⚠️ Riscos: Fixações frouxas podem causar ruído, vibração, queda de componentes ou mau funcionamento do equipamento.
    🛡️ EPIs Recomendados: Luvas de segurança, capacete, escada com trava e ferramentas isoladas.!   Lubrificação de Mancais e EixosrO   u  📄 Descrição: Aplicar lubrificante adequado nos mancais e eixos do ventilador, conforme especificações do fabricante. Retirar excesso para evitar escorrimento.
    ⚠️ Riscos: Falta de lubrificação pode causar superaquecimento, travamento ou desgaste acelerado do motor e eixo.
    🛡️ EPIs Recomendados: Luvas impermeáveis, óculos de segurança, pano de limpeza e graxa apropriada.   Inspeção Elétrica do MotorrR   u  📄 Descrição: Verificar estado dos cabos de alimentação, bornes, conectores e componentes elétricos. Usar multímetro para aferir tensão, corrente e possíveis fugas.
    ⚠️ Riscos: Mau contato ou superaquecimento pode causar incêndios, choques elétricos e falhas no sistema.
    🛡️ EPIs Recomendados: Luvas isolantes, óculos de proteção, botas dielétricas e ferramentas isoladas. Equipamento deve estar desenergizado.   Medição de Vazão e Pressãor]   u  📄 Descrição: Medir a vazão de ar (m³/h) e a pressão estática (mmCA) utilizando instrumentos apropriados como anemômetro ou manômetro. Ajustar regulagens se necessário.
    ⚠️ Riscos: Vazões abaixo da projetada comprometem a renovação do ar e aumentam a carga contaminante no ambiente.
    🛡️ EPIs Recomendados: Escada com trava, luvas, óculos de proteção e instrumentos de medição calibrados.   Limpeza de Rotor / Hélicesr]   u{  📄 Descrição: Remover partículas sólidas, poeira, gordura ou qualquer resíduo acumulado nas pás do rotor ou hélices. Utilizar escova, pano e solução neutra.
    ⚠️ Riscos: Acúmulo de sujeira pode causar desequilíbrio, ruído excessivo, desgaste e vibração.
    🛡️ EPIs Recomendados: Luvas de borracha, máscara facial, óculos de proteção e pano úmido.$   Verificação de Ruído e VibraçãorR   u  📄 Descrição: Ligar o equipamento e observar o nível de ruído e vibração. Analisar se há sons metálicos, desbalanceamento ou batidas no sistema. Anotar irregularidades.
    ⚠️ Riscos: Vibrações excessivas causam desgaste de peças móveis e risco de desprendimento de partes rotativas.
    🛡️ EPIs Recomendados: Protetor auricular, luvas e roupas justas para evitar enroscos.zPreenchimento de RegistroTodasu  📄 Descrição: Preencher o checklist de manutenção com todas as observações realizadas, técnicos responsáveis, data da execução e assinaturas. Registrar valores medidos e serviços corretivos.
    ⚠️ Riscos: Ausência de registros dificulta o controle da vida útil do equipamento e pode gerar falhas recorrentes.
    🛡️ EPIs Recomendados: Caneta, formulário, prancheta e atenção às anotações técnicas.   Manutenção Geral e Reparosr]   u  📄 Descrição: Avaliação completa do sistema quanto a ruídos, vibrações, oxidação, folgas mecânicas, parafusos soltos e estado de suportes. 
    Realizar lubrificações, ajustes finos ou substituições menores conforme necessidade identificada.
    ⚠️ Riscos: Vibrações e falhas mecânicas acumuladas podem levar a danos graves no sistema ou até paralisação total.
    🛡️ EPIs Recomendados: Capacete, luvas, botas com biqueira de aço, óculos de proteção e máscara em locais com poeira.   ✔️     – 
'   🔒 Instruções Gerais de Segurança:tAntes de qualquer procedimento, certifique-se de que o equipamento esteja desenergizado e utilize os EPIs adequados.   No caso de unidades condensadoras instaladas em altura, a empresa executante deve apresentar um plano de trabalho detalhado, fazendo uso de cinto de segurança e linhas de vida para prevenir acidentes.   A responsabilidade de garantir profissionais qualificados, sobretudo para manutenções elétricas, é da empresa contratada, evitando riscos graves de choques ou danos aos equipamentos.9   2. Sumário de Equipamentos e Características dos Splits@  📋 Nesta seção, apresentamos um panorama geral dos sistemas de climatização instalados em cada ambiente do projeto. A listagem dos equipamentos e suas características técnicas tem como objetivo auxiliar no planejamento de manutenções preventivas, identificação de modelos e controle de peças de reposição.projeto@   ❌ Nenhum ambiente cadastrado foi encontrado para este projeto.5/var/www/html/cagpublico/cag/arquivos_cargas_termicasprojeto__resultados_termicos.xlsxopenpyxlengine   Carga Térmica Total Ambientehiwall   📌 O ambiente **8   ** apresenta os seguintes aparelhos para climatização modelo-capacidade_resfriamento_btuunidadeunidades      •   do equipamento ambienter   
capacidade
quantidade3   🔧 Características Técnicas dos Sistemas Split:   🔹 Condensadora: Instalada externamente, abriga o compressor, ventilador e serpentina. Está exposta às intempéries (sol, chuva, poluição), por isso exige limpezas periódicas e checagem das condições estruturais e de fixação.   🔹 Evaporadora: Unidade interna que realiza a troca térmica no ambiente. Seus filtros e serpentinas acumulam poeira e microrganismos, afetando a qualidade do ar e o desempenho do sistema. É essencial a higienização regular.   🔹 Tubulações Frigorígenas: Realizam o transporte do gás entre as unidades. Devem estar com isolamento íntegro para evitar condensações, perdas térmicas e corrosão externa.   🔹 Conexões Elétricas: Envolvem alimentação e comandos. Devem ser verificadas para evitar falhas, superaquecimento e riscos elétricos.   🔹 Balanceamento Termodinâmico: Garante que o sistema opere com eficiência. Envolve medição de pressão, temperatura e ajustes de vazão e carga de gás.   ✅ A correta manutenção dos sistemas split proporciona economia de energia, conforto térmico e aumento da vida útil dos equipamentos, além de garantir a saúde dos usuários ao evitar a circulação de ar contaminado.e  ✅ Nas próximas páginas, são apresentados os planos de manutenção organizados por equipamento e por ambiente. Esses planos devem ser utilizados pelo técnico responsável para a execução das tarefas, preenchimento dos checklists e registro das manutenções realizadas, garantindo o acompanhamento histórico e a rastreabilidade das ações futuras.1   
📊 Tabela Resumo de Equipamentos por Ambiente:defaultdictr      r7   colsr4   r
   ModeloCapacidade (BTU/h)   
Quantidade    r   r   
   "   2.1 Aparelhos de Renovação de Ar1  Os aparelhos de renovação de ar têm como função principal promover a troca do ar interno por ar externo, garantindo qualidade do ar respirado e adequação à norma da ANVISA. A renovação é essencial para evitar acúmulo de CO₂, odores, microrganismos e outros contaminantes no ambiente interno.  O sistema de renovação complementa os equipamentos de climatização, especialmente em ambientes fechados com grande permanência de pessoas. A escolha dos equipamentos é feita com base na área do ambiente, altura do pé-direito, número de ocupantes e taxa de renovação exigida.r   Nr   r   r   r   melhor_combvelocidadesvazao_maxima_m3h   • 1 unidade do renovador     com vazão de     m³/hpressao_maxima_mmcanivel_pressao_sonora_dbapotencia_motor_wr   r   vazaopressaoruidopotencia
Ambiente: >   ** apresenta os seguintes equipamentos para renovação de ar:vazao_total_ar_exterior   ✔ Vazão Total Necessária: .2f$   ✔ Vazão Combinada dos Aparelhos: ^   ✅ A soma da vazão combinada atende à necessidade mínima de renovação de ar do ambiente.   ⚠️ A vazão combinada dos aparelhos é inferior à necessidade do ambiente. Recomenda-se rever a combinação ou considerar ventilação natural complementar.F______________________________________________________________________4   2.2 Tabela Resumo dos Aparelhos de Renovação de Ar   r
   r   u   Vazão (m³/h)u   Pressão (mmCA)u   Ruído (dBA)u   Potência (W)r   r   r   r      c           
           d| d| d|j                    d| d        d| d| d	
        d|j                  dd       d	
        dd	
       y Nz3.. - z - Equipamento r   r   u   📄 FOLHA z DE TrH   Modelo: r   r   c   Patrimônio: ______________________   RT: ______________________   CREA/CFT: ______________________nome_ambienteget	r#   idx_ambienteidx_aparelhor   aparelhofolha_atualtotal_folhasr   r*   s	          r$   adicionar_cabecalho_checklistz1gerar_pmoc.<locals>.adicionar_cabecalho_checklistA  x    ba~S9O9O8PP_`l_mnvwxK=\NC$Oh!< =>TJ{  CG  	Hr&   rK   rL   z%Retirar os filtros da unidade internau   Lavar e secar à sombraz"Reinstalar corretamente os filtrosrN   rO   u(   Remover sujeiras com jato de água suaveu'   Inspecionar obstruções ao fluxo de aru6   Verificar plano de trabalho em altura (se necessário)rQ   rR   z+Aplicar produto desinfetante (spray/espuma)zEnxaguar com jato levezGarantir secagem completarT   u$   Conectar manômetros de alta e baixau'   Verificar as pressões em funcionamentoz.Comparar com valores do fabricante e registrarrV   rW   u#   Recolher o gás com sistema fechadoz!Armazenar em cilindro certificadoz*Verificar estanqueidade durante o processorY   rZ   u#   Verificar pressão e nível de gásu   Realizar recarga com precisãou"   Verificar vazamentos após recargar\   r]   +Realizar o balanceamento e registrar etapasr_   zVerificar conectores e cabosu(   Medir tensão e corrente com multímetrou+   Apertar conexões e inspecionar disjuntoresz(Checar sinais de aquecimento ou desgastera   u'   Verificar estado do isolamento térmicoz)Substituir partes danificadas ou ausentesu!   Checar fixações e trepidaçõesu%   Avaliar possíveis riscos de abrasãoru   u'   Verificar ruídos, vibrações e folgasu!   Inspecionar corrosões e suportesz Lubrificar e ajustar componentesu(   Executar pequenos reparos se necessário-   3. Checklists de Manutenção por Equipamentor   r   Atividade / SubatividadePeriodicidade   ☐ Checklist   ☐      → D   3.1 Checklists de Manutenção por Equipamento – Renovadores de Ar3.1.r   r    - Renovador de Ar   📄 FOLHA 1 DE 1r   r   rc   A   Verificar estrutura, corrosão, sujeira ou folgas no equipamento.re   8Retirar sujeiras, folhas, detritos ou gordura acumulada.rg   =   Verificar vibrações e folgas em parafusos, suportes e base.ri   5   Aplicar graxa ou óleo conforme manual do fabricante.rk   <   Verificar cabos, aquecimento, ruídos e consumo de corrente.rm   8   Confirmar vazão de ar emitida e ajustar se necessário.ro   >   Remover sujeiras acumuladas nas pás do ventilador ou turbina.rq   3   Checar barulhos incomuns e desequilíbrios no giro.-   4. Responsabilidades e Considerações Finaisd  A execução do Plano de Manutenção, Operação e Controle (PMOC) exige o cumprimento rigoroso de normas técnicas e legais. Todas as intervenções devem ser realizadas sob a supervisão de um Responsável Técnico (RT), legalmente habilitado e registrado no Conselho Regional de Engenharia e Agronomia (CREA) ou no Conselho Federal dos Técnicos (CFT).5  A empresa contratada é legal e tecnicamente responsável por assegurar condições de trabalho seguras, utilização adequada dos equipamentos de proteção, capacitação das equipes envolvidas e o cumprimento das exigências estabelecidas pela ANVISA, Ministério do Trabalho e demais órgãos competentes.-   🔧 Responsabilidades da empresa executante:  • ✅ Garantir o uso correto e obrigatório dos EPIs e EPCs em todas as manutenções.
• 📋 Apresentar plano de trabalho para intervenções em altura, com análise preliminar de risco.
• ⚡ Permitir acesso a circuitos energizados somente a profissionais habilitados em eletrotécnica.
• 📝 Manter registros organizados e auditáveis de todas as atividades de manutenção (data, técnicos responsáveis, pressões, tensões, peças substituídas, observações técnicas, etc.).E   🔍 Itens que devem ser verificados em cada manutenção preventiva:S  • 🌀 Condição de limpeza dos filtros, serpentinas e bandejas.
• 🔧 Estado das tubulações frigorígenas e isolamento térmico.
• 🔊 Operação do compressor e ventiladores, com atenção a ruídos anormais.
• ❄️ Pressões de trabalho do gás refrigerante compatíveis com o fluido utilizado (R-410A, R-32, etc.).
• 🔌 Conexões elétricas firmes, sem aquecimento excessivo ou faíscas.
• 🌡️ Temperaturas de insuflamento e retorno para avaliação do desempenho térmico.
• 📂 Preenchimento do checklist, com evidências de execução e correções realizadas.&   ⚠️ Consequências da negligência:  A ausência de manutenção adequada compromete a qualidade do ar interno, reduz a eficiência energética dos sistemas, acelera o desgaste dos componentes e pode causar falhas operacionais graves. Além disso, eleva significativamente os custos de reparo, aumenta o risco de acidentes de trabalho e descumpre exigências legais impostas por normativas como a Portaria GM/MS nº 3.523/1998 e a Resolução RE nº 9/2003 da ANVISA.   A adoção efetiva deste PMOC é, portanto, um compromisso com a saúde dos ocupantes, a segurança operacional e a sustentabilidade energética da edificação.zPMOC - z - Gerado em PMOC__z%Y%m%dz.docxzGapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentzContent-Dispositionzattachment; filename=)content_typeheadersr   F)Hr   sectionsr   left_marginright_margin
top_marginbottom_marginstylesr   r   r   r,   r   JUSTIFYnome_projetor   r:   cidadedatetimenowstrftimeadd_page_breakr   r   stripsplitr
   objectsfilterexists	enumerateospathjoinr   pd
read_excelcolumnsmaxr   tipo_aparelho
isinstancelistr   itemsappendcollectionsr   	add_tabler   r7   r8   r    add_rowstrr9   r   	Exception	area_piso
pe_direitonumero_pessoastaxa_renovacaor   lenr*   footerioBytesIOsaveseekr	   read)[requestr   sectionr   r   r?   p1r1   p2p3p4
atividades	atividadeperiodicidade	descricaop_atividadelinhar0   	ambientesresumo_equipamentosidxr   caminho_xlsxcarga_termicadf	aparelhosmodelos_ambienter   r   r   chaver   unidade_textor   agrupadoitemtabelahdrambiente_nomeequipamentosprimeira_linhaeqr=   r>   resumo_renovadores
dados_termr/  r0  r1  r2  info_ren
comb_renov
vazao_somadescricao_modelosrnr   velr   vazao_necessariatabela_resumor	  ir"   r   atividades_detalhadasatividades_parte1atividades_parte2r   r   total_paginaspaginaatividades_paginasubitenssubsub_rowultimo_ambienteultimo_aparelhoultima_paginaareaalturapessoas	renovacaoaparelhos_renovatividades_renovadorr4  footer_paragraphbuffernome_arqr   r*   r#   s[                                                                                           @@@r$   
gerar_pmocrx     s    *C
 ll1oGS'Gc7GCGsGGJJx E::DDI2DI "'.@.H.H /" EQW[\ 
7#7#7"89L^LeLe	fBww 2 
'..!12EWE^E^	_Bww 2 
,X->->-B-B-D-M-Mj-Y,Z[bf  oA  oH  oH  
IBww 2 ( 
	W !''
B ww 2  2!< `
  !d	d
 	) FTR	K		
	
	
	

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
o_JH 0: 2+	=)#gi[m_$MTXY 2 7 7 __&,,T2 	2Eekkm,A,11AK	22 UgTkTkM;$GQ
 %)) 	 
 %)) 	k 
 %)) 	G   KSTU	J   '''8IXY&y!4 (	MC77<<G7//01))**CDL
 Mww~~l+]]<
C2bjj@$&'F$G$K$K$MM+M8;Q;Q;]U]^IJy$$? $X%;%;$<<tu
  "% M!h4%\\*GM
,*:*>*>ua*H1*L '	M 5E4J4J4L 
0$j-71_	*
|1]OCSTZS[\] $** ( 6 6$",",	, 
=(	Z GdS	e 	^ 	0  	X  	j 	M 	C JQUV 	,t$' 	4DT*%&--d3	4 AA.#kk!n"" AA*A"A+3>>+; 	4'M<!N" 	4nn&,,!"/CFK%*N"$CFK lA!"\"23A!"\"23A	4	4 ;; 	/C		 /??3E3L3LDOOA&0#q166 /(*2//	/  4A>	i 	X
  4$	&..22H2EJ ",,1I#..3!J'66;!N'66;!NDNAIz>>.y*nVde\\-4
J "   ff]B7)4k"o"#. 2A6!((+Fvho^c]ddj)kle#
")) ( 6 6$""ww'<cB WW%?E #(:C @+ " *X%;%;$<=QG.x/E/E.F  GE  F  G* %e$%  (||,EqI:;KC:PPVWX@C@PPVWX--~  C  D(#i4$r JRST115*  #))ng& 	#DAqCFK-?-F-FCFa *a&##A&++A.C#CHHMrFCHHM	# ' 	'D'')//Cz*CFKx.CFKd7m,CFKd9o.CFKd7m,CFKd:./CFK '/A/H/H",ooa(--a0 ' "2	'	' H 
.x :
 	
 
#L 3
 	
 
/ >
 	
 
( 7
 	
 
-.B E
 	
 
()R U
 	
 
(93
 	 
"; 1
 	 
&w 1
 	 
( 3
 	]4n .bq1-ab1 ?qI"+Iq"9 4)hww||Cw++,-%%&&?@

 77>>,'|J?B."**< "#B C G G I'x7M7M7YQYZ	
9d ;&/	1&= $	)"L( 5bq 9 5ab 9M-68IK\7]_`-a )))-|Xx &!. AA6'kk!n**8A-A-A:K 	06I}h ..*00C"+CFK"/CFK"'CFK' 0"(.."2"8"8,3C5/
*,
*/
	0	0 #/#i."@".#i."@ &- 7'O&&(?)$	)!4)t V^_`"+Iq"9 :!h	&..22H2EJ (2z##q*4&&!/9*++q1;J--	.tVWiP",,}b9&/&C )	!"L(",,}b9K%0+b/bC $|nAl^3x?U?U>VVhiqrs-T:HX\\(C%@$ABN  GK  L ]]]2FF#++a.&&C4CFK)CFK)CFK +H7z6{|>  LF  KG  H2L  DC  CD  E4lE|D}~0+@~?  A17=w<xy.:z9{|7G|F}~	$  7K 	,2	=(nn&,,'A+A#A# ,C$nn.44G(/uoGAJO&(GAJO&+GAJO	,	, b! S)	!#:!B ?qI	l 	5 AM	P !%% Y`de	g !%%	 :F	3 	' << ?393D3D6,,Q/&J^J^J`")'*>*>)?}XM^M^MbMbMdMmMmnxMyLz {%7%>%>"	? ZZ\FHHV
KKNw++,Ah.?.?.C.C.E.N.Nx.X-YY^_H^&*?z(JK C  	J	@  	J	s.    AG. AGGAGGAGGAG#G"AG#c                    OP  j                   d   }|j                  }d|_        t        d      |_        dt
        j                  f fd	Pd }d fd	O Od	d
        Pd|j                   d        Pd        Pdd        Pd       g dg dg dg dg dg dg dg dg dg dg dg dg dg d g d!g d"g d#g d$g d%g}|D ]z  \  }}} Pd&| d'| d      }	t
        j                  |	_	        |j                         j                  d(      D ]-  }
 P|
j                               }t
        j                  |_	        / | t
        j                   Pd)d      _	        t
        j                   Pd*      _	        t
        j                   Pd+      _	        t
        j                   Pd,      _	         j                           Od-d        Pd.       t        j                  j                  |/      }g }|j!                         s
 Pd0       nt#        |d      D ]{  \  }}t$        j&                  j)                  d1d2|j                   |j*                   d3      }d4}t$        j&                  j!                  |      r8t-        j.                  |d56      }d7|j0                  v r|d7   j3                         }t5        ||j6                  xs d8      }|rt9        |t:              s Pd9|j*                   d:       i }|D ]B  }|j=                  d;d<      }|j=                  d=d<      }||f}|j=                  |d4      dz   ||<   D |j?                         D ]B  \  \  }}}|dk(  rd>nd?} Pd@| dA| dB|        |jA                  |j*                  |||dC       D ~  PdDd        PdE        PdF        PdG        PdH        PdI        PdJ        PdK       |r PdLd       d4dMl!m"}  |t:              }|D ]  }||dN      jA                  |         jG                  ddOP      }dQ|_$        |jJ                  d4   jL                  }dR|d4   _'        dS|d   _'        dT|dU   _'        dV|d
   _'        |j?                         D ]z  \  } }!d}"|!D ]n  }#|jQ                         jL                  }$|"r| |$d4   _'        d}"n
dW|$d4   _'        |#d;   |$d   _'        tS        |#dX         |$dU   _'        tS        |#dY         |$d
   _'        p | |jJ                  D ]z  }$|$jL                  D ]i  }%|%jT                  st
        jV                  |%jT                  d4   _	        |%jT                  d4   jX                  D ]  }&t        dZ      |&j                  _         k |  j                           Od[dU        Pd\        Pd]       g }'|D ]  }	 tZ        j                  j=                  |^      }(|(rA|(j^                  xs d4})|(j`                  xs d4}*|(jb                  xs d4}+|(jd                  xs d4},nd`\  })}*}+},tg        |)|*|+|,      }-|-j=                  dag       }.|.sd4}/g }0|.D ]  }1|1j=                  dbg       }2|2r|2dc   ni }3|1j=                  d;d<      }|3j=                  ddd4      }4|0jA                  de| df|4 dg       |/|4z  }/|'jA                  |j*                  ||4|3j=                  dhd<      |3j=                  did<      |3j=                  djd<      dk         Odl|j*                   d
        Pd9|j*                   dm       |0D ]
  }
 P|
        |-j=                  dnd4      }5 Pdo|5dpdg        Pdq|/dpdg       |/|5k\  r	 Pdr       n Pds        Pdt        |'r OdudU        jG                  ddvP      }6dQ|6_$        |6jJ                  d4   jL                  }g dw}7t#        |7      D ]~  \  }8}9|9||8   _'        t
        jV                  ||8   jT                  d4   _	        ||8   jT                  d4   jX                  d4   }&d|&j                  _        t        d      |&j                  _         |'D ]  }|6jQ                         jL                  }$|dN   |$d4   _'        |d;   |$d   _'        tS        |dx         |$dU   _'        tS        |dy         |$d
   _'        tS        |dz         |$dO   _'        tS        |d{         |$d|   _'        |$D ]k  }%t
        jV                  |%jT                  d4   _	        |%jT                  d4   jX                  d4   }&d|&j                  _        t        d      |&j                  _        m   j                          OPfd}}:d~dg dfddg dfddg dfddg dfddg dfddg dfdddgfddg dfddg dfddg dfg
};|;d_d| }<|;d|d_ }= Odd       t#        |d      D ]   \  }>}t$        j&                  j)                  d1d2|j                   |j*                   d3      }d4}t$        j&                  j!                  |      r8t-        j.                  |d56      }d7|j0                  v r|d7   j3                         }t5        ||j6                  xs d8      }|rt9        |t:              st#        |d      D ]I  \  }?}|;d_d| }<|;d|d_ }=dU}@t#        |<|=gd      D ]%  \  }A}B |: |>|?|||A@        jG                  dd
P      } ||       |jJ                  d4   jL                  }d|d4   _'        d|d   _'        d|dU   _'        |BD ]  \  }}}C|jQ                         jL                  }$||$d4   _'        ||$d   _'        d|$dU   _'        |CD ]=  }D|jQ                         jL                  }Ed|D |Ed4   _'        dW|Ed   _'        d|EdU   _'        ?  |>ti        |      k(  }F|?ti        |      k(  }GA@k(  }H|FrGrHr j                          ( L #  Odd       t#        |d      D ],  \  }>}	 tZ        j                  j=                  |^      }(|(r|(j^                  nd4}I|(r|(j`                  nd4}J|(r|(jb                  nd4}K|(r|(jd                  nd4}Ltg        IJK|L      }-|-j=                  dag       }M|Mst#        Md      D ]  \  }?}|j=                  dbg       }2|2r|2dc   ni }3 Od|> d|? d|j*                   ddU        Pdd        Pd|j=                  d;d<       d        Pdd        jG                  dd
P      } ||       |jJ                  d4   jL                  }d|d4   _'        d|d   _'        d|dU   _'        dddgfdddgfdddgfdddgfdddgfdddgfdddgfdddgfg}N|ND ]  \  }}}C|jQ                         jL                  }$||$d4   _'        ||$d   _'        d|$dU   _'        |CD ]=  }D|jQ                         jL                  }Ed|D |Ed4   _'        dW|Ed   _'        d|EdU   _'        ?   jk                  dW        j                           /  Odd        Pd        Pd        Pdd        Pdt
        j                          Pdd        Pdt
        j                          Pdd        Pd        Pd       y_# t\        $ r d_}(Y w xY w# t\        $ r d_}(Y w xY w)u   
    Insere o conteúdo do PMOC diretamente em um Document existente,
    para compor o Termo de Referência de Manutenção.
    r   r   r   Fc                     j                         }|j                  |       }d|j                  _        t	        d      |j                  _        ||_        ||_        |S r(   r)   r.   s        r$   r*   z*inserir_pmoc_no_doc.<locals>.add_paragraph`  r2   r&   c                 $   d| _         | j                  D ]z  }|j                  D ]i  }|j                  st        j
                  |j                  d   _        |j                  d   j                  D ]  }t        d      |j                  _
         k | y )Nr4   r   r   r6   r;   s       r$   r?   z,inserir_pmoc_no_doc.<locals>.add_table_stylei  sz    ":: 	/C		 /??3E3L3LDOOA&0#q166 /(*2//	/r&   r   c                     j                  | |      }|rt        j                  nt        j                  |_        d|j
                  j                  _        |S r   r   r   s       r$   r   z(inserir_pmoc_no_doc.<locals>.add_headingr  r%   r&   rC   r   r   rD   rE   rF   rG   TrH   rI   rJ   rM   rP   rS   rU   rX   r[   r^   r`   rb   rd   rf   rh   rj   rl   rn   rp   rr   rt   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   r
   r   r   r   r   r   r   r   r   r   r   r   r   Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c           
           d| d| d|j                    d| d        d| d| d	
        d|j                  dd       d	
        dd	
       y r   r   r   s	          r$   r   z:inserir_pmoc_no_doc.<locals>.adicionar_cabecalho_checklistM  r   r&   rK   rL   r   rN   rO   r   rQ   rR   r   rT   r   rV   rW   r   rY   rZ   r   r\   r]   r   r_   r   ra   r   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rc   r   re   r   rg   r   ri   r   rk   r   rm   r   ro   r   rq   r   r   r   r   r   r   rB   r  r  r  r  r  r
  )6r  r   r   r   r,   r   r  r  r   r   r  r  r  r
   r  r  r  r  r  r  r   r   r!  r"  r#  r$  r   r%  r&  r'  r   r(  r)  r*  r   r+  r   r7   r8   r    r,  r-  r9   r   r:   r   r.  r/  r0  r1  r2  r   r3  r*   )Qr#   r   r   r   r?   r@  rA  rB  rC  rD  rE  r0   rF  rG  rH  r   rI  rJ  rK  rL  rM  r   r   r   rN  r   rO  r   rP  rQ  rR  rS  rT  rU  rV  rW  r=   r>   r1   rX  rY  r/  r0  r1  r2  rZ  r[  r\  r]  r^  r   r_  r   r`  ra  r	  rb  r"   r   rc  rd  re  r   r   rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  r   r*   sQ   `                                                                              @@r$   inserir_pmoc_no_docr~  T  s`    JJx E::DDI2DI!&.@.H.H / 2!< `
  !d	d
 	) FTR	K		
	
	
	

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
o_JH 0: 2+	=)#gi[m_$MTXY 2 7 7 __&,,T2 	2Eekkm,A,11AK	22 UgTkTkM;$GQ
 %)) 	 
 %)) 	k 
 %)) 	G   KSTU	J   '''8IXY&y!4 (	MC77<<G7//01))**CDL
 Mww~~l+]]<
C2bjj@$&'F$G$K$K$MM+M8;Q;Q;]U]^IJy$$? $X%;%;$<<tu
  "% M!h4%\\*GM
,*:*>*>ua*H1*L '	M 5E4J4J4L 
0$j-71_	*
|1]OCSTZS[\] $** ( 6 6$",",	, 
=(	Z GdS	e 	^ 	0  	X  	j 	M 	C JQUV 	,t$' 	4DT*%&--d3	4 AA.#kk!n"" AA*A"A+3>>+; 	4'M<!N" 	4nn&,,!"/CFK%*N"$CFK lA!"\"23A!"\"23A	4	4 ;; 	/C		 /??3E3L3LDOOA&0#q166 /(*2//	/  4A>	i 	X
  4$	&..22H2EJ ",,1I#..3!J'66;!N'66;!NDNAIz>>.y*nVde\\-4
J "   ff]B7)4k"o"#. 2A6!((+Fvho^c]ddj)kle#
")) ( 6 6$""ww'<cB WW%?E #(:C @+ " *X%;%;$<=QG.x/E/E.F  GE  F  G* %e$%  (||,EqI:;KC:PPVWX@C@PPVWX--~  C  D(#i4$r JRST115*  #))ng& 	#DAqCFK-?-F-FCFa *a&##A&++A.C#CHHMrFCHHM	# ' 	'D'')//Cz*CFKx.CFKd7m,CFKd9o.CFKd7m,CFKd:./CFK '/A/H/H",ooa(--a0 ' "2	'	' H 
.x :
 	
 
#L 3
 	
 
/ >
 	
 
( 7
 	
 
-.B E
 	
 
()R U
 	
 
(93
 	 
"; 1
 	 
&w 1
 	 
( 3
 	]4n .bq1-ab1 ?qI"+Iq"9 4)hww||Cw++,-%%&&?@

 77>>,'|J?B."**< "#B C G G I'x7M7M7YQYZ	
9d ;&/	1&= $	)"L( 5bq 9 5ab 9M-68IK\7]_`-a )))-|Xx &!. AA6'kk!n**8A-A-A:K 	06I}h ..*00C"+CFK"/CFK"'CFK' 0"(.."2"8"8,3C5/
*,
*/
	0	0 #/#i."@".#i."@ &- 7'O&&(?)$	)!4)t V^_`"+Iq"9 :!h	&..22H2EJ (2z##q*4&&!/9*++q1;J--	.tVWiP",,}b9&/&C )	!"L(",,}b9K%0+b/bC $|nAl^3x?U?U>VVhiqrs-T:HX\\(C%@$ABN  GK  L ]]]2FF#++a.&&C4CFK)CFK)CFK +H7z6{|>  LF  KG  H2L  DC  CD  E4lE|D}~0+@~?  A17=w<xy.:z9{|7G|F}~	$  7K 	,2	=(nn&,,'A+A#A# ,C$nn.44G(/uoGAJO&(GAJO&+GAJO	,	, b! S)	!#:!B ?qI	l 	5 AM	P !%% Y`de	g !%%	 :F	3 	'S
  	J	@  	J	s$    z< {<{
{{{)docxr   docx.sharedr   r   docx.enum.textr   docx.oxml.nsr   	docx.oxmlr   django.httpr	   r5  r  r  pandasr!  ctermica.modelsr
   r   centraltermica.viewsr   r   rx  r~   r&   r$   <module>r     s9      -  ! $ 	  	  < < Q|Jjr&   