ó
    “~i!+  ã                   óF  • S SK r S SKrS SKrS SKJrJr  S SKJrJrJ	r	  S SK
r
S SKrS SKrS SKrS SKJrJr   " S S\5      r " S S\5      r " S	 S
5      r " S S\5      r " S S\5      rS rS\4S jrS\4S jrS\4S jrS r\R6                  " 5       S 5       rS rg)é    N)ÚABCÚabstractmethod)ÚDictÚListÚOptional)Ú__version__Úknobsc                   óª   • \ rS rSrSS jr\S\\   4S j5       r\SS\4S jj5       r	\S\S\\
\\4      4S j5       r\S\S\
\\4   4S	 j5       rS
rg)ÚCacheManageré   c                 ó   • g ©N© ©ÚselfÚkeyÚoverrideÚdumps       ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/triton/runtime/cache.pyÚ__init__ÚCacheManager.__init__   ó   € Øó    Úreturnc                 ó   • g r   r   ©r   Úfilenames     r   Úget_fileÚCacheManager.get_file   ó   € àr   c                 ó   • g r   r   ©r   Údatar   Úbinarys       r   ÚputÚCacheManager.put   r    r   r   c                 ó   • g r   r   r   s     r   Ú	get_groupÚCacheManager.get_group   r    r   Úgroupc                 ó   • g r   r   )r   r   r*   s      r   Ú	put_groupÚCacheManager.put_group   r    r   r   N©FF©T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ústrr   r%   r   r(   r,   Ú__static_attributes__r   r   r   r   r      sš   † ôð ð H¨S¡Mó ó ðð ñ°#ô ó ðð ð #ð ¨(°4¸¸S¸±>Ñ*Bó ó ðð ð #ð ¨d°3¸°8©nó ó ór   r   c                   ó¢   • \ rS rSrSS jrS\4S jrS\4S jrS\	\   4S jr
S\S\	\\\4      4S jrS\S	\\\4   S\4S
 jrSS\4S jjrSrg)ÚFileCacheManageré$   c                 ó¾  • Xl         S U l        U(       a§  [        R                  R                  U l        [        R                  R                  U R
                  U R                   5      U l        [        R                  R                  U R
                  S5      U l        [        R                  " U R
                  SS9  g U(       aY  [        R                  R                  U l        [        R                  R                  U R
                  U R                   5      U l        g [        R                  R                  U l        U R
                  (       aˆ  [        R                  R                  U R
                  U R                   5      U l        [        R                  R                  U R
                  S5      U l        [        R                  " U R
                  SS9  g [        S5      e)NÚlockT©Úexist_okú$Could not create or locate cache dir)r   Ú	lock_pathr	   ÚcacheÚdump_dirÚ	cache_dirÚosÚpathÚjoinÚmakedirsÚoverride_dirÚdirÚRuntimeErrorr   s       r   r   ÚFileCacheManager.__init__&   s  € ØŒØˆŒÞÜ"Ÿ[™[×1Ñ1ˆDŒNÜŸW™WŸ\™\¨$¯.©.¸$¿(¹(ÓCˆDŒNÜŸW™WŸ\™\¨$¯.©.¸&ÓAˆDŒNÜ�KŠK˜Ÿ™°Ó6ÞÜ"Ÿ[™[×5Ñ5ˆDŒNÜŸW™WŸ\™\¨$¯.©.¸$¿(¹(ÓCˆD�Nô #Ÿ[™[Ÿ_™_ˆDŒNØ�~�~Ü!#§¡§¡¨d¯n©n¸d¿h¹hÓ!G�”Ü!#§¡§¡¨d¯n©n¸fÓ!E�”Ü—’˜DŸN™N°TÓ:ä"Ð#IÓJÐJr   r   c                 óV   • [         R                  R                  U R                  U5      $ r   )rB   rC   rD   rA   r   s     r   Ú
_make_pathÚFileCacheManager._make_path;   s   € Ü�w‰w�|‰|˜DŸN™N¨HÓ5Ð5r   c                 ó–   • U R                   (       d  [        S5      e[        R                  R	                  U R                  U5      5      $ )Nr=   )rA   rH   rB   rC   ÚexistsrK   r   s     r   Úhas_fileÚFileCacheManager.has_file>   s1   € Ø�~�~ÜÐEÓFÐFÜ�w‰w�~‰~˜dŸo™o¨hÓ7Ó8Ð8r   c                 óR   • U R                  U5      (       a  U R                  U5      $ g r   )rO   rK   r   s     r   r   ÚFileCacheManager.get_fileC   s#   € Ø�=‰=˜×"Ñ"Ø—?‘? 8Ó,Ð,àr   r   c                 óŒ  • SU 3nU R                  U5      (       d  g U R                  U5      n[        U5       n[        R                  " U5      nS S S 5        WR                  SS 5      nUc  g 0 nUR                  5        H/  u  p‰[        R                  R                  U	5      (       d  M+  X—U'   M1     U$ ! , (       d  f       Nk= f©NÚ__grp__Úchild_paths)
rO   rK   ÚopenÚjsonÚloadÚgetÚitemsrB   rC   rN   )
r   r   Úgrp_filenameÚgrp_filepathÚfÚgrp_datarV   ÚresultÚcÚps
             r   r(   ÚFileCacheManager.get_groupI   s§   € Ø   
Ð+ˆØ�}‰}˜\×*Ñ*ØØ—‘ |Ó4ˆÜ�,Ô 1Ü—y’y “|ˆH÷  à—l‘l =°$Ó7ˆàÑØØˆØ×%Ñ%Ö'‰DˆAÜ�w‰w�~‰~˜a× Ó Ø�q“	ñ (ð ˆ÷  Õús   ¹B5Â5
Cr*   c                 ó”   • U R                   (       d  [        S5      e[        R                  " SU05      nSU 3nU R	                  X4SS9$ )Nr=   rV   rU   F©r$   )rA   rH   rX   Údumpsr%   ©r   r   r*   Úgrp_contentsr\   s        r   r,   ÚFileCacheManager.put_group[   sG   € Ø�~�~ÜÐEÓFÐFÜ—z’z =°%Ð"8Ó9ˆØ   
Ð+ˆØ�x‰x˜¸5ˆxÐAÐAr   c                 óÊ  • U R                   (       d  [        S5      e[        U[        5      nU(       d  [	        U5      nU R
                  c   eU R                  U5      n[	        [        R                  " 5       5      n[        R                  " 5       n[        R                  R                  U R                   SU SU 35      n[        R                  " USS9  [        R                  R                  Xr5      nU(       a  SOSn	[        X‰5       n
U
R                  U5        S S S 5        [        R                   " X„5        [        R"                  " U5        U$ ! , (       d  f       N<= f)Nr=   ztmp.pid_Ú_Tr;   ÚwbÚw)rA   rH   Ú
isinstanceÚbytesr4   r>   rK   ÚuuidÚuuid4rB   ÚgetpidrC   rD   rE   rW   ÚwriteÚreplaceÚ
removedirs)r   r#   r   r$   ÚfilepathÚrnd_idÚpidÚtemp_dirÚ	temp_pathÚmoder^   s              r   r%   ÚFileCacheManager.putb   sö   € Ø�~�~ÜÐEÓFÐFÜ˜D¤%Ó(ˆÞÜ�t“9ˆDØ�~‰~Ñ)Ð)Ð)Ø—?‘? 8Ó,ˆä”T—Z’Z“\Ó"ˆä�iŠi‹kˆä—7‘7—<‘< §¡°(¸3¸%¸qÀÀÐ0IÓJˆÜ
�Š�H tÒ,Ü—G‘G—L‘L Ó4ˆ	æ‰t 3ˆÜ�)Ô" aØ�G‰G�DŒM÷ #ô 	�
Š
�9Ô'Ü
�Š�hÔØˆ÷ #Õ"ús   ÄEÅ
E")rA   r   r>   Nr.   r/   )r0   r1   r2   r3   r   r4   rK   ÚboolrO   r   r   r   r(   r,   r%   r5   r   r   r   r7   r7   $   s‡   † ôKð*6 cô 6ð9 Dô 9ð
 H¨S¡Mô ð #ð ¨(°4¸¸S¸±>Ñ*Bô ð$B #ð B¨d°3¸°8©nð BÀô Bñ°#÷ ð r   r7   c                   ón   • \ rS rSrSrS\4S jr\S\\   S\	\\
4   4S j5       r\S\S	\
4S
 j5       rSrg)ÚRemoteCacheBackendé}   zD
A backend implementation for accessing a remote/distributed cache.
r   c                 ó   • g r   r   )r   r   s     r   r   ÚRemoteCacheBackend.__init__‚   r   r   Ú	filenamesr   c                 ó   • g r   r   )r   rƒ   s     r   rZ   ÚRemoteCacheBackend.get…   r    r   r   r#   c                 ó   • g r   r   ©r   r   r#   s      r   r%   ÚRemoteCacheBackend.put‰   r    r   r   N)r0   r1   r2   r3   Ú__doc__r4   r   r   r   r   ro   rZ   r%   r5   r   r   r   r   r   }   sd   † ñð˜Cô ð ð˜T #™Yð ¨4°°U°
Ñ+;ó ó ðð ð˜Cð  uó ó ór   r   c                   ón   • \ rS rSrS rS\S\4S jrS\\   S\\\4   4S jr	S\S\
S\\\
4   4S	 jrS
rg)ÚRedisRemoteCacheBackendéŽ   c                 ó  • SS K nXl        [        R                  R                   R                  U l        UR                  [        R                  R                   R                  [        R                  R                   R                  S9U l	        g )Nr   )ÚhostÚport)
ÚredisÚ_keyr	   r?   Ú
key_formatÚ_key_fmtÚRedisrŽ   r�   Ú_redis)r   r   r�   s      r   r   Ú RedisRemoteCacheBackend.__init__�   s\   € ÛØŒ	ÜŸ™×)Ñ)×4Ñ4ˆŒØ—k‘kÜ—‘×"Ñ"×'Ñ'Ü—‘×"Ñ"×'Ñ'ð "ð 
ˆ�r   r   r   c                 óJ   • U R                   R                  U R                  US9$ )N)r   r   )r“   Úformatr‘   r   s     r   Ú_get_keyÚ RedisRemoteCacheBackend._get_key™   s    € Ø�}‰}×#Ñ#¨¯	©	¸HÐ#ÐEÐEr   rƒ   c                 óÖ   • U R                   R                  U Vs/ s H  o R                  U5      PM     sn5      n[        X5       VVs0 s H  u  pEUc  M
  XE_M     snn$ s  snf s  snnf r   )r•   Úmgetr™   Úzip)r   rƒ   r^   Úresultsr   r`   s         r   rZ   ÚRedisRemoteCacheBackend.getœ   s]   € Ø—+‘+×"Ñ"¹iÓ#Hºi¸§M¡M°!Ö$4¹iÑ#HÓIˆÜ9<¸YÔ9PÔgÒ9PÑ%5 XÐTZÓ �Ò Ñ9PÒgÐgùò $IùÛgs   šA Á		A%ÁA%r#   c                 óZ   • U R                   R                  U R                  U5      U5        g r   )r•   Úsetr™   r‡   s      r   r%   ÚRedisRemoteCacheBackend.put    s   € Ø�‰�‰˜Ÿ™ hÓ/°Õ6r   )r‘   r“   r•   N)r0   r1   r2   r3   r   r4   r™   r   r   rZ   ro   r%   r5   r   r   r   r‹   r‹   Ž   sb   † ò
ðF ð F¨ô Fðh˜T #™Yð h¨4°°S°©>ô hð7˜Cð 7 uð 7°°c¸5°jÑ1A÷ 7r   r‹   c                   óœ   • \ rS rSrSS jrS\S\4S jrS\S\\   4S jr	SS\S\4S jjr
S\S\\\\4      4S	 jrS\S
\\\4   4S jrSrg)ÚRemoteCacheManageré¤   c                 ó¬   • [         R                  R                  nU(       d  [        S5      eU" U5      U l        X l        X0l        [        XUS9U l        g )NzdUnable to instantiate RemoteCacheManager, TRITON_REMOTE_CACHE_BACKEND doesn't point to a valid class)r   r   )	r	   r?   Úremote_manager_classrH   Ú_backendÚ	_overrideÚ_dumpr7   Ú_file_cache_manager)r   r   r   r   Úremote_cache_clss        r   r   ÚRemoteCacheManager.__init__¦   sO   € ä Ÿ;™;×;Ñ;ÐÞÜØvóxð xá(¨Ó-ˆŒà!ŒØŒ
ô $4°CÐQUÑ#VˆÕ r   r   r#   c                 ó6   • U R                   R                  X!SS9$ )NTre   )r«   r%   r‡   s      r   Ú_materializeÚRemoteCacheManager._materialize´   s   € à×'Ñ'×+Ñ+¨DÀ4Ð+ÐHÐHr   r   c                 ó  • U R                   (       d  U R                  (       a  U R                  R                  U5      $ U R                  R                  U/5      n[        U5      S:X  a  g UR                  5       u  u  p4U R                  X5      $ )Nr   )	rª   r©   r«   r   r¨   rZ   Úlenr[   r¯   )r   r   rž   rk   r#   s        r   r   ÚRemoteCacheManager.get_file¸   sm   € à�:�:˜ŸŸØ×+Ñ+×4Ñ4°XÓ>Ð>ð
 —-‘-×#Ñ# X JÓ/ˆÜˆw‹<˜1ÓØØ—]‘]“_‰
‰	ˆØ× Ñ  Ó0Ð0r   c                 ó0  • U R                   (       d  U R                  (       a  U R                  R                  XUS9$ [	        U[
        5      (       d  [        U5      R                  S5      nU R                  R                  X!5        U R                  X!5      $ )Nre   úutf-8)
rª   r©   r«   r%   rn   ro   r4   Úencoder¨   r¯   r"   s       r   r%   ÚRemoteCacheManager.putÆ   so   € à�:�:˜ŸŸØ×+Ñ+×/Ñ/°ÀvÐ/ÐNÐNä˜$¤×&Ñ&Ü�t“9×#Ñ# GÓ,ˆDØ�‰×Ñ˜(Ô)Ø× Ñ  Ó0Ð0r   c                 óæ  • U R                   (       d  U R                  (       a  U R                  R                  U5      $ SU 3nU R	                  U5      nUc  g [        U5       n[        R                  " U5      nS S S 5        WR                  SS 5      nS nUbG  0 nU R                  R                  U5      R                  5        H  u  p‰U R                  X‰5      Xx'   M     U$ ! , (       d  f       Nn= frT   )rª   r©   r«   r(   r   rW   rX   rY   rZ   r¨   r[   r¯   )
r   r   r\   r]   r^   r_   rV   r`   Ú
child_pathr#   s
             r   r(   ÚRemoteCacheManager.get_groupÐ   sÐ   € à�:�:˜ŸŸØ×+Ñ+×5Ñ5°hÓ?Ð?à   
Ð+ˆØ—}‘} \Ó2ˆØÑØÜ�,Ô 1Ü—y’y “|ˆH÷  à—l‘l =°$Ó7ˆàˆð Ñ"ØˆFØ$(§M¡M×$5Ñ$5°kÓ$B×$HÑ$HÖ$JÑ �
Ø%)×%6Ñ%6°zÓ%H�Ó"ñ %Kð ˆ÷  Õús   Á#C"Ã"
C0r*   c           	      ó  • U R                   (       d  U R                  (       a  U R                  R                  X5      $ [        R
                  " S[        [        UR                  5       5      5      05      nSU 3nU R                  X45      $ )NrV   rU   )
rª   r©   r«   r,   rX   rf   ÚsortedÚlistÚkeysr%   rg   s        r   r,   ÚRemoteCacheManager.put_groupç   sd   € à�:�:˜ŸŸØ×+Ñ+×5Ñ5°hÓFÐFä—z’z =´&¼¸e¿j¹j»lÓ9KÓ2LÐ"MÓNˆØ   
Ð+ˆØ�x‰x˜Ó3Ð3r   )r¨   rª   r«   r©   Nr.   r/   )r0   r1   r2   r3   r   r4   ro   r¯   r   r   r%   r   r(   r,   r5   r   r   r   r¤   r¤   ¤   sƒ   † ôWðI Sð I°ô Ið1 ð 1¨°#©ô 1ñ1 #ð 1°sõ 1ð #ð ¨(°4¸¸S¸±>Ñ*Bô ð.4 #ð 4¨d°3¸°8©n÷ 4r   r¤   c                 ó�   • [         R                  " [        R                  U 5      5      R	                  S5      R                  S5      $ )Nrµ   Ú=)Úbase64Ú	b32encodero   ÚfromhexÚdecodeÚrstrip)r   s    r   Ú_base32rÇ   ñ   s2   € ä×ÒœEŸM™M¨#Ó.Ó/×6Ñ6°wÓ?×FÑFÀsÓKÐKr   r   c                 ór   • [         R                  R                  =(       d    [        nU" [	        U 5      5      $ r   ©r	   r?   Úmanager_classr7   rÇ   ©r   Úclss     r   Úget_cache_managerrÍ   ö   s&   € Ü
�+‰+×
#Ñ
#×
7Ô'7€CÙŒw�s‹|ÓÐr   c                 óp   • [         R                  R                  =(       d    [        nU" [	        U 5      SS9$ )NT)r   rÉ   rË   s     r   Úget_override_managerrÏ   û   s(   € Ü
�+‰+×
#Ñ
#×
7Ô'7€CÙŒw�s‹| dÑ+Ð+r   c                 óp   • [         R                  R                  =(       d    [        nU" [	        U 5      SS9$ )NT)r   rÉ   rË   s     r   Úget_dump_managerrÑ      s(   € Ü
�+‰+×
#Ñ
#×
7Ô'7€CÙŒw�s‹| $Ñ'Ð'r   c                 óz  • UR                  5        VVs0 s H  u  pVXVS   S:X  a  SOU_M     nnnU  SSR                  UR                  5       5       SU SU 3nU H  nU SUR                  U5       3nM     [        R
                  " UR                  S5      5      R                  5       n[        U5      $ s  snnf )Nr   Ú*ÚptrÚ-Ú rµ   )	r[   rD   ÚvaluesrZ   ÚhashlibÚsha256r¶   Ú	hexdigestrÇ   )	Úversion_hashÚ	signatureÚ	constantsÚidsÚkwargsÚkÚvr   Úkws	            r   Úmake_so_cache_keyrã     s²   € à<E¿O¹OÔ<MÔNÒ<M±D°A�˜q™T S›[‘E¨aÒ/Ñ<M€IÑNØˆN˜!˜BŸG™G I×$4Ñ$4Ó$6Ó7Ð8¸¸)¸ÀAÀcÀUÐ
K€CÛˆØ��Q�v—z‘z "“~Ð&Ð'Šñ ä
�.Š.˜Ÿ™ GÓ,Ó
-×
7Ñ
7Ó
9€CÜ�3‹<Ðùó Os   ”B7c                  óÈ  • SS K n [        R                  R                  [        R                  R                  [        R                  R	                  [
        5      5      5      n/ n[        [
        S5       nU[        R                  " UR                  5       5      R                  5       /-  nS S S 5        [        R                  R                  US5      S4[        R                  R                  US5      S4/nU H•  u  pVU R                  U/US9 H{  n[        UR                  R                  UR                  5      R                   S5       nU[        R                  " UR                  5       5      R                  5       /-  nS S S 5        M}     M—     [        R                  " 5       n["        R$                  " S5      R'                  S	5      S
   n	[        [        R                  R                  USSU	 35      S5       n UR                  S5      n
U
(       d  OUR)                  U
5        M,  S S S 5        UR+                  UR                  5       5        [        R                  R                  US5      nU R                  U/SS9 H{  n[        UR                  R                  UR                  5      R                   S5       nU[        R                  " UR                  5       5      R                  5       /-  nS S S 5        M}     [,         SR                  U5      -   $ ! , (       d  f       GNw= f! , (       d  f       GM.  = f! , (       d  f       GN= f! , (       d  f       MÞ  = f)Nr   ÚrbÚcompilerztriton.compiler.Úbackendsztriton.backends.)ÚprefixÚ
EXT_SUFFIXÚ.éÿÿÿÿÚ_Cz
libtriton.i   Úlanguageztriton.language.rÕ   )ÚpkgutilrB   rC   ÚdirnameÚabspathÚ__file__rW   rØ   rÙ   ÚreadrÚ   rD   Úwalk_packagesÚmodule_finderÚ	find_specÚnameÚoriginÚ	sysconfigÚget_config_varÚsplitÚupdateÚappendr   )rî   ÚTRITON_PATHÚcontentsr^   Úpath_prefixesrC   rè   ÚlibÚlibtriton_hashÚextÚchunkÚlanguage_paths               r   Ú
triton_keyr    sƒ  € ãÜ—'‘'—/‘/¤"§'¡'§/¡/´"·'±'·/±/Ä(Ó2KÓ"LÓM€KØ€Hä	Œh˜Ô	 Ø”W—^’^ A§F¡F£HÓ-×7Ñ7Ó9Ð:Ñ:ˆ÷ 
ô 
�‰�‰�k :Ó	.Ð0BÐCÜ	�‰�‰�k :Ó	.Ð0BÐCð€Mó &‰ˆØ×(Ñ(¨$¨¸Ð(Ó?ˆCÜ�c×'Ñ'×1Ñ1°#·(±(Ó;×BÑBÀDÔIÈQØœWŸ^š^¨A¯F©F«HÓ5×?Ñ?ÓAÐBÑB�÷ JÑIó @ñ &ô —^’^Ó%€NÜ
×
"Ò
" <Ó
0×
6Ñ
6°sÓ
;¸BÑ
?€CÜ	Œb�g‰g�l‰l˜;¨°
¸3¸%Ð.@ÓAÀ4Ô	HÈAØØ—F‘F˜7“OˆEÞØØ×!Ñ! %Ô(ñ	 ÷ 
Ið ‡O�O�N×,Ñ,Ó.Ô/ä—G‘G—L‘L ¨jÓ9€MØ×$Ñ$ m _Ð=OÐ$ÓPˆÜ�#×#Ñ#×-Ñ-¨c¯h©hÓ7×>Ñ>ÀÔEÈØœŸš¨¯©«Ó1×;Ñ;Ó=Ð>Ñ>ˆH÷ FÑEñ Qô ˆ]˜cŸh™h xÓ0Ñ0Ð0÷7 
Ö	ú÷ J×Iú÷ 
IÖ	Hú÷ FÖEús0   Á47LÅ7L-Ç=.M Ê?7MÌ
L*Ì-
L=Í 
MÍ
M!	c                 óÊ   • [        5        SU R                  5        SUR                  5        SUR                  5        S[        [        UR	                  5       5      5       3	nU$ )NrÕ   )r  Úhashr4   r¼   r[   )ÚsrcÚbackendÚbackend_optionsÚenv_varsr   s        r   Úget_cache_keyr  3  sZ   € Ü‹\ˆN˜!˜CŸH™H›J˜< q¨¯©«Ð(8¸¸/×:NÑ:NÓ:PÐ9QÐQRÔSVÔW]Ð^f×^lÑ^lÓ^nÓWoÓSpÐRqÐ
r€CØ€Jr   )rX   rB   rp   Úabcr   r   Útypingr   r   r   rÂ   rØ   Ú	functoolsrø   Útritonr   r	   r   r7   r   r‹   r¤   rÇ   rÍ   rÏ   rÑ   rã   Ú	lru_cacher  r  r   r   r   Ú<module>r     s¹   ðÛ Û 	Û ß #ß 'Ñ 'Û Û Û Û ç %ô�3ô ô,V�|ô V÷rñ ô"7Ð0ô 7ô,J4˜ô J4òZLð
˜lô ð
, ô ,ð
(˜\ô (ò
ð ×ÒÓñ 1ó ð 1óFr   