§
    u”j  ã                  ó’   — d Z ddlm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 dd	lmZ dd„Zdd„Zdd„ZdS )zALogic that powers autocompletion installed by ``pip completion``.é    )ÚannotationsN)ÚIterable)Úchain)ÚAny)Úcreate_main_parser)Úcommands_dictÚcreate_command)Úget_default_environmentÚreturnÚNonec                 óŽ  ‡‡‡‡‡— dt           j        vrdS t           j                             d¦  «        rt           j                             d¦  «        sdS t           j        d                              ¦   «         dd…         Št	          t           j        d         ¦  «        } 	 ‰| dz
           Šn# t
          $ r dŠY nw xY wt          ¦   «         }t          t          ¦  «        }g }d}‰D ]
}||v r|} nŒ|��\|dk    rt          j
        d¦  «         ‰                     d¦  «         o|d	v }|rot          ¦   «         }‰                     ¦   «         Šˆˆfd
„|                     d¬¦  «        D ¦   «         }|r(|D ]}	t          |	¦  «         Œt          j
        d¦  «         ‰                     d¦  «         o|dk    }
|
r6t!          ‰d¦  «        D ]}t          |¦  «         Œt          j
        d¦  «         t#          |¦  «        }|j        j        D ]5Š‰j        t*          j        k    r|ˆfd„‰j        ‰j        z   D ¦   «         z  }Œ6d„ ‰d| dz
  …         D ¦   «         Šˆfd„|D ¦   «         }ˆfd„|D ¦   «         }t3          ‰| |j        j        ¦  «        }|rt!          ‰|¦  «        }d„ |D ¦   «         }|D ]:}|d         }|d         r|d         dd…         dk    r|dz  }t          |¦  «         Œ;t5          ˆfd„|                     ¦   «         D ¦   «         ¦  «        s;|                     ¦   «         D ]&}|                     ‰¦  «        rt          |¦  «         Œ'nßd„ |j        D ¦   «         }|                     |j        ¦  «         t?          j         |¦  «        }‰                     d¦  «        r-|D ])Š‰j        t*          j        k    r|‰j        ‰j        z   z  }Œ*n0t3          ‰| |¦  «        }|rt          t!          ‰|¦  «        ¦  «        }t          d !                    ˆfd„|D ¦   «         ¦  «        ¦  «         t          j
        d¦  «         dS )z:Entry Point for completion of main and subcommand options.ÚPIP_AUTO_COMPLETENÚ
COMP_WORDSÚ
COMP_CWORDé   Ú Úhelpú-)ÚshowÚ	uninstallc                ót   •— g | ]4}|j                              ‰¦  «        r|j         ‰d d…         v¯-|j         ‘Œ5S )r   N)Úcanonical_nameÚ
startswith)Ú.0ÚdistÚcwordsÚlcs     €€úo/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/cli/autocompletion.pyú
<listcomp>z autocomplete.<locals>.<listcomp>8   sY   ø€ ð ð ð àØÔ&×1Ò1°"Ñ5Ô5ðð Ô'¨v°a°b°b¬zÐ9Ð9ð Ô#ð :Ð9Ð9ó    T)Ú
local_onlyÚinstallÚpathc                ó"   •— g | ]}|‰j         f‘ŒS © )Únargs)r   Úopt_strÚopts     €r   r   z autocomplete.<locals>.<listcomp>P   s-   ø€ ð ð ð Ø-4�W˜cœiÐ(ðð ð r    c                óD   — g | ]}|                      d ¦  «        d         ‘ŒS )ú=r   )Úsplit©r   Úxs     r   r   z autocomplete.<locals>.<listcomp>U   s&   € ÐDÐDÐD¨�Q—W’W˜S‘\”\ !”_ÐDÐDÐDr    c                ó&   •— g | ]\  }}|‰v¯	||f‘ŒS r%   r%   )r   r-   ÚvÚ	prev_optss      €r   r   z autocomplete.<locals>.<listcomp>V   s+   ø€ ÐFÐFÐF™f˜q !°1¸IÐ3EÐ3E�A�q�6Ð3EÐ3EÐ3Er    c                óH   •— g | ]\  }}|                      ‰¦  «        ¯||f‘ŒS r%   ©r   )r   Úkr/   Úcurrents      €r   r   z autocomplete.<locals>.<listcomp>X   s2   ø€ ÐGÐGÐG™d˜a °·²¸gÑ1FÔ1FÐG�A�q�6ÐGÐGÐGr    c                ó   — g | ]}|d f‘ŒS )r   r%   )r   r#   s     r   r   z autocomplete.<locals>.<listcomp>c   s   € Ð3Ð3Ð3 T˜˜a�yÐ3Ð3Ð3r    r   é   z--r*   c              3  ó    •K  — | ]}|‰v V — Œ	d S ©Nr%   )r   Únamer   s     €r   ú	<genexpr>zautocomplete.<locals>.<genexpr>l   s'   øè è € ÐGÐG d�4˜6�>ÐGÐGÐGÐGÐGÐGr    c                ó   — g | ]	}|j         ‘Œ
S r%   )Úoption_list)r   Úis     r   r   z autocomplete.<locals>.<listcomp>s   s   € Ð<Ð<Ð< !�”Ð<Ð<Ð<r    ú c                ó>   •— g | ]}|                      ‰¦  «        ¯|‘ŒS r%   r2   )r   r-   r4   s     €r   r   z autocomplete.<locals>.<listcomp>€   s*   ø€ ÐHÐHÐH˜a°!·,²,¸wÑ2GÔ2GÐH˜ÐHÐHÐHr    )"ÚosÚenvironÚgetr+   ÚintÚ
IndexErrorr   Úlistr   ÚsysÚexitr   r
   ÚlowerÚiter_installed_distributionsÚprintÚauto_complete_pathsr	   ÚparserÚoption_list_allr   ÚoptparseÚSUPPRESS_HELPÚ
_long_optsÚ_short_optsÚget_path_completion_typeÚanyÚhandler_mapÚoption_groupsÚappendr<   r   Úfrom_iterableÚjoin)ÚcwordrL   ÚsubcommandsÚoptionsÚsubcommand_nameÚwordÚshould_list_installedÚenvÚ	installedr   Úshould_list_installablesr#   Ú
subcommandÚcompletion_typeÚpathsÚoptionÚ	opt_labelÚhandler_nameÚoptsÚflattened_optsr4   r   r   r(   r0   s                       @@@@@r   Úautocompleterj      s   øøøøø€ ð ¥"¤*Ð,Ð,Øˆõ Œ:�>Š>˜,Ñ'Ô'ð ­r¬z¯~ª~¸lÑ/KÔ/Kð ØˆÝŒZ˜Ô%×+Ò+Ñ-Ô-¨a¨b¨bÔ1€FÝ•”
˜<Ô(Ñ)Ô)€EðØ˜ ™Ô#ˆˆøÝð ð ð Øˆˆˆðøøøõ  Ñ!Ô!€FÝ•}Ñ%Ô%€KØ€Gð #'€OØð ð ˆØ�;ÐÐØ"ˆOØˆEð ð Ñ"à˜fÒ$Ð$ÝŒH�Q‰KŒKˆKà$+×$6Ò$6°sÑ$;Ô$;Ð ;ð !
Àð T
ð A
Ðð !ð 	Ý)Ñ+Ô+ˆCØ—’‘”ˆBðð ð ð ð à×<Ò<ÈÐ<ÑMÔMðñ ô ˆIð ð Ø%ð  ð  �DÝ˜$‘K”K�K�KÝ”˜‘”�ð ×"Ò" 3Ñ'Ô'Ð'ÐH¨O¸yÒ,Hð 	!ð $ð 	Ý+¨G°VÑ<Ô<ð ð �Ý�d‘”��ÝŒH�Q‰KŒKˆKå# OÑ4Ô4ˆ
àÔ$Ô4ð 	ð 	ˆCØŒx�8Ô1Ò1Ð1Øð ð ð ð Ø8;¼ÈÌÑ8Xðñ ô ñ �øð
 EÐD¨f°Q¸À¹°]Ô.CÐDÑDÔDˆ	ØFÐFÐFÐF¨ÐFÑFÔFˆàGÐGÐGÐG gÐGÑGÔGˆå2ØØØÔÔ-ñ
ô 
ˆð ð 	4Ý'¨°ÑAÔAˆEØ3Ð3¨UÐ3Ñ3Ô3ˆGØð 	ð 	ˆFØ˜qœ	ˆIà�aŒyð !˜V AœY r¨ rœ]¨dÒ2Ð2Ø˜SÑ �	Ý�)ÑÔÐÐõ ÐGÐGÐGÐG¨j×.DÒ.DÑ.FÔ.FÐGÑGÔGÑGÔGð 	(Ø *× 6Ò 6Ñ 8Ô 8ð (ð (�Ø×*Ò*¨7Ñ3Ô3ð (Ý˜,Ñ'Ô'Ð'øøð =Ð< vÔ';Ð<Ñ<Ô<ˆØ�Š�FÔ&Ñ'Ô'Ð'ÝÔ,¨TÑ2Ô2ˆØ×Ò˜cÑ"Ô"ð 	RØ%ð Dð D�Ø”8�xÔ5Ò5Ð5Ø 3¤>°C´OÑ#CÑC�KøðDõ
 7°v¸uÀnÑUÔUˆOØð RÝ"Õ#6°wÀÑ#PÔ#PÑQÔQ�åˆc�hŠhÐHÐHÐHÐH ;ÐHÑHÔHÑIÔIÑJÔJÐJÝ„HˆQ�K„K€K€K€Ks   Â"B. Â.B=Â<B=r   ú	list[str]rY   rC   rh   úIterable[Any]ú
str | Nonec                ó¨  — |dk     s| |dz
                                 d¦  «        sdS |D ]¨}|j        t          j        k    rŒt	          |¦  «                             d¦  «        D ]m}| |dz
                                d¦  «        d         |k    rC|j        r1t          d„ |j                             d¦  «        D ¦   «         ¦  «        r|j        c c S ŒnŒ©dS )aL  Get the type of path completion (``file``, ``dir``, ``path`` or None)

    :param cwords: same as the environmental variable ``COMP_WORDS``
    :param cword: same as the environmental variable ``COMP_CWORD``
    :param opts: The available options to check
    :return: path completion type (``file``, ``dir``, ``path`` or None)
    r6   r   Nú/r*   r   c              3  ó   K  — | ]}|d v V — Œ	dS ))r#   ÚfileÚdirNr%   r,   s     r   r:   z+get_path_completion_type.<locals>.<genexpr>•   s9   è è € ð *ð *Ø56�AÐ0Ð0ð*ð *ð *ð *ð *ð *r    )r   r   rN   rO   Ústrr+   ÚmetavarrS   )r   rY   rh   r(   Úos        r   rR   rR   „   s  € ð ˆq‚y€y˜˜u q™yÔ)×4Ò4°SÑ9Ô9€yØˆtØð 'ð 'ˆØŒ8•xÔ-Ò-Ð-ØÝ�S‘”—’ Ñ$Ô$ð 	'ð 	'ˆAØ�e˜a‘iÔ ×&Ò& sÑ+Ô+¨AÔ.°!Ò3Ð3Ø”{ð '¥cð *ð *Ø:=¼+×:KÒ:KÈCÑ:PÔ:Pð*ñ *ô *ñ 'ô 'ð 'ð œ;Ð&Ð&Ð&Ð&Ð&øð	'ð ˆ4r    r4   rs   rc   úIterable[str]c              #  óè  ‡K  — t           j                             | ¦  «        \  }Št           j                             |¦  «        }t          j        |t           j        ¦  «        sdS t           j                             ‰¦  «        Šˆfd„t          j        |¦  «        D ¦   «         }|D ]Ê}t           j                             ||¦  «        }t           j                             t           j                             ||¦  «        ¦  «        }|dk    r$t           j         	                    |¦  «        r|V — Œ‰t           j         
                    |¦  «        r"t           j                             |d¦  «        V — ŒËdS )at  If ``completion_type`` is ``file`` or ``path``, list all regular files
    and directories starting with ``current``; otherwise only list directories
    starting with ``current``.

    :param current: The word to be completed
    :param completion_type: path completion type(``file``, ``path`` or ``dir``)
    :return: A generator of regular files and/or directories
    Nc              3  ó€   •K  — | ]8}t           j                             |¦  «                             ‰¦  «        ¯4|V — Œ9d S r8   )r@   r#   Únormcaser   )r   r-   Úfilenames     €r   r:   z&auto_complete_paths.<locals>.<genexpr>¬   sZ   øè è € ð ð Ø­r¬w×/?Ò/?ÀÑ/BÔ/B×/MÒ/MÈhÑ/WÔ/WðØ	ðð ð ð ð ð r    rr   r   )r@   r#   r+   ÚabspathÚaccessÚR_OKry   ÚlistdirrX   ÚisfileÚisdir)	r4   rc   Ú	directoryÚcurrent_pathÚ	file_listÚfr(   Ú	comp_filerz   s	           @r   rK   rK   œ   sI  øè è € õ œ'Ÿ-š-¨Ñ0Ô0Ñ€IˆxÝ”7—?’? 9Ñ-Ô-€LåŒ9�\¥2¤7Ñ+Ô+ð ØˆÝŒw×Ò Ñ)Ô)€Hðð ð ð Ý”:˜lÑ+Ô+ðñ ô €Ið ð 	.ð 	.ˆÝŒg�lŠl˜<¨Ñ+Ô+ˆÝ”G×$Ò$¥R¤W§\¢\°)¸QÑ%?Ô%?Ñ@Ô@ˆ	ð ˜eÒ#Ð#­¬¯ª°sÑ(;Ô(;Ð#ØˆOˆOˆOˆOÝŒW�]Š]˜3ÑÔð 	.Ý”'—,’,˜y¨"Ñ-Ô-Ð-Ð-Ð-øð	.ð 	.r    )r   r   )r   rk   rY   rC   rh   rl   r   rm   )r4   rs   rc   rs   r   rv   )Ú__doc__Ú
__future__r   rN   r@   rF   Úcollections.abcr   Ú	itertoolsr   Útypingr   Úpip._internal.cli.main_parserr   Úpip._internal.commandsr   r	   Úpip._internal.metadatar
   rj   rR   rK   r%   r    r   ú<module>rŽ      sõ   ðØ GÐ Gà "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à <Ð <Ð <Ð <Ð <Ð <Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø :Ð :Ð :Ð :Ð :Ð :ðpð pð pð pðfð ð ð ð0.ð .ð .ð .ð .ð .r    