L iD UddlmZddlZddlZddlZddlZddlZddlmZm Z m Z m Z m Z ddl mZer ddlZddlmZej&dZded<d"d Zd#d Zd#d Zd$d Zd%d Zd&dZd'dZd(dZd)dZehde e!dddhz zZ"ded<d*dZ#d+dZ$ej&dZ%ded<d,dZ&d-dZ'e dde(e)ejTejVejXejZfZ.ded <d.d!Z/y)/) annotationsN) TYPE_CHECKINGAnyFinal TypeAliasUnion)StreamlitAPIException) SupportsStrz^[a-zA-Z0-9_&\-\. ]+$r_ALPHANUMERIC_CHAR_REGEXcZtjt|jS)z;Convert an object to text, dedent it, and strip whitespace.)textwrapdedentstrstriptexts [/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/streamlit/string_util.py clean_textr"s ??3t9 % + + --cB|rtjt|duSdS)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)rematchr rs r_contains_special_charsr's$ @D288,d 3t ;NNrcNt|syddlm}|jdd|vS)z'Check if input string is a valid emoji.Fr) ALL_EMOJISu️)rstreamlit.emojisrreplace)rrs ris_emojir0s& "4 (+ << b )Z 77rcddlm}||vS)z/Check if input string is a valid Material icon.r)ALL_MATERIAL_ICONS)streamlit.material_icon_namesr!) maybe_iconr!s ris_material_iconr$:s@ + ++rcT||jdr t|St|S)zFValidate an icon or emoji and return it in normalized format if valid.z :material) startswithvalidate_material_iconvalidate_emoji)icons rvalidate_icon_or_emojir*As) DOOK8%d++ $ rc@|yt|r|Std|d)Nrz The value "zZ" is not a valid emoji. Shortcodes are not allowed, please use a single character instead.)rr ) maybe_emojis rr(r(Hs7   k]#1 1 rc4dg}|yd}tj||}d}|s%td|jd|dzd|d|j \}}||vs |r t |s%td|jd|dzd|d d |d|d S) z^Validate a Material icon shortcode and return the icon in normalized format if valid. materialrz^\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:`**.:)rrr rgroupsr$)maybe_material_iconsupported_icon_packs icon_regex icon_matchinvisible_white_space pack_name icon_names rr'r'Ts "(J*&9:J% #.66s>! hnnQ/ //rcNd}d}|D]}||k(r|dz }t||}d}|S)zBReturns the count of the max sequence of a given char in a string.rr;)max)stringchar max_sequencecurrent_sequencecs rmax_char_sequencerHsIL ! 9  ! |-=>L  ! r>   TEXTCHARSc@t|jdtS)z8Guess if an input bytesarray can be encoded as a string.N)bool translaterS)inps ris_binary_stringrXs  dI. //rct|d}d}t|dk\r|dz }|dz}t|dk\rdj|djdjd gd |S) z:Simplifies number into Human readable format, returns str.z.2grir;g@@z{}{}f0.)rkmbt)floatabsformatrstrip)num num_converted magnitudes rsimplify_numberrhs}SI'MI m  $Q   m  $ ==  ##C(//4 + rz0^\<[a-zA-Z_]+[a-zA-Z0-9<>._ ]* at 0x[0-9a-f]+\>$_OBJ_MEM_ADDRESSc>ttj|S)zAReturns True if the string looks like .)rUrir)rCs ris_mem_address_strrks  &&v. //rcztjdd|}tjdd|jS)zConverts 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]))rsublower)camel_case_strs1s r to_snake_caserqs4 "Hn =B 66%x 4 : : <rs# >>2/","**-E"F%F. O8,  '(T0( E$$6 74& @@ 5 0 %"**7% 0 =  OO  LL NN  9 #r