
    chx              	      |   % S SK Jr  S SKrS SKrS SKJrJr  S SKJr  \(       a  S SK	J
r
  \R                  " S5      rS\S'   SS	 jrSS
 jrSS jrSS jrS S jrS!S jrS"S jrS#S jrS$S jr\" 1 Sk\" \" SS5      5      S1-
  -  5      rS\S'   S%S jrS&S jr\R                  " S5      rS\S'   S'S jrS(S jrg))    )annotationsN)TYPE_CHECKINGFinal)StreamlitAPIException)SupportsStrz^[a-zA-Z0-9_&\-\. ]+$r   _ALPHANUMERIC_CHAR_REGEXc                \    [         R                  " [        U 5      5      R                  5       $ )z;Convert an object to text, dedent it, and strip whitespace.)textwrapdedentstrstriptexts    hC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\streamlit/string_util.py
clean_textr      s    ??3t9%++--    c                N    U (       a  [         R                  " [        U 5      SL $ S$ )zCheck if a string contains any special chars.

Special chars in that case are all chars that are not
alphanumeric, underscore, hyphen or whitespace.
NF)rematchr   r   s    r   _contains_special_charsr   "   s$     @D288,d3t;NNr   c                Z    [        U 5      (       d  gSSKJn  U R                  SS5      U;   $ )z'Check if input string is a valid emoji.Fr   )
ALL_EMOJISu   ️ )r   streamlit.emojisr   replace)r   r   s     r   is_emojir   +   s)    "4((+<<b)Z77r   c                    SSK Jn  X;   $ )z/Check if input string is a valid Material icon.r   )ALL_MATERIAL_ICONS)streamlit.material_icon_namesr   )
maybe_iconr   s     r   is_material_iconr!   5   s    @++r   c                `    U b!  U R                  S5      (       a  [        U 5      $ [        U 5      $ )zFValidate an icon or emoji and return it in normalized format if valid.z	:material)
startswithvalidate_material_iconvalidate_emoji)icons    r   validate_icon_or_emojir'   <   s,    DOOK88%d++$r   c                L    U c  g[        U 5      (       a  U $ [        SU  S35      e)Nr   zThe value "zZ" is not a valid emoji. Shortcodes are not allowed, please use a single character instead.)r   r   )maybe_emojis    r   r%   r%   C   s:    

k] #1 	1 r   c                T   S/nU c  gSn[         R                  " X 5      nSnU(       d%  [        SU R                  SUS-   5       SU S35      eUR	                  5       u  pVXQ;  d  U(       a  [        U5      (       d%  [        SU R                  SUS-   5       SU S	35      eS
U SU S
3$ )zVValidate a Material icon shortcode and return the icon in
normalized format if valid.
materialr   z^\s*:(.+)\/(.+):\s*$u   ​zThe value `"/zW"` is not a valid Material icon. Please use a Material icon shortcode like **`:materialz/thumb_up:`**z/thumb_up:`**.:)r   r   r   r   groupsr!   )maybe_material_iconsupported_icon_packs
icon_regex
icon_matchinvisible_white_space	pack_name	icon_names          r   r$   r$   O   s     	 "(J*:J %#.66s<QTW<WXY Z01@
 	
 &,,.I 	-	**#.66s<QTW<WXY Z01A
 	
 yk9+Q''r   c                    [        U 5      (       d  SU 4$ SSKJn  [        R                  " X5      nUc  SU 4$ UR                  S5      UR                  S5      4$ )zReturn a tuple containing the first emoji found in the given string and
the rest of the string (minus an optional separator between the two).
r   r   )EMOJI_EXTRACTION_REGEX      )r   r   r7   r   searchgroup)r   r7   re_matchs      r   extract_leading_emojir=   y   sX    
 #4(( 4x7yy/6H4x>>!hnnQ///r   c                R    SnSnU  H  nXA:X  a  US-  n[        X#5      nM  SnM     U$ )zBReturns the count of the max sequence of a given char in a string.r   r8   )max)stringcharmax_sequencecurrent_sequencecs        r   max_char_sequencerE      s?    L9!|>L   r   >         	   
                      	TEXTCHARSc                @    [        U R                  S[        5      5      $ )z8Guess if an input bytesarray can be encoded as a string.N)bool	translaterP   )inps    r   is_binary_stringrU      s     dI.//r   c                    [        U S 5      nSn[        U5      S:  a  US-  nUS-  n[        U5      S:  a  M  SR                  US R                  S5      R                  S	5      / S
QU   5      $ )z:Simplifies number into Human readable format, returns str.z.2gr   i  r8   g     @@z{}{}f0.)r   kmbt)floatabsformatrstrip)numnum_converted	magnitudes      r   simplify_numberre      s}    SI'MI
m

$Q	 m

$ ==
##C(//4 + r   z0^\<[a-zA-Z_]+[a-zA-Z0-9<>._ ]* at 0x[0-9a-f]+\>$_OBJ_MEM_ADDRESSc                >    [        [        R                  U 5      5      $ )zAReturns True if the string looks like <foo blarg at 0x15ee6f9a0>.)rR   rf   r   )r@   s    r   is_mem_address_strrh      s     &&v.//r   c                ~    [         R                  " SSU 5      n[         R                  " SSU5      R                  5       $ )z|Converts UpperCamelCase and lowerCamelCase to snake_case.

Examples
--------
    fooBar -> foo_bar
    BazBang -> baz_bang

z(.)([A-Z][a-z]+)z\1_\2z([a-z0-9])([A-Z]))r   sublower)camel_case_strs1s     r   to_snake_casern      s4     
"Hn	=B66%x4::<<r   )r   r   returnr   )r   r   ro   rR   )r    r   ro   rR   )r&   
str | Nonero   r   )r)   rp   ro   r   )r/   rp   ro   r   )r   r   ro   ztuple[str, str])r@   r   rA   r   ro   int)rT   bytesro   rR   )rb   rq   ro   r   )r@   r   ro   rR   )rl   r   ro   r   ) 
__future__r   r   r
   typingr   r   streamlit.errorsr   streamlit.type_utilr   compiler   __annotations__r   r   r   r!   r'   r%   r$   r=   rE   	bytearraysetrangerP   rU   re   rf   rh   rn    r   r   <module>r}      s    # 	  ' 2/"$**-E"F % F.
O8, 	'(T0( E$$6 74& @@	5 
0
 **7 % 
0

=r   