ó
    Þ jø  ã                   ó¢  • 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KJr  S SK	J
r
  SS\R                  R                   3S\R                  R                   S\R                  R                   3/r\
(       a6  SS1r\ R                   " \\5       V s/ sH  n SR#                  U 5      PM     sn rSS	\\\      S
\4S jjrS
\4S jrS
\4S jrgs  sn f )é    N)ÚListÚOptional)Úmain)ÚWINDOWSÚpipÚ.Ú z.exeÚargsÚreturnc                 óV   • [         R                  R                  S5        [        U 5      $ )aÒ  Central wrapper for all old entrypoints.

Historically pip has had several entrypoints defined. Because of issues
arising from PATH, sys.path, multiple Pythons, their interactions, and most
of them having a pip installed, users suffer every time an entrypoint gets
moved.

To alleviate this pain, and provide a mechanism for warning users and
directing them to an appropriate place for help, we now define all of
our old entrypoints as wrappers for the current one.
a  WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
)ÚsysÚstderrÚwriter   )r
   s    ÚY/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/utils/entrypoints.pyÚ_wrapperr      s'   € ô ‡J�J×Ñð	"ôô �‹:Ðó    c                  óÐ  • [         (       a  SOSn [        R                  R                  [        R
                  U 5      n[        R                  R                  [        R                  R                  SS5      5      R                  [        R                  5      n[        R                  R                  U5      U;   nU(       aš  [         H�  n[        R                  " U5      n[        R                  R                  X5      nU(       d  MA  [        R                  R                  U5      (       d  Mg  [        R                  R                  UU5      (       d  MŽ  Us  $    [!        5        S3$ )zHTry to figure out the best way to invoke pip in the current environment.ÚScriptsÚbinÚPATHr	   z -m pip)r   ÚosÚpathÚjoinr   ÚprefixÚnormcaseÚenvironÚgetÚsplitÚpathsepÚ_EXECUTABLE_NAMESÚshutilÚwhichÚexistsÚsamefileÚ#get_best_invocation_for_this_python)Úbinary_directoryÚbinary_prefixÚ
path_partsÚexe_are_in_PATHÚexe_nameÚfound_executableÚbinary_executables          r   Ú get_best_invocation_for_this_pipr-   .   sô   € ç$+¢G‘y°ÐÜ—G‘G—L‘L¤§¡Ð-=Ó>€Mô —‘×!Ñ!¤"§*¡*§.¡.°¸Ó"<Ó=×CÑCÄBÇJÁJÓO€JÜ—g‘g×&Ñ& }Ó5¸ÑC€OÞß)ˆHÜ%Ÿ|š|¨HÓ5ÐÜ "§¡§¡¨]Ó EÐç Ð Ü—G‘G—N‘NÐ#4×5Ó5Ü—G‘G×$Ñ$Ø$Ø%÷ó ð
  ’ñ *ô 2Ó3Ð4°GÐ<Ð<r   c                  óê   • [         R                  n [        R                  R	                  U 5      n[
        R                  " U5      nU(       a&  [        R                  R                  X 5      (       a  U$ U $ )z<Try to figure out the best way to invoke the current Python.)r   Ú
executabler   r   Úbasenamer!   r"   r$   )Úexer*   r+   s      r   r%   r%   I   sT   € ä
�.‰.€CÜ�w‰w×Ñ Ó$€Hô —|’| HÓ-ÐÞœBŸG™G×,Ñ,Ð-=×CÑCØˆð €Jr   )N)Ú	itertoolsr   r!   r   Útypingr   r   Úpip._internal.cli.mainr   Úpip._internal.utils.compatr   Úversion_infoÚmajorÚminorr    Ú_allowed_extensionsÚproductr   ÚstrÚintr   r-   r%   )Úpartss   0r   Ú<module>r>      sè   ðÛ Û 	Û Û 
ß !å 'Ý .ð 
Ø	ˆ#×
Ñ
×
 Ñ
 Ð	!Ð"Ø	ˆ#×
Ñ
×
 Ñ
 Ð	!  3×#3Ñ#3×#9Ñ#9Ð":Ð;ðÐ ö
 Ø˜v˜,Ðð ×&Ò&Ð'8Ð:MÔNóáNˆEð 	�‰�ŽÙNñÐñ�8˜D ™IÑ&ð °#õ ð.=¨#ô =ð6¨Sõ ùòqs   ÂC