ó
    ÷Þ jžL  ã                  óî  • % S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKJr  SSKJr  SSKJr  SSKJrJrJr  SSKJr  SS	KJrJr  SS
KJrJr  SSKJr  SSK J!r!  SSK"J#r#  SSK$J%r%  SSK&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0  \!" \5      r\1" \2" \Rf                  " SS5      5      5      r4\1" \2" \Rf                  " SS5      5      5      r5\6" \SS5      r7\" S\85      r9\9S-  r:\" \:\6" \7SS5      5      r;\4(       aG   " S S5      r<\<" \7S5      r7\7c   e\Rz                  " \SSSS9r\>" 5       r?S\@S'   S&S jrAS'S jrBS(S jrCO
S&S jrAS(S  jrC\ " S! S"5      5       rD " S# S$\+5      rES)S% jrFg)*zBCallback functions and support for sys.monitoring data collection.é    )ÚannotationsN)ÚCallable)Ú	dataclass)ÚCodeType)ÚAnyÚNewTypeÚcast)Úenv)ÚBranchArcResolverÚbytes_to_lines)Úshort_filenameÚshort_stack)ÚNoSource)Úisolate_module)Úmultiline_map_from_text)Úget_python_source)
ÚAnyCallableÚTFileDispositionÚTLineNoÚTOffsetÚTracerÚTShouldStartContextFnÚTShouldTraceFnÚ
TTraceDataÚTTraceFileDataÚTWarnFnÚCOVERAGE_SYSMON_LOGÚCOVERAGE_SYSMON_STATSÚ
monitoringÚDISABLE_TYPEÚDISABLEc                  ó,   • \ rS rSrSrSS jrSS jrSrg)	ÚLoggingWrapperéB   z*Wrap a namespace to log all its functions.c                ó   • Xl         X l        g ©N)ÚwrappedÚ	namespace)Úselfr'   r(   s      ÚI/var/www/html/gaurav/venv/lib/python3.13/site-packages/coverage/sysmon.pyÚ__init__ÚLoggingWrapper.__init__E   s   € Ø"ŒLØ&�Nó    c                ó   ^ ^• SUU 4S jjnU$ )Nc                 óx   >• [        TR                   ST U  U 35        [        TR                  T5      " U 0 UD6$ )NÚ.)Úlogr(   Úgetattrr'   )ÚargsÚkwargsÚnamer)   s     €€r*   Ú_wrappedÚ,LoggingWrapper.__getattr__.<locals>._wrappedJ   s>   ø€ Ü�t—~‘~Ð& a¨ v¨d¨V°F°8Ð<Ô=Ü˜tŸ|™|¨TÔ2°DÐC¸FÑCÐCr-   )r3   r   r4   r   Úreturnr   © )r)   r5   r6   s   `` r*   Ú__getattr__ÚLoggingWrapper.__getattr__I   s   ù€ ÷Dð Dð ˆOr-   )r(   r'   N)r'   r   r(   Ústrr8   ÚNone)r5   r<   r8   zCallable[..., Any])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r+   r:   Ú__static_attributes__r9   r-   r*   r#   r#   B   s   † Ù8ô	'÷	r-   r#   zsys.monitoringT)ÚfullÚshort_filenamesÚ	frame_idszset[int]Úseen_threadsc           
     óÞ  • [         R                  " 5       n[        [        [        R
                  " 5       R                  5      nX-  S-  S nU[        ;  a1  [        R                  U5        [        SU SU S[        5        35        S H+  n[        USSS	9 n [        U S
U SU  3USS9  SSS5        M-     g! [         a    [        U S
U SU < 3USS9   N-f = f! , (       d  f       Mc  = f)z1Write a message to our detailed debugging log(s).iw–˜ Ú07dzNew thread Ú z:
)z/tmp/foo.outÚazutf-8)ÚencodingÚ:ú: T)ÚfileÚflushN)ÚosÚgetpidr	   ÚintÚ	threadingÚcurrent_threadÚidentrG   Úaddr1   r   ÚopenÚprintÚUnicodeError)ÚmsgÚpidÚtidÚtslugÚfilenameÚfs         r*   r1   r1   [   sî   € ô �iŠi‹kˆÜ”3œ	×0Ò0Ó2×8Ñ8Ó9ˆØ‘I Ñ*¨3Ð/ˆØ”lÓ"Ü×Ñ˜SÔ!Ü�+˜c˜U ! E 7¨#¬k«m¨_Ð=Ô>ó
ˆHô �h ¨gÒ6¸!ðIÜ˜S˜E  5 '¨¨C¨5Ð1¸ÀÒF÷ 7Ñ6ò
øô $ó IÜ˜S˜E  5 '¨¨C©7Ð3¸!À4ÔHðIú÷ 7Ö6ús*   ÂCÂB9Â9CÃCÃCÃCÃ
C,	c                óÒ   • [        U [        5      (       aH  S[        U 5      S 3SU R                   S3-   S[	        U R
                  5      < SU R                   S3-   $ [        U 5      $ )z)Make a customized repr for logged values.z<code @ú#xz name=Ú,z file=Ú#Ú>)Ú
isinstancer   ÚidÚco_namer   Úco_filenameÚco_firstlinenoÚrepr)Úargs    r*   Úarg_reprrm   s   so   € ä�cœ8×$Ñ$àœ"˜S›' "˜Ð&Ø˜3Ÿ;™;˜- qÐ)ñ*àœ>¨#¯/©/Ó:Ñ=¸Q¸s×?QÑ?QÐ>RÐRSÐTñUðô
 �C‹yÐr-   c                 ó   ^ • SU 4S jjnU$ )z%Decorate a function to log its calls.c                óN   >^ • [         R                  " T 5      SU U4S jj5       nU$ )Nc           	     ót  >•  / n[        TU5       H)  u  p4Uc  M
  UR                  U S[        U5       35        M+     [        [	        U 5      S STR
                   SSR                  U5       S35        T" U /UQ76 nU$ ! [         a­  n[        SUR                  R
                   SU 35         [        S	R                  [        R                  " U5      5      5         [        c   e[        R                  [        R                  R                  S
5        e ! [          a    [        S5         e f = fS nAff = f)NÚ=rb   rM   Ú(z, Ú)z!!rN   Ú r   z/oops, shutting off events with disabled tool id)ÚzipÚappendrm   r1   rg   r>   ÚjoinÚ	ExceptionÚ	__class__Ú	tracebackÚformat_exceptionÚsys_monitoringÚ
set_eventsÚsysr   ÚCOVERAGE_IDÚ
ValueError)	r)   r3   Ú
args_reprsr5   rl   ÚretÚexcÚmethodÚnamess	          €€r*   r6   Ú0panopticon.<locals>._decorator.<locals>._wrapped�   s*  ø€ ðà!#�JÜ%(¨°Ö%5™	˜Ø™<Ù$Ø"×)Ñ)¨T¨F°!´H¸S³M°?Ð*CÖDñ &6ô œ2˜d›8 B˜- q¨¯©Ð(9¸¸4¿9¹9ÀZÓ;PÐ:QÐQRÐSÔTÙ  Ð-¨Ò-�Cà�JøÜ ó 
Ü˜"˜SŸ]™]×3Ñ3Ð4°B°s°eÐ<Ô=ØÜ˜BŸG™G¤I×$>Ò$>¸sÓ$CÓDÔEðOÜ-Ñ9Ð9Ð9Ü&×1Ñ1´#·.±.×2LÑ2LÈaÔPð øô &ó OäÐMÕNØðOþð
ús=   ƒA<B  Â 
D7Â
AD2Ã7DÄD2ÄD/Ä,D2Ä.D/Ä/D2Ä2D7)r)   r   r3   r   r8   r   )Ú	functoolsÚwraps)r„   r6   r…   s   ` €r*   Ú
_decoratorÚpanopticon.<locals>._decorator€   s%   ù€ Ü�_Š_˜VÓ$÷ó %ðð0 ˆOr-   )r„   r   r8   r   r9   ©r…   r‰   s   ` r*   Ú
panopticonrŒ   }   s   ø€ ÷	ð8 Ðr-   c                ó   • g)zAWrite a message to our detailed debugging log(s), but not really.Nr9   )r[   s    r*   r1   r1       s   � r-   c                 ó   • SS jnU$ )z5Decorate a function to log its calls, but not really.c                ó   • U $ r&   r9   )Úmeths    r*   r‰   rŠ   ¦   s   € ØˆKr-   )r�   r   r8   r   r9   r‹   s     r*   rŒ   rŒ   £   s   € ô	ð Ðr-   c                  óB   • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   Srg)ÚCodeInfoé¬   z/The information we want about each code object.ÚboolÚtracingzTTraceFileData | NoneÚ	file_datazdict[TOffset, TLineNo] | NoneÚbyte_to_linezBranchArcResolver | NoneÚbranch_resolverr9   N)r>   r?   r@   rA   rB   Ú__annotations__rC   r9   r-   r*   r’   r’   ¬   s   ‡ á9àƒMØ$Ó$Ø/Ó/ð .Ö-r-   r’   c                  ó|  • \ rS rSrSrSS jrSS jr\" 5       SS j5       r\" 5       SS j5       r	\" 5       SS j5       r
SS jrSS	 jrSS
 jr\" SS5      SS j5       r\" SSS5              SS j5       r\" SS5      SS j5       r\" SS5      SS j5       r\" SSS5              SS j5       rSS jrSrg)Ú
SysMonitoré¹   zHPython implementation of the raw data tracer for PEP669 implementations.c                ó°  • U   SU l         U   U   S U l        S U l        U   U   U   [        c   e[        R                  U l        0 U l        / U l        [        R                  " [        5      U l        0 U l        SU l        [        R                  " 5       U l        S U l        [$        (       a)  [&        R)                  SR+                  5       S5      U l        SU l        g )NFzHstarts start_tracing returns line_lines line_arcs branches branch_trailsr   )Ú
trace_arcsÚshould_start_contextÚswitch_contextr|   r   ÚmyidÚ
code_infosÚcode_objectsÚcollectionsÚdefaultdictÚsetÚfilename_code_idsÚmultiline_mapsÚ	sysmon_onrT   ÚLockÚlockÚstatsÚCOLLECT_STATSÚdictÚfromkeysÚsplitÚ	_activity©r)   s    r*   r+   ÚSysMonitor.__init__¾   sÈ   € áØˆŒÙÙð CGˆÔ!ØCGˆÔÙÙáäÑ)Ð)Ð)ô #×.Ñ.ˆŒ	ð 02ˆŒð -/ˆÔô 7B×6MÒ6MÌcÓ6RˆÔð BDˆÔàˆŒÜ—N’NÓ$ˆŒ	à,0ˆŒ
ßŠ=ÜŸ™ØZ×`Ñ`ÓbØóˆDŒJð
 ˆ�r-   c                ó¬   • [        S U R                  R                  5        5       5      n[        U R                  5      nS[	        U 5      S SU SU S3$ )Nc              3  ó6   #   • U H  n[        U5      v •  M     g 7fr&   ©Úlen)Ú.0Úvs     r*   Ú	<genexpr>Ú&SysMonitor.__repr__.<locals>.<genexpr>ì   s   é € Ð8Ñ%7 ”S˜—V�VÒ%7ùs   ‚z<SysMonitor at rb   rN   z data points in z files>)ÚsumÚdataÚvaluesr·   rg   )r)   ÚpointsÚfiless      r*   Ú__repr__ÚSysMonitor.__repr__ë   sN   € ÜÑ8 T§Y¡Y×%5Ñ%5Ô%7Ó8Ó8ˆÜ�D—I‘I“ˆØ ¤ D£¨" ¨R°¨xÐ7GÈÀwÈgÐVÐVr-   c                ó  • U R                      [        c   eU R                  S::  a"   [        R                  U R                  S5        O[        S5      e[        R                  " [        R                  U R                  5      n[        R                  R                  n[        R                  U R                  UR                  5        U" UR                  U R                  5        U R                  (       a”  U" UR                   U R"                  5        U" UR$                  U R&                  5        [(        R*                  R,                  (       a:  U" UR.                  U R0                  5        U" UR2                  U R0                  5        OU" UR$                  U R4                  5        [        R7                  5         SU l        SSS5        g! [         a    U =R                  S-  sl         GMÖ  f = f! , (       d  f       g= f)zStart this Tracer.Né   zcoverage.pyé   z&No sys.monitoring tool id is availableT)r«   r|   r¡   Úuse_tool_idr€   ÚRuntimeErrorr‡   ÚpartialÚregister_callbackr~   r   Úeventsr}   ÚPY_STARTÚsysmon_py_startrž   Ú	PY_RETURNÚsysmon_py_returnÚLINEÚsysmon_line_arcsr
   Ú
PYBEHAVIORÚbranch_right_leftÚBRANCH_RIGHTÚsysmon_branch_eitherÚBRANCH_LEFTÚsysmon_line_linesÚrestart_eventsr©   )r)   ÚregisterrÊ   s      r*   ÚstartÚSysMonitor.startð   se  € ð �Y‹YÜ!Ñ-Ð-Ð-Ø—)‘)˜q“.ðÜ"×.Ñ.¨t¯y©y¸-ÔHØô
 #Ð#KÓLÐLÜ ×(Ò(¬×)IÑ)IÈ4Ï9É9ÓUˆHÜ—^‘^×*Ñ*ˆFä×%Ñ% d§i¡i°·±ÔAÙ�V—_‘_ d×&:Ñ&:Ô;Ø��Ù˜×)Ñ)¨4×+@Ñ+@ÔAÙ˜Ÿ™ d×&;Ñ&;Ô<Ü—>‘>×3×3Ù˜V×0Ñ0°$×2KÑ2KÔLÙ˜V×/Ñ/°×1JÑ1JÔKøá˜Ÿ™ d×&<Ñ&<Ô=Ü×)Ñ)Ô+Ø!ˆDŒN÷3 ˆYøô "ó Ø—I’I ‘N•IÛðú÷ �Yús/   �G1¨ G
ÁE9G1Ç
G.Ç)G1Ç-G.Ç.G1Ç1
G?c                óz  • U R                      U R                  (       d
   SSS5        g[        c   e[        R                  U R                  S5        SU l        [        R                  U R                  5        SSS5        [        (       a   [        U R                  R                  5       S SS9n[        S U 5       5      nU[        U5      -
  nU(       aI  [        SU S	U S
35        U H0  u  pE[        U5      S:”  d  M  [        [        U5      S SU 35        M2     g[        S5        gg! , (       d  f       Nº= f)zStop this Tracer.Nr   Fc                ó   • [        U S   5      $ )NrÅ   r¶   )Úitems    r*   Ú<lambda>Ú!SysMonitor.stop.<locals>.<lambda>  s   € ¤ T¨!¡W¤r-   T)ÚkeyÚreversec              3  ó:   #   • U H  u  p[        U5      v •  M     g 7fr&   r¶   )r¸   Ú_Úcode_idss      r*   rº   Ú"SysMonitor.stop.<locals>.<genexpr>!  s   é € ÐC¹U©k¨aœC ŸM˜MºUùs   ‚z==== Duplicate code objects: z duplicates, z totalrÅ   z>5z
 objects: z!==== Duplicate code objects: none)r«   r©   r|   r}   r¡   Úfree_tool_idÚLOGÚsortedr§   Úitemsr¼   r·   r1   )r)   ré   Ú	code_objsÚdupesr_   rä   s         r*   ÚstopÚSysMonitor.stop  s  € ð �Y‹YØ—>—>ð ÷	 ˆYô
 "Ñ-Ð-Ð-Ü×%Ñ% d§i¡i°Ô3Ø"ˆDŒNÜ×'Ñ'¨¯	©	Ô2÷ ÷ Š3ÜØ×&Ñ&×,Ñ,Ó.Ù-ØñˆEô
 ÑC¹UÓCÓCˆIØ¤ E£
Ñ*ˆEÞÜÐ3°E°7¸-È	À{ÐRXÐYÔZÛ*/Ñ&�HÜ˜8“} qÕ(Üœs 8›}¨RÐ0°
¸8¸*ÐEÖFò +0ô Ð7Õ8ð ÷ �Yús   �D,©AD,Ä,
D:c                ó$   • U R                  5         g)z+The process has forked, clean up as needed.N)rì   r²   s    r*   Ú	post_forkÚSysMonitor.post_fork+  s   € ð 	�	‰	�r-   c                ó   • U R                   $ )zHas there been any activity?©r±   r²   s    r*   ÚactivityÚSysMonitor.activity0  s   € à�~‰~Ðr-   c                ó   • SU l         g)zReset the activity() flag.FNrò   r²   s    r*   Úreset_activityÚSysMonitor.reset_activity4  s	   € àˆ�r-   c                ó   • U R                   $ )z+Return a dictionary of statistics, or None.)r¬   r²   s    r*   Ú	get_statsÚSysMonitor.get_stats8  s   € à�z‰zÐr-   ÚcodeÚ@c                ó  • SU l         U R                  b  U R                  S==   S-  ss'   UR                  S:X  a  [        $ U R                  R                  [        U5      5      nSnSnUb  UR                  nUR                  nUGcÏ  UR                  nU R                  R                  U5      nUcm  [        R                  " 5       nUb6  [        R                  " 5       R                  n[        (       a  UR                  nU R                  Xh5      nXpR                  U'   UR                   nU(       a†  UR"                  n	U	c   eU R%                  5          X�R&                  ;  a  [)        5       U R&                  U	'   U R+                  5         U R&                  U	   nU R,                  (       a  [/        U5      OSn
OSnSn
[1        UUU
SS9nX0R                  [        U5      '   U R2                  R5                  U5        U(       GaU  U R                  b  U R                  S==   S-  ss'   [6        R8                  R:                  nU R<                     U R>                  (       aë  [@        c   eURB                  nU R,                  (       aJ  [D        RF                  RH                  (       d   eUURJ                  URL                  -  URN                  -  -  n[@        RQ                  U RR                  X5        [        (       aP  UR                  S;  a@  U RT                  UR                   S	UR                   3   RW                  [        U5      5        SSS5        [        $ [        $ ! U R+                  5         f = f! , (       d  f       [        $ = f)
z-Handle sys.monitoring.events.PY_START events.TNÚstartsrÅ   Ú__annotate__)r•   r–   r—   r˜   Ústart_tracing>   ú<string>rM   ),r±   r¬   rh   r!   r¢   Úgetrg   r•   r–   ri   Úshould_trace_cacheÚinspectÚcurrentframeÚf_backrç   Úshould_traceÚtraceÚsource_filenameÚ	lock_datar½   r¦   Úunlock_datarž   r   r’   r£   rv   r~   r   rÊ   r«   r©   r|   rÏ   r
   rÑ   rÒ   rÍ   rÓ   rÕ   Úset_local_eventsr¡   r§   rW   )r)   rû   Úinstruction_offsetÚ	code_infoÚtracing_coder–   r_   ÚdispÚframeÚ	tracenameÚb2lrÊ   Úlocal_eventss                r*   rÌ   ÚSysMonitor.sysmon_py_start<  sÝ  € ð ˆŒØ�:‰:Ñ!Ø�J‰J�xÓ  AÑ%Ó à�<‰<˜>Ó)äˆNð —O‘O×'Ñ'¬¨4«Ó1ˆ	Ø$(ˆØ+/ˆ	ØÑ Ø$×,Ñ,ˆLØ!×+Ñ+ˆIàÒØ×'Ñ'ˆHØ×*Ñ*×.Ñ.¨xÓ8ˆDØ‰|Ü×,Ò,Ó.�ØÑ$Ü#×0Ò0Ó2×9Ñ9�Eß’sà %§¡˜Ø×(Ñ(¨Ó9�Ø48×'Ñ'¨Ñ1àŸ:™:ˆLÞØ ×0Ñ0�	Ø Ñ,Ð,Ð,Ø—‘Ô ð'Ø ¯	©	Ó1Ü/2«u˜Ÿ	™	 )Ñ,à×$Ñ$Ô&Ø ŸI™I iÑ0�	à.2¯o¯o”n TÔ*À4‘à �	Ø�ä Ø$Ø#Ø Ø $ñ	ˆIð )2�O‰OœB˜t›HÑ%Ø×Ñ×$Ñ$ TÔ*çØ—:‘:Ñ)Ø—J‘J˜Ó/°1Ñ4Ó/ÜŸ™×.Ñ.�Ø—Y“YØ—~—~Ü-Ñ9Ð9Ð9Ø'-§{¡{˜ØŸ?Ÿ?Ü#&§>¡>×#C×#CÐCÐ#CØ(Ø &× 0Ñ 0°6×3FÑ3FÑ FÈ×I[ÑI[Ñ [ñ˜Lô '×7Ñ7¸¿	¹	À4ÔVçš3Ø#×/Ñ/°|ÓCØ $× 6Ñ 6¸$×:JÑ:JÐ9KÈ1ÈTÏ\É\ÈNÐ7[Ñ \× `Ñ `Ü$& t£Hô!"÷ ô" ˆŒwˆøðM ×$Ñ$Õ&ú÷* ”Yô" ˆús   Å&M ÉC=M3ÍM0Í3
NNc                ó,  • U R                   b  U R                   S==   S-  ss'   U R                  R                  [        U5      5      nUR                  R                  U5      nUb)  XQR
                  * 4nUR                  R                  U5        [        $ )zBHandle sys.monitoring.events.PY_RETURN events for branch coverage.ÚreturnsrÅ   )	r¬   r¢   r  rg   r—   rj   r–   rW   r!   )r)   rû   r  Úretvalr  Ú	last_lineÚarcs          r*   rÎ   ÚSysMonitor.sysmon_py_return�  sƒ   € ð �:‰:Ñ!Ø�J‰J�yÓ! QÑ&Ó!Ø—O‘O×'Ñ'¬¨4«Ó1ˆ	ð ×*Ñ*×.Ñ.Ð/AÓBˆ	ØÑ Ø×2Ñ2Ð2Ð3ˆCØ×Ñ×#Ñ# CÔ(äˆr-   Úlinec                óô   • U R                   b  U R                   S==   S-  ss'   U R                  R                  [        U5      5      nUb(  UR                  b  UR                  R                  U5        [        $ )z;Handle sys.monitoring.events.LINE events for line coverage.Ú
line_linesrÅ   )r¬   r¢   r  rg   r–   rW   r!   )r)   rû   Úline_numberr  s       r*   rÖ   ÚSysMonitor.sysmon_line_lines¡  sf   € ð �:‰:Ñ!Ø�J‰J�|Ó$¨Ñ)Ó$Ø—O‘O×'Ñ'¬¨4«Ó1ˆ	ð Ñ  Y×%8Ñ%8Ñ%DØ×Ñ×#Ñ# KÔ0äˆr-   c                óÂ   • U R                   b  U R                   S==   S-  ss'   U R                  [        U5         nX"4nUR                  R	                  U5        [
        $ )z=Handle sys.monitoring.events.LINE events for branch coverage.Ú	line_arcsrÅ   )r¬   r¢   rg   r–   rW   r!   )r)   rû   r  r  r  s        r*   rÐ   ÚSysMonitor.sysmon_line_arcs¯  sW   € ð �:‰:Ñ!Ø�J‰J�{Ó# qÑ(Ó#Ø—O‘O¤B t£HÑ-ˆ	ð Ð(ˆØ×Ñ×Ñ Ô$äˆr-   c                ó¼  • U R                   b  U R                   S==   S-  ss'   U R                  [        U5         nUR                  nUci  U R                   b  U R                   S==   S-  ss'   UR                  c   e[        UUR                  U R                  UR                  5      5      =oTl        UR                  X#5      nUb!  UR                  R                  U5        [        $ UR                  c   eUR                  R                  U5      nUbA  UR                  R                  U5      nUb#  Xx:w  a  Xx4nUR                  R                  U5        [        $ )z+Handle BRANCH_RIGHT and BRANCH_LEFT events.ÚbranchesrÅ   Úbranch_trails)r¬   r¢   rg   r˜   r—   r   Úget_multiline_mapri   Úresolver–   rW   r  r!   )	r)   rû   r  Údestination_offsetr  Úresolverr  Úl1Úl2s	            r*   rÔ   ÚSysMonitor.sysmon_branch_either¼  sN  € ð
 �:‰:Ñ!Ø�J‰J�zÓ" aÑ'Ó"Ø—O‘O¤B t£HÑ-ˆ	ð ×,Ñ,ˆØÑØ�z‰zÑ%Ø—
‘
˜?Ó+¨qÑ0Ó+Ø×)Ñ)Ñ5Ð5Ð5Ü3DØØ×&Ñ&Ø×&Ñ& t×'7Ñ'7Ó8ó4ð ˆHÔ0ð
 ×ÑÐ1ÓFˆØ‰?Ø×Ñ×#Ñ# CÔ(ô ˆð ×)Ñ)Ñ5Ð5Ð5Ø×'Ñ'×+Ñ+Ð,>Ó?ˆBØ‰~Ø×+Ñ+×/Ñ/Ð0BÓC�Ø‘> b£hØ˜(�CØ×'Ñ'×+Ñ+¨CÔ0ô ˆr-   c                ót   • U R                   R                  U5      nUc  [        U5      =o R                   U'   U$ )z@Get the multiline map for `filename`, computing it at most once.)r¨   r  Úcompute_multiline_map)r)   r_   Úmultiline_maps      r*   r'  ÚSysMonitor.get_multiline_mapá  s=   € à×+Ñ+×/Ñ/°Ó9ˆØÑ Ü<QÐRZÓ<[Ð[ˆM×/Ñ/°Ñ9ØÐr-   )r±   r¢   r£   r§   r«   r¨   r¡   rŸ   r¬   r    r©   rž   )r8   r=   )r8   r<   )r8   r”   )r8   zdict[str, int] | None)rû   r   r  r   r8   ÚMonitorReturn)rû   r   r  r   r  Úobjectr8   r2  )rû   r   r  r   r8   r2  )rû   r   r  r   r)  r   r8   r2  ©r_   r<   r8   zdict[TLineNo, TLineNo])r>   r?   r@   rA   rB   r+   rÁ   rŒ   rÙ   rì   rï   ró   rö   rù   rÌ   rÎ   rÖ   rÐ   rÔ   r'  rC   r9   r-   r*   r›   r›   ¹   s<  † ÙRô+ôZWñ
 ƒ\ó"ó ð"ñ: ƒ\ó9ó ð9ñ8 ƒ\óó ðôôôñ �˜ÓóNó ðNñ` �˜˜TÓ"ðàðð $ðð ð	ð
 
óó #ðñ& �˜Óóó  ðñ �˜Óó
ó  ð
ñ �˜˜SÓ!ð"Øð"Ø29ð"ØOVð"à	ó"ó "ð"÷Hr-   r›   c                ó°   •  [        U 5      n [        U5      $ ! [        [        4 a    0 s $ f = f! [        R
                  [        [        4 a    0 s $ f = f)z1Tokenize `filename` and return its multiline map.)r   ÚOSErrorr   r   ÚtokenizeÚ
TokenErrorÚIndentationErrorÚSyntaxError)r_   Útexts     r*   r/  r/  é  sa   € ðÜ  Ó*ˆðÜ& tÓ,Ð,øô	 ”XÐó àŠ	ðûô
 ×ÑÔ!1´;Ð?ó ð
 Š	ðús   ‚ Ž
1 ™.­.±!AÁA)r[   r<   r8   r=   )rl   r   r8   r<   )r…   z
str | Noner8   r   r4  )GrB   Ú
__future__r   r¤   r‡   r  rQ   Úos.pathr~   rT   r7  rz   Úcollections.abcr   Údataclassesr   Útypesr   Útypingr   r   r	   Úcoverager
   Úcoverage.bytecoder   r   Úcoverage.debugr   r   Úcoverage.exceptionsr   Úcoverage.miscr   Úcoverage.parserr   Úcoverage.pythonr   Úcoverage.typesr   r   r   r   r   r   r   r   r   r   r”   rS   Úgetenvrç   r­   r2   r|   r3  r    r2  r!   r#   rÈ   r¦   rG   r™   r1   rm   rŒ   r’   r›   r/  r9   r-   r*   Ú<module>rK     sz  ðò Iå "ã Û Û Û 	Û Û 
Û Û Û Ý $Ý !Ý ß %Ñ %å ß ?ß 6Ý (Ý (Ý 3Ý -÷÷ ÷ ñ  �BÓ€ñ
 ‰3ˆr�yŠyÐ.°Ó2Ó3Ó4€ñ ‘S˜ŸšÐ#:¸AÓ>Ó?Ó@€ñ ˜˜l¨DÓ1€á�~ vÓ.€Ø˜tÑ#€Ù
ˆ}™g n°iÀÓFÓ
G€ö ÷ñ ñ $ NÐ4DÓE€NØÑ%Ð%Ð%à×#Ò#ØØØØñ	€Kñ !›U€L�(Ó"ôIô0õôFPôð ÷	.ð 	.ó ð	.ôm�ô mõ`	r-   