ó
    Ñ]jÖ  ã                  óì   • S SK Jr  S SKrS SKrS SKJrJrJrJr  S SK	J
r
  S SKJrJr  \(       a  S SK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\5      r " S S\5      r " S S\5      r/ SQrg)é    )ÚannotationsN)ÚSUPPRESSÚArgumentDefaultsHelpFormatterÚArgumentParserÚ	Namespace)ÚOrderedDict)ÚTYPE_CHECKINGÚAny)ÚAction)ÚMappingÚSequence)Úget_type)Úget_env_var)Ú	IniConfigc                  ón   ^ • \ rS rSrS	U 4S jjrS
S jrSU 4S jjrSS jr\SS j5       r	SS jr
SrU =r$ )ÚVirtualEnvOptionsé   c                óB   >• [         TU ]  " S0 UD6  S U l        0 U l        g )N© )ÚsuperÚ__init__Ú_srcÚ_sources)ÚselfÚkwargsÚ	__class__s     €ÚY/home/mande/repo/quber/.venv/lib/python3.13/site-packages/virtualenv/config/cli/parser.pyr   ÚVirtualEnvOptions.__init__   s!   ø€ Ü‰ÒÑ"˜6Ò"Ø $ˆŒ	Ø(*ˆ�ó    c                óh   • [        XU5        UR                  S5      (       a  SnX0R                  U'   g)zÃSet an option value and record where it came from.

:param key: the option name
:param value: the option value
:param src: the source of the value (e.g. ``"cli"``, ``"env var"``, ``"default"``)

zenv varN)ÚsetattrÚ
startswithr   )r   ÚkeyÚvalueÚsrcs       r   Úset_srcÚVirtualEnvOptions.set_src   s.   € ô 	�˜5Ô!Ø�>‰>˜)×$Ñ$ØˆCØ �‰�cÒr   c                ó`   >• [        U SS 5      =nb  X0R                  U'   [        TU ]  X5        g )Nr   )Úgetattrr   r   Ú__setattr__)r   r#   r$   r%   r   s       €r   r*   ÚVirtualEnvOptions.__setattr__%   s0   ø€ Ü˜4 ¨Ó.Ð.ˆCÑ;Ø!$�M‰M˜#ÑÜ‰Ñ˜CÕ'r   c                ó8   • U R                   R                  U5      $ )z¼Return the source that provided a given option value.

:param key: the option name

:returns: the source string (e.g. ``"cli"``, ``"env var"``, ``"default"``), or ``None`` if not tracked

)r   Úget)r   r#   s     r   Ú
get_sourceÚVirtualEnvOptions.get_source*   s   € ð �}‰}× Ñ  Ó%Ð%r   c                óŽ   • [        U S5      (       d  [        U S5      (       d  g[        U R                  U R                  -
  S5      $ )z±The verbosity level, computed as ``verbose - quiet``, clamped to zero.

:returns: the verbosity level, or ``None`` if neither ``--verbose`` nor ``--quiet`` has been parsed yet

ÚverboseÚquietNr   )ÚhasattrÚmaxr1   r2   ©r   s    r   Ú	verbosityÚVirtualEnvOptions.verbosity4   s:   € ô �t˜Y×'Ñ'´¸¸g×0FÑ0FØÜ�4—<‘< $§*¡*Ñ,¨aÓ0Ð0r   c                ó’   • [        U 5      R                   SSR                  S [        U 5      R	                  5        5       5       S3$ )NÚ(z, c              3  ód   #   • U  H&  u  pUR                  S 5      (       a  M  U SU 3v •  M(     g7f)Ú_Ú=N)r"   )Ú.0ÚkÚvs      r   Ú	<genexpr>Ú-VirtualEnvOptions.__repr__.<locals>.<genexpr>@   s/   é € Ð1uÒI[ÁÀÐcd×coÑcoÐps×ct³*°Q°C°q¸¸µ*ÒI[ùs   ‚0¢0Ú))ÚtypeÚ__name__ÚjoinÚvarsÚitemsr5   s    r   Ú__repr__ÚVirtualEnvOptions.__repr__?   s>   € Ü�t“*×%Ñ%Ð& a¨¯	©	Ñ1uÌÈdË×IYÑIYÔI[Ó1uÓ(uÐ'vÐvwÐxÐxr   )r   r   )r   r
   ÚreturnÚNone)r#   Ústrr$   r
   r%   rL   rJ   rK   )r#   rL   r$   r
   rJ   rK   )r#   rL   rJ   ú
str | None)rJ   z
int | None)rJ   rL   )rD   Ú
__module__Ú__qualname__Ú__firstlineno__r   r&   r*   r.   Úpropertyr6   rH   Ú__static_attributes__Ú__classcell__©r   s   @r   r   r      s7   ø† ÷+ô
!÷(ô
&ð ó1ó ð1÷yò yr   r   c                  óˆ   ^ • \ rS rSrSr  S	         S
U 4S jjjrSS jrSS jrSS jr S	     SU 4S jjjr	Sr
U =r$ )ÚVirtualEnvConfigParseréC   zkCustom option parser which updates its defaults by checking the configuration files and environmental vars.c                óŽ  >• Uc  [         R                  OUn[        U5      U l        / U l        X l        U R                  R                  US'   SUS'   [        US'   SUS'   [        TU ]$  " U0 UD6  [        5       U l        Ub"  [        U[        5      (       d  Sn[        U5      eUc
  [        5       OUU l        S U l        S U l        g )NÚepilogFÚadd_helpÚformatter_classÚ
virtualenvÚprogz)options must be of type VirtualEnvOptions)ÚosÚenvironr   Úfile_configÚepilog_listÚenvrY   ÚHelpFormatterr   r   ÚsetÚ_fixedÚ
isinstancer   Ú	TypeErrorÚoptionsÚ_interpreterÚ	_app_data)r   rh   rb   Úargsr   Úmsgr   s         €r   r   ÚVirtualEnvConfigParser.__init__F   s¾   ø€ ð  ™KŒb�jŠj¨SˆÜ$ S›>ˆÔØˆÔØŒØ×+Ñ+×2Ñ2ˆˆxÑØ"ˆˆzÑÜ$1ˆÐ Ñ!Ø%ˆˆv‰Ü‰Ò˜$Ð) &Ò)Ü“eˆŒØÑ¤z°'Ô;L×'MÑ'MØ=ˆCÜ˜C“.Ð Ø.5©oÔ(Ô*À7ˆŒØ ˆÔØˆ�r   c                óº   • U R                    HK  n[        U5      nX R                  ;  d  M  U R                  U5        U R                  R	                  U5        MM     g )N)Ú_actionsÚidre   Ú_fix_defaultÚadd)r   ÚactionÚ	action_ids      r   Ú_fix_defaultsÚ$VirtualEnvConfigParser._fix_defaults^   sA   € Ø—m”mˆFÜ˜6›
ˆIØ§¡Õ+Ø×!Ñ! &Ô)Ø—‘—‘ 	Ö*ò	 $r   c                ó.  • [        US5      (       Ga  [        US5      (       añ  UR                  [        :w  aÜ  [        U5      n[	        S UR
                   5       5      nS nU H  n[        XRU R                  5      nUc  M    O   Uc:  U R                  (       a)  U H#  nU R                  R                  XR5      nUc  M#    O   Ub  Uu  Ul        nU[        U5      S'   OUR                  S4nU R                  R                  " UR                  /UQ76   g g g g )NÚdefaultÚdestc              3  óf   #   • U  H'  oR                  S 5      R                  S S5      S4v •  M)     g7f)Ú-r;   N)ÚlstripÚreplace)r=   Úis     r   r@   Ú6VirtualEnvConfigParser._fix_default.<locals>.<genexpr>h   s*   é € ÐgÒQfÈA§¡¨#£×!6Ñ!6°s¸CÓ!@À$Õ GÒQfùs   ‚/1Údefault_source)r3   rx   r   r   r   Úoption_stringsr   rb   r`   r-   rF   rh   r&   ry   )r   rs   Úas_typeÚnamesÚoutcomeÚnamer€   s          r   rq   Ú#VirtualEnvConfigParser._fix_defaulte   s  € Ü�6˜9×%Ò%¬'°&¸&×*AÑ*AÀfÇnÁnÔX`ÓF`Ü˜vÓ&ˆGÜÑgÐQW×QfÒQfÓgÓgˆEØˆGÛ�Ü% d°T·X±XÓ>�ØÓ&Ùñ ð ‰ 4×#3×#3Û!�DØ"×.Ñ.×2Ñ2°4ÓA�GØÓ*Ùñ "ð Ñ"Ø18Ñ.�” Ø1?”�V“Ð-Ò.à Ÿ.™.¨)Ð3�Ø�L‰L× Ò  §¡Ð7¨wÔ7ð% GaÐ*AÐ%r   c                óR   • U R                  5         U R                  SSS[        SS9  g )Nz-hz--helpÚhelpzshow this help message and exit)rs   rx   rˆ   )ru   Úadd_argumentr   r5   s    r   Úenable_helpÚ"VirtualEnvConfigParser.enable_helpz   s(   € Ø×ÑÔØ×Ñ˜$ °ÄÐPqÐÒrr   c                ó(  >• Uc  U R                   nOX R                   La  Sn[        U5      eU R                  5         SU R                   l         U R                  Ul        [
        TU ]  XS9S U R                   l        $ ! S U R                   l        f = f)Nzcan only pass in parser.optionsÚcli)Ú	namespace)rh   Ú
ValueErrorru   r   rb   r   Úparse_known_args)r   rk   rŽ   rl   r   s       €r   r�   Ú'VirtualEnvConfigParser.parse_known_args~   s~   ø€ ð ÑØŸ™‰IØŸl™lÒ*Ø3ˆCÜ˜S“/Ð!Ø×ÑÔØ!ˆ�‰Ôð	%Ø ŸH™HˆIŒMÜ‘7Ñ+¨DÐ+ÐFà $ˆD�L‰LÕø ˆD�L‰LÕús   ÁA> Á>B)rj   re   ri   rb   ra   r`   rh   )NN)
rh   úVirtualEnvOptions | Nonerb   zMapping[str, str] | Nonerk   r
   r   r
   rJ   rK   )rJ   rK   )rs   r   rJ   rK   )rk   zSequence[str] | NonerŽ   r’   rJ   z#tuple[VirtualEnvOptions, list[str]])rD   rN   rO   rP   Ú__doc__r   ru   rq   rŠ   r�   rR   rS   rT   s   @r   rV   rV   C   s�   ø† Ùuð -1Ø(,ðà)ðð &ðð ð	ð
 ðð 
÷ð ô0+ô8ô*sð
 X\ð%Ø(ð%Ø<Tð%à	,÷%ö %r   rV   c                  ó<   ^ • \ rS rSrSU 4S jjrSU 4S jjrSrU =r$ )rc   é�   c                óh   >• [         TU ]  " U4S[        R                  " 5       R                  S.UD6  g )Né    )Úmax_help_positionÚwidth)r   r   ÚshutilÚget_terminal_sizeÚcolumns)r   r]   r   r   s      €r   r   ÚHelpFormatter.__init__�   s,   ø€ Ü‰Ò˜Ðh°¼6×;SÒ;SÓ;U×;]Ñ;]ÑhÐagÓhr   c                ó¢   >• [         TU ]  U5      nUb;  [        US5      (       a*  SnUR                  U5      (       a  US [	        U5      *   S3nU$ )Nr€   z (default: %(default)s)z2 (default: %(default)s -> from %(default_source)s))r   Ú_get_help_stringr3   ÚendswithÚlen)r   rs   Útextrx   r   s       €r   rŸ   ÚHelpFormatter._get_help_string“   sY   ø€ Ü‰wÑ'¨Ó/ˆØÑ¤¨Ð0@× AÑ AØ/ˆGØ�}‰}˜W×%Ñ%Ø˜¤# g£, Ð/Ð0Ð0bÐc�Øˆr   r   )r]   rL   r   r
   rJ   rK   )rs   r   rJ   rM   )rD   rN   rO   rP   r   rŸ   rR   rS   rT   s   @r   rc   rc   �   s   ø† ÷i÷õ r   rc   )rc   rV   r   )Ú
__future__r   r^   rš   Úargparser   r   r   r   Úcollectionsr   Útypingr	   r
   r   Úcollections.abcr   r   Úvirtualenv.config.convertr   Úvirtualenv.config.env_varr   Úvirtualenv.config.inir   r   rV   rc   Ú__all__r   r   r   Ú<module>r­      s^   ðÝ "ã 	Û ß WÓ WÝ #ß %æÝß1å .Ý 1Ý +ô.y˜	ô .yôbI%˜^ô I%ôX
Ð1ô 
ò�r   