§
    é˜ºhC  ã                  ó°  — d Z ddlmZ ddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZ ddlmZ ddlmZ eeeef         Zeeej        eee	eegef         f         e
e         ej        ej        f         Ze	egef         Zd)d„Zd*d„Z ej        d¬¦  «         G d„ dej        ¦  «        ¦   «         Z	 	 d+d,d„Z G d„ dej        ¦  «        Z  G d„ dej        ¦  «        Z! G d„ d ej        ¦  «        Z" ej        d¬¦  «         G d!„ d"e¦  «        ¦   «         Z# G d#„ d$e#¦  «        Z$ G d%„ d&e¦  «        Z% ej        d¬¦  «         G d'„ d(e¦  «        ¦   «         Z&dS )-aY  Classes that define arguments for populating ArgumentParser.

The argparse module's ArgumentParser.add_argument() takes several parameters and
is quite customizable. However this can lead to bugs where arguments do not
behave as expected.

For better ease-of-use and better testability, define a set of classes for the
types of flags used by LLM Magics.

Sample usage:

  str_flag = SingleValueFlagDef(name="title", required=True)
  enum_flag = EnumFlagDef(name="colors", required=True, enum_type=ColorsEnum)

  str_flag.add_argument_to_parser(my_parser)
  enum_flag.add_argument_to_parser(my_parser)
é    )ÚannotationsN)ÚAnyÚCallableÚSequenceÚTupleÚUnion)Úllmfn_inputs_source)Úllmfn_outputsÚxú	type[Any]ÚreturnÚstrc                óP   — 	 | j         S # t          $ r t          | ¦  «        cY S w xY w©N)Ú__name__ÚAttributeErrorr   ©r   s    úm/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/google/generativeai/notebook/flag_def.pyÚ_get_type_namer   ?   s9   € ðØŒzÐøÝð ð ð Ý�1‰vŒvˆˆˆðøøøs   ‚	 ‰%¤%Únamec                ó^   — | st          d¦  «        ‚| d         dk    rt          d¦  «        ‚| S )z.Validation for long and short names for flags.zCannot be emptyr   ú-zCannot start with dash)Ú
ValueError)r   s    r   Ú_validate_flag_namer   F   s:   € àð ,ÝÐ*Ñ+Ô+Ð+ØˆA„w�#‚~€~ÝÐ1Ñ2Ô2Ð2Ø€Kó    T)Úfrozenc                  óÚ   — e Zd ZU dZded<   dZded<   dZded	<   eZd
ed<   dZ	ded<   dZ
ded<   dZded<   dZded<   ej        dd„¦   «         Zej        dd„¦   «         Zd d„Zd!d„Zd„ ZdS )"ÚFlagDefaã  Abstract base class for flag definitions.

    Attributes:
      name: Long name, e.g. "colors" will define the flag "--colors".
      required: Whether the flag must be provided on the command line.
      short_name: Optional short name.
      parse_type: The type that ArgumentParser should parse the command line
        argument to.
      dest_type: The type that the parsed value is converted to. This is used when
        we want ArgumentParser to parse as one type, then convert to a different
        type. E.g. for enums we parse as "str" then convert to the desired enum
        type in order to provide cleaner help messages.
      parse_to_dest_type_fn: If provided, this function will be used to convert
        the value from `parse_type` to `dest_type`. This can be used for
        validation as well.
      choices: If provided, limit the set of acceptable values to these choices.
      help_msg: If provided, adds help message when -h is used in the command
        line.
    r   r   FÚboolÚrequiredNú
str | NoneÚ
short_nameztype[_PARSETYPES]Ú
parse_typeztype[_DESTTYPES] | NoneÚ	dest_typez_PARSEFN | NoneÚparse_to_dest_type_fnzlist[_PARSETYPES] | NoneÚchoicesÚhelp_msgÚparserúargparse.ArgumentParserr   ÚNonec                ó   — dS )zþAdds this flag as an argument to `parser`.

        Child classes should implement this as a call to parser.add_argument()
        with the appropriate parameters.

        Args:
          parser: The parser to which this argument will be added.
        N© )Úselfr(   s     r   Úadd_argument_to_parserzFlagDef.add_argument_to_parserq   ó   € € € r   c                ó   — dS )z.For child classes to do additional validation.Nr,   ©r-   s    r   Ú_do_additional_validationz!FlagDef._do_additional_validation|   r/   r   útype[_DESTTYPES]c                ó,   — | j         €| j        n| j         S )z!Returns the final converted type.)r$   r#   r1   s    r   Ú_get_dest_typezFlagDef._get_dest_type€   s   € à"&¤.Ð"8ˆtŒˆ¸d¼nÐLr   Ú_PARSEFNc                óf   — | j         �| j         S |                      ¦   «         }|| j        k    rd„ S |S )z;Returns a function to convert from parse_type to dest_type.Nc                ó   — | S r   r,   r   s    r   ú<lambda>z4FlagDef._get_parse_to_dest_type_fn.<locals>.<lambda>�   s   € ˜Q€ r   )r%   r5   r#   )r-   r$   s     r   Ú_get_parse_to_dest_type_fnz"FlagDef._get_parse_to_dest_type_fn„   sB   € ð Ô%Ð1ØÔ-Ð-à×'Ò'Ñ)Ô)ˆ	Ø˜œÒ'Ð'Ø�;ÐàÐr   c                óŒ   — t          | j        ¦  «         | j        �t          | j        ¦  «         |                      ¦   «          d S r   )r   r   r"   r2   r1   s    r   Ú__post_init__zFlagDef.__post_init__‘   sB   € Ý˜DœIÑ&Ô&Ð&ØŒ?Ð&Ý ¤Ñ0Ô0Ð0à×&Ò&Ñ(Ô(Ð(Ð(Ð(r   ©r(   r)   r   r*   ©r   r*   )r   r3   )r   r6   )r   Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r    r"   r   r#   r$   r%   r&   r'   ÚabcÚabstractmethodr.   r2   r5   r:   r<   r,   r   r   r   r   O   s$  € € € € € € ðð ð( €I€I�IØ€HÐÐÐÑà!€JÐ!Ð!Ð!Ñ!à$'€JÐ'Ð'Ð'Ñ'Ø)-€IÐ-Ð-Ð-Ñ-Ø-1ÐÐ1Ð1Ð1Ñ1à(,€GÐ,Ð,Ð,Ñ,Ø€HÐÐÐÑàÔðð ð ñ Ôðð 	Ôð=ð =ð =ñ Ôð=ðMð Mð Mð Mðð ð ð ð)ð )ð )ð )ð )r   r   FÚ	namespaceúargparse.NamespaceÚdestÚhas_defaultr   Údefault_valuer   c                óV   — t          | |¦  «        sdS |sdS t          | |¦  «        |k    S )a  Returns true if `namespace.dest` is set to a non-default value.

    Args:
      namespace: The Namespace that is populated by ArgumentParser.
      dest: The attribute in the Namespacde to be populated.
      has_default: "None" is a valid default value so we use an additional
        `has_default` boolean to indicate that `default_value` is present.
      default_value: The default value to use when `has_default` is True.

    Returns:
      Whether namespace.dest is set to something other than the default value.
    FT)ÚhasattrÚgetattr)rE   rG   rH   rI   s       r   Ú_has_non_default_valuerM   ™   s?   € õ$ �9˜dÑ#Ô#ð Øˆuàð ð ˆtå�9˜dÑ#Ô# }Ò4Ð4r   c                  ó0   ‡ — e Zd ZdZdˆ fd„Z	 ddd„Zˆ xZS )Ú_SingleValueStoreActionz�Custom Action for storing a value in an argparse.Namespace.

    This action checks that the flag is specified at-most once.
    r$   r   r%   r6   c                óZ   •—  t          ¦   «         j        ||fi |¤Ž || _        || _        d S r   ©ÚsuperÚ__init__Ú
_dest_typeÚ_parse_to_dest_type_fn©r-   Úoption_stringsrG   r$   r%   ÚkwargsÚ	__class__s         €r   rS   z _SingleValueStoreAction.__init__¼   ó;   ø€ ð 	�‰ŒÔ˜¨Ð8Ð8°Ð8Ð8Ð8Ø#ˆŒØ&;ˆÔ#Ð#Ð#r   Nr(   r)   rE   rF   Úvaluesústr | Sequence[Any] | NoneÚoption_stringr!   c                óü  — t          |t          ¦  «        st          |t          ¦  «        rJ ‚t          || j        t          | d¦  «        t          | d¦  «        ¬¦  «        r(t          j        | d 	                    |¦  «        ¦  «        ‚	 |  
                    |d         ¦  «        }n\# t          $ rO}t          j        | d 	                    |d         t          t          |¦  «        ¦  «        |¦  «        ¦  «        ‚d }~ww xY wt          || j        ¦  «        sOt          d 	                    t          | j        ¦  «        t          t          |¦  «        ¦  «        ¦  «        ¦  «        ‚t!          || j        |¦  «         d S )NÚdefault©rH   rI   úCannot set {} more than oncer   ú!Error with value "{}", got {}: {}ú+Converted to wrong type, expected {} got {})Ú
isinstancer   ÚbytesrM   rG   rK   rL   ÚargparseÚArgumentErrorÚformatrU   Ú	Exceptionr   ÚtyperT   ÚRuntimeErrorÚsetattr)r-   r(   rE   r[   r]   Úconverted_valueÚes          r   Ú__call__z _SingleValueStoreAction.__call__È   s€  € õ ˜f¥cÑ*Ô*ÐLµ:¸fÅeÑ3LÔ3LÐLÐLÐLå!ØØŒIÝ  iÑ0Ô0Ý! $¨	Ñ2Ô2ð	
ñ 
ô 
ð 	eõ Ô(¨Ð/M×/TÒ/TÐUbÑ/cÔ/cÑdÔdÐdð	Ø"×9Ò9¸&À¼)ÑDÔDˆOˆOøÝð 	ð 	ð 	ÝÔ(ØØ3×:Ò:¸6À!¼9ÅnÕUYÐZ[ÑU\ÔU\ÑF]ÔF]Ð_`ÑaÔañô ð øøøøð	øøøõ ˜/¨4¬?Ñ;Ô;ð 	ÝØ=×DÒDÝ" 4¤?Ñ3Ô3Ý"¥4¨Ñ#8Ô#8Ñ9Ô9ñô ñô ð õ 	�	˜4œ9 oÑ6Ô6Ð6Ð6Ð6s   Â
B& Â&
C?Â0A
C:Ã:C?©r$   r   r%   r6   r   ©r(   r)   rE   rF   r[   r\   r]   r!   ©r   r?   r@   rA   rS   ro   Ú__classcell__©rY   s   @r   rO   rO   ¶   se   ø€ € € € € ðð ð

<ð 
<ð 
<ð 
<ð 
<ð 
<ð" %)ð"7ð "7ð "7ð "7ð "7ð "7ð "7ð "7ð "7r   rO   c                  ó0   ‡ — e Zd ZdZdˆ fd„Z	 ddd„Zˆ xZS )Ú_MultiValuesAppendActionz‚Custom Action for appending values in an argparse.Namespace.

    This action checks that the flag is specified at-most once.
    r$   r   r%   r6   c                óZ   •—  t          ¦   «         j        ||fi |¤Ž || _        || _        d S r   rQ   rV   s         €r   rS   z!_MultiValuesAppendAction.__init__ó   rZ   r   Nr(   r)   rE   rF   r[   r\   r]   r!   c                óæ  — t          |t          ¦  «        st          |t          ¦  «        rJ ‚t          || j        ¦  «        }|r(t          j        | d                     |¦  «        ¦  «        ‚|D �]}	 |                      |¦  «        }n\# t          $ rO}t          j        | d                     |d         t          t          |¦  «        ¦  «        |¦  «        ¦  «        ‚d }~ww xY wt          || j        ¦  «        s5t          d                     | j        t          |¦  «        ¦  «        ¦  «        ‚||v r(t          j        | d                     |¦  «        ¦  «        ‚|                     |¦  «         �Œd S )Nra   rb   r   rc   zDuplicate values "{}")rd   r   re   rL   rG   rf   rg   rh   rU   ri   r   rj   rT   rk   Úappend)	r-   r(   rE   r[   r]   Ú
curr_valueÚvaluerm   rn   s	            r   ro   z!_MultiValuesAppendAction.__call__ÿ   s�  € õ ˜f¥cÑ*Ô*ÐLµ:¸fÅeÑ3LÔ3LÐLÐLÐLå˜Y¨¬	Ñ2Ô2ˆ
Øð 	eÝÔ(¨Ð/M×/TÒ/TÐUbÑ/cÔ/cÑdÔdÐdàð 	/ñ 	/ˆEðØ"&×"=Ò"=¸eÑ"DÔ"D��øÝð ð ð ÝÔ,ØØ7×>Ò>Ø˜qœ	¥>µ$°q±'´'Ñ#:Ô#:¸Añô ñô ð øøøøðøøøõ ˜o¨t¬Ñ?Ô?ð Ý"ØA×HÒHØœ­¨oÑ)>Ô)>ñô ñô ð ð
  *Ð,Ð,ÝÔ,¨TÐ3J×3QÒ3QÐRWÑ3XÔ3XÑYÔYÐYà×Ò˜oÑ.Ô.Ð.Ñ.ð)	/ð 	/s   Á2BÂ
C!ÂA
CÃC!rp   r   rq   rr   rt   s   @r   rv   rv   í   se   ø€ € € € € ðð ð

<ð 
<ð 
<ð 
<ð 
<ð 
<ð" %)ð#/ð #/ð #/ð #/ð #/ð #/ð #/ð #/ð #/r   rv   c                  ó.   ‡ — e Zd ZdZˆ fd„Z	 ddd„Zˆ xZS )Ú_BooleanValueStoreActionzßCustom Action for setting a boolean value in argparse.Namespace.

    The boolean flag expects the default to be False and will set the value to
    True.
    This action checks that the flag is specified at-most once.
    c                ó>   •—  t          ¦   «         j        ||fi |¤Ž d S r   )rR   rS   )r-   rW   rG   rX   rY   s       €r   rS   z!_BooleanValueStoreAction.__init__-  s,   ø€ ð 	�‰ŒÔ˜¨Ð8Ð8°Ð8Ð8Ð8Ð8Ð8r   Nr(   r)   rE   rF   r[   r\   r]   r!   c                ó²   — t          || j        dd¬¦  «        r(t          j        | d                     |¦  «        ¦  «        ‚t          || j        d¦  «         d S )NTFr`   ra   )rM   rG   rf   rg   rh   rl   )r-   r(   rE   r[   r]   s        r   ro   z!_BooleanValueStoreAction.__call__5  si   € õ "ØØŒIØØð	
ñ 
ô 
ð 	eõ Ô(¨Ð/M×/TÒ/TÐUbÑ/cÔ/cÑdÔdÐdå�	˜4œ9 dÑ+Ô+Ð+Ð+Ð+r   r   rq   rr   rt   s   @r   r}   r}   %  s`   ø€ € € € € ðð ð9ð 9ð 9ð 9ð 9ð %)ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,r   r}   c                  ój   — e Zd ZU dZ G d„ dej        ¦  «        Zej        Zde	d<   dd„Z
dd„Zdd„ZdS )ÚSingleValueFlagDefao  Definition for a flag that takes a single value.

    Sample usage:
      # This defines a flag that can be specified on the command line as:
      #   --count=10
      flag = SingleValueFlagDef(name="count", parse_type=int, required=True)
      flag.add_argument_to_parser(argument_parser)

    Attributes:
      default_value: Default value for optional flags.
    c                  ó   — e Zd ZdZdZdS )ú SingleValueFlagDef._DefaultValuezíSpecial value to represent "no value provided".

        "None" can be used as a default value, so in order to differentiate between
        "None" and "no value provided", create a special value for "no value
        provided".
        N)r   r?   r@   rA   ÚNOT_SETr,   r   r   Ú_DefaultValuerƒ   U  s   € € € € € ð	ð 	ð ˆˆˆr   r…   z!_DESTTYPES | _DefaultValue | NonerI   r   r   c                ó6   — | j         t          j        j        k    S )z2Returns whether `default_value` has been provided.)rI   r�   r…   r„   r1   s    r   Ú_has_default_valuez%SingleValueFlagDef._has_default_valuea  s   € àÔ!Õ%7Ô%EÔ%MÒMÐMr   r(   r)   r*   c           
     óX  — d| j         z   g}| j        �|d| j        z   gz  }i }|                      ¦   «         r
| j        |d<   | j        �
| j        |d<   | j        �
| j        |d<    |j        |t          | j        |  	                    ¦   «         |  
                    ¦   «         | j        ddœ|¤Ž d S )Nú--r   r_   r&   Úhelpé   )Úactionrj   r$   r%   r    Únargs)r   r"   r‡   rI   r&   r'   Úadd_argumentrO   r#   r5   r:   r    ©r-   r(   ÚargsrX   s       r   r.   z)SingleValueFlagDef.add_argument_to_parsere  sÛ   € Ø�t”yÑ Ð!ˆØŒ?Ð&Ø�S˜4œ?Ñ*Ð+Ñ+ˆDàˆØ×"Ò"Ñ$Ô$ð 	3Ø $Ô 2ˆF�9ÑØŒ<Ð#Ø $¤ˆF�9ÑØŒ=Ð$Ø!œ]ˆF�6‰NàˆÔØÝ*Ø”Ø×)Ò)Ñ+Ô+Ø"&×"AÒ"AÑ"CÔ"CØ”]Øð		
ð 		
ð ð		
ð 		
ð 		
ð 		
ð 		
r   c                óL  — | j         r$|                      ¦   «         rt          d¦  «        ‚n#|                      ¦   «         st          d¦  «        ‚|                      ¦   «         r=| j        �8t	          | j        |                      ¦   «         ¦  «        st          d¦  «        ‚d S d S d S )Nz(Required flags cannot have default valuez(Optional flags must have a default valuez>Default value must be of the same type as the destination type)r    r‡   r   rI   rd   r5   r1   s    r   r2   z,SingleValueFlagDef._do_additional_validation}  sÉ   € ØŒ=ð 	MØ×&Ò&Ñ(Ô(ð MÝ Ð!KÑLÔLÐLðMð ×*Ò*Ñ,Ô,ð MÝ Ð!KÑLÔLÐLà×"Ò"Ñ$Ô$ð 	c¨Ô);Ð)GÝ˜dÔ0°$×2EÒ2EÑ2GÔ2GÑHÔHð cÝ Ð!aÑbÔbÐbð	cð 	cÐ)GÐ)Gðcð cr   N)r   r   r=   r>   )r   r?   r@   rA   ÚenumÚEnumr…   r„   rI   rB   r‡   r.   r2   r,   r   r   r�   r�   G  s©   € € € € € € ð
ð 
ðð ð ð ð ˜œ	ñ ô ð ð 8EÔ7L€MÐLÐLÐLÑLðNð Nð Nð Nð
ð 
ð 
ð 
ð0
cð 
cð 
cð 
cð 
cð 
cr   r�   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚEnumFlagDefaT  Definition for a flag that takes a value from an Enum.

    Sample usage:
      # This defines a flag that can be specified on the command line as:
      #   --color=red
      flag = SingleValueFlagDef(name="color", enum_type=ColorsEnum,
                                required=True)
      flag.add_argument_to_parser(argument_parser)
    Ú	enum_typeútype[enum.Enum]c               ó®  •— t          |t          j        ¦  «        st          d¦  «        ‚d|v rt	          d¦  «        ‚t
          |d<   d|v rt	          d¦  «        ‚||d<   d|v rI|d         D ]?}	  ||¦  «         Œ# t          $ r$ t	          d                     |¦  «        ¦  «        d ‚w xY wnd„ |D ¦   «         |d<    t          ¦   «         j        |i |¤Ž d S )	Nz "enum_type" must be of type Enumr#   z@Cannot set "parse_type" for EnumFlagDef; set "enum_type" insteadr$   z?Cannot set "dest_type" for EnumFlagDef; set "enum_type" insteadr&   z Invalid value in "choices": "{}"c                ó   — g | ]	}|j         ‘Œ
S r,   )r{   )Ú.0r   s     r   ú
<listcomp>z(EnumFlagDef.__init__.<locals>.<listcomp>ª  s   € Ð <Ð <Ð <¨Q ¤Ð <Ð <Ð <r   )	Ú
issubclassr’   r“   Ú	TypeErrorr   r   rh   rR   rS   )r-   r–   r�   rX   r   rY   s        €r   rS   zEnumFlagDef.__init__•  s(  ø€ Ý˜)¥T¤YÑ/Ô/ð 	@ÝÐ>Ñ?Ô?Ð?ð ˜6Ð!Ð!ÝÐ_Ñ`Ô`Ð`Ý"ˆˆ|Ñà˜&Ð Ð ÝÐ^Ñ_Ô_Ð_Ø'ˆˆ{Ñà˜ÐÐà˜IÔ&ð ]ð ]�ð]Ø�I˜a‘L”L�L�LøÝ!ð ]ð ]ð ]Ý$Ð%G×%NÒ%NÈqÑ%QÔ%QÑRÔRÐX\Ð\ð]øøøð]ð !=Ð <°)Ð <Ñ <Ô <ˆF�9Ñà�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)s   Á/A;Á;.B))r–   r—   )r   r?   r@   rA   rS   rs   rt   s   @r   r•   r•   Š  sG   ø€ € € € € ðð ð*ð *ð *ð *ð *ð *ð *ð *ð *ð *r   r•   c                  ó"   — e Zd ZdZd	d„Zd
d„ZdS )ÚMultiValuesFlagDefa6  Definition for a flag that takes multiple values.

    Sample usage:
      # This defines a flag that can be specified on the command line as:
      #   --colors=red green blue
      flag = MultiValuesFlagDef(name="colors", parse_type=str, required=True)
      flag.add_argument_to_parser(argument_parser)
    r(   r)   r   r*   c                ó  — d| j         z   g}| j        �|d| j        z   gz  }i }| j        �
| j        |d<   | j        �
| j        |d<    |j        |t
          | j        |                      ¦   «         |                      ¦   «         | j	        g ddœ|¤Ž d S )Nr‰   r   r&   rŠ   ú+)rŒ   rj   r$   r%   r    r_   r�   )
r   r"   r&   r'   rŽ   rv   r#   r5   r:   r    r�   s       r   r.   z)MultiValuesFlagDef.add_argument_to_parser¹  s½   € Ø�t”yÑ Ð!ˆØŒ?Ð&Ø�S˜4œ?Ñ*Ð+Ñ+ˆDàˆØŒ<Ð#Ø $¤ˆF�9ÑØŒ=Ð$Ø!œ]ˆF�6‰NàˆÔØÝ+Ø”Ø×)Ò)Ñ+Ô+Ø"&×"AÒ"AÑ"CÔ"CØ”]ØØð
	
ð 
	
ð ð
	
ð 
	
ð 
	
ð 
	
ð 
	
r   c                ó   — d S r   r,   r1   s    r   r2   z,MultiValuesFlagDef._do_additional_validationÐ  s   € àˆr   Nr=   r>   )r   r?   r@   rA   r.   r2   r,   r   r   rŸ   rŸ   ¯  sF   € € € € € ðð ð
ð 
ð 
ð 
ð.ð ð ð ð ð r   rŸ   c                  ó"   — e Zd ZdZd	d„Zd
d„ZdS )ÚBooleanFlagDefzÐDefinition for a Boolean flag.

    A boolean flag is always optional with a default value of False. The flag does
    not take any values. Specifying the flag on the commandline will set it to
    True.
    r   r*   c                óŠ   — | j         �t          d¦  «        ‚| j        �t          d¦  «        ‚| j        �t          d¦  «        ‚d S )Nz*dest_type cannot be set for BooleanFlagDefz6parse_to_dest_type_fn cannot be set for BooleanFlagDefz(choices cannot be set for BooleanFlagDef)r$   r   r%   r&   r1   s    r   r2   z(BooleanFlagDef._do_additional_validationÞ  sP   € ØŒ>Ð%ÝÐIÑJÔJÐJØÔ%Ð1ÝÐUÑVÔVÐVØŒ<Ð#ÝÐGÑHÔHÐHð $Ð#r   r(   r)   c           	     ó¦   — d| j         z   g}| j        �|d| j        z   gz  }i }| j        �
| j        |d<    |j        |t          t
          ddddœ|¤Ž d S )Nr‰   r   rŠ   Fr   )rŒ   rj   r    r_   r�   )r   r"   r'   rŽ   r}   r   r�   s       r   r.   z%BooleanFlagDef.add_argument_to_parseræ  s‡   € Ø�t”yÑ Ð!ˆØŒ?Ð&Ø�S˜4œ?Ñ*Ð+Ñ+ˆDàˆØŒ=Ð$Ø!œ]ˆF�6‰NàˆÔØÝ+ÝØØØð	
ð 	
ð ð	
ð 	
ð 	
ð 	
ð 	
r   Nr>   r=   )r   r?   r@   rA   r2   r.   r,   r   r   r¤   r¤   Õ  sJ   € € € € € ðð ðIð Ið Ið Ið
ð 
ð 
ð 
ð 
ð 
r   r¤   )r   r   r   r   )r   r   r   r   )FN)
rE   rF   rG   r   rH   r   rI   r   r   r   )'rA   Ú
__future__r   rC   rf   Údataclassesr’   Útypingr   r   r   r   r   Ú google.generativeai.notebook.libr	   r
   r   ÚintÚfloatÚ_PARSETYPESr“   ÚLLMFnInputsSourceÚLLMFnOutputsSinkÚ
_DESTTYPESr6   r   r   Ú	dataclassÚABCr   rM   ÚActionrO   rv   r}   r�   r•   rŸ   r¤   r,   r   r   ú<module>r´      s  ððð ð" #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø €€€Ø Ð Ð Ð Ø €€€Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8à @Ð @Ð @Ð @Ð @Ð @Ø :Ð :Ð :Ð :Ð :Ð :ð �C˜˜e�OÔ$€ð ØØ„IØ	ˆ#ˆx˜˜c˜
 C˜Ô(Ð
(Ô)ØˆS„MØÔ)ØÔ"ð$ô€
ð �[�M :Ð-Ô.€ðð ð ð ðð ð ð ð €Ô˜dÐ#Ñ#Ô#ðF)ð F)ð F)ð F)ð F)ˆcŒgñ F)ô F)ñ $Ô#ðF)ðX Øð	5ð 5ð 5ð 5ð 5ð:47ð 47ð 47ð 47ð 47˜hœoñ 47ô 47ð 47ðn5/ð 5/ð 5/ð 5/ð 5/˜xœñ 5/ô 5/ð 5/ðp,ð ,ð ,ð ,ð ,˜xœñ ,ô ,ð ,ðD €Ô˜dÐ#Ñ#Ô#ð?cð ?cð ?cð ?cð ?c˜ñ ?cô ?cñ $Ô#ð?cðD"*ð "*ð "*ð "*ð "*Ð$ñ "*ô "*ð "*ðJ#ð #ð #ð #ð #˜ñ #ô #ð #ðL €Ô˜dÐ#Ñ#Ô#ð!
ð !
ð !
ð !
ð !
�Wñ !
ô !
ñ $Ô#ð!
ð !
ð !
r   