+
    € ’eœ%  ã                   óx   € R t . ROt/ t/ tR tRR ltRR ltR tR tR t	R t
RR	 ltRR
 ltR tR tR tR tR# )zÃCache lines from Python source files.

This is intended to read lines from modules imported -- hence if a filename
is not found, it will look down the module search path for a file by
that name.
c                 ó.   € \         P                  4        R# )zClear the cache entirely.N)ÚcacheÚclear© ó    Ú[C:\Users\johnn\AppData\Local\hermes\tools\python-3.14.9+20261021-win32-x64\Lib\linecache.pyÚ
clearcacher      s   € ä	‡K�K†Mr   Nc                ór   € \        W4      p^Tu;8:  d   \        V4      8:  d   M R# W1^,
          ,          # R# )zzGet a line for a Python source file from the cache.
Update the cache if it doesn't contain an entry for this file already.Ú )ÚgetlinesÚlen)ÚfilenameÚlinenoÚmodule_globalsÚliness   &&& r   Úgetliner      s4   € ô �XÓ.€EØˆFÖ ”c˜%“jÖ áð ˜a•ZÕ Ð Ùr   c                óº   € \         P                  V R4      pVe   \        V4      ^8w  d
   V^,          #  \        W4      #   \         d    \        4        . u # i ; i)z}Get the lines for a Python source file from the cache.
Update the cache if it doesn't contain an entry for this file already.N)r   Úgetr   ÚupdatecacheÚMemoryErrorr   )r   r   Úentrys   && r   r   r       sV   € ô �I‰I�h Ó%€EØÒœS ›Z¨1œ_Ø�Q�xˆðÜ˜8Ó4Ð4øÜô ÜŒØŠ	ðús   µ
A  Á AÁAc                 ór   € \        V 4      p^Tu;8:  d   \        V4      8:  d   M R# W!^,
          ,          # R# )é   r
   )Ú_getlines_from_coder   )r   r   r   s   && r   Ú_getline_from_coder   /   s2   € Ü Ó)€EØˆFÖ ”c˜%“jÖ áð ˜a•ZÕ Ð Ùr   c                 óH   € V P                   V P                  V P                  3# ©N)Úco_filenameÚco_qualnameÚco_firstlineno)Úcodes   &r   Ú	_make_keyr!   5   s!   € Ø×Ñ˜d×.Ñ.°×0CÑ0CÐDÐDr   c                 ó‚   € \        V 4      p\        P                  VR 4      pVe   \        V4      ^8w  d
   V^,          # . # r   )r!   Ú_interactive_cacher   r   )r    Úcode_idr   s   &  r   r   r   8   s;   € Ü˜‹o€GÜ×"Ñ" 7¨DÓ1€EØÒœS ›Z¨1œ_Ø�Q�xˆØ€Ir   c                ó°   € V '       * ;'       gI    V P                  R4      ;'       d0    V P                  R4      ;'       d    V P                  R4      '       * # )zAReturn True if the source code is unavailable for such file name.Ú<Ú>ú<frozen )Ú
startswithÚendswith)r   s   &r   Ú_source_unavailabler+   @   sY   € ð Œ÷ 	5ð 	5Ø×Ñ Ó$÷ 4ð 4Ø×!Ñ! #Ó&÷4ð 4à×'Ñ'¨
Ó3Ô3ð	r   c                óú  € V f$   \         P                  4       P                  4       pMV .pV F‰  p \         P                  V R4      pVe   \	        V4      ^8X  d   K/  Vw  r4rVVf   K:   ^ RIp TP                  T4      pY8P                  8w  g   YHP                  8w  g   Ks  \         P                  T R4       K‹  	  R#   \         d      R# i ; i  \        \        3 d    \         P                  T R4        KÌ  i ; i)zQDiscard cache entries that are out of date.
(This is not checked upon each call!)N)r   ÚcopyÚkeysr   r   ÚosÚImportErrorÚstatÚOSErrorÚ
ValueErrorÚpopÚst_sizeÚst_mtime)	r   Ú	filenamesr   ÚsizeÚmtimer   Úfullnamer/   r1   s	   &        r   Ú
checkcacher;   J   sÛ   € ð Òä—J‘J“L×%Ñ%Ó'‰	à�Jˆ	ãˆÜ—	‘	˜( DÓ)ˆØŠ=œC ›J¨!œOáØ',Ñ$ˆ�UØŠ=Ùð	ãð	Ø—7‘7˜8Ó$ˆDð —<‘<Ô 5¯M©MÖ#9Ü�I‰I�h Ö%ó' øô ô 	Ûð	ûô œÐ$ô 	Ü�I‰I�h Ô%Úð	ús$   Á(B<Á-CÂ<CÃCÃ'C:Ã9C:c                óÜ  €  ^ RI p^ RIp^ RIp\        P                  T R4      p\        T 4      '       d   . # T P                  R4      '       d   Tf   . # TP                  R4      pTf   . # MT p TP                  T4      p TP+                  T4      ;_uu_ 4       pTP-                  4       pRRR4       X'       g   R.pM3TR,          P3                  R4      '       g   TR;;,          R,          uu&   TP4                  TP6                  ppTTYæ3\        T &   T#   \         d    . u # i ; i  \         Edu    T pTe   \        T4      ^8X  d   TMRp	T	f   \        Y4      p	Rp
T	e0    T	^ ,          ! 4       p
T
f   . u # M  \        \        3 d     Mi ; iT
f#    \        T4      p
M  \         d    . u u # i ; iT
eN   \        T
4      RT
P                  4        Uu. uF  q»R,           NK  	  Mu upi upT3pT\        T &   T^,          u # TP                  P!                  T 4      '       d   . u # TP                   Fe  p TP                  P#                  YÈ4      pM  \$        \&        3 d     K4  i ; i TP                  T4      p  EK    \        \(        3 d     Kc  i ; i	  . u # \(         d    . u # i ; i  + '       g   i     EL; i  \        \.        \0        3 d    . u # i ; i)zŒUpdate a cache entry and return its list of lines.
If something's wrong, print a message, discard the cache entry,
and return an empty list.Nr(   Ú__file__Ú
éÿÿÿÿ)r/   ÚsysÚtokenizer0   r   r4   r+   r)   r   r1   r2   r   Ú_make_lazycache_entryÚ_read_from_archiveÚ
splitlinesÚpathÚisabsÚjoinÚ	TypeErrorÚAttributeErrorr3   ÚopenÚ	readlinesÚUnicodeDecodeErrorÚSyntaxErrorr*   r5   r6   )r   r   r/   r@   rA   r   r:   r1   ÚbasenameÚ
lazy_entryÚdataÚlineÚdirnameÚfpr   r8   r9   s   &&               r   r   r   j   sØ  € ðÛÛÛô
 �I‰I�h Ó%€EÜ˜8×$Ò$Øˆ	à×Ñ˜:×&Ò&ð Ò!ØˆIà!×%Ñ% jÓ1ˆØÒØˆIð ð ˆð:Ø�w‰w�xÓ ˆðtØ�]‰]˜8×$Ô$¨Ø—L‘L“NˆE÷ %÷ Ø�‰Ø�2�Y×Ñ ×%Ò%Øˆb�	�TÕ‹	Ø—,‘, §¡ˆ%€DØ˜E 5Ð2„Eˆ(�OØ€Løôs ô àŠ	ðûô* õ 6Øˆð $Ò/´C¸³JÀ!´O‘UÈˆ
ØÒÜ.¨xÓHˆJØˆØÒ!ðØ! !–}“�ð ’<ð ’Ið  øô  ¤Ð)ô Ùðúð Š<ðÜ)¨(Ó3‘øÜô à”	ðúð Òä�D“	ØØ)-¯©Ô):Ó;Ñ): ˜—�Ò):ùÔ;Øð	ˆEð $ŒE�(‰OØ˜•8ŠOð �7‰7�=‰=˜×"Ò"ØŠIà—x”xˆGðØŸ7™7Ÿ<™<¨Ó:‘øÜœ~Ð.ô âðúðØ—w‘w˜xÓ(�ÜøÜœZÐ(ô Úðúñ  ð ŠIÜô ØŠ	ðú÷ %×$Ð$ûäÔ'¬Ð5ô ØŠ	ðús  ‚D Á/D+ ÂK ÂJ<Â+K ÄD(Ä'D(Ä+;J9Å'E>Å5J9Å=J9Å>FÆJ9ÆFÆJ9ÆF&Æ%J9Æ&F8Æ3J9Æ7F8Æ8$J9ÇG.
Ç-J9È J9È-J9È1J9ÉIÉJ9ÉI2É.J9É1I2É2J9É6JÊJ9ÊJ!ÊJ9Ê J!Ê!J9Ê*J9Ê3J9Ê8J9Ê<K	ËK ËK ËK+Ë*K+c                ó|  € ^ RI p^ RIpVP                  pVf   R# T p VP                  P	                  V4      pWT8X  d   R# Tp\        VP                  V4      RR4      pVf   KH   V! V 4      p^ RI	p TP                  P                  T4      #   \        \        3 d     K…  i ; i  \        \        3 d     R# i ; i)a¾  Return the decoded contents of a file inside an archive on sys.path.

Path entry finders for archives, such as zipimport.zipimporter, have a
get_data() method that reads files by their path below the archive,
which is what __file__ and co_filename contain for modules imported
from it.  The archive is one of the parent directories of the file, so
look for a finder registered for one of them.  Return None if the file
is not in such an archive.
NÚget_data)r/   r@   Úpath_importer_cacherE   rR   Úgetattrr   r0   r2   Úimportlib.utilÚutilÚdecode_sourcerL   rM   )	r   r/   r@   Ú	importersrE   ÚparentrU   rP   Ú	importlibs	   &        r   rC   rC   Ò   sÄ   € ó ÛØ×'Ñ'€IØÒáØ€DØ
Ø—‘—‘ Ó&ˆØŒ>ÙØˆÜ˜9Ÿ=™=¨Ó.°
¸DÓAˆØÒÙð	Ù˜HÓ%ˆDó 	ð	Ø—>‘>×/Ñ/°Ó5Ð5øô	 œWÐ%ô 	Úð	ûô
 #¤KÐ0ô 	Úð	ús$   Á&B Á3B& ÂB#Â"B#Â&B;Â:B;c                óŠ   € \         P                  V R4      pVe   \        V4      ^8H  # \        W4      pVe   V\         V &   R# R# )aÎ  Seed the cache for filename with module_globals.

The module loader will be asked for the source only when getlines is
called, not immediately.

If there is an entry in the cache already, it is not altered.

:return: True if a lazy load is registered in the cache,
    otherwise False. To register such a load a module loader with a
    get_source method must be found, the filename must be a cacheable
    filename, and the filename must not be already cached.
NTF)r   r   r   rB   )r   r   r   rO   s   &&  r   Ú	lazycacher_   ö   sG   € ô �I‰I�h Ó%€EØÒÜ�5‹z˜Q‰Ðä& xÓ@€JØÒØ$Œˆh‰ÙÙr   c                 óŠ  a€ V '       d/   V P                  R 4      '       d   V P                  R4      '       d   R# V'       d‚   RV9   d{   VP                  R4      p\        VRR4      ;'       g
    VR,          p\        VRR4      pVf   VP                  R4      p\        VRR4      oV'       d   S'       d   V3V3R	 llpV3# R# )
r&   r'   NÚ__name__Ú__spec__ÚnameÚloaderÚ
__loader__Ú
get_sourcec                 ó   <€ S! V .VO5/ VB # r   r   )rc   ÚargsÚkwargsrf   s   &*,€r   Ú	get_linesÚ(_make_lazycache_entry.<locals>.get_lines  s   ø€ Ù! $Ð8¨Ò8°Ñ8Ð8r   )r)   r*   r   rW   )r   r   Úspecrc   rd   rj   rf   s   &&    @r   rB   rB     s§   ø€ ß˜×+Ñ+¨C×0Ò0°X×5FÑ5FÀs×5KÒ5KÙç˜*¨Ô6Ø×!Ñ! *Ó-ˆÜ�t˜V TÓ*×HÐH¨n¸ZÕ.HˆÜ˜˜x¨Ó.ˆØŠ>Ø#×'Ñ'¨Ó5ˆFÜ˜V \°4Ó8ˆ
ç—JØ#÷ 9à�<ÐÙr   c                 óZ  € \        V4      R VP                  4        Uu. uF  q3R,           NK  	  upV3pV .pV'       dh   VP                  4       p V P                   F1  p\	        V\        V 4      4      '       g   K   VP                  V4       K3  	  \        V 4      pV\        V&   Ko  R # u upi )Nr>   )	r   rD   r4   Ú	co_constsÚ
isinstanceÚtypeÚappendr!   r#   )r    Ústringrc   rQ   r   ÚstackÚconstÚkeys   &&&     r   Ú_register_coderv   "  s™   € Ü�‹[ØØ&,×&7Ñ&7Ô&9Ó:Ñ&9˜d�T�kˆkÑ&9Ñ:Øð€Eð ˆF€Eß
Ø�y‰y‹{ˆØ—^”^ˆEÜ˜%¤ d£×,Ô,Ø—‘˜UÖ#ñ $ô ˜‹oˆØ"'Ô˜3Óñ ùò ;s   žB()r   r   r;   r_   r   )Ú__doc__Ú__all__r   r#   r   r   r   r   r!   r   r+   r;   r   rC   r_   rB   rv   r   r   r   Ú<module>ry      sd   ðñò ?€ð
 	€ØÐ òô
ôòòEòòô&ô@eòP!òHò0ô((r   