+
    BV-jœ  ã                  ó€  € ^ RI Ht ^ 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 ^ RIHt ^ RIHtHtHtHt ^ RIHt ^ R	IHt ^ R
IHt R R lt]
R R l4       t]! ^RR7      ! ]P8                  4      tR R ltR R ltR R ltR R lt R R lt!R R lt"R R lt#R R  lt$R! R" lt%R# R$ lt&R% R& lt'R# )'é    )ÚannotationsN)Ú	Generator)Úcontextmanager)ÚPath)ÚNamedTemporaryFile)ÚAnyÚBinaryIOÚCallableÚcast)Úget_path_uid)Úformat_size)Úretryc               ó    € V ^8„  d   QhRRRR/# ©é   ÚpathÚstrÚreturnÚbool© )Úformats   "Úo/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pip/_internal/utils/filesystem.pyÚ__annotate__r      s   € ÷ ñ ˜3ð  4ñ ó    c                ó  € \         P                  R 8X  g   \        \        R4      '       g   R# \        P                  P                  V 4      '       g   Q hRpW8w  d˜   \        P                  P                  V 4      '       dQ   \        P                  ! 4       ^ 8X  d    \        V 4      pV^ 8H  # \        P                  ! V \        P                  4      # T \        P                  P                  V 4      rK�  R#   \         d     R# i ; i)Úwin32ÚgeteuidTNF)ÚsysÚplatformÚhasattrÚosr   ÚisabsÚlexistsr   r   ÚOSErrorÚaccessÚW_OKÚdirname)r   ÚpreviousÚpath_uids   &  r   Úcheck_path_ownerr*      s¿   € ô ‡|�|�wÔ¤g¬b°)×&<Ò&<Ùä�7‰7�=‰=˜×ÒÐÐà€HØ
Ô
Ü�7‰7�?‰?˜4× Ò ä�zŠz‹|˜qÔ ð!Ü+¨DÓ1�Hð   1‘}Ð$ä—y’y ¤r§w¡wÓ/Ð/à!¤2§7¡7§?¡?°4Ó#8’dÙøô ô !Ú ð!ús   ÂC6 Ã6DÄDc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Úkwargsr   r   zGenerator[BinaryIO, None, None]r   )r   s   "r   r   r   /   s"   € ÷ &ñ &˜Cð &¨3ð &Ð3Rñ &r   c              +  óø  "  € \        RRRR\        P                  P                  V 4      R\        P                  P	                  V 4      RR/VB ;_uu_ 4       p\        \        V4      p Vx € VP                  4        \        P                  ! VP                  4       4        RRR4       R#   TP                  4        \        P                  ! TP                  4       4       i ; i  + '       g   i     R# ; i5i)	a  Return a file-like object pointing to a tmp file next to path.

The file is created securely and is ensured to be written to disk
after the context reaches its end.

kwargs will be passed to tempfile.NamedTemporaryFile to control
the way the temporary file will be opened.
ÚdeleteFÚdirÚprefixÚsuffixz.tmpNr   )
r   r!   r   r'   Úbasenamer   r	   ÚflushÚfsyncÚfileno)r   r,   ÚfÚresults   &,  r   Úadjacent_tmp_filer8   .   sÌ   é € ô 
ñ 
Øð
ä�G‰G�O‰O˜DÓ!ð
ô �w‰w×Ñ Ó%ð
ð ð	
ð
 ÷
ò 
ð 
Ü”h Ó"ˆð	&ØŠLà�L‰LŒNÜ�HŠH�V—]‘]“_Õ%÷
ñ 
øð �L‰LŒNÜ�HŠH�V—]‘]“_Õ%ú÷
÷ 
ð 
üs6   ‚AC:ÁC&Á*B-Á.4C&Â#
C:Â-6C#Ã#C&Ã&C7	Ã1	C:g      Ð?)Ústop_after_delayÚwaitc               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r   L   s   € ÷ (ñ (˜Cð ( Dñ (r   c                ó*  € \         P                  P                  V 4      '       g+   \         P                  P                  V 4      pW8X  d   MTp KO  \         P                  R8X  d&   \         P
                  ! V \         P                  4      # \        V 4      # )z_Check if a directory is writable.

Uses os.access() on POSIX, tries creating files on Windows.
Úposix)r!   r   Úisdirr'   Únamer%   r&   Ú_test_writable_dir_win)r   Úparents   & r   Útest_writable_dirrB   L   sb   € ô �g‰g�m‰m˜D×!Ò!Ü—‘—‘ Ó&ˆØŒ>ØØŠä	‡w�w�'ÔÜ�yŠy˜œrŸw™wÓ'Ð'ä! $Ó'Ð'r   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r   ^   s   € ÷ Iñ I ð I¨ñ Ir   c                ó  a€ R pRo\        ^
4       FÊ  pVRP                  V3R l\        ^4       4       4      ,           p\        P                  P                  W4      p \        P                  ! V\        P
                  \        P                  ,          \        P                  ,          4      p\        P                  ! V4       \        P                  ! V4        R# 	  \        R4      h  \         d     Kç  \         d      R# i ; i)Ú(accesstest_deleteme_fishfingers_custard_Ú$abcdefghijklmnopqrstuvwxyz0123456789Ú c              3  óP   <"  € T F  p\         P                  ! S4      x € K  	  R # 5i©N)ÚrandomÚchoice)Ú.0Ú_Úalphabets   & €r   Ú	<genexpr>Ú)_test_writable_dir_win.<locals>.<genexpr>d   s   øé € Ð!LÁ8¸a¤&§-¢-°×"9Ð"9Ã8ùs   ƒ#&TFz3Unexpected condition testing for writable directory)ÚrangeÚjoinr!   r   ÚopenÚO_RDWRÚO_CREATÚO_EXCLÚcloseÚunlinkÚFileExistsErrorÚPermissionErrorr$   )r   r2   rM   r?   ÚfileÚfdrN   s   &     @r   r@   r@   ^   sÁ   ø€ ð :€HØ5€HÜ�2ŽYˆØ˜"Ÿ'™'Ô!LÄ5ÈÄ8Ó!LÓLÕLˆÜ�w‰w�|‰|˜DÓ'ˆð	Ü—’˜œrŸy™y¬2¯:©:Õ5¼¿	¹	ÕAÓBˆBô �HŠH�RŒLÜ�IŠI�dŒOÚñ# ô( ÐGÓ
HÐHøô ô 	ÚÜô 	ó ð	ús   ÁAC*Ã*DÃ8DÄDÄDc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Úpatternr   z	list[str]r   )r   s   "r   r   r   z   s!   € ÷ ñ �Sð  3ð ¨9ñ r   c                ó®   a€ . p\         P                  ! V 4       F7  w  or4\        P                  ! WA4      pVP	                  V3R lV 4       4       K9  	  V# )z‚Returns a list of absolute paths of files beneath path, recursively,
with filenames which match the UNIX-style shell glob pattern.c              3  ód   <"  € T F%  p\         P                  P                  SV4      x € K'  	  R # 5irI   )r!   r   rR   )rL   r6   Úroots   & €r   rO   Úfind_files.<locals>.<genexpr>€   s#   øé € Ð=±W°”b—g‘g—l‘l 4¨×+Ð+³Wùs   ƒ-0)r!   ÚwalkÚfnmatchÚfilterÚextend)r   r^   r7   rM   ÚfilesÚmatchesra   s   &&    @r   Ú
find_filesri   z   sG   ø€ ð €FÜŸ'š' $ž-‰ˆˆaÜ—.’. Ó0ˆØ�‰Ô=±WÓ=Ö=ñ (ð €Mr   c               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r   zint | floatr   )r   s   "r   r   r   „   s   € ÷ !ñ !�Cð !˜Kñ !r   c                óŽ   € \         P                  P                  V 4      '       d   ^ # \         P                  P                  V 4      # ©r   )r!   r   ÚislinkÚgetsize©r   s   &r   Ú	file_sizerq   „   s+   € ä	‡w�w‡~�~�d×ÒÙÜ�7‰7�?‰?˜4Ó Ð r   c               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r   r   )r   s   "r   r   r   ‹   s   € ÷ (ñ (˜3ð ( 3ñ (r   c                ó*   € \        \        V 4      4      # rI   )r   rq   rp   s   &r   Úformat_file_sizeru   ‹   s   € Ü”y “Ó'Ð'r   c               ó    € V ^8„  d   QhRRRR/# rk   r   )r   s   "r   r   r   �   s   € ÷ ñ ˜ð  ñ r   c                ó¾   € R p\         P                  ! V 4       F@  w  r#pV F4  p\         P                  P                  W%4      pV\	        V4      ,          pK6  	  KB  	  V# )g        )r!   rc   r   rR   rq   )r   Úsizera   Ú_dirsrg   ÚfilenameÚ	file_paths   &      r   Údirectory_sizer|   �   sP   € Ø€DÜ Ÿgšg džmÑˆ�UÛˆHÜŸ™Ÿ™ TÓ4ˆIØ”I˜iÓ(Õ(ŠDó ñ ,ð €Kr   c               ó    € V ^8„  d   QhRRRR/# rs   r   )r   s   "r   r   r   ˜   s   € ÷ -ñ - ð -¨ñ -r   c                ó*   € \        \        V 4      4      # rI   )r   r|   rp   s   &r   Úformat_directory_sizer   ˜   s   € Ü”~ dÓ+Ó,Ð,r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Ú	directoryr   Útarget_filer	   r   ÚNoner   )r   s   "r   r   r   œ   s&   € ÷ 	@ñ 	@¨#ð 	@¸Hð 	@Èñ 	@r   c                ó†  € \         P                  ! V 4      P                  R ,          R,          p\         P                  \         P                  9   d(   \         P                  ! VP                  4       V4       R# \         P                  \         P                  9   d&   \         P                  ! VP                  VRR7       R# R# )i¶  i€  F)Úfollow_symlinksN)r!   ÚstatÚst_modeÚchmodÚsupports_fdr5   Úsupports_follow_symlinksr?   )r�   r‚   Úmodes   && r   Úcopy_directory_permissionsrŒ   œ   s|   € ä
�Š�	Ó×"Ñ" UÕ*Ø
õ	ð 	ô
 
‡x�x”2—>‘>Ô!Ü
�Š�×#Ñ#Ó% tÖ,Ü	�‰”R×0Ñ0Ô	0Ü
�Š�×!Ñ! 4¸×?ñ 
1r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Ú	predicatez Callable[[str, list[str]], bool]r   úGenerator[Path]r   )r   s   "r   r   r   ¨   s$   € ÷ ñ Ø
ðØ:ðàñr   c              #  ó†  "  € . p\        4       p\        P                  ! \        V 4      P	                  4       4       F_  w  rEp\        V4      pV! WF4      '       d0   VP                  VP                  RR 4       VP                  V4       VP                  V4       Ka  	  \        VRR7       F  pWƒ9  g   K  Vx € K  	  R# 5i)zVYields every subdirectory of +path+ that has no files matching the
predicate under it.NT)Úreverseéÿÿÿÿ)
Úsetr!   rc   r   ÚresolveÚupdateÚparentsÚaddÚappendÚsorted)	r   rŽ   ÚdirectoriesÚexcludedÚroot_strrM   Ú	filenamesra   Úds	   &&       r   Ú_subdirs_without_genericrŸ   ¨   sž   é € ð €KÜ›%€Hä"$§'¢'¬$¨t«*×*<Ñ*<Ó*>Ö"?Ñˆ�YÜ�H‹~ˆÙ�X×)Ò)ð �O‰O˜DŸL™L¨¨"Ð-Ô.Ø�L‰L˜ÔØ×Ñ˜4Ö ñ #@ô �K¨×.ˆØÖØŒGó /ùs   ‚B0CÂ7
Cc               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r   r�   r   )r   s   "r   r   r   À   s   € ÷ Vñ V ð V¨ñ Vr   c                ó   € \        V R 4      # )z?Yields every subdirectory of +path+ that has no files under it.c                ó   € \        V4      ^ 8„  # rm   )Úlen©ra   r�   s   &&r   Ú<lambda>Ú'subdirs_without_files.<locals>.<lambda>Â   s   € Ä#ÀiÃ.ÐSTÒBTr   ©rŸ   rp   s   &r   Úsubdirs_without_filesr©   À   s   € ä# DÑ*TÓUÐUr   c               ó    € V ^8„  d   QhRRRR/# r¡   r   )r   s   "r   r   r   Å   s   € ÷ ñ  ð ¨ñ r   c                ó   € \        V R 4      # )zDYields every subdirectory of +path+ that has no .whl files under it.c                ój   € \         ;QJ d    R  V 4       F  '       g   K   R# 	  R# ! R  V 4       4      # )c              3  óB   "  € T F  qP                  R 4      x € K  	  R# 5i)z.whlN)Úendswith)rL   Úxs   & r   rO   Ú;subdirs_without_wheels.<locals>.<lambda>.<locals>.<genexpr>È   s   é € Ð)PÁiÀ¯*©*°V×*<Ð*<Ãiùs   ‚TF)Úanyr¥   s   &&r   r¦   Ú(subdirs_without_wheels.<locals>.<lambda>È   s'   € §c£cÑ)PÁiÓ)P§c¤cÐ&P¢cÐ&P cÑ)PÁiÓ)PÔ&Pr   r¨   rp   s   &r   Úsubdirs_without_wheelsr³   Å   s   € ä#ØÑPóð r   )(Ú
__future__r   rd   r!   Úos.pathrJ   r   Úcollections.abcr   Ú
contextlibr   Úpathlibr   Útempfiler   Útypingr   r	   r
   r   Úpip._internal.utils.compatr   Úpip._internal.utils.miscr   Úpip._internal.utils.retryr   r*   r8   ÚreplacerB   r@   ri   rq   ru   r|   r   rŒ   rŸ   r©   r³   r   r   r   Ú<module>r¿      sœ   ðÝ "ã Û 	Û Û Û 
Ý %Ý %Ý Ý 'ß 0Ó 0å 3Ý 0Ý +õð6 ô&ó ð&ñ0  ¨Õ
.¨r¯z©zÓ
:€õ
(õ$Iõ8õ!õ(õõ-õ	@õõ0V÷
r   