+
    "Ý³j­  ã                  ón   € R t ^ RIHt ^ RIHtHtHtHt ^RIH	t	H
t
HtHt ^RIHt  ! R R]
4      tR.tR# )z>Region-bound logger helpers for split-pane render experiments.)Úannotations)ÚCallableÚOptionalÚSequenceÚUnion)ÚLEVELÚLogBarÚ_RENDER_LOCKÚ_level_prefix)Ú	LogRegionc                  ó  a € ] tR t^tRtR*RRRRRR/R V 3R llllt]R	 R
 l4       t]R R l4       tR*R R llt	R R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR!RR"R/R# R$ lltR% R& ltR' R( ltR)tV ;t# )+ÚRegionLogBarzEExperimental logger that appends formatted output into one LogRegion.NÚsupports_ansiTÚ	on_changeÚfooter_delegatec               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )é   ÚnameÚstrÚregionzOptional[LogRegion]r   Úboolr   ú*Optional[Callable[['RegionLogBar'], None]]r   úOptional[object]ÚreturnÚNone© )Úformats   "ÚU/home/luca/screen-checking/.venv/lib/python3.14/site-packages/logbar/region_logger.pyÚ__annotate__ÚRegionLogBar.__annotate__   sF   € ÷ 0ñ 0àð0ð $ð0ð
 ð0ð >ð0ð *ð0ð 
ñ0ó    c               óˆ   <€ \         SV `  V4       Ve   TM	\        4       V n        \	        V4      V n        W@n        WPn        R# )zABind the logger to one pane region instead of the process stdout.N)ÚsuperÚ__init__r   Ú_regionr   Ú_supports_ansiÚ
_on_changeÚ_footer_delegate)Úselfr   r   r   r   r   Ú	__class__s   &&&$$$€r   r#   ÚRegionLogBar.__init__   s:   ø€ ô 	‰Ñ˜ÔØ!'Ò!3‘v¼»ˆŒÜ" =Ó1ˆÔØ#ŒØ /Ör    c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   %   s   € ÷ ñ ˜	ñ r    c                ó   € V P                   # )zReturn the bound pane region.)r$   ©r(   s   &r   r   ÚRegionLogBar.region$   s   € ð �|‰|Ðr    c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r   +   s   € ÷ #ñ #˜tñ #r    c                ó   € V P                   # )z8Return whether log prefixes should include ANSI styling.)r%   r-   s   &r   r   ÚRegionLogBar.supports_ansi*   s   € ð ×"Ñ"Ð"r    c               ó   € V ^8„  d   QhRR/# r0   r   )r   s   "r   r   r   0   s   € ÷ ;ñ ;¸Dñ ;r    c                óB   € V P                   ;'       d    V P                  # )a  Resolve symbol mode from this region's own ANSI capability.

Region output is not tied to process ``sys.stdout``; the screen/host
that renders the region decides ANSI support.  The ``backend_state``
parameter is accepted for signature compatibility but ignored here.
)Ú_symbol_prefixr%   )r(   Úbackend_states   &&r   Ú_resolve_symbol_prefixÚ#RegionLogBar._resolve_symbol_prefix0   s   € ð ×"Ñ"×:Ð: t×':Ñ':Ð:r    c               ó    € V ^8„  d   QhRRRR/# )r   Úcallbackr   r   ú'RegionLogBar'r   )r   s   "r   r   r   :   s   € ÷ ñ Ð&Pð ÐUcñ r    c                óh   € \         ;_uu_ 4        Wn        RRR4       V #   + '       g   i     T # ; i)z>Install or remove the callback invoked after region mutations.N)r	   r&   )r(   r:   s   &&r   Úset_on_changeÚRegionLogBar.set_on_change:   s%   € ÷ Ž\Ø&ŒO÷ àˆ÷ Ž\àˆúó   �  1	c               ó    € V ^8„  d   QhRRRR/# )r   Údelegater   r   r;   r   )r   s   "r   r   r   A   s   € ÷ ñ Ð,<ð Àñ r    c                óh   € \         ;_uu_ 4        Wn        RRR4       V #   + '       g   i     T # ; i)z=Install or remove the object that owns pane footer mutations.N)r	   r'   )r(   rA   s   &&r   Úset_footer_delegateÚ RegionLogBar.set_footer_delegateA   s&   € ÷ Ž\Ø$,Ô!÷ àˆ÷ Ž\àˆúr?   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Údelegate_methodr   Úregion_methodr   r   r   )r   s   "r   r   r   H   s"   € ÷ 4ñ 4°cð 4È#ð 4ÐY]ñ 4r    c                óš   € \        V P                  VR4      p\        V4      '       d	   V! V!   R# \        V P                  V4      ! V!   R# )z:Apply one footer mutation through a delegate when present.N)Úgetattrr'   Úcallabler$   )r(   rF   rG   ÚargsÚdelegate_calls   &&&* r   Ú_route_footer_mutationÚ#RegionLogBar._route_footer_mutationH   sA   € ô   × 5Ñ 5°ÈÓMˆÜ�M×"Ò"Ù˜4Ò ÙÜ�—‘˜mÔ,¨dÔ3r    c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   r;   r   )r   s   "r   r   r   Q   s   € ÷ ñ  )ð °ñ r    c                óÈ   € \         ;_uu_ 4        \        V\        4      '       g   \        R4      hWn        RRR4       V P                  4        V #   + '       g   i     L"; i)z+Rebind the logger to a different LogRegion.z$region must be a LogRegion instance.N)r	   Ú
isinstancer   Ú	TypeErrorr$   Ú_notify_change)r(   r   s   &&r   Úbind_regionÚRegionLogBar.bind_regionQ   sG   € ÷ Ž\Ü˜f¤i×0Ò0ÜÐ FÓGÐGØ!ŒL÷ ð 	×ÑÔØˆ÷ �\ús   �(AÁA!	c               ó    € V ^8„  d   QhRRRR/# )r   ÚlineszSequence[str]r   r;   r   )r   s   "r   r   r   [   s   € ÷ ñ  mð ¸ñ r    c                ó    € \         ;_uu_ 4        V P                  RRV4       RRR4       V P                  4        V #   + '       g   i     L"; i)zReplace the region footer rows.Úset_footer_linesN©r	   rM   rS   )r(   rW   s   &&r   rY   ÚRegionLogBar.set_footer_lines[   s<   € ÷ Ž\Ø×'Ñ'Ð(:Ð<NÐPUÔV÷ à×ÑÔØˆ÷ �\úó	   �=½A	c               ó    € V ^8„  d   QhRRRR/# )r   Úliner   r   r;   r   )r   s   "r   r   r   c   s   € ÷ ñ  sð ¨~ñ r    c                ó    € \         ;_uu_ 4        V P                  RRV4       RRR4       V P                  4        V #   + '       g   i     L"; i)z*Append one footer row to the bound region.Úappend_footer_lineNrZ   )r(   r^   s   &&r   r`   ÚRegionLogBar.append_footer_linec   s<   € ÷ Ž\Ø×'Ñ'Ð(<Ð>RÐTXÔY÷ à×ÑÔØˆ÷ �\úr\   c               ó   € V ^8„  d   QhRR/# ©r   r   r;   r   )r   s   "r   r   r   k   s   € ÷ ñ ˜nñ r    c                óž   € \         ;_uu_ 4        V P                  RR4       RRR4       V P                  4        V #   + '       g   i     L"; i)z0Remove all footer content from the bound region.Úclear_footerNrZ   r-   s   &r   re   ÚRegionLogBar.clear_footerk   s7   € ÷ Ž\Ø×'Ñ'¨¸ÔG÷ à×ÑÔØˆ÷ �\ús	   �<¼A	c               ó   € V ^8„  d   QhRR/# rc   r   )r   s   "r   r   r   s   s   € ÷ ñ ˜Nñ r    c                ó®   € \         ;_uu_ 4        V P                  P                  4        RRR4       V P                  4        V #   + '       g   i     L"; i)z/Remove all body log rows from the bound region.N)r	   r$   Ú
clear_bodyrS   r-   s   &r   ri   ÚRegionLogBar.clear_bodys   s7   € ÷ Ž\Ø�L‰L×#Ñ#Ô%÷ à×ÑÔØˆ÷ �\ús   �AÁA	c               ó   € V ^8„  d   QhRR/# rc   r   )r   s   "r   r   r   {   s   € ÷ ñ �~ñ r    c                óÒ   € \         ;_uu_ 4        V P                  P                  4        V P                  RR4       RRR4       V P	                  4        V #   + '       g   i     L"; i)z8Reset both body and footer content for the bound region.re   N)r	   r$   ri   rM   rS   r-   s   &r   ÚclearÚRegionLogBar.clear{   sI   € ÷ Ž\Ø�L‰L×#Ñ#Ô%Ø×'Ñ'¨¸ÔG÷ ð 	×ÑÔØˆ÷	 �\ús   �-AÁA&	Úallow_deferr6   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r   Únormalized_levelÚintÚlevel_labelr   Ústr_msgro   r   r6   r   r   r   r   )r   s   "r   r   r   „   sF   € ÷ =ñ =àð=ð ð=ð ð	=ð ð=ð (ð=ð 
ñ=r    c               óð   € ???V P                  4       p\        W P                  V4      p\        V4      P	                  4       ;'       g    R.pV F"  p	V P
                  P                  V V	 24       K$  	  R# )z5Append one formatted log entry into the bound region.Ú N)r7   r
   r%   r   Ú
splitlinesr$   Úappend_body_line)
r(   rq   rs   rt   ro   r6   Úuse_symbol_prefixÚprefixÚmessage_linesr^   s
   &&&&$$    r   Ú_emit_log_line_lockedÚ"RegionLogBar._emit_log_line_locked„   sn   € ð ˜k¨=à ×7Ñ7Ó9ÐÜ˜{×,?Ñ,?ÐARÓSˆÜ˜G›×/Ñ/Ó1×9Ð9°b°TˆÛ!ˆDØ�L‰L×)Ñ)¨V¨H°T°FÐ*;Ö<ó "r    c               ó   € V ^8„  d   QhRR/# )r   ÚlevelzUnion[LEVEL, int, str]r   )r   s   "r   r   r   —   s   € ÷ "ñ "Ð4ñ "r    c           
     óB  € ?V P                  V4      pV P                  V4      '       g   R# V P                  W4      pV P                  W#4      p\        ;_uu_ 4        V P                  VVVRRR7       V P                  4        RRR4       R#   + '       g   i     R# ; i)z6Format and append one log entry into the bound region.NF)ro   r6   )Ú_normalize_levelÚisEnabledForÚ_level_labelÚ_format_messager	   r|   rS   )r(   r   ÚmsgrK   Úkwargsrq   rs   rt   s   &&&*,   r   Ú_processÚRegionLogBar._process—   sŽ   € ð à×0Ñ0°Ó7ÐØ× Ñ Ð!1×2Ò2Ùà×'Ñ'¨Ó@ˆØ×&Ñ& sÓ1ˆçŽ\Ø×&Ñ&Ø ØØØ!Ø"ð 'ô ð ×ÑÔ!÷ �\�\Š\ús   Á'BÂB	c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   ­   s   € ÷ "ñ " ñ "r    c                ób   € \        V P                  4      '       d   V P                  V 4       R# R# )zCInvoke the optional mutation callback for reactive screen sessions.N)rJ   r&   r-   s   &r   rS   ÚRegionLogBar._notify_change­   s$   € ô �D—O‘O×$Ò$Ø�O‰O˜DÖ!ñ %r    )r'   r&   r$   r%   )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r#   Úpropertyr   r   r7   r=   rC   rM   rT   rY   r`   re   ri   rm   r|   r‡   rS   Ú__static_attributes__Ú__classcell__)r)   s   @r   r   r      s²   ø† ÙOñ0ð
 #ð0ð AEð0ð -1÷0ó 0ð" ôó ðð
 ô#ó ð#÷
;õõõ4õõõõõõð=ð !ð=ð +/÷=õ&"÷,"ó "r    r   N)r�   Ú
__future__r   Útypingr   r   r   r   Úlogbarr   r   r	   r
   r   r   r   Ú__all__r   r    r   Ú<module>r˜      s6   ðñ Eå "ç 6Ó 6ç >Ó >Ý ôa"�6ô a"ðH Ð
‚r    