§ {<ˆjo(ãóP—dZddlmZddlZddlZddlZddlmZddlm Z m Z m Z m Z m Z mZmZmZmZddlmZddlmZddlmZmZmZdd lmZmZmZmZmZm Z ee¦«ZGd „d ¦«Z!Gd „d ¦«Z"Gd„de¦«Z#Gd„de¦«Z$Gd„de¦«Z%dS)zSupport for plugins.é)Ú annotationsN)Ú FrameType) ÚAnyÚDictÚIterableÚIteratorÚListÚOptionalÚSetÚTupleÚUnion)Ú PluginError)Úisolate_module)ÚCoveragePluginÚ FileTracerÚ FileReporter)ÚTArcÚ TConfigurableÚ TDebugCtlÚTLineNoÚ TPluginConfigÚTSourceTokenLinescóv—eZdZdZdd„Ze ddd „¦«Zd d„Zd d„Zd d„Z d d„Z d!d„Z d"d„Z d#d„Z d$d„ZdS)%ÚPluginsz7The currently loaded collection of coverage.py plugins.ÚreturnÚNonecó^—g|_i|_g|_g|_g|_d|_|dS©N)ÚorderÚnamesÚ file_tracersÚ configurersÚcontext_switchersÚcurrent_module©Úselfs úk/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/coverage/plugin_support.pyÚ__init__zPlugins.__init__s<€Ø+-ˆŒ Ø02ˆŒ Ø24ˆÔØ13ˆÔØ79ˆÔà-1ˆÔØ Ð'Ð'Ð'óNÚmodulesú Iterable[str]ÚconfigrÚdebugúOptional[TDebugCtl]có—|¦«}||_|D]q}||_t|¦«tj|}t |dd¦«}|st d|›d�¦«‚| |¦«}|||¦«Œrd|_|S)zpLoad plugins from `modules`. Returns a Plugins object with the loaded and configured plugins. Ú coverage_initNzPlugin module z' didn't define a coverage_init function)r-r$Ú __import__Úsysr*ÚgetattrrÚget_plugin_options) Úclsr*r,r-ÚpluginsÚmoduleÚmodr0Úoptionss r'Ú load_pluginszPlugins.load_plugins&s·€ð�#‘%”%ˆØˆŒ àð ,ð ,ˆFØ%+ˆGÔ "Ý �vÑ Ô Ð Ý”+˜fÔ%ˆCå# C¨¸$Ñ?Ô?ˆMØ ð Ý!ØV VÐVÐVÐVñôðð×/Ò/°Ñ7Ô7ˆGØ ˆM˜' 7Ñ +Ô +Ð +Ð +à!%ˆÔ؈r)Úpluginrcó<—| ||j¦«dS)z­Add a file tracer plugin. `plugin` is an instance of a third-party plugin class. It must implement the :meth:`CoveragePlugin.file_tracer` method. N)Ú _add_pluginr!©r&r;s r'Úadd_file_tracerzPlugins.add_file_tracerFs#€ð ×Ò˜ Ô!2Ñ3Ô3Ð3Ð3Ð3r)có<—| ||j¦«dS)zªAdd a configuring plugin. `plugin` is an instance of a third-party plugin class. It must implement the :meth:`CoveragePlugin.configure` method. N)r=r"r>s r'Úadd_configurerzPlugins.add_configurerOs#€ð ×Ò˜ Ô!1Ñ2Ô2Ð2Ð2Ð2r)có<—| ||j¦«dS)zµAdd a dynamic context plugin. `plugin` is an instance of a third-party plugin class. It must implement the :meth:`CoveragePlugin.dynamic_context` method. N)r=r#r>s r'Úadd_dynamic_contextzPlugins.add_dynamic_contextXs#€ð ×Ò˜ Ô!7Ñ8Ô8Ð8Ð8Ð8r)có2—| |d¦«dS)zfAdd a plugin that does nothing. This is only useful for testing the plugin support. N)r=r>s r'Úadd_noopzPlugins.add_noopas €ð ×Ò˜ Ñ&Ô&Ð&Ð&Ð&r)Ú specializedúOptional[List[CoveragePlugin]]có®—|j›d|jj›�}|jrl|j d¦«rR|j d|j›d|›�¦«t d|j›�|j¦«}t||¦«}||_d|_ |j   |¦«||j |<|�|  |¦«dSdS)z˜Add a plugin object. `plugin` is a :class:`CoveragePlugin` instance to add. `specialized` is a list to append the plugin to. ú.r;zLoaded plugin z: zplugin TN) r$Ú __class__Ú__name__r-ÚshouldÚwriteÚ LabelledDebugÚDebugPluginWrapperÚ_coverage_plugin_nameÚ_coverage_enabledrÚappendr )r&r;rFÚ plugin_nameÚlabelleds r'r=zPlugins._add_pluginisñ€ðÔ,ÐJÐJ¨vÔ/?Ô/HÐJÐJˆ Ø Œ:ð :˜$œ*×+Ò+¨HÑ5Ô5ð :Ø ŒJ× Ò ÐQ¨dÔ.AÐQÐQÀvÐQÐQÑ RÔ RÐ RÝ$Ð%F¨tÔ/BÐ%FÐ%FÈÌ ÑSÔSˆHÝ'¨°Ñ9Ô9ˆFà'2ˆÔ$Ø#'ˆÔ Ø Œ ×Ò˜&Ñ!Ô!Ð!Ø"(ˆŒ �;ÑØ Ð "Ø × Ò ˜vÑ &Ô &Ð &Ð &Ð &ð #Ð "r)Úboolcó*—t|j¦«Sr)rUrr%s r'Ú__bool__zPlugins.__bool__�ó€Ý�D”JÑÔÐr)úIterator[CoveragePlugin]có*—t|j¦«Sr)Úiterrr%s r'Ú__iter__zPlugins.__iter__„rXr)rSÚstrcó—|j|S)zReturn a plugin by name.)r )r&rSs r'Úgetz Plugins.get‡s€àŒz˜+Ô&Ð&r))rrr)r*r+r,rr-r.rr)r;rrr)r;rrFrGrr©rrU)rrY)rSr]rr)rKÚ __module__Ú __qualname__Ú__doc__r(Ú classmethodr:r?rArCrEr=rWr\r_©r)r'rrsø€€€€€ØAÐAð(ð(ð(ð(ðð &*ð ðððñ„[ðð>4ð4ð4ð4ð3ð3ð3ð3ð9ð9ð9ð9ð'ð'ð'ð'ð'ð'ð'ð'ð0 ð ð ð ð ð ð ð ð'ð'ð'ð'ð'ð'r)rcó4—eZdZdZddd „Zdd „Zdd „Zdd„ZdS)rNz?A Debug writer, but with labels for prepending to the messages.reÚlabelr]r-rÚ prev_labelsr+cóD—t|¦«|gz|_||_dSr)ÚlistÚlabelsr-)r&rgr-rhs r'r(zLabelledDebug.__init__�s#€Ý˜;Ñ'Ô'¨5¨'Ñ1ˆŒ ؈Œ ˆ ˆ r)rcó8—t||j|j¦«S)zz/LabelledDebug.message_prefix..šs.èè€ÐKÐK©8¨1¨e˜$˜q™& ™,ÐKÐKÐKÐKÐKÐKr))rkÚjoinÚ enumerate)r&Úprefixess r'Úmessage_prefixzLabelledDebug.message_prefix—s9€à”; " Ñ%ˆØ�zŠzÐKÐKµyÀÑ7JÔ7JÐKÑKÔKÑKÔKÐKr)Úmessagercóf—|j | ¦«›|›�¦«dS)z/Write `message`, but with the labels prepended.N)r-rMrw)r&rxs r'rMzLabelledDebug.writeœs5€à Œ ×Ò˜D×/Ò/Ñ1Ô1Ð<°7Ð<Ð<Ñ=Ô=Ð=Ð=Ð=r)N)re)rgr]r-rrhr+)rgr]rrN©rr])rxr]rr)rKrarbrcr(rmrwrMrer)r'rNrNŒss€€€€€ØIÐIðððððð=ð=ð=ð=ðLðLðLðLð >ð>ð>ð>ð>ð>r)rNcóT‡—eZdZdZdˆfd„ Zdd „Zdd„Zdd„Zdd„Zd d„Z d!d„Z ˆxZ S)"rOz:Wrap a plugin, and use debug to report on what it's doing.r;rr-rNrrcód•—t¦« ¦«||_||_dSr)Úsuperr(r;r-)r&r;r-rJs €r'r(zDebugPluginWrapper.__init__¤s+ø€Ý ‰Œ×ÒÑÔÐØˆŒ ؈Œ ˆ ˆ r)Úfilenamer]úOptional[FileTracer]cóØ—|j |¦«}|j d|›d|›�¦«|r-|j d|›�¦«}t ||¦«}|S)Nz file_tracer(ú) --> úfile )r;Ú file_tracerr-rMrmÚDebugFileTracerWrapper)r&r~Útracerr-s r'rƒzDebugPluginWrapper.file_tracer©sx€Ø”×(Ò(¨Ñ2Ô2ˆØ Œ ×ÒÐD¨ÐDÐD¸&ÐDÐDÑEÔEÐEØ ð ;Ø”J×(Ò(Ð)=°Ð)=Ð)=Ñ>Ô>ˆEÝ+¨F°EÑ:Ô:ˆF؈ r)úUnion[FileReporter, str]có—|j |¦«}t|t¦«sJ‚|j d|›d|›�¦«|r.|j d|›�¦«}t|||¦«}|S)Nzfile_reporter(r�r‚)r;Ú file_reporterÚ isinstancerr-rMrmÚDebugFileReporterWrapper)r&r~Úreporterr-s r'rˆz DebugPluginWrapper.file_reporter±s‘€Ø”;×,Ò,¨XÑ6Ô6ˆÝ˜(¥LÑ1Ô1Ð1Ð1Ð1Ø Œ ×ÒÐH¨(ÐHÐH¸HÐHÐHÑIÔIÐIØ ð KØ”J×(Ò(Ð)=°Ð)=Ð)=Ñ>Ô>ˆEÝ/°¸(ÀEÑJÔJˆH؈r)Úframerú Optional[str]cóz—|j |¦«}|j d|›d|›�¦«|S)Nzdynamic_context(r�)r;Údynamic_contextr-rM)r&rŒÚcontexts r'r�z"DebugPluginWrapper.dynamic_contextºsC€Ø”+×-Ò-¨eÑ4Ô4ˆØ Œ ×ÒÐF¨EÐFÐF¸7ÐFÐFÑGÔGÐG؈r)Úsrc_dirr+cóz—|j |¦«}|j d|›d|›�¦«|S)Nzfind_executable_files(r�)r;Úfind_executable_filesr-rM)r&r‘Úexecutable_filess r'r“z(DebugPluginWrapper.find_executable_files¿sF€Øœ;×<Ò<¸WÑEÔEÐØ Œ ×ÒÐW°'ÐWÐWÐCSÐWÐWÑXÔXÐXØÐr)r,rcóv—|j d|›d�¦«|j |¦«dS)Nz configure(ú))r-rMr;Ú configure)r&r,s r'r—zDebugPluginWrapper.configureÄs@€Ø Œ ×ÒÐ1 fÐ1Ð1Ð1Ñ2Ô2Ð2Ø Œ ×Ò˜fÑ%Ô%Ð%Ð%Ð%r)úIterable[Tuple[str, Any]]có4—|j ¦«Sr)r;Úsys_infor%s r'ršzDebugPluginWrapper.sys_infoÈs€ØŒ{×#Ò#Ñ%Ô%Ð%r))r;rr-rNrr)r~r]rr)r~r]rr†)rŒrrr�)r‘r]rr+)r,rrr)rr˜) rKrarbrcr(rƒrˆr�r“r—ršÚ __classcell__©rJs@r'rOrO¡s»ø€€€€€ØDÐDððððððð ðððððððððððð  ð ð ð ð &ð&ð&ð&ð&ð&ð&ð&ð&ð&ð&ð&r)rOcóB—eZdZdZdd„Zdd „Zdd „Zdd„Zdd„Zdd„Z dS)r„zA debugging `FileTracer`.r…rr-rNrrcó"—||_||_dSr)r…r-)r&r…r-s r'r(zDebugFileTracerWrapper.__init__Ïs€ØˆŒ ؈Œ ˆ ˆ r)rŒrr]cóh—dtj |jj¦«|jfzS)z7A short string identifying a frame, for debug messages.z%s@%d)ÚosÚpathÚbasenameÚf_codeÚ co_filenameÚf_lineno)r&rŒs r'Ú _show_framez"DebugFileTracerWrapper._show_frameÓs1€àÝ ŒG× Ò ˜Uœ\Ô5Ñ 6Ô 6Ø ŒNð ñ ð r)cór—|j ¦«}|j d|›�¦«|S)Nzsource_filename() --> )r…Úsource_filenamer-rM)r&Ú sfilenames r'r¨z&DebugFileTracerWrapper.source_filenameÚs:€Ø”K×/Ò/Ñ1Ô1ˆ Ø Œ ×ÒÐ?°)Ð?Ð?Ñ@Ô@Ð@ØÐr)rUcór—|j ¦«}|j d|›�¦«|S)Nz"has_dynamic_source_filename() --> )r…Úhas_dynamic_source_filenamer-rM)r&Úhass r'r«z2DebugFileTracerWrapper.has_dynamic_source_filenameßs9€ØŒk×5Ò5Ñ7Ô7ˆØ Œ ×ÒÐE¸cÐEÐEÑFÔFÐF؈ r)r~r�cóÀ—|j ||¦«}|j d || |¦«|¦«¦«|S)Nz*dynamic_source_filename({!r}, {}) --> {!r})r…Údynamic_source_filenamer-rMÚformatr¦)r&r~rŒÚdyns r'r®z.DebugFileTracerWrapper.dynamic_source_filenameäsb€ØŒk×1Ò1°(¸EÑBÔBˆØ Œ ×ÒÐE×LÒLØ �d×&Ò& uÑ-Ô-¨sñ ô ñ ô ð ðˆ r)úTuple[TLineNo, TLineNo]có —|j |¦«}|j d| |¦«›d|›�¦«|S)Nzline_number_range(r�)r…Úline_number_ranger-rMr¦)r&rŒÚpairs r'r³z(DebugFileTracerWrapper.line_number_rangeësQ€ØŒ{×,Ò,¨UÑ3Ô3ˆØ Œ ×ÒÐU¨d×.>Ò.>¸uÑ.EÔ.EÐUÐUÈTÐUÐUÑVÔVÐV؈ r)N)r…rr-rNrr)rŒrrr]rzr`)r~r]rŒrrr�)rŒrrr±) rKrarbrcr(r¦r¨r«r®r³rer)r'r„r„Ìs’€€€€€Ø#Ð#ððððð ð ð ð ððððð ðððð ðððððððððr)r„cót‡—eZdZdZdˆfd „ Zdd „Zdd „Zdd„Zd d„Zd!d„Z dd„Z d"d„Z d#d„Z dd„Z d$d„ZˆxZS)%rŠzA debugging `FileReporter`.r~r]r‹rr-rNrrcóf•—t¦« |¦«||_||_dSr)r}r(r‹r-)r&r~r‹r-rJs €r'r(z!DebugFileReporterWrapper.__init__ôs-ø€Ý ‰Œ×Ò˜Ñ"Ô"Ð"Ø ˆŒ ؈Œ ˆ ˆ r)cór—|j ¦«}|j d|›�¦«|S)Nzrelative_filename() --> )r‹Úrelative_filenamer-rM©r&Úrets r'r¸z*DebugFileReporterWrapper.relative_filenameùs9€ØŒm×-Ò-Ñ/Ô/ˆØ Œ ×ÒÐ;°CÐ;Ð;Ñ<Ô<Ð<؈ r)ú Set[TLineNo]cór—|j ¦«}|j d|›�¦«|S)Nz lines() --> )r‹Úlinesr-rMr¹s r'r½zDebugFileReporterWrapper.linesþs9€ØŒm×!Ò!Ñ#Ô#ˆØ Œ ×ÒÐ/¨Ð/Ð/Ñ0Ô0Ð0؈ r)cór—|j ¦«}|j d|›�¦«|S)Nzexcluded_lines() --> )r‹Úexcluded_linesr-rMr¹s r'r¿z'DebugFileReporterWrapper.excluded_liness9€ØŒm×*Ò*Ñ,Ô,ˆØ Œ ×ÒÐ8°Ð8Ð8Ñ9Ô9Ð9؈ r)r½úIterable[TLineNo]cóz—|j |¦«}|j d|›d|›�¦«|S)Nztranslate_lines(r�)r‹Útranslate_linesr-rM)r&r½rºs r'rÂz(DebugFileReporterWrapper.translate_linessC€ØŒm×+Ò+¨EÑ2Ô2ˆØ Œ ×ÒÐB¨EÐBÐB¸3ÐBÐBÑCÔCÐC؈ r)ÚarcsúIterable[TArc]ú Set[TArc]cóz—|j |¦«}|j d|›d|›�¦«|S)Nztranslate_arcs(r�)r‹Útranslate_arcsr-rM)r&rÃrºs r'rÇz'DebugFileReporterWrapper.translate_arcs sC€ØŒm×*Ò*¨4Ñ0Ô0ˆØ Œ ×ÒÐ@¨4Ð@Ð@¸Ð@Ð@ÑAÔAÐA؈ r)cór—|j ¦«}|j d|›�¦«|S)Nzno_branch_lines() --> )r‹Úno_branch_linesr-rMr¹s r'rÉz(DebugFileReporterWrapper.no_branch_liness9€ØŒm×+Ò+Ñ-Ô-ˆØ Œ ×ÒÐ9°#Ð9Ð9Ñ:Ô:Ð:؈ r)úDict[TLineNo, int]cór—|j ¦«}|j d|›�¦«|S)Nzexit_counts() --> )r‹Ú exit_countsr-rMr¹s r'rÌz$DebugFileReporterWrapper.exit_countss9€ØŒm×'Ò'Ñ)Ô)ˆØ Œ ×ÒÐ5¨cÐ5Ð5Ñ6Ô6Ð6؈ r)cór—|j ¦«}|j d|›�¦«|S)Nz arcs() --> )r‹rÃr-rMr¹s r'rÃzDebugFileReporterWrapper.arcss9€ØŒm× Ò Ñ"Ô"ˆØ Œ ×ÒÐ. sÐ.Ð.Ñ/Ô/Ð/؈ r)cóŽ—|j ¦«}|j dt |¦«fz¦«|S)Nzsource() --> %d chars)r‹Úsourcer-rMÚlenr¹s r'rÏzDebugFileReporterWrapper.source!s>€ØŒm×"Ò"Ñ$Ô$ˆØ Œ ×ÒÐ0µC¸±H´H°;Ñ>Ñ?Ô?Ð?؈ r)rcó¨—t|j ¦«¦«}|j dt |¦«fz¦«|S)Nz"source_token_lines() --> %d tokens)rjr‹Úsource_token_linesr-rMrÐr¹s r'rÒz+DebugFileReporterWrapper.source_token_lines&sF€Ý�4”=×3Ò3Ñ5Ô5Ñ6Ô6ˆØ Œ ×ÒÐ=ÅÀSÁÄÀ ÑKÑLÔLÐL؈ r))r~r]r‹rr-rNrrrz)rr»)r½rÀrr»)rÃrÄrrÅ)rrÊ)rrÅ)rr)rKrarbrcr(r¸r½r¿rÂrÇrÉrÌrÃrÏrÒr›rœs@r'rŠrŠñs ø€€€€€Ø%Ð%ððððððð ðððð ðððð ðððð ðððð ðððð ðððð ðððð ðððð ðððð ðððððððr)rŠ)&rcÚ __future__rr Úos.pathr2ÚtypesrÚtypingrrrrr r r r r Úcoverage.exceptionsrÚ coverage.miscrÚcoverage.pluginrrrÚcoverage.typesrrrrrrrrNrOr„rŠrer)r'úrÛsððÐà"Ð"Ð"Ð"Ð"Ð"à € € € Ø€€€Ø € € € àÐÐÐÐÐØSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSÐSà+Ð+Ð+Ð+Ð+Ð+Ø(Ð(Ð(Ð(Ð(Ð(ØDÐDÐDÐDÐDÐDÐDÐDÐDÐDððððððððððððððððð€^�BÑÔ€ðp'ðp'ðp'ðp'ðp'ñp'ôp'ðp'ðf>ð>ð>ð>ð>ñ>ô>ð>ð*(&ð(&ð(&ð(&ð(&˜ñ(&ô(&ð(&ðV"ð"ð"ð"ð"˜Zñ"ô"ð"ðJ8ð8ð8ð8ð8˜|ñ8ô8ð8ð8ð8r)