B 0‘cÏKã@sŒddlZddddddgZdZGd d„dƒZdd d„Zdd d„Zd d„Ze dej¡Z e dej¡Z dd„Z ddd„Z e dkrˆee dƒƒdS)éNÚ TextWrapperÚwrapÚfillÚdedentÚindentÚshortenz c @sæeZdZiZedƒZxeD]Zeeeeƒ<qWdZdZ de   e¡Z de dd…Z e  dee e e d œe j¡Z[[ [ e  d e ¡Z[ e  d ¡Zd%dddœdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„ZdS)&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) ) ))ZwpÚltZwsZnwsz(%s+)z[a-z][\.\!\?][\"\']?\ZéFÚTFéz [...])Ú max_linesÚ placeholderc  CsL||_||_||_||_||_||_||_||_| |_| |_ | |_ | |_ dS)N) ÚwidthÚinitial_indentÚsubsequent_indentÚ expand_tabsÚreplace_whitespaceÚfix_sentence_endingsÚbreak_long_wordsÚdrop_whitespaceÚbreak_on_hyphensÚtabsizerr) Úselfrrrrrrrrrrrr©rú-/opt/alt/python37/lib64/python3.7/textwrap.pyÚ__init__sszTextWrapper.__init__cCs(|jr| |j¡}|jr$| |j¡}|S)N)rÚ expandtabsrrÚ translateÚunicode_whitespace_trans)rÚtextrrrÚ_munge_whitespace’s   zTextWrapper._munge_whitespacecCs6|jdkr|j |¡}n |j |¡}dd„|Dƒ}|S)NTcSsg|] }|r|‘qSrr)Ú.0Úcrrrú ³sz&TextWrapper._split..)rÚ wordsep_reÚsplitÚwordsep_simple_re)rr!ÚchunksrrrÚ_split s   zTextWrapper._splitcCs`d}|jj}xN|t|ƒdkrZ||ddkrP|||ƒrPd||d<|d7}q|d7}qWdS)Nrr rz é)Úsentence_end_reÚsearchÚlen)rr)ÚiZ patsearchrrrÚ_fix_sentence_endings¶s   z!TextWrapper._fix_sentence_endingscCs^|dkrd}n||}|jrH| |dd|…¡|d|d…|d<n|sZ| | ¡¡dS)Nr éÿÿÿÿ)rÚappendÚpop)rZreversed_chunksÚcur_lineÚcur_lenrZ space_leftrrrÚ_handle_long_wordÈs zTextWrapper._handle_long_wordc Cs”g}|jdkrtd|jƒ‚|jdk rb|jdkr8|j}n|j}t|ƒt|j ¡ƒ|jkrbtdƒ‚| ¡x"|rŽg}d}|rˆ|j}n|j}|jt|ƒ}|j r¼|d  ¡dkr¼|r¼|d=x:|röt|dƒ}|||krò|  |  ¡¡||7}q¾Pq¾W|r.t|dƒ|kr.|  ||||¡ttt|ƒƒ}|j rd|rd|d  ¡dkrd|t|dƒ8}|d=|rn|jdks¼t|ƒd|jks¼|r²|j rÒt|ƒdkrÒ|d  ¡sÒ||krÒ|  |d |¡¡qnx¶|r8|d  ¡r|t|jƒ|kr|  |j¡|  |d |¡¡P|t|dƒ8}|d=qÔW|rv|d ¡}t|ƒt|jƒ|jkrv||j|d<P|  ||j ¡¡PqnW|S)Nrzinvalid width %r (must be > 0)r z#placeholder too large for max widthr1r )rÚ ValueErrorrrrr.rÚlstripÚreverserÚstripr2r3r6ÚsumÚmapÚjoinÚrstrip) rr)Úlinesrr4r5rÚlZ prev_linerrrÚ _wrap_chunksésp              zTextWrapper._wrap_chunkscCs| |¡}| |¡S)N)r"r*)rr!rrrÚ _split_chunksPs zTextWrapper._split_chunkscCs$| |¡}|jr| |¡| |¡S)N)rBrr0rA)rr!r)rrrrVs  zTextWrapper.wrapcCsd | |¡¡S)NÚ )r=r)rr!rrrrdszTextWrapper.fill) r r r TTFTTTr )Ú__name__Ú __module__Ú __qualname__r ÚordZuspaceÚ _whitespaceÚxZ word_punctZletterÚreÚescapeZ whitespaceZ nowhitespaceÚcompileÚVERBOSEr&r(r,rr"r*r0r6rArBrrrrrrrsH1   !gr cKstfd|i|—Ž}| |¡S)Nr)rr)r!rÚkwargsÚwrrrrps cKstfd|i|—Ž}| |¡S)Nr)rr)r!rrNrOrrrr}s cKs,tf|ddœ|—Ž}| d | ¡ ¡¡¡S)Nr )rrr)rrr=r:r')r!rrNrOrrrr‰s z^[ ]+$z(^[ ]*)(?:[^ ])cCs¾d}t d|¡}t |¡}xl|D]d}|dkr2|}q | |¡r>q | |¡rN|}q x4tt||ƒƒD]"\}\}}||kr^|d|…}Pq^Wq Wdr¤|r¤x| d¡D]}qœW|rºt d|d|¡}|S)Nr rrCz(?m)^) Ú_whitespace_only_reÚsubÚ_leading_whitespace_reÚfindallÚ startswithÚ enumerateÚzipr'rJ)r!ZmarginÚindentsrr/rIÚyÚlinerrrržs(       cs,ˆdkrdd„‰‡‡‡fdd„}d |ƒ¡S)NcSs| ¡S)N)r:)rYrrrÚ predicateÚszindent..predicatec3s.x(ˆ d¡D]}ˆ|ƒr ˆ|n|Vq WdS)NT)Ú splitlines)rY)rZÚprefixr!rrÚprefixed_linesÝszindent..prefixed_linesr )r=)r!r\rZr]r)rZr\r!rrÑsÚ__main__z Hello there. This is indented.)r )r )N)rJÚ__all__rHrrrrrLÚ MULTILINErPrRrrrDÚprintrrrrÚsa 3