Ë
    Ö—ÄjB7  ã                  ó6  — U d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	 d dlm
Z
mZmZmZmZ d dlmZm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mZm Z  d dl!m"Z" d dl#m$Z$ ejJ                  rd dl&m'Z' ej                  e(e(e(e(f   Z)de*d<    ed¬«       G d„ d«      «       Z+ ed¬«       G d„ d«      «       Z,ejZ                  eee.f   Z/ejZ                  e/ej`                  ee
   gejZ                  e/df   f   f   Z1de*d<   ej                  e1   Z2de*d<    G d„ dejf                  «      Z4 ed¬«       G d„ de4«      «       Z5 e5«       e5_6        	 	 	 	 	 	 	 	 d*d„Z7	 	 	 	 	 	 	 	 d+d „Z8d,d!„Z9d-d"„Z:d.d#„Z;d/d$„Z<	 d0	 	 	 	 	 d1d%„Z=d2d&„Z>d d'œd3d(„Z?d4d)„Z@y)5é    )ÚannotationsN)ÚIterable)Ú	dataclassÚreplace)Úgroupby)ÚAnyÚListÚSequenceÚTupleÚcast)ÚConsoleÚNewLine)ÚMarkdown)ÚPadding)ÚTable)ÚText)ÚSelfÚ	TypeAlias)ÚArgÚ	ArgActionÚFinalArg)ÚDisplayable)ÚFinalSubcommand)ÚFinalCommandr   Ú	DimensionT)Úfrozenc                  óB   — e Zd ZU dZded<   ded<   dZded<   dZd	ed
<   y)Ú
FieldGroupz‚A group of arguments or a subcommand sharing the same field_name.

    Either `args` or `subcommand` will be set, never both.
    z
str | NoneÚ
field_nameÚboolÚrequiredNzlist[FinalArg[Any]] | NoneÚargsúFinalSubcommand | NoneÚ
subcommand)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r"   r$   © ó    úOC:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\cappa/help.pyr   r      s*   … ñð
 ÓØƒNØ'+€DÐ
$Ó+Ø)-€JÐ&Ô-r+   r   c                  ór   — e Zd ZU dZded<   ded<   e	 	 	 	 d
d„«       Zedd„«       Ze	 d	 	 	 	 	 dd„«       Z	y	)ÚArgGroupz:A group of arguments/subcommands organized by their Group.ÚstrÚnamezlist[FieldGroup]Úfield_groupsc                ó.   — | j                   j                  S ©N)ÚgroupÚkey©Úargs    r,   Ú_by_group_keyzArgGroup._by_group_key.   s   € ð �y‰y�}‰}Ðr+   c                ó.   — | j                   j                  S r3   )r4   r0   r6   s    r,   Ú	_by_groupzArgGroup._by_group4   s   € à�y‰y�~‰~Ðr+   c           	     ó²  — t        |j                  | j                  ¬«      }g }t        || j                  ¬«      D �]Ž  \  }}|D �cg c]  }|s|j
                  rŒ|‘Œ }}i }	|D ]/  }
|
j                  xs d}||	vrg |	|<   |	|   j                  |
«       Œ1 g }|	j                  «       D �]  \  }}|d   }t        |t        «      r¡t        d„ |D «       «      st        d|›d�«      ‚t        t        t        t              |«      }|D �ch c]  }|j                   ’Œ }}t#        |«      dk(  sJ d|›d	|› �«       ‚|j%                  «       }|j                  t'        |||¬
«      «       Œ½t#        |«      dk(  sJ ‚t        |t(        «      sJ ‚|j                  t'        ||j                   |¬«      «       �Œ |j                   | ||¬«      «       �Œ‘ |S c c}w c c}w )z:Collect and group arguments from a command by their Group.)r5   Nr   c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr3   )Ú
isinstancer   )Ú.0Úitems     r,   Ú	<genexpr>z#ArgGroup.collect.<locals>.<genexpr>P   s   è ø€ ÐLÁe¸dœz¨$´×9Áeùs   ‚zFieldGroup with field_name=zL contains mixed types: Args and Subcommands cannot share the same field_nameé   zAll items with field_name=z) must have the same required value, got: )r"   )r$   )r0   r1   )ÚsortedÚall_argumentsr8   r   r:   Úhiddenr   ÚappendÚitemsr=   r   ÚallÚ
ValueErrorr   r	   r   r!   ÚlenÚpopr   r   )ÚclsÚcommandÚinclude_hiddenÚsorted_argsÚresultr0   r"   ÚarF   Úfield_groupedr?   r   r1   Ú
first_itemÚ
group_argsr7   Úrequired_valuesr!   s                     r,   ÚcollectzArgGroup.collect8   s   € ô
 ˜W×2Ñ2¸×8IÑ8IÔJˆà!#ˆÜ! +°3·=±=×AÐA‰JˆD�$Ù $ÓG¡˜1©¸a¿h»h’Q ˆEÐGàUWˆMÛ�Ø!Ÿ_™_Ò4°�
Ø ]Ñ2Ø02�M *Ñ-Ø˜jÑ)×0Ñ0°Õ6ð	 ð .0ˆLØ%2×%8Ñ%8×%:Ñ!�
˜Eà" 1™X�
Ü˜j¬(Ô3äÑLÁeÓLÔLÜ(Ø9¸*¸ð HTð Uóð ô "&¤d¬8´C©=Ñ&9¸5Ó!A�Jñ @JÓ&J¹z¸ s§|£|¸z�OÐ&JÜ˜Ó/°1Ò4ð Ø4°Z°Nð C0Ø0?Ð/@ðBóÐ4ð  /×2Ñ2Ó4�HØ ×'Ñ'Ü" :¨x¸jÔIõô ˜u›:¨š?Ð*˜?Ü% j´/ÔBÐBÐBØ ×'Ñ'Ü"Ø&Ø&×/Ñ/Ø'1ôöð3 &;ðB �M‰M™# 4°lÔCÖDðY Bð\ ˆùò[ Hùò. 'Ks   ÁGÁGÄGN)r7   úFinalArg[Any] | FinalSubcommandÚreturnztuple[int, int, str, bool])r7   rV   rW   r/   )F)rL   úFinalCommand[Any]rM   r    rW   úlist[ArgGroup])
r%   r&   r'   r(   r)   Ústaticmethodr8   r:   ÚclassmethodrU   r*   r+   r,   r.   r.   '   su   … áDà
ƒIØ"Ó"àðØ,ðà	#òó ðð
 òó ðð à@Eð5Ø'ð5Ø9=ð5à	ò5ó ñ5r+   r.   Ú	ArgFormatÚ
ArgFormatsc                  óT   — e Zd ZU ded<   ded<   ded<   	 	 	 	 	 	 d
d„Z	 	 	 	 	 	 dd„Zy	)ÚHelpFormattabler   Úleft_paddingúArgFormat | ArgFormatsÚ
arg_formatr/   Údefault_formatc                 ó   — y r3   r*   ©ÚselfrL   Úprogs      r,   ÚlongzHelpFormattable.long~   s   € àr+   c                 ó   — y r3   r*   re   s      r,   ÚshortzHelpFormattable.short‚   s   € àr+   N©rL   rX   rg   r/   rW   zlist[Displayable]©rL   rX   rg   r/   rW   r   )r%   r&   r'   r)   rh   rj   r*   r+   r,   r_   r_   y   sN   … ØÓØ&Ó&ØÓð Ø(ð Ø03ð à	ó ðØ(ðØ03ðà	ôr+   r_   c                  óœ   — e Zd ZU dZded<    ed«       ed«       edd¬«      fZd	ed
<   dZded<   ded<   dd„Zdd„Z		 	 	 	 	 	 dd„Z
dd„Zy)ÚHelpFormatter)r   r   r   é   r   r`   z{help}z	{choices}z	{default}z
dim italic©Ústylera   rb   z(Default: {default})r/   rc   ztyping.ClassVar[HelpFormatter]Údefaultc           	     óì  — t         j                  |«      }g }|j                  t        ||«      «       |j                  rU|j                  t        «       «       |j                  t        t        d|j                  › d�«      | j                  «      «       |j                  rQ|j                  t        «       «       |j                  t        t        |j                  «      | j                  «      «       t        «       }|j                  t        || |«      «       |j                  rQ|j                  t        «       «       |j                  t        t        |j                  «      | j                  «      «       |S )Nz**)r.   rU   rE   Úadd_short_argsÚhelpr   r   r   r`   Údescriptionr   ÚextendÚadd_long_argsÚepilog)rf   rL   rg   Ú
arg_groupsÚlinesÚconsoles         r,   rh   zHelpFormatter.long“   sý   € Ü×%Ñ% gÓ.ˆ
à#%ˆØ�‰”^ D¨*Ó5Ô6à�<Š<Ø�L‰Lœ›Ô#Ø�L‰Lœ¤¨B¨w¯|©|¨n¸BÐ*?Ó!@À$×BSÑBSÓTÔUØ×ÒØ�L‰Lœ›Ô#Ø�L‰Lœ¤¨'×*=Ñ*=Ó!>À×@QÑ@QÓRÔSä“)ˆØ�‰”] 7¨D°*Ó=Ô>à�>Š>Ø�L‰Lœ›Ô#Ø�L‰Lœ¤¨'¯.©.Ó!9¸4×;LÑ;LÓMÔNàˆr+   c                óD   — t         j                  |«      }t        ||«      S r3   )r.   rU   rt   )rf   rL   rg   rz   s       r,   rj   zHelpFormatter.short©   s   € Ü×%Ñ% gÓ.ˆ
Ü˜d JÓ/Ð/r+   c                ó‚   — t        t        t        df   t        |t        «      r|n|f«      }g |¢|¢­}t        | |¬«      S )N.)rb   )r   r   r\   r=   Útupler   )rf   Ú_formatÚformatsÚformatrb   s        r,   Úwith_arg_formatzHelpFormatter.with_arg_format­   sG   € ô Ü”)˜S�.Ñ!¬j¸Ä%Ô.H¡7ÈwÈjó
ˆð )�vÐ( Ñ(ˆ
Ü�t¨
Ô3Ð3r+   c                ó   — t        | |¬«      S )N)rc   )r   )rf   r‚   s     r,   Úwith_default_formatz!HelpFormatter.with_default_format¶   s   € Ü�t¨FÔ3Ð3r+   Nrk   rl   )r€   z!ArgFormat | tuple[ArgFormat, ...]r�   r\   rW   r   )r‚   r/   rW   r   )r%   r&   r'   r`   r)   r   rb   rc   rh   rj   rƒ   r…   r*   r+   r,   rn   rn   ‡   ss   … à*€L�)Ó*á�ÓÙ�ÓÙ� LÔ1ð*€JÐ&ó ð
 1€N�CÓ0à+Ó+óó,0ð4Ø8ð4ØDMð4à	ó4ô4r+   rn   c           
     óv  — t        d d|j                  ¬«      }|j                  dd¬«       |j                  dd¬«       |D ]ô  }|j                  t	        |j
                  d	d¬
«      t	        d	¬«      «       |j                  D ]¡  }|j                  rJt        |d«      }t        | |g|j                  ¢­Ž }|j                  t        ||j                  «      |«       ŒY|j                  sJ ‚|j                  }|j                  «       D ]  }	 |j                  t        ||	|«      Ž  Œ Œ£ |j                  «        Œö |gS )NF)ÚboxÚexpandÚpaddingÚleftrA   )ÚjustifyÚratioz
cappa.helpro   )rq   rŒ   zcappa.group)rq   r‹   rp   ú, )r   r`   Ú
add_columnÚadd_rowr   r0   r1   r"   Úformat_arg_nameÚformat_argsr   r$   Úavailable_optionsÚformat_subcommand)
r|   Úhelp_formatterrz   Útabler4   Úfield_groupÚcombinedÚ	help_textr$   Úoptions
             r,   rx   rx   ½   s&  € ô �d 5°.×2MÑ2MÔN€EØ	×Ñ˜V¨1ÐÔ-Ø	×Ñ˜<¨qÐÔ1ãˆØ�‰Ü�—‘ =¸&ÔAÜ�}Ô%ô	
ð
 !×-Ô-ˆKØ×ÒÜ*¨;¸Ó=�ä'¨°ÐSÀ+×BRÑBRÒS�	à—‘Ü˜H n×&AÑ&AÓBØõð #×-Ò-Ð-Ð-Ø(×3Ñ3�
Ø(×:Ñ:Ö<�FØ!�E—M‘MÜ*¨>¸6À:ÓNòñ =ð .ð& 	�‰�ð3 ð6 ˆ7€Nr+   c                óv  — g }|D �]&  }|j                   }t        |t        «      r(t        |t        «      st	        t
        t           |«      }n|f}|D ]×  }|j                  j                  |j                  |j                  «      }d}	|j                  r!ddj                  |j                  «      z   dz   }	|j                  xs d||	|dœ}
t        |«      rt	        t         ||«      «      }t!        |«      }|sŒ¦ |j"                  di |
¤Ž}t%        ||«      }|sŒÇ|j'                  |«       ŒÙ �Œ) t)        | |«      S )zPFormat multiple args with the same field_name by concatenating their help texts.Ú zValid options: r�   Ú.)ru   rr   Úchoicesr7   r*   )rb   r=   r   r/   r   r
   r\   Úshow_defaultÚformat_defaultrr   rc   r�   Újoinru   ÚcallableÚTextComponentÚ_get_text_component_textr‚   Ú_replace_rich_text_componentrE   Ú_markdown_to_text)r|   r”   r"   Úsegmentsr7   Úunknown_arg_formatrb   Úformat_segmentrr   r�   ÚcontextÚformat_segment_textÚformatted_textÚsegments                 r,   r‘   r‘   â   s5  € ð %'€HäˆØ+×6Ñ6ÐÜÐ(¬(Ô3¼JØ¤ô=
ô œh¤yÑ1Ð3EÓF‰Jà,Ð.ˆJã(ˆNØ×&Ñ&×5Ñ5Ø—‘˜^×:Ñ:óˆGð ˆGØ�{Š{Ø+¨d¯i©i¸¿¹Ó.DÑDÀsÑJ�ð Ÿ™š BØ"Ø"Øñ	'ˆGô ˜Ô'Ü!%¤m±^ÀCÓ5HÓ!I�ä":¸>Ó"JÐÙ&Øà7Ð0×7Ñ7ÑB¸'ÑBˆNÜ2°>À>ÓRˆGâØ—‘ Õ(ò7 )ð ôL ˜W hÓ/Ð/r+   c           	     ó†  — t        d¬«      }|j                  j                  dd¬«      }t        «       }|D �]  }t	        |t
        «      rÃt        «       }|j                  ||«      D ]„  }|j                  }|sŒ|j                  d«      rd|j                  «       z   }|j                  d«      r|j                  «       dz   }|j                  t        ||j                  xs dd¬«      «       Œ† |j                  «        |sŒÊt        ||«       Œ×t	        |t        «      rt        j                   |«      }t        ||«       �Œ
 |S )NT)Ú	soft_wrapÚignore)Úno_wrapÚoverflowÚ r›   )rq   Úend)r   ÚoptionsÚupdater   r=   r   ÚrenderÚtextÚ
startswithÚlstripÚendswithÚrstriprE   rq   Ú_append_to_textr/   Úfrom_markup)	r|   ÚrenderablesÚrender_consoleÚrender_optionsrO   Ú
renderableÚrenderable_resultr¬   r·   s	            r,   r¥   r¥     s  € ô  tÔ,€NØ#×+Ñ+×2Ñ2¸4È(Ð2ÓS€Nä‹V€FÜ!ˆ
Ü�j¤(Ô+Ü $£ÐØ)×0Ñ0°¸^ÖL�Ø—|‘|�ÙØØ—?‘? 3Ô'Ø §¡£Ñ.�DØ—=‘= Ô%ØŸ;™;›=¨3Ñ.�DØ!×(Ñ(¬¨d¸'¿-¹-Ò:MÈ2ÐSUÔ)VÕWð Mð ×$Ñ$Ô&Ú Ü Ð(9Õ:ä˜*¤cÔ*Ü!×-Ñ-¨jÓ9�
ä˜F JÖ/ð' "ð* €Mr+   c                ól   — | r!| j                  d| j                  v rdnd«       | j                  |«       y )NÚ
r²   )rE   Úplain)r·   Ú	components     r,   r¼   r¼   0  s,   € ñ Ø�‰˜D D§J¡JÑ.‘D°CÔ8Ø‡K�K�	Õr+   c                óv   — t        | t        «      r| j                  S t        | t        «      r| j                  S | S r3   )r=   r   rÅ   r   Úmarkup)Úcs    r,   r£   r£   9  s-   € Ü�!”TÔØ�w‰wˆä�!”XÔØ�x‰xˆà€Hr+   c           	     óf  — t        | t        «      rBt        j                  || j                  | j                  | j
                  | j                  ¬«      S t        | t        «      rNt        || j                  | j                  | j                  | j                  | j                  | j                  ¬«      S |S )N)rq   r‹   r±   r³   )Ú
code_themer‹   rq   Ú
hyperlinksÚinline_code_lexerÚinline_code_theme)r=   r   r½   rq   r‹   r±   r³   r   rË   rÌ   rÍ   rÎ   )rÉ   r·   s     r,   r¤   r¤   C  s�   € Ü�!”TÔÜ×ÑØØ—'‘'Ø—I‘IØ—Z‘ZØ—‘ô
ð 	
ô �!”XÔÜØØ—|‘|Ø—I‘IØ—'‘'Ø—|‘|Ø×1Ñ1Ø×1Ñ1ô
ð 	
ð €Kr+   c                ó&  — |j                  «       }d|› d�g}|�H|j                  |«      D ]4  }|j                  }|j                  r|› d�}|j	                  d|› d�«       Œ6 t        dj                  |«      | j                  «      |j                  fS )Nú[cappa.subcommand]ú[/cappa.subcommand]z (deprecated)r�   )	Ú	real_nameÚvisible_aliases_forr0   Ú
deprecatedrE   r   r    r`   ru   )r”   rL   r$   Ú	canonicalÚpartsÚaliasÚlabels          r,   r“   r“   [  s    € ð
 ×!Ñ!Ó#€IØ! ) Ð,?Ð@ÐA€EØÐØ×3Ñ3°IÖ>ˆEØ—J‘JˆEØ×ÒØ ˜' Ð/�Ø�L‰LÐ-¨e¨WÐ4GÐHÕIð	 ?ô 	�—	‘	˜%Ó  .×"=Ñ"=Ó>Ø�‰ðð r+   c           	     óš   — d| › �g}|D ]0  }|j                   D ]  }|j                  t        |dd¬«      «       Œ! Œ2 dj                  |«      S )NzUsage: r�   rA   ©Únr²   )r1   rE   r�   r    )rg   rz   r¦   r4   r–   s        r,   rt   rt   n  sQ   € Ø$ T FÐ+Ð,€HÛˆØ ×-Ô-ˆKØ�O‰OœO¨K¸ÀÔCÕDñ .ð ð �8‰8�HÓÐr+   rÚ   c               ó   — | j                   �rg }| j                   D ]Ý  }|j                  }t        j                  |j                  «       xr |j
                  dk7  }|j                  ||¬«      }|j                  s$|j                  «       }|j
                  dk(  r|› d�}d|› d�}|j                  r8|r6|j                  j                  «       }	|j
                  dk(  r|	› d�}	|› d|	› d�}|j                  |«       Œß d	j                  |«      }
| j                  sd
|
› d�S |
S | j                  €J ‚| j                  j                  d«      }d|› d�S )zÈFormat the name(s) of args/subcommands for display.

    If given a FieldGroup, formats all items together with appropriate brackets.
    If given a single Arg/Subcommand, formats just that item.
    r   rÚ   éÿÿÿÿz ...z[cappa.arg]z[/cappa.arg]z [cappa.arg.name]z[/cappa.arg.name]r�   Ú[Ú]Ú,z{[cappa.subcommand]z[/cappa.subcommand]})r"   Únum_argsr   Úis_non_value_consumingÚactionrÛ   Ú	names_strÚ	is_optionÚupperÚ
value_namerE   r    r!   r$   )r?   Ú	delimiterrÛ   rÖ   r7   rá   Ú	has_valueÚ	arg_namesr·   r0   r—   s              r,   r�   r�   w  sL  € ð ‡yƒyØˆØ—9”9ˆCØ—|‘|ˆHä×4Ñ4°S·Z±ZÓ@Ð@ÒTÀXÇZÁZÐSTÁ_ð ð Ÿ™ i°1˜Ó5ˆIØ—=’=Ø%ŸO™OÓ-�	à—:‘: Ò#Ø#, +¨TÐ 2�Ià   ¨<Ð8ˆDà�}Š}¡Ø—~‘~×+Ñ+Ó-�Ø—:‘: Ò#Ø"˜V 4˜=�Dà˜Ð0°°Ð6GÐH�à�L‰L˜Õð- ð. —9‘9˜UÓ#ˆà�}Š}Ø�x�j �?Ð"Øˆà�?‰?Ð&Ð&Ð&Ø—‘×)Ñ)¨#Ó.€IØ! ) Ð,AÐBÐBr+   c                ó2   — dj                  d„ | D «       «      S )Nr�   c              3  ó(   K  — | ]
  }d |› d�–— Œ y­w)rÐ   rÑ   Nr*   )r>   rP   s     r,   r@   z*format_subcommand_names.<locals>.<genexpr>¢  s   è ø€ ÐPÉ%ÀQÐ)¨!¨Ð,?Ô@É%ùs   ‚)r    )Únamess    r,   Úformat_subcommand_namesrî   ¡  s   € Ø�9‰9ÑPÉ%ÓPÓPÐPr+   )r|   r   r”   rn   rz   rY   rW   zlist[Table])r|   r   r”   r_   r"   zFinalArg[Any]rW   r   )r|   r   r¾   zSequence[TextComponent]rW   r   )r·   r   rÆ   r   rW   ÚNone)rÉ   r¢   rW   r/   )rÉ   r¢   r·   r/   rW   r¢   r3   )r”   rn   rL   rX   r$   r#   )rg   r/   rz   rY   rW   r/   )r?   r   rè   r/   rÛ   ÚintrW   r/   )rí   z	list[str])AÚ
__future__r   ÚtypingÚcollections.abcr   Údataclassesr   r   Ú	itertoolsr   r   r	   r
   r   r   Úrich.consoler   r   Úrich.markdownr   Úrich.paddingr   Ú
rich.tabler   Ú	rich.textr   Útyping_extensionsr   r   Ú	cappa.argr   r   r   Úcappa.outputr   Úcappa.subcommandr   ÚTYPE_CHECKINGÚcappa.commandr   rð   r   r)   r   r.   ÚUnionr/   r¢   ÚCallabler\   r]   ÚProtocolr_   rn   rr   rx   r‘   r¥   r¼   r£   r¤   r“   rt   r�   rî   r*   r+   r,   Ú<module>r     sé  ðÞ "ã Ý $ß *Ý ß 3Õ 3ç )Ý "Ý  Ý Ý ß -ç .Ñ .Ý $Ý ,à	×ÒÝ*à—|‘| C¨¨c°3Ð$6Ñ7€	ˆ9Ó 7ñ �$Ô÷	.ð 	.ó ð	.ñ �$Ô÷Fð Fó ðFðR —‘˜T 8¨SÐ0Ñ1€Ø—|‘|ØØ
‡O�O�S˜‘X�J §¡¨]¸DÐ-@Ñ AÐAÑBðDñ€	ˆ9ó ð Ÿ™¨	Ñ2€
ˆIÓ 2ô�f—o‘oô ñ �$Ôô/4�Oó /4ó ð/4ñd &›€Ô ð"Øð"Ø&3ð"ØAOð"àó"ðJ,0Øð,0Ø&5ð,0Ø>Kð,0àó,0ó^ó>óóð6 *.ðØ!ðàðð 'óó&ð CDõ 'CôTQr+   