K i%6dZddlZdZdZeZeddDcic] }|e| c}ZejeejeddDcic]}|d|z c}dZ d e fd Z ejd Z d e d efd Zycc}wcc}w)zEncoding related utilities.Nc|dk\xr|dkS)N is c/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/google/protobuf/text_encoding.py _AsciiIsPrintr s b QWci}tddD]}t|rd|z||<d|td<d|td<d|td <d |td <d |td <d|td<|S)Nr\%03oz\t z\n z\r z\""z\''z\\\)ranger ord)retrs r _MakeStrEscapesrs # C=a  !|c!f#c$i.#c$i.#c$i.#c#h-#c$i.#c$i. *r r rcRd}|r- ||jdjtz }d}|r-|S#t$ri}||d|jjdjtz }|t ||jz }||jdzd}Yd}~rd}~wwxYw)Nutf-8)decode translate _str_escapesUnicodeDecodeErrorstart _byte_escapes) text_bytesres r _DecodeUtf8EscapeErrorsr&$s #* Z  w ' 1 1, ??cj  * * Z ! ( ( 1 ; ;L IIc ]:agg. //caggaij)j*s)4 B&AB!!B&returnct|t}|r"|r|jtSt |S|r|j d}dj |Dcgc] }t| c}Scc}w)amEscape a bytes string for use in an text protocol buffer. Args: text: A byte string to be escaped. as_utf8: Specifies if result may contain non-ASCII characters. In Python 3 this allows unescaped non-ASCII Unicode characters. In Python 2 the return value will be valid UTF-8 rather than only ASCII. Returns: Escaped string (str). rr) isinstancestrrr r&encodejoinr#)textas_utf8text_is_unicodecs r CEscaper11sc tS)/  ^^L )) $T ** [[ !d 77d3M!$3 443sA.z"(\\+)x([0-9a-fA-F])(?![0-9a-fA-F])r-cd}tj||}|jdjd}|jdjd}|jdS)zUnescape a text string with C-style escape sequences to UTF-8 bytes. Args: text: The data to parse in a str. Returns: A byte string. ct|jddzr&|jddz|jdzS|jdS)Nrx0r)lengroup)ms r ReplaceHexzCUnescape..ReplaceHexYsF 1771: WWQZ$  ++ 771:r raw_unicode_escaperunicode_escapezlatin-1)_CUNESCAPE_HEXsubr+r)r-r9results r CUnescaper?Psc   j$ /& ==- . 5 56J K& == ! ( ()9 :& y !!r )__doc__rer rr rchrr#updater&r*r1compiler<bytesr?rs0r rFs"    %*!SM2qCF2 \" uS#?!aAo?@  5c58AB"C"E"c3?s B B