
    lKj                        d 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mZmZmZmZmZ ddlmZ erdd	lmZ dd
lmZmZ ddlmZ dddedefdZdddededee   fdZded   dedee   fdZdddededee   fdZ 	 	 	 	 d:de!e"edf   ef   de"edf   de#dede"edf   d e"edf   dee   fd!Z$d"edefd#Z%d$edefd%Z&d&edefd'Z'd(edefd)Z(d*edefd+Z)d(edefd,Z*d-ededee   fd.Z+dddedee   fd/Z,dddedefd0Z-d1e"edf   d2d3dedee   fd4Z.d5edefd6Z/dddedefd7Z0dddedefd8Z1d2d3dedefd9Z2y);zZsh completion script generator.

Generates static zsh completion scripts using the compsys framework.
No runtime Python dependency.
    N)dedent)indent)TYPE_CHECKING)is_iterable_type)CompletionActionCompletionDataclean_choice_textescape_for_shell_patternextract_completion_dataget_completion_actionstrip_markup)docstring_parse)App)ArgumentArgumentCollection)CommandSpecappr   	prog_namereturnc                    |rt        j                  d|      st        d|d      t        |       }d| dd| dddg}|j	                  t        |d	|| j                  rt        | j                        nd	| j                  rt        | j                        nd	
             |j	                  ddg       dj                  |      dz   S )a  Generate zsh completion script.

    Parameters
    ----------
    app : App
        The Cyclopts application to generate completion for.
    prog_name : str
        Program name (alphanumeric with hyphens/underscores).

    Returns
    -------
    str
        Complete zsh completion script.

    Raises
    ------
    ValueError
        If prog_name contains invalid characters.
    z^[a-zA-Z0-9_-]+$zInvalid prog_name: z0. Must be alphanumeric with hyphens/underscores.z	#compdef  
_cyclopts_z() {z  local line state )r   
help_flagsversion_flags}
)
rematch
ValueErrorr   extend_generate_completion_for_pathr   tupler   join)r   r   completion_dataliness       h/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/cyclopts/completion/zsh.pygenerate_completion_scriptr(      s    ( BHH%8)D.ym;klmm-c2O I;

YKu%
E 
LL%03uS^^,B696G6G% 1 12R	
 
LL	
 99Ud""    	argumentsr   
indent_strc                     t        d| d| d      }t        ||      }|j                  d      D cg c]  }|j                          c}S c c}w )aA  Generate dynamic completion for the 'run' command.

    Parameters
    ----------
    arguments : ArgumentCollection
        Arguments for run command.
    indent_str : str
        Indentation string.
    prog_name : str
        Program name.

    Returns
    -------
    list[str]
        Zsh completion code lines.
    a          local script_path
        local -a completions
        local -a remaining_words

        # If completing first argument (the script path), suggest files
        if [[ $CURRENT -eq 2 ]]; then
          _files
          return
        fi

        # Get absolute path to the script file
        script_path=${words[2]}
        script_path=${script_path:a}
        if [[ -f $script_path ]]; then
          remaining_words=(${words[3,-1]})
          local result
          local cmd

          if command -v z$ &>/dev/null; then
            cmd="a  "
          else
            return
          fi
          # Call back into cyclopts to get dynamic completions from the script
          result=$($cmd _complete run "$script_path" "${remaining_words[@]}" 2>/dev/null)
          if [[ -n $result ]]; then
            # Parse and display completion results
            completions=()
            while IFS= read -r line; do
              completions+=($line)
            done <<< $result
            _describe 'command' completions
          fi
        fir   )r   textwrap_indentsplitrstrip)r*   r+   r   templateindentedlines         r'    _generate_run_command_completionr3   X   sf    *  & # $ )" "HH x4H&.nnT&:;&:dDKKM&:;;;s   Apositional_argsr   help_formatc           	         g }| D cg c]*  }|j                         st        |j                        s)|, }}| D cg c]+  }|j                         rt        |j                        r*|- }}dt        dt        ffd}|D ]6  }d|j                  xs dz   }|j                   ||t        |                   8 t        d |D        d      }||r|d   }||j                   ||d             |S c c}w c c}w )	a  Generate positional argument specs for nested command context.

    In nested contexts (after *::arg:->args), word indexing is shifted:
    - words[1] = subcommand name
    - words[2] = first positional argument
    - words[3] = second positional argument, etc.

    Parameters
    ----------
    positional_args : list[Argument]
        Positional arguments to generate specs for.
    help_format : str
        Help text format.

    Returns
    -------
    list[str]
        List of zsh positional argument specs.
    positionr   c                 d   | j                  d      }|rP|D cg c]  }t        t        |             }}dj                  |      }d| d}t	        t        | 	            }d}n,t        t        | j                              }t        | 	      }d}|r| | d| d| | S | | d| | S c c}w )	NTforce ()"':)
get_choices_escape_choice_for_dq_specr	   r$   _escape_zsh_description_dq_description_text_map_completion_action_to_zshr   hint_get_description_from_argument)
argr7   choicescescaped_choiceschoices_stractiondescquoter5   s
            r'   _buildz1_generate_nested_positional_specs.<locals>._build   s    ///-Y`aY`TU9:KA:NOY`Oa((?3KQ'F-.?[.QRDE23H3RSF1#{CDE>D%
!D66(5':lUGT\S]]^_c^dejdkJll bs   B-   r   c              3   B   K   | ]  }|j                         s|  y wNis_var_positional.0as     r'   	<genexpr>z4_generate_nested_positional_specs.<locals>.<genexpr>   s     Emq/B/B/D1m   N*)rU   r   rF   strindexappendnext)	r4   r5   specsrH   variadic_argsnon_variadic_argsrP   poschosens	    `       r'   !_generate_nested_positional_specsre      s   . E %4mOSs7L7L7NRbcfckckRlSOMm&&c.C.C.EN^_b_g_gNh  mc mc m ! 399>"VCS*+ ! EmEtLF~-q!VFC()LO ns   *C4C4C9C9)C9argumentc           	      F   g }t        | |      }| j                  d      }|r|D cg c]  }t        t        |             }}|j	                  | d       |j	                  | d       |D ]  }|j	                  | d| d| d        |j	                  | d       |j	                  | d	       |S t        | j                        }	|	t        j                  k(  r|j	                  | d
       |S |	t        j                  k(  r|j	                  | d       |S c c}w )aY  Generate _describe-based completion for a single positional argument.

    Parameters
    ----------
    argument : Argument
        Argument to generate completion for.
    help_format : str
        Help text format.
    indent_str : str
        Indentation string.

    Returns
    -------
    list[str]
        Zsh completion code lines.
    Tr9   zlocal -a choicesz	choices=(z  'r@   r?   r=   z_describe 'argument' choices_files_directories)
rG   rA   _escape_completion_choicer	   r^   r   rF   r   FILESDIRECTORIES)
rf   r5   r+   r&   rN   rI   rJ   rK   choicerM   s
             r'   _generate_describe_completionrn      s7   * E)(K@D """.GT[\T[q45Fq5IJT[\
|#345
|9-.%FLLJ<s6(!D6;< &
|1%&
|#?@A L 'x}}5%+++LLJ<v./
 L	 '333LLJ<|45 L! ]s   Dr%   .command_pathr   r   r   c           
         | |   }|j                   }|j                  }d|z  }	g }
|dk(  r#|dk(  r|
j                  t        ||	|             |
S g }g }|D cg c]  }|j                  |j
                  s|  }}|D cg c]"  }|j                         r|j
                  s!|$ }}|j                  d        |D ])  }t        ||j                        }|j                  |       + t               }|D ]v  }t        d |j                  D              s t        |j                  |j                  |j                        }|j                  |       |j                  |j                         x |D ]0  }|j!                  d      s||vsd	| d
}|j#                  |       2 |D ]0  }|j!                  d      s||vsd	| d}|j#                  |       2 t        d |D              }|r|s|rt%        ||j                        }nd}|D cg c]*  }|j'                         st)        |j*                        s)|, }}t-        d |D        d      }||r|d   }|D ][  }|j'                         xs t)        |j*                        }|r	||us|r3d}t/        ||j                        }|j#                  |       ] ||z   }|r"|j#                  d       |j#                  d       t1        ||	      }|
j                  |       |rh|rdnd}|
j#                  |	 d| d       |dd D ]  }|
j#                  |	 d| d        |
j#                  |	 d|d           |
j#                  d       |r|
j#                  |	 d       |
j#                  |	 d       g }|D ]h  }|j                  D ]W  }|j!                  d      rt3        |j                  |j                        } t5        |      }!|j#                  d	|! d|  d	       Y j |
j#                  |	 d       |
j#                  |	 d       |D ]  }"|
j#                  |	 d|"         |
j#                  |	 d        |
j#                  |	 d!       |
j#                  |	 d"       |
j#                  |	 d#       |
j#                  |	 d$       |D ]  }|j                  D ]y  }|j!                  d      r||fz   }#|#| v s t7        |      }$|
j#                  |	 d|$ d%       t9        | |#|d&z   |||      }%|
j                  |%       |
j#                  |	 d'       {  |
j#                  |	 d(       |
j#                  |	 d"       |
j#                  |	 d)       |
S c c}w c c}w c c}w )*a  Generate completion code for a specific command path.

    Parameters
    ----------
    completion_data : dict
        Extracted completion data.
    command_path : tuple[str, ...]
        Command path.
    indent : int
        Indentation level.
    prog_name : str
        Program name.
    help_flags : tuple[str, ...]
        Help flags.
    version_flags : tuple[str, ...]
        Version flags.

    Returns
    -------
    list[str]
        Zsh code lines.
    r;   )runcycloptsNc                 "    | j                   xs dS )Nr   )r]   )rX   s    r'   <lambda>z/_generate_completion_for_path.<locals>.<lambda>9  s    qww|!|r)   )keyc              3   >   K   | ]  }|j                  d         yw-N)
startswith)rW   names     r'   rY   z0_generate_completion_for_path.<locals>.<genexpr>C  s     I0Hts#0Hs   rx   r?   z![Display this message and exit.]'z[Display application version.]'c              3   b   K   | ]'  }|j                   D ]  }|j                  d          ) ywrw   )namesry   )rW   registered_commandcmd_names      r'   rY   z0_generate_completion_for_path.<locals>.<genexpr>U  s4       ?G);XjXpXpHH$$Xp$xs   -/Fc              3   B   K   | ]  }|j                         s|  y wrS   rT   rV   s     r'   rY   z0_generate_completion_for_path.<locals>.<genexpr>g  s     R=aA<O<O<Q=rZ   r   Tz'1: :->cmds'z'*::arg:->args'z-C r   z_arguments \  z \zcase $state inz  cmds)r@   z    local -a commandsz    commands=(z      z    )z,    _describe -t commands 'command' commands    ;;z  args)z    case $words[1] inr=      z
        ;;z    esacesac)commandsr*   r!   r3   r]   showis_positional_onlysort_generate_keyword_specsr5   setanyr|   #_generate_keyword_specs_for_commandr   updatery   r^   re   rU   r   rF   r_   _generate_positional_spec_generate_eq_form_prepass_safe_get_description_from_apprj   _escape_command_name_for_caser"   )&r%   ro   r   r   r   r   datar   r*   r+   r&   
args_specspositional_specsrH   r4   keyword_argsrf   r`   flag_command_namesr}   flagspechas_non_flag_commands	seen_restrX   iterable_argschosen_restis_rest
eq_prepassc_flagcmd_listr~   rN   escaped_cmd_namecmdsub_pathescaped_case_name	sub_liness&                                         r'   r"   r"     s   < <(D}}HIvJExI$;5iYWXJ '0Vis3993HSXXsiOV#,Z9CC4J4J4LQTQYQYC9LZ 34 !'$2B2BC%  !
 &I0B0H0HII7"((*<*@*@$BRBRE e$%%&8&>&>? ' ??3D0B$Btf=>Dd# 
 ??3D0B$Btf;<Dd# 
    ?G   4@RVRbRbc I(7m11;N;N;PTdefekekTlQMmR=RTXYK"}+A.+"446Y:J8==:Y{2i  $I04;K;KL ''- , &
2
.)+, +<DJ	LL/R
|;vhb9:sODLLJ<r$s34 $
|2jn%567R
|>23
|7+,"*.44**3/9:L:P:PRVRbRbcD'@'J$OOa(8'94&$BC	 5 #+ 	
|#89:
|>23CLLJ<vcU34 
|5)*
|#OPQ
|6*+
|7+,
|#89:"*.44&&s+'8+5.(Eh(O%LLJ<v6G5H!JK ='6A:y*Vc!I LL+LLJ<z!:; 5 #+ 	
|8,-
|6*+
|4()LG WZ` ns0   U9'U94U9>U>U>!U>*V7Vsc                 2    d| j                  dd      z   dz   S )u  Wrap ``s`` in POSIX-safe single quotes for embedding as a shell argument.

    The only character that can't appear inside a single-quoted shell string
    is ``'`` itself, which is handled with the ``'\''`` end-and-restart
    trick. Everything else (spaces, parens, ``$``, backticks, etc.) is
    literal — no backslash-escaping is needed, and adding any would just
    surface as visible backslashes in the resulting argument.
    r?   '\''replace)r   s    r'   _shell_single_quoter     s     3((3..r)   rm   c                    | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  d	d
      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | S )a  Escape a choice value for embedding in a single-quoted shell context.

    Used for ``_describe`` array elements (``'value:desc'``) where the only
    parser the value passes through is the array-element parser, not the
    ``_arguments`` choice-list eval. Choice should already be cleaned via
    ``clean_choice_text()``.

    Parameters
    ----------
    choice : str
        Cleaned choice value.

    Returns
    -------
    str
        Escaped choice value safe for zsh completion.
    r   \\r?   r   `\`$\$r>   \"r;   z\ r<   z\(r=   z\)[\[]\];z\;|z\|&z\&r@   \:r   )rm   s    r'   rj   rj     s    $ ^^D&)F^^C)F^^C'F^^C'F^^C'F^^C'F^^C'F^^C'F^^C'F^^C'F^^C'F^^C'F^^C'F^^C'FMr)   valuec                     | j                  dd      }dD ]  }|j                  |d|z         } |j                  dd      }|j                  dd      }|j                  dd      }|j                  dd	      }|S )
a^  Escape a choice value for ``_arguments``' parenthesized choice list.

    The value passes through *two* parsers:

    1. zsh's outer double-quoted-string parser, which interprets ``\``,
       ``"``, ``$`` and backtick.
    2. ``_arguments``' choice-list parser, which whitespace-tokenizes and
       reads ``\X`` as a literal X.

    A literal ``'`` cannot be embedded in a single-quoted spec string
    (``'\''`` ends/restarts the quoting and the parser then sees an
    unbalanced ``'``), so choice-bearing specs are emitted with a *double*-
    quoted outer string and routed through this helper.
    r   r   z '"()[]:;|&$`r>   r   r   r   r   r   r   )r   r   chs      r'   rB   rB     sy    ( 	dF#AIIb$)$ 
 	
		$A			#uA			#uA			#uAHr)   textc                    | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  d	d
      } | j                  dd      } | j                  dd      } | S )zEscape a description for embedding in a double-quoted spec string.

    Same as ``_escape_zsh_description`` but skips the ``'`` -> ``'\\''``
    substitution: ``'`` is literal in a double-quoted context.
    r   r   r   r   r   r   r>   r   r@   r   r   r   r   r   r   r   s    r'   rC   rC     sy     <<f%D<<U#D<<U#D<<U#D<<U#D<<U#D<<U#DKr)   rz   c                     t        | d      S )a  Escape special characters in command name for zsh case patterns.

    In zsh case patterns, glob characters need to be escaped to match literally.
    Colons also need escaping because zsh's completion system may treat them
    specially when populating the $words array after _describe completion.

    Parameters
    ----------
    name : str
        Command name.

    Returns
    -------
    str
        Escaped command name safe for zsh case patterns.
    z*?[]()|:)chars)r
   )rz   s    r'   r   r     s    & $D
;;r)   c                 &   | j                  dd      } | j                  dd      } | j                  dd      } | j                  dd      } | j                  d	d
      } | j                  dd      } | j                  dd      } | j                  dd      } | S )zEscape special characters in description text for zsh.

    Parameters
    ----------
    text : str
        Cleaned description text.

    Returns
    -------
    str
        Escaped description safe for zsh completion.
    r   r   r   r   r   r   r>   r   r?   r   r@   r   r   r   r   r   r   r   s    r'   _escape_zsh_descriptionr   1  s     <<f%D<<U#D<<U#D<<U#D<<W%D<<U#D<<U#D<<U#DKr)   r   c           	      D   g }| D ]  }|j                         s|j                  j                  r*|j                  j                  xs g D cg c]  }|j	                  d      s| }}|sf|j                  d      }|r6|D cg c]  }t        t        |             }}ddj                  |      z   }	n1t        |j                        }
t        |
      }|dk(  rd}	n	|dk(  rd}	n|D ]  }|j                  ||	f         |sg S | dg}|D ]q  \  }}	|j                  | d	| d
       |j                  | d| d       |j                  | d|	        |j                  | d       |j                  | d       s |j                  | d       |S c c}w c c}w )u  Emit a ``--opt=value`` pattern dispatcher to run before ``_arguments``.

    For each keyword argument with a long name and a value action, emits a
    ``--opt=*)`` case branch that strips the ``--opt=`` prefix via
    ``compset -P`` and then dispatches to the value action (choice list,
    ``_files``, or ``_directories``). The natural-TAB experience on the
    option *name* is preserved by leaving the underlying ``_arguments``
    spec without an ``=`` suffix; this pre-pass only catches the user
    explicitly typing the eq form.

    Skipped for arguments whose ``Parameter.requires_equals`` is True —
    those already emit the ``=`` spec, which handles eq-form completion
    via ``_arguments``.

    Parameters
    ----------
    keyword_args : list
        Keyword argument objects from ArgumentCollection (already filtered
        to ``arg.show``).
    indent_str : str
        Leading indentation.

    Returns
    -------
    list[str]
        Zsh code lines (empty if no eligible options).
    --Tr9   zcompadd -- r;   rh   ri   zcase ${words[CURRENT]} inr   z=*)z    compset -P 'z='z    z
    returnr   r   )is_flag	parameterrequires_equalsrz   ry   rA   r   r	   r$   r   rF   rE   r^   )r   r+   casesrf   rz   
long_namesrI   rJ   quotedaction_linerM   
zsh_actionr&   opt_names                 r'   r   r   I  s   8 $&E !3!3!C!C(0(:(:(?(?(E2(E`(Et$//Z^J_d(E
`&&T&2
 JQQA)*;A*>?FQ'#((6*::K*8==9F6v>JX%&~-,DLL$,- 3 !8 	 ,12E "'+
|2hZs34
|#3H:R@A
|4}56
|:./
|6*+ "' 
LLJ<t$%LM a Rs   F"FFc                    g }| j                         }d}d}| j                  d      }|r=d}|D cg c]  }t        t        |             }}dj	                  |      }	d|	 d}d}nt        t        | j                              }|rt        t        | |            nt        | |      }
|rdnd	}t        | j                  j                        }| }| j                  j                  D ]  }|j                  d
      s|xr |j                  d      xr |}|r| dn|}|rdnd}|r|s| | | d|
 d| }nD|r#| | | d|
 d|j!                  d
       d| | 
}n| | | d|
 d|j!                  d
       | }|j#                  |        t        | |      }| j$                  D ].  }|j                  d
      sd	| d| d}|j#                  |       0 |S c c}w )a  Generate zsh _arguments specs for a keyword argument.

    Parameters
    ----------
    argument : Argument
        Argument object from ArgumentCollection.
    help_format : str
        Help text format.

    Returns
    -------
    list[str]
        List of zsh argument specs.
    r   FTr9   r;   r<   r=   r>   r?   rx   r   =r[   r   r   z]:r@   ]')r   rA   rB   r	   r$   rE   r   rF   rC   rD   rG   boolr   r   rz   ry   lstripr^   	negatives)rf   r5   r`   r   rM   has_choicesrI   rJ   rK   rL   rN   rO   requires_eqtakes_valuerz   
accepts_eq	spec_namerepeat_prefixr   desc_sqs                       r'   r   r     s/    ED FK""".GU\]U\PQ56G6JKU\]hh/[M#./DX]]/ST  	##4X{#KL+HkB 	 CCE4 x))99:K
 (K""''s# JT__T%:J{
",tfAJ$	*W]OI;avQugFDW]OI;avRC@P?QQRSYRZ[`ZabDW]OI;avRC@P?QRWQXYDT (" -X{CG""s#4&'"%T	 # LK ^s   Gc                 B   | j                  d      }|rP|D cg c]  }t        t        |             }}dj                  |      }d| d}t	        t        | |            }d}n,t        t        | j                              }t        | |      }d}| j                         st        | j                        r|r| d| d	| | S | d| | S | j                  t        d
| j                   d      | j                  dz   }	|r| |	 d	| d	| | S | |	 d	| | S c c}w )a  Generate zsh _arguments spec for a positional argument.

    Parameters
    ----------
    argument : Argument
        Positional argument object.
    help_format : str
        Help text format.

    Returns
    -------
    str
        Zsh positional argument spec.
    Tr9   r;   r<   r=   r>   r?   z*:r@   zPositional-only argument z missing indexrQ   )rA   rB   r	   r$   rC   rD   rE   r   rF   rG   rU   r   r]   r    r|   )
rf   r5   rI   rJ   rK   rL   rM   rN   rO   rc   s
             r'   r   r     sW   " """.GU\]U\PQ56G6JKU\]hh/[M#)*;Hk*RS./DX]]/ST-hD!!#'7'F5;%4&&%1ZE7"TFSXRYAZZ ~~4X^^4DNSTT
..1
C5;eWSE4&&%1^E73%qQUPVW\V]A^^% ^s   Dr|   cmd_appzApp | CommandSpecc                     g }t        ||      }| D ].  }|j                  d      sd| d| d}|j                  |       0 |S )ae  Generate zsh _arguments specs for a command that looks like a flag.

    Parameters
    ----------
    names : tuple[str, ...]
        Registered names for the command.
    cmd_app : App | CommandSpec
        Command app or spec.
    help_format : str
        Help text format.

    Returns
    -------
    list[str]
        List of zsh argument specs.
    rx   r?   r   r   )r   ry   r^   )r|   r   r5   r`   rN   rz   r   s          r'   r   r     sR    & E)';?D??3tfAdV2&DLL 
 Lr)   rM   c                 T    | t         j                  k(  ry| t         j                  k(  ryy)a  Map shell-agnostic completion action to zsh-specific completion command.

    Parameters
    ----------
    action : CompletionAction
        Shell-agnostic completion action.

    Returns
    -------
    str
        Zsh completion command (e.g., "_files", "_directories", or "").
    rh   ri   r   )r   rk   rl   )rM   s    r'   rE   rE   ;  s+     !'''	#//	/r)   c                 ,    t        t        | |            S )a  Extract plain text description from Argument, escaping zsh special chars.

    Parameters
    ----------
    argument : Argument
        Argument object with parameter help text.
    help_format : str
        Help text format.

    Returns
    -------
    str
        Escaped plain text description (truncated to 80 chars).
        Falls back to argument name if help text is empty, since zsh _arguments
        requires a non-empty description for positional specs to work correctly.
    )r   rD   )rf   r5   s     r'   rG   rG   O  s    " ##4X{#KLLr)   c                     t        | j                  j                  xs d|      }|s| j                  r| j                  d   nd}|S )zDPlain-text description for an argument with the empty-help fallback.r   formatr   rf   )r   r   helpr|   )rf   r5   r   s      r'   rD   rD   c  s?    **//52kJD %-NNx~~a 
Kr)   c                     	 t        | j                  d      }|j                  xs d}t        ||      }t        |      S # t        $ r t	        | j                  xs d      }Y <w xY w)aE  Extract plain text description from App, escaping zsh special chars.

    Parameters
    ----------
    cmd_app : App | CommandSpec
        Command app or spec with help text.
    help_format : str
        Help text format.

    Returns
    -------
    str
        Escaped plain text description (truncated to 80 chars).
    	plaintextr   r   )r   r   short_description	Exceptionr\   r   r   )r   r5   parsedr   s       r'   r   r   m  sd    ' {;''-2 [1D"4((	  '7<<%2&'s   &A   "A%$A%)   rr   r   r   )3__doc__r   textwrapr   r   r-   typingr   cyclopts.annotationsr   cyclopts.completion._baser   r   r	   r
   r   r   r   cyclopts.help.helpr   rr   r   cyclopts.argumentr   r   cyclopts.command_specr   r\   r(   listr3   re   rn   dictr#   intr"   r   rj   rB   rC   r   r   r   r   r   r   rE   rG   rD   r   r   r)   r'   <module>r      s   
  .   1   />17#E 7#c 7#c 7#t:<#:<:< :< 
#Y	:<zA*%AA 
#YAH,,, , 
#Y	,d "$%'p%S/>9:pS/p p 	p
 c3hp c?p 
#Ypf	/3 	/3 	/ c  c  Fc c BS S  < < <,# # 0FD Fc Fd3i FR`j `s `tCy `F%_
 %_ %_ %_Pc?%8GJ	#Y<*: s (MZ Mc Mc M(
   ),? )c )VY )r)   