+
    i  c                  s    ^ RI Ht ^ RIt^ RIt^ RIt^ RIt R R lt	R R lt
R R ltR	 R
 ltRR R lltRR R lltRR R lltRR R lltR# )i    )annotationsNc                   V ^8  d   QhRR/# )   returnPager format   "&/usr/lib64/python3.14/_pyrepl/pager.py__annotate__r
      s     $ $5 $    c                 sz  a \        \        P                  R4      '       g   \        # \        \        P                  R4      '       g   \        # \        P                  P                  4       '       d%   \        P                  P                  4       '       g   \        # \        P                  R8X  d   \        # \        P                  P                  R4      ;'       g     \        P                  P                  R4      oS'       dR   \        P                  R8X  d	   RV3R ll# \        P                  P                  R4      R9   d	   RV3R ll# RV3R	 ll# \        P                  P                  R4      R9   d   \        # \        P                  R8X  d   RR
 l# \        \        R4      '       d!   \        P                  ! R4      ^ 8X  d   RR l# \        \        R4      '       d!   \        P                  ! R4      ^ 8X  d   RR l# ^ RIp V P                  4       w  r\        P                  ! V4        \        \        R4      '       d>   \        P                  ! RV,          4      ^ 8X  d   RR l\        P                  ! V4       # \        \        P                  ! V4       #   \        P                  ! T4       i ; i)z2Decide what method to use for paging through text.isattyZ
emscriptenZMANPAGERZPAGERwin32c                s.   < \        \        V 4      S4      # Ntempfile_pagerplaintexttitle	use_pager   &&r	   <lambda>get_pager.<locals>.<lambda>   s    .ti*Pr   ZTERMc                s0   < \        \        V 4      SV4      # r   )
pipe_pagerr   r   r   r	   r   r       s    *U4[)U*Sr   c                s   < \        V SV4      # r   r   r   r   r	   r   r   "   s    *T9e*Lr   c                s,    \        \        V 4      R 4      # )zmore <r   r   r      &&r	   r   r   &   s    nU4[(&Kr   systemz(pager) 2>/dev/nullc                    \        V R V4      # )Zpagerr   r   r   r	   r   r   (   s    jw&Fr   z(less) 2>/dev/nullc                r   )Zlessr   r   r   r	   r   r   *   s    jvu&Er   Nz	more "%s"c                r   )Zmorer   r   r   r	   r   r   1   s    *T65*Ir    )ZdumbZemacs)Zhasattrsysstdinplain_pagerstdoutr   platformosenvirongetr   tempfileZmkstempZcloseZunlink	tty_pager)r)   fdfilenamer   s      @r	   	get_pagerr-      s   399h''3::x((99SZZ%6%6%8%8
|||#

z*EEbjjnnW.EI<<7"PPZZ^^F#'88SSLL	zz~~f!22
||wKKr8+@!AQ!FFFr8+?!@A!EEE%%'NRHHRL2x  RYY{X/E%F!%KI 			( 
		(		(s   3<J" J" "J:c                    V ^8  d   QhRRRR/# r   r   strr   r   r   r   r	   r
   r
   8   s     F F F Fr   c                s    \        \        P                  R R4      ;'       g    RpV P                  VR4      P	                  V4      # )encodingNzutf-8backslashreplace)Zgetattrr!   r$   ZencodeZdecode)r   r1   s   & r	   escape_stdoutr3   8   s9    szz:t4??H;;x!34;;HEEr   c               r.   )r   sr0   r   r   r   r   r	   r
   r
   >   s     - -3 -3 -r   c                s2    \         P                  ! R RV 4      # )z
([?:.%\\])z\\\1reZsub)r4      &r	   escape_lessr8   >   s    66-!,,r   c               r.   r/   r   r   r   r	   r
   r
   B   s     # # # #r   c                s2    \         P                  ! RRV 4      # )z%Remove boldface formatting from text.z.r    r5   )r   r7   r	   r   r   B   s    66%T""r   c               $    V ^8  d   QhRRRRRR/# r   r   r0   r   r   Noner   r   r   r	   r
   r
   G   s!     0: 0:C 0: 0:T 0:r   c           	     sV   \        \        V 4      4      P                  R4      pRp ^ RIp^ RIp\
        P                  P                  4       pVP                  V4      pVP                  V4       RpR R lp  \        \        P                   P#                  R	^ 4      4      p	V	^8:  d   ^p	V	^,
          ;r\
        P&                  P)                  RP+                  VRV 4      R,           4       W*R '       Ed   \
        P&                  P)                  R
4       \
        P&                  P-                  4        V! 4       pVR9   d!   \
        P&                  P)                  R4       MVR9   d?   \
        P&                  P)                  RW*,          ,           R,           4       V
^,           p
K  VR9   d   W,
          V,
          p
V
^ 8  d   ^ p
\
        P&                  P)                  RRP+                  W*W,            4      ,           R,           4       W,           p
EK)  V'       d    XP/                  XVP0                  X4       R# R#   \        \        \        P                  3 d    R R lp ELi ; i  \$         d    ^ p	 ELi ; i  T'       d   XP/                  XTP0                  X4       i i ; i)z%Page through text on a text terminal.
FNTc               r   r   r   r0   r   r   r   r	   r
   tty_pager.<locals>.__annotate__S   s     	% 	% 	%r   c                 s@    \         P                  P                  ^4      # )   )r!   r"   Zreadr   r   r	   getchartty_pager.<locals>.getcharS   s    99>>!$$r   c               r   r=   r   r   r   r	   r
   r>   W   s     	1 	1 	1r   c                 sR    \         P                  P                  4       R R R,          # )N:Nr?   Ni)r!   r"   Zreadliner   r   r	   r@   rA   W   s!    99%%',R00r   ZLINESz
-- more --z          )ZqZQ)Zr<   )ZbZBZ)r   r3   Zsplitttytermiosr!   r"   ZfilenoZ	tcgetattrZ	setcbreakZImportErrorZAttributeErrorioZUnsupportedOperationZintr&   r'   r(   Z
ValueErrorr$   writejoinZflushZ	tcsetattrZ	TCSAFLUSH)r   r   ZlinesZhas_ttyrB   rC   r+   Zoldr@   ZhZrZincZcs   &&           r	   r*   r*   G   s   -%&,,T2EG1YY#b	%:	BJJNN7A./A 6Aa%

5#;/$67BiiJJ\*JJ	AJ

  !12l"

  !1EH!<t!CDE&&GcMq5a!JJTDIIeaen$==DEA b'"3"3S9 A )@)@A 1	1 	11  	A	2 b'"3"3S9 s=   AH? 9)I, "E4J  ?&I)(I),I=9J  <I==J   (J(c               r9   r:   r   r   r   r	   r
   r
   z   s!     1 1c 1# 1t 1r   c                sh    \         P                  P                  \        \	        V 4      4      4       R# )z>Simply print unformatted text.  This is the ultimate fallback.N)r!   r$   rE   r   r3   r   r   r	   r#   r#   z   s    JJU=./0r   c               (    V ^8  d   QhRRRRRRRR/# r   r   r0   cmdr   r   r;   r   r   r   r	   r
   r
      s(     # #S #s #3 # #r   c                s4   ^ RI p\        P                  P                  4       pV'       d
   VR,          p\	        V4      pRV 2R,           pRP                  V4      VR&   VP                  VRVP                  RVR7      pVP                  f   Q h VP                  ;_uu_ 4       p VP                  V 4       RRR4         TP                  4        R#   \         d     L)i ; i  + '       g   i     L5; i  \         d     LEi ; i  \         d     KW  i ; i)	z3Page through text by feeding it to another program.NZ zU?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)z-RmPm{0}$PM{0}$ZLESSTr2   )Zshellr"   errorsenv)
subprocessr&   r'   Zcopyr8   r   ZPopenZPIPEr"   rE   ZKeyboardInterruptZOSErrorZwait)	r   rI   r   rL   rK   Z	esc_titleZprompt_stringZprocZpipes	   &&&      r	   r   r      s   
**//
CE"I
I;	+	+  $**=9CKCt:??#53  @D::!!!	ZZZ4

4   	IIK %   Z   ! 	 	s`   C7 $C$&C7C7 D C!C$ C!!C$$C4	/C7 4C7 7DDDDc               rG   rH   r   r   r   r	   r
   r
      s(     
/ 
/ 
/3 
/s 
/D 
/r   c           
     s   ^ RI pVP                  4       ;_uu_ 4       p\        P                  P	                  VR4      p\        TRR\        P                  R8X  d   \        P                  ! ^ 4      MRR7      ;_uu_ 4       pVP                  V 4       RRR4       \        P                  ! VR,           V,           R,           4       RRR4       R#   + '       g   i     LE; i  + '       g   i     R# ; i)	z<Page through text by invoking a program on a temporary file.Nz	pydoc.outZwr2   r   )rJ   r1   z "Z")r)   ZTemporaryDirectoryr&   ZpathrF   Zopenr!   r%   Zdevice_encodingrE   r   )r   rI   r   r)   Ztempdirr,   Zfiles   &&&    r	   r   r      s    		$	$	&	&'77<<5(C(:,,') --a0/3  JJt	
 			#*x'#-. 
'	&  
'	&	&s$   A#C" C	3C"CC""C3	r   )Z
__future__r    rD   r&   r6   r!   ZtypingZProtocolr   r-   r3   r8   r   r*   r#   r   r   r   r   r	   <module>rM      sJ    " 	 	 	 
 	$NF-#
0:f1
#L
/ 
/r   