+
    Q(ir                        ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIHtHtH	t	H
t
HtHt ^ RIHt ]P                  R8  d   ^ RIHt M^ RIHt ^ RIHtHtHtHtHtHtHtHtHt ]'       d   ^ RIHt ^ RIHt ^ R	I H!t! R
 R lt"]PF                  ! 4       t$ ! R R]4      t% ! R R]4      t& ! R R]4      t'R R lt(] ! R R4      4       t)R R lt*R# )    N)CallableIterable)TYPE_CHECKINGAnyLiteralOptionalUnioncast)fieldSelf)	UNSETSentinel
SortHelperfrozenhelp_formatter_converteris_iterableresolve_callablessort_key_converterto_tuple_converter)ArgumentCollection)HelpFormatter)	Parameterc                2    V ^8  d   QhR\         R,          /# )   valuer   )r   )formats   "T/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/cyclopts/group.py__annotate__r   '   s     I Ih{F[ I    c                 L    Vf   R # VP                   '       d   \        R4      hR # )Nz,Group default_parameter cannot have a group.)group
ValueError)instance	attributer   s   &&&r   %_group_default_parameter_must_be_noner&   '   s$    }{{{GHH r    c                       ] tR t^4tRtR# )"DEFAULT_COMMANDS_GROUP_SORT_MARKER N__name__
__module____qualname____firstlineno____static_attributes__r)   r    r   r(   r(   4       r    r(   c                       ] tR t^8tRtR# )#DEFAULT_ARGUMENTS_GROUP_SORT_MARKERr)   Nr*   r)   r    r   r2   r2   8   r0   r    r2   c                       ] tR t^<tRtR# )$DEFAULT_PARAMETERS_GROUP_SORT_MARKERr)   Nr*   r)   r    r   r4   r4   <   r0   r    r4   c                $    V ^8  d   QhR\         /# )r   valstr)r   s   "r   r   r   @   s     $ $s $r    c                 *    V '       d   V # \        4       # N)object)r6   s   &r   _group_name_converterr<   @   s    3#68#r    c                     a  ] tR t^Dt o ]! RR]R7      t Rt]! RRRR7      t]! RR]	RR	7      t
]! RR
 RR7      t]! R]RR7      t]! R]RR7      t]V 3R lR l4       t]R 4       t]R 4       t]RV 3R lR ll4       t]RV 3R lR ll4       t]R V 3R lR ll4       t]R!RRRRRRRRRR/V 3R lR lll4       tV 3R ltRtV tR# )"Group name)defaultalias	converterNshowT)rA   rB   kw_onlysort_key)rA   rB   rC   rE   c                N    \        \        \        R 3,          \        V 4      4      # ).)r
   tupler   r   )xs   &r   <lambda>Group.<lambda>`   s    Dx}!57I!7LMr    )rA   rC   rE   )rA   	validatorrE   c                    < V ^8  d   QhRS[ /# r   returnr7   )r   __classdict__s   "r   r   Group.__annotate__o   s     @ @c @r    c                X    \        V P                  4      \        J d   R # V P                  # )r?   )type_namer;   selfs   &r   r@   
Group.namen   s!    $**%/r?TZZ?r    c                `    V P                   f   \        V P                  4      # V P                   # r:   )_showboolr@   rU   s   &r   rD   
Group.showr   s"    "&**"4tDIID$**Dr    c                F    V P                   \        J d   R # V P                   # r:   )	_sort_keyr   rU   s   &r   rF   Group.sort_keyv   s    ~~.tBDNNBr    c                    < V ^8  d   QhRS[ /# rN   r   )r   rP   s   "r   r   rQ   {   s     G G4 Gr    c                    V ! V\         R 7      # )rF   )r2   clsr@   s   &&r   create_default_argumentsGroup.create_default_argumentsz   s    4"EFFr    c                    < V ^8  d   QhRS[ /# rN   r   )r   rP   s   "r   r   rQ      s     H HT Hr    c                    V ! V\         R 7      # ra   )r4   rb   s   &&r   create_default_parametersGroup.create_default_parameters~   s    4"FGGr    c                    < V ^8  d   QhRS[ /# rN   r   )r   rP   s   "r   r   rQ      s     F F Fr    c                    V ! V\         R 7      # ra   )r(   rb   s   &&r   create_default_commandsGroup.create_default_commands   s    4"DEEr    rL   default_parameterhelp_formatterc                    < V ^8  d   QhRS[ /# rN   r   )r   rP   s   "r   r   rQ      s     6
 6
 
6
r    c          
         \        \        4      p\        P                  ! V4      '       d   \        V4      pVf
   \        V3pM"\        V4      '       d   \        V4      V3pMWH3pV ! VVVVVVVR7      # )a  Create a group with a globally incrementing :attr:`~Group.sort_key`.

Used to create a group that will be displayed **after** a previously instantiated :meth:`Group.create_ordered` group on the help-page.

Parameters
----------
name: str
    Group name used for the help-page and for group-referenced-by-string.
    This is a title, so the first character should be capitalized.
    If a name is not specified, it will not be shown on the help-page.
help: str
    Additional documentation shown on the help-page.
    This will be displayed inside the group's panel, above the parameters/commands.
show: bool | None
    Show this group on the help-page.
    Defaults to :obj:`None`, which will only show the group if a ``name`` is provided.
sort_key: Any
    If provided, **prepended** to the globally incremented counter value (i.e. has priority during sorting).

validator: None | Callable[[ArgumentCollection], Any] | Iterable[Callable[[ArgumentCollection], Any]]
    Group validator to collectively apply.
default_parameter: cyclopts.Parameter | None
    Default parameter for elements within the group.
help_formatter: cyclopts.help.protocols.HelpFormatter | None
    Custom help formatter for this group's help display.
)rD   rF   rL   rn   ro   )next_sort_key_counterinspectisgeneratorr   r   rH   )	rc   r@   helprD   rF   rL   rn   ro   counts	   &&&$$$$$ r   create_orderedGroup.create_ordered   s|    L &'x((H~Hu~H""h/H (H/)
 	
r    c                  < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[R,          ;R&   S[;R&   RS[R.S[3,          ,          S[S[R.S[3,          ,          ,          ;R&   S[R,          ;R	&   S[RS[R,          R
3,          ;R&   # )r   rT   rv   NrY   r]   r   rL   r   rn   r   ro   )rA   plain)r8   rZ   r   r   r   r   r	   r   )r   rP   s   "r   r   rQ   D   s     Q  N   $;H! $  % 4 h 45s:;;hxQePfhkPkGl>mm 5 @  , A L $(: ;_LM M r    r)   )	Arguments)
Parameters)Commands)r?   r?   )r+   r,   r-   r.   r   r<   rT   rv   rY   r   r]   rL   r&   rn   r   ro   propertyr@   rD   rF   classmethodrd   rh   rl   rx   __annotate_func__r/   __classdictcell__)rP   s   @r   r>   r>   D   st    r;PQE D t64HE$	I qvMqI 0570 QV 8$QN @ @ E E C C G G G H H H F F F 6

 6
 6
 6
 6
 6
 6
 6
G  r    r>   c          	          V ^8  d   QhR\         \        ,          R\         \        ,          R\        \         \        ,          \         \        ,          3,          /# )r   groups
attributesrO   )listr>   r   rH   )r   s   "r   r   r      s>     2 2U 2c 2uT%[RVWZR[E[?\ 2r    c                   \        V 4      \        V4      8X  g   Q hV '       g   W3# \        P                  ! \        WRR7       UUu. uF1  w  r#\        \	        VP
                  V4      VP                  W#34      NK3  	  upp4      p\        V Uu. uF  qUP                  NK  	  upRR/ w  rg\        V4      \        V4      3# u uppi u upi )ar  Sort groups for the help-page.

Note, much logic is similar to here and ``HelpPanel.sort``, so any changes here should probably be reflected over there as well.

Parameters
----------
groups: list[Group]
    List of groups to sort by their ``sort_key``.
attributes: list[Any]
    A list of equal length to ``groups``.
    Remains consistent with ``groups`` via argsort.
F)strictr   )	lenr   sortzipr   r]   r@   r   r   )r   r   r"   r%   sorted_entriesrI   
out_groupsout_attributess   &&      r   sort_groupsr      s     v;#j/)))!!__ %(5$I	
$I  (%@%**uN`a$I	
N "%&G1ww&G!VPU!VJ
T.111	

 'Hs   7C
C)      )+rt   	itertoolssyscollections.abcr   r   typingr   r   r   r   r	   r
   attrsr   version_infor   typing_extensionscyclopts.utilsr   r   r   r   r   r   r   r   r   cyclopts.argumentr   cyclopts.help.protocolsr   cyclopts.parameterr   r&   rw   rs   r(   r2   r4   r<   r>   r   r)   r    r   <module>r      s      
 .  w&
 
 
 45,I OO% 	 		( 		8 	$ x
 x
 x
v2r    