
    =OgM                         	 d dl Z g dZdZ G d d          ZddZddZd	 Z e j        d
e j                  Z	 e j        de j                  Z
d ZddZedk    r e ed                     dS dS )    N)TextWrapperwrapfilldedentindentshortenz	
 c                      e Zd Z	 e                     eee           ed                    ZdZ	dZ
d ej        e          z  Zdedd         z   Z ej        de	e
eed	z  ej                  Z[	[
[ ej        d
ez            Z[ ej        d          Z	 	 	 	 	 	 	 	 	 	 dddddZd Zd Zd Zd Zd Zd Zd Zd ZdS )r    z[\w!"\'&.,?]z[^\d\W]z[%s]z[^   Na  
        ( # any whitespace
          %(ws)s+
        | # em-dash between words
          (?<=%(wp)s) -{2,} (?=\w)
        | # word, possibly hyphenated
          %(nws)s+? (?:
            # hyphenated word
              -(?: (?<=%(lt)s{2}-) | (?<=%(lt)s-%(lt)s-))
              (?= %(lt)s -? %(lt)s)
            | # end of word
              (?=%(ws)s|\Z)
            | # em-dash
              (?<=%(wp)s) (?=-{2,}\w)
            )
        ))wpltwsnwsz(%s+)z[a-z][\.\!\?][\"\']?\ZF    TF   z [...])	max_linesplaceholderc                    || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        || _        d S N)widthinitial_indentsubsequent_indentexpand_tabsreplace_whitespacefix_sentence_endingsbreak_long_wordsdrop_whitespacebreak_on_hyphenstabsizer   r   )selfr   r   r   r   r   r   r   r   r   r    r   r   s                !/usr/lib64/python3.11/textwrap.py__init__zTextWrapper.__init__p   sg     
,!2&"4$8! 0. 0"&    c                     	 | j         r|                    | j                  }| j        r|                    | j                  }|S r   )r   
expandtabsr    r   	translateunicode_whitespace_transr!   texts     r"   _munge_whitespacezTextWrapper._munge_whitespace   sL    	  	1??4<00D" 	A>>$"?@@Dr$   c                     	 | j         du r| j                            |          }n| j                            |          }d |D             }|S )NTc                     g | ]}||S  r.   .0cs     r"   
<listcomp>z&TextWrapper._split.<locals>.<listcomp>   s    )))q)!)))r$   )r   
wordsep_resplitwordsep_simple_rer!   r*   chunkss      r"   _splitzTextWrapper._split   s\    	  D((_**400FF+11$77F))V)))r$   c                     	 d}| j         j        }|t          |          dz
  k     rK||dz            dk    r |||                   rd||dz   <   |dz  }n|dz  }|t          |          dz
  k     Id S d S )Nr   r   r
   z     )sentence_end_researchlen)r!   r7   i	patsearchs       r"   _fix_sentence_endingsz!TextWrapper._fix_sentence_endings   s    	 (/	#f++a-ac{c!!iiq	&:&:!"qsQQ #f++a-r$   c                    	 |dk     rd}n||z
  }| j         r|}|d         }| j        rVt          |          |k    rC|                    dd|          }|dk    r&t	          d |d |         D                       r|dz   }|                    |d |                    ||d          |d<   d S |s)|                    |                                           d S d S )Nr   -r   c              3   "   K   | ]
}|d k    V  dS )rC   Nr.   r/   s     r"   	<genexpr>z0TextWrapper._handle_long_word.<locals>.<genexpr>   s&      %G%G1a3h%G%G%G%G%G%Gr$   )r   r   r=   rfindanyappendpop)	r!   reversed_chunkscur_linecur_lenr   
space_leftendchunkhyphens	            r"   _handle_long_wordzTextWrapper._handle_long_word   s   	 199JJJ   	3C#B'E$ %Uj)@)@ S!Z88A::#%G%Ggvg%G%G%G"G"G: 1*COOE$3$K((("'+OB
  	3OOO//1122222	3 	3r$   c                 :   	 g }| j         dk    rt          d| j         z            | j        h| j        dk    r| j        }n| j        }t          |          t          | j                                                  z   | j         k    rt          d          |                                 |rg }d}|r| j        }n| j        }| j         t          |          z
  }| j	        r#|d         
                                dk    r|r|d= |rNt          |d                   }||z   |k    r-|                    |                                           ||z  }nn|N|rSt          |d                   |k    r:|                     ||||           t          t          t
          |                    }| j	        r;|r9|d         
                                dk    r|t          |d                   z  }|d= |r| j        Wt          |          dz   | j        k     s<|r4| j	        r`t          |          dk    rM|d         
                                s3||k    r-|                    |d                    |          z              n!|r|d         
                                ra|t          | j                  z   |k    rF|                    | j                   |                    |d                    |          z              n|t          |d                   z  }|d= ||rU|d                                         }t          |          t          | j                  z   | j         k    r|| j        z   |d<   n3|                    || j                                        z              n||S )Nr   zinvalid width %r (must be > 0)r   z#placeholder too large for max widthrB   r   )r   
ValueErrorr   r   r   r=   r   lstripreverser   striprH   rI   rQ   summapjoinrstrip)	r!   r7   linesr   rK   rL   r   l	prev_lines	            r"   _wrap_chunkszTextWrapper._wrap_chunks   s   	 :??=
JKKK>%~!!/,6{{S!1!8!8!:!:;;;djHH !FGGG 	 G	 HG  -/, JV,E # r
(8(8(:(:b(@(@U(@2J 
r
OO Q;%''OOFJJLL111qLGG   
  2#fRj//E11&&vx%HHHc#x0011 # ! !Xb\5G5G5I5IR5O5O3x|,,,RL N*JJNT^33 4) 4 [[A%%** &0750@0@ LL"''(*;*;!;<<<<" I$RL..00 "#c$*:&;&;;uDD$OOD,<===!LL"''(2C2C)CDDD!3x|#4#44$RL # I ! &(-b	(8(8(:(:I #IT5E1F1F F$(J!/ !/,58H,Hb	 %Vd.>.E.E.G.G%GHHHO  G	R r$   c                 V    |                      |          }|                     |          S r   )r+   r8   r)   s     r"   _split_chunkszTextWrapper._split_chunksU  s'    %%d++{{4   r$   c                     	 |                      |          }| j        r|                     |           |                     |          S r   )r`   r   r@   r^   r6   s      r"   r   zTextWrapper.wrap[  sO    	 ##D))$ 	/&&v...  (((r$   c                 T    	 d                     |                     |                    S )N
)rY   r   r)   s     r"   r   zTextWrapper.filli  s%    	 yy4)))r$   )
r   r   r   TTFTTTr   )__name__
__module____qualname__dictfromkeysrX   ord_whitespacer(   
word_punctletterreescape
whitespacenowhitespacecompileVERBOSEr3   r5   r;   r#   r+   r8   r@   rQ   r^   r`   r   r   r.   r$   r"   r   r      s       .`  $}}SSk-B-BCCHHMM !JF929[111J*QRR.(L  ! 7 77" 	
# J$ 	FL #
8j#899 !bj "' ( (O  "#%!$(&+"&!%"&'  %' ' ' ' '>    ,  $!3 !3 !3Re e eN! ! !) ) )* * * * *r$   r   r   c                 J    	 t          dd|i|}|                    |           S Nr   r.   )r   r   r*   r   kwargsws       r"   r   r   u  s1     	**%*6**A66$<<r$   c                 J    	 t          dd|i|}|                    |           S rt   )r   r   ru   s       r"   r   r     s1     	**%*6**A66$<<r$   c                     	 t          d|dd|}|                    d                    |                                                                                     S )Nr   )r   r   r
   r.   )r   r   rY   rV   r4   ru   s       r"   r   r     sU    
 	7%17777A66#((4::<<--//00111r$   z^[ 	]+$z(^[ 	]*)(?:[^ 	
])c                    	 d }t                               d|           } t                              |           }|D ]m}||}|                    |          r|                    |          r|}5t          t          ||                    D ]\  }\  }}||k    r|d |         } nn	 |rt          j        d|z   d|           } | S )Nr   r   rc   z(?m)^)	_whitespace_only_resub_leading_whitespace_refindall
startswith	enumeratezipr4   rm   )r*   marginindentsr   r>   xylines           r"   r   r     s    F""2t,,D$,,T22G  >FF v&& 	 v&& 		FF
 's66':':;;  	6Aq66#BQBZFE 
=
  3vh'T22Kr$   c                 \     	 d  fd}d                      |                      S )Nc                 *    |                                  S r   )rV   )r   s    r"   	predicatezindent.<locals>.predicate  s    ::<<r$   c               3   d   K                        d          D ]}  |           r| z   n| V  d S )NT)
splitlines)r   r   prefixr*   s    r"   prefixed_lineszindent.<locals>.prefixed_lines  sP      OOD)) 	? 	?D$-IdOO=6D==>>>>	? 	?r$   r   )rY   )r*   r   r   r   s   ``` r"   r   r     s`     	  	  	 ? ? ? ? ? ? ? 77>>##$$$r$   __main__z Hello there.
  This is indented.)r   r   )rm   __all__rj   r   r   r   r   rq   	MULTILINEr{   r}   r   r   rd   printr.   r$   r"   <module>r      s   
			
H
H
H
  _* _* _* _* _* _* _* _*H   
 
 
 
2 2 2$ !bjR\:: #$;R\JJ 0 0 0f% % % %$ z 
E&&4
5
566666 r$   