python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_inspect.cpython-312.opt-2.pyc

ΑeLddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZ	ddlmZddlmZddlmZmZddlmZddl m!Z!ddl"m#Z#m$Z$dd	l%m&Z'dd
l%m(Z)ddl%m*Z*ddl%m+Z+dd
l%m,Z,ddl%m-Z-ddl.m/Z/e'j`Z1e1jedre1ddZ1ee1Z1dZ3e'jhZ5dZ6dZ7dZ8djsZ:GddejvZ<dZ=dZ>dZ?ejdZAGdde<ZBGdd e<ZCGd!d"ejvZDGd#d$ZEGd%d&eDZFGd'd(ejvZGGd)d*eDZHGd+d,eDZIGd-d.eDZJGd/d0eDZKGd1d2eDZLGd3d4eDZMGd5d6eDZNGd7d8eOZPGd9d:eOZQd;ZRGd<d=ejvZSGd>d?ejvZTGd@dAejvZUeOZVGdBdCejvZWGdDdEejvZXGdFdGeXZYGdHdIeYZZGdJdKejvZ[GdLdMejvZ\GdNdOejvZ]e*jGdPdQejZ`GdRdSejZbGdTdUejZdGdVdWejvZeGdXdYejvZfGdZd[ejvZgGd\d]ejvZhGd^d_ejvZiGd`daejvZjGdbdcZkGdddeejvZlGdfdgejvZmGdhdiejvZneodjk(rejyy#e$rdZYwxYw)kNnormcase)ThreadPoolExecutor)cpython_only)MISSING_C_DOCSTRINGS	ALWAYS_EQ)
DirsOnSysPath)TESTFN)assert_python_okassert_python_failure)inspect_fodder)inspect_fodder2)support)inspect_stock_annotations)inspect_stringized_annotations) inspect_stringized_annotations_2)_ready_to_import)coc t|f|zSNr)filenameargss  E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_inspect.pyreviser?sX 4''cPtjrtjdyyr)rhas_socket_supportasyncioset_event_loop_policyrrtearDownModuler#Es!!%%d+"rc#K	gd}tddt|zD]i}g}d}tt|D]}|||zzs|j||!ddj|zdz}i}t	||||dkyw)N)abarrdeltaephraimmagicalyoyozzdef foo(*, z, z): passfoo)rangelenappendjoinexec)
parametersipbitjfn_textsymbolss       r5signatures_with_lexicographic_keyword_only_parametersr;JsOJ
1aZ(
)	s:'	(AC1H~A'	( $))A,.:Wgw'en	s
AB
AB
cyrr")throwoutthebabywith_the_	bathwaters       r#unsorted_keyword_only_parameters_fnrD\srz'throw out the baby with_ the_ bathwatercreZdZeej
ejejejejejejejejejejej ej"ej$ej&gZdZdZy)
IsTestBasec	t|}|j|||jd|d|jt	|gz
D]x}|t
jk(s&|t
jk(s|t
jk(r|t
jk(rP|j||d|jd|dzy)N()znot )eval
assertTrue__name__
predicatessetinspectisgeneratorfunctionisasyncgenfunctioniscoroutinefunction
isfunctionassertFalse)self	predicateexpobjothers     ristestzIsTestBase.istestks3i	#I4F4F(LM__sI;'77	OEW888G666G777***U3Z)MN
	Orc<tj|tdy)N)
modulesbyfile)not_exported)rcheck__all__rOrUs rtest__all__zIsTestBase.test__all__wsT79KLrN)rL
__module____qualname__rNrO	isbuiltinisclassiscodeisframerSismethodismoduleistracebackisgeneratorrPiscoroutinerR
isasyncgenrQismethodwrapperrMrZr`r"rrrFrFbsg'''..oow'9'97;K;K&&(;(;))7+F+F))7+F+F(('*D*D--
/0J
OMrrFc#4KtdD]}|ywNr-r/rUr5s  rgenerator_function_examplerrzs
1XcFKtd23d{}|7
6ywrorprqs  r async_generator_function_exampleru~s&8a8s!!!cKywNspamr"r_s rcoroutine_function_examplerys	c#Kdywrwr"r_s rgen_coroutine_function_exampler|s	c<eZdZdZdZdZdZdZdZdZ	dZ
y	)
TestPredicatesc	|jtjd|jtjd|jtjd	ddzda|jtj d
|jtj d|jtj"d|jtj"d
|jtj$d|jtj&d|jtj(d|jtj*d|jtj,d|jtj.dt1j25t1j4d|jtj6d|jtj8ddddttdr!|jtj:dn<|jtj:t<j>j@|jtjBd|jtjBd|jtjBd|jtjBt|jtjBtD|jtjBtddiy#t$r}|j
a|jtjd|jtjdttdr!|jtjd	nE|jtjttjjYd}~d}~wwxYw#dawxYw#1swY7xYw)Nzsys.exitz	[].appendzmod.spam.__code__r,rztb.tb_frametbGetSetDescriptorTypeztype(tb.tb_frame).f_localszmod.spamzmod.StupidGit.abusez	git.arguezmod.custom_methodmodz'collections.defaultdict.default_factoryz(x for x in range(2))rrz#async_generator_function_example(1)ruignorezcoroutine_function_example(1)ryMemberDescriptorTypezdatetime.timedelta.dayszobject().__str__zobject().__eq__zobject().__repr__AnyClassr")#rZrOrcre	Exception
__traceback__rrfrihasattrtypesisgetsetdescriptorrTtypetb_framef_localsrSrgrhisdatadescriptorrjrPrlrQwarningscatch_warningssimplefilterrkrRismemberdescriptordatetime	timedeltadaysrmintrUes  rtest_excluding_predicatesz(TestPredicates.test_excluding_predicatessG%%z2G%%{3GNN$78
	
aCBG&&
3G&&(=>G$$k2G$$&9:G$$e,G,,.WXG'')@AG//1MNG&&9	;G..6	8
$
$
&	S!!(+KK++-LMKK335QR	S
501KK224MNW778J8J8O8OPQG++-?@G++->?G++-@A0067005600j"b1IJKO	YBKK7KK++T2u45G668:  !;!;D<M<V<V!WX	YB	S	Ss8"M(=AQ(	P>1CP93Q9P>>QQQc	
td}td}td}|jt	j
t|jt	j
t
jt
jt|jt	j||jt	jt|jt	jt
jt
jt|jt	j|dtjfd}|jt	j
||jt	j
t	jfdGdd}|jt	j
||jt	j
||jt	j
t	j|Gdd}|jt	j
||jt	j
||jt	j
t	j|Gd	d
}|jt	j
|j|jt	j
|j|jt	j
tj j#|jt	j
tj j%|jt	j
t|jt	j
t
jt
jt|jt	j||jt	jtj j#|jt	jtj j%|jt	jt|jt	jt
jt
jt|jt	j||jt	j&tj j#|jt	j&tj j%|jt	j&t|jt	j&t|jt	j&t
jt
jt|jt	j(||j+|j+y)Nr,cKywrr"r"rr_fn3z-TestPredicates.test_iscoroutine.<locals>._fn3s	rzcSrr"rsrfn3z,TestPredicates.test_iscoroutine.<locals>.fn3s
6MrcSrr"rsr<lambda>z1TestPredicates.test_iscoroutine.<locals>.<lambda>s	dfrceZdZdZy)+TestPredicates.test_iscoroutine.<locals>.ClcKywrr"r_s r__call__z4TestPredicates.test_iscoroutine.<locals>.Cl.__call__s	rzNrLrarbrr"rrClr
rrc0eZdZejdZy),TestPredicates.test_iscoroutine.<locals>.Cl2cyrr"r_s rrz5TestPredicates.test_iscoroutine.<locals>.Cl2.__call__rN)rLrarbrOmarkcoroutinefunctionrr"rrCl2rs

*
*
+
rrcheZdZejedZejedZy),TestPredicates.test_iscoroutine.<locals>.Cl3cyrr"clss rdo_something_classyz@TestPredicates.test_iscoroutine.<locals>.Cl3.do_something_classyrcyrr"r"rrdo_something_staticz@TestPredicates.test_iscoroutine.<locals>.Cl3.do_something_staticrrN)	rLrarbrOrclassmethodrstaticmethodrr"rrCl3rsD

*
*

+

*
*

+
rr)rur|ryrTrOrR	functoolspartialrkrKrPrjrrrunittestmockMock	AsyncMockrQrlclose)	rUasync_gen_corogen_corocororrrrrs	        @rtest_iscoroutinezTestPredicates.test_iscoroutines9!<1!4)!,''(FG	I''!!)"3"32#45
6	7	
,,X67''(FG	I''!!)"3"32#45
6	7	
++H56	
	&	&	
'		
33C89''--n=
	
			
44R8944RT:;33))"$/
			
	
44S9:44SU;<33))#%0
						
33C4K4KLM33C4K4KLM''

(:(:(<=	?''

(?(?(AB	D''(BC	E''!!)"3"3.#01
2	3	
++D12''

(:(:(<=	?''

(?(?(AB	D''(BC	E''!!)"3"3.#01
2	3	
,,T23&&x}}'9'9';<	>&&x}}'>'>'@A	C&&'AB	D&&'GH	J&&!!)"3"34#67
8	9	
**>:;

hnn&rcd}|jtj|td}t	d}|jtj||jtj|Gdd}|jtj||jtj|Gdd}|}d|_|jtj||j|jy)Nc3Kdywrr"r"rrgenz,TestPredicates.test_isawaitable.<locals>.gen1s5r}r,ceZdZdZy)/TestPredicates.test_isawaitable.<locals>.Futurecyrr"r"rr	__await__z9TestPredicates.test_isawaitable.<locals>.Future.__await__;rN)rLrarbrr"rrFuturer:rrrceZdZy)2TestPredicates.test_isawaitable.<locals>.NotFutureNrLrarbr"rr	NotFuturer@rrcyrr"r"rrrz1TestPredicates.test_isawaitable.<locals>.<lambda>Br)rTrOisawaitableryr|rKrr)rUrrrrrnot_futs       rtest_isawaitablezTestPredicates.test_isawaitable0s,,SU34)!,1!4++D12++H56			
++FH56,,V45+(,,W56

hnn&rc		|jtjtj|jtjt
j|jtjgj|jtjt
j|jtjt
jj|jtjtj|jtjtj|jtjtj|jtjtj|jtjtj|jtjtj|jtjtj|jtjdj|jtjt j"|jtjt$j&|jtjdj"|jtjgj&|j)tjt|j)tjt|j)tjt!|j)tjt
|j)tjt*|j)tjt|j)tjt+ddiy)N*
some_classr")rKrO	isroutinegitarguer
custom_methodcountrx	StupidGitabuseobject__init____str____lt__rstrr2listr1rTrr_s rtest_isroutinezTestPredicates.test_isroutineGs))#))45))#*;*;<=))"((34))#((34))#--*=*=>?))&//:;))&..9:))&--89))#**56))&(*;*;<=))&(*:*:;<))&(//:;))2++67))#((34))$++67))"''23))"))45**623**6845**3512**3/0**401**3/0**4b"+EFGrc|jtjd|jtjtGddt
}|j
tj|y)Nz
mod.StupidGitceZdZdZy)2TestPredicates.test_isclass.<locals>.CustomGetattrcyrr")rUattrs  r__getattr__z>TestPredicates.test_isclass.<locals>.CustomGetattr.__getattr__nrNrLrarbrr"rr
CustomGetattrrm
rr)rZrOrdrKrrrT)rUrs  rtest_isclasszTestPredicates.test_isclassisPGOO_5-.	F		
9:rcGddt}|}d|_ttj|}|jd||j
d|y)NceZdZdZy)/TestPredicates.test_get_slot_members.<locals>.Cr%bNrLrarb	__slots__r"rrCrss"Irrrr%r)rr%dictrO
getmembersassertInassertNotIn)rUrxmemberss    rtest_get_slot_membersz$TestPredicates.test_get_slot_membersrsO	#	#
Cw))!,-

c7#g&rcddlm}mGfdd|}Gdd|}|}|jt	j
||j
t	j
||j
t	j
||j
t	j
t|j
t	j
dy)	NrABCMetaabstractmethodc eZdZWdZy)<TestPredicates.test_isabstract.<locals>.AbstractClassExamplecyrr"r_s rr.z@TestPredicates.test_isabstract.<locals>.AbstractClassExample.foorrNrLrarbr.r	srAbstractClassExampler~s


rr	metaclassceZdZdZy)4TestPredicates.test_isabstract.<locals>.ClassExamplecyrr"r_s rr.z8TestPredicates.test_isabstract.<locals>.ClassExample.foorrNr
r"rrClassExamplerrrr)abcrr	rKrO
isabstractrTr)rUrrrr%r	s     @rtest_isabstractzTestPredicates.test_isabstract{s/	W		/	
N	
**+?@A++L9:++A./++C01++A./rc	ddlm}mg	G	fdd|}Gfdd|}Gdd	|}|j	d
dg	j	Gdd
|}Gdd|}Gdd|}|j	gdy)NrrceZdZfdZy)LTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractCheckercNjtj|yr)r1rOr)risabstract_checkss r__init_subclass__z^TestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractChecker.__init_subclass__s!((););C)@ArN)rLrarbr)rsrAbstractCheckerrs	
Brr rc eZdZWdZy)QTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractClassExamplecyrr"r_s rr.zUTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractClassExample.foorrNr
rsrrr"s


rrceZdZdZy)ITestPredicates.test_isabstract_during_init_subclass.<locals>.ClassExamplecyrr"r_s rr.zMTestPredicates.test_isabstract_during_init_subclass.<locals>.ClassExample.foorrNr
r"rrrr%rrrTFceZdZy)JTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractChildNrr"rr
AbstractChildr(rr)ceZdZy)OTestPredicates.test_isabstract_during_init_subclass.<locals>.AbstractGrandchildNrr"rrAbstractGrandchildr,r*rr-ceZdZy)OTestPredicates.test_isabstract_during_init_subclass.<locals>.ConcreteGrandchildNrr"rrConcreteGrandchildr/r*rr0)TTF)rrr	assertEqualclear)
rUrr rrr)r-r0r	rs
        @@r$test_isabstract_during_init_subclassz3TestPredicates.test_isabstract_during_init_subclasss/	B	B	?		/		
*T5M:!	0					*,?@rN)rLrarbrrrrrrrr3r"rrrrs1.Ldp(d'. HD;'0,Arrc0eZdZdZdZdZdZdZdZy)TestInterpreterStackcxtjj|g|i|tj	dddy)N	)rTestCaserrrrUrkwargss   rrzTestInterpreterStack.__init__s0""49$9&9		!Qrc|jtjd|jtjdy)Nzgit.ex.__traceback__zmod.fr)rZrOrirfr_s rtest_abuse_donez$TestInterpreterStack.test_abuse_dones)G'')?@GOOX.rc	|jttjdk\tj^}}}}}t	|dd}|j|tdddgdf|j|jtjddddt	|dd}|j|tdd	d
gdf|j|jtjddddt	|dd}|j|td
ddgdf|j|jtjd
d
ddt	|dd}|j|tdddgdf|j|jtjddddtjd}|j|jtj|j|jd|j|jtj|j|j d|j#d|j$d|j|j&dy)Nrr,eggsz    st = inspect.stack()
rr9rx    eggs(b + d, c + f)
+r            spam(a, b, c)
'rz        self.argue(a, b, c)
r8zinspect.stack())rKr0rstrr1modfile	positionsdis	PositionsassertIsframefrlinenor__file__functionrcode_contextindex)rUframe1frame2frame3frame4_	frameinforecords        r
test_stackzTestInterpreterStack.test_stacks CFFq()-0VV*F12J'	r6$@#A1
E	G))3==RB+GHF12J'	q&#=">
B	D))3==Aq"+EFF12J'	r7%B$CQ
G	I))3==RR+HIF12J'	r7%D$Eq
I	K))3==RB+GH

fllCFF++#,,7&1

')<)<Q)?@q)rc	|jttjdtj\}}}|jt	|ddt
dddgdf|j|jtjdddd|jt	|ddt
d	d
dgdf|j|jtjd	d	dd
|jt	|ddt
dddgdf|j|jtjddddy)Nr,rFrrGrrHrIr9rxrCrDrErAz    q = y / 0
r8
)	r1r0rtrrrMrNrOrP)rUrYrZr[s    r
test_tracezTestInterpreterStack.test_traces"SVVa("%&&,r7%B$CQ
G	I))3==RR+HI,q&#=">
B	D))3==Aq"+EF,r6$5#6
:	<))3==RB+GHrc@tjtj\}}}}|j	|ddg|j	|d|j	|d|j	|dddd|j	tj
||||dy)Nry)rr6rhz(x=11, y=14))rOgetargvaluesrrSr1formatargvaluesrUrvarargsvarkwlocalss     r
test_framezTestInterpreterStack.test_frames'.';';CFF'C$gufSz*$'%r!<=00wvN'	)rc(tjtjj\}}}}|j|gd|j|d|j|d|jtj||||dy)N)r%rrdrfghz-(a=7, b=8, c=9, d=3, e=4, f=5, *g=(), **h={}))rOrkrrSf_backr1rlrms     rtest_previous_framez(TestInterpreterStack.test_previous_framesx'.';';CFFMM'J$guf=>#&$00wvN
<	>rN)	rLrarbrr>r`rfrqrxr"rrr5r5s!
/*8I)>rr5c"eZdZdZdZdZdZy)
GetSourceBaseNcttj|jd5}|j	|_dddy#1swYyxYw)Nutf-8encoding)openrO
getsourcefilefodderModulereadsource)rUfps  rsetUpzGetSourceBase.setUpsB
'''(9(9:W
M	$QS'')DK	$	$	$sA

Acx|jjd}dj||dz
||rdzSdzS)N
r,r)rsplitr2)rUtopbottomliness    rsourcerangezGetSourceBase.sourceranges?!!$'yys1uV,-HHRHHrcn|jtj||j||yr)r1rO	getsourcer)rUrXrrs    rassertSourceEqualzGetSourceBase.assertSourceEquals-**3/))#v6	8r)rLrarbrrrrr"rrrzrzsL$I8rrzceZdZ	dddZy)SlotUsermeasured in kilowattsmeasured in kilometers)powerdistanceNrr"rrrrs157IrrcneZdZeZdZdZeje	jjdk\ddZeje	jjdk\ddZ
ejeddZd	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZy)TestRetrievingSourceCodectjttj}|j	|dtj
fdtjfdtjfdtjfdtjfdtjfgtj|Dcgc]}|d	c}}|j	|tdftjtfftj
tjtjffgtjtfftjtjfftj
tjtjffggtjtffggtj|Dcgc]}|d	c}d	}|j	|tdftjtfftjtfftjtjfftj
tjtjffggtjtffggycc}wcc}w)
NFesteringGobMalodorousPervertParrotDroppingsrTit
WhichCommentsr,r"T)rOrrrdr1rrrrrgetclasstreer)rUclassesrtrees    rtest_getclassesz(TestRetrievingSourceCode.test_getclassess($$S'//:)3+;+;<.0E0EF,c.A.AB&

6 #"7"78*C,=,=>	##w$?SV$?@!2,//&; --0E0E363F3F0HI MMF95 22S]]4DE!..1F1F474G4G1IJ
!..	;
	##w$?SV$?F!2,//&;MMF95 22S]]4DE!..1F1F474G4G1IJ
!..	;
	#%@ %@s4I97I>ctjttj}|j	|dtj
fdtjfdtjfdtjfgy)N
after_closingrAlobbestrx)	rOrrrSr1rrArrx)rU	functionss  rtest_getfunctionsz*TestRetrievingSourceCode.test_getfunctions.s`&&sG,>,>?	os7H7H%I&,chh%7&/%=&,chh%7%9	:rr-z)Docstrings are omitted with -O2 and abovec|jtjtd|jtjtjd|jtjt
jd|jtjtjd|jtjtjdy)NzA module docstring.A longer,

indented

docstring.$Another

docstring

containing

tabsrr)
r1rOgetdocrrrrrrrr_s rtest_getdocz$TestRetrievingSourceCode.test_getdoc5s	
,.CD

6>	@		2E	G70	2(9(9:1	3rc|jtjtjd|jtjtjj
d|jtjtjj
d|jtjtjjdy)NrrzThe automatic gainsaying.)r1rOrrrr
contradictionr_s rtest_getdoc_inheritedz.TestRetrievingSourceCode.test_getdoc_inheritedBs	
(8(89>	@(8(8(>(>?E	G(8(8(:(@(@AE	G(8(8(F(FG4	6rztest requires docstringscptj}|j|ttj|j|tj
tj
j|j|tj
tj
j|j|tjtjj|j|tjtjjyr)rO_finddocr1r__doc__to_bytes
from_bytesreal)rUfinddocs  rtest_finddocz%TestRetrievingSourceCode.test_finddocNs""s{{3.0D0DE0#,,2F2FG0#..2H2HI*CHH,<,<=rcN|jtjddy)NzAn
    indented
    docstring.zAn
indented
docstring.)r1rOcleandocr_s r
test_cleandocz&TestRetrievingSourceCode.test_cleandocWs!))*LM3	5rc|jtjtd|jtjtjd|jtjt
jdtddd}|jtj||jtjty)N	# line 1
z
# line 20
z# line 159
x=1z_non_existing_filename.pyr3)
r1rOgetcommentsrrmod2cls160compileassertIsNoner)rUcos  rtest_getcommentsz)TestRetrievingSourceCode.test_getcomments[s,,S1<@,,S]];]K,,T[[9>J
U7
@'--b12'--d34rc|jtjtt|jtjtjt|jtjtjj
t|jtjtjj
t|jtjttjd|jtjdtty)Nbuiltins)
r1rO	getmodulerrrrsysmodulesrMr_s rtest_getmodulez'TestRetrievingSourceCode.test_getmodulees**3/5**3==93?**3==+>+>?E**3==+>+>?E**3/Z1HI**493?rcd}tjjd|5tj}|jtj|tj|dddy#1swYyxYw)Nctd)Nzbad file)FileNotFoundError)rX	_filenames  r_getabsfilezKTestRetrievingSourceCode.test_getmodule_file_not_found.<locals>._getabsfileus
#J//rzinspect.getabsfile)rrpatchrOcurrentframerrgetouterframes)rUrrts   rtest_getmodule_file_not_foundz6TestRetrievingSourceCode.test_getmodule_file_not_foundssf	0
]]
 
 !5{
C	&$$&Ag//23""1%	&	&	&sAA;;Bctj|jjd}|j	|j
dd|j	|j
ddy)N2rrr,z'A module docstring.'
)rOgetframeinforrSr1rW)rU
frame_infos  r test_getframeinfo_get_first_linez9TestRetrievingSourceCode.test_getframeinfo_get_first_line|sW))$*;*;*>*>C
003\B0035NOrc|jtjdd|jtjdd|jtj
dd|jtjddy)NrJ3KLx)rrrrrrrr_s rtest_getsourcez'TestRetrievingSourceCode.test_getsources\syy"b1s}}b"5s{{B3s00#s;rc|jttjtj
t|jttjtjtd}td|d}|jtj|dddd|jftj|j<	|jttj||tj|j=y#tj|j=wxYw)Nz2_non_existing_filename_used_for_sourcefile_test.pyrr3r,None)
r1rrOrrrxrMrrrco_filename	linecachecache)rUfnrs   rtest_getsourcefilez+TestRetrievingSourceCode.test_getsourcefiles'"7"7"ABGL'"7"7		"BCWM
A
UB
'..r2D9+,dFBNN*K	'	0Xg&;&;B&?@"E/	/s!.D++Ec|jtjtjtj
yr)r1rOgetfilerrrUr_s rtest_getfilez%TestRetrievingSourceCode.test_getfiles#7Frc|jt5}tjtddd|jt
jjdy#1swY=xYw)Nz<module)	assertRaises	TypeErrorrOrrrKr	exception
startswithrs  rtest_getfile_builtin_modulez4TestRetrievingSourceCode.test_getfile_builtin_modulesS


y
)	!QOOC 	!AKK(33I>?	!	!A,,A5c|jt5}tjtddd|jt
jjdy#1swY=xYw)Nz<class)	rrrOrrrKrrrrs  rtest_getfile_builtin_classz3TestRetrievingSourceCode.test_getfile_builtin_classsS


y
)	!QOOC 	!AKK(33H=>	!	!rc|jt5}tjtddd|jdt
j|jt5}tjtjddd|jdt
jy#1swYxYw#1swY;xYw)Nz
expected, got)
rrrOrabsrrrrr1)rUe_abse_appends   r'test_getfile_builtin_function_or_methodz@TestRetrievingSourceCode.test_getfile_builtin_function_or_methods


y
)	!UOOC 	!

os5??';<


y
)	)XOODKK(	)

os8+=+='>?	!	!	)	)sC2$CC
CcGddt}Gdd|}|jt5tj|dddy#1swYyxYw)NceZdZedZy)FTestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CMctrAttributeErrorrs rrazQTestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CM.__module__s$$rN)rLrarbpropertyr"rrCMr

%
%rrceZdZy)ETestRetrievingSourceCode.test_getfile_class_without_module.<locals>.CNrr"rrrrr*rrr)rrrrOr)rUrrs   r!test_getfile_class_without_modulez:TestRetrievingSourceCode.test_getfile_class_without_modulesI	%	%	"	


y
)	OOA			sAAcGdd}|}|jt5tj|dddy#1swYyxYw)NceZdZdZy)DTestRetrievingSourceCode.test_getfile_broken_repr.<locals>.ErrorReprctd)Nxyz)rr_s r__repr__zMTestRetrievingSourceCode.test_getfile_broken_repr.<locals>.ErrorRepr.__repr__s
&&rN)rLrarbr	r"rr	ErrorReprrs
'rr
)rrrOr)rUr
ers   rtest_getfile_broken_reprz1TestRetrievingSourceCode.test_getfile_broken_reprsD	'	'[


y
)	 OOB	 	 	 sAAcfddlm}d}||x}tj|<d|_d|_t
d|j|jtj|jjdtj|=tjtddd	y)
Nr)
ModuleType__inspect_dummy<string>dummyz
def x(): passza=10rsingle)rrrrrU
__loader__r3__dict__r1rOrr__code__rr)rUrnamems    rtest_getmodule_recursionz1TestRetrievingSourceCode.test_getmodule_recursions$  *4 00CKK
_ajj)..qss||<jIKK'&H56rc	d\tjdfd	}|t_	i}ttd|t	j
|dt_y#t_wxYw)N)z<test>zdef x(): pass
cD|k(rjdS||S)NT)keepends)
splitlines)rmodule_globalsrgetlinesrs  rmonkeyzHTestRetrievingSourceCode.test_proceed_with_fake_filename.<locals>.monkeys+2~(($(77.99rrrr)rrr3rrOr)rUrnsrrrs   @@@rtest_proceed_with_fake_filenamez8TestRetrievingSourceCode.test_proceed_with_fake_filenamesiB0
F%%	:
$		*BX.3bg&!)IIs1A++
A8cZ|jtjjddy)NrHrc)rrrArr_s rtest_getsource_on_code_objectz6TestRetrievingSourceCode.test_getsource_on_code_objectssxx00"b9rN) rLrarbrrrrrskipIfrflagsoptimizerrrrrrrrrrrrrrrrrrr!r#r"rrrrsL&P:X__SYY''1,@B	3B	3X__SYY''1,@B6B6X__)+EF>G>55@&P
<
0G@
?
@ 	7*":rrceZdZdZy)TestGetsourceInteractivecPd}td|d\}}}|jd|y)Nzimport sys, inspect;                 assert not hasattr(sys.modules['__main__'], '__file__');                 A = type('A', (), {});                 inspect.getsource(A)z-cT)
__isolateds"OSError: source code not available)rr)rUcoder]stderrs    rtest_getclasses_interactivez4TestGetsourceInteractive.test_getclasses_interactives.&-T4DI1f

;VDrN)rLrarbr-r"rrr(r(sErr(ceZdZeZdZdZy)!TestGettingSourceOfToplevelFramescTd|_|jtjddyNr,)maxDiffrrrr_s rtest_range_toplevel_framez;TestGettingSourceOfToplevelFrames.test_range_toplevel_frames!s//D9rcF|jtjddyr1)rrrr_s r#test_range_traceback_toplevel_framezETestGettingSourceOfToplevelFrames.test_range_traceback_toplevel_framessvvq$/rN)rLrarbrrr3r5r"rrr/r/sL:0rr/c(eZdZeZdZdZdZdZy)TestDecoratorscF|jtjddy)Nrj)rrwrappedr_s rtest_wrapped_decoratorz%TestDecorators.test_wrapped_decoratorst||R4rcF|jtjddy)Nr9
)rrgoner_s rtest_replacing_decoratorz'TestDecorators.test_replacing_decoratorstyy!R0rcF|jtjddy)N)rrrr_s rtest_getsource_unwrapz$TestDecorators.test_getsource_unwrapstyy#s3rcF|jtjddy)Nqs)rrfunc114r_s rtest_decorator_with_lambdaz)TestDecorators.test_decorator_with_lambdast||S#6rN)	rLrarbrrr;r?rCrHr"rrr7r7sL5147rr7cReZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZy)

TestOnelinerscF|jtjddy)NrI)rrollr_s rtest_oneline_lambdaz!TestOneliners.test_oneline_lambdastxxR0rcF|jtjddy)N)rrtllr_s rtest_threeline_lambdaz#TestOneliners.test_threeline_lambdas	
txxR0rcF|jtjddy)N!")rrtllir_s rtest_twoline_indented_lambdaz*TestOneliners.test_twoline_indented_lambdas	
tyy"b1rc|jtjdd|jtjdd|jtjddy)Niii)rrparenthesized_lambdaparenthesized_lambda2parenthesized_lambda3r_s r#test_parenthesized_multiline_lambdaz1TestOneliners.test_parenthesized_multiline_lambda
sL	
t88#sCt993Dt993DrcF|jtjddy)Nii)rrpost_line_parenthesized_lambda1r_s r#test_post_line_parenthesized_lambdaz1TestOneliners.test_post_line_parenthesized_lambdas	
tCCS#NrcF|jtjddy)Ni#i$)rr
nested_lambdar_s rtest_nested_lambdaz TestOneliners.test_nested_lambdast113<rcF|jtjddy)N%)rronelinefuncr_s rtest_onelinefunczTestOneliners.test_onelinefuncst//R8rcF|jtjddy)N())rrmanyargsr_s r
test_manyargszTestOneliners.test_manyargs!s	
t}}b"5rcF|jtjddy)N,-)rrtwolinefuncr_s rtest_twolinefunczTestOneliners.test_twolinefunc's	
t//R8rcL|jtjdddy)Nr,1)rrr%r_s rtest_lambda_in_listz!TestOneliners.test_lambda_in_list-s	
tvvay"b1rcF|jtjddy)N7)rr	anonymousr_s rtest_anonymouszTestOneliners.test_anonymous2s	
t~~r26rN)rLrarbrrrMrRrWr\r_rbrfrkrprsrwr"rrrJrJs@L11
2
EO
=9692
7rrJc"eZdZeZdZdZdZy)TestBlockCommentscF|jtjddy)N`r)rrrr_s rtest_toplevel_classz%TestBlockComments.test_toplevel_class:ss00"c:rcZ|jtjjddy)Nch)rrrrtr_s rtest_class_methodz#TestBlockComments.test_class_method=s s0022B<rcZ|jtjjddy)Nmp)rrrasyncfr_s rtest_class_async_methodz)TestBlockComments.test_class_async_method@s s0077cBrN)rLrarbrrr}rrr"rrryry7sL;=CrrycfeZdZeZdZdZdZdZdZ	dZ
dZejeedxsej j#d	d
dZdZd
ZdZdZdZdZdZdZdZdZdZdZdZeje jBxse jDddZ#y)TestBuggyCasescF|jtjddy)N:;)rrwith_commentr_s rtest_with_commentz TestBuggyCases.test_with_commentFst00"b9rcL|jtjdddy)Nr?@)rr
multiline_sigr_s rtest_multiline_sigz!TestBuggyCases.test_multiline_sigIst11!4b"=rcb|jtjjddy)NGH)rrfunc69func71r_s rtest_nested_classz TestBuggyCases.test_nested_classLs t{{}33R<rcF|jtjddy)NM)rrfunc77r_s r#test_one_liner_followed_by_non_namez2TestBuggyCases.test_one_liner_followed_by_non_nameOt{{B3rcZ|jtjjddy)NS)rrcls82func83r_s rtest_one_liner_dedent_non_namez-TestBuggyCases.test_one_liner_dedent_non_nameRstzz00"b9rcF|jtjddy)NXZ)rrfunc88r_s r&test_with_comment_instead_of_docstringz5TestBuggyCases.test_with_comment_instead_of_docstringUrrcF|jtjddy)N_a)rrmethod_in_dynamic_classr_s rtest_method_in_dynamic_classz+TestBuggyCases.test_method_in_dynamic_classXst;;RDrrUz.pyz,unicodedata is not an external binary modulec|jttjt|jttj
tyr)rOSErrorrOrunicodedata
findsourcer_s rtest_findsource_binaryz%TestBuggyCases.test_findsource_binary]s4	
'7#4#4kB'7#5#5{Crc*dg}t|ddd}|jttj||jttj
|dd||jftj|j<	|jtj||df|jtj
||dtj|j=y#tj|j=wxYw)Nrr_dynamically_created_filer3r,)
rrrrOrrrrrr1)rUrrs   r!test_findsource_code_in_linecachez0TestBuggyCases.test_findsource_code_in_linecacheds
U1X:F
C'7#5#5r:'7#4#4b9+,dE2>>*J	'	0W//3eAY?W..r2E!H=/	/s

AC55DcdD]Y}td|d}|jttj||jttj
|[y)N)rrrr3)rrIOErrorrOrr)rUfnamers   r test_findsource_without_filenamez/TestBuggyCases.test_findsource_without_filenamepsO%	>Ev.Bgw'9'92>gw'8'8"=	>rcttjt}d|zdz}t	|tj
d}ii}}t
||||d}|j|jjdd|zz|jtd5tj|dddy#1swYyxYw)Nz

z
def f(): passr3rtr,r-zlineno is out of bounds)
r0rOrrrrUrJr1rco_firstlinenoassertRaisesRegexrr)rUmod_lensrcrrulfuncs       r)test_findsource_with_out_of_bounds_linenoz8TestBuggyCases.test_findsource_with_out_of_bounds_linenovsg'',-/1
S#,,
/21RAv55q7{C

#
#G-F
G	%t$	%	%	%sB==CcZ|jtjjddy)Nvw)rrClassWithMethodmethodr_s rtest_getsource_on_methodz'TestBuggyCases.test_getsource_on_methods t33::CErcZ|jtjjddy)N)rrcls135func136r_s rtest_nested_funczTestBuggyCases.test_nested_funcst{{22C=rcF|jtjddy)N)rrcls149r_s r4test_class_definition_in_multiline_string_definitionzCTestBuggyCases.test_class_definition_in_multiline_string_definitiont{{C5rcF|jtjddy)N)rrrr_s r*test_class_definition_in_multiline_commentz9TestBuggyCases.test_class_definition_in_multiline_commentrrcZ|jtjjddy)N)rrcls173cls175r_s r,test_nested_class_definition_indented_stringz;TestBuggyCases.test_nested_class_definition_indented_stringst{{113<rc|jtjdd|jtjjddy)N)rrcls183cls185r_s rtest_nested_class_definitionz+TestBuggyCases.test_nested_class_definition4t{{C5t{{113<rc|jtjdd|jtjjddy)N)rrcls196cls200r_s rtest_class_decoratorz#TestBuggyCases.test_class_decoratorrrc|jtjdd|jtjjddy)N)rrcls238cls239r_s rtest_class_inside_conditionalz,TestBuggyCases.test_class_inside_conditionalrrc|jtjdd|jtjjdd|jtjjjdd|jtjj
dd|jtjj
jddy)N)rrcls203cls204cls205cls207r_s rtest_multiple_children_classesz-TestBuggyCases.test_multiple_children_classesst{{C5t{{113<t{{1188#sCt{{113<t{{1188#sCrc|jtjdd|jtjdd|jtjj	ddy)N)rrfunc212cls213func219r_s r,test_nested_class_definition_inside_functionz;TestBuggyCases.test_nested_class_definition_inside_functionsQt||~sC8t{{C5t{{}446SArzsocket.accept is brokencvddl}|j|jd|j|jtjdd|jt
jdd|j|jtjjddy)Nr)	r 
addCleanupr!rrunrfunc225cls226func232)rUr s  r2test_nested_class_definition_inside_async_functionzATestBuggyCases.test_nested_class_definition_inside_async_functions
	55t<{w{{4<<>:CEt{{C5{w{{4;;=+@+@+BCS#NrN)$rLrarbrrrrrrrrrrr$rrrUendswithrrrrrrrrrrrrrr
r
is_emscriptenis_wasirr"rrrrCsL:>=4:4E
X__j99F!,!5!5!>!>u!ECEDED
0>	%F>66====DB
X__0!O	Orrc*eZdZfdZdZdZxZS)	TestNoEOLctdz|_tj|jt	tj
j
|jdtjzdd5}|jddddt|j5ddl
}ddd|_t|5y#1swYAxYw#1swY+xYw)N_dirzinspect_fodder3%spywr|r}zclass X:
    pass # No EOLr)r
tempdirosmkdirrpathr2extsepwriter	inspect_fodder3rsuperr)rUrtmod3	__class__s   rrzTestNoEOL.setUps

"'',,t||-BRYY-NO)	3,-
GG12	34<<
(	+*	+ 


	3	3	+	+s6C%CCCcBtj|jyr)shutilrmtreer r_s rtearDownzTestNoEOL.tearDowns

dll#rcR|j|jjddy)Nr,r-)rrXr_s r
test_classzTestNoEOL.test_classs t0022Aq9r)rLrarbrr-r0
__classcell__r)s@rrrs	$:rrceZdZeZdZy)TestComplexDecoratorcR|j|jjddy)Nii)rrcomplex_decoratedr_s rtest_parens_in_decoratorz-TestComplexDecorator.test_parens_in_decorators t00BBCMrN)rLrarbrrr7r"rrr4r4s
LNrr4c eZdZ	dZdZdZy)_BrokenDataDescriptorctdNzbroken data descriptorrrs r__get__z_BrokenDataDescriptor.__get__566rctr)RuntimeErrorr<s r__set__z_BrokenDataDescriptor.__set__srctdr;rr<s rrz!_BrokenDataDescriptor.__getattr__r>rN)rLrarbr=rArr"rrr9r9s77rr9ceZdZ	dZdZy)_BrokenMethodDescriptorctdNzbroken method descriptorrr<s rr=z_BrokenMethodDescriptor.__get__788rctdrFrr<s rrz#_BrokenMethodDescriptor.__getattr__rGrN)rLrarbr=rr"rrrDrDs99rrDcXtj|Dcgc]}|dd	c}Scc}wNrb)rOclassify_class_attrs)rts  r
attrs_wo_objsrMs'"77<=aAbqE===s'cJeZdZdZdddggdifdZdZdZdZdZe	jedd	Ze
e	jedd
Ze
e	jeddZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZy)TestClassesAndFunctionscGddt}Gdd|}Gdd|}Gdd||}||||tf}tj|}|j||y)	NceZdZy)4TestClassesAndFunctions.test_newstyle_mro.<locals>.ANrr"rrArRrrrSceZdZy)4TestClassesAndFunctions.test_newstyle_mro.<locals>.BNrr"rrBrUrrrVceZdZy)4TestClassesAndFunctions.test_newstyle_mro.<locals>.CNrr"rrrrXrrrceZdZy)4TestClassesAndFunctions.test_newstyle_mro.<locals>.DNrr"rrDrZrrr[)rrOgetmror1)rUrSrVrr[expectedgots       rtest_newstyle_mroz)TestClassesAndFunctions.test_newstyle_mrosR  1q!Q'nnQ3'rNc
:tj|\}
}}}
}}}|j|
||j|||j|||j|
||j|||j|||j||	yr)rOgetfullargspecr1)rUroutineargs_e	varargs_evarkw_e
defaults_e
posonlyargs_ekwonlyargs_ekwonlydefaults_eann_errnrodefaults
kwonlyargskwonlydefaultsanns                 rassertFullArgSpecEqualsz/TestClassesAndFunctions.assertFullArgSpecEqualss
""7+	Hguh
NCv&),(:.\2)9:e$rc	|jtjgddgddi|jtjdgdti|jtj
gdg|jtjgdd	d
g|jtjgdddd	d
g
|jtjgddd	d
gdddy)Narg1arg2r,)rdrhri)rjarg)rhr%rrrsrrtrr<)rdrerhr,r-rbrDr)rrt)rfrhri)	ror	keyworded	annotatedrkeyword_only_argall_markers all_markers_with_args_and_kwargsall_markers_with_defaultsr_s rtest_getfullargspecz+TestClassesAndFunctions.test_getfullargspecs$$T^^R639(7=aj	%	B	
$$T^^fX,2T?	%	<$$T%:%:B38'	%	;	
$$T%5%57K36*	%	>	
$$T%J%J%9/5-536*		%	>	
$$T%C%CEY0736*<=A6F	%	Hrctjtjd}|j	|ddg|j	tj
|ddgy)Ncyrr"rrhs  rhamzETestClassesAndFunctions.test_argspec_api_ignores_wrapped.<locals>.hamrrrh)rwrapsrrxror)rUrs  r test_argspec_api_ignores_wrappedz8TestClassesAndFunctions.test_argspec_api_ignores_wrappedsY		"	
#		
$$S3*5$$Y%6%6s%;&)3Z	1rcd}tjdtjj}tj|f|_|j|dgy)Ncyrr"r"rrtestzHTestClassesAndFunctions.test_getfullargspec_signature_attr.<locals>.test(rrxr4)rO	ParameterPOSITIONAL_ONLY	Signature
__signature__ro)rUr
spam_params   r"test_getfullargspec_signature_attrz:TestClassesAndFunctions.test_getfullargspec_signature_attr'sL	&&vw/@/@/P/PQ
$..:-H$$TF84rcdd}tj|}|j|j|jd}tj|}|j|j|jy)Ncyrr"r%s rrzITestClassesAndFunctions.test_getfullargspec_signature_annos.<locals>.test0rrcyrr"r"rrrzITestClassesAndFunctions.test_getfullargspec_signature_annos.<locals>.test4rr)r%rxreturnr)rOrar1__annotations__annotations)rUrspecs   r#test_getfullargspec_signature_annosz;TestClassesAndFunctions.test_getfullargspec_signature_annos/s`)%%d+--t/?/?@%%d+--t/?/?@r6Signature information for builtins requires docstringsc4|jtjjddg|jtjt	j
jddg|jtjdgddgdddy)	NrUrXr#dir_fdfollow_symlinksT)rr)rcrhri)ro_picklePicklerdumpioBytesIOr!statr_s r#test_getfullargspec_builtin_methodsz;TestClassesAndFunctions.test_getfullargspec_builtin_methods8s}	
$$W__%9%9FE?K$$W__RZZ\%B%G%G&RWY$$
WWH#%67)-$G		%	Ircddl}|j}tj|}|j	|j
ddy)Nravocado)	_testcapi&docstring_with_signature_with_defaultsrOrar1rk)rUrbuiltinrs    r test_getfullargspec_builtin_funcz8TestClassesAndFunctions.test_getfullargspec_builtin_funcEs;	BB%%g.q)95rcddl}|j}|jt5t	j
|dddy#1swYyxYwNr)rdocstring_no_signaturerrrOra)rUrrs   r-test_getfullargspec_builtin_func_no_signaturezETestClassesAndFunctions.test_getfullargspec_builtin_func_no_signatureNsC	22


y
)	,""7+	,	,	,sAAcZtD]Z}tj|}t|j}t|}|j
||j||\tjt}t|j}|j|tyr)
r;rOrarrlsortedrKr1rD unsorted_keyword_only_parametersrUr	signaturersorted_ls     r8test_getfullargspec_definition_order_preserved_on_kwonlyzPTestClassesAndFunctions.test_getfullargspec_definition_order_preserved_on_kwonlyWsGI	*B..r2IY))*AayHOOAQ)	***+NO	%%&<=rcGddt}t|}|jddtf|d|jddtf|d|jd	d|f|d
|jdd|f|d
|jdd|f|d|jdd|f|d|z|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|dGdd|}t|}|jd	d|f|d
|jdd|f|d
|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|dGdd|}t|}|jd	d|f|d
|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|dGd d!||}t|}|jd	d|f|d
|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|d|jdd|f|dy)"NczeZdZdZeeZdZeeZdZeeZ	dZ
dZdZe
ZeZy)9TestClassesAndFunctions.test_classify_newstyle.<locals>.Acyrr"r"rrsz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.serrcyrr"rs rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.chrrcyrr"r_s rgetpz>TestClassesAndFunctions.test_classify_newstyle.<locals>.A.getpkrrcyrr"r_s rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.A.mnrrcyrr"r_s rm1z<TestClassesAndFunctions.test_classify_newstyle.<locals>.A.m1prr1N)rLrarbrrrrrrr6rrdatablobr9ddrDmdr"rrrSrcsAQAAA AH&(B(*BrrS__new__
static methodmissing __new__rrzmissing __init__rzmissing static methodrclass methodmissing class methodr6rzmissing propertyrzmissing plain method: %rrmissing plain methodrdatazmissing datarzmissing method descriptorrzmissing data descriptorceZdZdZy)9TestClassesAndFunctions.test_classify_newstyle.<locals>.Bcyrr"r_s rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.B.mrrN)rLrarbrr"rrrVrsrrVceZdZdZdZy)9TestClassesAndFunctions.test_classify_newstyle.<locals>.Ccyrr"r_s rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.C.mrrcyrr"r_s rrz;TestClassesAndFunctions.test_classify_newstyle.<locals>.C.crrN)rLrarbrrr"rrrrsrrceZdZdZy)9TestClassesAndFunctions.test_classify_newstyle.<locals>.Dcyrr"r_s rrz<TestClassesAndFunctions.test_classify_newstyle.<locals>.D.m1rrN)rLrarbrr"rrr[rsrr[)rrMr)rUrSattrsrVrr[s      rtest_classify_newstylez.TestClassesAndFunctions.test_classify_newstylebs	+	+(a 

y/6:E'	)

z8V4e=OP

sOQ/8OP

sNA.7MN

sJ*E3EF

sHa(%058	:

tXq)52HI

z61-unE

tXq)52MN

tVQ'0IJ		a 

sOQ/8OP

sNA.7MN

sJ*E3EF

sHa(%1GH

tXq)52HI

z61-unE

tXq)52MN

tVQ'0IJ		
a 

sOQ/8OP

sHa(%1GH

sJ*E3EF

sHa(%1GH

tXq)52HI

z61-unE

tXq)52MN

tVQ'0IJ	1	a 

sOQ/8OP

sHa(%1GH

sJ*E3EF

sHa(%1GH

tXq)52HI

z61-unE

tXq)52MN

tVQ'0IJrcttD]8}tt|}t|ts$tj|:tt}|jddtf|d|jddtf|d|jddtf|d	|jd
dtf|d	|jddtf|d	y)Nrrrrrrrrr__add____and__)dir__builtins__getattr
isinstancerrOrKrMboolrr)rUrrrs    rtest_classify_builtin_typesz3TestClassesAndFunctions.test_classify_builtin_typess%	6DlD1G'4(,,W5	6
d#

y/48%'	)

|^S95,	.

z8S15,	.

y(C0%,	.

y(D15,	.rcHGddt}Gdd|}tjdd||jd}|j	|tj
|tjdd|d}|j	|tj
|y)	NceZdZfdZxZS)ITestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.Metac.|dk(ryt||S)Nrrxr'rrUrr)s  rrzUTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.Meta.__getattr__s5=!w*400rrLrarbrr1r2s@rMetar

1
1rrc0eZdZejdZy)GTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.VAcy)NrAr"r_s rrzKTestClassesAndFunctions.test_classify_DynamicClassAttribute.<locals>.VA.hamrN)rLrarbrDynamicClassAttributerr"rrVAr

(
(
)
rrrrrrx)rrO	AttributerrrK)rUrrshould_find_dcashould_find_gas     r#test_classify_DynamicClassAttributez;TestClassesAndFunctions.test_classify_DynamicClassAttributes	14	1
	4	"++E62r{{5?QR

ow'C'CB'GH **5&$G

ng&B&B2&FGrcGfddtGfddt}tjdd||j}|j	|tj
|y)NceZdZfdZdZy)DTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBoolcSrr")rUrYNoBools  r__eq__zKTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBool.__eq__s
xrctd)Nz,This object does not specify a boolean valueNotImplementedErrorr_s r__bool__zMTestClassesAndFunctions.test_classify_overrides_bool.<locals>.NoBool.__bool__s)BDDrN)rLrarbrrrsrrrs
 
DrrceZdZWZy)CTestClassesAndFunctions.test_classify_overrides_bool.<locals>.HasNBN)rLrarbrrsrHasNBrs
Brrrr)rrOrrrrK)rUrshould_find_attrrs   @rtest_classify_overrides_boolz4TestClassesAndFunctions.test_classify_overrides_boolsT	DV	D	F	#,,T65%((K

&(D(DU(KLrcGddt}Gdd|}tjdd|d}|j|tj|y)	NceZdZdZdZy)MTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.Metaslapc
gdS)N)r)rarLfishr"r_s r__dir__zUTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.Meta.__dir__FFrN)rLrarbrr	r"rrrrs
D
GrrceZdZy)NTestClassesAndFunctions.test_classify_metaclass_class_attribute.<locals>.ClassNrr"rrClassrr*rr
rrrrrrOrrrKrUrr
should_finds    r'test_classify_metaclass_class_attributez?TestClassesAndFunctions.test_classify_metaclass_class_attributesK	G4	G	d	''fE

k7#?#?#FGrcGddt}Gdd|}tjdd|d}|j|tj|y)	Nc$eZdZdZfdZxZS)DTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Metac
gdS)N)r)rarLBOOMr"rs rr	zLTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Meta.__dir__r
rc.|dk(ryt||S)Nrr)r'_Meta__getattrrs  rrzPTestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.Meta.__getattr__s&=w(..rrLrarbr	rr1r2s@rrrs
G
/
/rrceZdZy)ETestClassesAndFunctions.test_classify_VirtualAttribute.<locals>.ClassNrr"rrr
rr*rr
rrrrrrs    rtest_classify_VirtualAttributez6TestClassesAndFunctions.test_classify_VirtualAttributesI	/4	/	d	''bA

k7#?#?#FGrc	
Gddt	Gddt
G	
fdd	
}Gdd		}Gd
d||	}tjdd
	d}tjdd
d}tjdd
|d}tj|}|||fD]}|j	||y)Nc$eZdZdZfdZxZS)STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1c
gdS)N)r)rarLoner"rs rr	z[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1.__dir__EErc.|dk(ryt||S)Nr!r,rrs  rrz_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta1.__getattr__%<w*400rrr2s@rMeta1r
F
1
1rr%c$eZdZdZfdZxZS)STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2c
gdS)N)r)rarLtwor"rs rr	z[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2.__dir__r"rc.|dk(ryt||S)Nr*r-rrs  rrz_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta2.__getattr__r$rrr2s@rMeta2r(r&rr,c,eZdZfdZfdZxZS)STestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3c
tttgdj|zj|zS)N)r)rarLthree)rrrNr	)rr%r,s rr	z[TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3.__dir__sCF3'WMM#&(').s);(<$=>??rc.|dk(ryt||S)Nr0rbrrs  rrz_TestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Meta3.__getattr__s'>w*400rr)r)r%r,s@rMeta3r.s
?
1
1rr2ceZdZy)TTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Class1Nrr"rrClass1r4r*rr5rceZdZy)TTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classes.<locals>.Class2Nrr"rrClass2r7r*rr8r!rr,r*r-r0rb)rrOrrKr)rUr2r5r8should_find1should_find2should_find3ccasfr%r,s         @@r,test_classify_VirtualAttribute_multi_classeszDTestClassesAndFunctions.test_classify_VirtualAttribute_multi_classess	1D	1	1D	1	1E5	1	u		Vu	((qA((qA((&%C**62|<	#BMM"c"	#rcGddt}Gdd|}tj|Dcgc]}|d	}}|jd|ycc}w)NceZdZdZy)KTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.Mc
gdSN)r)rLmissingr"rs rr	zSTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.M.__dir__!;;rNrLrarbr	r"rrMrA 
<rrGceZdZy)KTestClassesAndFunctions.test_classify_class_attrs_with_buggy_dir.<locals>.CNrr"rrrrJ#r*rrrrrD)rrOrKrrUrGrr%rs     r(test_classify_class_attrs_with_buggy_dirz@TestClassesAndFunctions.test_classify_class_attrs_with_buggy_dirsR	<	<	!	&;;A>?!1??E*@AcFGddt}d}|tj}|tj}|j	tj
||d|jdfg|j	tj
||d|jdfgGdd|}|j	tj
||d|jdfg|j	tj
||d|jdfgy)Nc(eZdZeZeZy)>TestClassesAndFunctions.test_getmembers_descriptors.<locals>.AN)rLrarbr9rrDrr"rrrSrP)s&(B(*BrrSc4Gddtfd}|S)NceZdZy)XTestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper.<locals>.EmptyNrr"rrEmptyrS0srrTc\dt|vrt|jry|S)NrLF)rrrL)rrTpreds rr:zZTestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper.<locals>.wrapped2s(Q'GE1::,F Awrr)rVr:rTs` @rpred_wrapperzITestClassesAndFunctions.test_getmembers_descriptors.<locals>.pred_wrapper-s


NrrrceZdZy)>TestClassesAndFunctions.test_getmembers_descriptors.<locals>.BNrr"rrrVrZ@r*rrV)rrOismethoddescriptorrr1rr)rUrSrXr[rrVs      rtest_getmembers_descriptorsz3TestClassesAndFunctions.test_getmembers_descriptors(s
	+	+		*'*D*DE'(@(@A++A/ABAJJt$
%&	(++A/?@AJJt$
%&	(			
++A/ABAJJt$
%&	(++A/?@AJJt$
%&	(rcGdd}|jd|jftj||j	d|jftj|tj
|}|jd|jftj||jd|jftj|tj
y)NceZdZdZy)9TestClassesAndFunctions.test_getmembers_method.<locals>.Bcyrr"r_s rrtz;TestClassesAndFunctions.test_getmembers_method.<locals>.B.fJrrNrLrarbrtr"rrrVr_IrrrVrt)rrtrOrrrg)rUrVrs   rtest_getmembers_methodz.TestClassesAndFunctions.test_getmembers_methodHs			


sACCj'"4"4Q"78#qssW%7%77;K;K%LM
C

sACCj'"4"4Q"78

sACCj'"4"4Q8H8H"IJrc\Gddt}Gdd|}Gdd}|jdtj||jd	tj||}|jd
|jftj|y)NceZdZfdZxZS)CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Mc.|dk(ryt||S)NrA	scrambledr)rrr)s  rrzOTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.M.__getattr__Us6>&w*400rrr2s@rrGreTrrrGc0eZdZejdZy)CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Acyrwr"r_s rrAzHTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.A.eggsZrrN)rLrarbrrrAr"rrrSriYrrrSrceZdZdZy)CTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.Bcyrr")rU	attributes  rrzOTestClassesAndFunctions.test_getmembers_VirtualAttribute.<locals>.B.__getattr__^rrNrr"rrrVrl]rrrV)rArg)rArxr)rrrOrr)rUrGrSrVrs     r test_getmembers_VirtualAttributez8TestClassesAndFunctions.test_getmembers_VirtualAttributeSs	1	1
	!				


+W-?-?-BC

&(:(:13(?@
C

}amm4g6H6H6KLrcGdd}|}tj|}tj|}|jdtj|df||jdtj|df||jdtj|df||jdtj|df|y)Nc@eZdZedZejdZy)9TestClassesAndFunctions.test_getmembers_static.<locals>.Actrrr_s rrz>TestClassesAndFunctions.test_getmembers_static.<locals>.A.nameg))rctrrr_s rrAz>TestClassesAndFunctions.test_getmembers_static.<locals>.A.eggsjrtrN)rLrarbrrrrrAr"rrrSrrfs,

*
*

(
(
*)
*rrSrrA)rOgetmembers_staticrgetattr_static)rUrSr%instance_members
class_memberss     rtest_getmembers_staticz.TestClassesAndFunctions.test_getmembers_statices	*	*
C"44Q711!4


vw55a@ACST

vw55a@ACST

vw55a@A=Q

vw55a@A=QrcGddt}Gdd|}tj|Dcgc]}|d	}}|jd|ycc}w)NceZdZdZy)ATestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.Mc
gdSrCr"rs rr	zITestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.M.__dir__xrErNrFr"rrrGr}wrHrrGceZdZy)ATestClassesAndFunctions.test_getmembers_with_buggy_dir.<locals>.CNrr"rrrrzr*rrrrrD)rrOrrrKs     rtest_getmembers_with_buggy_dirz6TestClassesAndFunctions.test_getmembers_with_buggy_dirvsQ	<	<	!	&11!45!155E*6rMcdtdtfd}|jtj|ttdddd|_|jtj|ddd|jtj|dt
|td|jtj|dt
	|tdt}|jtj|ttd|jtj|jttd|jtj|jtt|jd
|jtj|jtd|j|jd|jtj|jddd
d|jtjti|jtj|ji|jtj|ji|jtj|dttd|jtj|jdttd|jtj|jdtt|jd
|jtj|jdtt|j|jd|jtj|jdtt|jd|jtjtdi|jtj|jdi|jtj|jdi|jtj|dttd|jtj|jdttd|jtj|jdtt|jd
|jtj|jdtd|j|jd|jtj|jdddd
d|jtjtdi|jtj|jdi|jtj|jdid}||j}|j|dd|jdd|j|j|jj|jtj|tt|jd
|jtj|dtt|jd
|jtj|dtt|jd
y)Nr%rcyrr"rs  rr.zPTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.foorrrr.rTeval_strrprglobalsr%rrr%rrrrMyClassr%rrrFcBtjfd}|S)Nc"|dz|dzSrJr"r%rrs  rwrapperziTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.times_three.<locals>.wrapper!A#qs|#rrrrrs` rtimes_threezXTestClassesAndFunctions.test_get_annotations_with_stock_annotations.<locals>.times_three#
__R
 
$!
$Nrr,rrbxxx)rrr1rOget_annotationsrrprrrV	function2	function3UnannotatedClassunannotated_functionassertIsNot__globals__)rUr.isarr:s     r+test_get_annotations_with_stock_annotationszCTestClassesAndFunctions.test_get_annotations_with_stock_annotationss{####005Ss7KL$)u5005U7OP00tFHU]`gjWkl00tVXV^ahkXlm'005Ss7KL00=Ss?ST00>cPS_b_j_j@kl00?sQV]`]h]htwttBA	B00?uSX_hAij0092>001E1EFK001I1IJBO00tDCVYFZ[00tLTW^aNbc00MUX_bnqnynyOz{00NVY`cjmjujuBEBMBMQN	O00NVY`cjmjujuPvw004H"M001E1EPTUWYZ001I1ITXY[]^00uESWZG[\00uMUX_bOcd00NVY`corozozP{|00OWZafmpmxmxEHEPEPRQ	R00OW\choxQyz005I2N001E1EPUVXZ[001I1ITYZ\^_	cll+C#++a*?@,,cll.F.FG0093Z]ZeZe;fg004HPSZ]ilititJuv005IQT[^jmjujuKvwrcht}|jtj|ddd|jtj|jddd|jtj|j
dddd|jtj|jddddd|jtj|jddd	d
|jtj|ji|jtj|ji|jtj|dttd|jtj|jdttd|jtj|j
dtt|jd|jtj|jdtd|j|jd|jtj|jddddd
|jtj|jdi|jtj|jdi|jtj|d
ddd|jtj|jd
ddd|jtj|j
d
dddd|jtj|jd
ddddd|jtj|jd
ddd	d
|jtj|jd
i|jtj|jd
it}|jtj|i|jtj|di|jtj|d
id}||j
}|j|dd|j	dd|j|j|j
j|jtj|dddd|jtj|dtt|jd|jtj|d
dddd|jtj|jddi|jtj|jddtiy)Nrrrrr'str'r'int'	'MyClass'rTrFcBtjfd}|S)Nc"|dz|dzSrJr"rs  rrznTestClassesAndFunctions.test_get_annotations_with_stringized_annotations.<locals>.times_three.<locals>.wrapperrrrrs` rrz]TestClassesAndFunctions.test_get_annotations_with_stringized_annotations.<locals>.times_threerrr,rrbrmytype)rr1rOrrrVrrrrrrrrrMyClassWithLocalAnnotations)rUrisa2rr:s     r0test_get_annotations_with_stringized_annotationszHTestClassesAndFunctions.test_get_annotations_with_stringized_annotationss,005U7OP00=UQV?WX00>eRWcl@mn00?uSZajvBA	B00?wU\cnAop001E1EFK001I1IJBO00tDCVYFZ[00tLTW^aNbc00MUX_bnqnynyOz{00NVY`elolwlwDGDODOQP	Q00NV[bgnwPxy001E1EPTUWYZ001I1ITXY[]^00uEUY^G_`00uMUZafOgh00NV[bgs|P}~00OW\cjqzGPRQ	R00OW^els~Q	A001E1EPUVXZ[001I1ITYZ\^_/006;00ErJ00FK	cll+C#++a*?@,,cll.F.FG009U^g;hi004HPSZ]ilititJuv005IQV]bnwKxy	
001P1PQTWYaSbc001P1P[_`cfhkblmr) rLrarbr_ror|rrrrr$rrrrrrrrrrrrr>rLr\rbrorzrrrr"rrrOrOs	(BF,0T24259*,	
%H015AX__)MO	IO	IX__)MO6O6X__)MO,O,	>OKb.(
H
MHH!#F+(@	KM$R"+1xf.nrrOceZdZdZy)TestFormatAnnotationcddlm}m}|jt	j
|d|jt	j
|dy)Nr)rnann1zUnion[List[str], int]z%Union[List[testModule.typing.A], int])test.typinganndata.ann_module9rnrr1rOformatannotation)rUrnrs   rtest_typing_replacementz,TestFormatAnnotation.test_typing_replacements=<11#68OP11$79`arN)rLrarbrr"rrrrsbrrc$eZdZdZdZdZdZy)TestIsDataDescriptorcGdd}Gdd}Gdd}Gdd}|jtj|d	|jtj|d
|jtj|d|jtj|dy)
NceZdZddZy)GTestIsDataDescriptor.test_custom_descriptors.<locals>.NonDataDescriptorNcyrr")rUvaluers   rr=zOTestIsDataDescriptor.test_custom_descriptors.<locals>.NonDataDescriptor.__get__rrrrLrarbr=r"rrNonDataDescriptorrs5rrceZdZdZy)ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor0cyrr")rUrrs   rrAzMTestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor0.__set__rrNrLrarbrAr"rrDataDescriptor0rs0rrceZdZdZy)ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor1cyrr")rUrs  r
__delete__zPTestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor1.__delete__rrN)rLrarbrr"rrDataDescriptor1rs,rrceZdZdZy)ETestIsDataDescriptor.test_custom_descriptors.<locals>.DataDescriptor2Nrr"rrDataDescriptor2rsGrrz-class with only __get__ not a data descriptorz'class with __set__ is a data descriptorz*class with __delete__ is a data descriptorz.class with __set__ = None is a data descriptor)rTrOrrK)rUrrrrs     rtest_custom_descriptorsz,TestIsDataDescriptor.test_custom_descriptorss	6	6	1	1	-	-		112C2EFH	J001BCA	C001BCD	F001BCH	JrcvGdd}|jtj|jdy)NceZdZdZy)/TestIsDataDescriptor.test_slot.<locals>.Slottedr.Nrr"rrSlottedrsIrrza slot is a data descriptor)rKrOrr.)rUrs  r	test_slotzTestIsDataDescriptor.test_slots,		00=5	7rcvGdd}|jtj|jdy)NceZdZedZy)6TestIsDataDescriptor.test_property.<locals>.Propertiedcyrr"r_s r
a_propertyzATestIsDataDescriptor.test_property.<locals>.Propertied.a_propertyrrN)rLrarbrrr"rr
Propertiedrs


rrza property is a data descriptor)rKrOrr)rUrs  r
test_propertyz"TestIsDataDescriptor.test_propertys0			
001F1FG9	;rcGddt}d}d}|jtj|jd|jtj|j
d|jtj|jd|jtj|d|jtj|d	y)
Nc2eZdZdZedZedZy)1TestIsDataDescriptor.test_functions.<locals>.Testcyrr"r_s rinstance_methodzATestIsDataDescriptor.test_functions.<locals>.Test.instance_methodrrcyrr"rs rclass_methodz>TestIsDataDescriptor.test_functions.<locals>.Test.class_methods#'rcyrr"r"rr
static_methodz?TestIsDataDescriptor.test_functions.<locals>.Test.static_methods!%rN)rLrarbrrrrrr"rrTestr
s!+
''
%%rrcyrr"r"rrrVz5TestIsDataDescriptor.test_functions.<locals>.functionrrcyrr"r"rrrz5TestIsDataDescriptor.test_functions.<locals>.<lambda>rrz*a instance method is not a data descriptorz'a class method is not a data descriptorz(a static method is not a data descriptorz#a function is not a data descriptorz!a lambda is not a data descriptor)rrTrOrrrr)rUrrVa_lambdas    rtest_functionsz#TestIsDataDescriptor.test_functionss	&6	&	11$&2H2HIE	G11$&2E2EFB	D11$&2F2FGC	E11(;>	@11(;<	>rN)rLrarbrrrrr"rrrrsJ$7;>rrcHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)TestGetClosureVarscd}t}d|i}dti}dti}dh}tj||||}|jtj|||y)Ncfd}|S)Nc2t|ttyrprint_global_refunbound_ref	local_refnonlocal_refs rruz=TestGetClosureVars.test_name_resolution.<locals>.f.<locals>.g(si{KHrr"rrus` rrtz2TestGetClosureVars.test_name_resolution.<locals>.f's
IHrrrrrrrrrOClosureVarsr1getclosurevarsrUrt_arg
nonlocal_varsglobal_varsbuiltin_vars
unbound_namesr]s        rtest_name_resolutionz'TestGetClosureVars.test_name_resolution%sn	x'.
$k2'&
&&}k'3]D//$8(Crcd}t}d|i}dti}dti}dh}tj||||}|jtj|||y)Ncfd}|S)Nc3BKt|ttdywrrrs rruz?TestGetClosureVars.test_generator_closure.<locals>.f.<locals>.g6si{KHsr"rs` rrtz4TestGetClosureVars.test_generator_closure.<locals>.f5s
Hrrrrrrrs        rtest_generator_closurez)TestGetClosureVars.test_generator_closure4sn	
x'.
$k2'&
&&}k'3]D//$8(CrcGdd}t}d|i}dti}dti}dh}tj||||}|jtj|j||y)NceZdZdZy)1TestGetClosureVars.test_method_closure.<locals>.Ccfd}|S)Nc2t|ttyrrrs rruz>TestGetClosureVars.test_method_closure.<locals>.C.f.<locals>.gFs)\;Lrr")rUrrus ` rrtz3TestGetClosureVars.test_method_closure.<locals>.C.fEsMrNrar"rrrrDs
rrrrrr)rrrrOrr1rrt)rUrrrrrrr]s        rtest_method_closurez&TestGetClosureVars.test_method_closureCsy		
x'.
$k2'&
&&}k'3]D//d<hGrc\	d	d}d}d}fd	fd}|d}|d}||d	}j	|d
dij	|d
dij	|d	|dj	dd
d
d
i|y)Nc@tj|jSr)rOr	nonlocalsrts r_nonlocal_varsz=TestGetClosureVars.test_nonlocal_vars.<locals>._nonlocal_varsTs))!,666rcfd}|S)Nc|zSrr"rhrs raddzFTestGetClosureVars.test_nonlocal_vars.<locals>.make_adder.<locals>.addXs1urr")rrs` r
make_adderz9TestGetClosureVars.test_nonlocal_vars.<locals>.make_adderWs

JrcfdS)Nc|Srr")rrrqrs rrzFTestGetClosureVars.test_nonlocal_vars.<locals>.curry.<locals>.<lambda>]sT4 0rr")rrqs``rcurryz4TestGetClosureVars.test_nonlocal_vars.<locals>.curry\s	00rc||kSrr"rs  r	less_thanz8TestGetClosureVars.test_nonlocal_vars.<locals>.less_than_q5Lrc.fd}|_||S)NcfdS)Nc |Srr")rrts rrzMTestGetClosureVars.test_nonlocal_vars.<locals>.Y.<locals>.g.<locals>.<lambda>esDAaDGrr")rtles`rruz;TestGetClosureVars.test_nonlocal_vars.<locals>.Y.<locals>.gds+,,r)g_ref)rruYs` rrz0TestGetClosureVars.test_nonlocal_vars.<locals>.Ycs
-AGQ4KrcNj|djiy)Nrt)r1r)rrrrUs rcheck_y_combinatorzATestGetClosureVars.test_nonlocal_vars.<locals>.check_y_combinatoris ^D1C>Brr,r-rr)rqrcfdS)Nc|zSrr"rs rrzITestGetClosureVars.test_nonlocal_vars.<locals>.<lambda>.<locals>.<lambda>tsQUrr"rs`rrz7TestGetClosureVars.test_nonlocal_vars.<locals>.<lambda>ts?rrb)r1)
rUr
rrrincadd_twogreater_than_fiverrs
`       @@rtest_nonlocal_varsz%TestGetClosureVars.test_nonlocal_varsRs	7	
	1			CmQ-!)Q/,sAh703(;(9:"#Y7	9)BA(FGq	#	
rcd}tjiiit}|jtjd||jtj||y)Ncyrr"r"rrr.z9TestGetClosureVars.test_getclosurevars_empty.<locals>.fooyrrcyNTr"r"rrrz>TestGetClosureVars.test_getclosurevars_empty.<locals>.<lambda>{rr)rOrrNr1r)rUr._emptys   rtest_getclosurevars_emptyz,TestGetClosureVars.test_getclosurevars_emptyxsS$$RR7//=vF//4f=rcGdd}|jttjd|jttjt|jttjiy)NceZdZy)7TestGetClosureVars.test_getclosurevars_error.<locals>.TNrr"rrTr+rrr,r,)rrrOrr)rUr,s  rtest_getclosurevars_errorz,TestGetClosureVars.test_getclosurevars_error~sO
)W%;%;Q?)W%;%;TB)W%;%;R@rc0d}i}t|||d|fS)Nzdef f(): print(path)rt)r3)rUr+r s   r_private_globalsz#TestGetClosureVars._private_globalss#)
T2#w{rc|j\}}|jddtjiidtidh}|jtj||y)Nrrr#)r/poprOrrr1rrUrtr r]s    rtest_builtins_fallbackz)TestGetClosureVars.test_builtins_fallbacksY%%'2
~t$&&r2I//2H=rc|j\}}ddi|d<tjiiddidh}|jtj||y)Nr#r,rr)r/rOrr1rr2s    rtest_builtins_as_dictz(TestGetClosureVars.test_builtins_as_dictsY%%'2$QZ>&&r2qzG9E//2H=rc|j\}}t|d<tjiidtjidh}|jtj||y)Nrr#r)r/r!rOrr#r1rr2s    rtest_builtins_as_modulez*TestGetClosureVars.test_builtins_as_modulesZ%%'2>&&r2rww/?'K//2H=rN)
rLrarbrrrr"r(r-r/r3r5r7r"rrrr#s9
D
D
H$L>A>>>rrcLeZdZddZddZdZdZdZdZdZ	d	Z
d
ZdZy)
TestGetcallargsFunctionsNct|xsi|}td|zd|}td|zd|}|j||y)Nrfunc(%s)inspect.getcallargs(func, %s))rrJr1)rUrcall_params_stringlocsr1r2s      rassertEqualCallArgsz,TestGetcallargsFunctions.assertEqualCallArgssNDJBT*
*114
>
14FFR rct|xsi|}	td|zd||jd	td|zd||jd|j	tt|j
t|t|~~y#t$r}|}Yd}~}d}~wwxYw#t$r}|}Yd}~sd}~wwxYw)Nr;r<zException not raisedr=)rrJfailrrQrr1r)rUrcall_param_stringr?rex1ex2s       rassertEqualExceptionz-TestGetcallargsFunctions.assertEqualExceptionsDJBT*	.//t<
II,-	.03DDd


II,-

d3ic+S3s8,	C		C	s.B!B9!	B6*B11B69	CC		Cc$	d}t||zS)Nzlambda %s: locals())rJ)rUrr+s   rmakeCallablez%TestGetcallargsFunctions.makeCallables9$D9$%%rc|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d	|j|d
|j|d|j|d|j|d
|j|d|j|d|j|d|j|d|j|d|j|dy)Na, b=122, 3a=2zb=3, a=2z2, b=3z*(2,)z*[2]z*(2, 3)z*[2, 3]z	**{"a":2}zb=3, **{"a":2}z2, **{"b":3}z**{"b":3, "a":2}z*collections.UserList([2])z*collections.UserList([2, 3])z**collections.UserDict(a=2)z2, **collections.UserDict(b=3)z b=2, **collections.UserDict(a=3)rJrBrUrts  r
test_plainz#TestGetcallargsFunctions.test_plains9h'  C(  F+  E*  J/  H-  G,  F+  I.  I.  K0  $45  N3  $67  $@A  $CD  $AB  $DE  $FGrc|jd}|j|d|j|d|j|d|j|d|j|d|j|dy)Nz
a, b=1, *crMrN2, 3, 4z*(2,3,4)z	2, *[3,4]z 2, 3, *collections.UserList([4])rPrQs  rtest_varargsz%TestGetcallargsFunctions.test_varargsssl+  C(  F+  I.  J/  K0  $FGrcj|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d	|j|d
y)Nza, b=1, **crOz2, b=3, c=4z
b=3, a=2, c=4zc=4, **{"a":2, "b":3}z2, c=4, **{"b":3}zb=2, **{"a":3, "c":4}z%**collections.UserDict(a=2, b=3, c=4)z#2, c=4, **collections.UserDict(b=3)z%b=2, **collections.UserDict(a=3, c=4)rPrQs  r
test_varkwz#TestGetcallargsFunctions.test_varkwsm,  E*  M2  O4  $;<  $78  $;<  $KL  $IJ  $KLrc|jd}|j|d|j|d|j|d|j|d|j|d|j|dy)N**crza=1za=1, b=2zc=3, **{"a": 1, "b": 2}z **collections.UserDict(a=1, b=2)z%c=3, **collections.UserDict(a=1, b=2)rPrQs  rtest_varkw_onlyz(TestGetcallargsFunctions.test_varkw_onlysue$  B'  E*  J/  $=>  $FG  $KLrc|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d	|jd
}|j|d|j|d|j|dy)
Nza=3, *, c, d=2zc=3zc=3, a=3za=2, c=4z4, c=4r3za=3zd=4z	*, c, d=2zc=3, d=4zd=4, c=3)rJrBrHrQs  rtest_keyword_onlyz*TestGetcallargsFunctions.test_keyword_onlys./  E*  J/  J/  H-!!!R(!!!S)!!!U+!!!U+k*  E*  J/  J/rc|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|jd	}|j|d|j|d|j|d
|j|d|j|d|j|d
y)Nza, b=2, *f, **gz2, 3, 7z	2, 3, x=8z2, 3, x=8, *[(4,[5,6]), 7]z2, x=8, *[3, (4,[5,6]), 7], y=9zx=8, *[2, 3, (4,[5,6])], y=9z@x=8, *collections.UserList([2, 3, (4,[5,6])]), **{"y":9, "z":10}zP2, x=8, *collections.UserList([3, (4,[5,6])]), **collections.UserDict(y=9, z=10)za, b=2, *f, x, y=99, **gz%2, x=8, *[3, (4,[5,6]), 7], y=9, z=10z"x=8, *[2, 3, (4,[5,6])], y=9, z=10zEx=8, *collections.UserList([2, 3, (4,[5,6])]), q=0, **{"y":9, "z":10}zU2, x=8, *collections.UserList([3, (4,[5,6])]), q=0, **collections.UserDict(y=9, z=10)rPrQs  rtest_multiple_featuresz/TestGetcallargsFunctions.test_multiple_featuress/0  I.  K0  $@A  $EF  $BC  %I	J  %.	/
89  K0  $@A  $KL  $HI  %N	O  %.	/rc|jd}|jd}|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d||fD]}|j|d	|j|d
|j|d|j|d|j|d
|j|d|j|d|j|d|j|d|j|d|j|d|j|d|j|d|jd}|j|d|j|d|jd}|j|d|j|d|j|d|j|d|j|d|j|d|j|dd}|jtd 5t	j
|dddd!}|jtd"5t	j
|ddd|jtd#5t	jd$tjjd%&ddd|jtd'5t	jd(d)d%&ddd|jtd*5t	jd+d,-dddy#1swYxYw#1swYxYw#1swYxYw#1swYdxYw#1swYyxYw).Nrza, brLrrz1,x=1rOzb=3rTz1, 2, 3, a=1z2, 3, 4, c=5z2, 3, 4, a=1, c=5zc=2z2, c=3z	2, 3, c=4z2, c=4, b=3u**{u"πι": 4}z1, a=2z1, **{"a":2}z	1, 2, b=3z1, c=3, a=2rYz1, 2z1, 2, a=1, b=2z	*, a, b=0za=1, a=3za=1, c=3z
a=1, a=3, b=4za=1, b=2, a=3, b=4za=1, a=2, a=3, b=4cyrr"rs rf5z0TestGetcallargsFunctions.test_errors.<locals>.f5Lrrzmissing 1 required keyword-onlycyrr"rs   rf6z0TestGetcallargsFunctions.test_errors.<locals>.f6Srrz'a', 'b' and 'c'z6variadic keyword parameters cannot have default valuesr.rkinddefaultz%value 5 is not a valid Parameter.kindr&rzname must be a str, not a int{rDrf)	rJrHrrrOgetcallargs
ValueErrorrVAR_KEYWORD)	rUf0f1f2rtf3f4rbrds	         rtest_errorsz$TestGetcallargsFunctions.test_errorss


r
"


v
&


x
(!!"c*!!"e,!!"g.!!"b)!!"c*!!"e,!!"e,!!"b)!!"e,R	8A%%a3%%a8%%a8%%a)<=%%a/%%a2%%a5%%a7%%a)AB%%a2%%a8%%a5%%a7!	8$

u
%!!"f-!!"&67


{
+!!"f-!!"&67!!"j1!!"j1!!"o6!!"&:;!!"&:;	

#
#I$EG	$#	$	

#
#I/A
B	$#	$
#
#J%;<	*
e'*;*;*G*G&(
*	*

#
#J$KM	9e!R8	9
#
#I#BD	+c*	+	++	$	$	$	$	*	*
	9	9	+	+s<&N8O1O OO(8OO
OO%(O1r)
rLrarbrBrHrJrRrUrWrZr]r_rrr"rrr9r9s9!&&
H.H
MM0 /0H+rr9c$eZdZdZfdZxZS)TestGetcallargsMethodscHGddt}||_||_y)NceZdZy))TestGetcallargsMethods.setUp.<locals>.FooNrr"rrFoorwir*rrx)rrinst)rUrxs  rrzTestGetcallargsMethods.setUphs	&	E	rctt|
}|d|z|j_|j
jS)Nzself, )r'rtrJrrry)rUrmkr)s   rrJz#TestGetcallargsMethods.makeCallablens5
)4
=X	12yyr)rLrarbrrJr1r2s@rrtrtfs  rrtc>eZdZfdZdfd	Zdfd	ZddZxZS)TestGetcallargsUnboundMethodscVtt|||jjSr)r'r}rJrr)rUrr)s  rrJz*TestGetcallargsUnboundMethods.makeCallablevs!
+T?	JxxrcFtt|
|j|||Sr)r'r}rB_getAssertEqualParamsrUrr>r?r)s    rrBz1TestGetcallargsUnboundMethods.assertEqualCallArgszs-2DM

'
'.@$
GI	IrcFtt|
|j|||Sr)r'r}rHrrs    rrHz2TestGetcallargsUnboundMethods.assertEqualException~s-2DN

'
'.@$
GI	IrcHt|xsi|j}|d|z|fS)N)ryzinst,)rry)rUrr>r?s    rrz3TestGetcallargsUnboundMethods._getAssertEqualParamss)DJBTYY/g 22D99rr)rLrarbrJrBrHrr1r2s@rr}r}tsII:rr}ceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZy)TestGetattrStaticcGddt}|}|jtj|d|j|jtj|dd|j|jt5tj|dddd|jtj|dddy#1swY1xYw)NceZdZeZy)+TestGetattrStatic.test_basic.<locals>.ThingNrLrarbrrr"rrThingr	Arrrrhrb)rr1rOrwrrrrUrthings   r
test_basiczTestGetattrStatic.test_basics	F	//s;UWWE//sDA577K


~
.	/""5#.	/	
//sA>B	/	/s
CCcGddt}Gdd|}|}|jtj|d|jy)NceZdZeZy)/TestGetattrStatic.test_inherited.<locals>.ThingNrr"rrrrrrrceZdZy)4TestGetattrStatic.test_inherited.<locals>.OtherThingNrr"rr
OtherThingrr*rrrrr1rOrwr)rUrr	somethings    rtest_inheritedz TestGetattrStatic.test_inheritedsD	F			L	//	3?IrcGddt}|d}|jtj|dd|`|jtj|ddy)NceZdZdZdZy)3TestGetattrStatic.test_instance_attr.<locals>.Thingr-c||_yrrrUrs  rrz<TestGetattrStatic.test_instance_attr.<locals>.Thing.__init__s	rN)rLrarbrrr"rrrrsA
rrrbrr-rrs   rtest_instance_attrz$TestGetattrStatic.test_instance_attrsX	F	a//s;Q?G//s;Q?rcGddt}|}|jtj|d|jy)NceZdZedZy).TestGetattrStatic.test_property.<locals>.ThingctdNzI'm pretending not to existrr_s rrz0TestGetattrStatic.test_property.<locals>.Thing.xs$%BCCrN)rLrarbrrr"rrrrs

D
Drrrrrs   rrzTestGetattrStatic.test_propertys:	DF	D//s;UWWErcGddt}|Gfddt}|}|jtj|dy)NceZdZdZy)KTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.descriptorctdrr)r]s rr=zSTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.descriptor.__get__s$%BCCrNrr"rr
descriptorrs
DrrceZdZWZy)FTestGetattrStatic.test_descriptor_raises_AttributeError.<locals>.ThingNrLrarbr)descsrrrsArrr)rr1rOrw)rUrrrrs    @r%test_descriptor_raises_AttributeErrorz7TestGetattrStatic.test_descriptor_raises_AttributeErrorsJ	D	D|	F	//s;TBrcGddt}|jtj|d|jy)NceZdZeZy)4TestGetattrStatic.test_classAttribute.<locals>.ThingNrr"rrrrrrrrrrUrs  rtest_classAttributez%TestGetattrStatic.test_classAttributes1	F		
//s;UWWErcGddt}|jtj|d|jdy)Nc>eZdZejdZeZy);TestGetattrStatic.test_classVirtualAttribute.<locals>.Thingc|jSr)_xr_s rrz=TestGetattrStatic.test_classVirtualAttribute.<locals>.Thing.xswwrN)rLrarbrrrrrr"rrrrs!

(
(
)
Brrr)rr1rOrwrrs  rtest_classVirtualAttributez,TestGetattrStatic.test_classVirtualAttributes6	F		
//s;U^^C=PQrcGddt}Gdd|}|jtj|d|jy)NceZdZeZy)>TestGetattrStatic.test_inherited_classattribute.<locals>.ThingNrr"rrrrrrrceZdZy)CTestGetattrStatic.test_inherited_classattribute.<locals>.OtherThingNrr"rrrrr*rrrrrUrrs   rtest_inherited_classattributez/TestGetattrStatic.test_inherited_classattributes=	F				
//
C@%''Jrc@Gddt}|}|jtj|d|j|jtj|dd|`|jtj|d|jy)NceZdZdZdgZdZy)+TestGetattrStatic.test_slots.<locals>.Thingr&rcd|_yNr.rr_s rrz4TestGetattrStatic.test_slots.<locals>.Thing.__init__	rN)rLrarbrhrrr"rrrrsAI
rrrrhr&rrs   r
test_slotszTestGetattrStatic.test_slotss{	F	
//s;UWWE//s;UCG//s;UWWErcvGddt}Gddt|}|jtj|ddGdd	|}Gd
dt|}|jtj|ddGdd
|}|jtj|ddy)NceZdZdZy).TestGetattrStatic.test_metaclass.<locals>.metar.N)rLrarbrr"rrmetarsDrrceZdZy)/TestGetattrStatic.test_metaclass.<locals>.ThingNrr"rrrrr*rrrrr.ceZdZy)-TestGetattrStatic.test_metaclass.<locals>.subNrr"rrsubrr*rrceZdZdZy)4TestGetattrStatic.test_metaclass.<locals>.OtherThingrbNrr"rrrrArrceZdZy)9TestGetattrStatic.test_metaclass.<locals>.OtherOtherThingNrr"rrOtherOtherThingrr*rrrrbrrr1rOrw)rUrrrrrs      rtest_metaclassz TestGetattrStatic.test_metaclasss	4		Fd	//v>F	$		3	//
FCUK	j		
//EqIrc|jtjdddd|jtjdddy)Nr,r.lower)r1rOrwassertNotEqualr_s rtest_no_dict_no_slotsz'TestGetattrStatic.test_no_dict_no_slotss>//5$?FG225'BDIrcttd5}|jtj|dt|jdddy#1swYyxYw)Nr|r}r)rrUr1rOrwrr)rUhandles  r%test_no_dict_no_slots_instance_memberz7TestGetattrStatic.test_no_dict_no_slots_instance_membersN
(W
-	XW33FFCT&\EVEVW	X	X	Xs:AAcGddt}Gdd|}|jtj|d|jy)NceZdZdgZdZy)5TestGetattrStatic.test_inherited_slots.<locals>.Thingrcd|_yrrr_s rrz>TestGetattrStatic.test_inherited_slots.<locals>.Thing.__init__rrN)rLrarbrrr"rrrrsI
rrceZdZy):TestGetattrStatic.test_inherited_slots.<locals>.OtherThingNrr"rrrrr*rrrrrs   rtest_inherited_slotsz&TestGetattrStatic.test_inherited_slotss?	F	
			
//
cBEGGLrcGddtGfddt}|}d|jd<|jtj|ddd_|jtj|d|jd`d_|jtj|d|jdy)	NceZdZdZy)5TestGetattrStatic.test_descriptor.<locals>.descriptorcyrJr"rUinstanceowners   rr=z=TestGetattrStatic.test_descriptor.<locals>.descriptor.__get__	rNrr"rrrr
rrceZdZWZy).TestGetattrStatic.test_descriptor.<locals>.FooNrLrarbrsrsrrxr
Arrxr,rscyrr")rr5vs   rrz3TestGetattrStatic.test_descriptor.<locals>.<lambda>rrcyrr")rr5rs   rrz3TestGetattrStatic.test_descriptor.<locals>.<lambda>rr)rrr1rOrwrAr)rUrxr.rs   @rtest_descriptorz!TestGetattrStatic.test_descriptors			&	eS//S91=2
//S93<<;LM 4
//S93<<;LMrcGddtGfddt}Gddt|}|jtj|d|j
dy)	NceZdZdZy)DTestGetattrStatic.test_metaclass_with_descriptor.<locals>.descriptorcyrJr"rs   rr=zLTestGetattrStatic.test_metaclass_with_descriptor.<locals>.descriptor.__get__rrNrr"rrrrrrrceZdZWZy)>TestGetattrStatic.test_metaclass_with_descriptor.<locals>.metaNrrsrrr!rrrceZdZy)?TestGetattrStatic.test_metaclass_with_descriptor.<locals>.ThingNrr"rrrr#r*rrrrs)rrr1rOrwr)rUrrrs   @rtest_metaclass_with_descriptorz0TestGetattrStatic.test_metaclass_with_descriptorsO			4		Fd	//s;T]]3=OPrcGddt}Gdd|}|}|jtj|dd|j	|j
|jtj|ddy)NceZdZdZy)6TestGetattrStatic.test_class_as_property.<locals>.BaserbNr
r"rrBaser)Crrc eZdZdZedZy);TestGetattrStatic.test_class_as_property.<locals>.SomethingFcd|_tSr&)executedrr_s rr)zETestGetattrStatic.test_class_as_property.<locals>.Something.__class__.s $

rN)rLrarbrrr)r"rr	Somethingr,sH


rr	r.rb)rr1rOrwrTr)rUrr	rs    rtest_class_as_propertyz(TestGetattrStatic.test_class_as_property(sq	6			;//%@!D**+//	5A1ErcGddt}Gddt}Gdd||}|jtj|dd	|jtj|dd	y)
NceZdZedZy)4TestGetattrStatic.test_mro_as_property.<locals>.MetactfSrrWr_s r__mro__z<TestGetattrStatic.test_mro_as_property.<locals>.Meta.__mro__:s
y rN)rLrarbrrr"rrrr
9s

!
!rrceZdZdZy)4TestGetattrStatic.test_mro_as_property.<locals>.BaserbNr
r"rrrr>rrrceZdZy)9TestGetattrStatic.test_mro_as_property.<locals>.SomethingNrr"rrr	rAr*rr	rr.rbr)rUrrr	s    rtest_mro_as_propertyz&TestGetattrStatic.test_mro_as_property8sf	!4	!
	6				
//	UCQG//	5A1Erc|d_Gfddt}|}d|_|jt	j
|dd|j
jy)NFc&eZdZdZefdZy)4TestGetattrStatic.test_dict_as_property.<locals>.Foorbcd_iSr&calledrUrs rrz=TestGetattrStatic.test_dict_as_property.<locals>.Foo.__dict__M"	rNrLrarbr%rrrsrrxrKA


rrxrDr%rb)rrr%r1rOrwrT)rUrxr.rs   @rtest_dict_as_propertyz'TestGetattrStatic.test_dict_as_propertyGsZ	$	e//S91=%rcZ|d_Gfddt}Gddt}Gdd|}|}|jtj|dd	|f|_|jtj|dd
|j
jy)NFc&eZdZdZefdZy)/TestGetattrStatic.test_mutated_mro.<locals>.Foorbcd_iSr&rrs rrz8TestGetattrStatic.test_mutated_mro.<locals>.Foo.__dict__]rrNrrsrrxr#[rrrxceZdZdZy)/TestGetattrStatic.test_mutated_mro.<locals>.BarrDNrLrarbr%r"rrBarr&brrr(ceZdZy)/TestGetattrStatic.test_mutated_mro.<locals>.BazNrr"rrBazr*errr+r%rDrb)rrr1rOrw	__bases__rT)rUrxr(r+bazrs     @rtest_mutated_mroz"TestGetattrStatic.test_mutated_mroWs	$		$		#e//S91=
//S91=%rc|d_Gfddt}Gddt}|}||_|j	tj|dd|jjy)NFc$eZdZdfd	ZxZS)9TestGetattrStatic.test_custom_object_dict.<locals>.Customc4d_t|	||yr&)rr'get)rUkeyrgr)rs   rr3z=TestGetattrStatic.test_custom_object_dict.<locals>.Custom.getrs"C)rr)rLrarbr3r1)r)rs@rCustomr1qs

*
*rr5ceZdZdZy)6TestGetattrStatic.test_custom_object_dict.<locals>.FoorbNr'r"rrrxr7vrrrxr%rb)rrrrr1rOrwrT)rUr5rxr.rs    @rtest_custom_object_dictz)TestGetattrStatic.test_custom_object_dictmsf	*T	*
	&	ex//S91=%rcGddt}Gdd|}|}|jtj|dd|j	|j
y)NceZdZedZy)?TestGetattrStatic.test_metaclass_dict_as_property.<locals>.Metacd|_yr&)rr_s rrzHTestGetattrStatic.test_metaclass_dict_as_property.<locals>.Meta.__dict__s	 $
rNrLrarbrrr"rrrr;~rrrceZdZdZdZy)@TestGetattrStatic.test_metaclass_dict_as_property.<locals>.ThingFcd|_yNrrxr_s rrzITestGetattrStatic.test_metaclass_dict_as_property.<locals>.Thing.__init__s		rN)rLrarbrrr"rrrr?sH
rrrrxr)rr1rOrwrTr)rUrrrs    rtest_metaclass_dict_as_propertyz1TestGetattrStatic.test_metaclass_dict_as_property}sR	%4	%
	d	7//&A2F(rcnt}|jtjtd||y)Nversion)rrrOrwr)rUsentinels  rtest_modulezTestGetattrStatic.test_modules+8//YI!	#rcGddt}Gddt|}Gdd|}|jt5tj|dddd|j|jy#1swY%xYw)	NceZdZedZy)WTestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaMetac(d|_tdS)NTrrB)rrr_s rrz`TestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaMeta.__dict__s $
}$rNr=r"rrMetaMetarJs

%
%rrLceZdZdZy)STestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.MetaFN)rLrarbrr"rrrrNsHrrrceZdZy)TTestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_property.<locals>.ThingNrr"rrrrPr*rrrx)rrrrOrwrTr)rUrLrrs    r3test_metaclass_with_metaclass_with_dict_as_propertyzETestGetattrStatic.test_metaclass_with_metaclass_with_dict_as_propertyso	%t	%	48		d	

~
.	2""5&1	2(	2	2sA==Bc|d_Gfdd}|jt5tj|dddd|jjy#1swY%xYw)NFceZdZfdZy)6TestGetattrStatic.test_custom___getattr__.<locals>.Foocd_iSr&rrUrrs  rrzBTestGetattrStatic.test_custom___getattr__.<locals>.Foo.__getattr__"	rNrrsrrxrT
rrxwhateverrrrrOrwrTrUrxrs  @rtest_custom___getattr__z)TestGetattrStatic.test_custom___getattr__sd		


~
.	6""35*5	6	
%	6	6A,,A5c|d_Gfdd}|jt5tj|dddd|jjy#1swY%xYw)NFceZdZfdZy);TestGetattrStatic.test_custom___getattribute__.<locals>.Foocd_iSr&rrVs  r__getattribute__zLTestGetattrStatic.test_custom___getattribute__.<locals>.Foo.__getattribute__rWrN)rLrarbrbrsrrxr`rXrrxreally_could_be_anythingrZr[s  @rtest_custom___getattribute__z.TestGetattrStatic.test_custom___getattribute__si		


~
.	F""35*DE	F	
%	F	Fr]N)rLrarbrrrrrrrrrrrrrrrr
rr r.r8rCrGrQr\rdr"rrrrs
CJ@FCFRKFJ$JX
MN,QF 
F& &,& ) #
)"&&rrcNeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
y)
TestGetGeneratorStatec"d}||_y)Nc34KtdD]}|ywNrrpnumbers rnumber_generatorz5TestGetGeneratorState.setUp.<locals>.number_generators(

rs)	generator)rUrls  rrzTestGetGeneratorState.setUps	*+rc@tj|jSr)rOgetgeneratorstatermr_s r_generatorstatez%TestGetGeneratorState._generatorstate((88rc`|j|jtjyr)r1rprOGEN_CREATEDr_s rtest_createdz"TestGetGeneratorState.test_createds!--/1D1DErct|j|j|jtj
yr)nextrmr1rprO
GEN_SUSPENDEDr_s rtest_suspendedz$TestGetGeneratorState.test_suspendeds-T^^--/1F1FGrc|jD]}|j|jtjyr)rmr1rprO
GEN_CLOSEDrqs  rtest_closed_after_exhaustionz2TestGetGeneratorState.test_closed_after_exhaustions7	A	--/1C1CDrc|jt5|jjtddd|j	|jtjy#1swY8xYwr)rr@rmr=r1rprOrzr_s r%test_closed_after_immediate_exceptionz;TestGetGeneratorState.test_closed_after_immediate_exceptionsV


|
,	/NN  .	/--/1C1CD	/	/ A--A6c|fd}|_tjtjy)Nc3KtdD]b}jjtj|jjtjdywri)r/r1rprOGEN_RUNNINGrkrUs rrunning_check_generatorzCTestGetGeneratorState.test_running.<locals>.running_check_generators_(
N  !5!5!79L9LM  !5!5!79L9LM
NsA2A5)rmrv)rUrs` rtest_runningz"TestGetGeneratorState.test_runnings-
	N
12T^^T^^rcdj}|D]H}tt|}|j|t	||j|t|Jy)Nz0GEN_CREATED GEN_RUNNING GEN_SUSPENDED GEN_CLOSEDrrrOrreprrrUnamesrstates    rtest_easy_debuggingz)TestGetGeneratorState.test_easy_debuggingsOBHHJ	,DGT*EMM$U,MM$E
+	,rc	@d
d}|gd}|jtj|dgddt||jtj|dgddddt||jtj|dgddddt||jtj|dgddddd		t||jtj|iy#t$rY1wxYw)Nc34Kd}|D]
}|dk(rd}|ywNrurbrHr"lstr%rrrs     reachz;TestGetGeneratorState.test_getgeneratorlocals.<locals>.eachs+A
6A
rsrur%rr,r%rrrr-rbrHr%rrrrrr1rOgetgeneratorlocalsrv
StopIterationrUrnumberss   rtest_getgeneratorlocalsz-TestGetGeneratorState.test_getgeneratorlocalss	y/33G<#I6	8W
33G<#IA(*	+	
W
33G<#IA(*	+	
W
33G<#IA(r3	4	M	
33G<bA		s D	DDcd}|}|jtj|i	t||jtj|iy#t$rY1wxYw)Nc3Kdywr1r"r"rr	yield_onezFTestGetGeneratorState.test_getgeneratorlocals_empty.<locals>.yield_one	sGr}rrUrr!s   rtest_getgeneratorlocals_emptyz3TestGetGeneratorState.test_getgeneratorlocals_empty	sf	k33C8"=	I	
33C8"=		sA""	A.-A.c6|jttjd|jttjd|jttjt|jttjdy)Nr,cyr&r"rs rrzETestGetGeneratorState.test_getgeneratorlocals_error.<locals>.<lambda>	rrr-rb)rrrOrrNr_s rtest_getgeneratorlocals_errorz3TestGetGeneratorState.test_getgeneratorlocals_error	sb)W%?%?C)W%?%?P)W%?%?E)W%?%?GrN)rLrarbrrprtrxr{r}rrrrrr"rrrfrfs?,9FHE
E
 ,B:	>HrrfcBeZdZdZdZdZdZdZdZdZ	dZ
d	Zy
)TestGetCoroutineStatecTtjdfd}||_y)Nc34KtdD]}|ywrirprjs rnumber_coroutinez5TestGetCoroutineState.setUp.<locals>.number_coroutine&	s(

rsc0Kd{y7wrr")rsr	coroutinez.TestGetCoroutineState.setUp.<locals>.coroutine*	s"$$$s)rr)rUrrs  @rrzTestGetCoroutineState.setUp%	s'		
		%"rc8|jjyr)rrr_s rr-zTestGetCoroutineState.tearDown.	src@tj|jSr)rOgetcoroutinestaterr_s r_coroutinestatez%TestGetCoroutineState._coroutinestate1	rqrc`|j|jtjyr)r1rrOCORO_CREATEDr_s rrtz"TestGetCoroutineState.test_created4	s!--/1E1EFrc|jjd|j|jtj
yr)rsendr1rrOCORO_SUSPENDEDr_s rrxz$TestGetCoroutineState.test_suspended7	s3D!--/1G1GHrc		|jjd#t$rYnwxYw|j|j	t
jyr)rrrr1rrOCORO_CLOSEDr_s rr{z2TestGetCoroutineState.test_closed_after_exhaustion;	sV
##D)!

	
--/1D1DEs	++c|jt5|jjtddd|j	|jtjy#1swY8xYwr)rr@rr=r1rrOrr_s rr}z;TestGetCoroutineState.test_closed_after_immediate_exceptionD	sV


|
,	/NN  .	/--/1D1DE	/	/r~cdj}|D]H}tt|}|j|t	||j|t|Jy)Nz4CORO_CREATED CORO_RUNNING CORO_SUSPENDED CORO_CLOSEDrrs    rrz)TestGetCoroutineState.test_easy_debuggingI	OFLLN	,DGT*EMM$U,MM$E
+	,rctjddfd	}|}|jtj|dd|jd|jtj|dddy)Nc3Kdywrr"r"rrgencoroz>TestGetCoroutineState.test_getcoroutinelocals.<locals>.gencoroR	s	r}c*Kd}d{y7wrwr")r%rrs  rrz;TestGetCoroutineState.test_getcoroutinelocals.<locals>.funcW	sAMMs)r%rrx)r%rrr)rrr1rOgetcoroutinelocalsr)rUrrrs   @rtest_getcoroutinelocalsz-TestGetCoroutineState.test_getcoroutinelocalsQ	s		
	)	v33D9#8	:		$33D9#fE	GrN)rLrarbrr-rrtrxr{r}rrr"rrrr#	s4%9GIFF
,GrrcTeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZy
)TestGetAsyncGenStatec"d}||_y)Nc6KtdD]}|	ywrirprjs rnumber_asyncgenz3TestGetAsyncGenState.setUp.<locals>.number_asyncgeng	s(

)asyncgen)rUrs  rrzTestGetAsyncGenState.setUpf	s	()
rcTK|jjd{y7wr)racloser_s r
asyncTearDownz"TestGetAsyncGenState.asyncTearDownl	smm""$$$s(&(c@tj|jSr)rOgetasyncgenstaterr_s r_asyncgenstatez#TestGetAsyncGenState._asyncgenstateo	s''

66rc`|j|jtjyr)r1rrOAGEN_CREATEDr_s rrtz!TestGetAsyncGenState.test_createdr	s!,,.0D0DErcKt|jd{}|j|jtj
|j|dy7Ewr)anextrr1rrOAGEN_SUSPENDEDrUrs  rrxz#TestGetAsyncGenState.test_suspendedu	sKDMM**,,.0F0FG"+sA#A!AA#c@Kd}|jt5|dz
x}r%t|jd{|dz
x}r%ddd|j	|d|j	|jtjy7U#1swYLxYww)Nr7r,)rStopAsyncIterationrrr1rrOAGEN_CLOSED)rU	countdowns  rr{z1TestGetAsyncGenState.test_closed_after_exhaustionz	s	


1
2	+(1},),DMM*** )1},),	+	
A&,,.0C0CD+	+	+s-B BBBA	BBBBcK|jt5|jjtd{ddd|j	|jtjy7;#1swY:xYwwr)rr@rathrowr1rrOrr_s rr}z:TestGetAsyncGenState.test_closed_after_immediate_exception	se


|
,	5--&&|444	5,,.0C0CD
5	5	5s,B#A9A7A97B7A99B>BcdKfd}|_tjd{jjtj
tjd{jjtj
y7~75w)NcKtdD]c}jjtj|jjtjeywri)r/r1rrOAGEN_RUNNINGrs rrunning_check_asyncgenzATestGetAsyncGenState.test_running.<locals>.running_check_asyncgen	s_(
N  !4!4!68L8LM  !4!4!68L8LM
NsA3A6)rrr1rrOr)rUrs` rrz!TestGetAsyncGenState.test_running	s	N
/0
DMM""",,.0F0FGDMM""",,.0F0FG		#	#s"*B0B,A
B08B.94B0.B0cdj}|D]H}tt|}|j|t	||j|t|Jy)Nz4AGEN_CREATED AGEN_RUNNING AGEN_SUSPENDED AGEN_CLOSEDrrs    rrz(TestGetAsyncGenState.test_easy_debugging	rrc	Kd
d}|gd}|jtj|dgddt|d{|jtj|dgddddt|d{|jtj|dgddddt|d{|jtj|dgddddd	|j	t
5t|d{ddd|jtj|iy77779#1swY8xYww)Nc6Kd}|D]}|dk(rd}|ywrr"rs     rrz9TestGetAsyncGenState.test_getasyncgenlocals.<locals>.each	s+A
6A
rrurr,rr-rbrHrrr1rOgetasyncgenlocalsrrrrs   rtest_getasyncgenlocalsz+TestGetAsyncGenState.test_getasyncgenlocals	sI	y/227;#I6	8Gn227;#IA(*	+Gn227;#IA(*	+Gn227;#IA(r3	4

1
2	!.  	!227;R@			

!	!	!saAE%	E
>E%E	>E%EAE%EEE"/E%E%E%EE"E%cKd}|}|jtj|it|d{|jtj|i|j	t
5t|d{ddd|jtj|iy774#1swY3xYww)NcKdywr1r"r"rrrzDTestGetAsyncGenState.test_getasyncgenlocals_empty.<locals>.yield_one	sGs	rrs   rtest_getasyncgenlocals_emptyz1TestGetAsyncGenState.test_getasyncgenlocals_empty	s	k2237<Cj2237<


1
2	*	2237<		
		s;>CC>C?CCC/CCC
Cc6|jttjd|jttjd|jttjt|jttjdy)Nr,cyr&r"rs rrzCTestGetAsyncGenState.test_getasyncgenlocals_error.<locals>.<lambda>	rrr)rrrOrrNr_s rtest_getasyncgenlocals_errorz1TestGetAsyncGenState.test_getasyncgenlocals_error	sb)W%>%>B)W%>%>O)W%>%>D)W%>%>FrN)rLrarbrrrrtrxr{r}rrrrrr"rrrrc	sD*%7F#
EE
H,A6	=GrrceZdZy)MySignatureNrr"rrrr		rrceZdZy)MyParameterNrr"rrrr	rrrc<eZdZedZdZdZdZdZdZ	dZ
dZd	Ze
ejed
dZe
ejed
dZe
d
ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!ejed
dZ"ejed
dZ#dZ$dZ%d Z&d!Z'd"Z(d#Z)d$Z*d%Z+d&Z,d'Z-d(Z.d)Z/d*Z0ejed
d+Z1d,Z2d-Z3d.Z4d/Z5d0Z6d1Z7d2Z8d3Z9y4)5TestSignatureObjectctj|fi|}td|jj	D|j
|jurdfS|j
fS)Nc3K|]}}|j|j|jurdn|j|j|jurdn|jt	|j
j
fyw).N)rrgempty
annotationrrfr).0params  r	<genexpr>z0TestSignatureObject.signature.<locals>.<genexpr>	snJ
).zz$}};$//5;;>=B=M=M5::,,.	0JsBB.)rOrtupler4valuesreturn_annotationr)rkwsigs   rrzTestSignatureObject.signature	sw++J
251F1F1HJJ--:
I	I251F1FI	Irctj}tj}|jt	|d|jt|jddddd}tj|}|jt|jd|jdt|vdd}tj|}|jt|jd|jd	t|v|jd
}|jd}|jd}	|jd
}
|jd}|jd}|jd}
|jd}|||	|||f|||	||
f||||f||||
f||||
f|||
f||||
|f||
|f||
||f|||
|f|jtd5||	||||fddd|jtd5||||	||fddd|jtd5||||	||fddd|jtd5|||	|||fddd|jd}|jtd5|||	|||fddd|jtd5|||fddd|jtd5|||	fddd|jtd5||||	fddd|jtd5|||
|	fddd|jtd5||
|	fdddy#1swYxYw#1swY}xYw#1swY^xYw#1swY?xYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYyxYw)N()zmappingproxy(OrderedDict())r=)kodcyrr")popkpkdkorrr<s       rrz7TestSignatureObject.test_signature_object.<locals>.test	rrz
<Signaturez
(po, /, pkcyrr")pods rtest2z8TestSignatureObject.test_signature_object.<locals>.test2	rrz(pod=42, /)rrrrrrrr<zwrong parameter orderrzduplicate parameter namezfollows default argument)d)r)
rOrrr1rrr4rrKrrrkreplace)rUSPrrrsig2rrrrrrrr<kwargs2s                rtest_signature_objectz)TestSignatureObject.test_signature_object	s"QS4(acnn-/LM	B	%S	,,\:;S	12	  'T
--l;<
d34
^^D
!ooe$
^^D
!nnU#~~f%
^^D
!nnU#)	2r4V
$%	2r2s
	2sB-	2sC.	3C.	3*
	3c6
"#	
3)	3F
	4b/

#
#J0G
H	*
r2tR()	*
#
#J0G
H	*
r4R()	*
#
#J0G
H	*
tRR()	*
#
#J0G
H	*
r2tVR()	*..f.-

#
#J0J
K	+
r2tWb)*	+
#
#J0J
K	
sBiL	
#
#J0J
K	
sBiL	
#
#J0J
K	
r3m	
#
#J0J
K	
r3m	
#
#J0J
K	
sBiL		9	*	*	*	*	*	*	*	*	+	+										sx(OOO*,O7*PP?P(P)P5<QOO'*O47PPPP&)P25P>Q
ciddddddifd}tj|d}tj|}t	t
jdzD]Y}|j|d	
5tjtj||}|j||ddd[tj|}tdtjj}tj|j |}t#j%|j'|j(
}|j+t-|t"|j+t-|j dtt	t
jdzD]}|j|d
5tjtj||}|j|||j+t-|t"|j+t-|j dtdddy#1swYxYw#1swYxYw)Nrrr,rrrcyrr"r%rrrs    rr.z=TestSignatureObject.test_signature_object_pickle.<locals>.foo0
rrrF)
pickle_versubclassr+)rrf)r4rT)rrrOrr/pickleHIGHEST_PROTOCOLsubTestloadsdumpsr1rrrcollectionsOrderedDictr4rrrrrKr)	rUr.foo_partialrversig_pickledmyparammyparamsmysigs	         rtest_signature_object_picklez0TestSignatureObject.test_signature_object_pickle/
s:1:2e*:''q1,00145	3Cu=
3$ll6<<S+AB  k2
3
3	3$3W->->-N-NO**3>>WE
%%1B8;8M8M&O
5+67
5#3#3C#8+FG00145	9Ct<
9$ll6<<s+CD  4
; DE
;+A+A#+F+6!89	
9
9	9
3
3
9
9s,<I=BII	I%	cd}tj|}|jt5d|_ddd|jt
5d|jd<dddy#1swY7xYw#1swYyxYw)Ncyrr"rs rrz=TestSignatureObject.test_signature_immutability.<locals>.testL
rrr&r%)rOrrrr.rr4rUrrs   rtest_signature_immutabilityz/TestSignatureObject.test_signature_immutabilityK
sy	%


~
.	CG	

y
)	'"&CNN3	'	'			'	'sA,A8,A58BcLd}|j|j|dy)Ncyrr"r"rrrz9TestSignatureObject.test_signature_on_noarg.<locals>.testW
rrr".r1rrs  rtest_signature_on_noargz+TestSignatureObject.test_signature_on_noargV
s 	-y9rcNdd}|j|j|dy)Ncyrr"rs  rrz9TestSignatureObject.test_signature_on_wargs.<locals>.test\
rr))r%..positional_or_keyword)r.r.r.rh)rr.rrhr)rs  rtest_signature_on_wargsz+TestSignatureObject.test_signature_on_wargs[
s%	-	 rcdtdtdtfd}|j|j	|ddtdfddtdfftfy)Nr%rrcyrr"rs  rrz;TestSignatureObject.test_signature_on_wkwonly.<locals>.testd
rr.keyword_only)floatrrr1rrs  rtest_signature_on_wkwonlyz-TestSignatureObject.test_signature_on_wkwonlyc
sZ	e	s	s	-e^<c>:< 	!rcdddddddddd	tfd
}|j|j|ddd
ddd	dtdffdfy)Nrh)rrr.rr&rxr-r<cyrr")r%rrxrrr<s      rrz@TestSignatureObject.test_signature_on_complex_args.<locals>.testl
rrr-)rr=r.r.)r.r&var_positional)rx.r-r2)rrh.r2.var_keywordr=)rr1rrs  rtest_signature_on_complex_argsz2TestSignatureObject.test_signature_on_complex_argsk
sn	S	e	e	%	3	-CDA?<$c3
>@
	 rc
ddGfdd}|j|jd|j|jd|j|j|jd|j|j|jd|j|j|jd|j|j|j
dy)Ncyrr"r<s rtest_args_onlyzGTestSignatureObject.test_signature_without_self.<locals>.test_args_onlyx
rrcyrr"rr<s  rtest_args_kwargs_onlyzNTestSignatureObject.test_signature_without_self.<locals>.test_args_kwargs_only{
rrceZdZedZedZejedZ	ejWdZ
ejedZejWdZy):TestSignatureObject.test_signature_without_self.<locals>.Acyrr"r<s rtest_classmethodzKTestSignatureObject.test_signature_without_self.<locals>.A.test_classmethod
rrcyrr"r<s rtest_staticmethodzLTestSignatureObject.test_signature_without_self.<locals>.A.test_staticmethod
rrr,N)
rLrarbrrDrrFr
partialmethodrnrorprq)r@r=srrSrB~
s~




)((*:Q?B(((.1=B(((*;a@B(((*?CBrrS)r..r7.)rIr<..r8.)r1rrnrorprq)rUrSr@r=s  @@rtest_signature_without_selfz/TestSignatureObject.test_signature_without_selfw
s			D	D	
7G	I(=>F	G	
-G	I-G	I-G	I-G	Hrrc	ddl}fd}fd}||j		fd}j|ddj|ddj|d	d
j|ddj|d
dj|ddj|ddj|ddj|dtjj|dtjdz
|t
|tjjt
jtj}||j|tj|dj|tj|ij|tj |t"j$|dj$|t&j j)t*d5Gdd}||ddd|tj,|t.j0||j2t4j6}||}jt9|j:ddgy#1swYxYw)Nrc	tj|}jt|tjjt
|jjdjd|SNrrU)
rOrrKrrr1rr4rrrrrUs  rtest_unbound_methodzKTestSignatureObject.test_signature_on_builtins.<locals>.test_unbound_method
sdS))!,IOOJy'2C2CDET)"6"6"="="?@CHH&Qrc	tj|}jt|tj|j
r@j
t|j
jdjd|SrO)
rOrrKrrr4rrrrrPs  r
test_callablezETestSignatureObject.test_signature_on_builtins.<locals>.test_callable
snd))!,IOOJy'2C2CDE####D)=)=)D)D)F$G$J$O$OQWXrc6j|jSr)r4rg)rrs rr6z9TestSignatureObject.test_signature_on_builtins.<locals>.p
sI006>>>rrrrsbytesrsgQ	@r5#nrLTrtFlocalrbrrWr,sabczno signature foundceZdZeZy)DTestSignatureObject.test_signature_on_builtins.<locals>.ThisWorksNowN)rLrarbrrr"rrThisWorksNowrY
srrZrUbuffer)rrr1rmaxsizerrrrrStringIObytes	maketransrfromkeysrrrrminrrk__delitem__rr#docstring_with_signature_but_no_doc	bytearray__release_buffer__rr4)
rUrrQrSr6rsrZrrrs
`        @rtest_signature_on_builtinsz.TestSignatureObject.test_signature_on_builtins
s@			")"R"RS	>3+3*3&3$3&3&3'7Q'53;;/53;;?3f	GOO001OOBKKM*aff	eoo&f&&'	dmm$bkk"	DMM*CKK(qkk"	cll#
#
#J0D
E	*
 
 ,.)	*	D,,-H//0	iCCD--!&)cnn-/AB	*	*sK44K=c2ddl}|j}d}||}|jtj|tj|dt
fd}|jtj|dtj|y)NrcPtjdtffd}|S)Nrc|i|Srr"rr<rs  rrz\TestSignatureObject.test_signature_on_decorated_builtins.<locals>.decorator.<locals>.wrapper
T,V,,rrrrrrs` r	decoratorzKTestSignatureObject.test_signature_on_decorated_builtins.<locals>.decorator
*
__T
"
-C
-#
-Nrrcyrr"r?s  rwrapper_likezNTestSignatureObject.test_signature_on_decorated_builtins.<locals>.wrapper_like
rrFfollow_wrapped)rrr1rOrr)rUrrrndecorated_funcrqs      r$test_signature_on_decorated_builtinsz8TestSignatureObject.test_signature_on_decorated_builtins
s	??	#4**40 **>:	<	7S6**>:?A **<8	:rc(ddl}|jtd5tj|j
ddd|jtd5tjtdddy#1swYBxYw#1swYyxYw)Nrzno signature found for builtin)rrrkrOrrr)rUrs  r'test_signature_on_builtins_no_signaturez;TestSignatureObject.test_signature_on_builtins_no_signature
s

#
#J$DF	@i>>?	@
#
#J$DF	#c"	#	#		@	@	#	#s A<B<BBc|jtd5tjddddy#1swYyxYw)Nis not a callable objectr)rrrOrr_s rtest_signature_on_non_functionz2TestSignatureObject.test_signature_on_non_function
s6

#
#I/I
J	"b!	"	"	"s6?cddd}Gdd}tjj|}tjj||}|j||tj||}|j||||}|`|j|j	|dtjfd}tjjd|5||}|jtj|d|_|jtj||jtj||dddy#1swYyxYw)	NTkwonlycyrr"r%rr}	kwonlyreqrr<s      rrzITestSignatureObject.test_signature_from_functionlike_object.<locals>.funcrrceZdZdZdZy)MTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclikec|j|_|j|_|j|_|j|_|j|_||_yrrLrr__defaults____kwdefaults__rrUrs  rrzVTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclike.__init__I $


 $


'+';';$$($5$5!&*&9&9# 	rc&|j|i|Srr;r;s   rrzVTestSignatureObject.test_signature_from_functionlike_object.<locals>.funclike.__call__ tyy$1&11rNrLrarbrrr"rrfuncliker

!
2rrrJc.t|dry|S)N_builtinmockTr)rX_orig_isdescs r_isdesczLTestSignatureObject.test_signature_from_functionlike_object.<locals>._isdesc6ssN+$$rzinspect.ismethoddescriptor)
rOr
from_callabler1rrr[rrrrTrrK)	rUrrsig_funcsig_funclikeflrbuiltin_funcrs	        @r'test_signature_from_functionlike_objectz;TestSignatureObject.test_signature_from_functionlike_objectsG$(		2	2 $$2248((66x~Fx0(($8x0
d^O+ 	!11	%
]]
 
 !=w
G	H#D>LW77EF(,L%OOG66|DEW..|<hG
	H	H	Hs
5A=E;;FcdddGfdd}|jttj|dy)NTr|cyrr"rs      rrzCTestSignatureObject.test_signature_functionlike_class.<locals>.funcGrrceZdZdZWjZWjZWj
ZWjZWjZy)GTestSignatureObject.test_signature_functionlike_class.<locals>.funclikecyrr")rUmarkers  rrzPTestSignatureObject.test_signature_functionlike_class.<locals>.funclike.__init__KrrN)rLrarbrrrrrr;srrrJs=
}}H}}H"22O,,L!00Nrrz(marker))r1rrOr)rUrrs  @r!test_signature_functionlike_classz5TestSignatureObject.test_signature_functionlike_classCs9%)		1	1	
W..x89:FrcGdd}|j|j|jdtf|j|j|jd|j|j|d|jtd5|j|dddy#1swYyxYw)Nc,eZdZdZddefdZdZdZy):TestSignatureObject.test_signature_on_method.<locals>.Testcyrr"r<s rrzCTestSignatureObject.test_signature_on_method.<locals>.Test.__init__Xrrrcyrr"rUrqrrs   rrz=TestSignatureObject.test_signature_on_method.<locals>.Test.m1Zrrcyrr"r<s rm2z=TestSignatureObject.test_signature_on_method.<locals>.Test.m2\rrcyrr"rs rrzCTestSignatureObject.test_signature_on_method.<locals>.Test.__call__^rrNr,)rLrarbrrrrrr"rrrrWs

#


rrrq..r.)rrr,.r.rHzinvalid method signature)r1rrrrrrk)rUrs  rtest_signature_on_methodz,TestSignatureObject.test_signature_on_methodVs			
		2F	 
	
		2	 	
-	 
#
#J0J
K	#NN46"	#	#	#s(CCcGdd}tj|jd}|j|j	|dt
fy)NceZdZddefdZy)ETestSignatureObject.test_signature_wrapped_bound_method.<locals>.Testrcyrr"rs   rrzHTestSignatureObject.test_signature_wrapped_bound_method.<locals>.Test.m1trrNr)rLrarbrrr"rrrrss
#
rrcyrr"r?s  rm1dzDTestSignatureObject.test_signature_wrapped_bound_method.<locals>.m1dvrrr)rrrr1rr)rUrrs   r#test_signature_wrapped_bound_methodz7TestSignatureObject.test_signature_wrapped_bound_methodqsV		
	#	
$	,F	 rcGdd}|j}|j|j|d|j}|j|j|dy)Nc"eZdZedddZy)?TestSignatureObject.test_signature_on_classmethod.<locals>.Testr,)rrcyrr")rrqrrs   rr.zCTestSignatureObject.test_signature_on_classmethod.<locals>.Test.foorrN)rLrarbrr.r"rrrrs
'(

rr))r)rrr,.r2.r.r1rrUrmeths   rtest_signature_on_classmethodz1TestSignatureObject.test_signature_on_classmethod~`		
vzz-	 
xx-	 rcGdd}|j}|j|j|d|j}|j|j|dy)NceZdZedZy)@TestSignatureObject.test_signature_on_staticmethod.<locals>.Testcyrr")rrss  rr.zDTestSignatureObject.test_signature_on_staticmethod.<locals>.Test.foorrN)rLrarbrr.r"rrrrs


rr)))r..r.)rs..r2.rrs   rtest_signature_on_staticmethodz2TestSignatureObject.test_signature_on_staticmethodrrcddlm}d}|j|j||d|j	t
d5t
j||dddd|j	t
d5t
j||ddddd}|j|j||d	|j|j||dd
|j|j||ddd
|j|j||ddd|j|j||dddd|j|j||ddd}|j|j||dd|j|j||dd|j|j||dddd|j|j||ddddd|j|j||dddddd|j|j||dd|j|j||ddddtddfd }t
j|x}|_|j|j|||dd!dd"td#ffdf|j|j|||dddd"td#ffdfd$}|||d%d&}|j|j|d'|j|d&d(}|||dd&d)}|j|j|d*|j|d%d+d,}|||d&d&-d%d).}|j|j|d/t
j|jd0d12}|j||ji|jd3dBd4}||d5}t
j|jd1}|j||ji|jd6t
j|jd1d7}|j||ji|jd8t
j|jd1d7}|j||ji|jd8t
j|jd7}|j||ji|jd9||d%d&}t
j|jd7}|j||ji|jd:d;}t
j|}|jt|d<|j|j||dd=|j|j||ddd>|j|j||dddd?|j|j||dddd@|j|j||dddAy#1swYxYw#1swYxYw)CNr)rcyrr"r"rrrz;TestSignatureObject.test_signature_on_partial.<locals>.testrrr(has incorrect argumentsr,rcyrr"rts    rrz;TestSignatureObject.test_signature_on_partial.<locals>.testrr))r-r..r.r..r2rs..r2.))rrr.r-r))rrr-.r2r.)rr))r-rr,.r2rr.))rrr.))r%r,.r2r..r2rr.cyrr")r%rrr<s    rrz;TestSignatureObject.test_signature_on_partial.<locals>.testrr))rIrrK.))rrrK.rbTr)rr))rIrr.r2rK.r))r-rIrrK.)rrrrrcyrr"rs   rrz;TestSignatureObject.test_signature_on_partial.<locals>.test	rrr.r.c|Srr"rs rr.z:TestSignatureObject.test_signature_on_partial.<locals>.foosHrr=)))r%r.r2.c|||fSrr"rs   rr.z:TestSignatureObject.test_signature_on_partial.<locals>.foo!
a7NrrP)))rrP.r2r.)r,rPr=c||||fSrr"rts    rr.z:TestSignatureObject.test_signature_on_partial.<locals>.foo+saA:r)rsr)rrs))r-)rr=.r2)rr.r2)rsrP.r2.rir)rrirrPc|||fSrr"rs   rr.z:TestSignatureObject.test_signature_on_partial.<locals>.foo8rrrd)rir-rdrH)rirHrd)r,rHrd)rHr=rcyrr")r%rrrsr<s     rr.z:TestSignatureObject.test_signature_on_partial.<locals>.fooMrrz(a, b, /, c, d, **kwargs)))r..positional_onlyr..r.rs..r.rK.))rrrK.))rrK.))rrb.r2rrK.))rrrrK.ru)
rrr1rrrkrOrrbindrr<r)rUrrrr._foobas       rtest_signature_on_partialz-TestSignatureObject.test_signature_on_partials%		

6	B

#
#J0I
J	0gdA./	0
#
#J0I
J	2gda01	2		

6	 	
a(89	 	
a1(=>	 	
Q(?@	 	
a1(BC	 	
(:;	 		
a(89	 	
(:;	 	
aA(>?	 	
aAD(IJ	 	
aAA(KL	 	
(:;	 	
(BC	 			$+#4#4T#::d a0@(ABCc+BCE	
	
a0@!(DEc+BCE		wsb)R0-	 
	
$	wsA,3-	 	
[1	wsbB/2<-	 

t
$
)
)C2
)
6rww4"))46GH	sb!


t
$
)
)B
)
/rww4"))4kB


t
$
)
)"b
1rww4"))4lC


t
$
)
)"
)
3rww4"))4lC


t
$
)
)B
)
/rww4"))4kBtrR(


t
$
)
)"
-rww4"))4lC	$S#>?Q8		
Q(:;		
Q1(=>	
	
QQ(?@		
Q!(<=	A	0	0	2	2s]]]]cddlmGfdd}|jtd5t	j
|jdddGfdd}|j|j|jdd	|j|j|jdd
Gfdd}|j|j|jddy#1swYxYw)
NrrGc&eZdZdZWeZy)ATestSignatureObject.test_signature_on_partialmethod.<locals>.Spamcyrr"r"rrrzFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.testurrNrLrarbrrrsrSpamrts
%Crrrc,eZdZddZWedZy)rcyrr")itr%rs   rrzFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.test}rrr,rN)rrxrrsrrzATestSignatureObject.test_signature_on_partialmethod.<locals>.Spam|s
*CrFr)))r..r.r-rr,.r2rx))r-rrxc*eZdZddZWedZy)rcyrr"rs  rrzFTestSignatureObject.test_signature_on_partialmethod.<locals>.Spam.testrrr,N)rUanno)rLrarbrrursrrzATestSignatureObject.test_signature_on_partialmethod.<locals>.Spams
dA&Ar)))rU.rr..)	rrGrrkrOrrr1ru)rUrrGs  @rtest_signature_on_partialmethodz3TestSignatureObject.test_signature_on_partialmethodqs+	&	&

#
#J0I
J	(dhh'	(	+	+
	
5A"	#	


UC"	#
	'	'	
?	 3	(	(s C77Dctd}d|_|jttj|dy)Ncyrr"rs rr.zETestSignatureObject.test_signature_on_fake_partialmethod.<locals>.foorrrxz(a))_partialmethodr1rrOrrUr.s  r$test_signature_on_fake_partialmethodz8TestSignatureObject.test_signature_on_fake_partialmethods-#W..s34e<rcdGfdd}|j}|j|j|jd|j|j|jd|j|j|jdd|j|j|dd	Gfd
d}|j|j|jd|j|j|jdd}|j|_|j|j|dy)
NcPtjdtffd}|S)Nrc|i|Srr"rjs  rrzSTestSignatureObject.test_signature_on_decorated.<locals>.decorator.<locals>.wrapperrkrrlrms` rrnzBTestSignatureObject.test_signature_on_decorated.<locals>.decoratorrorc eZdZWdZy)<TestSignatureObject.test_signature_on_decorated.<locals>.Foocyrr"rUr%rs   rr&z@TestSignatureObject.test_signature_on_decorated.<locals>.Foo.barrrN)rLrarbr&rnsrrxr


rrx))rU..r.r-r.))r-r.FrrrJctjdtffd}tj}t|jjdd}|j||_	|S)Nrcdg|i|SrAr"rjs  rrzSTestSignatureObject.test_signature_on_decorated.<locals>.decorator.<locals>.wrappersB0000rr,r)
rrrrOrrr4rrr)rrr
new_paramss`   rrnzBTestSignatureObject.test_signature_on_decorated.<locals>.decoratorsk
__T
"
1C
1#
1##D)Cs~~4467;J$'KK:K$FG!Nrc eZdZWdZy)rcyrr"rs   rrzETestSignatureObject.test_signature_on_decorated.<locals>.Foo.__call__rrNrrsrrxz<TestSignatureObject.test_signature_on_decorated.<locals>.Foorr)r.cyrr"r"rrwrapped_foo_callzITestSignatureObject.test_signature_on_decorated.<locals>.wrapped_foo_callrr)r&r1rr__wrapped__)rUrxr&rrns    @rtest_signature_on_decoratedz/TestSignatureObject.test_signature_on_decorateds>			
		"0	 	
		2	 
	
F	 	
,	 			
	
5	 
	
7	 
	'*||$(89	 rc"Gdd}|j|j|dGddt}Gdd|}|j|j|dGddt}Gd	d|}|j|j|d
|j|j|dGdd
t}Gddt|}Gdd|}|j|j|d|j|j|d|j|j|d
Gddt}Gdd|}|j|j|dy)NceZdZdZy)6TestSignatureObject.test_signature_on_class.<locals>.Ccyrr"rUr%s  rrz?TestSignatureObject.test_signature_on_class.<locals>.C.__init__rrNrLrarbrr"rrrrrrr)r-.ceZdZdZy)7TestSignatureObject.test_signature_on_class.<locals>.CMcyrr")rr%s  rrz@TestSignatureObject.test_signature_on_class.<locals>.CM.__call__rrNrr"rrrrrrrceZdZdZy)rcyrr"rUrs  rrz?TestSignatureObject.test_signature_on_class.<locals>.C.__init__rrNrr"rrrz6TestSignatureObject.test_signature_on_class.<locals>.Crrrc$eZdZddfd
ZxZS)rr,rc(t|||||Srr'rmclsrbasesdctr.r)s     rrz?TestSignatureObject.test_signature_on_class.<locals>.CM.__new__wtT5#>>rrLrarbrr1r2s@rrz7TestSignatureObject.test_signature_on_class.<locals>.CM78
?
?rceZdZdZy)rcyrr"rs  rrz?TestSignatureObject.test_signature_on_class.<locals>.C.__init__rrNrr"rrrz6TestSignatureObject.test_signature_on_class.<locals>.Crrr))r..r.r..r.r..r.)r.r,.r2.c*eZdZddfd
ZdZxZS)8TestSignatureObject.test_signature_on_class.<locals>.CMMr,rc(t|||||Srrrs     rrz@TestSignatureObject.test_signature_on_class.<locals>.CMM.__new__

rrct|||Sr)r)rnmbsdts    rrzATestSignatureObject.test_signature_on_class.<locals>.CMM.__call__
sBB''r)rLrarbrrr1r2s@rCMMr'	
s78
?
(rr-c$eZdZddfd
ZxZS)rr-r&c(t|||||Srr)rrrrr&r)s     rrz?TestSignatureObject.test_signature_on_class.<locals>.CM.__new__
rrrr2s@rrz7TestSignatureObject.test_signature_on_class.<locals>.CM
r rceZdZdZy)rcyrr"rs  rrz?TestSignatureObject.test_signature_on_class.<locals>.C.__init__
rrNrr"rrrz6TestSignatureObject.test_signature_on_class.<locals>.C
rr)))r*..r.)r+..r.)r,..r..c$eZdZddfd
ZxZS)rr-r/c&t||||Srr'r)rrrrr&r)s     rrz@TestSignatureObject.test_signature_on_class.<locals>.CM.__init__'
sw'eS99rrLrarbrr1r2s@rrz7TestSignatureObject.test_signature_on_class.<locals>.CM&
s78
:
:rceZdZdZy)rcyrr"rs  rrz?TestSignatureObject.test_signature_on_class.<locals>.C.__init__*
rrNrr"rrrz6TestSignatureObject.test_signature_on_class.<locals>.C)
rr))r#r$r%)r&r-.r2.)r1rr)rUrrr-s    rtest_signature_on_classz+TestSignatureObject.test_signature_on_classsz			
*	 			"		
*	 	?	?	"		
*	 	
+	 	($	(
	?	?	"		
,	 	
+	 	
*	 	:	:	"		
+	 rc Gdd}Gdd|}Gdd|}Gdd|}|j|j|d	|j|j|d
|j|j|dy)NceZdZddZy)9TestSignatureObject.test_signature_on_subclass.<locals>.Ac,tj|Srrr)rr%rr<s    rrzATestSignatureObject.test_signature_on_subclass.<locals>.A.__new__6
~~c**rNrrLrarbrr"rrrSr<5

+rrSceZdZdZy)9TestSignatureObject.test_signature_on_subclass.<locals>.Bcyrr"rs  rrzBTestSignatureObject.test_signature_on_subclass.<locals>.B.__init__9
rrNrr"rrrVrC8
rrrVceZdZddZy)9TestSignatureObject.test_signature_on_subclass.<locals>.Cc,tj|Srr>)rr%rrr<s     rrzATestSignatureObject.test_signature_on_subclass.<locals>.C.__new__<
r?rNr,r-r@r"rrrrF;
rArrceZdZy)9TestSignatureObject.test_signature_on_subclass.<locals>.DNrr"rrr[rJ>
r*rr[r))r%r,.r.rr-.r.rIrK.))rKrIrK.r))rUrSrVrr[s     rtest_signature_on_subclassz.TestSignatureObject.test_signature_on_subclass4
s	+	+			+	+			
*	 	
*	 	
*	 rcddlm}m}|d}Gdd||}|j|j	|ddt
dffdfy)	Nr)GenericTypeVarr,ceZdZdeddfdZy)ATestSignatureObject.test_signature_on_generic_subclass.<locals>.Ar%rNcyrr"rs  rrzJTestSignatureObject.test_signature_on_generic_subclass.<locals>.A.__init__V
rr)rLrarbrrr"rrrSrRU
s
S
T
rrSr%.r2)typingrOrPr1rr)rUrOrPr,rSs     r"test_signature_on_generic_subclassz6TestSignatureObject.test_signature_on_generic_subclassP
sP+CL	
		
*c>:< 	!rcZGdd}|jttj|dGdd|}|jttj|dGddt}Gdd|}|jtd5|jtj|dddd|jtd5|jtj|ddddy#1swYNxYw#1swYyxYw)	NceZdZyCTestSignatureObject.test_signature_on_class_without_init.<locals>.CNrr"rrrrYa
rrrrceZdZyCTestSignatureObject.test_signature_on_class_without_init.<locals>.DNrr"rrr[r\c
rrr[ceZdZyrXrr"rrrzCTestSignatureObject.test_signature_on_class_without_init.<locals>.Cg
rrceZdZyr[rr"rrr[zCTestSignatureObject.test_signature_on_class_without_init.<locals>.Dh
rrzcallable.*is not supported)r1rrOrrrrk)rUrr[s   r$test_signature_on_class_without_initz8TestSignatureObject.test_signature_on_class_without_init]
s	
W..q12D9W..q12D9	

#
#J0L
M	9W..q148	9

#
#J0L
M	9W..q148	9	9	9	9	9	9s"&D&&D!D!D*cd}|jttjtj
|Gddtj
}Gdd}Gdd||}|jttj|||jttj||Gdd	|}|jttj|d
Gddt}Gd
d||}|jttj|dy)Nz=(file, protocol=None, fix_imports=True, buffer_callback=None)ceZdZy)>TestSignatureObject.test_signature_on_builtin_class.<locals>.PNrr"rrr
rbu
rrr
ceZdZy)GTestSignatureObject.test_signature_on_builtin_class.<locals>.EmptyTraitNrr"rr
EmptyTraitrdv
rrreceZdZy)?TestSignatureObject.test_signature_on_builtin_class.<locals>.P2Nrr"rrP2rgw
rrrhceZdZdZy)?TestSignatureObject.test_signature_on_builtin_class.<locals>.P3cyrr")rUrxs  rrzHTestSignatureObject.test_signature_on_builtin_class.<locals>.P3.__init__|
rrNrr"rrP3rj{
rrrlz(spam)ceZdZdZy)BTestSignatureObject.test_signature_on_builtin_class.<locals>.MetaPcyrr")rr.r&s   rrzKTestSignatureObject.test_signature_on_builtin_class.<locals>.MetaP.__call__
rrNrr"rrMetaPrn
rrrpceZdZy)?TestSignatureObject.test_signature_on_builtin_class.<locals>.P4Nrr"rrP4rr
r*rrsrz
(foo, bar))r1rrOrrrr)rUr]r
rerhrlrprss        rtest_signature_on_builtin_classz3TestSignatureObject.test_signature_on_builtin_classn
s,W..w?@(K&&%Q%W..q12H=W..r23X>			
W..r23X>	D		u	W..r23\BrcRGdd}|j|j|dGdd}|jtd5t	j|dddGdd||}|j|j|dGd	d
}d|_|j|j|d||_|jtd5|j|dddy#1swYxYw#1swYyxYw)
NceZdZdZy)CTestSignatureObject.test_signature_on_callable_objects.<locals>.Foocyrr"rs  rrzLTestSignatureObject.test_signature_on_callable_objects.<locals>.Foo.__call__
rrNrr"rrrxrw
rrrxrceZdZy)DTestSignatureObject.test_signature_on_callable_objects.<locals>.SpamNrr"rrrrz
r*rrryceZdZy)CTestSignatureObject.test_signature_on_callable_objects.<locals>.BarNrr"rrr(r|
r*rr(ceZdZy)GTestSignatureObject.test_signature_on_callable_objects.<locals>.WrappedNrr"rrWrappedr~
r*rrcyrr"rs rrzHTestSignatureObject.test_signature_on_callable_objects.<locals>.<lambda>
rrwrapper loop)r1rrrrOrrk)rUrxrr(rs     r"test_signature_on_callable_objectsz6TestSignatureObject.test_signature_on_callable_objects
s			
.	 		

#
#I/I
J	&df%	&	$		
.	 		,0	 &

#
#J
?	$NN7#	$	$%	&	&$	$	$sD6DDD&cJ|j|jdddy)Nc|Srr"rs rrz?TestSignatureObject.test_signature_on_lambdas.<locals>.<lambda>
sar)))r%r=.r..r9r)r_s rtest_signature_on_lambdasz-TestSignatureObject.test_signature_on_lambdas
s 9	 rc	jtjjtjjtjj	fD]K}|j|5|j
ttj|ddddMy#1swYXxYw)Nrz(*args, **kwargs))
rrrr	MagicMockrr1rrOrrUrs  rtest_signature_on_mocksz+TestSignatureObject.test_signature_on_mocks
s
MM MM##%MM##%
	TD
4(
T  W%6%6t%<!=?RS
T
T	T

T
Ts//B))B2	cRtjjtjjfD]P}|j	|5|jt5tj|ddddddRy#1swYxYw#1swYixYw)Nr)	rrNonCallableMockNonCallableMagicMockrrrrOrrs  r#test_signature_on_noncallable_mocksz7TestSignatureObject.test_signature_on_noncallable_mocks
sMM))+MM..0
	,D4(
,&&y1,%%d+,
,
,		,
,,
,
,s$B(B>BBBB&	cdtdtfd}|jtj|dk(|jtj|dk7|jtj|tk(|jtj|tk7dtdtfd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|dtdtfd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|dtfd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|dddtdtfd	}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|dtfd
}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|dtdtfd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|dtdtfd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|d
}d}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|ddd}ddd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|ddd}ddd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|d}ddd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|dddtfd}dddtfd}|jtj|tj|k(|jtj|tj|k7|jttj|ttj|y)Nrrcyrr"rs  rr.z8TestSignatureObject.test_signature_equality.<locals>.foo
rrrcyrr"rs  rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrcyrr"rs  rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrcyrr"rs  rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrrcyrr"rs  rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrcyrr"r%rs  rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrcyrr"rs  rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrcyrr"rr%s  rrxz9TestSignatureObject.test_signature_equality.<locals>.spam
rrcyrr"rs   rr.z8TestSignatureObject.test_signature_equality.<locals>.foo
rrcyrr"rrr%s   rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrr,rcyrr"rs   rr.z8TestSignatureObject.test_signature_equality.<locals>.foo
rrcyrr"rs   rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrcyrr"posr%rrs    rr.z8TestSignatureObject.test_signature_equality.<locals>.foo
rrcyrr"rrrr%s    rr&z8TestSignatureObject.test_signature_equality.<locals>.bar
rrcyrr"rs    rr.z8TestSignatureObject.test_signature_equality.<locals>.foorrcyrr"rs    rr&z8TestSignatureObject.test_signature_equality.<locals>.barrrr<cyrr")rr%rrrr<s      rr.z8TestSignatureObject.test_signature_equality.<locals>.foorrcyrr")rrrr%rr<s      rr&z8TestSignatureObject.test_signature_equality.<locals>.barrr)
rr3rTrOrrKrr1hashr)rUr.r&rxs    rtest_signature_equalityz+TestSignatureObject.test_signature_equality
sX+++**3/256))#."45))#.);<**3/9<=+++))#.'2C2CC2HHI**3/73D3DS3IIJ""3'($w/@/@/E*F	H	*))**3/73D3DS3IIJ))#.'2C2CC2HHI""3'($w/@/@/E*F	H	#"**3/73D3DS3IIJ))#.'2C2CC2HHI""3'($w/@/@/E*F	H..5.**3/73D3DS3IIJ))#.'2C2CC2HHI""3'($w/@/@/E*F	H	(E'**3/73D3DS3IIJ))#.'2C2CC2HHI""3'($w/@/@/E*F	H	)S(U(**3/73D3DS3IIJ))#.'2C2CC2HHI""3'($w/@/@/E*F	H)3)e)**40G4E4Ec4JJK))$/73D3DS3IIJ""4()40A0A#0F+G	I	"!))#.'2C2CC2HHI**3/73D3DS3IIJ""3'($w/@/@/E*F	H##))#.'2C2CC2HHI**3/73D3DS3IIJ""3'($w/@/@/E*F	H( !())#.'2C2CC2HHI**3/73D3DS3IIJ""3'($w/@/@/E*F	H	' !(**3/73D3DS3IIJ))#.'2C2CC2HHI""3'($w/@/@/E*F	H!;;$&;;))#.'2C2CC2HHI**3/73D3DS3IIJ""3'($w/@/@/E*F	Hrc
tj}tj}d}tj|}||d|jg}|jt
|t
||jt
|t
|jddd}|jt
|t
tj|ifd}|jtd	5t
tj|ddddifd
}|jtd	5t
tj|dddy#1swYMxYw#1swYyxYw)Ncyrr"rs rr.z8TestSignatureObject.test_signature_hashable.<locals>.foorrr%rrxrrcyrr"rs rr&z8TestSignatureObject.test_signature_hashable.<locals>.barrrcyrr"rs rr.z8TestSignatureObject.test_signature_hashable.<locals>.foo"rrunhashable typecyrr"rs rr.z8TestSignatureObject.test_signature_hashable.<locals>.foo&rr)rr,)rOrrrPOSITIONAL_OR_KEYWORDr1rrrrr)rUr	r
r.foo_sig
manual_sigr&s       rtest_signature_hashablez+TestSignatureObject.test_signature_hashables9##C(1S!*A*A#B"CD
gZ(89DM !3!3f!3!MN	P	DM40A0A#0F+GH

#
#I/@
A	)""3'(	)	b

#
#I/@
A	)""3'(	)	)		)	)	)	)sE-E9-E69Fcddddtddfd}|jttj|dddddtddfd}|jttj|dd	}|jttj|d
dt
tdtttffd}|jttj|dd
dlm	}dt
td|ttffd}|jttj|dy)Nrr%rrcyrr"r%rrr<s    rr.z3TestSignatureObject.test_signature_str.<locals>.foo+rrz*(a: int = 1, *, b, c=None, **kwargs) -> 42cyrr")r%rrrr<s     rr.z3TestSignatureObject.test_signature_str.<locals>.foo0rrz.(a: int = 1, *args, b, c=None, **kwargs) -> 42cyrr"r"rrr.z3TestSignatureObject.test_signature_str.<locals>.foo5rrrcyrr"rs rr.z3TestSignatureObject.test_signature_str.<locals>.foo9rrz#(a: list[str]) -> tuple[str, float]r)Tuplecyrr"rs rr.z3TestSignatureObject.test_signature_str.<locals>.foo?rrz#(a: list[str]) -> Tuple[str, float]r)
rr1rrOrrrr3rTr)rUr.rs   rtest_signature_strz&TestSignatureObject.test_signature_str*s0		#	B	W..s34E	G	T	#		W..s34I	K	W..s34d;	49	sEz!2	W..s34>	@	!	49	sEz!2	W..s34>	@rc&tj}tj}d}|jt	tj
|d|jt	||d|jgd|jt	||d|j|d|jgd|jt	||d|j|d|jgdy)	Nc
||fSrr")a_porr<s   rrzDTestSignatureObject.test_signature_str_positional_only.<locals>.testH<rz(a_po, /, *, b, **kwargs)r.rz(foo, /)r&z(foo, /, **bar)z(foo, /, *bar))	rOrrr1rrrrlVAR_POSITIONAL)rUr
r	rs    r"test_signature_str_positional_onlyz6TestSignatureObject.test_signature_str_positional_onlyDs	 	
W..t454	6	
Q1UA4E4E+F*GHI#	%	
Q !%):): ; !% 7+9:;+	,
	
Q !%):): ; !%)9)9 :+<=>*	+rcdd}tj|}|jd}|j|jd|j|j
}|j|j|j
|jd}|j
|jd|j
|tj|y)Nrcyrr"r"rrrz=TestSignatureObject.test_signature_replace_anno.<locals>.test\rrr)rr)rOrrrQrrr1r$s   rtest_signature_replace_annoz/TestSignatureObject.test_signature_replace_anno[s	%kkDk1

c++T2kkCIIk6

c++SYY7kkBk/..3g//56rcd}tjdtjj}tj|fx}|_|j|tj|y)Ncyrr"r"rrrz9TestSignatureObject.test_signature_replaced.<locals>.testirrrxr)rOrrrrr1r)rUrrrs    rtest_signature_replacedz+TestSignatureObject.test_signature_replacedhs\	&&vw/@/@/P/PQ
#*#4#4
#NNd g//56rcGdd}Gdd|}|j|j|jd|j|j|j|j|jy)NceZdZdddddZy)FTestSignatureObject.test_signature_on_mangled_parameters.<locals>.Spamrb)	_Spam__p2cyrr")rU	_Spam__p1rs   rr.zJTestSignatureObject.test_signature_on_mangled_parameters.<locals>.Spam.foorrrN)r-)rr,rr-r
r"rrrrqs
a
rrceZdZy)ETestSignatureObject.test_signature_on_mangled_parameters.<locals>.HamNrr"rrHamrtr*rr))r)rr-r,r.)rrbr-r2.)r1rr.)rUrrs   r$test_signature_on_mangled_parametersz8TestSignatureObject.test_signature_on_mangled_parameterspsk			$		
1	 	
10	2rcGddtj}dd}|j|}|j||y)NceZdZy)PTestSignatureObject.test_signature_from_callable_python_obj.<locals>.MySignatureNrr"rrrrrrrcyrr"rs  rr.zHTestSignatureObject.test_signature_from_callable_python_obj.<locals>.foorrrr,rOrrassertIsInstancerUrr.rs    r'test_signature_from_callable_python_objz;TestSignatureObject.test_signature_from_callable_python_objs32'++2 ++C0g{3rcGddtj}Gdd}|j|}|j||y)NceZdZy)KTestSignatureObject.test_signature_from_callable_class.<locals>.MySignatureNrr"rrrrrrrceZdZy)CTestSignatureObject.test_signature_from_callable_class.<locals>.fooNrr"rrr.rrrr.rrs    r"test_signature_from_callable_classz6TestSignatureObject.test_signature_from_callable_classs52'++2++C0g{3rcGddtj}|jtj}|j||y)NceZdZy)QTestSignatureObject.test_signature_from_callable_builtin_obj.<locals>.MySignatureNrr"rrrrrrr)rOrrrrr)rUrrs   r(test_signature_from_callable_builtin_objz<TestSignatureObject.test_signature_from_callable_builtin_objs6	3'++2''8c;/rcZtD]Z}tj|}t|j}t|}|j
||j||\tjt}t|j}|j|tyr)
r;rOrrr4rrKr1rDrrs     r3test_signature_definition_order_preserved_on_kwonlyzGTestSignatureObject.test_signature_definition_order_preserved_on_kwonlysGI	*B))"-IY))*AayHOOAQ)	*%%&IJ	%%&<=rctjdj}tjdj}|j||y)Ncyrr"rs  rrzITestSignatureObject.test_signater_parameters_is_ordered.<locals>.<lambda>rrcyrr"rs  rrzITestSignatureObject.test_signater_parameters_is_ordered.<locals>.<lambda>rr)rOrr4r)rUp1p2s   r#test_signater_parameters_is_orderedz7TestSignatureObject.test_signater_parameters_is_ordereds@


0
1
<
<


0
1
<
<B#rclGdd}d|dtfd}d|dddtfd}tjtjjfD]U}|j|	5||}|j
|jt|j
|jdj|||t
}|j
|jt|j
|jdj|||dtit}|j
|jt|j
|jdj||j
|jdjddddXy#1swYdxYw)NceZdZy)QTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.FooNrr"rrrxrrrrxr.rcyrr"rs rrzRTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.funcrrr&r(cyrr"r.r&s  rfunc2zSTestSignatureObject.test_signature_annotations_with_local_namespaces.<locals>.func2rrsignature_func)rp)rrp)rrOrrrrr1rr4rrp)rUrxrrrsig1rsig3s        r0test_signature_annotations_with_local_namespaceszDTestSignatureObject.test_signature_annotations_with_local_namespacesse'c'c'4s4434&00'2C2C2Q2QR
	KN~>
K%d+  !7!7=  !7!B!BCH%d68<  !7!7=  !7!B!BCH%eeS\&(S  !7!7=  !7!B!BCH  !7!B!BEJ
K
K
	K
K
Ks
%D8F))F3	cjt}tj}tj}tjj}tj
tjjfD]}|j|5|j||j||d||d|f|j||j|d|d|d|d|df	|j||j|d|d|d|d|d
|d|df	|j||j||d|d|d|d
|d|d
f|j||j||j||j||d||d||d|f|j||jd||d||d|f|j||jd||j|d|t|d|t f	|j||jd||j|d|t|d|d|d||jf	|j||jd||d|d|d|d|d|dft"t$d}t&t(d}|j+t,5||jd|ddd|j||jd||t(|d|t|d|t&f	|j||jd|||t(|d|t"|d|t&f	dddy#1swYxYw#1swYxYw)Nrr%rrrrrr)rr4rrrrTr)rr)rrrr)rrrp)rrOrrrrrrr1rrVrrrrrrr3complexrrr	NameError)rUrrparPORKrglobalnslocalnss        rtest_signature_eval_strz+TestSignatureObject.test_signature_eval_strs,  66&00'2C2C2Q2QRb	N~>a
  "3;;/TNTN$  "3<<0*3Te<Te<$  "3==1*3Te<Tg>Ti@$  "3==1Tg>Tg>TkB$  0D0D!EsuM  0H0H!ITNTNTN$  "3;;>TNTN$  "3<<$?*-++Tc:Tc:$  "3==4@*-++Tc:Te<TckkB$  "3==4@Te<Te<Ti@$$)9"'D9&&y1R"3<<$QR  "3<<$wO*.Tc:Te<$  "3<<$Y`a*.Te<Te<$ua
a
b	^RR]a
a
s&KP(P-B#P(P%!P((P2	cGdd}d}||}d|_tjtjjfD]G}|j|5|j
||tjdddI|j
tj|iy#1swYyxYw)NceZdZdZdZy)DTestSignatureObject.test_signature_none_annotation.<locals>.funclikec|j|_|j|_|j|_|j|_|j|_||_yrrrs  rrzMTestSignatureObject.test_signature_none_annotation.<locals>.funclike.__init__'rrc&|j|i|Srr;r;s   rrzMTestSignatureObject.test_signature_none_annotation.<locals>.funclike.__call__/rrNrr"rrrr	"rrrcyrr"r"rrr.z?TestSignatureObject.test_signature_none_annotation.<locals>.foo2rrr)rrOrrrrr1r)rUrr.rs    rtest_signature_none_annotationz2TestSignatureObject.test_signature_none_annotation!s	2	2 	sm"&00'2C2C2Q2QR	KN~>
K  !4g6G6G6IJ
K
K	K	
005r:
K
Ks+B77C	chd|_Gdd}|j|j|dy)NceZdZdZy)4TestSignatureObject.test_signature_as_str.<locals>.S(a, b=2)N)rLrarbrr"rrr	r
	<s&Mrr	)r-rL.)r2r1rrUr	s  rtest_signature_as_strz)TestSignatureObject.test_signature_as_str:s3	'	'	
*	 rcGdd}|j|j|dGdd}|j|j|dy)NceZdZedZy)9TestSignatureObject.test_signature_as_callable.<locals>.ScyNr	r"rs rrzGTestSignatureObject.test_signature_as_callable.<locals>.S.__signature__G!rN)rLrarbrrr"rrr	r	Fs

"
"rr	r	ceZdZedZy)r	cyr	r"r"rrrzGTestSignatureObject.test_signature_as_callable.<locals>.S.__signature__Qr	rN)rLrarbrrr"rrr	z9TestSignatureObject.test_signature_as_callable.<locals>.SPs

"
"rr)r	s  rtest_signature_as_callablez.TestSignatureObject.test_signature_as_callableDsV	"	"
	
*	 
	"	"
	
*	 rcGdd}Gdd|}Gdd|}|jtj|tj|y)Nc$eZdZfdZdZxZS)@TestSignatureObject.test_signature_on_derived_classes.<locals>.Bc"t||Srr)rUrr<r)s   rrzHTestSignatureObject.test_signature_on_derived_classes.<locals>.B.__new__^swt,,rc||_yr)rrs  rrzITestSignatureObject.test_signature_on_derived_classes.<locals>.B.__init__`s	"
r)rLrarbrrr1r2s@rrVr	]s

-
#rrVceZdZfdZxZS)ATestSignatureObject.test_signature_on_derived_classes.<locals>.D1c$t||yrr5)rUrr)s  rrzJTestSignatureObject.test_signature_on_derived_classes.<locals>.D1.__init__ds 'rr6r2s@rD1r!	cs

(
(rr#	ceZdZy)ATestSignatureObject.test_signature_on_derived_classes.<locals>.D2Nrr"rrD2r%	gr*rr&	)r1rOr)rUrVr#	r&	s    r!test_signature_on_derived_classesz5TestSignatureObject.test_signature_on_derived_classesZsL	#	#	(	(			
**2.0A0A"0EFrN):rLrarbrrr
r!r%r*r/r4r:rLrrr$rrfrurwrzrrrrrrrrrr	r9rMrUr_rtrrrrrrrrrrrrrrrrrr	r
	r	r	r'	r"rrrr	s	I	IJX98	':
 !
 "HFX__)MOICOICVX__)MO:O:(##"3HjG&#6  $ $M^# J=
E PO b 8!X__)MO
9O
9X__)MOCOC.$@ 
T,QHf)0@4+.772 44X__)MO0O0
	>$
K(gR;2  ,GrrcFeZdZdZdZdZdZdZdZe	dZ
dZy	)
TestParameterObjectc|tj}|j|j|jcxkxr3|j
cxkxr!|jcxkxr|jknc|jt|jd|jdt|jvy)Nr)rOrrKrrrKEYWORD_ONLYrlr1rr)rUr
s  rtest_signature_parameter_kindsz2TestParameterObject.test_signature_parameter_kindsns))A,C,CJ((J+,>>J<=MMJ	K	
Q../1BC)T!2C2C-DDErctjddtjj}|j|jd|j|j
d|j
|j|j|j|jtjj|jtd5tjdddddd|jtd5tjdtjjddd|jtd5tjd	tjjddd|jtd
5tjdtjjddd|jtd5tjdtjjddd|jtd5tjd
tjjddd|jtd5tjddtjjddd|jtd5tjddtjjdddtjddtjj}|jtd5|j!tjjddd|j#t%|j'd|j#dt%|vy#1swYxYw#1swYxYw#1swYkxYw#1swY*xYw#1swYxYw#1swYxYw#1swYfxYw#1swY$xYw#1swYxYw)Nr.r=rgrfz)value '123' is not a valid Parameter.kind123znot a valid parameter namerrifromname must be a strzis not a valid parameter name$z.azcannot have default valuesr%rz
<Parameterz"a=42")rOrrr1rrgrQrrrfrrkrlrrrrrKrrrUr6s  rtest_signature_parameter_objectz3TestParameterObject.test_signature_parameter_objectvseeR#*#4#4#D#D
F'B'

allAGG,!2!2!B!BC

#
#J1AB	=eRe<	=
#
#J0L
M	Gc(9(9(E(EF	G
#
#J0L
M	Jf7+<+<+H+HI	J
#
#I/C
D	Hd):):)F)FG	H
#
#J$CE	Gc(9(9(E(EF	G
#
#J$CE	Hd):):)F)FG	H
#
#J0L
M	Bc2#*#4#4#@#@
B	B
#
#J0L
M	Ec2#*#4#4#C#C
E	E
c2#*#4#4#J#J
L

#
#J0L
M	=
II7,,;;I<	=	
Q**<89DG+,G	=	=	G	G	J	J	H	H	G	G	H	H	B	B	E	E	=	=slO0O*0O7,0P:0P0P1P+%1P8$+QO'*O47PPPP(+P58QQc
tj}|d|j}|jt	|t	|d|j|jt	|t	|d|jd|jt	|t	|j
|jy)Nr.rirre)rOrrr1rrrr)rUr
r.s   r!test_signature_parameter_hashablez5TestParameterObject.test_signature_parameter_hashablesA--.cD5q7H7H)I$JKDItAe!:K:K68-:(;	<DI !2B2B!CD	Frc>tj}|ddtjj}|j||k(|j	||k7|j	|dk(|j|dk7|j|t
k(|j	|t
k7|j||ddtjjk(|j	||ddtjjk7y)Nr.rr.	)rOrr+	rKrTr)rUr
r6s   r!test_signature_parameter_equalityz5TestParameterObject.test_signature_parameter_equalitys
eRg&7&7&D&DEQa b!R Y'i(Qub$+$5$5$B$BDD	Ear%,%6%6%C%CEE	FrcHtjddtjj}|j||j	|j||j	|j	d}|j|jd|j	|j}|j|||j	d}|j|jd|j|||jtd5|j	|j}ddd|j	dd	}|j|jd|j|||j	d|j	}|j|j|j|j	d|j}|j|j|j|j|||jtd
5|j	|j}ddd|j	|j}|j||y#1swYMxYw#1swYExYw)Nr.rr.	r,rr&rzname is a required attribute)rrgz<value <class 'inspect._empty'> is not a valid Parameter.kindri)rOrr+	rrr1rrrrrrkrQrgrrf)rUr6rs   r test_signature_parameter_replacez4TestParameterObject.test_signature_parameter_replaceseR#*#4#4#A#A
C	
AIIK(AIIK(
YY!Y
$*
ZZ288Z
,B
ZZUZ
#%(B"

#
#J$BD	+*B	+ZZUDZ
1

bjj$'B"
ZZUBHHZ
5

bjj"((+ZZ)A)AZ
B"":":;B"

#
#J%DE	+*B	+
ZZR__Z
-Q-	+	+ 	+	+s#J7JJJ!c|jtd5tjdtjjdddy#1swYyxYw)Nr1	ri)rrrOrrr_s r(test_signature_parameter_positional_onlyz<TestParameterObject.test_signature_parameter_positional_onlysH

#
#I/C
D	Ld):):)J)JK	L	L	Ls0AAc|jtd5tjdtjjdddtjdtjj
}|j
|jtjj|j
|jdy#1swYxYw)NzYimplicit arguments must be passed as positional or keyword arguments, not positional-onlyz.0ri	implicit0)	rrkrOrrrr1rfr)rUrs  r!test_signature_parameter_implicitz5TestParameterObject.test_signature_parameter_implicits

#
#J%:;	L
d):):)J)JK		L!!w((>>@W%6%6%F%FG[1	L	Ls0CCc&tjdtjj}|jt5d|_ddd|jt5d|_dddy#1swY/xYw#1swYyxYw)Nrxrir&rh)rOrr+	rrr.rfr3	s  r%test_signature_parameter_immutabilityz9TestParameterObject.test_signature_parameter_immutabilitys{f7+<+<+I+IJ


~
.	AE	

~
.	AF						sA;*B;BBN)rLrarbr,	r4	r6	r8	r:	r<	rr?	rA	r"rrr)	r)	ms?F+-ZFF & PL
2
2rr)	czeZdZedZdZdZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZedZdZy)TestSignatureBindctj|}|j|i|}||ji|jSr)rOrrrr<)rrr<rrs     rcallzTestSignatureBind.calls?%
SXXt
&v
&RWW*		**rcd}|j|j|d|jtd5|j|dddd|jtd5|j|ddddd|jtd5|j|ddddy#1swYoxYw#1swYHxYw#1swYyxYw)NcyrAr"r"rrrz9TestSignatureBind.test_signature_bind_empty.<locals>.testsrrtoo many positional argumentsr,r=rB)got an unexpected keyword argument 'spam'r1rE	rrrs  rtest_signature_bind_emptyz+TestSignatureBind.test_signature_bind_emptys		
4"-

#
#I/N
O	IIdA	

#
#I/N
O	(IIdABI'	(

#
#BD	$
IIdI#	$	$				(	(	$	$s#B<,CC<CCCc d}|j|j|dif|j|j|ddif|j|j|dddif|j|j|ddd	dif|j|j|dddd	dif|j|j|d
ddd
if|j|j|ddddd	dify)
Nc
||fSrr"r?s  rrz7TestSignatureBind.test_signature_bind_var.<locals>.testrrr"r,rr-rHr&rr.r=r<rr1rE	rs  rtest_signature_bind_varz)TestSignatureBind.test_signature_bind_vars	 	
42r(34+dBZ84A.=4U3b5%.5IJ46u~8NO4b1B3EF4A59 5%.1	3rc:d}|j|j|dddd|jtd5|j|ddddddd|jtd5|j|dddd|jtd	5|j|ddddd}|j|j|dddd|j|j|ddddd
}|j|j|d
dd|j|j|d
d|j|j|d
dy#1swY%xYw#1swYxYw#1swYxYw)Nc|||fSrr"rs   rrz=TestSignatureBind.test_signature_bind_just_args.<locals>.test"rrr,r-rbrurH	rDz missing a required argument: 'b'z missing a required argument: 'a'r=c|||fSrr"rs   rrz=TestSignatureBind.test_signature_bind_just_args.<locals>.test2rr)r,r-r=c|||fSrr"rs   rrz=TestSignatureBind.test_signature_bind_just_args.<locals>.test7rrrdr)r=r-rdr)r=r-rbr)r,r=rbr9rJ	rs  rtest_signature_bind_just_argsz/TestSignatureBind.test_signature_bind_just_args!sp		
4Aq19=

#
#I/N
O	(IIdAq!Q'	(
#
#I$FH	IIdA	
#
#I$FH	IIdO		4Aq19=4A.
;	424kB42.
;42.
;)	(	(				s#E72F#F7FFFcd}|j|j|d|j|j|ddddy)Nc|Srr"r<s rrzATestSignatureBind.test_signature_bind_varargs_order.<locals>.test>sKrr"r,r-rbrurN	rs  r!test_signature_bind_varargs_orderz3TestSignatureBind.test_signature_bind_varargs_order=s@		
4"-4Aq19=rc
dd}|j|j|dddddd|j|j|ddd|j|j|dd	d
|j|j|ddd|jtd5|j|dddd
dddy#1swYyxYw)Nrbc||||fSrr")r%rrrs    rrzDTestSignatureBind.test_signature_bind_args_and_varargs.<locals>.testEsaD= rr,r-rDr)r,r-rb)rDr)r,r-rbr"r)r-r,rbr"rz multiple values for argument 'c'rrbrJ	rs  r$test_signature_bind_args_and_varargsz6TestSignatureBind.test_signature_bind_args_and_varargsDs	!	
4Aq!Q79JK4A.
>412MB4a0-@

#
#I%GI	*IIdAq!qI)	*	*	*s,CCcd}|j|j|i|j|j|dddddy)Nc|Srr")r<s rrz?TestSignatureBind.test_signature_bind_just_kwargs.<locals>.testRsMrr&rr.rxrN	rs  rtest_signature_bind_just_kwargsz1TestSignatureBind.test_signature_bind_just_kwargsQsH		
4"-4U?!&6	8rc
dd}|j|j|dddddif|j|j|ddddddddddf|j|j|ddddddddddf|j|j|dddd	ddddddf|j|j|dddd
ddddddf|j|j|dddddddddddf|j|j|dddd
dddddif|j|j|ddddddify)Nrbc||||fSrr"rs    rrzCTestSignatureBind.test_signature_bind_args_and_kwargs.<locals>.testZsaF?"rr,r-r&rr^	)rr%r.rx)r%rr.rx)rr.rxrD)rrr.rxrr.r)rr%rrZ	rN	rs  r#test_signature_bind_args_and_kwargsz5TestSignatureBind.test_signature_bind_args_and_kwargsYs	#	
4A.Aq"
>4A5uEQ5%#@A	C41u5IQ5%#@A	C41u5IQ5%#@A	C4aUGQ5%#@A	C4a1%eLQ5%#@A	C4Aqe<QE5>2	441Q7Q2	(rc	d}|jtd5|j|dddd|j|j|ddddd}|jtd5|j|ddddd}|j|j|dd	d
|j|j|ddd
|jtd5|j|ddd
ddd|jtd5|j|ddddd|jtd5|j|ddd	ddd|jtd5|j|dddddd|jtd5|j|ddddd}|j|j|dd	ddif|j|j|ddddif|j|j|dddddddif|j|j|dddddddif|jtd5|j|ddddd|j|j|dddd
dddd
dfy#1swYxYw#1swYfxYw#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swY]xYw#1swYxYw)Nc|Srr"rs rrz:TestSignatureBind.test_signature_bind_kwonly.<locals>.testnJrrH	r,rc|Srr")r%r.r&s   rrz:TestSignatureBind.test_signature_bind_kwonly.<locals>.testure	rz"missing a required argument: 'bar'c
||fSrr"rs  rrz:TestSignatureBind.test_signature_bind_kwonly.<locals>.test{s8Orr-r/rH)r&r.rI	r=)r&r.rxr)r&rxz/missing a required keyword-only argument: 'bar'c|||fSrr")r.r&bins   rrz:TestSignatureBind.test_signature_bind_kwonly.<locals>.testsS= rrrx)rxr.r&z"missing a required argument: 'foo')rxr&)r&ri	rx)ri	rx)rrrE	r1rs  rtest_signature_bind_kwonlyz,TestSignatureBind.test_signature_bind_kwonlyms4	

#
#I%DF	IIdA		
4Q/3	

#
#I%IK	IIdA		42F;4QA6?

#
#BD	3
IIdqrI2	3

#
#I%DF	"IIdAq!	"
#
#I%DF	)IIdAqaI(	)
#
#BD	2
IIdA15I1	2

#
#I&78	
IIdA	
	!42Q2J?4QA6Ar
C4>Q0	24eBQ0	2

#
#I$HJ	/IIdAI.	/	
4qrBQ2 67	9e					3	3
	"	"	)	)	2	2
			/	/s_K4K+0K8$LL
L>L,L9K(+K58LLLL),L69Mc\ddd}tj|}|jdddddd	
}|jt	|j
j
ddd
dddd	dff|j|jdddd	d
|j|jdy)Nrr+cyrr")r%rr+rr<s     rrz=TestSignatureBind.test_signature_bind_arguments.<locals>.testrrr=rrPrhr<)rrrr<r%r=)r)r)rrPr<)rrr<)r=r)	rOrrr1r	argumentsitemsr<rrUrrrs    rtest_signature_bind_argumentsz/TestSignatureBind.test_signature_bind_argumentss #	%
XXb"br"X
=	
r||1134#_i#2rR%HIK	L	
!B"E	G(+rc
dddd}|j|j|dddd	d
dddd	d
if|j|j|dddddddif|j|j|dddd	ddddd	if|jtd5|j|dddd	d
ddd|jtd5|j|dddddd|jtd5|j|dddddy#1swYqxYw#1swYIxYw#1swYyxYw)Nrbrrr/c||||||fSrr")rb_poc_por.r&r<s      rrzCTestSignatureBind.test_signature_bind_positional_only.<locals>.teststS#v55rr,r-rDrrzbut was passed as a keywordr=)r.r&rw	zparameter is positional only)rw	)rrv	)rbrrJ	rs  r#test_signature_bind_positional_onlyz5TestSignatureBind.test_signature_bind_positional_onlysd	6r	6	
4Aq!;Q1a,	.	
4A.Q2r2.	0	
4A1!<Q1a,	.
#
#I/L
M	9IIdAqaQRI8	9
#
#I/M
N	*IIdAqqI)	*
#
#I/M
N	,IIdI+	,	,
	9	9	*	*	,	,s$ D(D4
E(D14D=E	cd}tj|}|jddd}|j|jd|jddd}|j|jdy)Ncyrr")r%rUrs   rrzATestSignatureBind.test_signature_bind_with_self_arg.<locals>.testrrr,r-rbrur)rOrrr1rrr	s    r!test_signature_bind_with_self_argz3TestSignatureBind.test_signature_bind_with_self_argse	%
XXaA
),
XXaa1X
%),rcd}tj|}|jtd5|j	dddddd}|j|j
|ddd	diftj|}|j	d}|j|jd
d	diiy#1swY{xYw)Nc
||fSrr"r%rs  rrz?TestSignatureBind.test_signature_bind_vararg_name.<locals>.testsd7Nrz)got an unexpected keyword argument 'args'rr,r	c
||fSrr"r?s  rrz?TestSignatureBind.test_signature_bind_vararg_name.<locals>.testrrr<r"rr<)rOrrrrr1rE	rp	rr	s    rtest_signature_bind_vararg_namez1TestSignatureBind.test_signature_bind_vararg_names	%

#
#BD	"
HHqqH!	"
	 4a02{2CD%
XX1X
61+'>?	"	"sB==Ccd}|jjd}tj|i}t	td}|j
t|j||hdy)Nc8tdtdDS)Nc3&K|]	}||zywrr")rr+s  rrzWTestSignatureBind.test_signature_bind_implicit_arg.<locals>.make_set.<locals>.<genexpr>s/q1u/sr)rNr/r"rrmake_setzDTestSignatureBind.test_signature_bind_implicit_arg.<locals>.make_sets/eAh///rr,r>rr,rDr9r@)	r	co_constsrFunctionTypeiterr/r1rNrE	)rUr	gencomp_codegencomp_funciterators     r test_signature_bind_implicit_argz2TestSignatureBind.test_signature_bind_implicit_args]	0((2215)),;a>TYY|X>?AQRrcd}tj|}|jdd}|j|jddi|jd|jjy)Nc(||j|fSr)r3)r&r<s  rr.zATestSignatureBind.test_signature_bind_posonly_kwargs.<locals>.foos

3''rpos-onlykeywordr/r&)r&r	)rOrrr1r<rrp	rq	)rUr.rresults    r"test_signature_bind_posonly_kwargsz4TestSignatureBind.test_signature_bind_posonly_kwargssb	($*)4	(:;

)6+;+;+A+A+CDrN)rLrarbrrE	rK	rO	rT	rW	r[	r_	rb	rj	rs	ry	r|	r	rr	r	r"rrrC	rC	sn++
$3<8>*8((69p,,,-@$SSErrC	c0eZdZdZdZdZdZdZdZy)TestBoundArgumentscd}tj|jd}|jtd5t|dddy#1swYyxYw)Ncyrr"rs rr.zITestBoundArguments.test_signature_bound_arguments_unhashable.<locals>.foorrr,r)rOrrrrrrUr.rs   r)test_signature_bound_arguments_unhashablez<TestBoundArguments.test_signature_bound_arguments_unhashablesM


s
#
(
(
+

#
#I/@
A	H			sAAc
d}tj|jd}|j||k(|j	||k7|j|t
k(|j	|t
k7tj|jd}|j||k(|j	||k7tj|jd}|j	||k(|j||k7d|jd<|j||k(|j	||k7d}tj|jd}|j	||k(|j||k7d}tj|}|jdd}|jdd}|j||k(|j	||k7y)	Ncyrr"rs rr.zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.foorrr,r-r%cyrr"rs rr&zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.barrrcyrr"rs  rr.zGTestBoundArguments.test_signature_bound_arguments_equality.<locals>.foorrrr)rOrrrKrTrrp	)	rUr.rba2ba3r&ba4rba1s	         r'test_signature_bound_arguments_equalityz:TestBoundArguments.test_signature_bound_arguments_equalitys


s
#
(
(
+b!r"i(y)$))!,c	"s#$))!,s#c	"

cc	"s#$))!,s#c	"$hhah hhah s
#$rcviddddddifd}tj|}|jdd	i
}ttj
dzD]X}|j
|5t	jt	j||}|j||dddZy#1swYexYw)Nrrr,rrrcyrr"rs    rr.zETestBoundArguments.test_signature_bound_arguments_pickle.<locals>.foo#rrrrPrl	)r)
rOrrr/rrrrrr1)rUr.rrr
ba_pickleds      r%test_signature_bound_arguments_picklez8TestBoundArguments.test_signature_bound_arguments_pickle"s:1:2e*:$
XXb"X
#00145	1C-
1#\\&,,r3*?@
  Z0
1
1	1
1
1s(<B//B8	ciddddddifd}tj|}|jdd	i
}|jt	|dy)Nrrr,rrrcyrr"rs    rr.zCTestBoundArguments.test_signature_bound_arguments_repr.<locals>.foo-rrrrPrl	z <BoundArguments \(a=20,.*\}\}\)>)rOrrassertRegexrrUr.rrs    r#test_signature_bound_arguments_reprz6TestBoundArguments.test_signature_bound_arguments_repr,sO:1:2e*:$
XXb"X
#b#FGrc
Hdiddd}tj|}|jd}|j|j	t|jjddddifd	ifg|jd
ddd}|j|j	t|jjd
dddifd	ddifgd}tj|}|jd}|j|j	t|jjdgd}tj|}|j}|j|j	t|jjgdd}tj|}|j}|j|j	t|jjdgy)Nr,rrcyrr")r%rrrrs     rr.zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.foo3rrr)r%rr)rr"rr=rP)rsro	)rr)r)rPrscyrr"rs  rr.zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.fooFrrcyrr"r"rrr.zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.fooOrrcyrr"rs rr.zMTestBoundArguments.test_signature_bound_arguments_apply_defaults.<locals>.fooVrr)r%rxr)rr,rB)	rOrrapply_defaultsr1rrp	rq	bind_partialr	s    r-test_signature_bound_arguments_apply_defaultsz@TestBoundArguments.test_signature_bound_arguments_apply_defaults2s222$
XXb\
##%&
,b	D":F	HXXb"bAX
&
##%&
	?S"Is1gO	Q	$


b
!
##%&
K	
	$
XXZ
bll0023R8	 $
XXZ
bll0023m_Ercd}tj|jd}|jt	|j
ty)Ncyrr"rs rr.zMTestBoundArguments.test_signature_bound_arguments_arguments_type.<locals>.foo]rrr,)rOrrrQrrp	rr	s   r-test_signature_bound_arguments_arguments_typez@TestBoundArguments.test_signature_bound_arguments_arguments_type\s7


s
#
(
(
+

d2<<($/rN)	rLrarbr	r	r	r	r	r	r"rrr	r	s#%>1H(FT0rr	ceZdZdZdZy)TestSignaturePrivateHelpersc|tj|\}}|j|||j||yr)rO"_signature_strip_non_python_syntaxr1)rUinputclean_signatureself_parametercomputed_clean_signaturecomputed_self_parameters      r_strip_non_python_syntaxz4TestSignaturePrivateHelpers._strip_non_python_syntaxbs?
66u=	$ #1?C0.Arc|jddd|jddd|jddd|jddd|jddd|jd	d	d|jdddy)
NzZ($module, /, path, mode, *, dir_fd=None, effective_ids=False,
       follow_symlinks=True)zR(module, /, path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)rz($module, word, salt, /)z(module, word, salt, /)z(x, y=None, z=None, /)z(x, y=None, z=None)z!(x,
    y=None,
      z = None  )r)r	r_s r&test_signature_strip_non_python_syntaxzBTestSignaturePrivateHelpers.test_signature_strip_non_python_syntaxjs%%
E
=
		
%%&%
	
	
%%$$	
	
%%!!	
	
%%1!	
	
%%	
	
%%	rN)rLrarbr	r	r"rrr	r	as
B$rr	cTeZdZeej
eddZdZdZ	y)TestSignatureDefinitionsrcvt}hd}||z}dh}||z}dh}||z}hd}||z}ddh}||z}t}tt}t|j	D]z\}	}
t|
st
|
tr|	|vr|j|	|	|vr<|j|	5|jtj|
ddd||D]8}	|j|	5|j
jddd:y#1swYxYw#1swYQxYw)N>rr	rvvarsr/slicerrround>maxrar
breakpoint__build_class__r
__import__)r)rNr	rrrq	callablerrrrassertIsNotNonerOrr__text_signature__)rUno_signatureneeds_groups
needs_nullneeds_semantic_update
needs_varargsnot_converted_yettypes_with_signaturesr rrXs           rtest_builtins_have_signaturesz6TestSignatureDefinitions.test_builtins_have_signaturess[u0$Y

"!(	--,

%$\2)) #
(^
+	=ID#C=#t$$6K*K  &$d+
=$$W%6%6s%;<
=
=	= !	:Dd+
:!!#"8"89
:
:	:

=
=
:
:s6%D#<D/#D,	/D8	cd}d|_tj|}|j||j	t|dd|_tj|}|j	t|dd|_tj|}|j	t|dd|_tj|}|j	t|d	d
|_|j
t5tj|dddd|_|j
t5tj|dddd|_|j
t5tj|dddy#1swY~xYw#1swYPxYw#1swYyxYw)
Ncyrr"r?s  rrzNTestSignatureDefinitions.test_python_function_override_signature.<locals>.funcrrz(($self, a, b=1, *args, c, d=2, **kwargs)z*(self, /, a, b=1, *args, c, d=2, **kwargs)z+($self, a, b=1, /, *args, c, d=2, **kwargs)z*(self, a, b=1, /, *args, c, d=2, **kwargs)z"(self, a=1+2, b=4-3, c=1 | 3 | 16)z(self, a=3, b=1, c=19)z(self, a=1,
b=2,


   c=3)z(self, a=1, b=2, c=3)z(self, x=does_not_exist)z(self, x=sys, y=inspect)z(self, 123))r	rOrr	r1rrrk)rUrrs   r'test_python_function_override_signaturez@TestSignatureDefinitions.test_python_function_override_signaturesy	"L%S!S#OP"O%S#OP"F%S#;<"B%S#:;"<


z
*	$d#	$"<


z
*	$d#	$"/


z
*	$d#	$	$
	$	$	$	$	$	$s$
F F,F8 F),F58Gcddlm}Gdd|}|j}|j|dt	j
|}|jt
|dy)Nr)BufferedReaderceZdZy)VTestSignatureDefinitions.test_base_class_have_text_signature.<locals>.MyBufferedReaderNrr"rrMyBufferedReaderr	s&rr	z&(raw, buffer_size=DEFAULT_BUFFER_SIZE)z(raw, buffer_size=8192))test.ann_module7r	r	r1rOrr)rUr	r	text_signaturers     r#test_base_class_have_text_signaturez<TestSignatureDefinitions.test_base_class_have_text_signaturesU3	'~	'(::)QR 01S#<=rN)
rLrarbrrr$rr	r	r	r"rrr	r	s<X__)MO2:O2:h$<	>rr	c"eZdZdZedZy)NTimesUnwrappablec ||_d|_yr)rV_next)rUrVs  rrzNTimesUnwrappable.__init__s
rc|jdkrtd|jt|jdz
|_|jS)NrzUnwrapped too many timesr,)rVrr	r	r_s rrzNTimesUnwrappable.__wrapped__sA66Q;677::*466A:6DJzzrN)rLrarbrrrr"rrr	r	srr	c0eZdZdZdZdZdZdZdZy)
TestUnwrapcd}tjd|}|jtj||y)Nc||zSrr"rs  rrz(TestUnwrap.test_unwrap_one.<locals>.funcrrr)r\)r	lru_cacherQrOunwrap)rUrrs   rtest_unwrap_onezTestUnwrap.test_unwrap_ones5	1)%%b1$7

gnnW-t4rcd}|}tdD]}tj|d}|j|j||jt
j||y)Nc||zSrr"rs  rrz,TestUnwrap.test_unwrap_several.<locals>.funcrrr=cyrr"r"rrrz/TestUnwrap.test_unwrap_several.<locals>.wrapperrr)r/rrrrrQrOr	)rUrr__s    rtest_unwrap_severalzTestUnwrap.test_unwrap_several
si	)	B
__W
%
&
		
,,d3

gnnW-t4rcd}tj|d}tj|d}d|_tj|d}|j||y)Nc||zSrr"rs  rfunc1z#TestUnwrap.test_stop.<locals>.func1rrcyrr"r"rrrz#TestUnwrap.test_stop.<locals>.func2rrcyrr"r"rrrz%TestUnwrap.test_stop.<locals>.wrapperrrr,ct|dS)N	stop_hererrs rrz&TestUnwrap.test_stop.<locals>.<lambda> s
71k3Jr)stop)rrr	rOr	rQ)rUr	rr	unwrappeds     r	test_stopzTestUnwrap.test_stopsf				
 				
 	NN7)JM	

i'rcd}||_|jtd5tj|dddd}||_||_|jtd5tj|ddd|jtd5tj|dddy#1swYxYw#1swYJxYw#1swYyxYw)Ncyrr"r"rrr	z$TestUnwrap.test_cycle.<locals>.func1$rrrcyrr"r"rrrz$TestUnwrap.test_cycle.<locals>.func2)rr)rrrkrOr	)rUr	rs   r
test_cyclezTestUnwrap.test_cycle#s!

#
#J
?	"NN5!	"	!!

#
#J
?	"NN5!	"

#
#J
?	"NN5!	"	"	"	"	"	"	"	"s#B9&CC9CCCcdd_Gfdd}|jtj|y)Ncyrr"r"rrrz(TestUnwrap.test_unhashable.<locals>.func2rrceZdZdZWZy)%TestUnwrap.test_unhashable.<locals>.CN)rLrarb__hash__rr;srrr
4s
HKrr)rrrOr	)rUrrs  @rtest_unhashablezTestUnwrap.test_unhashable1s3			
'..-.rcttjdz}|jtd5tj|dddy#1swYyxYw)Nr,r)r	rgetrecursionlimitrrkrOr	)rUrXs  rtest_recursion_limitzTestUnwrap.test_recursion_limit9sK 5 5 7! ;<

#
#J
?	 NN3	 	 	 sAAN)	rLrarbr	r	r	r
r
r	
r"rrr	r	s 5	5("/ rr	cZeZdZdZdZejeduddZdZ	dZ
y)TestMainctjd}tddd\}}}|jj	}|j|ddt
j|j	|j|dy)Nr-mrOrr)	importlib
import_modulerdecoderr1rOr)rUmodulercr>errrs      rtest_only_sourcezTestMain.test_only_source?sw((4'i(24C

'')sW%6%6v%>%I%I%KLc"rcd}d|_|jt5tj|dddy#1swYyxYw)Ncyrr"r"rrr.z)TestMain.test_custom_getattr.<locals>.fooIrrr)rrrrOrrs  rtest_custom_getattrzTestMain.test_custom_getattrHs@	


y
)	#c"	#	#	#s	?ANz6threads required to test __qualname__ for source filesctddd\}}}|jj}|j|ddt	j
tj|j|dy)Nr
rOz%concurrent.futures:ThreadPoolExecutorrr)rr
rr1rOrr)rUr
r>r
rs     rtest_qualname_sourcezTestMain.test_qualname_sourceOso(i%LNC

'')s **+=>IIK	Mc"rctddd\}}}|jj}|j|dgy)Nr
rOrz#Can't get info for builtin modules.)rr
rr1)rUr]r>r
rs     r
test_builtinszTestMain.test_builtinsZsA+D),133

'')!F GHrcTtjd}tj}t	g|dddd\}}}|j}|j
|jj||j
|j||j
|jj||j
|j||j
|jj||j
|j||j|dy)Nrr
rOz	--detailsr)r
r
r!optim_args_from_interpreter_flagsrr
r__spec__rrLoriginrUcached
__cached__r1)rUr
rr
r>r
outputs       rtest_detailszTestMain.test_details`s((488:'AAtAYA(2A4?AC

foo**F3

foov.

foo,,f5

foov.

foo,,f5

f''0c"r)rLrarbr
r
rr$rr
r
r#
r"rrr
r
>sC##X__'4/DF#F#I
#rr
c`eZdZejdZejdZdZdZy)
TestReloadz def foo():
    print("Bla")
    z#def foo():
    print("Oh no!")
    ctj|}t|d5}|j|j	jd|jddddy#1swYyxYw)Nr|r}T)rOrrr1rr)rUr#r
inspected_srcrs     rassertInspectEqualzTestReload.assertInspectEqual|sc))&1

$
)	S
%%d+((.
			s?A++A4cNtd|j5\}}tj|}|j	||t|dd5}|j
|jddd|j	||dddy#1swY$xYw#1swYyxYw)N
reload_bugrr|r})r
src_beforer
r
r(
rr%	src_after)rUrr#r
rs     rtest_getsource_reloadz TestReload.test_getsource_reloads
lDOO
<	2t,,T2F##D&1dC'2
*c		$..)
*##D&1	2	2
*
*	2	2s#9BB,BB	BB$N)	rLrarbtextwrapdedentr+
r,
r(
r-
r"rrr%
r%
ps8 "	J
 !	I
2rr%
__main__)qr rrrrr
rOrrr!rOos.pathrrrr+rrr.
rr
unittest.mockrconcurrent.futuresrImportErrortest.supportrrrtest.support.import_helperr	test.support.os_helperr
test.support.script_helperrrrr
rrrrrrrtest.test_importrrUrMrrrrr#r;rDrrr:rFrrruryrr|rr5rzrrr(r/r7rJryrrr4rr9rDrMrOrrrrr9rtr}rrfrrequires_working_socketIsolatedAsyncioTestCaserrrrrrr)	rC	r	r	r	r	r	r
r%
rLmainr"rr<module>r=
s		



5&84)N&(*/1-,,
JcrlG7
(cmmo,
$	$M#R#R#T M""M0]AZ]A@	B>:B>H8H%%8 77
T:}T:l	Ex00	E0
0
7]
787M87t
C

CnO]nO`:
:&N=N7F79f9>vnh//vnrb8,,b5>8,,5>phw>**w>tG+x00G+R 5 :$::(u&))u&p	`HH--`HF=GH--=G@!  "cG8;;cG#cGL	'##	
	'##	TG(++TGn,O(++OdyE))yExd0**d0L-("3"3-^b>x00b>J: "": x/#x  /#d2""2<zHMMOiSsO''O21O2