Ë
    V.jb'  ã                  ó*  — d 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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 ddlmZ ddlmZ erddlm Z   ee«      ZdZ!dd„Z"e
 G d„ d«      «       Z#dd„Z$ G d„ d«      Z%dd„Z&y)zXML reporting for coverage.pyé    )ÚannotationsN)Ú	dataclass)ÚIOÚTYPE_CHECKINGÚAny)Ú__version__Úfiles)Úhuman_sortedÚhuman_sorted_itemsÚisolate_module)ÚFileReporter)Úget_analysis_to_report)ÚAnalysis)ÚTMorfs)Ú__url__)ÚCoveragezQhttps://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtdc                ó   — |dk(  ry| |z  d›S )z0Return the fraction of `hit`/`num`, as a string.r   Ú1z.4g© )ÚhitÚnums     úTC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\coverage/xmlreport.pyÚrater   !   s   € à
ˆa‚xØà˜‘)˜C�Ð!ó    c                  óD   — e Zd ZU dZded<   ded<   ded<   ded<   ded<   y	)
ÚPackageDataz2Data we keep about each "package" (in Java terms).z"dict[str, xml.dom.minidom.Element]ÚelementsÚintÚhitsÚlinesÚbr_hitsÚbranchesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   r   )   s   … á<à0Ó0Ø
ƒIØƒJØƒLØ„Mr   r   c                ó&   — | j                  |«       y)z=Append a child to a parent, in a way mypy will shut up about.N)ÚappendChild)ÚparentÚchilds     r   r)   r)   4   s   € à
×Ñ�uÕr   c                  ó.   — e Zd ZdZdZdd„Zdd	d„Zd
d„Zy)ÚXmlReporterz<A reporter for writing Cobertura-style XML coverage results.z
XML reportc                óÊ  — || _         | j                   j                  | _        t        «       | _        | j                  j                  r“| j                  j                  D ]z  }t
        j                  j                  |«      sŒ#| j                  j                  r|j                  d«      }nt        j                  |«      }| j                  j                  |«       Œ| i | _        |  y )Nú\/)ÚcoverageÚconfigÚsetÚsource_pathsÚsourceÚosÚpathÚexistsÚrelative_filesÚrstripr	   Úcanonical_filenameÚaddÚpackages)Úselfr0   Úsrcs      r   Ú__init__zXmlReporter.__init__>   s    € Ø ˆŒØ—m‘m×*Ñ*ˆŒä›EˆÔØ�;‰;×ÒØ—{‘{×)Ô)�Ü—7‘7—>‘> #Õ&Ø—{‘{×1Ò1Ø!Ÿj™j¨Ó/™ä#×6Ñ6°sÓ;˜Ø×%Ñ%×)Ñ)¨#Õ.ð *ð 13ˆŒÚr   Nc           	     ó
  — |xs t         j                  }| j                  j                  «       j	                  «       }t
        j                  j                  j                  «       }|€J ‚|j                  ddd«      | _
        | j                  j                  }|€J ‚|j                  dt        «       |j                  dt        t        t!        j                   «       dz  «      «      «       |j#                  | j                  j%                  dt&        › d�«      «       |j#                  | j                  j%                  dt(        › d�«      «       t+        | j                  |«      D ]  \  }}| j-                  |||«       Œ | j                  j/                  d	«      }|j#                  |«       t1        | j2                  «      D ]P  }	| j                  j/                  d
«      }
t#        ||
«       | j                  j5                  |	«      }t#        |
|«       ŒR d\  }}d\  }}| j                  j/                  d«      }|j#                  |«       t7        | j8                  j;                  «       «      D �]p  \  }}| j                  j/                  d«      }t#        ||«       | j                  j/                  d«      }t#        ||«       t7        |j<                  j;                  «       «      D ]  \  }}t#        ||«       Œ |j                  d|j?                  t@        jB                  d«      «       |j                  dtE        |jF                  |jH                  «      «       |r!tE        |jJ                  |jL                  «      }nd}|j                  d|«       |j                  dd«       ||jF                  z  }||jH                  z  }||jJ                  z  }||jL                  z  }�Œs |j                  dt        |«      «       |j                  dt        |«      «       |j                  dtE        ||«      «       |rS|j                  dt        |«      «       |j                  dt        |«      «       |j                  dtE        ||«      «       n6|j                  dd«       |j                  dd«       |j                  dd«       |j                  dd«       |jO                  tQ        | j                  «      «       ||z   }|dk(  rd}|S d||z   z  |z  }|S )z¯Generate a Cobertura-compatible XML report for `morfs`.

        `morfs` is a list of modules or file names.

        `outfile` is a file object to write the XML to.

        Nr0   ÚversionÚ	timestampiè  z Generated by coverage.py: Ú z
 Based on Úsourcesr4   )r   r   r<   ÚpackageÚclassesÚnameÚ.ú	line-rateÚ0úbranch-rateÚ
complexityzlines-validzlines-coveredzbranches-validzbranches-coveredr   g        g      Y@))ÚsysÚstdoutr0   Úget_dataÚhas_arcsÚxmlÚdomÚminidomÚgetDOMImplementationÚcreateDocumentÚxml_outÚdocumentElementÚsetAttributer   Ústrr   Útimer)   ÚcreateCommentr   ÚDTD_URLr   Úxml_fileÚcreateElementr
   r3   ÚcreateTextNoder   r<   Úitemsr   Úreplacer5   Úsepr   r   r    r!   r"   ÚwriteÚserialize_xml)r=   ÚmorfsÚoutfilerP   ÚimplÚ	xcoverageÚfrÚanalysisÚxsourcesr6   ÚxsourceÚtxtÚlnum_totÚ	lhits_totÚbnum_totÚ	bhits_totÚ	xpackagesÚpkg_nameÚpkg_dataÚxpackageÚxclassesÚ_Ú	class_eltÚbranch_rateÚdenomÚpcts                             r   ÚreportzXmlReporter.reportN   sI  € ð Ò'œSŸZ™ZˆØ—=‘=×)Ñ)Ó+×4Ñ4Ó6ˆô �w‰w�‰×3Ñ3Ó5ˆØÐÐÐØ×*Ñ*¨4°¸TÓBˆŒð —L‘L×0Ñ0ˆ	ØÐ$Ð$Ð$Ø×Ñ˜y¬+Ô6Ø×Ñ˜{¬C´´D·I±I³KÀ$Ñ4FÓ0GÓ,HÔIØ×ÑØ�L‰L×&Ñ&Ø-¬g¨Y°aÐ8óô	
ð
 	×Ñ˜dŸl™l×8Ñ8¸:ÄgÀYÈaÐ9PÓQÔRô 3°4·=±=À%ÖH‰LˆB�Ø�M‰M˜"˜h¨Õ1ð Ið —<‘<×-Ñ-¨iÓ8ˆØ×Ñ˜hÔ'ô ! ×!2Ñ!2Ö3ˆDØ—l‘l×0Ñ0°Ó:ˆGÜ˜ 'Ô*Ø—,‘,×-Ñ-¨dÓ3ˆCÜ˜ Õ%ð	 4ð #Ñˆ�)Ø"Ñˆ�)à—L‘L×.Ñ.¨zÓ:ˆ	Ø×Ñ˜iÔ(ô #5°T·]±]×5HÑ5HÓ5J×"KÑˆH�hØ—|‘|×1Ñ1°)Ó<ˆHÜ˜	 8Ô,Ø—|‘|×1Ñ1°)Ó<ˆHÜ˜ (Ô+Ü 2°8×3DÑ3D×3JÑ3JÓ3LÖ M‘��9Ü˜H iÕ0ð !Nà×!Ñ! &¨(×*:Ñ*:¼2¿6¹6À3Ó*GÔHØ×!Ñ! +¬t°H·M±MÀ8Ç>Á>Ó/RÔSÙÜ" 8×#3Ñ#3°X×5FÑ5FÓG‘à!�Ø×!Ñ! -°Ô=Ø×!Ñ! ,°Ô4à˜Ÿ™Ñ&ˆIØ˜Ÿ™Ñ&ˆHØ˜×)Ñ)Ñ)ˆIØ˜×)Ñ)Ñ)ŠHð' #Lð* 	×Ñ˜}¬c°(«mÔ<Ø×Ñ˜´°I³Ô?Ø×Ñ˜{¬D°¸HÓ,EÔFÙØ×"Ñ"Ð#3´S¸³]ÔCØ×"Ñ"Ð#5´s¸9³~ÔFØ×"Ñ" =´$°yÀ(Ó2KÕLà×"Ñ"Ð#5°sÔ;Ø×"Ñ"Ð#3°SÔ9Ø×"Ñ" =°#Ô6Ø×Ñ˜|¨SÔ1ð 	�‰”m D§L¡LÓ1Ô2ð ˜8Ñ#ˆØ�AŠ:ØˆCð ˆ
ð ˜9 yÑ0Ñ1°EÑ9ˆCØˆ
r   c           
     ó¬	  — | j                   j                  r|j                  j                  dk(  ry|j                  j                  dd«      }| j                  D ]d  }| j                   j                  st        j                  |«      }|j                  |j                  dd«      dz   «      sŒS|t        |«      dz   d } nb |j                  «       j                  dd«      }| j                  j                  |j                  dt        |«        j                  d«      «       t        j                   j#                  |«      xs d}dj%                  |j'                  d«      d| j                   j(                   «      }|j                  dd«      }| j*                  j-                  |t/        i dddd«      «      }	| j0                  j3                  d«      }
t5        |
| j0                  j3                  d	«      «       | j0                  j3                  d
«      }t5        |
|«       |
j7                  dt        j                   j9                  ||«      «       |
j7                  d|j                  dd«      «       |
j7                  dd«       |j;                  «       }|j=                  «       }t?        |j@                  «      D ]ü  }| j0                  j3                  d«      }|j7                  dtC        |«      «       |j7                  dtC        tE        ||jF                  v«      «      «       |r†||v r;||   \  }}|j7                  dd«       |j7                  dd|z  |z  › d|› d|› d�«       ||v rC||   D �cg c]  }|dk  rdn
tC        |«      ‘Œ }}|j7                  ddj%                  |«      «       t5        ||«       Œþ t        |j@                  «      }|t        |jF                  «      z
  }|rFtI        d„ |jK                  «       D «       «      }tI        d„ |jK                  «       D «       «      }||z
  }nd}d}|
j7                  dtM        ||«      «       |rtM        ||«      }nd}|
j7                  d|«       |
|	jN                  |<   |	xjP                  |z  c_(        |	xjR                  |z  c_)        |	xjT                  |z  c_*        |	xjV                  |z  c_+        yc c}w )z(Add to the XML report for a single file.r   NÚ\Ú/é   r/   rH   ÚclassÚmethodsr    rG   ÚfilenamerL   rJ   ÚlineÚnumberr   ÚbranchÚtruezcondition-coverageéd   z% (Ú)Úexitzmissing-branchesÚ,c              3  ó&   K  — | ]	  \  }}|–— Œ y ­w©Nr   ©Ú.0ÚtÚks      r   Ú	<genexpr>z'XmlReporter.xml_file.<locals>.<genexpr>ï   s   è ø€ Ð EÑ/D¡t q¨!¤Ñ/Dùs   ‚c              3  ó,   K  — | ]  \  }}||z
  –— Œ y ­wr�   r   rŽ   s      r   r’   z'XmlReporter.xml_file.<locals>.<genexpr>ð   s   è ø€ Ð"KÑ5J©T¨Q° 1 q¥5Ñ5Jùs   ‚rI   rK   ),r1   Ú
skip_emptyÚnumbersÚn_statementsrƒ   ra   r3   r8   r	   r:   Ú
startswithÚlenÚrelative_filenamer;   r9   r5   r6   ÚdirnameÚjoinÚsplitÚxml_package_depthr<   Ú
setdefaultr   rV   r^   r)   rX   ÚrelpathÚbranch_statsÚmissing_branch_arcsÚsortedÚ
statementsrY   r   ÚmissingÚsumÚvaluesr   r   r   r    r!   r"   )r=   ri   rj   rP   rƒ   Úsource_pathÚrel_namerš   Úpackage_namerE   ÚxclassÚxlinesr    r¡   r„   ÚxlineÚtotalÚtakenÚbÚannlinesÚclass_linesÚ
class_hitsÚclass_branchesÚmissing_branchesÚclass_br_hitsry   s                             r   r]   zXmlReporter.xml_file­   s7  € ð �;‰;×!Ò!Ø×Ñ×,Ñ,°Ò1Øð —;‘;×&Ñ& t¨SÓ1ˆØ×,Ô,ˆKØ—;‘;×-Ò-Ü#×6Ñ6°{ÓC�Ø×"Ñ" ;×#6Ñ#6°t¸SÓ#AÀCÑ#GÕHØ#¤C¨Ó$4°qÑ$8Ð$:Ð;�Ùð -ð ×+Ñ+Ó-×5Ñ5°d¸CÓ@ˆHØ×Ñ×!Ñ! "§+¡+Ð.>´°X³°Ð"?×"FÑ"FÀuÓ"MÔNä—'‘'—/‘/ (Ó+Ò2¨sˆØ—(‘(˜7Ÿ=™=¨Ó-Ð.M°·±×0MÑ0MÐNÓOˆØ—‘ s¨CÓ0ˆà—-‘-×*Ñ*¨<¼ÀRÈÈAÈqÐRSÓ9TÓUˆà*.¯,©,×*DÑ*DÀWÓ*Mˆä�F˜DŸL™L×6Ñ6°yÓAÔBà—‘×+Ñ+¨GÓ4ˆÜ�F˜FÔ#à×Ñ˜F¤B§G¡G§O¡O°H¸gÓ$FÔGØ×Ñ˜J¨×(8Ñ(8¸¸sÓ(CÔDØ×Ñ˜L¨#Ô.à×,Ñ,Ó.ˆØ&×:Ñ:Ó<Ðô ˜8×.Ñ.Ö/ˆDØ—L‘L×.Ñ.¨vÓ6ˆEØ×Ñ˜x¬¨T«Ô3ð ×Ñ˜v¤s¬3¨t¸8×;KÑ;KÐ/KÓ+LÓ'MÔNáØ˜<Ñ'Ø#/°Ñ#5‘L�E˜5Ø×&Ñ& x°Ô8Ø×&Ñ&Ø,Ø ™;¨%Ñ/Ð0°°E°7¸!¸E¸7À!ÐDôð Ð.Ñ.ØEXÐY]ÒE^Ó_ÑE^À¨!¨aª%¡´S¸³VÑ ;ÐE^�HÐ_Ø×&Ñ&Ð'9¸3¿8¹8ÀHÓ;MÔNÜ˜ Õ&ð' 0ô* ˜(×-Ñ-Ó.ˆØ ¤3 x×'7Ñ'7Ó#8Ñ8ˆ
áÜ Ñ E¨|×/BÑ/BÔ/DÓ EÓEˆNÜ"Ñ"K°\×5HÑ5HÔ5JÓ"KÓKÐØ*Ð-=Ñ=‰MàˆNØˆMð 	×Ñ˜K¬¨j¸+Ó)FÔGÙÜ˜}¨nÓ=‰KàˆKØ×Ñ˜M¨;Ô7à%+ˆ×Ñ˜Ñ"Ø�Š˜
Ñ"�Ø�Š˜Ñ$�Ø�Š˜=Ñ(�Ø×Ò˜NÑ*Öùò7  `s   Í+S)r0   r   ÚreturnÚNoner�   )re   r   rf   zIO[str] | Noner¶   Úfloat)ri   r   rj   r   rP   Úboolr¶   r·   )r#   r$   r%   r&   Úreport_typer?   r|   r]   r   r   r   r-   r-   9   s   „ ÙFà€Kó/ô ]ô~U+r   r-   c                ó"   — | j                  «       S )z Serialize a minidom node to XML.)Útoprettyxml)rR   s    r   rd   rd     s   € à�?‰?ÓÐr   )r   r   r   r   r¶   rY   )r*   r   r+   r   r¶   r·   )rR   zxml.dom.minidom.Documentr¶   rY   )'r&   Ú
__future__r   r5   Úos.pathrM   rZ   Úxml.dom.minidomrQ   Údataclassesr   Útypingr   r   r   r0   r   r	   Úcoverage.miscr
   r   r   Úcoverage.pluginr   Úcoverage.report_corer   Úcoverage.resultsr   Úcoverage.typesr   Úcoverage.versionr   r   r\   r   r   r)   r-   rd   r   r   r   Ú<module>rÈ      sŠ   ðñ $å "ã 	Û Û 
Û Û Ý !ß )Ñ )ç 'ß JÑ JÝ (Ý 7Ý %Ý !Ý $áÝ!á�BÓ€ð ^€ó"ð ÷ð ó ðó÷
I+ñ I+ôXr   