
    'jq                       S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	r
SSKrSSKrSSKrSSKrSSKrSSKJr  SSKJrJrJrJrJr  SSKJr  SSKJrJrJr  SSKJr  SS	K J!r!J"r"J#r#J$r$J%r%J&r&  SS
K'J(r(J)r)  SSK*J+r+  SSK,J-r-  SSK.J/r/  SSK0J1r1  SSK2J3r3  SSK4J5r5J6r6J7r7  SSK8J9r9J:r:  SSK;J<r<J=r=  SSK>J?r?J@r@  SSKAJBrBJCrCJDrDJErE  SSKFJGrGJHrHJIrIJJrJ  SSKKJLrL   " S S\%5      rM\R                  " \O5      rP\$" S\Q5      rR\S\R\Q\T\Q-  4   rUS1S2S jjrVS3S jrWS4S jrXS5S jrYS6S jrZS7S jr[    S8S  jr\S9S! jr]S:S" jr^            S;S# jr_S<S$ jr` " S% S&5      ra " S' S(5      rb " S) S*\15      rcS=S+ jrd " S, S-\+5      re     S>                   S?S. jjrf\R                  S@S/ j5       rh     S>                   SAS0 jjrig)BzFSupport for installing and building the "wheel" binary package format.    )annotationsN)urlsafe_b64encode)Callable	GeneratorIterableIteratorSequence)Message)chainfilterfalsestarmap)Path)IOAnyBinaryIONewTypeProtocolcast)ZipFileZipInfo)ScriptMaker)get_export_entry)canonicalize_name)InstallationError)get_major_minor_version)BaseDistributionFilesystemWheelget_wheel_distribution)DIRECT_URL_METADATA_NAME	DirectUrl)SCHEME_KEYSScheme)adjacent_tmp_filereplace)StreamWrapper
ensure_dir	hash_file	partition)current_umaskis_within_directory2set_extracted_file_to_default_mode_plus_executablezip_item_is_executable)parse_wheelc                  >    \ rS rSr% S\S'   S\S'   S\S'   SS jrS	rg
)File8   
RecordPathsrc_record_pathstr	dest_pathboolchangedc                    g N selfs    ^/var/www/html/KUNJ/venv/lib/python3.13/site-packages/pip/_internal/operations/install/wheel.pysave	File.save=   s        r9   NreturnNone)__name__
__module____qualname____firstlineno____annotations__r=   __static_attributes__r9   r?   r<   r/   r/   8   s    NMr?   r/   r1   c                    [        X5      u  p#S[        UR                  5       5      R                  S5      R	                  S5      -   nU[        U5      4$ )z?Return (encoded_digest, length) for path using hashlib.sha256()zsha256=latin1=)r'   r   digestdecoderstripr3   )path	blocksizehlengthrL   s        r<   rehashrS   G   sI    $*IA*188:6==hGNNsSSFCK  r?   c                    U SSS.$ )zHReturn keyword arguments to properly open a CSV file
in the given mode.
 utf-8)modenewlineencodingr9   )rW   s    r<   csv_io_kwargsrZ   N   s     RW==r?   c                Z   [         R                  R                  U 5      (       d   e[        U S5       nUR	                  5       nUR                  S5      (       d
   SSS5        g[        R                  R                  [        R                  " 5       5      nSU-   [         R                  R                  S5      -   nUR                  5       nSSS5        [        U S5       nUR                  W5        UR                  W5        SSS5        g! , (       d  f       NF= f! , (       d  f       g= f)	zIReplace #!python with #!/path/to/python
Return True if file was changed.
rbs   #!pythonNFs   #!asciiwbT)osrO   isfileopenreadline
startswithsys
executableencodegetfilesystemencodinglinesepreadwrite)rO   script	firstlineexenamerests        r<   
fix_scriptro   U   s    
 77>>$	dD	VOO%	##K00 
	 ..''(A(A(CDGObjj&7&7&@@	{{} 
 
dD	VYT 
  
	 
	 s   (D$A'D#D
D
D*c                H    U R                  SS5      R                  5       S:H  $ )NzRoot-Is-PurelibrU   true)getlower)metadatas    r<   wheel_root_is_purelibru   i   s"    <<)2.446&@@r?   c                    0 n0 nU R                  5        HW  nUR                  S:X  a  UR                  XR                  '   M-  UR                  S:X  d  M?  UR                  X#R                  '   MY     X4$ )Nconsole_scriptsgui_scripts)iter_entry_pointsgroupvaluename)distrw   rx   entry_points       r<   get_entrypointsr   m   so    OK--/ 110;0A0AO,,--/,7,=,=K(()	 0
 ''r?   c                >   U (       d  g[         R                  " [        5      nU  HG  n[        U5      nUR                  R                  5       nUR                  nX   R                  U5        MI     [        R                  R                  SS5      R                  [        R                  5       Vs/ s H  n[        U5      R                  5       PM     nnUR                  [        [        R                  5      R                  R                  5       5        UR!                  5        VV s0 s H  u  p@XG;  d  M  X@_M     nnn U(       d  g/ n	UR!                  5        Hm  u  pJ[#        U
5      n[%        U5      S:X  a
  SUS    S3nO,SR'                  S	R)                  USS
 5      S-   US
   -   5      nU	R                  SU SU S35        Mo     Sn[%        U	5      S:X  a!  U	R                  UR'                  S5      5        O U	R                  UR'                  S5      5        [+        S [        R                  R                  SS5      R                  [        R                  5       5       5      nU(       a  SnU	R                  U5        SR)                  U	5      $ s  snf s  sn nf )zDetermine if any scripts are not on PATH and format a warning.
Returns a warning message if one or more scripts are not on PATH,
otherwise None.
NPATHrU      zscript r   z iszscripts {} are, z and zThe z installed in 'z' which is not on PATH.zeConsider adding {} to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.zthis directoryzthese directoriesc              3  B   #    U  H  o(       d  M  US    S:H  v   M     g7f)r   ~Nr9   ).0is     r<   	<genexpr>4message_about_scripts_not_on_PATH.<locals>.<genexpr>   s       IQ!Is   
ziNOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications.
)collectionsdefaultdictsetr   parentresolver|   addr_   environrr   splitpathsepappendrd   re   itemssortedlenformatjoinany)scriptsgrouped_by_dirdestfiler4   
parent_dirscript_namer   not_warn_dirswarn_for	msg_linesdir_scriptssorted_scripts
start_textlast_line_fmtwarn_for_tildetilde_warning_msgs                   r<   !message_about_scripts_not_on_PATHr   x   si   
  ,7+B+B3+GNN	%%--/
nn"&&{3	  $&::>>&"#=#C#CBJJ#O#OaQ#O  
 cnn-44<<>? $2#7#7#9&#9J* 	
#9  &
  I#+>>#3
$*;$7~!#">!#4"5S9J)00		."-.8>";MMJ 	:,oj\9PQ	
 $4	C  9~--.>?@--.ABC  ZZ^^FB7==bjjI N = 	 	*+ 99Ye&s   /#J'J6Jc                &    [        S U  5       5      $ )a  Normalize the given rows of a RECORD file.

Items in each row are converted into str. Rows are then sorted to make
the value more predictable for tests.

Each row is a 3-tuple (path, hash, size) and corresponds to a record of
a RECORD file (see PEP 376 and PEP 427 for details).  For the rows
passed to this function, the size can be an integer as an int or string,
or the empty string.
c              3  B   #    U  H  u  po1U[        U5      4v   M     g 7fr8   )r3   )r   record_pathhash_sizes       r<   r   &_normalized_outrows.<locals>.<genexpr>   s!      HO,DKeSY's   )r   )outrowss    r<   _normalized_outrowsr      s    *  HO  r?   c                @    [         R                  R                  X5      $ r8   )r_   rO   r   )r   lib_dirs     r<   _record_to_fs_pathr      s    77<<--r?   c                p   [         R                  R                  U 5      S   R                  5       [         R                  R                  U5      S   R                  5       :X  a  [         R                  R	                  X5      n U R                  [         R                  R                  S5      n [        SU 5      $ )Nr   /r1   )r_   rO   
splitdrivers   relpathr$   sepr   )rO   r   s     r<   _fs_to_record_pathr      s}     
ww$"((*bgg.@.@.I!.L.R.R.TTwwt-<<S)Dd##r?   c                   / nU  H  n[        U5      S:  a  [        R                  SU5        [        SUS   5      nUR	                  Xw5      nX;   a  [        [        X5      5      u  pO,[        U5      S:  a  US   OSn	[        U5      S:  a  US   OSn
UR                  XU
45        M     U H.  n[        X5      n[        U5      u  pUR                  XU
45        M0     UUR                  5        Vs/ s H  oSS4PM	     sn-   $ s  snf )zS
:param installed: A map from archive RECORD path to installation RECORD
    path.
   z,RECORD line has more than three elements: %sr1   r   r   rU      )
r   loggerwarningr   poprS   r   r   r   values)old_csv_rows	installedr6   	generatedr   installed_rowsrowold_record_pathnew_record_pathrL   rR   frO   installed_record_paths                 r<   get_csv_rows_for_installedr      s    -/Ns8a<NNI3O|SV4#--I%#$6$PQNFF"3x!|SVF"3x!|SVF?@  !!-tV45  ENEUEUEWEW,AB'EW   s   3Dc                   U R                  5       n / nU R                  SS5      nU(       a  S[        R                  ;  a  UR	                  SU-   5        [        R                  R                  SS5      S:w  a(  UR	                  S[        R                  S    SU 35        UR	                  S[        5        SU 35        U  Vs/ s H#  n[        R                  " S	U5      (       d  M!  UPM%     nnU H  nX	 M     U R                  S
S5      nU(       a  S[        R                  ;  a  UR	                  SU-   5        UR	                  S[        5        SU 35        U  Vs/ s H#  n[        R                  " SU5      (       d  M!  UPM%     nnU H  nX	 M     UR                  [        SR                  U R                  5       5      5        U$ s  snf s  snf )z_
Given the mapping from entrypoint name to callable, return the relevant
console script specs.
pipNENSUREPIP_OPTIONSzpip = rU   
altinstallr   z = zpip(\d+(\.\d+)?)?$easy_installzeasy_install = zeasy_install-zeasy_install(-\d+\.\d+)?${} = {})copyr   r_   r   r   rr   rd   version_infor   rematchextendr   r   r   )consolescripts_to_generate
pip_scriptkpip_epeasy_install_scripteasy_install_eps          r<   get_console_script_specsr     s    llnGB UD)Jbjj0&&x*'<=::>>-r2lB&&S-=-=a-@,AZL'QR""S)@)B(C3zl#ST$KW1F(J!WKA
 !++nd;bjj0&&'8;N'NO""356c:M9NO	

 
!"((+G"KAw 	 
 !A
 ! wy'7'7IJ+ L
s    G
'G
 GGc                  B    \ rS rSr        SS jrSS jrS	S jrSrg)
ZipBackedFileiQ  c                6    Xl         X l        X0l        SU l        g NF)r2   r4   	_zip_filer6   )r;   r2   r4   zip_files       r<   __init__ZipBackedFile.__init__R  s      /"!r?   c                L    U R                   R                  U R                  5      $ r8   )r   getinfor2   r:   s    r<   _getinfoZipBackedFile._getinfoZ  s    ~~%%d&:&:;;r?   c                P   [         R                  R                  U R                  5      (       a   [         R                  " U R                  5        U R                  5       n[        U R                  S5       nUR                  S:  aQ  U R                  R                  U5       n[        UR                  S5      n[        R                  " X2U5        S S S 5        S S S 5        [        U5      (       a  [        U R                  5        g g ! , (       d  f       N== f! , (       d  f       NF= f)Nr^   r      )r_   rO   existsr4   unlinkr   ra   	file_sizer   minshutilcopyfileobjr,   r+   )r;   zipinfodestr   rP   s        r<   r=   ZipBackedFile.save]  s     77>>$..))IIdnn%--/ $..$'4  1$^^((1Q #G$5$5{ CI&&q	: 2 ( "'**>t~~N +	 21 ('s$   5,D!.DD
D	D
D%)r   r6   r4   r2   N)r2   r1   r4   r3   r   r   rA   rB   )rA   r   r@   )rC   rD   rE   rF   r   r   r=   rH   r9   r?   r<   r   r   Q  s2    )69EL	<Or?   r   c                  (    \ rS rSrSS jrSS jrSrg)
ScriptFileiw  c                    Xl         U R                   R                  U l        U R                   R                  U l        SU l        g r   )_filer2   r4   r6   )r;   files     r<   r   ScriptFile.__init__x  s1    
#zz99--r?   c                l    U R                   R                  5         [        U R                  5      U l        g r8   )r   r=   ro   r4   r6   r:   s    r<   r=   ScriptFile.save~  s     

!$..1r?   )r   r6   r4   r2   N)r   r/   rA   rB   r@   )rC   rD   rE   rF   r   r=   rH   r9   r?   r<   r   r   w  s    2r?   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )MissingCallableSuffixi  c                ,   > [         TU ]  SU S35        g )NzInvalid script entry point: z - A callable suffix is required. See https://packaging.python.org/specifications/entry-points/#use-for-scripts for more information.)superr   )r;   r~   	__class__s     r<   r   MissingCallableSuffix.__init__  s!    *;- 8 	
r?   r9   )r~   r3   rA   rB   )rC   rD   rE   rF   r   rH   __classcell__r  s   @r<   r   r     s    
 
r?   r   c                   [        U 5      nUc  g UR                  c  [        [        U5      5      e[        R
                  R                  XR                  5      n[        R
                  R                  U5      [        R
                  R                  U5      :H  nU(       d  [        X5      (       d  [        SUR                  < SU S35      eg )Nz Invalid script entry point name z?: the script would be installed outside the scripts directory (z).)r   suffixr   r3   r_   rO   r   r|   abspathr*   r   )specificationscripts_direntryr   resolves_to_scripts_dirs        r<   _raise_for_invalid_entrypointr    s    ]+E}||#CJ//
 77<<ZZ0D ggood3rww{7SS&9+&L&L.uzzn =AALRQ
 	
 'Mr?   c                  `   ^  \ rS rSr\R
                  " S5      r S     SU 4S jjjrSrU =r	$ )PipScriptMakeri  z        import sys
        from %(module)s import %(import_name)s
        if __name__ == '__main__':
            sys.argv[0] = sys.argv[0].removesuffix('.exe')
            sys.exit(%(func)s())
c                L   > [        XR                  5        [        TU ]  X5      $ r8   )r  
target_dirr  make)r;   r
  optionsr  s      r<   r  PipScriptMaker.make  s      	&m__Ew|M33r?   r9   r8   )r
  r3   r  zdict[str, Any] | NonerA   	list[str])
rC   rD   rE   rF   textwrapdedentscript_templater  rH   r  r  s   @r<   r  r    sA     oo ' O DH4 4+@4	4 4r?   r  c	           
       ^^;^<^=^>^?^@^A [        X5      u  p[        U
5      (       a  UR                  mAOUR                  mA0 m@[	        5       m</ n S       S U<U@UA4S jjjnS!S jnS"U4S jjm;      S#U;4S jjn      S$U;U4S jjnS!S jn[        [        [           UR                  5       5      n[        UU5      n[        UU5      u  nnU" UTA5      n[        UU5      nS!S jn[        UU5      u  nnU" X5      n[        UU5      n[        UU5      n[        [        T5      [        U 5      5      n[!        U5      u  m=m?S%U=U?4S	 jjn[        UU5      n[        UU5      n[        ["        U5      n[        UU5      n[	        5       nU H  n [$        R&                  R)                  U R*                  5      n!U!U;  a  [-        U!5        UR/                  U!5        U R1                  5         U" U R2                  U R*                  U R4                  5        M     S&U@UA4S
 jjn"S'S jn#U(       Ga0  [6        R8                  " [:        R<                  " [>        R@                  5      5       n$[B        RD                  " 5          [B        RF                  " S5        U"" 5        H  n%[H        RJ                  " U%SSS9n&U&(       d  M"  U#" U%5      n'[$        R&                  RM                  U'5      (       d   e[        SU'RO                  [$        R&                  RP                  S5      5      n(U" U(U'5        M     SSS5        SSS5        [R        RU                  W$RW                  5       5        [Y        SURZ                  5      n)Ub  UU)l.        SU)l/        S1U)l0        SU)l1        [e        T=5      n*[        [g        SRh                  T?Rk                  5       5      5      n+U)Rm                  U*5      n,URo                  U,5        URo                  U)Rm                  U+SS05      5        U(       a#  [q        U,5      n-U-b  [R        Rs                  U-5        S[u        5       ) -  m>[6        Rv                  S(U>4S jj5       n.[$        R&                  Ry                  TAU	5      n/[$        R&                  Ry                  U/S5      n0U." U05       n1U1R{                  S5        SSS5        UR}                  U05        Ubt  [$        R&                  Ry                  U/[~        5      n2U." U25       n3U3R{                  UR                  5       R                  S5      5        SSS5        UR}                  U25        U(       aG  [$        R&                  Ry                  U/S5      n4[        U4S5          SSS5        UR}                  U45        UR                  S5      n5[        [        R                  " U5R                  5       5      5      n6[        U6T@T<UTAS9n7[$        R&                  Ry                  U/S5      n8U." U840 [        S5      D6 n9[        R                  " [        SU95      5      n:U:R                  [        U75      5        SSS5        g! , (       d  f       GN9= f! , (       d  f       GNC= f! , (       d  f       GN= f! , (       d  f       GNe= f! , (       d  f       GN)= f! , (       d  f       g= f))a  Install a wheel.

:param name: Name of the project to install
:param wheel_zip: open ZipFile for wheel being installed
:param scheme: Distutils scheme dictating the install directories
:param req_description: String used in place of the requirement, for
    logging
:param pycompile: Whether to byte-compile installed Python files
:param warn_script_location: Whether to check that scripts are installed
    into a directory on PATH
:param script_executable: Python executable to use for console scripts
:raises UnsupportedWheel:
    * when the directory holds an unpacked wheel with incompatible
      Wheel-Version
    * when the .dist-info dir does not match the wheel
r1   c                Z   > [        UT5      nUTU '   U(       a  TR                  U5        gg)z6Map archive RECORD paths to installation RECORD paths.N)r   r   )srcfiler   modifiednewpathr6   r   r   s       r<   record_installed(_install_wheel.<locals>.record_installed  s/     %Xw7$	'KK  r?   c                $    U R                  S5      $ )Nr   )endswithrO   s    r<   is_dir_path#_install_wheel.<locals>.is_dir_path  s    }}S!!r?   c                `   > [        X5      (       d  Sn[        UR                  TX5      5      eg )NzRThe wheel {!r} has a file {!r} trying to install outside the target directory {!r})r*   r   r   )dest_dir_pathtarget_pathmessage
wheel_paths      r<   assert_no_path_traversal0_install_wheel.<locals>.assert_no_path_traversal  s:    "=>>5  $z;F  ?r?   c                    >^ ^ SUUU 4S jjnU$ )Nc                   > [         R                  R                  U 5      n[         R                  R                  TU5      nT" TU5        [	        XT5      $ r8   )r_   rO   normpathr   r   )r   normed_pathr4   r+  r   r   s      r<   make_root_scheme_fileM_install_wheel.<locals>.root_scheme_file_maker.<locals>.make_root_scheme_file  sB    ''**;7KT;7I$T95 BBr?   r   r1   rA   r/   r9   )r   r   r1  r+  s   `` r<   root_scheme_file_maker._install_wheel.<locals>.root_scheme_file_maker  s    	C 	C %$r?   c                l   >^ ^ [          Vs0 s H  o"[        X5      _M     snmSUUUU 4S jjnU$ s  snf )Nc           
       > [         R                  R                  U 5      n UR                  [         R                  R                  S5      u  p#n T
U   n[         R                  R                  Xd5      nT	" Xh5        [        XT5      $ ! [
         a    ST SU < S3n[        U5      ef = f! [         a6    SR                  [        T
5      5      nST SU SU < SU S	3	n[        U5      ef = f)
Nr   zUnexpected file in z: zG. .data directory contents should be named like: '<scheme key>/<path>'.r   zUnknown scheme key used in z (for file zW). .data directory contents should be in subdirectories named with a valid scheme key ())r_   rO   r/  r   r   
ValueErrorr   KeyErrorr   r   r   )r   r0  _
scheme_keydest_subpathr)  scheme_pathvalid_scheme_keysr4   r+  scheme_pathsr*  r   s            r<   make_data_scheme_fileM_install_wheel.<locals>.data_scheme_file_maker.<locals>.make_data_scheme_file  s   ''**;7K1.9.?.?Q.O+|
1*:6 [?I$[< BB+  1)*R GM M  (001  1$(IIf\.B$C!1*R
| L!!, 0-.a1  (001s   -B B+  B(+A C+r3  )r!   getattr)r   schemekeyrA  r@  r+  r*  s   `   @r<   data_scheme_file_maker._install_wheel.<locals>.data_scheme_file_maker  s<     >II[cWV11[I	C 	C6 %$; Js   1c                J    U R                  SS5      S   R                  S5      $ )Nr   r   r   .data)r   r"  r#  s    r<   is_data_scheme_path+_install_wheel.<locals>.is_data_scheme_path   s#    zz#q!!$--g66r?   c                    U R                  SS5      n[        U5      S:  =(       a#    US   R                  S5      =(       a    US   S:H  $ )Nr   r   r   rI  r   r   )r   r   r"  )rO   partss     r<   is_script_scheme_path-_install_wheel.<locals>.is_script_scheme_path*  sB    

3"5zA~V%("3"3G"<VqYAVVr?   c                |  > U R                   n[        R                  R                  U5      nUR	                  5       R                  S5      (       a  US S nOVUR	                  5       R                  S5      (       a  US S nO,UR	                  5       R                  S5      (       a  US S nOUnUT;   =(       d    UT;   $ )Nz.exez
-script.pyiz.pya)r4   r_   rO   basenamers   r"  )r   rO   r|   	matchnamer   guis       r<   is_entrypoint_wrapper-_install_wheel.<locals>.is_entrypoint_wrapper=  s     ~~ww%::<  ((Sb	IZZ\""<00Tc
IZZ\""6**Sb	IIG#7yC'77r?   c               3  $  >#    [        [        TR                  5       5      5       He  n [        R                  R                  TU 5      n[        R                  R                  U5      (       d  MI  UR                  S5      (       d  Ma  Uv   Mg     g 7f)Nz.py)r   r   r   r_   rO   r   r`   r"  )installed_pathfull_installed_pathr   r   s     r<   pyc_source_file_paths-_install_wheel.<locals>.pyc_source_file_paths`  sk     
 %S)9)9);%<=N"$'',,w"G77>>"566&//66%% >s   BBc                @    [         R                  R                  U 5      $ )z8Return the path the pyc file would have been written to.)	importlibutilcache_from_sourcer#  s    r<   pyc_output_path'_install_wheel.<locals>.pyc_output_pathm  s    ~~//55r?   ignoreT)forcequietr   NrU   r   rT  i  c              ;     >#    [        U 40 UD6 nUv   S S S 5        [        R                  " WR                  T5        [	        UR                  U 5        g ! , (       d  f       NF= f7fr8   )r#   r_   chmodr|   r$   )rO   kwargsr   generated_file_modes      r<   _generate_file&_install_wheel.<locals>._generate_file  sH     t.v.!G /
,- /.s   A&AA A&
A#A&	INSTALLERs   pip
rV   	REQUESTEDr^   RECORD)r   r6   r   r   wzIO[str])F)r  r1   r   r3   r  r5   rA   rB   )rO   r1   rA   r5   )r'  r3   r(  r3   rA   rB   )r   r   r   r3   rA   Callable[[RecordPath], File])r   r   rD  r"   rA   ro  )r   r/   rA   r5   )rA   zGenerator[str, None, None])rO   r3   rA   r3   )rO   r3   rg  r   rA   zGenerator[BinaryIO, None, None])Lr-   ru   purelibplatlibr   r   listr1   namelistr   r(   mapr   r   r   r   r   r   r_   rO   dirnamer4   r&   r   r=   r2   r6   
contextlibredirect_stdoutr%   from_streamrd   stdoutwarningscatch_warningsfilterwarnings
compileallcompile_filer   r$   r   r   debuggetvaluer  r   re   clobbervariantsset_moder   r   r   r   make_multipler   r   r   r)   contextmanagerr   rj   r   r   to_jsonrf   ra   	read_textcsvreader
splitlinesr   rZ   writer	writerowsr   )Br|   	wheel_zipr*  rD  	pycompilewarn_script_location
direct_url	requestedscript_executableinfo_dirrt   r   r  r$  r4  rF  rJ  paths
file_pathsroot_scheme_pathsdata_scheme_pathsr1  filesrN  other_scheme_pathsscript_scheme_pathsrA  other_scheme_filesdistributionrU  script_scheme_filesexisting_parentsr   r   rZ  r`  ry  rO   successpyc_pathpyc_record_pathmakerr   gui_scripts_to_generategenerated_console_scriptsmsgri  dest_info_dirinstaller_pathinstaller_filedirect_url_pathdirect_url_filerequested_pathrecord_textrecord_rowsrowsr   record_filer  r+  r6   r   rh  rT  r   r   sB     `                                                        @@@@@@@r<   _install_wheelr    s   6 %Y5HX&&.... /1I"uGI >C!!'*!6:!	! !"	%	%!$	%	%	% % %#) %	% %  %D7 j!9#5#5#78E[%0J+45H*+U((29gF 57HIEW /80/++ 39E24FG%+,E *
#$L #<0LGS8 8  +.2+ &&;=PQj*=>%,-Eu WW__T^^4
--z"  ,		--t~~t||L & &6
 ''%%cjj1
((*''113D(55d$dSGw#24#8!ww~~h7777*.((*:*:277;;*L+ )(C 4 +
 	V__&'40E
 $, EM
 TEN
 EN 37;"79+;+;SYY[#IJ % 3 34G H./U(()@5$-PQ/0IJ?NN3=?"22  GGLL(3M WW\\-=N		'>X& 
(^$ '',,}6NOO,!!*"4"4"6"="=g"FG -) m[A.$' ((((2Kszz+"8"8":;<K%D '',,}h7K		:}S'9	:k DK89,T23	 
;	: +*
 
D 
(	' -, ('$ 
;	:s[   &Y/<<Y<A/Y+Y/,Z/ZZ%;Z7
Y,	'Y//
Y>
Z
Z"%
Z47
[c              #  |   #     S v   g ! [          a&  nSU  SUR                  S    3n[        U5      UeS nAff = f7f)Nz	For req: z. r   )r   args)req_descriptioner)  s      r<   req_error_contextr    sD     0 0o.b<(a/0s   <	 <
9!49<c	                    [        USS9 n	[        U5         [        U U	UUUUUUUS9	  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NT)
allowZip64)	r|   r  r*  rD  r  r  r  r  r  )r   r  r  )
r|   r*  rD  r  r  r  r  r  r  zs
             r<   install_wheelr    sX     
	-/%#%9%#"3
 0 
.	-// 
.	-s   A:A
A	A
A)r   )rO   r3   rP   intrA   ztuple[str, str])rW   r3   rA   zdict[str, Any])rO   r3   rA   r5   )rt   r
   rA   r5   )r}   r   rA   z%tuple[dict[str, str], dict[str, str]])r   zSequence[str]rA   
str | None)r   zIterable[InstalledCSVRow]rA   zlist[tuple[str, str, str]])r   r1   r   r3   rA   r3   )rO   r3   r   r3   rA   r1   )r   zlist[list[str]]r   zdict[RecordPath, RecordPath]r6   zset[RecordPath]r   r  r   r3   rA   zlist[InstalledCSVRow])r   zdict[str, str]rA   r  )r
  r3   r  r3   rA   rB   )TTNFN)r|   r3   r  r   r*  r3   rD  r"   r  r5   r  r5   r  DirectUrl | Noner  r5   r  r  rA   rB   )r  r3   rA   zGenerator[None, None, None])r|   r3   r*  r3   rD  r"   r  r3   r  r5   r  r5   r  r  r  r5   r  r  rA   rB   )j__doc__
__future__r   r   r}  rv  r  r]  loggingos.pathr_   r   r   rd   r  rz  base64r   collections.abcr   r   r   r   r	   email.messager
   	itertoolsr   r   r   pathlibr   typingr   r   r   r   r   r   zipfiler   r   pip._vendor.distlib.scriptsr   pip._vendor.distlib.utilr   pip._vendor.packaging.utilsr   pip._internal.exceptionsr   pip._internal.locationsr   pip._internal.metadatar   r   r   pip._internal.models.direct_urlr   r    pip._internal.models.schemer!   r"   pip._internal.utils.filesystemr#   r$   pip._internal.utils.miscr%   r&   r'   r(   pip._internal.utils.unpackingr)   r*   r+   r,   pip._internal.utils.wheelr-   r/   	getLoggerrC   r   r3   r1   tupler  InstalledCSVRowrS   rZ   ro   ru   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r9   r?   r<   <module>r     s   L "    
    	  
   $ M M ! 1 1   % 3 5 9 6 ; 
 P ; E T T  28  
		8	$\3'

Cs23!>(A(C L&4.$!+  	
  @HV#O #OL	2 	2
- 

(4[ 4. !%#'$(f4
f4f4 f4 	f4
 f4 f4 !f4 f4 "f4 
f4R	 0 0 !%#'$(
  	
   !  " 
r?   