+
    NV-j&  ã                   óÞ  € ^ RI t ^ RIHtHt ^ RIHtHtHt ^RIH	t	H
t
 R R lt ! R R]4      t ! R	 R
]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]R8X  Ed   ^RIHt ]! 4       t]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R4       ]P+                  R 4       ]P+                  R!4       ]P+                  R"4       ]P+                  R#4       ]P+                  R$4       ]P+                  R+4       ]P+                  R,4       ]P+                  R%4       ^ RIt]P/                  ]P0                  ! R&R'R(^/R)7      RR*7       R# R# )-é    N)ÚABCÚabstractmethod)ÚClassVarÚSequenceÚUnion)ÚSpanÚTextc                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚregexesÚreturn)Ústr)Úformats   "Úa/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/rich/highlighter.pyÚ__annotate__r      s   € ÷ ñ œSð ¤Sñ ó    c                 ó$   € RP                  V 4      # )zoCombine a number of regexes in to a single regex.

Returns:
    str: New regex with all regexes ORed together.
Ú|)Újoin)r   s   *r   Ú_combine_regexr      s   € ð �8‰8�GÓÐr   c                   óR   a € ] tR t^t o RtV 3R lR lt]V 3R lR l4       tRtV t	R# )ÚHighlighterz%Abstract base class for highlighters.c                ó<   <€ V ^8„  d   QhRS[ S[S[3,          RS[/# )r   Útextr   )r   r   r	   )r   Ú__classdict__s   "€r   r   ÚHighlighter.__annotate__   s$   ø€ ÷ ñ ™U¡3© 9Õ-ð ±$ñ r   c                óØ   € \        V\        4      '       d   \        V4      pM6\        V\        4      '       d   VP                  4       pM\	        RV: 24      hV P                  V4       V# )zÑHighlight a str or Text instance.

Args:
    text (Union[str, ~Text]): Text to highlight.

Raises:
    TypeError: If not called with text or str.

Returns:
    Text: A test instance with highlighting applied.
z#str or Text instance required, not )Ú
isinstancer   r	   ÚcopyÚ	TypeErrorÚ	highlight)Úselfr   Úhighlight_texts   && r   Ú__call__ÚHighlighter.__call__   sW   € ô �dœC× Ò Ü! $›Z‰NÜ˜œd×#Ò#Ø!ŸY™Y›[‰NäÐAÀ$ÁÐJÓKÐKØ�‰�~Ô&ØÐr   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   r   r   N©r	   )r   r   s   "€r   r   r   *   s   ø€ ÷ ñ ™dð  tñ r   c                ó   € R# )zWApply highlighting in place to text.

Args:
    text (~Text): A text object highlight.
N© ©r"   r   s   &&r   r!   ÚHighlighter.highlight)   ó   ‚ r   r*   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r$   r   r!   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s&   ø‡ € Ù/÷ð ð* ÷ó ör   r   c                   ó6   a € ] tR t^2t o RtV 3R lR ltRtV tR# )ÚNullHighlighterz]A highlighter object that doesn't highlight.

May be used to disable highlighting entirely.

c                ó$   <€ V ^8„  d   QhRS[ RR/# r'   r(   )r   r   s   "€r   r   ÚNullHighlighter.__annotate__9   s   ø€ ÷ ñ ™dð  tñ r   c                ó   € R# )zNothing to doNr*   r+   s   &&r   r!   ÚNullHighlighter.highlight9   r-   r   r*   N)r.   r/   r0   r1   r2   r!   r3   r4   r5   s   @r   r7   r7   2   s   ø‡ € ñ÷ö r   r7   c                   óJ   a € ] tR t^=t o Rt. tRtV 3R lR ltV 3R ltRt	V t
R# )ÚRegexHighlighterz8Applies highlighting from a list of regular expressions.Ú c                ó$   <€ V ^8„  d   QhRS[ RR/# r'   r(   )r   r   s   "€r   r   ÚRegexHighlighter.__annotate__C   s   ø€ ÷ 
Hñ 
H™dð 
H tñ 
Hr   c                ój   € VP                   pV P                   F  pV! W0P                  R7       K  	  R# )zlHighlight :class:`rich.text.Text` using regular expressions.

Args:
    text (~Text): Text to highlighted.

)Ústyle_prefixN)Úhighlight_regexÚ
highlightsÚ
base_style)r"   r   rC   Úre_highlights   &&  r   r!   ÚRegexHighlighter.highlightC   s)   € ð ×.Ñ.ˆØ ŸOœOˆLÙ˜L·±×Gó ,r   c                ób   <€ V ^8„  d   Qh/ S[ S[S[,          ,          ;R&   S[ S[,          ;R&   # )r   rD   rE   ©r   r   r   )r   r   s   "€r   r   r@   =   s,   ø‡ ‚ ñ ™¡#�Õ'Ñ,ñ ñ ™•Ñ"ò	 r   r*   N)r.   r/   r0   r1   r2   rD   rE   r!   Ú__annotate_func__r3   r4   r5   s   @r   r=   r=   =   s%   ø‡ € ÙBà*,€JØ "€J÷
Hð 
H÷ ƒ r   r=   c                   ód   a € ] tR t^Pt o RtRtRRR]! RRRR	R
RRRRRRRR4      .tV 3R ltRt	V t
R# )ÚReprHighlighterzAHighlights the text typically produced from ``__repr__`` methods.zrepr.zN(?P<tag_start><)(?P<tag_name>[-\w.:|]*)(?P<tag_contents>[\w\W]*)(?P<tag_end>>)z:(?P<attrib_name>[\w_]{1,50})=(?P<attrib_value>"?[\w_]+"?)?z(?P<brace>[][{}()])z8(?P<ipv4>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})z4(?P<ipv6>([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4})z‚(?P<eui64>(?:[0-9A-Fa-f]{1,2}-){7}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{1,2}:){7}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{4}\.){3}[0-9A-Fa-f]{4})z‚(?P<eui48>(?:[0-9A-Fa-f]{1,2}-){5}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{1,2}:){5}[0-9A-Fa-f]{1,2}|(?:[0-9A-Fa-f]{4}\.){2}[0-9A-Fa-f]{4})zU(?P<uuid>[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12})z(?P<call>[\w.]*?)\(zD\b(?P<bool_true>True)\b|\b(?P<bool_false>False)\b|\b(?P<none>None)\bz(?P<ellipsis>\.\.\.)zk(?P<number_complex>(?<!\w)(?:\-?[0-9]+\.?[0-9]*(?:e[-+]?\d+?)?)(?:[-+](?:[0-9]+\.?[0-9]*(?:e[-+]?\d+)?))?j)zC(?P<number>(?<!\w)\-?[0-9]+\.?[0-9]*(e[-+]?\d+?)?\b|0x[0-9a-fA-F]*)z3(?P<path>\B(/[-\w._+]+)*\/)(?P<filename>[-\w._+]*)?z_(?<![\\\w])(?P<str>b?'''.*?(?<!\\)'''|b?'.*?(?<!\\)'|b?\"\"\".*?(?<!\\)\"\"\"|b?\".*?(?<!\\)\")zD(?P<url>(file|https|http|ws|wss)://[-0-9a-zA-Z$_+!`(),.?/;:&=%#~@]*)c                óF   <€ V ^8„  d   Qh/ S[ S[S[,          ,          ;R&   # )r   rD   rI   )r   r   s   "€r   r   ÚReprHighlighter.__annotate__P   s   ø‡ ‚ ñ ™¡#�Õ'ñ ò	 r   r*   N)r.   r/   r0   r1   r2   rE   r   rD   rJ   r3   r4   r5   s   @r   rL   rL   P   sY   ø‡ € ÙKà€JàYØEØÙØGØCð Rð RØdØ"ØSØ#ØzØRØBØnØSó	
ð	+€J÷	 ƒ r   rL   c                   óv   a a€ ] tR t^jt oRtRt0 RmtRt]! RRR]4      .t	V3R lV 3R llt
V3R	 ltR
tVtV ;t# )ÚJSONHighlighterzHighlights JSONz$(?<![\\\w])(?P<str>b?\".*?(?<!\\)\")zjson.z(?P<brace>[\{\[\(\)\]\}])zD\b(?P<bool_true>true)\b|\b(?P<bool_false>false)\b|\b(?P<null>null)\bzE(?P<number>(?<!\w)\-?[0-9]+\.?[0-9]*(e[\-\+]?\d+?)?\b|0x[0-9a-fA-F]*)c                ó$   <€ V ^8„  d   QhRS[ RR/# r'   r(   )r   r   s   "€r   r   ÚJSONHighlighter.__annotate__{   s   ø€ ÷ ñ ™dð  tñ r   c                ó„  <€ \         S
V `  V4       VP                  pVP                  P                  pV P
                  p\        P                  ! V P                  V4       F\  pVP                  4       w  rgTpV\        V4      8  g   K)  W(,          p	V^,          pV	R8X  d   V! \        WgR4      4       MW”9   d   KE  K^  	  R# )é   Ú:zjson.keyN)Úsuperr!   ÚplainÚspansÚappendÚJSON_WHITESPACEÚreÚfinditerÚJSON_STRÚspanÚlenr   )r"   r   rW   rY   Ú
whitespaceÚmatchÚstartÚendÚcursorÚcharÚ	__class__s   &&        €r   r!   ÚJSONHighlighter.highlight{   sž   ø€ Ü‰Ñ˜$Ôð —
‘
ˆØ—‘×"Ñ"ˆØ×)Ñ)ˆ
Ü—[’[ §¡°Ö6ˆEØŸ™›‰JˆEØˆFØœ3˜u›:Ö%Ø•}�Ø˜!•�Ø˜3”;Ùœ4 ¨JÓ7Õ8ØÔ'ÙÙó 7r   c                ób   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[S[,          ,          ;R&   # ©r   rE   rD   ©r   r   r   )r   r   s   "€r   r   rR   j   s.   ø‡ ‚ ñ ™•Ñ'ñ ñ ™¡#�Õ'ñ ò r   r*   >   Ú	Ú
ÚÚ )r.   r/   r0   r1   r2   r]   rZ   rE   r   rD   r!   rJ   r3   r4   Ú__classcell__)rf   r   s   @@r   rP   rP   j   sE   ù‡ € Ùð 7€HÚ-€Oà '€JáØ(ØSØTØó		
ð+€J÷ó ÷# … r   rP   c                   ó<   a € ] tR t^�t o RtRt. ROtV 3R ltRtV t	R# )ÚISO8601Highlighterz˜Highlights the ISO8601 date time strings.
Regex reference: https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch04s07.html
ziso8601.c                ób   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[S[,          ,          ;R&   # ri   rj   )r   r   s   "€r   r   ÚISO8601Highlighter.__annotate__�   s.   ø‡ ‚ ñ
 ™•Ñ*ñ ñ ™¡#�Õ'ñ 1ò r   r*   N)z-^(?P<year>[0-9]{4})-(?P<month>1[0-2]|0[1-9])$zU^(?P<date>(?P<year>[0-9]{4})(?P<month>1[0-2]|0[1-9])(?P<day>3[01]|0[1-9]|[12][0-9]))$z]^(?P<date>(?P<year>[0-9]{4})-?(?P<day>36[0-6]|3[0-5][0-9]|[12][0-9]{2}|0[1-9][0-9]|00[1-9]))$zC^(?P<date>(?P<year>[0-9]{4})-?W(?P<week>5[0-3]|[1-4][0-9]|0[1-9]))$zS^(?P<date>(?P<year>[0-9]{4})-?W(?P<week>5[0-3]|[1-4][0-9]|0[1-9])-?(?P<day>[1-7]))$z>^(?P<time>(?P<hour>2[0-3]|[01][0-9]):?(?P<minute>[0-5][0-9]))$zR^(?P<time>(?P<hour>2[0-3]|[01][0-9])(?P<minute>[0-5][0-9])(?P<second>[0-5][0-9]))$zA^(?P<timezone>(Z|[+-](?:2[0-3]|[01][0-9])(?::?(?:[0-5][0-9]))?))$z�^(?P<time>(?P<hour>2[0-3]|[01][0-9])(?P<minute>[0-5][0-9])(?P<second>[0-5][0-9]))(?P<timezone>Z|[+-](?:2[0-3]|[01][0-9])(?::?(?:[0-5][0-9]))?)$zØ^(?P<date>(?P<year>[0-9]{4})(?P<hyphen>-)?(?P<month>1[0-2]|0[1-9])(?(hyphen)-)(?P<day>3[01]|0[1-9]|[12][0-9])) (?P<time>(?P<hour>2[0-3]|[01][0-9])(?(hyphen):)(?P<minute>[0-5][0-9])(?(hyphen):)(?P<second>[0-5][0-9]))$z�^(?P<date>(?P<year>-?(?:[1-9][0-9]*)?[0-9]{4})-(?P<month>1[0-2]|0[1-9])-(?P<day>3[01]|0[1-9]|[12][0-9]))(?P<timezone>Z|[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])?$z›^(?P<time>(?P<hour>2[0-3]|[01][0-9]):(?P<minute>[0-5][0-9]):(?P<second>[0-5][0-9])(?P<frac>\.[0-9]+)?)(?P<timezone>Z|[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])?$a  ^(?P<date>(?P<year>-?(?:[1-9][0-9]*)?[0-9]{4})-(?P<month>1[0-2]|0[1-9])-(?P<day>3[01]|0[1-9]|[12][0-9]))T(?P<time>(?P<hour>2[0-3]|[01][0-9]):(?P<minute>[0-5][0-9]):(?P<second>[0-5][0-9])(?P<ms>\.[0-9]+)?)(?P<timezone>Z|[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])?$)
r.   r/   r0   r1   r2   rE   rD   rJ   r3   r4   r5   s   @r   rq   rq   �   s   ø‡ € ñð !+€Jò1+€J÷ ƒ r   rq   Ú__main__)ÚConsolez%[bold green]hello world![/bold green]z''[bold green]hello world![/bold green]'z /fooz/foo/z/foo/barzfoo/bar/bazz /foo/bar/baz?foo=bar+egg&egg=bazz/foo/bar/baz/z/foo/bar/baz/eggz/foo/bar/baz/egg.pyz/foo/bar/baz/egg.py wordz /foo/bar/baz/egg.py wordzfoo /foo/bar/baz/egg.py wordz!foo /foo/bar/ba._++z/egg+.py wordz"https://example.org?foo=bar#headergq=
W‡Ö2AzE127.0.1.1 bar 192.168.1.4 2001:0db8:85a3:0000:0000:8a2e:0370:7334 fooÚnameÚappleÚcount)Úobj)Úindentg      à?gF!‡@Ü¡½)r[   Úabcr   r   Útypingr   r   r   r   r   r	   r   r   r7   r=   rL   rP   rq   r.   Úconsoleru   ÚprintÚjsonÚ
print_jsonÚdumpsr*   r   r   Ú<module>r‚      sž  ðÛ 	ß #ß ,Ñ ,ç õô�#ô ôB�kô ôH�{ô Hô&Ð&ô ô4"Ð&ô "ôJ7Ð)ô 7ðt ˆzÕÝ á‹i€GØ‡M�MÐ9Ô:Ø‡M�MÐ;Ô<à‡M�M�'ÔØ‡M�M�'ÔØ‡M�M�*ÔØ‡M�M�-Ô à‡M�MÐ4Ô5Ø‡M�M�/Ô"Ø‡M�MÐ$Ô%Ø‡M�MÐ'Ô(Ø‡M�MÐ,Ô-Ø‡M�MÐ-Ô.Ø‡M�MÐ0Ô1Ø‡M�MÐ5Ô6Ø‡M�MÐ6Ô7à‡M�M�*ÔØ‡M�M�%ÔØ‡M�MÐ#Ô$à‡M�MØOôó à×Ñ�t—z’z v¨w¸ÀÐ&CÔDÈTÐÖRñ? r   