python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_context.cpython-311.pyc

e{ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZ	ddl
mZn
#e$rdZYnwxYwdZGddejZGdd	ZGd
deZGdd
ZGddeZGddeZejedudGddejZedkrejdSdS)N)support)threading_helperhamtcFtjfd}|S)z*Needed to make reftracking test mode work.cLtj}|jg|Ri|SNcontextvarsContextrun)argskwargsctxfuncs   E/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_context.pywrapperz!isolated_context.<locals>.wrappers3!##swt-d---f---)	functoolswraps)rrs` risolated_contextrs8_T.....Nrc0eZdZdZedZdZdZdZdZ	dZ
dZd	Zed
Z
dZdZd
ZedZedZedZedZedZdZeejdZdS)ContextTestcP|td5tjdddn#1swxYwY|td5tjddddn#1swxYwYtjd}||jd|t5d|_dddn#1swxYwY|t|tddS)Nztakes exactly 1z
must be a straaabbb)
assertRaisesRegex	TypeErrorr
ContextVarassertEqualnameassertRaisesAttributeErrorassertNotEqualhash)selfcs  rtest_context_var_new_1z"ContextTest.test_context_var_new_1s

#
#I/@
A
A	%	%"$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%
#
#I
?
?	&	&"1%%%	&	&	&	&	&	&	&	&	&	&	&	&	&	&	&
"5))'''


~
.
.		AF																
DGGT%[[11111s3<AA"BB
BC++C/2C/ctjd}|dt|tjdd}|dt|g}tjd|}|||dt||dt||d}|t|t||dt||||dt|dS)Na{default123z...rz used )rr assertInreprappendsetassertNotInreset)r'r(lstts    rtest_context_var_repr_1z#ContextTest.test_context_var_repr_1+s2"3''

c477###"3444

eT!WW%%%"3444

1




eT!WW%%%

eT#YY'''
EE!HH

d1ggtAww'''477+++	




hQ(((((rc|td5Gddtj}dddn#1swxYwY|td5Gddtj}dddn#1swxYwY|td5Gddtj}ddddS#1swxYwYdS)Nznot an acceptable base typeceZdZdS)<ContextTest.test_context_subclassing_1.<locals>.MyContextVarN__name__
__module____qualname__rrMyContextVarr;AsrrAceZdZdS)9ContextTest.test_context_subclassing_1.<locals>.MyContextNr<r@rr	MyContextrCFrrDceZdZdS)7ContextTest.test_context_subclassing_1.<locals>.MyTokenNr<r@rrMyTokenrGJrErrH)rrrr rToken)r'rArDrHs    rtest_context_subclassing_1z&ContextTest.test_context_subclassing_1?s

#
#I/L
M
M		




{5


															

#
#I/L
M
M		




K/


															
#
#I/L
M
M		




++


																		s5AAA'BBB2CCCc|td5tjddddn#1swxYwY|td5tjdddddn#1swxYwY|td5tjddddn#1swxYwYtjdiidS)Nz
any argumentsrr+r@)rrrrr's rtest_context_new_1zContextTest.test_context_new_1Ms

#
#I
?
?	#	#"""	#	#	#	#	#	#	#	#	#	#	#	#	#	#	#

#
#I
?
?	(	(Q''''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(

#
#I
?
?	%	%!$$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%!!b!!!!!s3=AA#BB

B
,CCCctj}|td5|ddddn#1swxYwY|td5d|vdddn#1swxYwY|td5|dddddS#1swxYwYdS)NzContextVar key was expectedr)rrrrgetr'rs  rtest_context_typerrors_1z$ContextTest.test_context_typerrors_1Vs!##

#
#I/L
M
M		FF															

#
#I/L
M
M		
HH															

#
#I/L
M
M		GGAJJJ																		s5	AAA*A;;A?A?!CCCcltj}||tjdSr	)rcopy_contextassertIsInstancerrQs  rtest_context_get_context_1z&ContextTest.test_context_get_context_1`s/&((c;#677777rctj}|td5|ddddS#1swxYwYdS)Nzmissing 1 required)rrrrr
rQs  rtest_context_run_1zContextTest.test_context_run_1ds!##

#
#I/C
D
D		GGIII																		sAAAcZtj}d}|tj|fD]}|||dddif|||ddddif|||ddddd	f|||d
ddddd	fi}||j|d
fi|dddif||idS)Ncd|d<|dz
}||fS)Nfoospambarr@rrs  rrz,ContextTest.test_context_run_2.<locals>.funcms"F6NHD<rr]r\r[r)rr^rL)r+r\)rar^)rrrpartialr!r
)r'rrfr+s     rtest_context_run_2zContextTest.test_context_run_2jsw!##	 	 	 
	)$//0	$	$A
SWWQZZ(VUO)DEEESWWQ]]Z&%,IJJJQE223
5
5
5
2##Au556
8
8
8A2####vuo.
0
0
0
Q####%	$	$rctj}d}|t5||dddn#1swxYwY|t5||dddddn#1swxYwY|t5||dddddddS#1swxYwYdS)NcddzdS)Nrrr@r_s  rrz,ContextTest.test_context_run_3.<locals>.funcs
EEEErrr`r,rL)rrr#ZeroDivisionErrorr
)r'rrs   rtest_context_run_3zContextTest.test_context_run_3s!##			

0
1
1		GGDMMM															


0
1
1	 	 GGD!Q	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 


0
1
1	'	'GGD!Q#G&&&	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	'	's5AAA8BB #B C((C,/C,cXtj}tjtjdfdfd}||}|||d|dS)NvarcXddSr	)assertIsNonerPr'rjsrfunc2z-ContextTest.test_context_run_4.<locals>.func2s'cggdmm,,,,,rcddddtj}t|d|d|S)Nr\r)rlrPr3r
r!rrTlen)curctx2rnr'rjs rfunc1z-ContextTest.test_context_run_4.<locals>.func1scggdmm,,,GGFOOOHHUOOOSWWT]]F333*,,CSXXq)))SXv...Jrr\)rrr r
r!r0)r'ctx1rsreturned_ctxrrrnrjs`   @@@rtest_context_run_4zContextTest.test_context_run_4s"$$"$$$U++	-	-	-	-	-	-																xx|,,,c*F333

c<(((((rcBtj}tjdfd}t5||dddn#1swxYwYddS)NrjcddddzdS)Nr\rr)rlrPr3rmsrrz,ContextTest.test_context_run_5.<locals>.funcs=cggdmm,,,GGFOOO
EEEEr)rrr r#rgr
rlrP)r'rrrjs`  @rtest_context_run_5zContextTest.test_context_run_5s!##$U++						


0
1
1		GGDMMM																
#''$--(((((s
A,,A03A0ctjtjddfd}|dS)Nr+rr-ctdddddS)Nr*)r!rPrlr3)r(rr'srfunz+ContextTest.test_context_run_6.<locals>.funsQUUWWa(((cggajj)))
EE"IIIQUUWWb)))SWWQZZ,,,,,rrrr r
r'r}r(rs` @@rtest_context_run_6zContextTest.test_context_run_6s`!##"3222	-	-	-	-	-	-	-	rcjtjfddS)Nctd5ddddS#1swxYwYdS)Nzis already entered)rRuntimeErrorr
)rr}r'srr}z+ContextTest.test_context_run_7.<locals>.funs''6JKK



















sAAAr
)r'rr}s`@@rtest_context_run_7zContextTest.test_context_run_7sK!##								rctjd}|t5|dddn#1swxYwY||d|d}||d||dd||j	|j
||j	tjj
||j||d}||d||dd||j	d|
|||d||dd|d|td5|
|dddn#1swxYwY||dtj}||||
||td5|
|dddn#1swxYwY||d||||||d|||dd|t%|d|t'||dfg|t'|dg|t'||g|t'||gtj}||||t05||dddn#1swxYwY|||dd|t%|d|t'|gdS)	Nr(r|r\spam2zhas already been usedaarr)rr r#LookupErrorrPrlr3r!assertIs	old_valueMISSINGrIrjr5rrrTr0rplistitemsvalueskeysr4KeyError)r'r(t0r7rtrrs      rtest_context_getset_1z!ContextTest.test_context_getset_1sc"3''


{
+
+		
EEGGG																
!%%++&&&
UU2YY"%%%tb)))

blBJ///

blK$5$=>>>

bfa   
EE&MM&)))tf---b)))	


"%%%tb)))	g

#
#L2I
J
J		
GGAJJJ															'***'))

a	

#
#L2I
J
J		
GGBKKK															!%%++&&&

aa'***!T**G444TA&&&djjll++q'l^<<<dkkmm,,wi888diikk**QC000daS)))'))D!!!


x
(
(		GG															!T**D111TA&&&dR(((((sGAAA%JJJL55L9<L92	TTTctjd}tjd}|d}|td5||ddddS#1swxYwYdS)Nv1v2r|zby a different)rr r3r
ValueErrorr5)r'rrt1s    rtest_context_getset_2z!ContextTest.test_context_getset_2s

#D
)
)

#D
)
)
VVBZZ

#
#J0@
A
A		HHRLLL																		sA<<BBctjddtjfd}|dS)Nr(r|r-cdt5dddn#1swxYwYddt
gd}t
gd	|t
gt5ddddS#1swxYwYdS)Nr|r\r)
r!rPr#rrlr4rrr3r5)r7r(rr's rr}z.ContextTest.test_context_getset_3.<locals>.funsQUUWWb)))""8,,

A














cggajj)))SWWQ//888Q$$$T#((**--r222aAT#((**--s333SVQ'''
GGAJJJT#((**--r222""8,,

A

















s$	AA A	G""G&)G&)rr rr
rs` @@rtest_context_getset_3z!ContextTest.test_context_getset_3s`"3333!##							$	rc tjdd}tj}||jd}|td5||ddddS#1swxYwYdS)Nr(r|r-rzdifferent Context)rr rr
r3rrr5)r'r(rtoks    rtest_context_getset_4z!ContextTest.test_context_getset_4)s"3333!##ggaeQ

#
#J0C
D
D		
GGCLLL																		s BB
Bctjddgfd}tj|gdS)Nr(r|r-cgddgdS)Nr|)r3rPr2r!r(r'srr}z.ContextTest.test_context_getset_5.<locals>.fun8sR
EE"III
EEGGNN2QUUWWrd+++++r)rr r3rTr
r!rP)r'r}r(s` @rtest_context_getset_5z!ContextTest.test_context_getset_53s"3333	b				,	,	,	,	,	,
	 ""&&s+++"%%%%%rctjtjddfd}fd|dS)Nr(r|r-cd}|ddd|d|d|ddS)N
)r3copyr!r
)rrr(rtctx2_funr's rctx1_funz1ContextTest.test_context_copy_1.<locals>.ctx1_funDs
EE"III99;;DT!Wb)))
EE"IIIT!Wb)))T!Wb)))HHXT!Wb)))T!Wb)))))rcddddS)Nrr)r!rPr3rsrrz1ContextTest.test_context_copy_1.<locals>.ctx2_funRsTQUUWWb)))
EE"IIIQUUWWb)))))rr~)r'rr(rtrs` @@@rtest_context_copy_1zContextTest.test_context_copy_1@s"$$"3333	*	*	*	*	*	*	*	*	*	*	*	*	*	*
	
rctjdfd}tjd}	t||td}|n#|wxYw	|ttddS)NcvarctdD]l}||ztjt	jdd||zm|S)NrgMbP?g?)ranger3timesleeprandomuniformr!rP)numirr's  rsubz/ContextTest.test_context_threads_1.<locals>.sub^st2YY
6
6q!!!
6>%66777  S1W5555Jrr)max_workers)
rr 
concurrentfuturesThreadPoolExecutorrmaprshutdownr!)r'rtpresultsrs`   @rtest_context_threads_1z"ContextTest.test_context_threads_1Ys%f--						

2
2r
2
B
B	266#uRyy1122GKKMMMMBKKMMMM$uRyy//22222s0BBN)r=r>r?r)rr8rJrNrRrVrXrdrhrvryrrrrrrrrrrequires_working_threadingrr@rrrrs
2
2
2)))&"""888$$$8''')))0)))3)3)3)j0
&
&
&200223332333rrc0eZdZdZdddZdZdZdZdS)HashKeyNerror_on_eq_toc@|dksJ||_||_||_dS)N)r"r&r)r'r&r"rs    r__init__zHashKey.__init__ss+rzzzz		,rc(d|jd|jdS)Nz
<Key name:z hash:>)r"r&rMs r__repr__zHashKey.__repr__ys9DI99TY9999rcD|j|jjrt|jSr	)_crasher
error_on_hashHashingErrorr&rMs r__hash__zHashKey.__hash__|s"=$)D$yrc>t|tstS|j|jjrt
|j|j|urtd|d||j|j|urtd|d||j|j	f|j|j	fkS)Nzcannot compare z to )

isinstancerNotImplementedrerror_on_eqEqErrorrrr"r&)r'others  r__eq__zHashKey.__eq__s%))	"!!=$)B$M*t/Be/K/KDtDD5DDEEE+0D0L0LDuDDDDDEEE	49%%*ej)AAAr)r=r>r?rrrrrr@rrrrpsgH59-----:::BBBBBrrc(eZdZfdZfdZxZS)KeyStrctjtjjrtt	Sr	)rrrrsuperr)r'	__class__s rrzKeyStr.__hash__s3'G,<,J'ww!!!rctjtjjrtt	|Sr	)rrrrrr)r'rrs  rrz
KeyStr.__eq__s2'G,<,H'Mww~~e$$$r)r=r>r?rr
__classcell__)rs@rrrsQ"""""
%%%%%%%%%rrc(eZdZddddZdZdZdS)HaskKeyCrasherFrrc"||_||_dSr	r)r'rrs   rrzHaskKeyCrasher.__init__s*&rcTtjtd|t_dS)Nzcannot nest crashers)rrrrMs r	__enter__zHaskKeyCrasher.__enter__s('5666rcdt_dSr	)rr)r'excs  r__exit__zHaskKeyCrasher.__exit__srN)r=r>r?rrrr@rrrrsP(-5'''''   
     rrceZdZdS)rNr<r@rrrrDrrceZdZdS)rNr<r@rrrrrrrz!_testcapi lacks "hamt()" functionceZdZdZdZdZdZdZdZdZ	e
jdd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdS)HamtTestcrtdd}tdd}||||t|t|t	}d||<d||<|||d|||ddS)Nrrrr+b)rr%r!r&dict)r'k1k2ds    rtest_hashkey_helper_1zHamtTest.test_hashkey_helper_1s
R


R

B###b488,,,FF""2$$$2$$$$$rc&t}d}dSr	rr'hs  rtest_hamt_basics_1zHamtTest.test_hamt_basics_1sFFrc^t}|t|d|dd}||||t|d|t|d||d||ddd||dd|dd}||||t|d|t|d|t|d||dd||dd||d||d||d||dddx}x}}dS)Nrr+rrr|rr`)rr!rpr3assertIsNotrlrP)r'rh2h3s    rtest_hamt_basics_2zHamtTest.test_hamt_basics_2s.FFQ###
UU3__BQ###R!$$$!%%**%%%sB,,,c***
VVC__R   Q###R!$$$R!$$$c***b)))!%%**%%%"&&++&&&!%%**%%%c***Brct}t}|d|}|d|}|||dS)N1)robjectr3r)r'roh1rs     rtest_hamt_basics_3zHamtTest.test_hamt_basics_3sPFFHH
UU3]]
VVC^^

b"rct}|dg}|dg}||||t	|d|t	|d||d|ddS)Nkeyr)rr3rr!rprP)r'rrrs    rtest_hamt_basics_4zHamtTest.test_hamt_basics_4sFF
UU5"


VVE2

R   R!$$$R!$$$u

66666rc^tdd}tdd}tdd}t}||d}||d}|||d|||d|||d|||d|||d|||d||d}||d}|||d|||d|||d|||d|||d|||d|||d|||d|||d|t|d	|t|d
|t|d|t|d|t|ddS)
Nrrrcccr+rccrrrr`)rrr3r!rPrp)	r'rrk3rrrh4h5s	         rtest_hamt_collision_1zHamtTest.test_hamt_collision_1s
R


R


R

FF
UU2s^^
VVB__rD)))rD)))S)))T***S)))S)))
VVB


VVB

S)))S)))S)))T***T***S)))T***T***T***Q###R!$$$R!$$$R!$$$R!$$$$$rcntdd}tdd}tdd}t}||d}||d}||d}|d|DhddS)NlCDrEch|]	}|j
Sr@)r").0ks  r	<setcomp>z1HamtTest.test_hamt_collision_3.<locals>.<setcomp><s333Q!&333r>rrr)rrr3r!r)r'rrrrs     rtest_hamt_collision_3zHamtTest.test_hamt_collision_3s
93??93??93??FF
EE!SMM
EE!SMM
EE!SMM*	
33!&&((333___EEEEErcpuc	d}d}d}d}d}t|D]}t}t}t|D]}	t|	}
|	|zspt	d5|t5||
|	dddn#1swxYwYdddn#1swxYwY||
|	}|	|zs|t	d5|t5|	t|	dddn#1swxYwYdddn#1swxYwY|	||
<|
t|t||	|zs|
t|t||
t|t||
t||t|D]9}
|
|	t|
d	|
:tt|}tj|t!|D]H\}}	t|	}
||zsot	d5|t5||
dddn#1swxYwYdddn#1swxYwY||zs|t	d5|t5|t|	dddn#1swxYwYdddn#1swxYwY||
}|
|	|
d	d	||
=|
t|t|||d
zkr|}
|}||zs|
t|t||
t|t|J|
t|d|
t|d|D]>}
|
|
	t)|
||
?|
t|t|
t!|D]_\}	}
|
t)|
}
|
|
	t)|
d	d	|t)|
d|
t|t||	|zs|
t|t||
t|t|a|
t|d|
t|d|
t|gdS)NiXiarar	Trrz	not foundr`r)rrrrrr#rr3rrPr!rprrrshuffle	enumeratedeleterrstrpopr)r'COLLECTION_SIZETEST_ITERS_EVERYCRASH_HASH_EVERYCRASH_EQ_EVERY
RUN_XTIMES_rrrrkeys_to_deleteiter_ihmdms               rtest_hamt_stresszHamtTest.test_hamt_stress>s
z""P	2P	2AAA?++
E
EQii,,*'d;;;**!..|<<**EE#qMMM******************************EE#qMMN*-'D999--!..w77--EE&)),,,------------------------------#  QQ000,,E$$S^^S^^DDD$$S^^S^^DDDSVV_555_--
G
G  vc{{K!@!@#FFFF!%"8"899NN>***&~66
C
C	Qii!11*'d;;;**!..|<<**HHSMMM******************************/0'D99900!..w7700HHVAYY///000000000000000000000000000000HHSMM  sK!8!8+FFFcF  QQ000_111BB!11C$$S]]CMMBBB$$S]]CMMBBBSVVQ'''SVVQ'''
<
<  C!1!12c7;;;;SWWc"gg...#N33
G
G3YYs3xx((  C+!>!>LLLs3xx&&&  QQ000,,G$$S__c!((**ooFFF$$S__c!((**ooFFFSVVQ'''SVVQ'''T!''))__b1111aP	2P	2s/C
B-	!C-B1
1C4B1
5CCC:E#E	8EE
EE
EE"EM3:M	M3M 
 M3#M 
$M33M7:M7O4.#O	O4O!
!O4$O!
%O44O8;O8c@tdd}tdd}tdd}tdd}td	d
}tdd}tdd
|}t}||d}||d}||d}||d}||d}t|}	||}|t||	dz
|td5||dddn#1swxYwY||}|t||	dz
||}
||
|||}|t||	dz
||	|dd||	|d||	|ddS)NdAeBfrgrhrZErrr+rr(rercannot comparer`r	r|)
rrr3rprr!rrrrP)r'r.r0rrrr5r6rorig_lenrs           rtest_hamt_delete_1zHamtTest.test_hamt_delete_1spCCCCCD#
S$q
1
1
1FF
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMMq66
HHQKKQA...

#
#J0@
A
A		
HHRLLL															
HHQKKQA...
XXa[[

b!
HHQKKQA...q"r***q3'''q3'''''sE66E:=E:ctdd}tdd}tdd}tdd}td	d
}tdd}tdd
|}t}||d}||d}||d}||d}||d}t|}	|t
d5||dddn#1swxYwY||}|t||	||}|t||	dz
||}|t||	dz
||}|t||	dz
|||d|||d||}||}||}||}|t|ddS)Nr-r.)r0鉊rr2rr3rr4r5r6rr+rr(rr7r8rr`r	r)	rrr3rprrrr!rP)
r'r.r0rrrr5r6rr9s
          rtest_hamt_delete_2zHamtTest.test_hamt_delete_2sCFC  FC  CCD#
VT!
4
4
4FF
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMMq66
#
#J0@
A
A		
HHRLLL															
HHQKKQ***
HHQKKQA...
HHQKKQA...
HHQKKQA...q3'''q3'''
HHQKK
HHQKK
HHQKK
HHQKKQ#####sD;;D?D?cLtdd}tdd}tdd}tdd}tdd	}t}||d
}||d}||d}||d
}||d}t|}||}|t||dz
||}|t||dz
|||d|||ddS)Nr-r.r/r0rrr3rr+rr(rr7rr`)rrr3rprr!rPr'r.r0rrrrr9s        rtest_hamt_delete_3zHamtTest.test_hamt_delete_3s\CCFC  FC  CFF
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMMq66
HHQKKQA...
HHQKKQA...q3'''q3'''''rctdd}tdd}tdd}tdd}tdd}t}||d	}||d
}||d}||d}||d
}t|}||}|t||dz
||}|t||dz
||}|t||dz
||}|t||dz
||}|t|ddS)Nr-r.r/r0r@rrrr+rr(rr7rr`r	r)rrr3rprr!rAs        rtest_hamt_delete_4zHamtTest.test_hamt_delete_4sCCFC  FC  FC  FF
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMMq66
HHQKKQA...
HHQKKQA...
HHQKKQA...
HHQKKQA...
HHQKKQ#####rcLt}g}tdD]M}t|t|}||||d|}Ntdd}||d}|t|d||d}|t|d||}|t|d||d}|t|d||d	}|t|d
||d	}|t|d
|D]}||}|t|ddS)Nzval-18	collisionr`rr)	rrrrr2r3r!rpr)r'rrrrcollision_key16s      rtest_hamt_delete_5zHamtTest.test_hamt_delete_5GsFFr	'	'A!SVV$$CKKc:!::&&AA!"d++
EE/;//(	
Q$$$
HHT!WQ$$$
HH_%%Q$$$
HHT"XQ$$$
HHT!WQ$$$
HHT!WQ$$$		C

AAQ#####rc
tdd}tdd}tdd}tdd}td	d
}tdd}t}||d
}||d}||d}||d}||d}||d}|}|tt||d
f|df|df|df|df|dfhdS)Nr-r.r<r0r=rr2rr3rnFr+rr(rr7rcrrr3rr!r	r'r.r0rrrrRrits	         rtest_hamt_items_1zHamtTest.test_hamt_items_1xs6CFC  FC  CCCFF
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMM
WWYYRMMX3x!SAs8aX3xH	J	J	J	J	Jrc
tdd}tdd}tdd}tdd}tdd}td	d
}t}||d}||d}||d
}||d}||d}||d}|}|tt||df|df|d
f|df|df|dfhdSNr-r.r/r0r@rrrrQrRr+rr(rr7rcrSrTs	         rtest_hamt_items_2zHamtTest.test_hamt_items_2s6CCFC  FC  FC  CFF
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMM
WWYYRMMX3x!SAs8aX3xH	J	J	J	J	Jrc	tdd}tdd}tdd}tdd}tdd}td	d
}t}||d}||d}||d
}||d}||d}||d}|tt	|||||||h|tt	|||||||hdSrX)rrr3r!rr)r'r.r0rrrrRrs        rtest_hamt_keys_1zHamtTest.test_hamt_keys_1s9CCFC  FC  FC  CFF
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMM
EE!SMMT!&&((^^,,q!Q1a.@AAAT!WW1aAq'9:::::rct}|t|d|t	|gdS)Nr)rr!rprrrs  rtest_hamt_items_3zHamtTest.test_hamt_items_3sYFFQWWYY+++aggii"-----rctdd}tdd}tdd}tdd}tdd	}t}||d
}||d}||d}||d
}t}||d
}|||k|||k||d}|||k|||k||d}|||k|||k||d}|||k|||k||d
}|||k|||k||d}|||k|||k||}|||k|||k||d
}|||k|||kdS)Nr-r.r/r0r@rrxrr+rr(rd2r7)rrr3assertFalse
assertTruer)r'r.r0rrrrrs        rtest_hamt_eq_1zHamtTest.test_hamt_eq_1sCCFC  FC  C
VV
VVAs^^
VVAs^^
VVAs^^
VVAs^^
VV
VVAs^^r"""b!!!
VVAs^^r"""b!!!
VVAs^^r"""b!!!
VVAt__r"""b!!!
VVAs^^b!!!r"""
VVAs^^r"""b!!!
YYq\\r"""b!!!
VVAs^^r"""b!!!!!rctdd}tdd|}t}||d}t}||d}|td5||kdddn#1swxYwY|td5||kddddS#1swxYwYdS)Nr-r.r6rr+r8)rrr3rr)r'r.r6rrs     rtest_hamt_eq_2zHamtTest.test_hamt_eq_2sTC
S$q
1
1
1
VV
VVAs^^
VV
VVB__

#
#J0@
A
A		"HH															
#
#J0@
A
A		"HH																		s$BB B?CCCc$tdd}t}|dd}tj|}g}||||g}|||||||}~~~t
jt
jt
j||dS)Nr-r.r)	rrr3weakrefrefr2gccollectrl)r'r.rrhr+rs      rtest_hamt_gc_1zHamtTest.test_hamt_gc_1sCFF
EE!QKKk!nn				
EE!QKK
q!





##%%     rctdd}tdd}t}||d}|||}tj|}|}t
|~~tjtjtj|	|dS)Nr-r.r/r0r+)
rrr3rgrhrnextrirjrl)r'r.r0rrhhis      rtest_hamt_gc_2zHamtTest.test_hamt_gc_2sCCFF
EE!SMM
EE!QKKk!nn
WWYYR
r





##%%     rctdd}tdd}tdd}t}||d}|||v|||v|t5td5||vdddn#1swxYwYdddn#1swxYwY|t5td5||vdddn#1swxYwYddddS#1swxYwYdS	Nr-r.r/r0rTrr)	rrr3rbrar#rrrr'r.AAr0rs     rtest_hamt_in_1zHamtTest.test_hamt_in_1$s8C
S#

CFF
EE!QKKQa   


w
'
'		D111

a














															

|
,
,		d333

a














																		slC.B?3C?C	CC	CCC;D5DD5D!	!D5$D!	%D55D9<D9ctdd}tdd}tdd}t}||d}|||d|||d|t
5||dddn#1swxYwY|t5td5||dddn#1swxYwYdddn#1swxYwY|t5td5||dddn#1swxYwYddddS#1swxYwYdSrq)	rrr3r!r#rrrrrrs     rtest_hamt_getitem_1zHamtTest.test_hamt_getitem_18sC
S#

CFF
EE!QKK1q!!!2"""


x
(
(		
aDD															

w
'
'		D111

"














															

|
,
,		d333

"














																		s~'	B<<CC!D2	D;DD	DD	DD"%D"F	E)F)E-	-F0E-	1FFFN)r=r>r?rrrrrr
rrrequires_resourcer+r:r>rBrErOrVrYr[r]rcrerkrortrvr@rrrrs%%%<777#%#%#%J!F!F!FFWu%%W2W2&%W2r+(+(+(Z2$2$2$h"("("(H($($($T/$/$/$bJJJ*JJJ*;;;&...
-"-"-"^ !!!.!!!((rr__main__)concurrent.futuresrrrrirrunittestrgtestrtest.supportr	_testcapirImportErrorrTestCaserrrrr	ExceptionrrskipIfrr=mainr@rr<module>rsQ				



))))))DDDO3O3O3O3O3(#O3O3O3j
BBBBBBBBB	%	%	%	%	%S	%	%	%        					9								i			BCCY
Y
Y
Y
Y
x Y
Y
DCY
xzHMOOOOOs5??