+
    NV-j®+  ã                   ó>  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^RIHt ^RIHt ^RIH	t	 ] P                  R8¼  d	   ^ RItR tM^ RItR t] P                  R8¼  d   ]P                  tM ! R R]P"                  4      t ! R	 R
]4      tRtR tRsR tR tRR ltR tR tR# )é    N)Ú__version_verifier_modules__)Úffiplatform)ÚVerificationErrorc                  óD   € \         P                  P                  R ,          # ):NNN)Ú	importlibÚ	machineryÚEXTENSION_SUFFIXES© ó    Ú^/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/cffi/verifier.pyÚ_extension_suffixesr      s   € Ü×"Ñ"×5Ñ5°aÕ8Ð8r   c                  ó–   € \         P                  ! 4        U UUu. uF  w  rpV\         P                  8X  g   K  V NK!  	  uppp # u uppp i ©N)ÚimpÚget_suffixesÚC_EXTENSION)ÚsuffixÚ_Útypes      r   r   r      sB   € Ü.1×.>Ò.>Ô.@õ ,Ñ.@™?˜6 dØœ3Ÿ?™?Ñ*÷ �Ñ.@ó ,ð 	,ùô ,s
   šA¹Ac                   ó2   a a€ ] tR t^t oV 3R ltRtVtV ;t# )ÚNativeIOc                ó|   <€ \        V\        4      '       d   VP                  R 4      p\        \        V `  V4       R# )ÚasciiN)Ú
isinstanceÚunicodeÚencodeÚsuperr   Úwrite)ÚselfÚsÚ	__class__s   &&€r   r   ÚNativeIO.write   s-   ø€ Ü˜!œW×%Ò%Ø—H‘H˜WÓ%�Ü”(˜DÑ'¨Ö*r   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r!   Ú__classdict__s   @@r   r   r      s   ù‡ € ÷	+õ 	+r   r   c                   óz   a € ] tR t^t o RR ltRR ltR tR tR tR t	R t
R	 tR
 tR tRR ltR tR tRtV tR# )ÚVerifierNc                óV  € VP                   P                  '       d$   \        R VP                   P                  : 24      hWn        W n        V'       g   \
        P                  ! V4      p\        W4      pV! V 4      V n        V P                  P                  V4       W�n
        V P                  Wº4      V n        V'       d   V'       d   \        R4      hEM*RP                  R\        P                   R,          ,          \"        VX.VP$                  ,           4      p\        P                   R8¼  d   VP'                  R4      p\)        \*        P,                  ! VR,          4      R,          4      pVP/                  R4      P1                  R	4      p\)        \*        P,                  ! VR
,          4      R,          4      pVP/                  R4      P1                  R	4      pRV: RV P                  P2                  : V: V: 2p\5        4       ^ ,          pT;'       g    \7        4       V n        \:        P<                  P                  V P8                  WH,           4      V n        \:        P<                  P                  V P8                  VV,           4      V n         WPn!        RV n"        RV n#        R# )zIfeature not supported with ffi.verify(), but only with ffi.set_source(): z)can't specify both 'modulename' and 'tag'Ú z%d.%d:Né   Nzutf-8:r   Nr/   l   ÿÿ Ú0xÚL:é   Nr/   Ú0Ú_cffi_r   FN©é   )$Ú_parserÚ_uses_new_featurer   ÚffiÚpreambler   ÚflattenÚ_locate_engine_classÚ_vengineÚpatch_extension_kwdsÚflagsÚmake_relative_toÚkwdsÚ	TypeErrorÚjoinÚsysÚversion_infor   Ú_cdefsourcesr   ÚhexÚbinasciiÚcrc32ÚlstripÚrstripÚ
_class_keyÚ_get_so_suffixesÚ_caller_dir_pycacheÚtmpdirÚosÚpathÚsourcefilenameÚmodulefilenameÚext_packageÚ_has_sourceÚ_has_module)r   r9   r:   rO   Ú
modulenamerT   ÚtagÚforce_generic_engineÚsource_extensionr?   Úrelative_torA   Úflattened_kwdsÚvengine_classÚkeyÚk1Úk2r   s   &&&&&&&&&&&,      r   Ú__init__ÚVerifier.__init__    sÿ  € ð �;‰;×(×(Ð(Ý#à/2¯{©{×/LÓ/LðOóPð Pð ŒØ ŒßÜ(×0Ò0°Ó6ˆNÜ,¨SÓGˆÙ% dÓ+ˆŒØ�‰×*Ñ*¨4Ô0ØŒ
Ø×)Ñ)¨$Ó<ˆŒ	çßÜÐ KÓLÐLñ ð —+‘+˜w¬×)9Ñ)9¸"Õ)=Õ=Ü;Ø'¨ð9ð "×.Ñ.õ/ó 0ˆCô ×Ñ 4Ô'Ø—j‘j Ó)�Ü”X—^’^ C¨¥IÓ.°Õ;Ó<ˆBØ—‘˜4“×'Ñ'¨Ó,ˆBÜ”X—^’^ C¨¥IÓ.°Õ;Ó<ˆBØ—‘˜3“×&Ñ& sÓ+‰BÛ.1°4·=±=×3KÓ3KÚ.0²"ð6ˆJä!Ó# AÕ&ˆØ×5Ð5Ô 3Ó 5ˆŒÜ Ÿg™gŸl™l¨4¯;©;¸
Õ8UÓVˆÔÜ Ÿg™gŸl™l¨4¯;©;¸
ÀVÕ8KÓLˆÔØ&ÔØ ˆÔØ ˆÖr   c                óà   € V P                   P                  ;_uu_ 4        V P                  '       d   Vf   \        R4      hV P	                  V4       RRR4       R#   + '       g   i     R# ; i)zcWrite the C source code.  It is produced in 'self.sourcefilename',
which can be tweaked beforehand.Nzsource code already written)r9   Ú_lockrU   r   Ú_write_source©r   Úfiles   &&r   Úwrite_sourceÚVerifier.write_sourceI   sK   € ð �X‰X�^�^‹^Ø××Ð D¢LÜ'Ø1ó3ð 3à×Ñ˜tÔ$÷	 �^�^Š^ús   Ÿ3AÁA-	c                ó  € V P                   P                  ;_uu_ 4        V P                  '       d   \        R4      hV P                  '       g   V P                  4        V P                  4        RRR4       R#   + '       g   i     R# ; i)z|Write the C source code (if not done already) and compile it.
This produces a dynamic link library in 'self.modulefilename'.zmodule already compiledN)r9   rd   rV   r   rU   re   Ú_compile_module©r   s   &r   Úcompile_moduleÚVerifier.compile_moduleR   sY   € ð �X‰X�^�^‹^Ø××ÐÜ'Ð(AÓBÐBØ×#×#Ð#Ø×"Ñ"Ô$Ø× Ñ Ô"÷ �^�^Š^ús   Ÿ/A9Á A9Á9B
	c                óh  € V P                   P                  ;_uu_ 4        V P                  '       gU   V P                  4        V P                  '       g3   V P                  '       g   V P                  4        V P                  4        V P                  4       uuRRR4       #   + '       g   i     R# ; i)zúGet a C module from this Verifier instance.
Returns an instance of a FFILibrary class that behaves like the
objects returned by ffi.dlopen(), but that delegates all
operations to the C module.  If necessary, the C code is written
and compiled first.
N)r9   rd   rV   Ú_locate_modulerU   re   rk   Ú_load_libraryrl   s   &r   Úload_libraryÚVerifier.load_library\   sq   € ð �X‰X�^�^‹^Ø×#×#Ð#Ø×#Ñ#Ô%Ø×'×'Ð'Ø×+×+Ð+Ø×*Ñ*Ô,Ø×(Ñ(Ô*Ø×%Ñ%Ó'÷ �^�^‹^ús   Ÿ4B ÁB Á&/B Â B1	c                óî   € \         P                  P                  V P                  4      pVP	                  R ^4      ^ ,          pVP                  R4      '       d   \        \        R4      '       d   VRR pV# )Ú.Ú_dÚgettotalrefcountNéþÿÿÿ)rP   rQ   ÚbasenamerS   ÚsplitÚendswithÚhasattrrD   )r   ry   s   & r   Úget_module_nameÚVerifier.get_module_namel   sc   € Ü—7‘7×#Ñ# D×$7Ñ$7Ó8ˆð —>‘> # qÓ)¨!Õ,ˆð ×Ñ˜T×"Ò"¤w¬sÐ4F×'GÒ'GØ  �}ˆHØˆr   c                ó€  € V P                   '       gJ   V P                  P                  ;_uu_ 4        V P                   '       g   V P                  4        R R R 4       \        P
                  ! V P                  4      pV P                  4       p\        P                  ! W3/ V P                  B #   + '       g   i     La; ir   )
rU   r9   rd   re   r   Úmaybe_relative_pathrR   r}   Úget_extensionrA   )r   Ú
sourcenameÚmodnames   &  r   r�   ÚVerifier.get_extensionw   s€   € Ø××ÐØ—‘——“Ø×'×'Ð'Ø×&Ñ&Ô(÷  ô !×4Ò4°T×5HÑ5HÓIˆ
Ø×&Ñ&Ó(ˆÜ×(Ò(¨ÑJÀÇ	Á	ÑJÐJ÷  —ús   ±#B-Â-B=	c                ó.   € V P                   P                  # r   )r=   Ú_gen_python_modulerl   s   &r   Úgenerates_python_moduleÚ Verifier.generates_python_module€   s   € Ø�}‰}×/Ñ/Ð/r   c                óÒ  € V'       dÚ   \         P                  P                  V4      '       dµ   \         P                  P                  V4      pVP                  4       p\        P
                   Fq  pWA9   g   K  W,          p\        V\        \        34      '       g   \        R V: R24      hV Uu. uF"  p\         P                  P                  W64      NK$  	  ppWQV&   Ks  	  V# u upi )z	keyword 'z' should be a list or tuple)rP   rQ   ÚdirnameÚcopyr   ÚLIST_OF_FILE_NAMESr   ÚlistÚtuplerB   rC   )r   rA   r[   rŠ   r^   ÚlstÚfns   &&&    r   r@   ÚVerifier.make_relative_toƒ   s«   € ßœ2Ÿ7™7Ÿ?™?¨;×7Ò7Ü—g‘g—o‘o kÓ2ˆGØ—9‘9“;ˆDÜ"×5Ô5�Ø–;Ø�)�CÜ% c¬D´%¨=×9Ò9Ý'Û+.ð)1ó 2ð 2á?BÓC¹s¸œ2Ÿ7™7Ÿ<™<¨Ö4¹s�CÐCØ #˜“Iñ 6ð ˆùò Ds   Â0(C$c                ó¾  € \         P                  P                  V P                  4      '       g{   V P                  '       d(    \        V P                  R R R.4      pTP                  pMR pV P                  P                  V P                  4       V\        4       4      pVf   R # W0n        V P                  P                  4        RV n        R #   \         d     R # i ; i)NÚ__doc__T)rP   rQ   ÚisfilerS   rT   Ú
__import__ÚImportErrorÚ__path__r=   Úfind_moduler}   rM   Úcollect_typesrV   )r   ÚpkgrQ   Úfilenames   &   r   rp   ÚVerifier._locate_module“   s·   € Ü�w‰w�~‰~˜d×1Ñ1×2Ò2Ø××ÐðÜ$ T×%5Ñ%5°t¸TÀIÀ;ÓO�Cð —|‘|‘à�Ø—}‘}×0Ñ0°×1EÑ1EÓ1GÈÜ1AÓ1CóEˆHàÒÙØ"*ÔØ�‰×#Ñ#Ô%ØˆÖøô #ô Úðús   ÁC ÃCÃCc                ó–   € WP                   n         V P                   P                  4        V P                   =R #   T P                   =i ; ir   )r=   Ú_fÚwrite_source_to_frf   s   &&r   Ú_write_source_toÚVerifier._write_source_to¦   s6   € Ø�‰Ôð	!Ø�M‰M×+Ñ+Ô-à—‘Ò ø�—‘Ñ ús	   ’: ºAc                óh  € Ve   V P                  V4       R # \        4       pV P                  V4       VP                  4       p\        P                  P                  V P                  4      '       d=   \        V P                  R4      ;_uu_ 4       pVP                  4       V8X  * pR R R 4       MRpX'       dN   \        V P                  4       \        V P                  R4      ;_uu_ 4       pVP                  V4       R R R 4       RV n        R #   + '       g   i     Ln; i  + '       g   i     L,; i)NÚrTÚw)r    r   ÚgetvaluerP   rQ   ÚexistsrR   ÚopenÚreadÚ_ensure_dirr   rU   )r   rg   ÚfÚsource_dataÚfpÚneeds_writtens   &&    r   re   ÚVerifier._write_source­   sÜ   € ØÒØ×!Ñ! $Ö'ô “
ˆAØ×!Ñ! !Ô$ØŸ*™*›,ˆKô �w‰w�~‰~˜d×1Ñ1×2Ò2Ü˜$×-Ñ-¨s×3Ô3°rØ)+¯©«°kÒ$B�M÷ 4Ð3ð !%�÷ Ü˜D×/Ñ/Ô0Ü˜$×-Ñ-¨s×3Ô3°rØ—H‘H˜[Ô)÷ 4ð  $ˆDÖ÷ 4×3ú÷ 4×3ús   ÂDÃ+D!ÄD	Ä!D1	c                ó�  € \         P                  P                  V P                  4      p\        P
                  ! WP                  4       4      p \        P                  ! W P                  4      pV'       g6   \        V P                  4       \        P                  ! W P                  4       RV n        R#   \         d    R p LUi ; i)FTN)rP   rQ   rŠ   rR   r   Úcompiler�   ÚsamefilerS   ÚOSErrorr©   ÚshutilÚmoverV   )r   rO   ÚoutputfilenameÚsames   &   r   rk   ÚVerifier._compile_moduleÆ   s‘   € ä—‘—‘ ×!4Ñ!4Ó5ˆÜ$×,Ò,¨V×5GÑ5GÓ5IÓJˆð	Ü×'Ò'¨×8KÑ8KÓLˆD÷ Ü˜×+Ñ+Ô,Ü�KŠK˜×(;Ñ(;Ô<ØˆÖøô ô 	ØŠDð	ús   Á B5 Â5CÃCc                óÄ   € V P                   '       g   Q hV P                  e&   V P                  P                  V P                  4      # V P                  P                  4       # r   )rV   r?   r=   rr   rl   s   &r   rq   ÚVerifier._load_libraryÓ   sJ   € Ø××ÐÐÐØ�:‰:Ò!Ø—=‘=×-Ñ-¨d¯j©jÓ9Ð9à—=‘=×-Ñ-Ó/Ð/r   )rV   rU   r=   rT   r9   r?   rA   rS   r:   rR   rO   )NNNÚ Fú.cNNr   )r#   r$   r%   r&   ra   rh   rm   rr   r}   r�   r‡   r@   rp   r    re   rk   rq   r'   r(   )r*   s   @r   r,   r,      sM   ø‡ € ô'!ôR%ò#ò(ò 	òKò0òò  ò&!ô$ò2 ÷0ð 0r   r,   Fc                 ó
  € \         '       d   R pV'       g0   R\        P                  9   d   R pM ^ RIpV P
                  VJd   R pV'       d   ^RIHp VP                  # ^RIH	p VP                  #   \         d    Rp LMi ; i)TÚ__pypy__NÚ?)Úvengine_gen)Úvengine_cpy)Ú_FORCE_GENERIC_ENGINErD   Úbuiltin_module_namesÚ_cffi_backendr–   Ú_backendrº   r¿   ÚVGenericEnginerÀ   ÚVCPythonEngine)r9   rY   rÃ   r¿   rÀ   s   &&   r   r<   r<   Þ   sx   € ßÓØ#ÐßØœ×1Ñ1Ô1Ø#'Ñ ð$Û$ð �|‰| =Ó0Ø'+Ð$ßÝ!Ø×)Ñ)Ð)å!Ø×)Ñ)Ð)øô ô $Ø #’ð$ús   °A2 Á2BÂBc                  ó€  € \         '       d   \         # \        P                  P                  R 4      p V '       d   V # \        P
                  ! ^4      P                  P                  p\        P                  P                  \        P                  P                  \        P                  P                  V4      R4      4      # )ÚCFFI_TMPDIRÚ__pycache__)Ú_TMPDIRrP   ÚenvironÚgetrD   Ú	_getframeÚf_codeÚco_filenamerQ   ÚabspathrC   rŠ   )Úresultr›   s     r   rN   rN   ö   sv   € ßƒwÜˆÜ�Z‰Z�^‰^˜MÓ*€FßØˆÜ�}Š}˜QÓ×&Ñ&×2Ñ2€HÜ�7‰7�?‰?œ2Ÿ7™7Ÿ<™<¬¯©¯©¸Ó(AØ(ó*ó +ð +r   c                ó
   € V s R# )z:Set the temporary directory to use instead of __pycache__.N)rÊ   )rŠ   s   &r   Ú
set_tmpdirrÓ      s	   € ð ‚Gr   c                óè  € T ;'       g    \        4       p  \        P                  ! V 4      pT'       d   RpM\	        4       ^ ,          P                  4       pT Fª  pTP                  4       P                  R4      '       g   K*  TP                  4       P                  T4      '       g(   TP                  4       P                  R4      '       g   Kv   \        P                  ! \        P                  P                  Y4      4       K¬  	  \        P                  P                  T R4      .pT FŽ  p \        P                  ! T4       Fp  p\        P                  P                  Yd4      p\        P                  P                  T4      '       d   TP                  T4       KZ  \        P                  ! T4       Kr  	  K�  	  R#   \         d     R# i ; i  \         d     EK†  i ; i  \         d     KÇ  i ; i)zyClean up the temporary directory by removing all files in it
called `_cffi_*.{c,so}` as well as the `build` subdirectory.Nr»   r4   Úbuild)rN   rP   Úlistdirr²   rM   ÚlowerÚ
startswithr{   ÚunlinkrQ   rC   ÚisdirÚappend)rO   Úkeep_soÚfilelistr   r�   Ú	clean_dirÚdirs   &&     r   Úcleanup_tmpdirrà     sf  € ð ×,Ð,Ô*Ó,€FðÜ—:’:˜fÓ%ˆ÷ Ø‰ä!Ó# AÕ&×,Ñ,Ó.ˆÛˆØ�8‰8‹:× Ñ  ×*Ô*Ø—‘“
×#Ñ# F×+Ò+¨r¯x©x«z×/BÑ/BÀ4×/HÔ/HðÜ—	’	œ"Ÿ'™'Ÿ,™, vÓ2Ö3ñ	 ô —‘—‘˜f gÓ.Ð/€IÛˆð	Ü—j’j –o�Ü—W‘W—\‘\ #Ó*�Ü—7‘7—=‘= ×$Ò$Ø×$Ñ$ RÖ(ä—I’I˜b–Mó &ó øô ô Úðûô ô Ûðûô ô 	Úð	ús6   –F= Ã3GÄ-B
G"Æ=GÇGÇGÇGÇ"G1Ç0G1c                  ód   € \        4       p V '       g   \        P                  R 8X  d   R.p V # R.p V # )Úwin32z.pydz.so)r   rD   Úplatform)Úsuffixess    r   rM   rM   $  s5   € Ü"Ó$€Hßä�<‰<˜7Ô"Ø�xˆHð €Oð �wˆHà€Or   c                 óÒ   € \         P                  P                  V 4      pV'       d@   \         P                  P                  V4      '       g   \         P                  ! V4       R # R # R # r   )rP   rQ   rŠ   rÚ   Úmakedirs)r›   rŠ   s   & r   r©   r©   /  s<   € Ü�g‰g�o‰o˜hÓ'€Gß”r—w‘w—}‘} W×-Ò-Ü
�Š�GÖñ .�wr   )r6   r6   r5   )NF)rD   rP   rH   r³   Úiorº   r   r   Úerrorr   rE   Úimportlib.machineryr   r   r   ÚStringIOr   ÚBytesIOÚobjectr,   rÁ   r<   rÊ   rN   rÓ   rà   rM   r©   r
   r   r   Ú<module>rí      sž   ð÷ %× $Ó $Ý *Ý Ý $à×Ñ�vÔÛó9ó ò,ð
 ×Ñ�tÔØ�{‰{�Hô+�2—:‘:ô +ôz0ˆvô z0ð| Ð ò*ð, €ò+òô
ò>	ôr   