§
    �Ÿj2'  ã                   óì   — d 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	m
Z
 ddlmZ  ej        d¦  «        Zd	„ Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )zE
System command aliases.

Authors:

* Fernando Perez
* Brian Granger
é    N)ÚConfigurableé   )Ú
UsageError)ÚListÚInstance)Úerrorz^(\s*)()(\S+)(.*$)c                  ó:  — t           j        dk    rug d¢} t          j                             d¦  «        rg d¢}nGt          j                             d¦  «        st          j                             d¦  «        rg d¢}ng d¢}| |z   } nt           j        d	v rg d
¢} ng } | S )z1Return list of shell aliases to auto-define.
    Úposix)©Úmkdirr   ©Úrmdirr   )Úmvr   )Úrmr   )Úcpr   )Úcatr   Úlinux))Úlszls -F --color)Úllzls -F -o --color)Úlfzls -F -o --color %l | grep ^-)Úlkzls -F -o --color %l | grep ^l)Úldirzls -F -o --color %l | grep /$)Úlxz ls -F -o --color %l | grep ^-..xÚopenbsdÚnetbsd))r   zls -F)r   zls -F -l)r   zls -F -l %l | grep ^-)r   zls -F -l %l | grep ^l)r   zls -F -l %l | grep /$)r   zls -F -l %l | grep ^-..x))r   zls -F -G)r   zls -F -l -G)r   zls -F -l -G %l | grep ^-)r   zls -F -l -G %l | grep ^l)r   zls -F -G -l %l | grep /$)r   zls -F -l -G %l | grep ^-..x)ÚntÚdos))r   zdir /on)Úddirúdir /ad /on)r   r   r   r   )Úechor    )Úrenr!   )Úcopyr"   )ÚosÚnameÚsysÚplatformÚ
startswith)Údefault_aliasesÚ
ls_aliasess     ú_/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/IPython/core/alias.pyr(   r(   (   sß   € õ 
„w�'ÒÐðð ð ˆõ Œ<×"Ò" 7Ñ+Ô+ð )	ðð ð ˆJˆJõ Œ\×$Ò$ YÑ/Ô/ð 	µ3´<×3JÒ3JÈ8Ñ3TÔ3Tð 	ðð ð ˆJˆJðð ð ˆJð *¨JÑ6ˆˆÝ	Œ�MÐ	!Ð	!ðð ð ˆˆð ˆàÐó    c                   ó   — e Zd ZdS )Ú
AliasErrorN©Ú__name__Ú
__module__Ú__qualname__© r+   r*   r-   r-   q   ó   € € € € € Ø€Dr+   r-   c                   ó   — e Zd ZdS )ÚInvalidAliasErrorNr.   r2   r+   r*   r5   r5   u   r3   r+   r5   c                   ó4   — e Zd ZdZh d£Zd„ Zd„ Zd„ Zd	d„ZdS )
ÚAliasz€Callable object storing the details of one alias.

    Instances are registered as magic functions to allow use of aliases.
    >   ÚcdÚpopdÚaliasÚdhistÚpushdÚunaliasc                 ó–   — || _         || _        || _        d                     |¦  «        | _        |                      ¦   «         | _        d S )NzAlias for `!{}`)Úshellr$   ÚcmdÚformatÚ__doc__ÚvalidateÚnargs)Úselfr?   r$   r@   s       r*   Ú__init__zAlias.__init__�   s?   € ØˆŒ
ØˆŒ	ØˆŒØ(×/Ò/°Ñ4Ô4ˆŒØ—]’]‘_”_ˆŒ
ˆ
ˆ
r+   c                 óB  — | j         | j        v rt          d| j         z  ¦  «        ‚	 | j        j        j        d         | j                  }t          |t          ¦  «        st          d| j         z  ¦  «        ‚n# t          $ r Y nw xY wt          | j	        t          ¦  «        st          d| j	        z  ¦  «        ‚| j	                             d¦  «        | j	                             d¦  «        z
  }|dk    r-| j	                             d¦  «        dk    rt          d	¦  «        ‚|S )
z7Validate the alias, and return the number of arguments.z@The name %s can't be aliased because it is a keyword or builtin.ÚlinezAThe name %s can't be aliased because it is another magic command.z*An alias command must be a string, got: %rú%sú%%sr   ú%lzEThe %s and %l specifiers are mutually exclusive in alias definitions.)r$   Ú	blacklistr5   r?   Úmagics_managerÚmagicsÚ
isinstancer7   ÚKeyErrorr@   ÚstrÚcountÚfind)rE   ÚcallerrD   s      r*   rC   zAlias.validateˆ   s\  € àŒ9˜œÐ&Ð&Ý#ð %JØLPÌIñ%Vñ Wô Wð Wð	\Ø”ZÔ.Ô5°fÔ=¸d¼iÔHˆFõ ˜f¥eÑ,Ô,ð \Ý'ð )OØQUÔQZñ)[ñ \ô \ð \ð\øõ ð 	ð 	ð 	ØˆDð	øøøõ ˜4œ8¥SÑ)Ô)ð 	:Ý#ð %.Ø04´ñ%9ñ :ô :ð :ð ”—’˜tÑ$Ô$ t¤x§~¢~°eÑ'<Ô'<Ñ<ˆà�AŠIˆI˜DœHŸMšM¨$Ñ/Ô/°1Ò4Ð4Ý#ð %Fñ Gô Gð Gð ˆs   §"A6 Á6
BÂBc                 óB   — d                      | j        | j        ¦  «        S )Nz<alias {} for {!r}>)rA   r$   r@   ©rE   s    r*   Ú__repr__zAlias.__repr__¢   s   € Ø$×+Ò+¨D¬I°t´xÑ@Ô@Ð@r+   Ú c           
      óN  — | j         }| j        }|                     d¦  «        dk    r|                     d|¦  «        }d}|dk    r7|                     d¦  «        dk    r|                     dd¦  «        }|›d|›�}nŽ|                     d |¦  «        }t          |¦  «        |k     r+t          d| j        ›d	|›d
t          |¦  «        ›d�¦  «        ‚|t          |d |…         ¦  «        z  ›dd 	                    ||d …         ¦  «        ›�}| j
                             |¦  «         d S )NrK   r   rX   rJ   r   rI   ú zAlias <z> requires z arguments, z given.)r@   rD   rS   ÚreplaceÚsplitÚlenr   r$   ÚtupleÚjoinr?   Úsystem)rE   Úrestr@   rD   Úargss        r*   Ú__call__zAlias.__call__¥   s2  € ØŒhˆØ”
ˆà�8Š8�D‰>Œ>˜QÒÐØ—+’+˜d DÑ)Ô)ˆCØˆDà�!Š8ˆ8Ø�xŠx˜‰Œ !Ò#Ð#Ø—k’k %¨Ñ.Ô.�à ˜S˜S $ $Ð'ˆCˆCð —:’:˜d EÑ*Ô*ˆDÝ�4‰yŒy˜5Ò Ð Ý �jØ”y�y�y % % %­¨T©¬¨¨ð"4ñ 5ô 5ð 5à ¥5¨¨f¨u¨f¬Ñ#6Ô#6Ñ6Ð6Ð6°s·x²xÀÀUÀVÀVÄÑ7MÔ7MÐ7MÐNˆCàŒ
×Ò˜#ÑÔÐÐÐr+   N)rX   )	r/   r0   r1   rB   rL   rF   rC   rW   rc   r2   r+   r*   r7   r7   x   sp   € € € € € ðð ð @Ð?Ð?€Ið%ð %ð %ðð ð ð4Að Að Aðð ð ð ð ð r+   r7   c                   ó  ‡ — e Zd Z e e¦   «         ¦  «                             d¬¦  «        Z eg ¬¦  «                             d¬¦  «        Z edd¬¦  «        Zdˆ fd„	Z	d„ Z
ed	„ ¦   «         Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚAliasManagerT)Úconfig)Údefault_valuez1IPython.core.interactiveshell.InteractiveShellABC)Ú
allow_noneNc                 ó¬   •—  t          t          | ¦  «        j        dd|i|¤Ž | j        j        j        d         | _        |                      ¦   «          d S )Nr?   rH   r2   )Úsuperre   rF   r?   rM   rN   Ú
linemagicsÚinit_aliases)rE   r?   ÚkwargsÚ	__class__s      €r*   rF   zAliasManager.__init__Æ   sW   ø€ Ø*��l˜DÑ!Ô!Ô*ÐAÐA°ÐA¸&ÐAÐAÐAàœ*Ô3Ô:¸6ÔBˆŒØ×ÒÑÔÐÐÐr+   c                 óÒ   — | j         | j        z   D ]V\  }}|                     d¦  «        r&| j        j        dk    r|                     dd¦  «        }|                      ||¦  «         ŒWd S )Nzls ÚNoColorz --colorrX   )r(   Úuser_aliasesr'   r?   Úcolorsr[   Úsoft_define_alias©rE   r$   r@   s      r*   rl   zAliasManager.init_aliasesÌ   sy   € àÔ-°Ô0AÑAð 	.ð 	.‰IˆD�#Ø�~Š~˜eÑ$Ô$ð 2¨¬Ô):¸iÒ)GÐ)GØ—k’k *¨bÑ1Ô1�Ø×"Ò" 4¨Ñ-Ô-Ð-Ð-ð	.ð 	.r+   c                 óH   — d„ | j                              ¦   «         D ¦   «         S )Nc                 óP   — g | ]#\  }}t          |t          ¦  «        ¯||j        f‘Œ$S r2   )rO   r7   r@   )Ú.0ÚnÚfuncs      r*   ú
<listcomp>z(AliasManager.aliases.<locals>.<listcomp>Õ   s@   € ð 8ð 8ð 8¡) 1 dÝ)¨$µÑ6Ô6ð8��D”H�ð 8ð 8ð 8r+   )rk   ÚitemsrV   s    r*   ÚaliaseszAliasManager.aliasesÓ   s0   € ð8ð 8¨t¬×/DÒ/DÑ/FÔ/Fð 8ñ 8ô 8ð 	8r+   c                 óˆ   — 	 |                       ||¦  «         dS # t          $ r}t          d|z  ¦  «         Y d}~dS d}~ww xY w)z2Define an alias, but don't raise on an AliasError.zInvalid alias: %sN)Údefine_aliasr-   r   )rE   r$   r@   Úes       r*   rs   zAliasManager.soft_define_aliasØ   sh   € ð	+Ø×Ò˜d CÑ(Ô(Ð(Ð(Ð(øÝð 	+ð 	+ð 	+ÝÐ%¨Ñ)Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*øøøøð	+øøøs   ‚ š
A¤<¼Ac                 óx   — t          | j        ||¬¦  «        }| j        j                             |d|¬¦  «         dS )zˆDefine a new alias after validating it.

        This will raise an :exc:`AliasError` if there are validation
        problems.
        )r?   r$   r@   rH   )Ú
magic_kindÚ
magic_nameN)r7   r?   rM   Úregister_function)rE   r$   r@   rT   s       r*   r~   zAliasManager.define_aliasß   sR   € õ ˜TœZ¨d¸Ð<Ñ<Ô<ˆØŒ
Ô!×3Ò3°FÀvØ?Cð 	4ñ 	Eô 	Eð 	Eð 	Eð 	Er+   c                 ój   — | j                              |d¦  «        }t          |t          ¦  «        r|ndS )z9Return an alias, or None if no alias by that name exists.N)rk   ÚgetrO   r7   )rE   r$   Úanames      r*   Ú	get_aliaszAliasManager.get_aliasé   s2   € à”×#Ò# D¨$Ñ/Ô/ˆÝ" 5­%Ñ0Ô0Ð:ˆuˆu°dÐ:r+   c                 ó0   — |                       |¦  «        duS )z?Return whether or not a given name has been defined as an aliasN)r‡   ©rE   r$   s     r*   Úis_aliaszAliasManager.is_aliasî   s   € à�~Š~˜dÑ#Ô#¨4Ð/Ð/r+   c                 ód   — |                       |¦  «        r
| j        |= d S t          d|z  ¦  «        ‚)Nú%s is not an alias)rŠ   rk   Ú
ValueErrorr‰   s     r*   Úundefine_aliaszAliasManager.undefine_aliasò   s:   € Ø�=Š=˜ÑÔð 	:Ø” Ð%Ð%Ð%åÐ1°DÑ8Ñ9Ô9Ð9r+   c                 óJ   — | j         D ]\  }}|                      |¦  «         Œd S ©N)r|   rŽ   rt   s      r*   Úclear_aliaseszAliasManager.clear_aliasesø   s8   € Øœð 	&ð 	&‰IˆD�#Ø×Ò Ñ%Ô%Ð%Ð%ð	&ð 	&r+   c                 ób   — |                       |¦  «        }|r|j        S t          d|z  ¦  «        ‚)z/Retrieve the command to which an alias expands.rŒ   )r‡   r@   r�   )rE   r$   rT   s      r*   Úretrieve_aliaszAliasManager.retrieve_aliasü   s7   € à—’ Ñ%Ô%ˆØð 	:Ø”:ÐåÐ1°DÑ8Ñ9Ô9Ð9r+   r�   )r/   r0   r1   r   r(   Útagrq   r   r?   rF   rl   Úpropertyr|   rs   r~   r‡   rŠ   rŽ   r‘   r“   Ú__classcell__)rn   s   @r*   re   re   À   s4  ø€ € € € € à�d˜?˜?Ñ,Ô,Ñ-Ô-×1Ò1¸Ð1Ñ>Ô>€OØ�4 bÐ)Ñ)Ô)×-Ò-°TÐ-Ñ:Ô:€LØˆHÐHÐUYÐZÑZÔZ€Eðð ð ð ð ð ð.ð .ð .ð ð8ð 8ñ „Xð8ð+ð +ð +ðEð Eð Eð;ð ;ð ;ð
0ð 0ð 0ð:ð :ð :ð&ð &ð &ð:ð :ð :ð :ð :ð :ð :r+   re   )rB   r#   Úrer%   Útraitlets.config.configurabler   r   r   Ú	traitletsr   r   ÚloggingÚcompileÚshell_line_splitr(   Ú	Exceptionr-   r5   Úobjectr7   re   r2   r+   r*   ú<module>rŸ      sg  ððð ð* 
€	€	€	Ø 	€	€	€	Ø 
€
€
€
à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø Ð Ð Ð Ð Ð à $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð ð �2”:Ð3Ñ4Ô4Ð ðFð Fð FðR	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	˜
ñ 	ô 	ð 	ðBð Bð Bð Bð BˆFñ Bô Bð BðPB:ð B:ð B:ð B:ð B:�<ñ B:ô B:ð B:ð B:ð B:r+   