ó
    Ù^íhV  ã                   óâ   • S r SSKrSSKrSSKr\R                  S:X  a  SSKJrJrJrJ	r	  O)\R                  S:X  a  SSK
JrJrJrJ	r	  OSSKJrJrJrJ	r	  SSKJrJrJr   " S S	\5      rS
 rS rg)z0
Utilities for working with external processes.
é    NÚwin32é   )ÚsystemÚ	getoutputÚ	arg_splitÚ	check_pidÚcli)ÚgetoutputerrorÚget_output_error_codeÚprocess_handlerc                   ó   • \ rS rSrSrg)ÚFindCmdErroré   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚO/home/james-whalen/.local/lib/python3.13/site-packages/IPython/utils/process.pyr   r      s   † Úr   r   c                 óT   • [         R                  " U 5      nUc  [        SU -  5      eU$ )aa  Find absolute path to executable cmd in a cross platform manner.

This function tries to determine the full path to a command line program
using `which` on Unix/Linux/OS X and `win32api` on Windows.  Most of the
time it will use the version that is first on the users `PATH`.

Warning, don't use this to find IPython command line programs as there
is a risk you will find the wrong one.  Instead find those using the
following code and looking for the application itself::

    import sys
    argv = [sys.executable, '-m', 'IPython']

Parameters
----------
cmd : str
    The command line program to look for.
zcommand could not be found: %s)ÚshutilÚwhichr   )ÚcmdÚpaths     r   Úfind_cmdr      s-   € ô& <Š<˜Ó€DØ|ÜÐ;¸cÑAÓBÐBØ€Kr   c                  ó|  • [         R                  " 5       R                  SS5      n SnU n[        R                  S:X  a2  [        U 5      S:  a  U $ [         R                  R                  U 5      u  pUR                  S5      n[        U5      S:”  a  SR                  USS 5      nUU S:H  =(       a    S=(       d    U-   $ )	z0Return abbreviated version of cwd, e.g. d:mydir Ú\Ú/Ú r   é   é   éþÿÿÿN)
ÚosÚgetcwdÚreplaceÚsysÚplatformÚlenr   Ú
splitdriveÚsplitÚjoin)ÚcwdÚ	drivepartÚtailÚpartss       r   Ú
abbrev_cwdr2   5   s¢   € ä
)Š)‹+×
Ñ
˜d 3Ó
'€CØ€IØ€DÜ
‡||wÓÜˆs‹8a‹<ØˆJÜŸ™×+Ñ+¨CÓ0‰ˆ	ð J‰Js‹O€EÜ
ˆ5ƒzAƒ~Øx‰x˜˜b˜c˜
Ó#ˆàØˆs‰
×s×"˜dñ$ð %r   )Ú__doc__r%   r   r(   r)   Ú_process_win32r   r   r   r   Ú_process_cliÚ_process_posixÚ_process_commonr
   r   r   Ú	Exceptionr   r   r2   r   r   r   Ú<module>r9      s[   ðñó 
Û Û 
à‡<<7ÓßGÔGØ‡\\UÓßEÔEçGÓGç SÑ Sô	9ô 	òó2%r   