§
    u”jœ  ã                  óT  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZ d dlmZ d d	lmZ d d
lmZ d,d„Ze
d-d„¦   «         Z  edd¬¦  «        ej        ¦  «        Zd,d„Zd,d„Zd.d„Zd/d„Z d0d„Z!d/d„Z"d0d „Z#d1d%„Z$d2d)„Z%d3d*„Z&d3d+„Z'dS )4é    )ÚannotationsN)Ú	Generator)Úcontextmanager)ÚPath)ÚNamedTemporaryFile)ÚAnyÚBinaryIOÚCallableÚcast)Úget_path_uid)Úformat_size)ÚretryÚpathÚstrÚreturnÚboolc                óî  — t           j        dk    st          t          d¦  «        sdS t          j                             | ¦  «        sJ ‚d }| |k    r¤t          j                             | ¦  «        r^t          j        ¦   «         dk    r(	 t          | ¦  «        }n# t          $ r Y dS w xY w|dk    S t          j
        | t          j        ¦  «        S | t          j                             | ¦  «        } }| |k    °¤dS )NÚwin32ÚgeteuidTr   F)ÚsysÚplatformÚhasattrÚosr   ÚisabsÚlexistsr   r   ÚOSErrorÚaccessÚW_OKÚdirname)r   ÚpreviousÚpath_uids      úm/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/utils/filesystem.pyÚcheck_path_ownerr#      sõ   € õ „|�wÒÐ¥g­b°)Ñ&<Ô&<ÐØˆtåŒ7�=Š=˜ÑÔÐÐÐà€HØ
�(Ò
Ð
ÝŒ7�?Š?˜4Ñ Ô ð 	9åŒz‰|Œ|˜qÒ Ð ð!Ý+¨DÑ1Ô1�H�HøÝð !ð !ð !Ø ˜5˜5ð!øøøà 1’}Ð$å”y ¥r¤wÑ/Ô/Ð/à!¥2¤7§?¢?°4Ñ#8Ô#8�dˆHð �(Ò
Ð
ð ˆ5s   ÂB Â
B&Â%B&Úkwargsr   úGenerator[BinaryIO, None, None]c              +  óü  K  — t          ddt          j                             | ¦  «        t          j                             | ¦  «        ddœ|¤Ž5 }t          t          |¦  «        }	 |V — |                     ¦   «          t          j        | 	                    ¦   «         ¦  «         n?# |                     ¦   «          t          j        | 	                    ¦   «         ¦  «         w xY w	 ddd¦  «         dS # 1 swxY w Y   dS )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.
    Fz.tmp)ÚdeleteÚdirÚprefixÚsuffixN© )
r   r   r   r   Úbasenamer   r	   ÚflushÚfsyncÚfileno)r   r$   ÚfÚresults       r"   Úadjacent_tmp_filer2   .   s0  è è € õ 
ð 
ØÝŒG�OŠO˜DÑ!Ô!ÝŒw×Ò Ñ%Ô%Øð	
ð 
ð
 ð
ð 
ð &ð 
Ý•h Ñ"Ô"ˆð	&ØˆLˆLˆLà�LŠL‰NŒNˆNÝŒH�V—]’]‘_”_Ñ%Ô%Ð%Ð%øð �LŠL‰NŒNˆNÝŒH�V—]’]‘_”_Ñ%Ô%Ð%Ð%øøøÐ%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s*   ÁC1Á%B$Á);C1Â$<C Ã C1Ã1C5Ã8C5é   g      Ð?)Ústop_after_delayÚwaitc                óJ  — t           j                             | ¦  «        sGt           j                             | ¦  «        }|| k    rn!|} t           j                             | ¦  «        ¯Gt           j        dk    rt          j        | t           j        ¦  «        S t          | ¦  «        S )zgCheck 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_dirr<   L   s‡   € õ Œg�mŠm˜DÑ!Ô!ð Ý”—’ Ñ&Ô&ˆØ�TŠ>ˆ>ØØˆõ	 Œg�mŠm˜DÑ!Ô!ð õ 
„w�'ÒÐÝŒy˜�rœwÑ'Ô'Ð'å! $Ñ'Ô'Ð'ó    c                óò  ‡— d}dŠt          d¦  «        D ]Ô}|d                     ˆfd„t          d¦  «        D ¦   «         ¦  «        z   }t          j                             | |¦  «        }	 t          j        |t          j        t          j        z  t          j        z  ¦  «        }t          j        |¦  «         t          j	        |¦  «          dS # t          $ r Y ŒÄt          $ r Y  dS w xY wt          d	¦  «        ‚)
NÚ(accesstest_deleteme_fishfingers_custard_Ú$abcdefghijklmnopqrstuvwxyz0123456789é
   Ú c              3  ó@   •K  — | ]}t          j        ‰¦  «        V — Œd S ©N)ÚrandomÚchoice)Ú.0Ú_Úalphabets     €r"   ú	<genexpr>z)_test_writable_dir_win.<locals>.<genexpr>d   s-   øè è € Ð!LÐ!L¸a¥&¤-°Ñ"9Ô"9Ð!LÐ!LÐ!LÐ!LÐ!LÐ!Lr=   é   TFz3Unexpected condition testing for writable directory)ÚrangeÚjoinr   r   ÚopenÚO_RDWRÚO_CREATÚO_EXCLÚcloseÚunlinkÚFileExistsErrorÚPermissionErrorr   )r   r,   rH   r9   ÚfileÚfdrI   s         @r"   r:   r:   ^   s  ø€ ð :€HØ5€HÝ�2‰YŒYð ð ˆØ˜"Ÿ'š'Ð!LÐ!LÐ!LÐ!LÅ5ÈÁ8Ä8Ð!LÑ!LÔ!LÑLÔLÑLˆÝŒw�|Š|˜D $Ñ'Ô'ˆð	Ý”˜�rœy­2¬:Ñ5½¼	ÑAÑBÔBˆBõ ŒH�R‰LŒLˆLÝŒI�d‰OŒOˆOØ�4�4øõ ð 	ð 	ð 	ØˆDÝð 	ð 	ð 	ð �5�5�5ð	øøøõ ÐGÑ
HÔ
HÐHs   Á)9CÃ
C'Ã	C'Ã&C'Úpatternú	list[str]c                ó®   ‡— g }t          j        | ¦  «        D ]<\  Š}}t          j        ||¦  «        }|                     ˆfd„|D ¦   «         ¦  «         Œ=|S )z†Returns a list of absolute paths of files beneath path, recursively,
    with filenames which match the UNIX-style shell glob pattern.c              3  óX   •K  — | ]$}t           j                             ‰|¦  «        V — Œ%d S rD   )r   r   rM   )rG   r0   Úroots     €r"   rJ   zfind_files.<locals>.<genexpr>€   s3   øè è € Ð=Ð=°•b”g—l’l 4¨Ñ+Ô+Ð=Ð=Ð=Ð=Ð=Ð=r=   )r   ÚwalkÚfnmatchÚfilterÚextend)r   rX   r1   rH   ÚfilesÚmatchesr\   s         @r"   Ú
find_filesrc   z   sg   ø€ ð €FÝœ' $™-œ-ð >ð >‰ˆˆa�Ý”. ¨Ñ0Ô0ˆØ�ŠÐ=Ð=Ð=Ð=°WÐ=Ñ=Ô=Ñ=Ô=Ð=Ð=Ø€Mr=   úint | floatc                ó‚   — t           j                             | ¦  «        rdS t           j                             | ¦  «        S ©Nr   )r   r   ÚislinkÚgetsize©r   s    r"   Ú	file_sizerj   „   s1   € å	„w‡~‚~�dÑÔð ØˆqÝŒ7�?Š?˜4Ñ Ô Ð r=   c                ó:   — t          t          | ¦  «        ¦  «        S rD   )r   rj   ri   s    r"   Úformat_file_sizerl   ‹   s   € Ý•y ‘”Ñ'Ô'Ð'r=   c                ó®   — d}t          j        | ¦  «        D ]=\  }}}|D ]4}t           j                             ||¦  «        }|t	          |¦  «        z  }Œ5Œ>|S )Ng        )r   r]   r   rM   rj   )r   Úsizer\   Ú_dirsra   ÚfilenameÚ	file_paths          r"   Údirectory_sizerr   �   si   € Ø€DÝ œg d™mœmð )ð )Ñˆˆe�UØð 	)ð 	)ˆHÝœŸš T¨8Ñ4Ô4ˆIØ•I˜iÑ(Ô(Ñ(ˆDˆDð	)ð €Kr=   c                ó:   — t          t          | ¦  «        ¦  «        S rD   )r   rr   ri   s    r"   Úformat_directory_sizert   ˜   s   € Ý•~ dÑ+Ô+Ñ,Ô,Ð,r=   Ú	directoryÚtarget_filer	   ÚNonec                ó2  — t          j        | ¦  «        j        dz  dz  }t           j        t           j        v r)t          j        |                     ¦   «         |¦  «         d S t           j        t           j        v rt          j        |j        |d¬¦  «         d S d S )Ni¶  i€  F)Úfollow_symlinks)r   ÚstatÚst_modeÚchmodÚsupports_fdr/   Úsupports_follow_symlinksr9   )ru   rv   Úmodes      r"   Úcopy_directory_permissionsr€   œ   s‘   € å
Œ�	ÑÔÔ" UÑ*Ø
ñ	ð 	õ
 
„x•2”>Ð!Ð!Ý
Œ�×#Ò#Ñ%Ô% tÑ,Ô,Ð,Ð,Ð,Ý	Œ•RÔ0Ð	0Ð	0Ý
Œ�Ô! 4¸Ð?Ñ?Ô?Ð?Ð?Ð?ð 
1Ð	0r=   Ú	predicateú Callable[[str, list[str]], bool]úGenerator[Path]c              #  ó¤  K  — g }t          ¦   «         }t          j        t          | ¦  «                             ¦   «         ¦  «        D ]m\  }}}t          |¦  «        } |||¦  «        r7|                     |j        dd…         ¦  «         |                     |¦  «         |                     |¦  «         Œnt          |d¬¦  «        D ]
}||vr|V — ŒdS )zZYields every subdirectory of +path+ that has no files matching the
    predicate under it.NéÿÿÿÿT)Úreverse)
Úsetr   r]   r   ÚresolveÚupdateÚparentsÚaddÚappendÚsorted)	r   r�   ÚdirectoriesÚexcludedÚroot_strrH   Ú	filenamesr\   Úds	            r"   Ú_subdirs_without_genericr“   ¨   sê   è è € ð €KÝ™%œ%€Hå"$¤'­$¨t©*¬*×*<Ò*<Ñ*>Ô*>Ñ"?Ô"?ð !ð !Ñˆ�!�YÝ�H‰~Œ~ˆØˆ9�X˜yÑ)Ô)ð 	ð �OŠO˜DœL¨¨"¨Ô-Ñ.Ô.Ð.Ø�LŠL˜ÑÔÐØ×Ò˜4Ñ Ô Ð Ð å�K¨Ð.Ñ.Ô.ð ð ˆØ�HÐÐØˆGˆGˆGøðð r=   c                ó$   — t          | d„ ¦  «        S )z?Yields every subdirectory of +path+ that has no files under it.c                ó(   — t          |¦  «        dk    S rf   )Úlen©r\   r‘   s     r"   ú<lambda>z'subdirs_without_files.<locals>.<lambda>Â   s   € Å#ÀiÁ.Ä.ÐSTÒBT€ r=   ©r“   ri   s    r"   Úsubdirs_without_filesrš   À   s   € å# DÐ*TÐ*TÑUÔUÐUr=   c                ó$   — t          | d„ ¦  «        S )zDYields every subdirectory of +path+ that has no .whl files under it.c                ó4   — t          d„ |D ¦   «         ¦  «        S )Nc              3  ó@   K  — | ]}|                      d ¦  «        V — ŒdS )z.whlN)Úendswith)rG   Úxs     r"   rJ   z;subdirs_without_wheels.<locals>.<lambda>.<locals>.<genexpr>È   s.   è è € Ð)PÐ)PÀ¨!¯*ª*°VÑ*<Ô*<Ð)PÐ)PÐ)PÐ)PÐ)PÐ)Pr=   )Úanyr—   s     r"   r˜   z(subdirs_without_wheels.<locals>.<lambda>È   s   € ¥cÐ)PÐ)PÀiÐ)PÑ)PÔ)PÑ&PÔ&P€ r=   r™   ri   s    r"   Úsubdirs_without_wheelsr¡   Å   s   € å#ØÐPÐPñô ð r=   )r   r   r   r   )r   r   r$   r   r   r%   )r   r   rX   r   r   rY   )r   r   r   rd   )r   r   r   r   )ru   r   rv   r	   r   rw   )r   r   r�   r‚   r   rƒ   )r   r   r   rƒ   )(Ú
__future__r   r^   r   Úos.pathrE   r   Úcollections.abcr   Ú
contextlibr   Úpathlibr   Útempfiler   Útypingr   r	   r
   r   Úpip._internal.utils.compatr   Úpip._internal.utils.miscr   Úpip._internal.utils.retryr   r#   r2   Úreplacer<   r:   rc   rj   rl   rr   rt   r€   r“   rš   r¡   r+   r=   r"   ú<module>r­      s.  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø +Ð +Ð +Ð +Ð +Ð +ðð ð ð ð6 ð&ð &ð &ñ „ð&ð0 /ˆ%ˆ% ¨Ð
.Ñ
.Ô
.¨r¬zÑ
:Ô
:€ð
(ð (ð (ð (ð$Ið Ið Ið Ið8ð ð ð ð!ð !ð !ð !ð(ð (ð (ð (ðð ð ð ð-ð -ð -ð -ð	@ð 	@ð 	@ð 	@ðð ð ð ð0Vð Vð Vð Vð
ð ð ð ð ð r=   