+
    Bi                     l   ^ RI t ^ RIt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
Ht ^ RIHt  ! R R]P                  4      t ! R R]P                  4      t^ RI
Ht  ! R	 R
]P$                  4      t ! R R]4      t ! R R]P$                  4      t]R8X  d   ]P0                  ! 4        R# R# )    N)support)import_helperc                   |  a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"R  t#R! t$]%PL                  ! 4       ]%PN                  ! 4       R" 4       4       t(R# t)R$ t*R% t+R& t,R' t-R( t.R) t/R* t0R+ t1R, t2R- t3R. t4R/ t5R0 t6R1 t7R2 t8]%Pr                  R3 4       t:]%Pr                  R4 4       t;]%Pr                  R5 4       t<]%Pr                  R6 4       t=]%Pr                  R7 4       t>]%Pr                  R8 4       t?]%Pr                  R9 4       t@R: tAR; tBR< tCR= tDR> tER? tFR@ tGRA tHRB tIRC tJRD tKRE tLRF tMRG tNRH tORI tPRJ tQRK tRRL tSRM tTRN tURO tVRP tW]%Pr                  RQ 4       tX]%Pr                  RR 4       tYRS tZRT t[RU t\RVt]V t^RW# )XDictTestc                n    ! R  R\         4      p^^/V! ^^/4      3 Fl  pV P                  \        4      ;_uu_ 4        \        R/ VB  RRR4       V P                  \        4      ;_uu_ 4        / P                  ! R/ VB  RRR4       Kn  	  R#   + '       g   i     LN; i  + '       g   i     K  ; i)c                       ] tR t^tRtR# )7DictTest.test_invalid_keyword_arguments.<locals>.Custom N__name__
__module____qualname____firstlineno____static_attributes__r
       %/usr/lib/python3.14/test/test_dict.pyCustomr	          r   r   Nr
   )dictassertRaises	TypeErrorupdate)selfr   invalids   &  r   test_invalid_keyword_arguments'DictTest.test_invalid_keyword_arguments   s    	T 	AwAw/G""9--w .""9--		$G$ .- 0-----s   B/B#B #B4c                n    V P                  \        4       / 4       V P                  \        4       / 4       R # N)assertEqualr   assertIsNotr   s   &r   test_constructorDictTest.test_constructor   s&    $$r   c           
        R F  p\        V4       Uu. uF9  pRP                  \        P                  ! \        P
                  ^4      4      V3NK;  	  pp\        P                  ! V4       R V 4       pRRP                  V4      ,           R,           pV P                  \        V4      \        V4      4       K  	  R# u upi )r    c              3   H   "   T F  w  rR P                  W4      x  K  	  R# 5i)z
{!r}: {:d}N)format).0kvs   &  r   	<genexpr>4DictTest.test_literal_constructor.<locals>.<genexpr>&   s      KUTQ|22188Us    "{z, }N)r            i  )
rangejoinrandomsamplestringascii_lettersshuffler   evalr   )r   niitemsformatted_itemsdictliterals   &     r   test_literal_constructor!DictTest.test_literal_constructor   s     %A#Ah(& ggfmmF,@,@!DEqI&  (NN5!KUKO		/ ::S@KT+.U< %(s   ?B<c                    ^ ^ ^^^^/p^^^^^^/pVP                  4       pW2,          pV P                  W,          ^ ^ ^^^^^^/4       V P                  V^ ^ ^^^^^^/4       VP                  4       pW1,          pV P                  W!,          ^^^^^^^ ^ /4       V P                  V^^^^^^^ ^ /4       VP                  4       pV. RO,          pV P                  V^ ^ ^^^^^^/4       V P                  VP                  R4      \        4       V P                  VP                  R4      \        4       V P                  VP                  R4      \        4       V P                  VP                  R4      \        4       V P                  \        VP                  R4       V P                  VP                  R4      ^ ^ ^^^^/4       V P                  \        VP                  R4       V P                  VP                  R4      ^ ^ ^^^^/4       R# )r   NBADr%   )r/   r/      rE      rG   r
   )	copyr   assertIs__or__NotImplementedr   r   __ior__
ValueError)r   abcs   &   r   test_merge_operatorDictTest.test_merge_operator*   s   1aA1aAFFH	Aq!Q1a 89Q1aAq!45FFH	Aq!Q1a 89Q1aAq!45FFH	%%Q1aAq!45ahhtnn5ahhrlN3ahhuo~6ahhrlN3)QYY52Aq!Q(:;*aii72Aq!Q(:;r   c                    V P                  / '       * R 4       V P                  ^^/4       V P                  \        / 4      R4       V P                  \        ^^/4      R 4       R# )TFN)rI   
assertTrueboolr!   s   &r   	test_boolDictTest.test_boolJ   sJ    "fd#Ad2h&dAq6lD)r   c                
   / pV P                  \        VP                  4       4      \        4       4       R ^R^/pVP                  4       pV P                  \        V4      R R04       V P                  R V4       V P                  RV4       V P                  R V4       V P                  RV4       V P	                  \
        VP                  R4       V P                  \        \        ^R7      P                  4       4      R4       R# )rN   rO   NrN   zdict_keys(['a']))r   setkeysassertInr   r   reprr   )r   dr)   s   &  r   	test_keysDictTest.test_keysP   s    QVVX.!S!FFHQ#s,c1c1c1c1)QVVT2dQinn./1CDr   c                p   / pV P                  \        VP                  4       4      \        4       4       ^^/pV P                  \        VP                  4       4      ^04       V P                  \        VP                  R4       V P                  \        \        ^R7      P                  4       4      R4       R# )r/   NrY   zdict_values([1]))r   rZ   valuesr   r   r]   r   r   r^   s   & r   test_valuesDictTest.test_values]   s    QXXZ#%0qEQXXZ1#.)QXXt4dQi..013EFr   c                p   / pV P                  \        VP                  4       4      \        4       4       ^^/pV P                  \        VP                  4       4      R04       V P                  \        VP                  R4       V P                  \        \        ^R7      P                  4       4      R4       R# )r/   NrY   zdict_items([('a', 1)]))r/   rE   )r   rZ   r<   r   r   r]   r   rc   s   & r   
test_itemsDictTest.test_itemse   s    QWWY/qEQWWY&2)QWWd3dQioo/02JKr   c                   \        \         P                  4      p ! R  R\        4      p\        V3 F  pV! 4       pVP                  4       P                  pVP                  4       P                  pVP                  4       P                  pWVV3 F%  pV P                  W4       V P                  W4       K'  	  RVR&   WVV3 F%  pV P                  W4       V P                  W4       K'  	  K  	  R# )c                       ] tR t^ptRtR# ))DictTest.test_views_mapping.<locals>.Dictr
   Nr   r
   r   r   Dictrk   p   r   r   rl   barfooN)	type__dict__r   r[   mappingrb   r<   assertIsInstancer   )	r   mappingproxyrl   clsr^   m1m2m3ms	   &        r   test_views_mappingDictTest.test_views_mappingn   s    DMM*	4 	$<CA!!B##B""Bb\%%a6  & " AeHb\%%a6  & "  r   c                6   / pV P                  R V4       V P                  R V9   4       V P                  R V9  4       R ^R^/pV P                  R V4       V P                  RV4       V P                  RV4       V P	                  \
        VP                  4       R# )rN   rO   rP   N)assertNotInassertFalserT   r\   r   r   __contains__rc   s   & r   test_containsDictTest.test_contains   s    a "1%!S!c1c1a )Q^^4r   c                    / pV P                  \        V4      ^ 4       R^R^/pV P                  \        V4      ^4       R# )r   rN   rO   N)r   lenrc   s   & r   test_lenDictTest.test_len   s=    Q#!S!Q#r   c                ~  a R ^R^/pV P                  VR ,          ^4       V P                  VR,          ^4       ^VR&   ^VR &   V P                  VR,          ^4       V P                  VR ,          ^4       VR V P                  VR ^R^/4       V P                  \        VP                  4        ! V3R lR\        4      p/ p^*W! 4       &   V P                  \
        VP                  ^4        ! R R\        4      o ! V3R lR\        4      pV! 4       p^*W&   R	Vn        V P                  SVP                  V4       R
# )rN   rO   rP   c                   4   <a  ] tR t^t o V3R ltR tRtV tR# )$DictTest.test_getitem.<locals>.BadEqc                   < S! 4       hr   r
   r   otherExcs   &&r   __eq__+DictTest.test_getitem.<locals>.BadEq.__eq__   
    er   c                    ^# )   r
   r!   s   &r   __hash__-DictTest.test_getitem.<locals>.BadEq.__hash__       r   r
   Nr   r   r   r   r   r   r   __classdictcell____classdict__r   s   @r   BadEqr      s      r   r   c                       ] tR t^tRtR# )"DictTest.test_getitem.<locals>.Excr
   Nr   r
   r   r   r   r          dr   r   c                   2   <a  ] tR t^t o RtV3R ltRtV tR# )&DictTest.test_getitem.<locals>.BadHashFc                :   < V P                   '       d   S! 4       h^*# *   failr   r   s   &r   r   /DictTest.test_getitem.<locals>.BadHash.__hash__       999%Kr   r
   Nr   r   r   r   r   r   r   r   r   s   @r   BadHashr           D r   r   TN)r   r   r   __getitem__objectKeyError	Exceptionr   )r   r^   r   r   xr   s   &    @r   test_getitemDictTest.test_getitem   s   !S!3#3###3#3#cFS!S!,-)Q]]3	F 	 %'
(AMM26")"	f 	 I#q}}a0r   c                    ^^^^^^/pVP                  4        V P                  V/ 4       V P                  \        VP                   R4       R# r/   N)clearr   r   r   rc   s   & r   
test_clearDictTest.test_clear   sB    q!AqO		B)QWWd3r   c           	       a / pVP                  ^^d/4       VP                  ^^/4       VP                  ^^^^^^/4       V P                  V^^^^^^/4       VP                  4        V P                  V^^^^^^/4       V P                  \        \        3VP                   R4        ! R R4      pVP                  4        VP                  V! 4       4       V P                  V^^^^^^/4        ! R R\        4      oVP                  4         ! V3R lR4      pV P                  SVP                   V! 4       4        ! V3R lR4      pV P                  SVP                   V! 4       4        ! V3R	 lR4      pV P                  SVP                   V! 4       4        ! V3R
 lR\        4      pV P                  S/ P                   V! 4       4       V P                  \        / P                   R.4       R# )r/   Nc                   2   a  ] tR t^t o R tR tR tRtV tR# ),DictTest.test_update.<locals>.SimpleUserDictc                     ^^^^^^/V n         R# r   r^   r!   s   &r   __init__5DictTest.test_update.<locals>.SimpleUserDict.__init__   s    AqAar   c                6    V P                   P                  4       # r   )r^   r[   r!   s   &r   r[   1DictTest.test_update.<locals>.SimpleUserDict.keys   s    vv{{}$r   c                (    V P                   V,          # r   r   )r   r;   s   &&r   r   8DictTest.test_update.<locals>.SimpleUserDict.__getitem__   s    vvay r   r   N)	r   r   r   r   r   r[   r   r   r   r   s   @r   SimpleUserDictr      s     )%! !r   r   c                       ] tR t^tRtR# )!DictTest.test_update.<locals>.Excr
   Nr   r
   r   r   r   r      r   r   r   c                   .   <a  ] tR t^t o V3R ltRtV tR# )-DictTest.test_update.<locals>.FailingUserDictc                   < Shr   r
   r   s   &r   r[   2DictTest.test_update.<locals>.FailingUserDict.keys       	r   r
   N)r   r   r   r   r[   r   r   r   s   @r   FailingUserDictr            r   r   c                   4   <a  ] tR t^t o V3R ltR tRtV tR# )r   c                ,   <  ! V3R  lR4      pV! 4       # )c                   :   <a  ] tR t^t o R tR tV3R ltRtV tR# )EDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIterc                    ^V n         R# r   r;   r!   s   &r   r   NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__   s	    !"r   c                    V # r   r
   r!   s   &r   __iter__NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__       #r   c                >   < V P                   '       d
   ^ V n         R# Sh)r   rN   r   r   s   &r   __next__NDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__   s    666%&DF#&!	r   r   N	r   r   r   r   r   r   r   r   r   r   s   @r   	BogonIterr      s     #$" "r   r   r
   )r   r   r   s   & r   r[   r      s    	" 	" !{"r   c                    V# r   r
   r   keys   &&r   r   9DictTest.test_update.<locals>.FailingUserDict.__getitem__   s    
r   r
   Nr   r   r   r   r[   r   r   r   r   s   @r   r   r      s     # r   c                   4   <a  ] tR t^t o R tV3R ltRtV tR# )r   c                $     ! R  R4      pV! 4       # )c                   2   a  ] tR t^t o R tR tR tRtV tR# )r   c                &    \        R 4      V n        R# )rN   N)ordr;   r!   s   &r   r   r      s    !$Sr   c                    V # r   r
   r!   s   &r   r   r      r   r   c                    V P                   \        R 4      8:  d1   \        V P                   4      pV ;P                   ^,          un         V# \        h)z)r;   r   chrStopIteration)r   rtns   & r   r   r      s7    66SX-"%dff+C FFaKF#&J++r   r   Nr   r   s   @r   r   r      s     *$, ,r   r   r
   )r   r   s   & r   r[   r      s    
, 
, !{"r   c                   < Shr   r
   )r   r   r   s   &&r   r   r      r   r   r
   Nr   r   s   @r   r   r      s     # r   c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )$DictTest.test_update.<locals>.badseqi  c                    V # r   r
   r!   s   &r   r   -DictTest.test_update.<locals>.badseq.__iter__      r   c                   < S! 4       hr   r
   r   s   &r   r   -DictTest.test_update.<locals>.badseq.__next__  r   r   r
   Nr   r   r   r   r   r   r   r   r   s   @r   badseqr           r   r   r/   rE   rG   )	r   r   r   r   AttributeErrorr   r   r   rM   )r   r^   r   r   r   r   s   &    @r   test_updateDictTest.test_update   s   	!C	!B	!AqAa!Qq!AqO,	
Qq!AqO,9n5qxxF	! 	! 	
		!"Qq!AqO,")"			 	 	#qxx):;	 	 	#qxx):;	 	  	#qxx):;	V 	 	#ryy&(3*bii)=r   c           	        V P                  \        4      ;_uu_ 4       p/ P                  \        ^4       Uu. uF  p\	        4       NK  	  up4       RRR4       V P                  \        XP                  4      R4       V P                  VP                  P                  R.4       R pV P                  \        4      ;_uu_ 4       p\        \        ^4       Uu. uF	  q#! 4       NK  	  up4       RRR4       V P                  \        VP                  4      R4       V P                  VP                  P                  R.4       R# u upi   + '       g   i     EL; iu upi   + '       g   i     L|; i)rG   Nzobject is not iterablezBCannot convert dictionary update sequence element #0 to a sequencec               3   (   "   R x  \        R4      h5i)r   oops)r   r
   r   r   badgen/DictTest.test_update_type_error.<locals>.badgen  s     KF##s   r   )
r   r   r   r2   r   r   str	exception	__notes__r   )r   cm_r   s   &   r   test_update_type_errorDictTest.test_update_type_error  s   y))RIIq2Avx23 * 	R\\*,DELL""QR	

	
 y))RE!H-Hq&(H-. * 	R\\*F3LL""QR	
# 3 *)) . *)s:   E	E
E	E"E'E"E		E	E""E2	c                   a  ! R  R4      o ! V3R lR\         4      pS! 4       pRVn        RVn        / pV! R4      W1! R4      &   VP                  VP                  4       V P                  VV! R4      RRR/4       R# )c                       ] tR tRtRtR# )1DictTest.test_update_shared_keys.<locals>.MyClassi&  r
   Nr   r
   r   r   MyClassr  &  s    tr   r	  c                   B   <a a ] tR tRt oV 3R ltVV 3R ltRtVtV ;t# )/DictTest.test_update_shared_keys.<locals>.MyStri*  c                    < \         SV `  4       # r   )superr   )r   	__class__s   &r   r   8DictTest.test_update_shared_keys.<locals>.MyStr.__hash__+  s    w'))r   c                Z   < S! 4       pR Vn         RVn        RVn        \        SV `  V4      # rN   rO   rP   )rN   rO   rP   r  r   )r   r   obj2r	  r  s   && r   r   6DictTest.test_update_shared_keys.<locals>.MyStr.__eq__.  s0     yw~e,,r   r
   )	r   r   r   r   r   r   r   r   __classcell__)r  r   r	  s   @@r   MyStrr  *  s     *- -r   r  rN   rO   N)r   rN   rO   r   rp   r   )r   r  objr   r	  s   &   @r   test_update_shared_keys DictTest.test_update_shared_keys%  sw    	-C 	- ic
%* 	
#J
 	r   c           	     P	  aa V P                  \        P                  R 4      RRRRRR/4       / oV P                  SP                  R 4      S4       V P                  SP                  R 4      RRRRRR/4       V P                  SP                  R^ 4      ^^ ^^ /4       V P                  SP                  . 4      / 4       R pV P                  SP                  V! 4       4      ^R/4       V P	                  \
        / P                  ^4        ! R R\        4      pV P                  VP                  R4      RR/4       V P                  V! 4       P                  R4      RR/4       V P                  VP                  R4      V4       V P                  V! 4       P                  R4      V4        ! R R	\        4      pVP                  R
4      pV P                  VRRRR/4       V P                  V\        P                  4       V P	                  \
        \        P                  4        ! R R\        4      o ! V3R lR\        4      pV P	                  SVP                  ^.4        ! V3R lR\        4      pV P	                  S\        P                  V! 4       4        ! V3R lR\        4      pV P	                  SVP                  ^.4       \        \        \        ^4      ^ .^,          4      4      p\        \        \        ^4      \        ^4      4      4      oV P                  \        P                  S^ 4      V4       \        \        ^4      4      oV P                  \        P                  S^ 4      V4       \        \        ^4      4      oV P                  \        P                  S^ 4      V4        ! V3R lR\        4      p	\        R4       U
u/ uF  qV
bK  	  up
oSP                  4       pVP!                  RRRR7       V P                  V	P                  0 Rm4      V4        ! V3R lR\        4      p\        R4       U
u/ uF  qV
bK  	  up
oSP                  4       pVP!                  RRRR7       V P                  VP                  0 Rm4      V4       R# u up
i u up
i )abcrN   NrO   rP   c               3      "   ^x  R# 5ir   r
   r
   r   r   g!DictTest.test_fromkeys.<locals>.gM  s
     Gs   	c                       ] tR tRtRtR# )(DictTest.test_fromkeys.<locals>.dictlikeiQ  r
   Nr   r
   r   r   dictliker  Q  r   r   r   c                   &   a  ] tR tRt o R tRtV tR# )&DictTest.test_fromkeys.<locals>.mydictiV  c                ,    \         P                  ! 4       # r   )collectionsUserDict)rt   s   &r   __new__.DictTest.test_fromkeys.<locals>.mydict.__new__W  s    "++--r   r
   Nr   r   r   r   r&  r   r   r   s   @r   mydictr"  V  s     . .r   r)  abc                       ] tR tRtRtR# )#DictTest.test_fromkeys.<locals>.Exci^  r
   Nr   r
   r   r   r   r,  ^  r   r   r   c                   .   <a  ] tR tRt o V3R ltRtV tR# )(DictTest.test_fromkeys.<locals>.baddict1i`  c                   < S! 4       hr   r
   r   s   &r   r   1DictTest.test_fromkeys.<locals>.baddict1.__init__a  r   r   r
   Nr   r   r   r   r   r   r   r   s   @r   baddict1r.  `        r   r2  c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )&DictTest.test_fromkeys.<locals>.BadSeqif  c                    V # r   r
   r!   s   &r   r   /DictTest.test_fromkeys.<locals>.BadSeq.__iter__g  r   r   c                   < S! 4       hr   r
   r   s   &r   r   /DictTest.test_fromkeys.<locals>.BadSeq.__next__i  r   r   r
   Nr   r   s   @r   BadSeqr5  f  r   r   r:  c                   .   <a  ] tR tRt o V3R ltRtV tR# )(DictTest.test_fromkeys.<locals>.baddict2in  c                   < S! 4       hr   r
   )r   r   valuer   s   &&&r   __setitem__4DictTest.test_fromkeys.<locals>.baddict2.__setitem__o  r   r   r
   N)r   r   r   r   r?  r   r   r   s   @r   baddict2r<  n  r3  r   rA  c                   .   <a  ] tR tRt o V3R ltRtV tR# )(DictTest.test_fromkeys.<locals>.baddict3i  c                   < S# r   r
   )rt   r^   s   &r   r&  0DictTest.test_fromkeys.<locals>.baddict3.__new__  s    r   r
   Nr(  r   r^   s   @r   baddict3rC    s      r   rG    r  c                   .   <a  ] tR tRt o V3R ltRtV tR# )(DictTest.test_fromkeys.<locals>.baddict4i  c                4   < \         P                  V S4       R # r   )r   r   rc   s   &r   r   1DictTest.test_fromkeys.<locals>.baddict4.__init__  s    dA&r   r
   Nr1  rF  s   @r   baddict4rJ    s     ' 'r   rM  )      >   rN   rO   rP   )r   r   fromkeysr    r   r   rr   r$  r%  r   r   zipr2   rZ   listrH   r   )r   r  r   r)  udr2  r:  rA  resrG  r;   rM  r   r^   s   &           @@r   test_fromkeysDictTest.test_fromkeysF  s   u-D#dC/MNE*A.E*Ss4T,JKE!,qAaj9B,	AC1T(3)R[[!4"t"**3/#d<,,S1C:>h//4h?hj11#6A	.T 	. __T"c$D12b+"6"67)T]]3")"	t 	 	#x001#6	V 	 	#t}}fh7	t 	 	#x001#6 3uQx!Q'(U1XuQx()q!,c2aMq!,c2qNq!,c2	t 	 "$K(KqUK(ffh

TTT
***?;SA	't 	' "$K(KqUK(ffh

TTT
***?;SA ) )s   RR#c           	        ^^^^^^/pV P                  VP                  4       V4       V P                  VP                  4       V4       V P                  VP                  4       ^^^^^^/4       VP                  4       p^V^&   V P                  W!4       V P                  / P                  4       / 4       V P	                  \
        VP                  R4       R# r   )r    rH   r   assertNotEqualr   r   )r   r^   rH   s   &  r   	test_copyDictTest.test_copy  s    1aA1%1%Aq!Q1#56vvx!D$B')QVVT2r   c           	        R F  p\         P                  ! V^,          W^,          ,           4      pV P                  VR7      ;_uu_ 4        / p\        V4       F  pW2V&   K	  	  VP	                  4       pV P                  WB4       V P                  W$4       RVR&   V P                  W$4       V P                  \        V4      \        V4      ^,           4       RRR4       K  	  R#   + '       g   i     K  ; i)
   )	dict_sizer>  r   N)r\  d   rH  i'  i )	r4   	randrangesubTestr2   rH   r    r   rX  r   )r   r]  r^   r;   d2s   &    r   test_copy_fuzzDictTest.test_copy_fuzz  s    7I((Q	N :<I	22y)AaD * VVX  '  '#5	##A*  R#a&1*5 32 8 322s   BC%%C6c                     ! R  R4      pV! 4       p/ R^/VR/3 FM  pVP                  4       pV P                  \        P                  ! V4      \        P                  ! V4      4       KO  	  R# )c                       ] tR tRtRtR# )0DictTest.test_copy_maintains_tracking.<locals>.Ai  r
   Nr   r
   r   r   Arf    r   r   rg  rN   valN)rH   r   gc
is_tracked)r   rg  r   r^   ra  s   &    r   test_copy_maintains_tracking%DictTest.test_copy_maintains_tracking  s[    	 	 csAhe-ABR]]1-r}}R/@A .r   c                    \        R 4       Uu/ uF  qVbK  	  pp\        R4       F  pW! K  	  VP                  4       pV P                  W24       R# u upi )rH  i  N)r2   rH   r   )r   r)   r^   ra  s   &   r   test_copy_noncompactDictTest.test_copy_noncompact  sO     !;';aT;'sA VVX	 (s   Ac                .   / pV P                  VP                  R 4      R4       V P                  VP                  R ^4      ^4       R^R^/pV P                  VP                  R 4      R4       V P                  VP                  R ^4      ^4       V P                  VP                  R4      ^4       V P                  VP                  R^4      ^4       V P                  \        VP                  4       V P                  \        VP                  RRR4       R# )rP   NrN   rO   )rI   getr   r   r   rc   s   & r   test_getDictTest.test_get  s    aeeCj$'sA*!S!aeeCj$'sA*sQ'sA*)QUU+)QUUD$=r   c                  a / pV P                  VP                  R 4      R4       VP                  R . 4       V P                  VP                  R 4      R4       VP                  R. 4      P                  ^4       V P                  VR,          ^ ,          ^4       VP                  R. 4      P                  ^4       V P                  \	        VR,          4      ^4       V P                  \        VP                  4        ! R R\        4      o ! V3R lR\        4      pV! 4       p^*W&   RVn	        V P                  SVP                  V. 4       R# )key0Nr   c                       ] tR tRtRtR# )%DictTest.test_setdefault.<locals>.Exci  r
   Nr   r
   r   r   r   rw    r   r   r   c                   2   <a  ] tR tRt o RtV3R ltRtV tR# ))DictTest.test_setdefault.<locals>.BadHashi  Fc                :   < V P                   '       d   S! 4       h^*# r   r   r   s   &r   r   2DictTest.test_setdefault.<locals>.BadHash.__hash__  r   r   r
   Nr   r   s   @r   r   ry    r   r   r   T)
rI   
setdefaultappendr   r   r   r   r   r   r   )r   r^   r   r   r   s   &   @r   test_setdefaultDictTest.test_setdefault  s    all6*D1	VR all6*D1	UB&&q)5!a(	UB&&q)QuX*)Q\\2")"	f 	 I#q||Q3r   c                6    ! R  R\         4      pV! 4       pV^/pV! 4       pVP                  V. 4       V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  VP                  ,           ^4       R# )c                   2   a  ] tR tRt o R tR tR tRtV tR# )/DictTest.test_setdefault_atomic.<locals>.Hashedi  c                "    ^ V n         ^ V n        R# r   N
hash_counteq_countr!   s   &r   r   8DictTest.test_setdefault_atomic.<locals>.Hashed.__init__      "# !r   c                8    V ;P                   ^,          un         ^*# r/   r  r!   s   &r   r   8DictTest.test_setdefault_atomic.<locals>.Hashed.__hash__      1$r   c                b    V ;P                   ^,          un         \        V 4      \        V4      8H  # r  r  idr   r   s   &&r   r   6DictTest.test_setdefault_atomic.<locals>.Hashed.__eq__  #    "$x2e9,,r   r  r  N	r   r   r   r   r   r   r   r   r   r   s   @r   Hashedr         "- -r   r  N)r   r|  r   r  r  r   r  hashed1yhashed2s   &    r   test_setdefault_atomicDictTest.test_setdefault_atomic  s    		-V 		- (aL(	Wb!++Q/++Q/))G,<,<<a@r   c           
     *    ! R  R\         4      pV! 4       pV^^ ^ ^^^^^^/pV! 4       p. W4&   V P                  VP                  ^4       V P                  VP                  ^4       V P                  VP                  VP                  ,           ^4       R# )c                   2   a  ] tR tRt o R tR tR tRtV tR# )6DictTest.test_setitem_atomic_at_resize.<locals>.Hashedi  c                "    ^ V n         ^ V n        R# r  r  r!   s   &r   r   ?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__init__  r  r   c                8    V ;P                   ^,          un         ^*# r  r  r!   s   &r   r   ?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__hash__  r  r   c                b    V ;P                   ^,          un         \        V 4      \        V4      8H  # r  r  r  s   &&r   r   =DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__eq__  r  r   r  Nr  r   s   @r   r  r    r  r   r  N)r   r   r  r  r  s   &    r   test_setitem_atomic_at_resize&DictTest.test_setitem_atomic_at_resize   s    		-V 		- (aAq!Q1a0(
++Q/++Q/))G,<,<<a@r   c           	        R EF#  p\        ^4       EF  p^V,          p/ p/ p\        V4       F&  pWd\        V4      &   V^ 8  g   K  We\        V4      &   K(  	  V^ 8  d   VP                  4       p\        V4       F  pVP                  4       ;w  rxp	V P	                  V\        V4      4       VP                  4       ;w  rpV P	                  V\        V
4      4       T P                  V^ 8  ;'       d    W8g  4       K  	  V P                  V4       V P                  V4       EK  	  EK&  	  / pV P                  \        VP                  4       R# )r/   N)r/   )	r2   r]   rH   popitemr   intr}   r   r   )r   copymodelog2sizesizerN   rO   r;   kavatakbvbtbr^   s   &             r   test_popitemDictTest.test_popitem  s   H ""I({tA!"d1gJ!|%&$q'
 % a<AtA"#))+-FBR$$RR1"#))+-FBR$$RR1$$X\%>%>bh? %   #  ## & , (AII.r   c                  a / pR Rr2W1V&   V P                  \        VP                  R4       V P                  VP                  V4      V4       V P                  \	        V4      ^ 4       V P                  \        VP                  V4       V P                  VP                  W#4      V4       W1V&   V P                  VP                  V^4      V4       V P                  \
        VP                  4        ! R R\        4      o ! V3R lR\        4      pV! 4       p^*W&   RVn        V P                  SVP                  V4       R# )	r  defghic                       ] tR tRtRtR# )DictTest.test_pop.<locals>.ExciB  r
   Nr   r
   r   r   r   r  B  r   r   r   c                   2   <a  ] tR tRt o RtV3R ltRtV tR# )"DictTest.test_pop.<locals>.BadHashiD  Fc                :   < V P                   '       d   S! 4       h^*# r   r   r   s   &r   r   +DictTest.test_pop.<locals>.BadHash.__hash__F  r   r   r
   Nr   r   s   @r   r   r  D  r   r   r   TN)	r   r   popr   r   r   r   r   r   )r   r^   r)   r*   r   r   r   s   &     @r   test_popDictTest.test_pop0  s    e1!(AEE51q1%Q#(AEE1-qa(!q!a()QUU+")"	f 	 I#quua(r   c                    / p^V^&   V P                  \        4      ;_uu_ 4        V F  p^W^,           &   K  	  RRR4       R#   + '       g   i     R# ; ir   r   RuntimeErrorr   r^   r;   s   &  r   test_mutating_iteration DictTest.test_mutating_iterationQ  sE    !|,,A#  -,,,s   AA	c                    / p^ V^ &   V P                  \        4      ;_uu_ 4        V F  pV^  ^ V^ &   K  	  RRR4       R#   + '       g   i     R# ; ir  r  r  s   &  r   test_mutating_iteration_delete'DictTest.test_mutating_iteration_deleteY  sJ    !|,,aD!  -,,,s   AA	c                    / p^ V^ &   V P                  \        4      ;_uu_ 4        VP                  4        F  pV^  ^ V^ &   K  	  RRR4       R#   + '       g   i     R# ; ir  )r   r  rb   r  s   &  r   *test_mutating_iteration_delete_over_values3DictTest.test_mutating_iteration_delete_over_valuesb  sP    !|,,XXZaD!   -,,,    AA 	c                    / p^ V^ &   V P                  \        4      ;_uu_ 4        VP                  4        F  pV^  ^ V^ &   K  	  RRR4       R#   + '       g   i     R# ; ir  r   r  r<   r  s   &  r   )test_mutating_iteration_delete_over_items2DictTest.test_mutating_iteration_delete_over_itemsk  sP    !|,,WWYaD!  -,,,r  c                   a  ! V3R  lR4      oS! ^4      pS! ^4      pV^/pW13Sn         ^W2&   V P                  W2^/4       R# )c                   >   <a  ] tR tRt o RtR tR tV3R ltRtV t	R# )/DictTest.test_mutating_lookup.<locals>.NastyKeyiv  Nc                    Wn         R # r   r>  )r   r>  s   &&r   r   8DictTest.test_mutating_lookup.<locals>.NastyKey.__init__y  s    "
r   c                    ^# r  r
   r!   s   &r   r   8DictTest.test_mutating_lookup.<locals>.NastyKey.__hash__|  s    r   c                   < SP                   '       d   SP                   w  r#R Sn         W# V P                  VP                  8H  # r   )mutate_dictr>  )r   r   r)  r   NastyKeys   &&  r   r   6DictTest.test_mutating_lookup.<locals>.NastyKey.__eq__  s<    '''"*"6"6KF+/H(zzU[[00r   r  )
r   r   r   r   r  r   r   r   r   r   )r   r  s   @r   r  r  v  s     K#1 1r   r  N)r  r   )r   key1key2r^   r  s   &   @r   test_mutating_lookupDictTest.test_mutating_lookupt  sM    	1 	1" {{1I !y1I&r   c                F  a / pV P                  \        V4      R 4       ^V^&   V P                  \        V4      R4       / pW^&   V P                  \        V4      R4        ! R R\        4      o ! V3R lR\        4      p^V! 4       /pV P	                  S\        V4       R# )z{}z{1: 2}z
{1: {...}}c                       ] tR tRtRtR# )DictTest.test_repr.<locals>.Exci  r
   Nr   r
   r   r   r   r    r   r   r   c                   .   <a  ] tR tRt o V3R ltRtV tR# )#DictTest.test_repr.<locals>.BadRepri  c                   < S! 4       hr   r
   r   s   &r   __repr__,DictTest.test_repr.<locals>.BadRepr.__repr__  r   r   r
   N)r   r   r   r   r  r   r   r   s   @r   BadReprr    r3  r   r  N)r   r]   r   r   r   )r   r^   r  r   s   &  @r   	test_reprDictTest.test_repr  s    a$'!a(+!a,/")"	f 	 	N#tQ'r   c                    / p\        \        P                  ! 4       4       F  p^V/pK	  	  V P                  \        \
        V4       R# r   )r2   r   exceeds_recursion_limitr   RecursionErrorr]   r  s   &  r   test_repr_deepDictTest.test_repr_deep  s<     w6689AAA :.$2r   c                (  a V P                  / / 4       V P                  ^^/^^/4        ! R R\        4      o ! V3R lR\        4      pV! 4       ^/p^^/pV P                  S4      ;_uu_ 4        W#8H   RRR4       R#   + '       g   i     R# ; i)r/   c                       ] tR tRtRtR# )DictTest.test_eq.<locals>.Exci  r
   Nr   r
   r   r   r   r    r   r   r   c                   4   <a  ] tR tRt o V3R ltR tRtV tR# ) DictTest.test_eq.<locals>.BadCmpi  c                   < S! 4       hr   r
   r   s   &&r   r   'DictTest.test_eq.<locals>.BadCmp.__eq__  r   r   c                    ^# r  r
   r!   s   &r   r   )DictTest.test_eq.<locals>.BadCmp.__hash__      r   r
   Nr   r   s   @r   BadCmpr    s      r   r   N)r   r   r   r   )r   r   d1ra  r   s   &   @r   test_eqDictTest.test_eq  sz    R !Q!Q(")"	V 	 h]Vs##H $###s   1B  B	c                N    V P                  R  4       V P                  R 4       R# )c                 "    V P                  4       # r   )r[   r   s   &r   <lambda>.DictTest.test_keys_contained.<locals>.<lambda>  s
    QVVXr   c                 "    V P                  4       # r   r<   r  s   &r   r  r    s
    QWWYr   N)helper_keys_containedr!   s   &r   test_keys_containedDictTest.test_keys_contained  s     ""#56""#67r   c                B   V! \        4       4      pV! \        4       4      pV! ^^^^/4      pV! ^^^^^^/4      pV! ^^^^^^/4      pV! ^^^^^^/4      pV P                  WE8  4       V P                  WE8*  4       V P                  WT8  4       V P                  WT8  4       V P                  WE8  4       V P                  WE8  4       V P                  WT8*  4       V P                  WT8  4       V P                  WG8  4       V P                  WG8*  4       V P                  Wt8  4       V P                  Wt8  4       V P                  We8  4       V P                  We8*  4       V P                  We8  4       V P                  We8  4       V P                  WV8H  4       V P                  WE8g  4       V P                  W#8H  4       V P                  W#8g  4       V P                  W$8H  4       V P                  W$8g  4       V P                  WW8g  4       V P                  WW8H  4       R# r   )r   rT   r}   )r   fnemptyempty2smallerlargerlarger2larger3s   &&      r   r  DictTest.helper_keys_contained  s    46
DFa1QZ.Qq!AqO$a1Q!_%a1Q!_%)*)*)*)**+*++,+,+,+,+,+, 	)*)*)*)*)*)* 	())*() 	)**+r   c                    ! R  R4      p^V! 4       /p^V! 4       /pV P                  \        4      ;_uu_ 4        VP                  4       VP                  4       8H   RRR4       V P                  \        4      ;_uu_ 4        VP                  4       VP                  4       8g   RRR4       V P                  \        4      ;_uu_ 4        VP                  4       VP                  4       8*   RRR4       V P                  \        4      ;_uu_ 4        VP                  4       VP                  4       8   RRR4       ^V! 4       ^V! 4       /pV P                  \        4      ;_uu_ 4        VP                  4       VP                  4       8   RRR4       V P                  \        4      ;_uu_ 4        VP                  4       VP                  4       8   RRR4       R#   + '       g   i     EL; i  + '       g   i     ELS; i  + '       g   i     EL ; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)c                   &   a  ] tR tRt o R tRtV tR# )9DictTest.test_errors_in_view_containment_check.<locals>.Ci  c                    \         hr   r  r  s   &&r   r   @DictTest.test_errors_in_view_containment_check.<locals>.C.__eq__  s    ""r   r
   Nr   r   r   r   r   r   r   r   s   @r   Cr    s     # #r   r  Nr  )r   r  r  ra  d3s   &    r   %test_errors_in_view_containment_check.DictTest.test_errors_in_view_containment_check  sq   	# 	# XX|,,HHJ"((*$ -|,,HHJ"((*$ -|,,HHJ"((*$ -|,,HHJ"((*$ - a|,,HHJ# -|,,HHJ# -, -,,,,,,,,,, -,,,,sG   "G"G-"H"H&"H(-"H;G*	-G>	H	H%	(H8	;I	c                d   ^^^^/P                  4       p^^^^^^/P                  4       p^^/P                  4       pV P                  W,
          \        4       4       V P                  W,
          ^^04       V P                  W!,
          ^04       V P                  W1,
          ^04       V P                  W,          ^^04       V P                  W,          \        4       4       V P                  W,          0 Rm4       V P                  W,          ^04       V P                  W,          0 Rm4       R# )r/   N>   r/   rE   rG   >   r/   rE   rN  )r[   r   rZ   r   k1k2k3s   &   r   $test_dictview_set_operations_on_keys-DictTest.test_dictview_set_operations_on_keys   s    1QZ__1Q!_!!#UZZ\#%(1Q%(1#&1#&1Q%(#%('*1#&'*r   c                d   ^^^^/P                  4       p^^^^^^/P                  4       p^^/P                  4       pV P                  W,
          \        4       4       V P                  W,
          RR04       V P                  W!,
          R04       V P                  W1,
          R04       V P                  W,          RR04       V P                  W,          \        4       4       V P                  W,          0 Rm4       V P                  W,          R04       V P                  W,          0 Rm4       R# )r/   NrC   rD   rF   rN  rN  >   rC   rD   rF   >   rC   rD   r*  )r<   r   rZ   r#  s   &   r   %test_dictview_set_operations_on_items.DictTest.test_dictview_set_operations_on_items  s    1QZ1Q!_""$U[[]#%(5%.15'*5'*5%.1#%("785'*"78r   c                d   \         P                  p\        ^d4       F  p\        ^4       Uu/ uF  q1! ^4      '       g   K  W1! ^4      bK  	  pp\        ^4       Uu/ uF  q1! ^4      '       g   K  W1! ^4      bK  	  ppV P                  WER7      ;_uu_ 4        \	        VP                  4       4      \	        VP                  4       4      ,          pVP                  4       VP                  4       ,          pV P                  Wv4       RRR4       K  	  R# u upi u upi   + '       g   i     EK  ; i)r^  )leftrightN)r4   r_  r2   r`  rZ   r<   r   )r   rrr  r   r.  r/  expectedactuals   &       r   test_items_symmetric_difference(DictTest.test_items_symmetric_difference  s    sA%*2Y8Y"Q%GAbeGYD8&+Bi9i2a5WQr!uWiE9455tzz|,s5;;=/AA5  2 65 89555s$   D DD/DA.DD/c                   V P                  ^^/P                  4       ^08H  4       V P                  ^0^^/P                  4       8H  4       V P                  ^^/P                  4       ^0,          ^^04       V P                  ^0^^/P                  4       ,          ^^04       V P                  ^^/P                  4       R08H  4       V P                  R0^^/P                  4       8H  4       V P                  ^^/P                  4       ^0,          R^04       V P                  ^0^^/P                  4       ,          R^04       R# )r/   NrC   )rT   r[   r   r<   r!   s   &r   "test_dictview_mixed_set_operations+DictTest.test_dictview_mixed_set_operations(  s
   1

+,!uzz|+,!A+aV4!!uzz|+aV41%01Aa5;;=01!A!,uaj9!!u{{},uaj9r   c                |   V P                  \        R 4       V P                  / R 4        ! R R\        4      pV! ^^^^/4      pV P                  V^,          ^4       V P                  V^,          ^4       V P                  ^V4       V P                  ^VP	                  4       4       V P                  V^,          ^*4        ! R R\        4      pV! 4       pV P                  \        4      ;_uu_ 4       pV^*,           RRR4       V P                  XP                  P                  R
4        ! R R\        4      pV! 4       pV P                  \        4      ;_uu_ 4       pV^*,           RRR4       V P                  VP                  P                  R
4        ! R R	\        4      pV! 4       p	V P                  \        4      ;_uu_ 4       pV	^*,           RRR4       V P                  VP                  P                  R
4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L_; i)__missing__c                   &   a  ] tR tRt o R tRtV tR# ) DictTest.test_missing.<locals>.Di=  c                    ^*# r   r
   r   s   &&r   r9  ,DictTest.test_missing.<locals>.D.__missing__>  r   r   r
   Nr   r   r   r   r9  r   r   r   s   @r   Dr;  =  s      r   r?  c                   &   a  ] tR tRt o R tRtV tR# ) DictTest.test_missing.<locals>.EiG  c                    \        V4      hr   r  r   s   &&r   r9  ,DictTest.test_missing.<locals>.E.__missing__H  s    "3''r   r
   Nr>  r   s   @r   ErA  G       ( (r   rD  Nc                   &   a  ] tR tRt o R tRtV tR# ) DictTest.test_missing.<locals>.FiO  c                    R  V n         R# )c                     R # r   r
   )r   s   &r   r  ;DictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>R  s    tr   Nr9  r!   s   &r   r   )DictTest.test_missing.<locals>.F.__init__P  s
    #3 r   rK  Nr1  r   s   @r   FrG  O  s     4 4r   rM  c                       ] tR tRtRtR# ) DictTest.test_missing.<locals>.GiX  r
   Nr   r
   r   r   GrO  X  r   r   rP  r   )
assertNotHasAttrr   r   r|   r[   r   r  r   argsr   )
r   r?  r^   rD  erP   rM  frP  r  s
   &         r   test_missingDictTest.test_missing4  s   dM2b-0	 	 q!QlO1q!1q!AAFFH%1r"	( 	( C|,,bE -))51	4 	4 Cx((AbE )))51	 	Cx((AbE )))51% -,, )( )(s$   4
H
H

H+H	H(	+H;	c                    / pV P                  \        4      ;_uu_ 4       pVR,           RRR4       V P                  XP                  P                  R4       R#   + '       g   i     L8; i)r/   Nr  )r  )r   r   r   r   rR  )r   r^   rP   s   &  r   test_tuple_keyerrorDictTest.test_tuple_keyerror_  sI    x((AdG )))73 )(s   
AA*	c                  a  ! R  R\         4      o ! V3R lR4      p/ pV! 4       pV! 4       p^W#&   R F9  pV P                  S4      ;_uu_ 4        \        V\        4       4       RRR4       K;  	  R#   + '       g   i     KP  ; i)c                       ] tR tRtRtR# ).DictTest.test_bad_key.<locals>.CustomExceptionih  r
   Nr   r
   r   r   CustomExceptionr\  h  r   r   r]  c                   4   <a  ] tR tRt o R tV3R ltRtV tR# ))DictTest.test_bad_key.<locals>.BadDictKeyik  c                ,    \        V P                  4      # r   )hashr  r!   s   &r   r   2DictTest.test_bad_key.<locals>.BadDictKey.__hash__l  s    DNN++r   c                B   < \        WP                  4      '       d   ShV# r   )
isinstancer  )r   r   r]  s   &&r   r   0DictTest.test_bad_key.<locals>.BadDictKey.__eq__o  s    e^^44))r   r
   Nr   r   r   r   r   r   r   r   )r   r]  s   @r   
BadDictKeyr_  k  s     , r   rg  N)z	d[x2] = 2z	z = d[x2]zx2 in dz	d.get(x2)zd.setdefault(x2, 42)z	d.pop(x2)zd.update({x2: 2}))r   r   execlocals)r   rg  r^   x1x2stmtr]  s   &     @r   test_bad_keyDictTest.test_bad_keyf  st    	i 		 	 \\*D ""?33T68$ 43* 433s   A33Bc                    / p\        ^4       F  pW!V&   K	  	  \        ^4       F  pW K  	  \        ^^	4       F  pW!V&   K	  	  R# )rO  N)r2   r  s   &  r   test_resize1DictTest.test_resize1  sH     qAaD qA q!AaD r   c                   aa  ! VV3R  lR\         4      p/ oRo^SV! 4       &   ^SV! 4       &   ^SV! 4       &   ^SV! 4       &   ^SV! 4       &   Ro^S^	&   R# )c                   6   <a  ] tR tRt o R tVV3R ltRtV tR# ) DictTest.test_resize2.<locals>.Xi  c                    ^# )rO  r
   r!   s   &r   r   )DictTest.test_resize2.<locals>.X.__hash__  r  r   c                8   < S'       d   SP                  4        R # Fr   )r   r   r^   resizings   &&r   r   'DictTest.test_resize2.<locals>.X.__eq__  s    GGIr   r
   Nrf  )r   r^   rz  s   @r   Xrt    s      r   r|  FTN)r   )r   r|  r^   rz  s   & @@r   test_resize2DictTest.test_resize2  se    	 	 	 !#!#!#!#!#!r   c                    V P                  \        4      ;_uu_ 4        R ^^ ,          RRRRRRRRRRRRRR/pRRR4       / pR#   + '       g   i     / pR# ; i)	rN   rO   NrP   r^   rS  rT  r  h)r   ZeroDivisionErrorrc   s   & r   $test_empty_presized_dict_in_freelist-DictTest.test_empty_presized_dict_in_freelist  s_     011a1fc4dCsDdCsD2A 2  21 s   AA	c                    ! R  R\         4      p\        P                  \        P                  \        P                  3pV Fz  pV! 4       p\
        P                  ! V4      pV^/pV! V4      Vn        \        VP                  4      Vn	        ??\        P                  ! 4        V P                  V! 4       RR4       K|  	  R# )c                       ] tR tRtRtR# )+DictTest.test_container_iterator.<locals>.Ci  r
   Nr   r
   r   r   r  r    r   r   r  NzCycle was not collected)r   r   r<   rb   r[   weakrefrefr*   iterr   ri  collectrI   )r   r  viewsr*   r  r  	containers   &      r   test_container_iterator DictTest.test_container_iterator  s    	 	T[[$))4A#C++c"CaIiLCEKCEYJJLMM#%'@A r   c                     ! R  R4      p. p\        V4       F;  pV! 4       p^^^uVn        Vn        Vn        VP	                  VP
                  4       K=  	  V# )c                       ] tR tRtRtR# )(DictTest.make_shared_key_dict.<locals>.Ci  r
   Nr   r
   r   r   r  r    r   r   r  )r2   r   r  r   r}  rp   )r   r:   r  dictsr;   rN   s   &&    r   make_shared_key_dictDictTest.make_shared_key_dict  sT    	 	 qAAq!MACacLL$ 
 r   c                :   V P                  ^4      w  r^VR&   \        P                  ! V4      p^VR&   VP                  R^4       \        P                  ! V4      p^VR&   V P	                  \        V4      . RO4       V P	                  \        V4      . RO4       R# )z[split table must keep correct insertion
order when attributes are adding using setdefault()rN   rO   N)r   r  r   rN   rO   )r   r  r   rO   rN   )r  sys	getsizeofr|  r   rR  )r   rN   rO   size_asize_bs   &    r   test_splittable_setdefault#DictTest.test_splittable_setdefault  s     ((+#q!#	S!q!#a";<a";<r   c                   V P                  ^4      w  r\        P                  ! V4      pVR V P                  \        4      ;_uu_ 4        VR RRR4       V P                  \        V4      RR.4       V P                  \        V4      . RO4       ^*VR&   V P                  \        V4      . RO4       V P                  \        V4      . RO4       R#   + '       g   i     L; i)z*split table must be combined when del d[k]r  Nr   r   r   r  r   r   r   r  )r  r  r  r   r   r   rR  )r   rN   rO   	orig_sizes   &   r   test_splittable_delDictTest.test_splittable_del  s     ((+MM!$	cFx((# ) 	a3*-a/2 #a/2a/2 )(s   
CC!	c                   V P                  ^4      w  rVP                  R4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P	                  \        V4      RR.4       V P	                  \        V4      . RO4       ^*VR&   V P	                  \        V4      . RO4       V P	                  \        V4      . RO4       R#   + '       g   i     L; i)rE   r  Nr   r   r  r  )r  r  r   r   r   rR  r   rN   rO   s   &  r   test_splittable_popDictTest.test_splittable_pop  s    ((+	c
x((EE#J ) 	a3*-a/2 #a/2a/2 )(s   CC'	c                    V P                  ^4      w  r^VR&   V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     R# ; i)z3pop a pending key in a split table should not crashrN   N)r  r   r   r  r  s   &  r   test_splittable_pop_pending$DictTest.test_splittable_pop_pending  sJ     ((+#x((EE#J )(((s   AA#	c                   V P                  ^4      w  r\        P                  ! V4      pVP                  4       pV P	                  VR4       V P                  \        4      ;_uu_ 4        VR RRR4       V P                  \        P                  ! V4      V4       V P	                  \        V4      RR.4       V P	                  \        V4      . RO4       R#   + '       g   i     Lr; i)z-split table must be combined when d.popitem()r   Nr   r  )r   rG   r  )	r  r  r  r  r   r   r   assertGreaterrR  )r   rN   rO   r  items   &    r   test_splittable_popitem DictTest.test_splittable_popitem  s     ((+MM!$	yy{x(x((# ) 	3==+Y7a3*-a/2 )(s   )CC'	c                     ! R R4      pV! R4      pV! R4      pV P                  \        VP                  4      . RO4       / pVP                  VP                  4       V P                  \        V4      . RO4       R# )z0dict.update(other) must preserve order in other.c                   &   a  ] tR tRt o R tRtV tR# )*DictTest.test_splittable_update.<locals>.Ci  c                r    V'       d   ^^^uV n         V n        V n        R# ^^^uV n        V n        V n         R# r   r  )r   orders   &&r   r   3DictTest.test_splittable_update.<locals>.C.__init__  s1    -.1*DFDFDF-.1*DFDFDFr   r  Nr1  r   s   @r   r  r    s     5 5r   r  TFN)rP   rO   rN   )r   rR  rp   r   )r   r  or^   s   &   r   test_splittable_updateDictTest.test_splittable_update  sb    	5 	5 dGeHajj)?;	a/2r   c                     ! R R4      pV! 4       p^Vn         VP                  p^V^&   V P                  \        V4      R^.4       R# )zMsplit table must be correctly resized and converted to generic combined tablec                       ] tR tRtRtR# )<DictTest.test_splittable_to_generic_combinedtable.<locals>.Ci,  r
   Nr   r
   r   r   r  r  ,  r   r   r  r   N)r   rp   r   rR  )r   r  rN   r^   s   &   r   (test_splittable_to_generic_combinedtable1DictTest.test_splittable_to_generic_combinedtable)  sF    	 	 CJJ!a3(+r   c                &   \        \        P                  ^,           4       F  p^R^R^R/p\        V4      p\        P                  ! W14      p\        P
                  ! V4      pV P                  \        V4      \        V4      4       \        P
                  ! V4      p \        V4      p\        P                  ! Y14      p\        P
                  ! T4      pY% T P                  \        T4      \        T4      4       K  	  R#   \         d     K  i ; ir/   rN   rO   rP   N)
r2   pickleHIGHEST_PROTOCOLr  dumpsloadsr   rR  nextr   r   protodataitr^   drops   &     r   test_iterator_picklingDictTest.test_iterator_pickling6  s    622Q67Ec1S!C(DdBR'AaBT"XtDz2aBBx R'AaB
T"XtDz2 8 ! s   DDDc                ^   \        \        P                  ^,           4       EF  p^R^R^R/p\        VP	                  4       4      p\        P
                  ! W14      p\        P                  ! V4      pV P                  V\        P                  P                  4       V P                  \        V4      V4       \        P                  ! V4      p\        V4      p\        P
                  ! WQ4      p\        P                  ! V4      pW&^ ,           V P                  \        V4      V4       EK
  	  R# r  )r2   r  r  r  r<   r  r  rr   r$  r  Iteratorr   r   r  r   r  r  itorgr^   r  r  s   &      r   test_itemiterator_pickling#DictTest.test_itemiterator_picklingH  s    622Q67Ec1S!C(D&EU*AaB !!"koo&>&>?T"Xt,aB8DR'AaB!WT"Xt,' 8r   c           
        \        \        P                  ^,           4       EF  p^R^R^R/p\        VP	                  4       4      p\        P
                  ! W14      p\        P                  ! V4      pV P                  \        V4      \        VP	                  4       4      4       \        P                  ! V4      p\        V4      p\        P
                  ! W14      p\        P                  ! V4      p\        V4      V.,           pV P                  \        V4      \        \        VP	                  4       4      4      4       EK!  	  R# r  )r2   r  r  r  rb   r  r  r   rR  r  sortedr   r  r  r  r^   r  rb   s   &      r   test_valuesiterator_pickling%DictTest.test_valuesiterator_pickling^  s    622Q67Ec1S!C(Ddkkm$BR'AaBT"XtDKKM':;aB8DR'AaB"X&FVF^VD4G-HI 8r   c           	     L   \        \        P                  ^,           4       F  p^R^R^R/p\        V4      p\        P                  ! W14      p\        P
                  ! V4      pV P                  \        V4      \        \        V4      4      4       \        P
                  ! V4      p \        V4      p\        P                  ! Y14      p\        P
                  ! T4      pY% T P                  \        T4      \        \        T4      4      4       K  	  R#   \         d     EK  i ; ir  )
r2   r  r  reversedr  r  r   rR  r  r   r  s   &     r   test_reverseiterator_pickling&DictTest.test_reverseiterator_picklingn  s    622Q67Ec1S!C(D$BR'AaBT"XtHTN';<aBBx R'AaB
T"XtHTN';< 8 ! s   'DD#"D#c                ^   \        \        P                  ^,           4       EF  p^R^R^R/p\        VP	                  4       4      p\        P
                  ! W14      p\        P                  ! V4      pV P                  V\        P                  P                  4       V P                  \        V4      V4       \        P                  ! V4      p\        V4      p\        P
                  ! WQ4      p\        P                  ! V4      pW&^ ,           V P                  \        V4      V4       EK
  	  R# r  )r2   r  r  r  r<   r  r  rr   r$  r  r  r   r   r  r  s   &      r   !test_reverseitemiterator_pickling*DictTest.test_reverseitemiterator_pickling  s    622Q67Ec1S!C(DTZZ\*EU*AaB !!"koo&>&>?T"Xt,aB8DR'AaB!WT"Xt,' 8r   c           
        \        \        P                  ^,           4       EF  p^R^R^R/p\        VP	                  4       4      p\        P
                  ! W14      p\        P                  ! V4      pV P                  \        V4      \        \        VP	                  4       4      4      4       \        P                  ! V4      p\        V4      p\        P
                  ! W14      p\        P                  ! V4      p\        V4      V.,           pV P                  \        V4      \        VP	                  4       4      4       EK!  	  R# r  )r2   r  r  r  rb   r  r  r   rR  r  r  r  s   &      r   #test_reversevaluesiterator_pickling,DictTest.test_reversevaluesiterator_pickling  s    622Q67Ec1S!C(D$++-(BR'AaBT"XtHT[[],C'DEaB8DR'AaB"X&FVF^VDKKM-BC 8r   c           	         ! R  R4      pV! R4      p ! R R\         4      pV P                  VP                  \        W#! R4      4      4       V P                  VP                  VP                  V! R4      ,          4       R# )c                   &   a  ] tR tRt o R tRtV tR# )=DictTest.test_instance_dict_getattr_str_subclass.<locals>.Fooi  c                    Wn         R # r   msg)r   r  s   &&r   r   FDictTest.test_instance_dict_getattr_str_subclass.<locals>.Foo.__init__  s    r   r  Nr1  r   s   @r   Foor    s      r   r  123c                       ] tR tRtRtR# )>DictTest.test_instance_dict_getattr_str_subclass.<locals>._stri  r
   Nr   r
   r   r   _strr    r   r   r  r  N)r   r   r  getattrrp   )r   r  rT  r  s   &   r   'test_instance_dict_getattr_str_subclass0DictTest.test_instance_dict_getattr_str_subclass  sc    	 	 J	3 	4; 78

4; 78r   c                     ! R  R4      pV! 4       p^VP                   ^&   RVn        V P                  VP                   ^^RR/4       R# )c                       ] tR tRtRtR# )FDictTest.test_object_set_item_single_instance_non_str_key.<locals>.Fooi  r
   Nr   r
   r   r   r  r    s    4r   r  rN   N)rp   rN   r   )r   r  rT  s   &  r   0test_object_set_item_single_instance_non_str_key9DictTest.test_object_set_item_single_instance_non_str_key  s>    E

1a3s^4r   c                   aa  ! VV3R  lR4      pR Uu/ uF
  q3V! 4       bK  	  upo\        S4       F  pVSV&   K
  	  R# u upi )c                   0   <a  ] tR tRt o VV3R ltRtV tR# )4DictTest.check_reentrant_insertion.<locals>.Mutatingi  c                   < S! S4       R # r   r
   )r   r^   mutates   &r   __del__<DictTest.check_reentrant_insertion.<locals>.Mutating.__del__  s
    q	r   r
   Nr   r   r   r   r  r   r   )r   r^   r  s   @r   Mutatingr    s      r   r  abcdefghijklmnopqrN)rR  )r   r  r  r)   r^   s   &f  @r   check_reentrant_insertion"DictTest.check_reentrant_insertion  sE    	 	 %99$8q
]$89aAAaD  :s   Ac                   a  R  pS P                  V4       V 3R lpS P                  V4       R pS P                  V4       R# )c                     ^V R&   R# )rO  rO   Nr
   r   s   &r   r  1DictTest.test_reentrant_insertion.<locals>.mutate  s    AcFr   c                 ^   < V P                  SP                  4       V P                  4        R # r   )r   rp   r   )r^   r   s   &r   r  r    s    HHT]]#GGIr   c                 :    V '       d   V P                  4        K  R # r   )r  r   s   &r   r  r    s    		 r   N)r  )r   r  s   f r   test_reentrant_insertion!DictTest.test_reentrant_insertion  s@    	&&v.	 	&&v.	 	&&v.r   c                   a  ! V3R  lR4      p\        ^R4       Uu. uF  q"^ 3NK  	  pp\        V4      o^ SV! 4       &   V! 4       ^ ^^/pV P                  \        VP                  S4       R# u upi )c                   4   <a  ] tR tRt o R tV3R ltRtV tR# ))DictTest.test_merge_and_mutate.<locals>.Xi  c                    ^ # )r   r
   r!   s   &r   r   2DictTest.test_merge_and_mutate.<locals>.X.__hash__  r  r   c                (   < SP                  4        R # rx  ry  )r   r  r   s   &&r   r   0DictTest.test_merge_and_mutate.<locals>.X.__eq__  s    r   r
   Nrf  )r   r   s   @r   r|  r    s      r   r|  i9  N)r2   r   r   r  r   )r   r|  r;   lr^   r   s   &    @r   test_merge_and_mutateDictTest.test_merge_and_mutate  si    	 	 "!TN+NqUN+Qac
S!QN,%8	 ,s   A.c                    \         P                  ! V \        \        4       \         P                  ! V R  \        4       \         P                  ! V R \        4       \         P                  ! V R \        4       R# )c                 4    \        V P                  4       4      # r   )r  r[   r   s   &r   r  4DictTest.test_free_after_iterating.<locals>.<lambda>  s    4>r   c                 4    \        V P                  4       4      # r   )r  rb   r   s   &r   r  r    s    4
;Kr   c                 4    \        V P                  4       4      # r   )r  r<   r   s   &r   r  r    s    4	?r   N)r   check_free_after_iteratingr  r   r!   s   &r   test_free_after_iterating"DictTest.test_free_after_iterating  sM    **4t<**41I4P**41KTR**41JDQr   c                   aaa  ! VV3R  lR4      pV! 4       ^ /oV! 4       V! 4       /oV P                  SS8H  4        ! V3R lR4      p^ V! 4       /p^ \        4       /oV P                  VS8H  4       R# )c                   @   <a  ] tR tRt o V3R ltV3R ltR tRtV tR# )9DictTest.test_equal_operator_modifying_operand.<locals>.Xi  c                (   < SP                  4        R # r   ry  )r   dict_bs   &r   r  ADictTest.test_equal_operator_modifying_operand.<locals>.X.__del__  s    r   c                (   < SP                  4        R # Try  )r   r   dict_as   &&r   r   @DictTest.test_equal_operator_modifying_operand.<locals>.X.__eq__      r   c                    ^#    r
   r!   s   &r   r   BDictTest.test_equal_operator_modifying_operand.<locals>.X.__hash__  r   r   r
   N)	r   r   r   r   r  r   r   r   r   )r   r   r  s   @r   r|  r    s      r   r|  c                   .   <a  ] tR tRt o V3R ltRtV tR# )9DictTest.test_equal_operator_modifying_operand.<locals>.Yi  c                (   < SP                  4        R # r  ry  )r   r   dict_ds   &&r   r   @DictTest.test_equal_operator_modifying_operand.<locals>.Y.__eq__  r"  r   r
   Nr  )r   r*  s   @r   Yr(    s      r   r,  N)rT   rZ   )r   r|  r,  dict_cr   r  r*  s   &   @@@r   %test_equal_operator_modifying_operand.DictTest.test_equal_operator_modifying_operand  sk    		 		 #q#qs&()	 	
 QSSU&()r   c                   a  ! V3R  lR\         4      p/ oV! ^4      ^V! ^4      ^/o \        P                  S4       R#   \         d     R# i ; i)c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )ADictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.Xi  c                    ^# r$  r
   r!   s   &r   r   JDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__hash__  r   r   c                H   < \        S4      ^8  d   SP                  4        R# r/   Fr   r   r   r   r^   s   &&r   r   HDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__eq__	      q6A:GGIr   r
   Nrf  rF  s   @r   r|  r2          r   r|  Nr  r   rP  r  r   r|  r^   s   & @r   -test_fromkeys_operator_modifying_dict_operand6DictTest.test_fromkeys_operator_modifying_dict_operand  sO    	 	 qT1adA	MM! 		s   A   AAc                   a  ! V3R  lR\         4      p/ oV! ^4      V! ^4      0o \        P                  S4       R#   \         d     R# i ; i)c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )@DictTest.test_fromkeys_operator_modifying_set_operand.<locals>.Xi  c                    ^# r$  r
   r!   s   &r   r   IDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__hash__  r   r   c                H   < \        S4      ^8  d   SP                  4        R# r6  r7  r8  s   &&r   r   GDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__eq__  r:  r   r
   Nrf  rF  s   @r   r|  rB    r;  r   r|  Nr<  r=  s   & @r   ,test_fromkeys_operator_modifying_set_operand5DictTest.test_fromkeys_operator_modifying_set_operand  sJ    	 	 qT1Q4L	MM! 		s   > AAc                n   a  ! V3R  lR4      p^ \        4       /o^ V! 4       3SP                  4       9    R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# ):DictTest.test_dictitems_contains_use_after_free.<locals>.Xi(  c                0   < SP                  4        \        # r   r   rK   r8  s   &&r   r   ADictTest.test_dictitems_contains_use_after_free.<locals>.X.__eq__)      	%%r   r
   Nr  rF  s   @r   r|  rK  (  s     & &r   r|  N)rZ   r<   r=  s   & @r   &test_dictitems_contains_use_after_free/DictTest.test_dictitems_contains_use_after_free'  s.    	& 	&
 J	
ACAGGIr   c                f   a  ! V3R  lR\         4      pV! 4       R/oV P                  RS9   4       R# )c                   4   <a  ] tR tRt o V3R ltR tRtV tR# )4DictTest.test_dict_contain_use_after_free.<locals>.Si2  c                0   < SP                  4        \        # r   rM  r8  s   &&r   r   ;DictTest.test_dict_contain_use_after_free.<locals>.S.__eq__3  rO  r   c                    \        R 4      # )testra  r!   s   &r   r   =DictTest.test_dict_contain_use_after_free.<locals>.S.__hash__7      F|#r   r
   Nr   rF  s   @r   SrT  2  s     &$ $r   r\  r>  rX  N)r   r}   )r   r\  r^   s   & @r    test_dict_contain_use_after_free)DictTest.test_dict_contain_use_after_free0  s.    	$ 	$ S'N1%r   c                L   a  ! V3R  lR4      pV! 4       ^{.o\        S.4       R# )c                   .   <a  ] tR tRt o V3R ltRtV tR# ),DictTest.test_init_use_after_free.<locals>.Xi>  c                   < . SR &   ^# ):NNNr
   )r   pairs   &r   r   5DictTest.test_init_use_after_free.<locals>.X.__hash__?  s    Qr   r
   Nr   r   r   r   r   r   r   )r   rc  s   @r   r|  ra  >  s      r   r|  N)r   )r   r|  rc  s   & @r   test_init_use_after_free!DictTest.test_init_use_after_free=  s#    	 	
 SzdVr   c                   a  ! V3R  lR\         4      p\        ^4       Uu/ uF  q"V! V4      bK  	  upoV3R lpV P                  \        V4       R# u upi )c                   .   <a  ] tR tRt o V3R ltRtV tR# );DictTest.test_oob_indexing_dictiter_iternextitem.<locals>.XiG  c                (   < SP                  4        R # r   ry  rc   s   &r   r  CDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.X.__del__H  s    	r   r
   Nr  rF  s   @r   r|  rj  G  r   r   r|  c                  `   < SP                  4        F  p V ^ ,          ^8X  g   K  RS^&   K  	  R# r  r
  )resultr^   s    r   iter_and_mutateIDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.iter_and_mutateM  s'    '')!9>AaD $r   N)r  r2   r   r  )r   r|  r;   ro  r^   s   &   @r   'test_oob_indexing_dictiter_iternextitem0DictTest.test_oob_indexing_dictiter_iternextitemF  sK    	 	 $Ah'h!Wh'	 
 	,8 (s   Ac           
         R ^R^R^ R^R^/pVR \        V4      pV P                  \        V4      \        R4      4       V P                  \        \
        V4       R# )rN   rO   rn   rP   r^   dcbaN)r  r   rR  r   r   r  )r   r^   rs   &  r   test_reversedDictTest.test_reversedT  sV    !S!UAsAsA6eHQKa$v,/-q1r   c                .   V P                  \        \        / 4      4      . 4       V P                  \        \        / P                  4       4      4      . 4       V P                  \        \        / P	                  4       4      4      . 4       V P                  \        \        / P                  4       4      4      . 4       V P                  \        \        \        4       4      4      . 4       V P                  \        \        \        4       P                  4       4      4      . 4       V P                  \        \        \        4       P	                  4       4      4      . 4       V P                  \        \        \        4       P                  4       4      4      . 4       R # r   )r   rR  r  r<   rb   r[   r   r!   s   &r   $test_reverse_iterator_for_empty_dict-DictTest.test_reverse_iterator_for_empty_dict[  s    	hrl+R0hrxxz23R8hryy{34b9hrwwy12B7 	htv./4htv||~67<htv}}78"=htv{{}56;r   c           
     `    ! R  R4      pV P                  \        \        V! ^^4      P                  4      4      RR.4       V P                  \        \        V! ^^ 4      P                  4      4      R.4       V P                  \        \        V! ^ ^4      P                  4      4      R.4       R# )c                   &   a  ] tR tRt o R tRtV tR# )ADictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.Aik  c                B    V'       d   Wn         V'       d	   W n        R # R # r   r   r  )r   r   r  s   &&&r   r   JDictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.A.__init__l  s    qfqf1r   r  Nr1  r   s   @r   rg  r}  k  s     ! !r   rg  r  r   N)r   rR  r  rp   )r   rg  s   & r   -test_reverse_iterator_for_shared_shared_dicts6DictTest.test_reverse_iterator_for_shared_shared_dictsj  s    	! 	!
 	hqAw'7'789C:FhqAw'7'789C5AhqAw'7'789C5Ar   c                2   \         P                  ! RR.4      pVP                  R 4       \        VP	                  4       4      p\        V4      pV P                  \        VP	                  4       4      V4        ! R R\
        4      p. ROpV! V4      pV P                  V\        \        V4      P	                  4       4      4        ! R R\
        4      pV! V4      pV P                  VRRR	1,          \        \        V4      P	                  4       4      4       R# )
rN   c                       ] tR tRtRtR# )1DictTest.test_dict_copy_order.<locals>.CustomDicti~  r
   Nr   r
   r   r   
CustomDictr  ~  r   r   r  c                   0   a  ] tR tRt o R t]tR tRtV tR# )9DictTest.test_dict_copy_order.<locals>.CustomReversedDicti  c                P    \        \        \        P                  V 4      4      4      # r   )r  rR  r   r[   r!   s   &r   r[   >DictTest.test_dict_copy_order.<locals>.CustomReversedDict.keys  s    TYYt_ 566r   c                >    \        \        P                  V 4      4      # r   )r  r   r<   r!   s   &r   r<   ?DictTest.test_dict_copy_order.<locals>.CustomReversedDict.items  s    

4 011r   r
   N)	r   r   r   r   r[   r   r<   r   r   r   s   @r   CustomReversedDictr    s     7 H2 2r   r  NrN   r/   rO   rE   )r  r  )rP   rG   r  )r$  OrderedDictmove_to_endrR  r<   r   r   )r   odr1  rH   r  pairsr^   r  s   &       r   test_dict_copy_orderDictTest.test_dict_copy_ordert  s    $$h%9:
s
#Bxdjjl+X6	 	 /uT!W]]_ 56	2 	2 u%ttd47==?&;<r   c                    \        R . /P                  4       4      p\        P                  ! 4        V P	                  \        P
                  ! \        V4      4      4       R # r   )r  r<   ri  r  rT   rj  r  r   r  s   & r   test_dict_items_result_gc"DictTest.test_dict_items_result_gc  s?    
 4*""$%


 	d2h/0r   c                    \        R . /P                  4       4      p\        P                  ! 4        V P	                  \        P
                  ! \        V4      4      4       R # r   )r  r<   ri  r  rT   rj  r  r  s   & r   "test_dict_items_result_gc_reversed+DictTest.test_dict_items_result_gc_reversed  s=     tRj&&()


d2h/0r   c                     ! R  R4      p ! R R4      pV! 4       p/ Vn         \        ^
4       F  pV! VP                   4      Vn        K  	  R# )c                   ,   a  ] tR tRt o R tR tRtV tR# ).DictTest.test_store_evilattr.<locals>.EvilAttri  c                    Wn         R # r   r   rc   s   &&r   r   7DictTest.test_store_evilattr.<locals>.EvilAttr.__init__  s    r   c                l    R V P                   9   d   V P                   R  \        P                  ! 4        R# )attrN)r^   ri  r  r!   s   &r   r  6DictTest.test_store_evilattr.<locals>.EvilAttr.__del__  s"    TVV#v

r   r   N)r   r   r   r   r   r  r   r   r   s   @r   EvilAttrr    s      r   r  c                       ] tR tRtRtR# ))DictTest.test_store_evilattr.<locals>.Obji  r
   Nr   r
   r   r   Objr    r   r   r  N)rp   r2   r  )r   r  r  r  r  s   &    r   test_store_evilattrDictTest.test_store_evilattr  sD    	 		 	 erA-CH r   c           	       aaa  ! R  R\         4      p^ o ! VV3R lR4      oV! R4      pS! 4       pS! 4       p. pW#3 EF>  oVP                  R^*R^+S^,/4       R^*R^+/p^,VS&   VP                  V4       R^*R^+/pV P                  VP                  S^,4      ^,4       VP                  V4       R^*R^+/pVP	                  S^,/4       VP                  V4       R^*R^+/pVS^,/,          pVP                  V4       V3R lp\        V! 4       4      pVP                  V4       VP                  4       pVP                  V4       \        RRS.4       UU	u/ uF  w  rV	^*V,           bK  	  ppp	VP                  V4       EKA  	  V EF=  pV P                  VR7      ;_uu_ 4        V P                  VP                  R4      ^*4       R	p
V
R
,          p
\        P                  ! RR7      '       d   RpV P                  WJ 4       V P                  VP                  V
4      ^*4       V P                  VP                  R4      ^,4       V P                  VP                  V4      ^,4       V P                  VP                  V4      ^,4       ^ oV P                  VP                  V4      ^,4       V P                  S^4       RRR4       EK@  	  R# u up	pi   + '       g   i     EK\  ; i)c                       ] tR tRtRtR# )(DictTest.test_str_nonstr.<locals>.StrSubi  r
   Nr   r
   r   r   StrSubr    r   r   r  c                   6   <a  ] tR tRt o R tVV3R ltRtV tR# )&DictTest.test_str_nonstr.<locals>.Key3i  c                    \        R 4      # key3rY  r!   s   &r   r   /DictTest.test_str_nonstr.<locals>.Key3.__hash__  r[  r   c                |   < \        VS4      '       g   \        V\        4      '       d   VR 8X  d   S^,          oR# R# )r  TF)rd  r   )r   r   Key3r  s   &&r   r   -DictTest.test_str_nonstr.<locals>.Key3.__eq__  s2    eT**j.D.DRXMHr   r
   Nrf  )r   r  r  s   @r   r  r    s     $ r   r  r  r  r  c               3   ,   <"   Rx  Rx  S ^,3x  R# 5i)r  N)r  r   )r  +   r
   r  s   r   
make_pairs,DictTest.test_str_nonstr.<locals>.make_pairs  s     """"Rj s   r   key1T)cpythonN)r   r}  r   r|  r   r   rH   	enumerater`  rq  r   check_impl_detailr}   assertGreaterEqual)r   r  key3_1key3_2key3_3r  r^   r  r;   r   noninterned_key1interned_key1r  r  r  s   &           @@@r   test_str_nonstrDictTest.test_str_nonstr  s   
	S 	 		 		  $DLL&"fb$;< VR(AAdGLLO VR(AQ\\$3R8LLO VR(AHHdBZ LLO VR(A$OALLO! Z\"ALLO ALLO +4VVT4J*KL*Kb1f*KALLLOM %P A""  v3 $(  D( ,,T::$*M$$%5%FG  '7!8"=  v3  v3  v3   v3''!45 #"  M #""s   K!DKKc                  a  R ^/p. ROpV 3R lpV! 4       ;_uu_ 4        W!9    RRR4       V! 4       ;_uu_ 4        W,           RRR4       V! 4       ;_uu_ 4        ^W&   RRR4       V! 4       ;_uu_ 4        VP                  V^4       RRR4       V! 4       ;_uu_ 4        VP                  V4       RRR4       V! 4       ;_uu_ 4        VP                  V4       RRR4        ! R R4      pV! 4       pS P                  \        4      ;_uu_ 4        WQ9    RRR4       S P                  \        4      ;_uu_ 4        W,           RRR4       S P                  \        4      ;_uu_ 4        ^W&   RRR4       S P                  \        4      ;_uu_ 4        VP                  V^4       RRR4       S P                  \        4      ;_uu_ 4        VP                  V4       RRR4       S P                  \        4      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELo; i  + '       g   i     ELY; i  + '       g   i     EL5; i  + '       g   i     EL; i  + '       g   i     R# ; i)rN   c                  \   < R p SP                  \        \        P                  ! V 4      4      # )z9cannot use 'list' as a dict key (unhashable type: 'list'))assertRaisesRegexr   reescape)r  r   s    r   check_unhashable_key:DictTest.test_unhashable_key.<locals>.check_unhashable_key  s#    MC)))RYYs^DDr   Nc                   &   a  ] tR tRt o R tRtV tR# )/DictTest.test_unhashable_key.<locals>.HashErrori2  c                    \        R 4      h)error)r   r!   s   &r   r   8DictTest.test_unhashable_key.<locals>.HashError.__hash__3  s    w''r   r
   Nre  r   s   @r   	HashErrorr  2  rE  r   r  r   )r|  r  rq  r   r   )r   r^   r   r  r  r  s   f     r   test_unhashable_keyDictTest.test_unhashable_key  s   !H	E "##H $!##F $!##AF $!##LLa  $!##EE#J $!##EE#J $
	( 	( {x((I )x((G )x((AG )x((LLq! )x((EE$K )x((EE$K )(= $################# )(((((((((((((((((s   H	H3I7I!I/
JJ<	J+*J?KK'K;H0	3I	I	I,	/J 	J	J(	+J<	?K	K$	'K8	;L	r
   N)_r   r   r   r   r   r"   r?   rQ   rV   r_   rd   rg   ry   r   r   r   r   r   r  r  rU  rY  rb  rk  rn  rr  r~  r  r  r  r  r  r  r  r  r  r  r   skip_wasi_stack_overflowskip_emscripten_stack_overflowr  r  r  r  r   r'  r+  r3  r6  rU  rX  rm  rp  r}  r  r  r  cpython_onlyr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r.  r>  rG  rP  r]  rf  rq  rv  ry  r  r  r  r  r  r  r  r   r   r   s   @r   r   r      s    %%
	=<@*EGL'(
5$$1L4J>X
0BIBV36 B 
>46A(A*/6)B'4($ %%'++-3 . (3$8*,X$,+93
:)2V4%8 ,B 
 = = 3 3$ 3 3   3 3 3 3  
, 
,3$-,J =$-,D 95
/ 9R*6$$&92<B=< 	1 	1 1 1.$b5H' 'r   r   c                   D   a  ] tR tRt o ]P
                  R 4       tRtV tR# )CAPITestiE  c           	       a \         P                  ! R 4      pVP                  pR^R^R^/pV P                  V! VR\	        R4      4      ^4       V P                  V! VR\	        R4      4      ^4       V P                  V! VR\	        R4      4      ^4       V P                  \        V. ^\	        ^4      4       V P                  \        V/ ^\	        ^4      4        ! R R\        4      o ! V3R lR4      pV! 4       V! 4       reV^/pV P                  V! W5\	        V4      4      ^4       V P                  SW#V\	        V4      4       R# )	_testinternalcapir   r  r   c                       ] tR tRtRtR# ),CAPITest.test_getitem_knownhash.<locals>.ExciW  r
   Nr   r
   r   r   r   r  W  r   r   r   c                   4   <a  ] tR tRt o V3R ltR tRtV tR# ).CAPITest.test_getitem_knownhash.<locals>.BadEqiX  c                   < Shr   r
   r   s   &&r   r   5CAPITest.test_getitem_knownhash.<locals>.BadEq.__eq__Y  r   r   c                    ^# )   r
   r!   s   &r   r   7CAPITest.test_getitem_knownhash.<locals>.BadEq.__hash__[  r  r   r
   Nr   r   s   @r   r   r  X  s      r   r   N)	r   import_moduledict_getitem_knownhashr   ra  r   SystemErrorr   r   )r   r  r  r^   r   r$  r%  r   s   &      @r   test_getitem_knownhashCAPITest.test_getitem_knownhashH  s"   )778KL!2!I!I!S!S!$/3S	BAF/3S	BAF/3S	BAF 	+'=r1d1gN($:B47K")"	 	 %'BG/tBx@!D#5"d2hGr   r
   N)	r   r   r   r   r   r  r  r   r   r   s   @r   r  r  E  s!      H Hr   r  )mapping_testsc                       ] tR tRt]tRtR# )GeneralMappingTestsif  r
   N)r   r   r   r   r   	type2testr   r
   r   r   r  r  f      Ir   r  c                       ] tR tRtRtR# )rl   ii  r
   Nr   r
   r   r   rl   rl   i  s    r   rl   c                       ] tR tRt]tRtR# )SubclassMappingTestsil  r
   N)r   r   r   r   rl   r  r   r
   r   r   r  r  l  r  r   r  __main__)r$  collections.abcri  r  r4   r  r6   r  unittestr  rX  r   test.supportr   TestCaser   r  r  BasicTestMappingProtocolr  r   rl   r  r   mainr
   r   r   <module>r     s      	   	  
    &sx   sl1Hx   H> -@@ 	4 	=AA  zMMO r   