python (3.11.7)

(root)/
lib/
python3.11/
__pycache__/
difflib.cpython-311.opt-2.pyc

elE	gdZddlmZddlmZddlmZeddZ	dZ
Gdd	Zd*dZd
Z
GddZddlZejdjfdZd+dZdZ		d,dZdZ		d,dZdZ		d-dZdefdZddefd Zd!Zd"Zd#Zd$ZGd%d&e Z![d'Z"d(Z#e$d)kre#dSdS).)get_close_matchesndiffrestoreSequenceMatcherDifferIS_CHARACTER_JUNKIS_LINE_JUNKcontext_diffunified_diff
diff_bytesHtmlDiffMatch)nlargest)
namedtuple)GenericAliasr
za b sizec|rd|z|zSdS)Ng@?)matcheslengths  ;/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/difflib.py_calculate_ratior's
&W}v%%3cteZdZ	ddZdZdZdZdZdd
ZdZ	dZ
ddZdZdZ
dZeeZdS)rNTcl	||_dx|_|_||_|||dSN)isjunkabautojunkset_seqs)selfrrr r!s     r__init__zSequenceMatcher.__init__xs@	t 


arc\	||||dSr)set_seq1set_seq2)r#rr s   rr"zSequenceMatcher.set_seqss3		


a

arcH	||jurdS||_dx|_|_dSr)rmatching_blocksopcodes)r#rs  rr&zSequenceMatcher.set_seq1s3	(
;;F.22t|||rc~	||jurdS||_dx|_|_d|_|dSr)r r)r*
fullbcount_SequenceMatcher__chain_b)r#r s  rr'zSequenceMatcher.set_seq2sL	(
;;F.22t|rcn|j}ix|_}t|D]0\}}||g}||1tx|_}|j}|r?|D]"}||r|	|#|D]}||=tx|_
}t|}	|jrX|	dkrT|	dzdz}
|
D]-\}}t||
kr|	|.|D]	}||=dSdSdS)Nd)r b2j	enumerate
setdefaultappendsetbjunkrkeysaddbpopularlenr!items)r#r r2ieltindicesjunkrpopularnntestidxss            r	__chain_bzSequenceMatcher.__chain_b
ss
F3ll		FAsnnS"--GNN1 EE!
T	xxzz
"
"6#;;"HHSMMM

HH#&%%'
FF=	Q#XXHqLE YY[[
%
%	Tt99u$$KK$$$

HH
		XX


rrc	|j|j|j|jjf\}}}}|t|}|t|}||d}}
}	i}g}
t
||D]j}|j}i}||||
D]@}||kr	||krn0||dz
ddzx}||<||kr||z
dz||z
dz|}}
}	A|}k|	|kry|
|krs|||
dz
s_||	dz
||
dz
krG|	dz
|
dz
|dz}}
}	|	|kr2|
|kr,|||
dz
s||	dz
||
dz
kG|	|z|krx|
|z|kro|||
|zs[||	|z||
|zkrC|dz
}|	|z|kr5|
|z|kr,|||
|zs||	|z||
|zkC|	|kry|
|krs|||
dz
r_||	dz
||
dz
krG|	dz
|
dz
|dz}}
}	|	|kr2|
|kr,|||
dz
r||	dz
||
dz
kG|	|z|krx|
|z|kro|||
|zr[||	|z||
|zkrC|dz}|	|z|kr5|
|z|kr,|||
|zr||	|z||
|zkCt|	|
|SNrr1)	rr r2r7__contains__r;rangegetr
)r#aloahiblobhirr r2isbjunkbestibestjbestsizej2lennothingr=j2lengetnewj2lenjks                   rfind_longest_matchz"SequenceMatcher.find_longest_match1s+	r"VTVTXtz7NN1c7;a&&C;a&&C!$c1husC		AyHHWWQqT7++
=
=s7788E"*(1Q3"2"2Q"66HQKx<<-.qSUAaCE1(5EEEckkeckk'!E!G*%%*ajAeAgJ&&%*1WeAgxz(5Eckkeckk'!E!G*%%*ajAeAgJ&&Hns""uX~';';'!E(N+,,(<h1U8^#444MHHns""uX~';';'!E(N+,,(<h1U8^#444ckkeckkgaaj!!*ajAeAgJ&&%*1WeAgxz(5Eckkeckkgaaj!!*ajAeAgJ&&Hns""uX~';';gah'(((<h1U8^#444!|HHns""uX~';';gah'(((<h1U8^#444UE8,,,rcV	|j|jSt|jt|j}}d|d|fg}g}|r|\}}}}|||||x\}	}
}}|rk||||	kr||
kr|||	||
f|	|z|kr(|
|z|kr||	|z||
|z|f||dx}
x}}g}|D]>\}}}|
|z|kr||z|kr||z
}|r||
||f|||}}}
?|r||
||f|||dftttj||_|jSNr)r)r;rr poprYr5sortlistmapr
_make)r#lalbqueuer)rKrLrMrNr=rWrXxi1j1k1non_adjacenti2j2k2s                    rget_matching_blocksz#SequenceMatcher.get_matching_blockss	$+''TVc$&kkBRB 	7!&Cc311#sCEEEGAq!a
7&&q)))77sQwwLL#q#q!1222Q3991sLL!A#sAaC!5666	7	
R")
	(
	(JBBBw"}}bBb
6 ''R555RB
	.R---b"a[***#C\$B$BCC##rc<	|j|jSdx}}gx|_}|D]j\}}}d}||kr	||krd}n||krd}n||krd}|r||||||f||z||z}}|r|d||||fk|S)Nrrreplacedeleteinsertequal)r*rlr5)r#r=rWansweraibjsizetags        rget_opcodeszSequenceMatcher.get_opcodess	8<#<	A ""v 4466	9	9LBDC2vv!b&&RR
5

QAr2444d7BtGqA
9

QA6888
rc#K	|}|sdg}|dddkr:|d\}}}}}|t|||z
|t|||z
|f|d<|dddkr:|d\}}}}}||t|||z|t|||zf|d<||z}g}	|D]\}}}}}|dkrq||z
|krh|	||t|||z|t|||zf|	Vg}	t|||z
t|||z
}}|	|||||f|	r+t	|	dkr|	dddks|	VdSdSdS)N)rqrr1rr1rrqr1)rwmaxminr5r;)
r#rBcodesrvrerirfrjnngroups
          rget_grouped_opcodesz#SequenceMatcher.get_grouped_opcodes#s	0  ""	,*+E8A;'!!"'(CRRCBqDMM2s2r!t}}b@E!H9Q<7"""')CRRRRACBqDMMAE"I
U#(	0	0CRRg~~"R%"**c2s2r!t}}b#b"Q$--HIIIRAB1

BLL#r2r2.////	#e**a--E!HQK7,B,BKKKKK		,B,Brc	td|D}t|t|jt|jzS)Nc3&K|]}|dV
dS)rzNr).0triples  r	<genexpr>z(SequenceMatcher.ratio.<locals>.<genexpr>ks&JJVfRjJJJJJJr)sumrlrr;rr )r#rs  rratiozSequenceMatcher.ratioUsV	*JJt/G/G/I/IJJJJJTVs46{{)BCCCrc	|j/ix|_}|jD]}||ddz||<|j}i}|jd}}|jD]?}||r	||}n||d}|dz
||<|dkr|dz}@t|t
|jt
|jzSrG)r,r rJrHrrr;)r#r,r>availavailhasrnumbs       rquick_ratiozSequenceMatcher.quick_rations	?"+--DOjv
=
=",..a"8"81"<
3_
!.'6	&	&Cx}}
.Sz!~~c1--E#Jaxx!A+TVs46{{)BCCCrc	t|jt|j}}tt	||||zSr)r;rr rr|)r#rarbs   rreal_quick_ratioz SequenceMatcher.real_quick_ratios@	TVc$&kkB BR"W555r)NrrT)rNrN)rx)__name__
__module____qualname__r$r"r&r'r-rYrlrwrrrrclassmethodr__class_getitem__rrrrr,sHT>>>>@


3334X%%%Nr-r-r-r-hE$E$E$N555n0000dDDD2DDD:
6
6
6$L11rrrx333333?c	|dkstd|d|cxkrdksntd|g}t}|||D]}||||krY||krA||kr)|||ft||}d|DS)Nrzn must be > 0: grzcutoff must be in [0.0, 1.0]: cg|]\}}|Srr)rscorerds   r
<listcomp>z%get_close_matches.<locals>.<listcomp>s%%%(%A%%%r)	
ValueErrorrr'r&rrrr5	_nlargest)word
possibilitiesrBcutoffresultsrds       rrrs8
66j3444&CjvvGHHH
FAJJt
**	

1


6))==??f$$7799MM17799a.)))q&
!
!F%%f%%%%rc^	ddt||DS)Nrc3XK|]%\}}|dkr|r|n|V&dS) N)isspace)rctag_cs   rrz$_keep_original_ws.<locals>.<genexpr>sRAuc\\aiikk\ur)joinzip)rtag_ss  r_keep_original_wsrs?K
77Au

rc<eZdZ	d	dZdZdZdZdZdZdZ	dS)
rNc$	||_||_dSrlinejunkcharjunk)r#rrs   rr$zDiffer.__init__*s	&!
 


rc	#K	t|j||}|D]\}}}}}|dkr|||||||}	no|dkr|d|||}	nP|dkr|d|||}	n1|dkr|d|||}	ntd||	Ed{VdS)	Nrnro-rp+rqrunknown tag )rrrw_fancy_replace_dumpr)
r#rr cruncherrvrKrLrMrNgs
          rcomparezDiffer.compareAs	2#4=!Q77'/';';'='=		#Cc3i''3QSAAJJsAsC00JJsAsC00JJsAsC00 jSS!:;;;LLLLLLLL		rc#PK	t||D]}|d||VdS)Nr)rI)r#rvrdlohir=s      rrzDiffer._dumpjsHBr2	(	(A SS!A$$'''''	(	(rc#K||z
||z
kr1|d|||}|d|||}n0|d|||}|d|||}||fD]
}	|	Ed{VdS)Nrr)r)
r#rrKrLr rMrNfirstsecondrs
          r_plain_replacezDiffer._plain_replaceos9sSy  ZZQS11EZZQS11FFZZQS11EZZQS11F		ALLLLLLLL		rc#K	d\}}t|j}	d\}
}t||D]}||}
|	|
t||D]}||}||
kr|
||}}
|	||	|krH|	|kr0|	|kr|	||}}}||kr+|
"|||||||Ed{VdS|
|d}}}nd}
|	||||||Ed{V||||}}|
dx}}|	
|||	D]o\}}}}}||z
||z
}}|dkr|d|zz
}|d|zz
})|dkr	|d|zz
}8|d	kr	|d
|zz
}G|dkr|d|zz
}|d|zz
}^td
||
||||Ed{Vnd|zV|	||dz|||dz|Ed{VdS)N)gGz?g?NNrrrn^rorrprrqrr  r1)rrrIr'r&rrrr
_fancy_helperr"rwr_qformat)r#rrKrLr rMrN
best_ratiorreqieqjrWrtr=rsbest_ibest_jaeltbeltatagsbtagsrvai1ai2bj1bj2rarbs                             rrzDiffer._fancy_replace}s0	((
F"4=11S
sC	H	HA1Bb!!!3__
H
HqT88{#$aS!!"%%%,,..;;**,,z99nn&&33191A1A1aJ!
H"{..q#sAsCHHHHHHHHH),c3JFFFC%%afafEEEEEEEEEvY&	d;EEdD)))+3+?+?+A+A

@

@'S#sCsC#IB)##S2X%ES2X%EEH__S2X%EEH__S2X%EEG^^S2X%ES2X%EE$*%>???}}T4>>>>>>>>>>+%%a36!8SIIIIIIIIIIIrc#Kg}||kr:||kr|||||||}n7|d|||}n||kr|d|||}|Ed{VdS)Nrr)rr)r#rrKrLr rMrNrs        rrzDiffer._fancy_helpers99Syy''3QSAAJJsAsC00
3YY

33,,Arc#K	t||}t||}d|zV|rd|dVd|zV|r
d|dVdSdS)N- z? 
+ )rrstrip)r#alineblinerrs     rrzDiffer._qformats	"%//6688!%//6688Ul	! u...   Ul	! u...     	!	!rr)
rrrr$rrrrrrrrrrrsSj!!!!.'''R(((
\J\J\J|


!!!!!rrNz
\s*(?:#\s*)?$c	||duSrr)linepats  rrrs3t99D  r 	c	||vSrr)chwss  rrr%s
8Orc	|dz}||z
}|dkrd|S|s|dz}d||SNr1z{}z{},{}formatstartstop	beginningrs    r_format_range_unifiedr<sW&	I
E\F
{{{{9%%%Q	>>)V,,,rrrc	#K	t|||||||d}td|||D]"}	|sfd}|rd|nd}
|rd|nd}d||
|Vd|||V|	d|	d}
}t	|d	|
d
}t	|d|
d}d
|||V|	D]S\}}}}}|dkr|||D]	}d|zV
#|dvr|||D]	}d|zV
|dvr|||D]	}d|zV
T$dS)NFT	{}r
--- {}{}{}z
+++ {}{}{}rrzr1rxz@@ -{} +{} @@{}rqr>rornr>rprnr)_check_typesrrrr)rr fromfiletofilefromfiledate
tofiledaterBlinetermstartedrfromdatetodaterlastfile1_rangefile2_rangervrerirfrjrs                      rr
r
Gs%NAxz8LLLG a**>>qAA%%	@G6BJv}}\222H2<DV]]:..."F%%h(CCCCC%%ffh?????Ahb	t+E!Hd1g>>+E!Hd1g>>&&{KJJJJJ#(
	%
	%CRRg~~beH%%D*$$$$+++beH%%D*$$$$+++beH%%D*$$$$
	%%%rc	|dz}||z
}|s|dz}|dkrd|Sd|||zdz
Srrrs    r_format_range_contextrsa&	I
E\FQ	
{{{{9%%%>>)Y%7!%;<<<rc	#K	t|||||||tdddd}d}	td|||D]r}
|	sfd}	|rd|nd	}|rd|nd	}d
|||Vd|||V|
d|
d
}}
d|zVt|
d|d}d||Vt
d|
Dr+|
D](\}}}}}|dkr|||D]}|||zV)t|
d|d}d||Vt
d|
Dr+|
D](\}}}}}|dkr|||D]}|||zV)tdS)Nrrz! r)rprornrqFTrrz
*** {}{}{}rrrzz***************r1rz
*** {} ****{}c3*K|]\}}}}}|dvVdS)>rornNrrrv_s   rrzcontext_diff.<locals>.<genexpr>2IIQ1as++IIIIIIrrprxrz
--- {} ----{}c3*K|]\}}}}}|dvVdS)>rprnNrrs   rrzcontext_diff.<locals>.<genexpr>rrro)rdictrrrrany)rr rrrrrBrprefixrrrrrrrrvrerirrrrfrjs                        rr	r	sc(TAxz8LLL
dD
E
E
EFG a**>>qAA11	@G6BJv}}\222H2<DV]]:..."F%%h(CCCCC%%ffh?????Ahb	t(****+E!Hd1g>>$$[(;;;;;II5IIIII	1%*
1
1!RQ(?? !"R%11$SkD00000+E!Hd1g>>$$[(;;;;;II5IIIII	1%*
1
1!Q2r(?? !"R%11$SkD00000711rc|rOt|dts4tdt|djd|dd|rOt|dts4tdt|djd|dd|D])}t|tstd|*dS)Nrz"lines to compare must be str, not  ()z all arguments must be str, not: )
isinstancestr	TypeErrortyper)rr argsargs    rrrs	5AaD#&&5iad,,,addd455	55AaD#&&5iad,,,addd455	5KK#s##	K)CCIJJJ	KKKrr
c	
#RK	d}	tt|	|}tt|	|}|	|}|	|}|	|}|	|}|	|}|||||||||}
|
D]}|ddVdS)Nc	|ddS#t$r0}dt|jd|d}t	||d}~wwxYw)Nasciisurrogateescapez!all arguments must be bytes, not rr)decodeAttributeErrorrrr)rerrmsgs   rrzdiff_bytes.<locals>.decodesm	*88G%6777	*	*	*	*GG$$$aaa)CC..c)	*s
A+A

Arr)r^r_encode)dfuncrr rrrrrBrrlinesrs            rrrs***	
S^^AS^^AvhH
VF^^F6,''L
##JvhHE!Q&,
AxPPE66kk'#455555566rcL	t||||Sr)rr)rr rrs    rrrs*!D(H%%--a333rc#8K	ddl}|jdt||||ddgffd	fdfd}|}|
|Ed{VdS|dz
}d}	ddg|z}
}	d}|dur<	t|\}}
}n#t$rYdSwxYw|	|z}||
|f|
|<|	dz
}	|du<|	|krd	V|}n|	}d}	|r|	|z}|	dz
}	|
|V|dz}||dz
}	|r)t|\}}
}|r|dz
}n|dz}||
|fV|)n#t$rYdSwxYw)
Nrz
(\++|\-+|\^+)c	||xxdz
cc<|%|||dddfS|dkr|d|d}}g}|fd}||t|D]1\}\}	}
|d|	dz|z||	|
zdz||
dz}2|dd}n,|ddd}|sd}d|z|zdz}|||fS)	Nr1rr?c||dd|g|dS)Nr1r)r5rspan)match_objectsub_infos  rrecord_sub_infoz3_mdiff.<locals>._make_line.<locals>.record_sub_infosL!3!3A!6!6q!9,:K:K:M:M NOOO#))!,,,rr)r\subreversed)r
format_keyside	num_linestextmarkersr"r#keybeginend	change_res           r
_make_linez_mdiff.<locals>._make_linefs\	,	$1dOEIIaLL$455!IIaLL%))A,,'DH6>
-
-
-
-
MM/'222$,H#5#5
N
NKU3AeG}T)#-d59o=dB4:M8DD99Q<<#D
*$t+d2D$%%rc3~K	g}d\}}	t|dkr6|tdt|dk6dd|D}|dr|}n|dr|dd	|dd
dfV|dr|d
z}|dd	ddfV|d
r|dd	d}}|d
z
d	}}nZ|dr|dd	|dd
dfVC|dr|dd	|dd
dfVw|dr|d
z}|dd	ddfV|dr|d
z
}d|dd
dfV|drd|dd
}}|d
zd	}}nj|dr|d
z
}d|dd
dfV-|dr'|dddd	|dd
dfVi|d	kr|d
z
}dV|d	k|d	kr|d
z}dV|d	k|drdS||dfV)N)rrTrXrcg|]
}|dS)rr)rrs  rrz2_mdiff.<locals>._line_iterator.<locals>.<listcomp>s333Ta333rz-?+?rrr1z--++r)z--?+z--+rz-+?z-?+z+--r)rz+-rF)NrrT)r5NT)r;r5nextr
startswith)rnum_blanks_pendingnum_blanks_to_yieldr	from_lineto_liner1diff_lines_iterators      r_line_iteratorz_mdiff.<locals>._line_iterators	26//F	-e**q..T"5s;;<<<e**q..33U33344A||C  3
'9##f%%.
 js1--zz%A/F/FLLLLf%%*
#a'" js1--tT9999344$
%/JuS$;$;T'	9KA9Ma$6##e$$
 jtA..

5Q0G0GMMMMe$$
 js1--zz%Q/G/GMMMMc""
"a'" js1--tT9999e$$
#a'"JJuS33T9999l++
%)::eC+B+B7	9KA9Ma$6##c""
"a'"JJuS33T9999c""
 jqqq$q11**U42J2J5PPPP&))#q(#))))&))&))#q(#))))&))||C  
-,,,,MF	-rc3K	}gg}}	t|dkst|dkr~	t|\}}}n#t$rYdSwxYw||||f||||ft|dkkt|dk~|d\}}|d\}}|||p|fV)NTr)r;r6
StopIterationr5r\)	
line_iterator	fromlinestolinesr:r;
found_difffromDiffto_diffr=s	        r_line_pair_iteratorz#_mdiff.<locals>._line_pair_iterators+	'((
R'		:y>>1$$Ga59-5H5H2Iw

$FF($$i
%;<<<&NNGJ#7888y>>1$$Ga#,--"2"2Ix&{{1~~GWWX%89999	:sA
AAr1TF)NNN)recompilerr6r?)rArBcontextrrrGrFline_pair_iteratorlines_to_writeindexcontextLinesrCr:r;r=r=r1r0r<s               @@@@r_mdiffrN<sz@III
+,,I 	'(8DD78e6&6&6&6&6&6&pV-V-V-V-V-V-p:::::B-,..%%%%%%%%%%	1(	#$dVW%5<EJ%%59:L5M5M2Iw

$FFGO#,gz"BQ
%%w&&&&!(!& 
$GO
"1o%%%!#	!
$%QYN
$959:L5M5M2Iw
!,)0&!+#Wj8888%9!



M(	s$/B
BB+D


DDan
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>
    <meta http-equiv="Content-Type"
          content="text/html; charset=%(charset)s" />
    <title></title>
    <style type="text/css">%(styles)s
    </style>
</head>

<body>
    %(table)s%(legend)s
</body>

</html>aH
        table.diff {font-family:Courier; border:medium;}
        .diff_header {background-color:#e0e0e0}
        td.diff_header {text-align:right}
        .diff_next {background-color:#c0c0c0}
        .diff_add {background-color:#aaffaa}
        .diff_chg {background-color:#ffff77}
        .diff_sub {background-color:#ffaaaa}aZ
    <table class="diff" id="difflib_chg_%(prefix)s_top"
           cellspacing="0" cellpadding="0" rules="groups" >
        <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup>
        <colgroup></colgroup> <colgroup></colgroup> <colgroup></colgroup>
        %(header_row)s
        <tbody>
%(data_rows)s        </tbody>
    </table>a
    <table class="diff" summary="Legends">
        <tr> <th colspan="2"> Legends </th> </tr>
        <tr> <td> <table border="" summary="Colors">
                      <tr><th> Colors </th> </tr>
                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
                      <tr><td class="diff_chg">Changed</td> </tr>
                      <tr><td class="diff_sub">Deleted</td> </tr>
                  </table></td>
             <td> <table border="" summary="Links">
                      <tr><th colspan="2"> Links </th> </tr>
                      <tr><td>(f)irst change</td> </tr>
                      <tr><td>(n)ext change</td> </tr>
                      <tr><td>(t)op</td> </tr>
                  </table></td> </tr>
    </table>c|eZdZ	eZeZeZeZdZdddefdZ			ddd	d
Z
dZdZd
Z
dZdZdZdZ		ddZdS)rrNc@	||_||_||_||_dSr)_tabsize_wrapcolumn	_linejunk	_charjunk)r#tabsize
wrapcolumnrrs     rr$zHtmlDiff.__init__s*		 
%!!rrFzutf-8)charsetc
	|jt|j|j||||||||z|d|S)N)rInumlines)styleslegendtablerYxmlcharrefreplace)_file_templater_styles_legend
make_tablerr)r#rArBfromdesctodescrIr[rYs        r	make_filezHtmlDiff.make_filesy	"#d<<//)Wh*1H"FF'
'
'

6'.//w
	@rcR	fdfd|D}fd|D}||fS)Nc|dd}|j}|dd}|dddS)Nrr$	r)rn
expandtabsrRr)rr#s rexpand_tabsz2HtmlDiff._tab_newline_replace.<locals>.expand_tabss`<<D))D??4=11D<<D))D<<S))00666rc&g|]
}|Srrrrrks  rrz1HtmlDiff._tab_newline_replace.<locals>.<listcomp>s#===4[[&&===rc&g|]
}|Srrrms  rrz1HtmlDiff._tab_newline_replace.<locals>.<listcomp>s#999;;t$$999rr)r#rArBrks`  @r_tab_newline_replacezHtmlDiff._tab_newline_replacesa		7	7	7	7	7>===9===	9999999  rc>	|s|||fdSt|}|j}||ks||ddzz
|kr|||fdSd}d}d}||krO||krI||dkr|dz
}||}|dz
}n||dkr|dz
}d}n
|dz
}|dz
}||kr||kI|d|}	||d}
|r
|	dz}	d|z|
z}
|||	f||d|
dS)Nr$rxrrr1r%>)r5r;rScount_split_line)r#	data_listline_numr+rur{r=rBmarkline1line2s           rrszHtmlDiff._split_lines		ht_---F4yyCKKdTZZ%5%5a%78S@@ht_---F

#gg!d((Aw$QAwQaDQQQ#gg!d((RaRQRR
	(DLE4K%'E	(5)***	
3u-----rc#2K	|D]\}}}||||fV||c\}}\}}gg}
}	||	||||
|||	s|
r?|	r|	d}nd}|
r|
d}nd}|||fV|	=|
?dS)Nr)rr)rsr\)r#diffsfromdatatodataflagfromlinefromtexttolinetotextfromlisttolists           r
_line_wrapperzHtmlDiff._line_wrappersC%*	+	+ HVD|vd****2:6/Xh!VHXhx888VF6222	
+f	
+('||AHH'H&#ZZ]]FF%Fvd****	
+f	
+	+	+rcV	ggg}}}|D]\}}}	||jd|g|R||jd|g|Rn:#t$r-|d|dYnwxYw|||||fSrG)r5_format_liner)r#rzrrflaglistr{r|r}s        r_collect_lineszHtmlDiff._collect_lines.s	$&b$)		"		" HVD
$ 1 1!D C( C C CDDD

/d/$????@@@@
$
$
$%%%

d#####
$
OOD!!!!x''sAA4B
B
c@		d|z}d|j||d}n#t$rd}YnwxYw|ddddd	d
}|dd}d
|d|d|dS)Nz%dz id=""r&z&amp;rqz&gt;<z&lt;r&nbsp;z<td class="diff_header"z</td><td nowrap="nowrap">z</td>)_prefixrrnr)r#r)r}linenumr+ids      rrzHtmlDiff._format_lineCs		WnGG!%d!3!3GGG<BB			BBB	\\#g
&
&
.
.s6
:
:
B
B3v
N
N||C))0022""WWWTTT#	#s++c	dtjz}dtjz}txjdz
c_||g|_dS)Nzfrom%d_zto%d_r1)r_default_prefixr)r#
fromprefixtoprefixs   r_make_prefixzHtmlDiff._make_prefixZsE+!99
X55  A%  "8,rc	|jd}dgt|z}dgt|z}d\}	}
d}t|D]=\}}
|
r4|
s1d}
|}td||z
g}d||	fz||<|	dz
}	d||	fz||<;d}
>|sdg}dg}dg}d}|rd	g}|}nd
gx}}|dsd|z|d<d|z||<|||||fS)
Nr1r)rFrTz id="difflib_chg_%s_%d"z"<a href="#difflib_chg_%s_%d">n</a>Fz2<td></td><td>&nbsp;No Differences Found&nbsp;</td>z(<td></td><td>&nbsp;Empty File&nbsp;</td>z!<a href="#difflib_chg_%s_0">f</a>z#<a href="#difflib_chg_%s_top">t</a>)rr;r3r{)r#rrrrIr[rnext_id	next_hrefnum_chg	in_changerr=r}s              r_convert_flagszHtmlDiff._convert_flagsesV(<?$s8}}$DX&	%))	"	"FAd
" + $IDQqzN++A!:hw=O!OGAJqLG&J!'N+'+IdO"				QwHdGID
QPQ!%O$PP6{	J>IIaL?8L	$x	'99rc
	||||\}}|r|}nd}t||||j|j}|jr||}||\}	}
}||	|
|||\}	}
}}}
g}d}tt|D]a}|||dkr|d&|||
||||	||||
|fzb|s|rddd|zdd|zd}nd	}|jtd	|||jd
z}|dd
ddddddddS)NrzV            <tr><td class="diff_next"%s>%s</td>%s<td class="diff_next">%s</td>%s</tr>
rz)        </tbody>        
        <tbody>
z<thead><tr>z!<th class="diff_next"><br /></th>z+<th colspan="2" class="diff_header">%s</th>z
</tr></thead>rr1)	data_rows
header_rowrz+z<span class="diff_add">z-z<span class="diff_sub">z^z<span class="diff_chg">r%z</span>rir)rrorNrTrUrSrrrrIr;r5_table_templaterrrrn)r#rArBrdrerIr[
context_linesrzrrrrrrfmtr=rr^s                   rrczHtmlDiff.make_tablesO	$	
!55iHH	'	!$MM My#~///	.&&u--E$(#6#6u#=#= 6:5H5HVHWX676727
7s8}}%%	D	DA{"q55HHJKKK#IaL!+4Q<q	!CCDDDD	v	33=HH33=FFF	HJJJ$tggajj!<?($($($$
}}U#<==WU#<==WU#<==WT),,WT(++		,r)rrFrX)rrrr`rarrbrrr$rfrorsrrrrrrcrrrrrs
$NG%OGO4+"""""AC*+@8?@@@@@6!!!.5.5.5.n+++8(((*###.	-	-	--:-:-:^INK,K,K,K,K,K,rrc#K		dddt|}n!#t$rtd|zdwxYwd|f}|D]}|dd|vr|ddVdS)Nrr)r1rz)unknown delta choice (must be 1 or 2): %rrr)intKeyErrorr)deltawhichrvprefixesrs     rrrs*.4  U,...D"#$$)-	..c{H8xqrr(NNNs<c<ddl}ddl}||Sr[)doctestdifflibtestmod)rrs  r_testrs,??7###r__main__)rxr)r)rrrrrxr)rrrrrxr)%__all__heapqrrcollectionsr_namedtupletypesrr
rrrrrrGrHmatchrrrr
rr	rrrrNr`rarrbobjectrrrrrrr<module>rs8>>>('''''111111GZ((
k	2k	2k	2k	2k	2k	2k	2k	2\.&.&.&.&bl!l!l!l!l!l!l!l!~	
			%2:&677=!!!! .	-	-	-=?.2B%B%B%B%R	=	=	=,.?CJ1J1J1J1XKKK"25?D6666<(9#4#4#4#4J(,d%KKKK\(0"],],],],],v],],],~
@$$$z	EGGGGGr