python (3.11.7)

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

e{ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	dZ
GddejZedkrej
dSdS)N)temp_cwd)assert_python_failurezglobal variableceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFS)GTestCasec|D]m}||5|||5t|dddn#1swxYwYdddn#1swxYwYndS)Nstr)subTestassertRaisesRegexeval)selfexception_typeregex
error_stringsr	s     E/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_fstring.pyassertAllRaisezTestCase.assertAllRaises 		C#&&

++NEBBIII














		s4A%AA%AA%AA%%A)	,A)	cGdd}|}|}tjd||_||t	|||d|t	|t	|||dd||dd|t||dd|t||dddS)NceZdZdZdS)(TestCase.test__format__lookup.<locals>.XcdS)Nclassr
specs  r
__format__z3TestCase.test__format__lookup.<locals>.X.__format__&swN__name__
__module____qualname__rrrrXr%s#




rr!cdS)Ninstancerrs  r<lambda>z/TestCase.test__format__lookup.<locals>.<lambda>.s:rrr#)types
MethodTyperassertEqualformattype)r
r!xys    rtest__format__lookupzTestCase.test__format__lookup#sZ								
ACC
ACC'(E(EqIIA+++A)))F1II...
	
b))7333b)):666	
a++Ar22G<<<a++Ar22G<<<<<rcGdd}|}d}tj|}t|dd}||jt|||jdS)NceZdZdZdZdS)TestCase.test_ast.<locals>.Xcd|_dS)NFcalledr
s r__init__z%TestCase.test_ast.<locals>.X.__init__As
#rcd|_dS)NTr2r4s r__call__z%TestCase.test_ast.<locals>.X.__call__Cs"qrN)rrr r5r8rrrr!r0@s2
$
$
$




rr!
a = 10
f'{a * x()}'r%exec)astparsecompileassertFalser3r:
assertTrue)r
r!r+exprtcs      rtest_astzTestCase.test_ast>s								
ACC
IdOOAr6""	
"""	
Q	
!!!!!rcd}tj|}|t|tj|t|jd|t|jdtj||jdjd|t|jdtj	|t|jdj
tj|t|jdj
jd|t|jdj
jdtj
||jdjd||jdj
jd||jdj
jdjd|jdj
jdj
}|t|tj|t|jtj|t|jtj|t|jtj||jd||jjd||jjd||jd||jjd||jjddS)Nr9r)r;r<r(r*ModulelenbodyAssignlinenoExprvalue	JoinedStrvaluesFormattedValueBinOpleftNameopMultrightCall
col_offsetr
r@rAbinops    rtest_ast_line_numberszTestCase.test_ast_line_numbersVs
IdOOa#*---QVa(((afQi#*555)1---afQi#(333afQio..
>>>QVAY_344a888afQio4Q788#:LMMM)1---/333/291===q	&q)/eci000ej))38444eh222ek**CH555q)))*A...+Q///)1---.222/33333rcd}tj|}|t|tj|t|jd|t|jdtj|t|jdjtj	||jdj
d|t|jdtj|t|jdjtj	|t|jdjjd|t|jdjjdtj|t|jdjjdjt|t|jdjjdtj|t|jdjjdtj|t|jdjjdjt|t|jdjjdtj||jdj
d||jdjj
d||jdjjdj
d||jdjjdj
d||jdjjdj
d||jdjjdj
d|jdjjdj}|t|tj|t|jtj|t|jtj|t|jtj||j
d||jj
d||jj
d||jd||jjd||jjd|jdjjdj}|t|tj|t|jtj|t|jtj|t|jtj||j
d||jj
d||jj
d||jd	||jjd	||jjd
dS)Nz8
f'no formatted values'
f'eggs {a * x()} spam {b + y()}'rErrFr7rG)r;r<r(r*rIrJrKrNrOrPrMrQConstantr	rRrSrTrUrVrWrXrYrZAdd)r
r@rAbinop1binop2s     r.test_ast_line_numbers_multiple_formattedvaluesz7TestCase.test_ast_line_numbers_multiple_formattedvaluesus$
IdOOa#*---QVa(((afQi#(333afQio..
>>>)1---afQi#(333afQio..
>>>QVAY_344a888afQio4Q788#,GGGafQio4Q7=>>DDDafQio4Q788#:LMMMafQio4Q788#,GGGafQio4Q7=>>DDDafQio4Q788#:LMMM)1---/333/291===/291===/291===/291==='*0fsy111fk**CH555fi#(333fl++SX666***+Q///,a000*A.../3330"555'*0fsy111fk**CH555fi#'222fl++SX666***+Q///,a000*B////4440"55555rcxd}tj|}|t|tj|t|jd|t|jdtj||jdjd|t|jdtj	|t|jdj
tj|t|jdj
jd|t|jdj
jdtj
||jdjd||jdj
jd||jdj
jdjd|jdj
jdj
}|t|tj|t|jtj|t|jtj|t|jtj||jd||jjd||jjd||jd||jjd||jjd|t|jjd|t|jjdtj|t|jjdj
t,|t|jjdtj
|t|jjdtj|t|jjdj
t,||jjdjd||jjdjd||jjdjd|jjdj
}|t|tj||jd||jddS)Nz
a = 10
f'{a * f"-{x()}-"}'rErrFrGrH)r;r<r(r*rIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrZrcr	rY)r
r@rAr\calls     rtest_ast_line_numbers_nestedz%TestCase.test_ast_line_numbers_nesteds
IdOOa#*---QVa(((afQi#*555)1---afQi#(333afQio..
>>>QVAY_344a888afQio4Q788#:LMMM)1---/333/291===q	&q)/eci000ej))38444eh222ek**CM:::q)))*A...+Q///)1---.222/333U[/00!444ek0344clCCCek039::C@@@ek0344c6HIIIek0344clCCCek039::C@@@+A.5q999+A.5q999+A.5q999{!!$*dSX...a((("-----rcBd}tj|}|t|tj|t|jd|t|jdtj||jdjd|t|jdtj	|t|jdj
tj|t|jdj
jd|t|jdj
jdtj
|t|jdj
jdtj|t|jdj
jdj
t|t|jdj
jdtj
|t|jdj
jdtj|t|jdj
jdj
t|t|jdj
jdtj
||jdjd||jdj
jd||jdj
jdjd||jdj
jdjd||jdj
jdjd||jdj
jdjd||jdj
jdjd|jdj
jdj
}|t|tj|t|jtj|t|jtj|t|jtj||jd||jjd||jjd||jd||jjd||jjd|jdj
jdj
}|t|tj|t|jtj|t|jtj|t|jtj||jd||jjd||jjd||jd	||jjd	||jjd
|jdj
jdj
}|t|tj|t|jtj|t|jtj|t|jtj||jd||jjd||jjd||jd||jjd||jjddS)
Nz)
a = 10
f'{a * x()} {a * x()} {a * x()}'
rErrFrGr7rH
rarb)r;r<r(r*rIrJrKrLrMrNrOrPrQrRrcr	rSrTrUrVrWrXrYrZr[s    r*test_ast_line_numbers_duplicate_expressionz3TestCase.test_ast_line_numbers_duplicate_expressions
IdOOa#*---QVa(((afQi#*555)1---afQi#(333afQio..
>>>QVAY_344a888afQio4Q788#:LMMMafQio4Q788#,GGGafQio4Q7=>>DDDafQio4Q788#:LMMMafQio4Q788#,GGGafQio4Q7=>>DDDafQio4Q788#:LMMM)1---/333/291===/291===/291===/291===/291===q	&q)/eci000ej))38444eh222ek**CH555q)))*A...+Q///)1---.222/333q	&q)/eci000ej))38444eh222ek**CH555q)))*A...+Q///)2....333/444q	&q)/eci000ej))38444eh222ek**CH555q)))*A...+Q///)2....333/44444rcJtjd}|t|jd||jdjd|t
|jdtj|t
|jdjtj	|t|jdjj
d|t
|jdjj
dtj|t
|jdjj
dtj|t
|jdjj
dtj|jdjj
\}}}|j}|t
|tj
||jd||jd||jd||jddS)Nz%f"Here is that pesky {xxx:.3f} again"rFrrGrE)r;r<r(rJrKrMr*rNrOrPrQrcrRrU
end_linenorZend_col_offset)r
rA_r@names     r(test_ast_numbers_fstring_with_formattingz1TestCase.test_ast_numbers_fstring_with_formattingsI=>>QVa((()1---afQi#(333afQio..
>>>QVAY_344a888afQio4Q788#,GGGafQio4Q788#:LMMMafQio4Q788#,GGGVAY_+
4zdSX...a(((!,,,"---,b11111rc(d}tj|}|t|tj|t|jd|t|jdtj||jdjd|t|jdtj	|t|jdj
tj|t|jdj
jd|t|jdj
jdtj
|t|jdj
jdj
t|t|jdj
jdtj|t|jdj
jdtj
|t|jdj
jdj
t||jdjd||jdj
jd||jdj
jdjd||jdj
jdjd||jdj
jdjd||jdjd||jdj
jd||jdj
jdjd||jdj
jdjd||jdj
jdjd|jdj
jdj
}|t|tj|t|jtj|t|jtj|t|jtj||jd||jjd||jjd||jd||jjd||jjdd	}tj|}|t|tj|t|jd|t|jdtj|t|jdj
tj|t|jdj
jd|t|jdj
jdtj||jdjd||jdj
jd||jdj
jdjd||jdj
jdjd||jdj
jdjd||jdjd||jdj
jd||jdj
jdjd||jdj
jdjd||jdj
jdjd||jdj
jdj
jd||jdj
jdj
jd||jdj
jdj
jd
||jdj
jdj
jddS)Nz?
a = 10
f'''
  {a
     *
       x()}
non-important content
'''
rErrFrGr7rHz$
a = f'''
          {blech}
    '''
ri)r;r<r(r*rIrJrKrLrMrNrOrPrQrcr	rRrZrSrTrUrVrWrXrYrtrur[s    r'test_ast_line_numbers_multiline_fstringz0TestCase.test_ast_line_numbers_multiline_fstring/s
IdOOa#*---QVa(((afQi#*555)1---afQi#(333afQio..
>>>QVAY_344a888afQio4Q788#,GGGafQio4Q7=>>DDDafQio4Q788#:LMMMafQio4Q788#,GGGafQio4Q7=>>DDD)1---/333/291===/291===/291===-q1113Q777/2=qAAA/2=qAAA/2=qAAAq	&q)/eci000ej))38444eh222ek**CH555q)))*A...+Q///)1---.222/333

IdOOa#*---QVa(((afQi#*555afQio..
>>>QVAY_344a888afQio4Q788#:LMMM)1---/333/291===/291===/291===-q1113Q777/2=qAAA/2=qAAA/2=qAAA/28?CCC/28CQGGG/28CRHHH/28GLLLLLrcd}tj|}|t|tj|t|jd|jdjjdj}|t|tj	||j
d||jd||jd||j
dd}tj|}|t|tj|t|jd|jdjjd}|t|tj|t|jd|j\}}}|t|tj||j
d||jd	||jd
||j
d|j}|t|tj	||j
d||jd||jd
||j
d|t|tj||j
d||jd	||jd
||j
ddS)Nz
x = (
    f" {test(t)}"
)rFrrGr_zv
x = (
        'PERL_MM_OPT', (
            f'wat'
            f'some_string={f(x)} '
            f'wat'
        ),
)
r7rzr`rmrb)r;r<r(r*rIrJrKrOrQrYrMrtrZrueltsrPrc)r
r@rArjfstringwat1middlewat2s        r&test_ast_line_numbers_with_parenthesesz/TestCase.test_ast_line_numbers_with_parentheses~s(
IdOOa#*---QVa(((vay%a(.dSX...a(((!,,,!,,,,b111
IdOOa#*---QVa(((&)/&q)g
666W^,,a000$^fddS\222a(((!,,,"---,b111|dSX...a(((!,,,"---,b111dS\222a(((!,,,"---,b11111rczd}||jd}||jdS)Nc
ddSNzNot a docstringrrrrfz"TestCase.test_docstring.<locals>.fs""""rc
ddSrrrrrgz"TestCase.test_docstring.<locals>.gs



r)assertIsNone__doc__)r
rrs   rtest_docstringzTestCase.test_docstringsT	#	#	#!)$$$				
!)$$$$$rc|td5tjdddddS#1swxYwYdS)Nzmalformed node or stringzf'x')r
ValueErrorr;literal_evalr4s rtest_literal_evalzTestCase.test_literal_evals

#
#J0J
K
K	%	%V$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%s>AAcdg}d}tj|}t|dd}t|||dddS)Nr%zx[0] = 'foo' f'{3}'r:rfoo3)r;r<r=r:r()r
r+r@rArBs     rtest_ast_compile_time_concatz%TestCase.test_ast_compile_time_concatsW
D(IdOOAr6""Q1v&&&&&rcB|tdddgdS)Nz&cannot mix bytes and nonbytes literalszf'' b''zb'' f''rSyntaxErrorr4s rtest_compile_time_concat_errorsz(TestCase.test_compile_time_concat_errorss4KD++	 	 	 	 	 rc|d|dd|dddS)Nr%a r(r4s rtest_literalzTestCase.test_literalsJb!!!s###s#####rcB|tdgddS)Nzf-string: unterminated string)zf'{"x'zf'{"x}'zf'{("x'zf'{("x}'rr4s rtest_unterminated_stringz!TestCase.test_unterminated_strings8K)H	 	 	 	 	 rcj|tddg|tddg|tddg|tddg|tdd	g|ttd
dS)NzJf-string: closing parenthesis '\}' does not match opening parenthesis '\('zf'{((}'zJf-string: closing parenthesis '\)' does not match opening parenthesis '\['z	f'{a[4)}'zJf-string: closing parenthesis '\]' does not match opening parenthesis '\('z	f'{a(4]}'zJf-string: closing parenthesis '\}' does not match opening parenthesis '\['zf'{a[4}'zf'{a(4}'af'{((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((}')rrassertRaisesrr4s rtest_mismatched_parenszTestCase.test_mismatched_parenssK*G&	 	 	 	
K*G(				
K*G(				
K*G'				
K*G'				
+t-CDDDDDrc|dd|dd|dd|dd|dd|dd|dd|dd|d	d	|d
d
|dd|dd|d
d
|dd|dd|dd|ddd|ddd|ddd|ddd|ddd|ddd|ddd|ddd|dd|tddgdS) N{za{z{bza{b}za}z}bza}bz{}za{}z{b}z{}cza{b}za{}cz{b}cza{b}c
z{10z}10z}{z}{10z}a{z}a{10z10{z10}z10}{z}a{}z10}a{}z{{}}zunhashable typezf'{ {{}} }')r(r	TypeErrorr4s rtest_double_braceszTestCase.test_double_bracess$$$&&&&&&%((($$$&&&&&&%((($'''5)))5)))5)))F+++F+++F+++W---bE***bE***f---w///BE***BE***Bf---B)))8444	
Ff---I'8*	 	 	 	 	 rcd}|d|dd|d|dd|d|d|dd|d	|d
|d|d|d	|d
|d
|d|d|d|d|d||dd||d||d||d||dd|d|dd|d|d||d|d|d|d|d|d|d|d|d|tddgdS)Ndefzabc## ghizabc## defghiabc	abcdefghi4z
abcdefghidef z{x}z{x}defz{xz{xdefz{{x}}z{{x}}defz{{xz{{xdefzx}}zx}}defzdefx}}2def211def21def-zdef-defr%f-string: expecting '}'z
f'{3' f'}'r(rrr
r+s  rtest_compile_time_concatz!TestCase.test_compile_time_concats+Q+++^<<<+!+++[9994!44q944oFFF!x000g...!x000A444!x000!x000Ax000AE***qu---qE***AV,,,111V,,,AA333$$$B'''+++b!!!$$$R(((+++K)B)	 	 	 	 	 rcddi}|dd||dd|tdgd|tddgdS)N#hashz+f-string expression part cannot include '#')zf'{1#}'z	f'{3(#)}'zf'{#}'f-string: unmatched '\)'zf'{)#}'rr
ds  r
test_commentszTestCase.test_comments6s
&MC3'''AcFf---K)V	 	 	 
	
K)D&	 	 	 	 	 rcdd}d}d}tddD]4}|t|||dz|z5|t|dd	z|dzd
z|dd}|t||dzd
zddz}|t|ddS)Nr%cdd|zz|zdzS)Nzf'z{x} 'r)nextras  r
build_fstrz2TestCase.test_many_expressions.<locals>.build_fstrKs6A:&.44rr!rFiriz{x:{width}} zf'{1}' 'x' 'y'i1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy1xy)r%)ranger(r)r
rr+widthiss      rtest_many_expressionszTestCase.test_many_expressionsFs
	5	5	5	5
sC	=	=AT**Q--001S5!)<<<<	
jjooc122QsUW4EFFFJsN++a1S5#+...
t#a,/////rc	d}d}tjd}|d||d|d|d||d|d|d||dd|dd|d|d	d
dd|dd|d|d	d
dd|dd|ddd	dd
|dddd
dd
|ddddd
dd|dddd	ddd|dddddiko|dd
|tddg|tddg|tddg|tddgdS)Nrr7z12.34567zresult: .zresult:      12.350rrFrr0xz
       0xar+irz
      -0xarGrmrzf'{"s"!r{":10"}}'f-string: invalid syntaxzf'{4:{/5}}'z'f-string: expressions nested too deeplyz,f'result: {value:{width:{0}}.{precision:1}}'&f-string: invalid conversion characterzf'{"s"!{"r"}}')decimalDecimalr(rr)r
r	precisionrOs    r!test_format_specifier_expressionsz*TestCase.test_format_specifier_expressions_s	
++?E5??9????AUVVVAE5AAYAAAACWXXXCE5CCCYCCCCCEYZZZBE1BaBBBIBBBBBDXYYYEEAEEEEyEEEEEG[\\\B666B//a////>>>C-#------|<<<C11q113111<@@@B9qe!59999<HHHK)B4	 	 	 	
K)C*	 	 	 
	
K)RK	 	 	 
	
K)Q2	 	 	 	 	 rcjGdd}|}||d|ddS)NceZdZdZdZdS)*TestCase.test_side_effect_order.<locals>.Xcd|_dS)Nr)rr4s rr5z3TestCase.test_side_effect_order.<locals>.X.__init__s
rcJ|xjdz
c_t|jS)NrF)rr	rs  rrz5TestCase.test_side_effect_order.<locals>.X.__format__s!46{{"rN)rrr r5rrrrr!rs2



#
#
#
#
#rr!rz1 2r)r
r!r+s   rtest_side_effect_orderzTestCase.test_side_effect_orders]	#	#	#	#	#	#	#	#
ACCAU+++++rc2|tdgd|tdgd|tdgd|tdgd|td	d
dgdS)Nz&f-string: empty expression not allowed)zf'{}'z
f'{ }'f' {} 'zf'{10:{ }}'zf' { } 'z
f'''{	
}'''z(f-string: expression required before '!')zf'{!r}'zf'{ !r}'zf'{!}'zf'''{	
!a}'''zf'{!'zf'{!s:'zf'{!x}'z	f'{ !xr}'zf'{!x:}'z	f'{!x:a}'z
f'{ !xr:}'zf'{ !xr:a}'z(f-string: expression required before ':')zf'{:}'zf'{ :!}'zf'{:2}'zf'''{	
:a}'''zf'{:'z(f-string: expression required before '=')zf'{=}'zf'{ =}'zf'{ =:}'z
f'{   =!}'zf'''{	
=}'''zf'{='z'invalid non-printable character U\+00A0uf'''{ }''' rr4s rtest_missing_expressionz TestCase.test_missing_expressionsK)Q			
	 
	 
	 	
K)S	 	 	 *	
K)S	 	 	 	
K)S	 	 	 	
K)S,#	 	 	 	 	 rc|dd|tdddg|tddg|tddgdS)	N)rGz(3,)rzf'{,}'rz
f'{3)+(4}'zunterminated string literalzf'{
}'rr4s rtest_parens_in_expressionsz#TestCase.test_parens_in_expressionss4&)))	
K)C%%	 	 	 
	
K)D)	 	 	 	
K)F&	 	 	 	 	 rcB|tdgddS)Ninvalid syntax)zf'{.}'z
f'{.}'z

f'{.}'rr4s r!test_newlines_before_syntax_errorz*TestCase.test_newlines_before_syntax_errors2K)9444	6	6	6	6	6rc|dd|dd|dd|ddd|dddd|ddd|dd|d	d	|d	d	|ddd
|dddd|ddd|dd|d
d
|d
d
|ddd
|dddd|ddd|dd|ddd
|dddd|ddd|d
d
|dd|dd|dd|dd|dd|ddd|dddd|ddd|dd|dd|dd|t5td}dddn#1swxYwY||d|ddd|dddd}|dd|d|d|d|d|dddS)N	z\trEz2	rGz2	3z	3uΔz\u0394u2Δu2Δ3uΔ3z
\U00000394rz\x20z2 z2 3z 3z	f'\{6*7}'z\42\*spam&z\Nz\Nspamz\&)r(assertWarnsDeprecationWarningr)r
rO	AMPERSANDs   rtest_backslashes_in_string_partz(TestCase.test_backslashes_in_string_parts%%%&&&'''A5)))Af---a5)))H---I...Y///Ay111AQ*555!y111111
666777A)))9555A,,,,j999)a))9555:HEEEA===yIIIA@@Q@@*MMM=!==yIII;YGGG<jIII;YGGG#&&&'***7+++AT***A1...T***4(((E***4(((


0
1
1	'	'&&E	'	'	'	'	'	'	'	'	'	'	'	'	'	'	''''cV,,,cV,,,		
)3///*y**I666*y**I666+U33333s>MM!McB|tdgddS)Nzi\(unicode error\) 'unicodeescape' codec can't decode bytes in position .*: malformed \\N character escape)
zf'\N'zf'\N 'zf'\N  'zf'\N{'z f'\N{GREEK CAPITAL LETTER DELTA'z'\N'z'\N 'z'\N  'z'\N{'z'\N{GREEK CAPITAL LETTER DELTA'rr4s r%test_misformed_unicode_character_namez.TestCase.test_misformed_unicode_character_names=	
K*V


	 	 	 	 	 rcB|tdgddS)Nz3f-string expression part cannot include a backslash)z
f'{\'a\'}'zf'{\t3}'zf'{\}'zrf'{\'a\'}'z	rf'{\t3}'zrf'{\}'zrf'{"\N{LEFT CURLY BRACKET}"}'zf'{\n}'rr4s r&test_no_backslashes_in_expression_partz/TestCase.test_no_backslashes_in_expression_part*s8K)^		 		 		 		 		 rc	|dd|dd|dd|dddS)Nz{1+1}z{1+1rr4s rtest_no_escapes_for_bracesz#TestCase.test_no_escapes_for_braces6sh		
w///V,,,v...LgVVVVVrcb|dd|dddS)NrrrH7rr4s rtest_newlines_in_expressionsz%TestCase.test_newlines_in_expressions@sIA%%% 
					rcd|fddd|fdddd|fdddd	|td
dgdS)Nrmc|zSNrr,r+s rr$z&TestCase.test_lambda.<locals>.<lambda>Gacr8z'88888'c|zSrrrs rr$z&TestCase.test_lambda.<locals>.<lambda>Hrr10z
'88888'   c|zSrrrs rr$z&TestCase.test_lambda.<locals>.<lambda>Irrz
88888     rzf'{lambda x:x}'rrs @rtest_lambdazTestCase.test_lambdaEs
\\\\\3//3Y???\\\\\3//66EEE\\\\\3//44lCCC	
K)C.	 	 	 	 	 rcd}|d}|t|d|t|ddS)Nc3(Kd|dzVdVdS)Nzy:rEr)r,s rfnzTestCase.test_yield.<locals>.fnTs+qsuuJJJJrr7r_)r(next)r
r
rs   r
test_yieldzTestCase.test_yieldQs^			
BqEEa!$$$a$'''''rcd}|d}t|}||dd||dddS)Nc3$KdfdVVdS)Nx:c|zSrr)rr+s rr$z6TestCase.test_yield_send.<locals>.fn.<locals>.<lambda>^sArrr+s`rr
z$TestCase.test_yield_send.<locals>.fn]s-0oooo..0000000rrr7(stringzx:string)rr(send)r
r
r
the_lambdas    rtest_yield_sendzTestCase.test_yield_send\sq	1	1	1
BrFF!WW
A+++)):66666rcv|dd|dd|dd|dd|dd|dd|dd|dddS)Nr+zeric'szxeric"syzxeric"szeric"syrr4s r+test_expressions_with_triple_quoted_stringsz4TestCase.test_expressions_with_triple_quoted_stringsesGs+++L*H555	
02J???,.	:::,.	:::46
CCC8:JGGG9;ZHHHHHrcd}d}|||d|d||d||d|d|||dd|d|d|d	|d||dd
||d|dd|d|d|dd
dS)Nbr98abcr!X98abc98Xabc98abcXYX98YabcX98abcY98XabcYZX98YabcZr)r
r+r,s   rtest_multiple_varszTestCase.test_multiple_varsqsAqG,,,QX...AX...AqX...Qi000Qi000Ai000Qz22222rcd}||dd||dddS)Ncfd}|S)NcdS)Nrrrsrinnerz3TestCase.test_closure.<locals>.outer.<locals>.innersAxxrr)r+r)s` routerz$TestCase.test_closure.<locals>.outers!
 
 
 
 
 Lr987zx:987rHzx:7r)r
r*s  rtest_closurezTestCase.test_closuresa			
	
u111qU+++++rcdfd}||dddd}||ddddS)NrEcd|z|SNx=r)r+rr,s  rrz"TestCase.test_arguments.<locals>.fs%!U%%%%rfoorzx=foofoo    barzx=        20r)r
rr+r,s   @rtest_argumentszTestCase.test_argumentssn
	&	&	&	&	&	
5"~6662rN33333rc<d}|d|ddS)N{v:zv:123r)r
rOs  rtest_localszTestCase.test_localss)ew/////rc|t5dtddddS#1swxYwYdS)Nr6)r	NameErrorrOr4s rtest_missing_variablezTestCase.test_missing_variables


y
)
)		LLL																		s377c>Gdd}||dd||d||d|dd|dddS)NceZdZdZdS),TestCase.test_missing_format_spec.<locals>.Oc|sdS|S)N*rrs  rrz7TestCase.test_missing_format_spec.<locals>.O.__format__s3rNrrrrOr=s#




rr@r+r?rG3r)r
r@s  rtest_missing_format_specz!TestCase.test_missing_format_specs									
AACCS)))AACC3'''AACCC(((A#&&&AC(((((rcz|dtd|dtdd}|dtd|d|dtd|dtd|d|dtdS)	Ng:zg:global variablezg:'global variable'local variable l:z"g:global variable l:local variablez$g:global variable l:'local variable'zmodule 'unittest' from)r(a_globalassertInunittest)r
a_locals  rtest_globalzTestCase.test_globalsh*=>>>*h**,ABBB"4h44744=	?	?	?*h**.	0	0	06h66766?	A	A	A	


.8
>>>>>rcd}|d|d|d|dd}|d|d|d|d|d|d|d|ddS)	Nzreally a localrDzg:really a localzg:'really a local'rErFz!g:really a local l:local variablez#g:really a local l:'local variable'r)r
rGrJs   rtest_shadowed_globalzTestCase.test_shadowed_globals#h*<===*h**,@AAA"4h44744<	>	>	>*h**-	/	/	/6h66766>	@	@	@	@	@rcLd}||dddS)Nc&dt|zSr/rrs rr1zTestCase.test_call.<locals>.foos#a&&= rrzx=10r)r
r1s  r	test_callzTestCase.test_calls9	!	!	!	
CCGGv.....rcvd}|ddzd||dzddS)NrmrrG000555r)r
r,s  rtest_nested_fstringszTestCase.test_nested_fstringssI
qF1H...qF1H.....rcdgd}d|D}|td||zdS)N)zfu''zuf''zFu''zfU''zUf''zuF''zufr''zurf''zfur''zfru''zrfu''zruf''zFUR''zFur''zfb''zfB''zFb''zFB''zbf''zbF''zBf''zBF''c:g|]}|ddS)r")replace).0cases  r
<listcomp>z9TestCase.test_invalid_string_prefixes.<locals>.<listcomp>s&TTTdll344TTTrrr)r
single_quote_casesdouble_quote_casess   rtest_invalid_string_prefixesz%TestCase.test_invalid_string_prefixessa&&&,UTASTTTK)9.1CC	E	E	E	E	ErcJ|dd|dd|dd|dd|dddDd|dddDddS)NrGrAzexpr=ci|]\}}||	SrrrYr+r,s   r
<dictcomp>z9TestCase.test_leading_trailing_spaces.<locals>.<dictcomp>"?"?"?DAq1a"?"?"?r))rFrEzexpr={1: 2}ci|]\}}||	Srrras   rrbz9TestCase.test_leading_trailing_spaces.<locals>.<dictcomp>rcrrr4s rtest_leading_trailing_spacesz%TestCase.test_leading_trailing_spacessQ#&&&a3'''A#&&&A3'''A"?"?J"?"?"?AA&	(	(	(B"?"?J"?"?"?BB&	(	(	(	(	(rc|ddkd|ddkd|ddkd|ddkdddS)NrGr7Truez.3Trurr4s rtest_not_equalzTestCase.test_not_equals~
	
AqDF+++AqDV,,,AqDf---AqD/////rc<|ddkddS)NrrFFalserr4s rtest_equal_equalzTestCase.test_equal_equals&	
AqDG,,,,,rc&|ddd|ddd|ddd|ddd|dd|dd|dd|dd|ddd	|td
gd|tdgd
dS)NgQ	@z10.10z
      3.14z
3.14      rz'a'za!rz!<10.10z
3.14!!!!!!r)zf'{3!g}'zf'{3!A}'zf'{3!3}'zf'{3!G}'zf'{3!!}'zf'{3!:}'z	f'{3! s}'r)zf'{x!s{y}}'z	f'{3!ss}'z
f'{3!ss:}'zf'{3!ss:s}'rr4s rtest_conversionszTestCase.test_conversionssTD,777D**L999D**L999D**L999C3'''CU+++CU+++	
EU+++	
D**L999K)Q	 	 	 	
K)B	 	 	 	 	 rcB|tdgddS)Nr)zf'' = 3z
f'{0}' = xz
f'{x}' = xrr4s rtest_assignmentzTestCase.test_assignment%s8K):	 	 	 	 	 rcB|tdddgdS)Nrzdel f''z
del '' f''rr4s rtest_delzTestCase.test_del,s4K)9&)	 	 	 	 	 rcF|tdgd|tdgd|dd|dd|dddd	|d
ddddS)Nz#f-string: single '}' is not allowed)zf'{{}'zf'{{}}}'zf'}'zf'x}'zf'x}x'z
f'\u007b}'zf'{3:}>10}'zf'{3:}}>10}'r)zf'{3:{{>10}'zf'{3'zf'{3!'zf'{3:'zf'{3!s'zf'{3!s:'z	f'{3!s:3'zf'x{'zf'x{x'zf'{x'zf'{3:s'zf'{{{'zf'{{}}{'zf'{'zf'x{<'zf'x{>'zf'{i='rrrGz>10z
}}}}}}}}}3rEz
{{{{{{{{{2)rrr(r4s rtest_mismatched_braceszTestCase.test_mismatched_braces2sK)N


	 	 	 	
K)B	 	 	 *	
C3'''C3'''As,777As,77777rcfd}fd}fd}|dd|dd|dd|dd|dd|dddS)NcHd}|rd}nd}||dSNrrFrErr+expectedflagr
s   rtest_fstringz2TestCase.test_if_conditional.<locals>.test_fstring_s:Dv
T8,,,,,rcHd}|rd}nd}||dSrwrrxs   rtest_concat_emptyz7TestCase.test_if_conditional.<locals>.test_concat_emptygs:Dy
T8,,,,,rcLd}d|rd}nd}||dS)NrrrFrErrxs   rtest_concat_non_emptyz;TestCase.test_if_conditional.<locals>.test_concat_non_emptyos>Dazz
T8,,,,,rr%rErrFr)r
r{r}rs`   rtest_if_conditionalzTestCase.test_if_conditionalZs
	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	RS!"a   #q!!!b!$$$c1%%%%%rcd}||d||d||d||ddS)Ntestz'test'rrs  rtest_empty_format_specifierz$TestCase.test_empty_format_specifierssA(((A&)))AF+++AH-----rcjddd}d}||dd||dd|||d|d|d|d|ddS)	Nrinteger)rrrrz{d[a]})rz{d[0]})r(r))r
rrs   rtest_str_format_differencesz$TestCase.test_str_format_differencess


AaDI...AcFh///AaDI...1--x8881--y99999rc~|tdddg|tdddgdS)Nunsupportedzf'{(lambda: 0):x}'zf'{(0,):x}'zUnknown format codezf'{1000:j}')rrrr4s rtest_errorszTestCase.test_errorss]I}2+	 	 	 	
J(=++					rct5}tj|d}t	|dd5}|ddddn#1swxYwYt
|d\}}}dddn#1swxYwY||dd|dS)	Nzt.pywzutf-8)encodingzf"{a b}"ascii)PYTHONIOENCODINGbackslashreplace)	rospathjoinopenwriterrHencode)r
cwd	file_pathrrvstderrs      rtest_filename_in_syntaxerrorz%TestCase.test_filename_in_syntaxerrorsK
ZZ	K3S&11Iiw777
$1
###
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$0BIKKKLAq&		K	K	K	K	K	K	K	K	K	K	K	K	K	K	K	


i&&w0BCCVLLLLLs53BA$B$A(	(B+A(	,BBBc|tdD]+}|d|dt|z,dS)Nizi:)rr(r	)r
rs  r	test_loopzTestCase.test_loopsJt	6	6AX!XXtc!ff}5555	6	6rcdddd}||dd||dd||dd||dddS)Ndquotesquoter2)rWrr1rrWr1rrs  r	test_dictzTestCase.test_dicts

	
af(333af(333AeH...AeH.....rc|tdd|tdddS)Nzf"\
"r%zf"\
")r(rr4s rtest_backslash_charzTestCase.test_backslash_charsB	
i"---i"-----rc	0d|ddtz|ddtz|ddtz|ddtz|ddtzd|dddt	dz|ddt	dz|dddt	tdz|dddt	tdz|dddt	tdzd|d	d
zdzdd
}|d|dd|ddd|dddddd}|d|dd|dd
d|ddkd |ddkd!|ddkd!|ddkd |d"xd"|d"|d#xd"|d#|d$d$d%|d&d'fd(}d||d)*d+|d)||d,*d)|d,Gd-d.}|d/|d0|d/|d0|d/|d1|d/|d2d3|d/|d4d5|d/|dd6|ttd7d8|d9d:d9tzd:z|d;d:d;tzd:z|d<d:d<tzd:z|d=d:d=tzd:zdS)>NzA stringr0zx =g	@z.2fr%z^20	z3*x+15=rGr~z	3*x+15=42gffffff?@utenπ=utenπ=31.40u"Σ"=uΣu	"Σ"='Σ'z3.1415=go!	@z.1fz*^20z*****3.1415=3.1*****uπualpha α pi=u	 ω omegaualpha α pi='π' ω omegaz
3
=z
3
=3rrFrkrg5rm==10
        20c}||Srr)roldxr+s  rrz)TestCase.test_debug_conversion.<locals>.fsDAKrz3=)rrr7ceZdZdZdZdS))TestCase.test_debug_conversion.<locals>.Ccd|S)NzFORMAT-r)r
rs  rrz4TestCase.test_debug_conversion.<locals>.C.__format__s$}}$rcdS)NREPRrr4s r__repr__z2TestCase.test_debug_conversion.<locals>.C.__repr__svrN)rrr rrrrrCrs2
%
%
%




rrzC()=zC()=REPRzC()=FORMAT-rzC()=FORMAT- r+zC()=FORMAT-xzC()=********REPR********zf'{C=]'r1zXx=rzXx  =zXx=  zXx  =  )r(reprr	rr)rrr)r
tenπpirrr+s     @rtest_debug_conversionzTestCase.test_debug_conversions*A$a.111A5477?333AD3q66M222AD477N333AD588O444AdVAu-=-=&=>>>A4&B--#7888Avd1ggu/E/E(EFFFAvc!ffe/D/D(DEEEAveAhh/F/F(FGGG
AaCF{333E-888	
D]333	
,v,,,335KLLL3R3335PQQQ	
				
AqDG,,,AqDF+++AqDF+++AqDG,,,VQ,,,C   TQc***AC3'''	
A\222					

AAIII---D!!!AAFFFd+++A									
AACCJ///AACCj111AACC]333AACCn555AACCn555)AACC)))+EFFF+tY777
QE$q''M#$5666	
Qgd1ggoc&9:::Qgd1ggoc&9:::Q	$q''(9#(=>>>>>rcd}||dd|dx}d||ddS)Nrrrrrrrs  rtest_walruszTestCase.test_walrus$s]	
A\222	
UQt,,,Brc|td5tdddddddS#1swxYwYdS)Nrz
f'{a $ b}'?r:)rrr=r4s r!test_invalid_syntax_error_messagez*TestCase.test_invalid_syntax_error_message.s

#
#K1K
L
L	/	/L#v...	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/s
;??ctjd}|t|5ddddddS#1swxYwYdS)NzCannot specify ',' with ','.rFz,,reescaperrr
	error_msgs  r(test_with_two_commas_in_format_specifierz1TestCase.test_with_two_commas_in_format_specifier2I<==	

#
#J	
:
:		III																		AA	Actjd}|t|5ddddddS#1swxYwYdS)NzCannot specify '_' with '_'.rF__rrs  r,test_with_two_underscore_in_format_specifierz5TestCase.test_with_two_underscore_in_format_specifier7rrctjd}|t|5ddddddS#1swxYwYdS)N Cannot specify both ',' and '_'.rFz,_rrs  r8test_with_a_commas_and_an_underscore_in_format_specifierzATestCase.test_with_a_commas_and_an_underscore_in_format_specifier<I@AA	

#
#J	
:
:		III																		rctjd}|t|5ddddddS#1swxYwYdS)NrrFz_,rrs  r7test_with_an_underscore_and_a_comma_in_format_specifierz@TestCase.test_with_an_underscore_and_a_comma_in_format_specifierArrchtjd}|t|5t	ddddddn#1swxYwYtjd}|t|5t	dddddddS#1swxYwYdS)Nz"cannot use starred expression herezf'{*a}'rr:z)cannot use double starred expression herezf'{**a}')rrrrr=rs  r)test_syntax_error_for_starred_expressionsz2TestCase.test_syntax_error_for_starred_expressionsFs-IBCC	

#
#K
;
;	,	,IsF+++	,	,	,	,	,	,	,	,	,	,	,	,	,	,	,IIJJ	

#
#K
;
;	-	-JV,,,	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-s#AAAB''B+.B+N)Hrrr rr-rCr]rgrkrprxr|rrrrrrrrrrrrrrrrrrrrrrrrrrr%r,r3r7r:rBrKrMrPrTr^rerirlrnrprrrtrrrrrrrrrrrrrrrrrrrrrsJ===6"""0444>262626h+.+.+.Z@5@5@5D222.MMMMMM^323232j%%%%%%'''   $$$
   EEE.! ! ! F   >    0002# # # J	,	,	,8 8 8 t   &666545454n   &
 
 
 WWW

 
 
 	(	(	(777
I
I
I
3
3
3,,,444000)))???@@@//////
EEE6	(	(	(000---   B      &8&8&8P$&$&$&L...	:	:	:			MMM666	/	/	/...]?]?]?P   ///



-----rr__main__)r;rrr&rrItest.support.os_helperrtest.support.script_helperrrGrrmainrrr<module>rs


								++++++<<<<<<q-q-q-q-q-x q-q-q-f)zHMOOOOOr