§ {<ˆjäãóÖ—dZddlmZddlZddlmZmZmZmZm Z m Z m Z ddl m Z mZddlmZmZddlmZmZddlmZdd lmZdd lmZmZe rdd lmZGd „d e¦«Zdd„Zdd„Z dS)z$Reporter foundation for coverage.py.é)Ú annotationsN)ÚCallableÚIterableÚIteratorÚIOÚOptionalÚTupleÚ TYPE_CHECKING)Ú NoDataErrorÚ NotPython)Ú prep_patternsÚ GlobMatcher)Úensure_dir_for_fileÚ file_be_gone)Ú FileReporter)ÚAnalysis)ÚProtocolÚTMorf)ÚCoveragecó&—eZdZUdZded<d d „Zd S) ÚReporterzWhat we expect of reporters.ÚstrÚ report_typeÚmorfsúOptional[Iterable[TMorf]]ÚoutfileúIO[str]ÚreturnÚfloatcó—dS)z3Generate a report of `morfs`, written to `outfile`.N©)Úselfrrs úh/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/coverage/report_core.pyÚreportzReporter.reports€€€óN)rrrrrr)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú__annotations__r$r!r%r#rrsB€€€€€€Ø&Ð&àÐÐÑðBðBðBðBðBðBr%rÚ output_pathrÚreporterrrÚmsgfnúCallable[[str], None]rrcó�—d}d}|dkr tj}n%t|¦«t|dd¬¦«}|}d} | ||¬¦«}|�|d |j›d |›�¦«d}||�&| ¦«|rt|¦«SSS#|�&| ¦«|rt|¦«wwwxYw) zÌRun a one-file report generator, managing the output file. This function ensures the output file is ready to be written to. Then writes the report to it. Then closes the file and cleans up. NFú-Úwzutf-8)ÚencodingT)rzWrote z to )ÚsysÚstdoutrÚopenr$rÚcloser)r+r,rr-Ú file_to_closeÚ delete_filerÚrets r#Ú render_reportr: s€ð€MØ€Kà�cÒÐÝ”*ˆˆõ ˜KÑ(Ô(Ð(Ý�{ C°'Ð:Ñ:Ô:ˆØˆ ؈ ð *Ø�oŠo˜e¨WˆoÑ5Ô5ˆØ Ð $Ø ˆEÐB˜8Ô/ÐBÐB°[ÐBÐBÑ CÔ CÐ C؈ Øà Ð $Ø × Ò Ñ !Ô !Ð !Øð *ݘ[Ñ)Ô)Ð)Ð)ð %ð *øð Ð $Ø × Ò Ñ !Ô !Ð !Øð *ݘ[Ñ)Ô)Ð)Ð)ð %ð *øøøs ¾2BÂ+CÚcoveragerú'Iterator[Tuple[FileReporter, Analysis]]c#óÞ‡K—| |¦«}|j}|jr0tt |j¦«d¦«Šˆfd„|D¦«}|jr0tt |j¦«d¦«Šˆfd„|D¦«}|st d¦«‚t|¦«D]¾} | |¦«}||fV—Œ#t$rB|  ¦«r+|j r#d|j ›d�}|  |d¬ ¦«n‚YŒjt$rI}|j r7d |j ›d |›� ¦«}|  |d¬ ¦«n‚Yd }~Œ·d }~wwxYwd S) zÙGet the files to report on. For each morf in `morfs`, if it should be reported on (based on the omit and include configuration options), yield a pair, the `FileReporter` and `Analysis` for the morf. Úreport_includecóH•—g|]}‰ |j¦«¯|‘ŒSr!©ÚmatchÚfilename©Ú.0ÚfrÚmatchers €r#ú z*get_analysis_to_report..Ws,ø€ÐTÐTÐT ¸¿ºÀrÄ{Ñ9SÔ9SÐT˜"ÐTÐTÐTr%Ú report_omitcóH•—g|]}‰ |j¦«°|‘ŒSr!r@rCs €r#rGz*get_analysis_to_report..[s,ø€ÐXÐXÐX ¸W¿]º]È2Ì;Ñ=WÔ=WÐX˜"ÐXÐXÐXr%zNo data to report.zCouldn't parse Python file 'ú'z couldnt-parse)ÚslugzCouldn't parse 'z': N)Ú_get_file_reportersÚconfigr>rr rHr ÚsortedÚ_analyzer Úshould_be_pythonÚ ignore_errorsrBÚ_warnÚ ExceptionÚrstrip) r;rÚfile_reportersrMrEÚanalysisÚmsgÚexcrFs @r#Úget_analysis_to_reportrYGsæøèè€ð×1Ò1°%Ñ8Ô8€NØ Œ_€Fà ÔðUÝ�m¨FÔ,AÑBÔBÐDTÑUÔUˆØTÐTÐTÐT ~ÐTÑTÔTˆà ÔðYÝ�m¨FÔ,>Ñ?Ô?ÀÑOÔOˆØXÐXÐXÐX ~ÐXÑXÔXˆà ð0ÝÐ.Ñ/Ô/Ð/å�^Ñ$Ô$ð!ð!ˆð !Ø×(Ò(¨Ñ,Ô,ˆHð&�x�.Ð Ð Ð Ð øõ%ð ð ð ð ×"Ò"Ñ$Ô$ð ØÔ'ðØG¸¼ÐGÐGÐG�CØ—N’N 3¨_�NÑ=Ô=Ð=Ð=àøøÝð ð ð ØÔ#ð Ø>¨¬Ð>Ð>¸Ð>Ð>×EÒEÑGÔG�Ø—’˜s¨�Ñ9Ô9Ð9Ð9àð:Ð9Ð9Ð9Ð9øøøøð øøøð!ð!sÂ1C à A E*Ä E*Ä!?E%Å%E*) r+rr,rrrr-r.rr)r;rrrrr<)!r)Ú __future__rr3Útypingrrrrrr r Úcoverage.exceptionsr r Úcoverage.filesr rÚ coverage.miscrrÚcoverage.pluginrÚcoverage.resultsrÚcoverage.typesrrr;rrr:rYr!r%r#úrbsaðð+Ð*à"Ð"Ð"Ð"Ð"Ð"à € € € àSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSà6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ø;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ø(Ð(Ð(Ð(Ð(Ð(Ø%Ð%Ð%Ð%Ð%Ð%Ø*Ð*Ð*Ð*Ð*Ð*Ð*Ð*àð"Ø!Ð!Ð!Ð!Ð!Ð!ðBðBðBðBðBˆxñBôBðBð$*ð$*ð$*ð$*ðN.!ð.!ð.!ð.!ð.!ð.!r%