Ë
    oPêj&,  ã                  ó6  — d Z ddlmZ ddlZddlZddlmZ ddlmZm	Z	m
Z
 ddlmZmZ ddlmZmZmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ e	rddlmZ ej=                  ej>                  D � ci c]  } | dvsŒ| d| › �“Œ c} «      Z dd„Z! G d„ d«      Z"yc c} w )zSummary reportingé    )ÚannotationsN)ÚIterable)ÚIOÚTYPE_CHECKINGÚAny)ÚConfigErrorÚNoDataError)Úhuman_sorted_itemsÚneutralize_controlÚplural)ÚFileReporter)Úget_analysis_to_report)ÚAnalysisÚNumbers)ÚTMorfs)ÚCoveragez.,/-ú\c                ó,   — | j                  t        «      S )zEPrefix all characters meaningful in markdown tables with backslashes.)Ú	translateÚMARKDOWN_ESCAPES)Útexts    úT/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/coverage/report.pyÚescape_markdownr      s   € à�>‰>Ô*Ó+Ð+ó    c                  óz   — e Zd ZdZdd„Zdd„Zdd„Z	 	 	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 dd„Zddd„Z	dd	„Z
dd
„Zy)ÚSummaryReporterz*A reporter for writing the summary report.c                óš  — || _         | j                   j                  | _        |j                  «       j                  «       | _        d | _        | j                  j                  xs d| _        | j                  dvrt        d| j                  ›�«      ‚g | _	        d| _
        d| _        t        | j                  j                  ¬«      | _        y )Nr   >   r   ÚtotalÚmarkdownzUnknown report format choice: r   )Ú	precision)ÚcoverageÚconfigÚget_dataÚhas_arcsÚbranchesÚoutfileÚformatÚoutput_formatr   Úname_analysesÚskipped_countÚempty_countr   r    r   )Úselfr!   s     r   Ú__init__zSummaryReporter.__init__&   sª   € Ø ˆŒØ—m‘m×*Ñ*ˆŒØ ×)Ñ)Ó+×4Ñ4Ó6ˆŒØ'+ˆŒØ!Ÿ[™[×/Ñ/Ò9°6ˆÔØ×ÑÐ%BÑBÜÐ >¸t×?QÑ?QÐ>TÐUÓVÐVð :<ˆÔØˆÔØˆÔÜ t§{¡{×'<Ñ'<Ô=ˆ�
r   c                ó¨   — | j                   €J ‚| j                   j                  |j                  «       «       | j                   j                  d«       y)z-Write a line to the output, adding a newline.Nú
)r&   ÚwriteÚrstrip)r,   Úlines     r   r0   zSummaryReporter.write6   s<   € à�|‰|Ð'Ð'Ð'Ø�‰×Ñ˜4Ÿ;™;›=Ô)Ø�‰×Ñ˜4Õ r   c                óD   — | j                  dj                  |«      «       y)z)Write a list of strings, joined together.Ú N)r0   Újoin)r,   Úitemss     r   Úwrite_itemszSummaryReporter.write_items<   s   € à�
‰
�2—7‘7˜5“>Õ"r   c                ó„  ‡‡‡— t        |D �cg c]  }t        |d   «      ‘Œ c}dgz   «      dz   Št        t        ||j                  d«         «      dz   t        d«      «      dz   Št        ‰g|D �cg c]"  }t        ||j                  d«         «      dz   ‘Œ$ c}z   «      Št        dddddd	d
¬«      Š|D �cg c]  }‰|   j	                  |‰‰¬«      ‘Œ }}dj                  |«      }dt        |«      z  }	| j                  |«       | j                  |	«       ‰j                  t        dd¬«      «       |D ](  }
| j                  ˆˆˆfd„t        ||
«      D «       «       Œ* |r| j                  |	«       | j                  ˆˆˆfd„t        ||«      D «       «       |D ]  }| j                  |«       Œ yc c}w c c}w c c}w )a:  Internal method that prints report data in text format.

        `header` is a list with captions.
        `lines_values` is list of lists of sortable values.
        `total_line` is a list with values of the total line.
        `end_lines` is a list of ending lines with information about skipped files.

        r   é   é   ÚCoveré   z Coverz{:{name_len}}z{:>7}z{:>{n}}z{:>10}©ÚNameÚStmtsÚMissÚBranchÚBrPartr;   ÚMissing©Úname_lenÚnr4   ú-z{:>{n}}%z   {:9})r;   rC   c              3  ój   •K  — | ]*  \  }}‰|   j                  t        |«      ‰‰d z
  ¬«      –— Œ, y­w©r:   rD   N©r'   Ústr©Ú.0ÚitemÚvalueÚformatsÚmax_nÚmax_names      €€€r   ú	<genexpr>z.SummaryReporter.report_text.<locals>.<genexpr>m   s<   øè ø€ ò á#˜˜eð ˜D‘M×(Ñ(¬¨U«¸hÈ%ÐRSÉ)Ð(×Tñùó   ƒ03c              3  ój   •K  — | ]*  \  }}‰|   j                  t        |«      ‰‰d z
  ¬«      –— Œ, y­wrI   rJ   rL   s      €€€r   rS   z.SummaryReporter.report_text.<locals>.<genexpr>x   s;   øè ø€ ò á�D˜%ð ˜‘×$Ñ$¤S¨£Z¸(ÀeÈaÁiÐ$×PñùrT   N)
ÚmaxÚlenÚindexÚdictr'   r5   r0   Úupdater7   Úzip)r,   ÚheaderÚlines_valuesÚ
total_lineÚ	end_linesr2   rN   Úheader_itemsÚ
header_strÚruleÚvaluesÚend_linerP   rQ   rR   s               @@@r   Úreport_textzSummaryReporter.report_text@   sÂ  ú€ ô  °Ö>¨œ˜D ™G�Ò>À!ÀÑDÓEÈÑIˆÜ”C˜
 6§<¡<°Ó#8Ñ9Ó:¸QÑ>ÄÀHÃÓNÐQRÑRˆÜ�U�GÐP\Ö]Èœs 4¨¯©°WÓ(=Ñ#>Ó?À!ÓCÒ]Ñ]Ó^ˆÜØ ØØØØØØô
ˆð \bÖbÐSW˜ ™×,Ñ,¨T¸HÈÐ,ÕNÐbˆÐbØ—W‘W˜\Ó*ˆ
Ø”S˜“_Ñ$ˆð 	�
‰
�:ÔØ�
‰
�4Ôð 	�‰ÜØ Ø!ôô	
ð #ò 	ˆFØ×Ñõä'*¨6°6Ó':ôõð	ñ Ø�J‰J�tÔà×Ñõä#& v¨zÓ#:ôô	
ð "ò 	!ˆHØ�J‰J�xÕ ñ	!ùò] ?ùâ]ùò cs   �F3Á1'F8
Â7F=c                ó$  ‡‡‡— t        d„ |D «       d¬«      Št        ‰t        d«      «      dz   Št        ddddddd	¬
«      Št        t        ||j                  d«         «      dz   t        d«      «      Š|D �cg c]  }‰|   j	                  |‰‰¬«      ‘Œ }}dj                  |«      }ddj                  dj                  t        |d   «      dz
  d«      g|dd D �cg c]   }dj                  t        |«      dz
  d«      ‘Œ" c}z   «      z   }| j                  |«       | j                  |«       |D ]C  }	‰j                  t        d¬«      «       | j                  ˆˆˆfd„t        ||	«      D «       «       ŒE ‰j                  t        dd¬«      «       g }
t        ||«      D ]9  \  }}|dk(  r|}n|dk(  rd|› d�}nd|› d�}|
‰|   j	                  |‰‰¬«      z  }
Œ; | j                  |
«       |D ]  }| j                  |«       Œ yc c}w c c}w )aT  Internal method that prints report data in markdown format.

        `header` is a list with captions.
        `lines_values` is a sorted list of lists containing coverage information.
        `total_line` is a list with values of the total line.
        `end_lines` is a list of ending lines with information about skipped files.

        c              3  óJ   K  — | ]  }t        t        |d    «      «      –— Œ y­w)r   N)rW   r   )rM   r2   s     r   rS   z2SummaryReporter.report_markdown.<locals>.<genexpr>’   s   è ø€ ÒO¸$œœO¨D°©GÓ4×5ÑOùs   ‚!#r   )Údefaultz	**TOTAL**r:   z| {:{name_len}}|z{:>9} |z	{:>{n}} |z{:>10} |r=   r;   é   z Cover rD   r4   ú|ú z- |rG   Nz-: |z
{:>{n}}% |)r;   c              3  ó|   •K  — | ]3  \  }}‰|   j                  t        t        |«      «      ‰‰d z
  ¬«      –— Œ5 y­wrI   )r'   r   rK   rL   s      €€€r   rS   z2SummaryReporter.report_markdown.<locals>.<genexpr>±   sH   øè ø€ ò ñ $˜˜eð ˜D‘M×(Ñ(Ü'¬¨E«
Ó3¸hÈ%ÐRSÉ)ð )÷ ñùs   ƒ9<z|{:{name_len}} |)r>   r;   z **z%**z**)rV   rW   rY   rX   r'   r5   Úrjustr0   rZ   r7   r[   )r,   r\   r]   r^   r_   rN   r`   ra   Úrule_strrc   Útotal_line_itemsrO   Úinsertrd   rP   rQ   rR   s                 @@@r   Úreport_markdownzSummaryReporter.report_markdown�   sB  ú€ ô" ÑOÀ,ÔOÐYZÔ[ˆÜ�x¤ [Ó!1Ó2°QÑ6ˆÜØ#ØØØØØØô
ˆô ”C˜
 6§<¡<°Ó#8Ñ9Ó:¸QÑ>ÄÀIÃÓOˆØ[aÖbÐSW˜ ™×,Ñ,¨T¸HÈÐ,ÕNÐbˆÐbØ—W‘W˜\Ó*ˆ
Ø˜Ÿ™Ø�[‰[œ˜\¨!™_Ó-°Ñ1°3Ó7Ð8Ø<HÈÈÐ<LÖM°Dˆv�|‰|œC ›I¨™M¨3Õ/ÒMñNó
ñ 
ˆð 	�
‰
�:ÔØ�
‰
�8Ôð #ò 	ˆFØ�N‰NÜØ&ôôð
 ×Ñõô (+¨6°6Ó':ô	õð	ð  	�‰ÜØ'Ø!ôô	
ð ')ÐÜ˜v zÓ2ò 	Y‰KˆD�%Ø˜Š{Ø‘Ø˜’Ø˜u˜g SÐ)‘à˜u˜g R˜�Ø ¨¡× 4Ñ 4°VÀhÐRWÐ 4Ó XÑXÑð	Yð 	×ÑÐ)Ô*à!ò 	!ˆHØ�J‰J�xÕ ñ	!ùò[ cùò Ns   Á9HÃ%HNc                óH  — |xs t         j                  | _        | j                  j	                  «       j                  | j                  j                  «       t        | j                  |«      D ]  \  }}| j                  ||«       Œ | j                  j                  s| j                  st        d«      ‚| j                  dk(  r;| j                  | j                  j                   «       | j                  j$                  S | j#                  «        | j                  j$                  S )zŒWrites a report summarizing coverage statistics per module.

        `outfile` is a text-mode file object to write the summary to.

        zNo data to report.r   )ÚsysÚstdoutr&   r!   r#   Úset_query_contextsr"   Úreport_contextsr   Úreport_one_filer   Ún_filesr*   r	   r(   r0   Úpc_covered_strÚtabular_reportÚ
pc_covered)r,   Úmorfsr&   ÚfrÚanalysiss        r   ÚreportzSummaryReporter.reportÎ   sÞ   € ð Ò,¤#§*¡*ˆŒà�‰×ÑÓ ×3Ñ3°D·K±K×4OÑ4OÔPÜ2°4·=±=À%ÓHò 	/‰LˆB�Ø× Ñ   XÕ.ð	/ð �z‰z×!Ò!¨$×*<Ò*<ÜÐ2Ó3Ð3à×Ñ Ò(Ø�J‰J�t—z‘z×0Ñ0Ô1ð �z‰z×$Ñ$Ð$ð ×ÑÔ!à�z‰z×$Ñ$Ð$r   c                ó’  ‡— g d¢}| j                   r|ddgz  }|dgz  }| j                  j                  r|dgz  }t        dddd	¬
«      }| j                   r|j	                  t        dd¬«      «       g }| j
                  D ]·  \  }}|j                  }t        |«      |j                  |j                  g}| j                   r||j                  |j                  gz  }||j                  gz  }| j                  j                  r||j                  d¬«      gz  }||j                  gz  }|j                  |«       Œ¹ | j                  j                   xs dj#                  «       }d}	|d   dk(  rd}	|dd }n|d   dk(  r|dd }|j%                  |«      Š‰€"t'        d| j                  j                   ›�«      ‚|dk(  rt)        ||	¬«      }n|j!                  ˆfd„|	¬«       d| j*                  j                  | j*                  j                  g}
| j                   r/|
| j*                  j                  | j*                  j                  gz  }
|
| j*                  j                  gz  }
| j                  j                  r|
dgz  }
g }| j                  j,                  r5| j.                  r)|j                  dt1        | j.                  d«      › d�«       | j                  j2                  r5| j4                  r)|j                  dt1        | j4                  d«      › d�«       | j6                  d k(  r| j8                  }n| j:                  } ||||
|«       y)!zWrites tabular report formats.)r>   r?   r@   rA   rB   r;   rC   r   r:   r<   éÿÿÿÿ)ÚnameÚstmtsÚmissÚcoveré   é   )ÚbranchÚbrpartT)r%   r‚   FrG   Nú+zInvalid sorting option: )Úreversec                ó   •— | ‰   | d   fS )Nr   © )r2   Úsort_idxs    €r   ú<lambda>z0SummaryReporter.tabular_report.<locals>.<lambda>  s   ø€  $ x¡.°$°q±'Ð!:€ r   )Úkeyr‹   ÚTOTALr4   r/   Úfilez" skipped due to complete coverage.z
empty filez	 skipped.r   )r%   r"   Úshow_missingrY   rZ   r)   Únumbersr   Ún_statementsÚ	n_missingÚ
n_branchesÚn_partial_branchesry   Úmissing_formattedr{   ÚappendÚsortÚlowerÚgetr   r
   r   Úskip_coveredr*   r   Ú
skip_emptyr+   r(   rq   re   )r,   r\   Úcolumn_orderr]   r‚   r~   ÚnumsÚargsÚsort_optionr‹   r^   r_   Ú	formatterrŽ   s                @r   rz   zSummaryReporter.tabular_reportä   s  ø€ ò +ˆØ�=Š=Ø�x Ð*Ñ*ˆFØ�7�)ÑˆØ�;‰;×#Ò#Ø�y�kÑ!ˆFä ¨!°!¸2Ô>ˆØ�=Š=Ø×Ñ¤¨A°aÔ 8Ô9ð ˆà"×0Ñ0ò 		&‰NˆD�(Ø×#Ñ#ˆDÜ& tÓ,¨d×.?Ñ.?ÀÇÁÐPˆDØ�}Š}Ø˜Ÿ™¨$×*AÑ*AÐBÑB�Ø�T×(Ñ(Ð)Ñ)ˆDØ�{‰{×'Ò'Ø˜×3Ñ3¸TÐ3ÓBÐCÑC�Ø�T—_‘_Ð%Ñ%ˆDØ×Ñ Õ%ð		&ð —{‘{×'Ñ'Ò1¨6×8Ñ8Ó:ˆØˆØ�q‰>˜SÒ ØˆGØ% a b˜/‰KØ˜‰^˜sÒ"Ø% a b˜/ˆKØ×#Ñ# KÓ0ˆØÐÜÐ 8¸¿¹×9IÑ9IÐ8LÐMÓNÐNØ˜&Ò Ü-¨lÀGÔL‰Là×ÑÛ:Øð ô ð ˜tŸz™z×6Ñ6¸¿
¹
×8LÑ8LÐMˆ
Ø�=Š=Ø˜4Ÿ:™:×0Ñ0°$·*±*×2OÑ2OÐPÑPˆJØ�t—z‘z×0Ñ0Ð1Ñ1ˆ
Ø�;‰;×#Ò#Ø˜2˜$ÑˆJð ˆ	Ø�;‰;×#Ò#¨×(:Ò(:Ø×ÑØ”V˜D×.Ñ.°Ó7Ð8Ð8ZÐ[ôð �;‰;×!Ò! d×&6Ò&6Ø×Ñ˜r¤&¨×)9Ñ)9¸<Ó"HÐ!IÈÐSÔTà×Ñ Ò+Ø×,Ñ,‰Ià×(Ñ(ˆIÙ�&˜,¨
°IÕ>r   c                ó®  — |j                   }| xj                  |z  c_        |j                  dk(  }|j                  dk(  }| j                  j
                  r|r|r| xj                  dz  c_        y| j                  j                  r%|j                  dk(  r| xj                  dz  c_	        y| j                  j                  |j                  «       |f«       y)z4Report on just one file, the callback from report().r   r:   N)r”   r   r–   r˜   r"   rž   r*   rŸ   r•   r+   r)   rš   Úrelative_filename)r,   r}   r~   r¡   Úno_missing_linesÚno_missing_branchess         r   rw   zSummaryReporter.report_one_file*  s¬   € à×ÑˆØ�
Š
�dÑ�
à ŸN™N¨aÑ/ÐØ#×6Ñ6¸!Ñ;ÐØ�;‰;×#Ò#Ñ(8Ñ=Pà×Ò !Ñ#ÖØ�[‰[×#Ò#¨×(9Ñ(9¸QÒ(>à×Ò Ñ!Öà×Ñ×%Ñ% r×';Ñ';Ó'=¸xÐ&HÕIr   )r!   r   ÚreturnÚNone)r2   rK   r©   rª   )r6   zIterable[str]r©   rª   )
r\   ú	list[str]r]   zlist[list[Any]]r^   z	list[Any]r_   r«   r©   rª   )N)r|   r   r&   zIO[str] | Noner©   Úfloat)r©   rª   )r}   r   r~   r   r©   rª   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r-   r0   r7   re   rq   r   rz   rw   r�   r   r   r   r   #   s˜   „ Ù4ó>ó !ó#ð?!àð?!ð &ð?!ð ð	?!ð
 ð?!ð 
ó?!ðBK!àðK!ð &ðK!ð ð	K!ð
 ðK!ð 
óK!ôZ%ó,D?ôLJr   r   )r   rK   r©   rK   )#r°   Ú
__future__r   Ústringrs   Úcollections.abcr   Útypingr   r   r   Úcoverage.exceptionsr   r	   Úcoverage.miscr
   r   r   Úcoverage.pluginr   Úcoverage.report_corer   Úcoverage.resultsr   r   Úcoverage.typesr   r!   r   rK   Ú	maketransÚpunctuationr   r   r   )Úchars   0r   ú<module>r¾      s‡   ðñ õ #ã Û 
Ý $ß )Ñ )ç 8ß HÑ HÝ (Ý 7ß .Ý !áÝ!à—=‘=Ø#)×#5Ñ#5ÖL˜4¸ÀVÒ9K€TˆR�ˆvˆ;ÑÒLóÐ ó
,÷
UJò UJùò Ms   Á.	BÁ8B