ÿØÿà JFIF    ÿÛ „ !.%+&8&+/1555$;@;4?.451 4,$,44444444444414444444444444444444444444444444444444ÿÀ  á á" ÿÄ     ÿÄ ?    !1AQaq"2‘¡±ÁðBRbrÑá#‚’¢²3S CñÿÄ   ÿÄ !    !1QAa‘2ÿÚ   ? 5˜Z¯V¦cø)›t/? z¨±>Õ5€¶‹Á¤·¼z¼Ü¬+ñ®v¤¨_ˆR­BFn©—˜ý®ç̝P8gýt·ÉSTŦˆìät?þé¼íìN/Þa)ì–í6ô… Ï¿øÃj´¿KÇü]ÿ ªô¹-eKànëÕHTx}ýSÜ›ÿ ”7Ø×&µ<¦  ¥ÑO¶[Ù¯ä¨ÞÃÿ PZ-¬;#õ|•oaÿ ©CìÞz3˜öː/¤­ñTûIØ}š^ mÓ%ªxˆ¥ÉŸu=Z+ISe¿45™¼u;ú&WØ÷€æßQ™®{|íx*TC“#ZŠìZ§²‹ 6pv…³¿¡äª*áZÐ%ÒOáˆo"x«OHk w±æ+¬V(kMúŸ5Vö«$ ÁrÏbàb57/luR ¸ÑÛj Òµì`Мq­û žICÀÊ•©4€Âcà¨Ï€O´<èÐ:›ù(Ë^L8þ‘ÍÌ#¸Ð_Ì©ÙK(Öz 4¬û+¸;ü’V’84‘¬ÃŽ:[â‡ÔÌáõp¢~§ªlæ£ö{®G>J¼"°‡7¯ÆÉèßû ‹É‹§ÁòÃýâßî ^ƾÙõ‹×óH#«LP½ïX=xÑÍ$|W?•~• îëÔ©ª‹ {ÝT…Kÿ ”hûâá)J*ö˜–ÔU;iÇ€/ ÆþjóZ\ýwØ=Ìm ºèËL9 ýèÆð/¨’¥öo=nË.%Îì ŽÕ¯È|{Oj²ƒE6e/ßdÄõ²Ìâ1O®ò×TsəԸhOMýíMˆ¿¼H˜l²,7Â¥#MF/Úf°Ö½± ¸–dr‹NýÊ íjqx{œÉ ä-È ¦ øÄër¨q°ð †nцýÑÄÆ’mä…n<0È™;ÁÝá¯ÁZƒ7FÀmì­ É&9ˆîéi¶ùN§Y• ÃZãAâ?•‡©‰ , ó¾IŸŠc1 4â&y­&pŠ­6;M À 0¹qç»p.á …ŸÅáK@%6·y6ƒ‰3?”úºŽ‰éX5ªPT §µ!=Mž«Ú½‹ÅgÂSâÉaþÓoö–¯ÁÔìR>5éÿ üs¶ÆUcÌ kÇR ]ÿ ù¬¼«VŽ;Â|‡~¢¦”ÏŰæ {L™Õ°Óv¹ò¸írޡעCÃ!íVÕ {¶»sŒNPg/ "uÕbkm²“$ďå¿é¹§°½æz¯6 †s¿!s–wÚÝ“™Œ °.ûj>·+™Òa…©Œ&rÝÎtÛë긪Ît’LAVp%c Úý[ÄzJ¾ÇàXXç@˜ó<êL]·T˜¾¥1Ó©V‡g´æ½¦Ý@¹óø!_@´ÞâSÁ —S3™•& ]@JHÚý©ZŽ €×æÔr»Áf!‡yÞ4Mv*èÓã_{‘åóUuљØ«Oïé*®EvÑ Œ÷‡U \"㪒ÍK+À 4“M¡ï:0¥5í!'<@î´”>Ç»&Z–ïCCV˜Ì5Šo&îhè.žû |ÓK©h$s6KìŒëã)¹hI¦GïOåóI;ììü#É$Š0…Ææ¥TØ.5­¾gn´ “ÂÖ\:hœ89G)J@„}œ:’Ò{/Š"¦_Æ×7Æ3VÇŠÊa]ÚŒÙ€Ä–=®uÁßâACZƒ§§£ Qnâ:«,×{tyø¬iÛcœÜÄ€H½ÄÍCk´÷šß .W'b¤Íåh]÷€=,Žv×cÚEÚHXJX¶îo¨FÒtèöŸ>ªª6[J®Fµ£sGÁeqõfe\íjÒÐïÄÐGˆe1Ø‹.Ø”‘Ëuø Y­ˆÜ ŽG|zùªüMpDnQWÄ”%JŠ™)â*p@Örš«ÕT2Ð%ˆG#ª„ ·¤!°ŸOTÂT¸aÚ%4&h™LµšØüÐ.F¿²ÐÞ_Ç‚¾ÅÃaÜ÷09Æ q€öy˜v‡85õN÷]¬äѼóS{°_MެúÔ#°Ç¸0åÞè2ëôPcvÆw9®ií1Ä8F™˜à‰´+‰Ik1òÝ7“Ñ×ÒsÝ\x‚h`ÞÑ`ó"|µEcý£n˜h`}GÞ !±ù²Ápü²ß6 0ïi󜵩SÈÇ7˜-ÕURO˜¦´f$ªž-Í6(œ}<„ éc øs]ŽŽ„*—¾ ìdŽ„)méª\¿êÎIg¾ØÞ~I#C/¼¼´EÁÈŽi8“©õådô·>euä ƒ'Ê×लR1ÉJE1ÐAát`t;ÇР%Ý<‡¥„ÍÆ`×Oyó)õiI€ñQaŸ4Ûù\áàaÃÔ¹HÃu¹*k€¦<„e S‡&õÏ B!ŽhüÞ`yj}mªf×\¿ Ç~æ­9‡û\՞Ǖg²1Žû5V7 !àöšm° c`ܬøÇìµÒ'P"?…´Ö,"§^•õލsÔ)6˜sæéÍR¼ ò|Sl”‹7 nPW Gòú÷½§O¯‡„l¡kSÞŒr½PÊ@æ¢pŽ-mÿ #Ÿ˜Àº¶Áä¦;ïÔæ$1££`“Õ>„—·ž)ßð³ñ#Ï Ô$¶œ‰ÊE‹À;÷º ¯«P:Ñ”8–IÊtpÞ3ª“>ê“þës4ò2OÏÕ­±zô†Õ§‰.÷ä¸;¿˜“'œ›žª}«Œ{ª±Ì 9ÔóÞÕ‡0 $íWV3Üì¬ —@kÝ4@¿r¼±½¬™›?øØæ´'Áé®CË3-g$˜ö‡×auÚi´Žp/êÛ æF›Ú2v‹ã¿¿,nB1̨ƃqÞa5͝@&Æû“él÷ \C²½UÍc ¯k×¢U ÖéQå™—-r wô ÞÏ<Ò=&=ÿ Ôê Òêˈt,i—;LîÜ á¸*ÚÃ1$êL•LÍ <É)ýÐà’ ;F™{ƒ™˜€&'}‚ãÄK`¡ÞT@I;®žZóè‚s’7®°›+§O­Åq©é»²9<Ô J ¼9O’HL»Ùïì¸rk¼Ž_ý‘TŸu[²ßÚŒ·ü÷B%¯E ŸÔX5êO´ Ç•€’I0 ÉJX` ñ¹õ%;µŸD‘«´€àwÒ™U ûئžÖö\×®×´8 ½‡ºÐÆÓ§?Àkmœ=;d5*@-ì0F Rªýš[Ü6âö̃ڸr*KA9· u*µæ£?U¸Âêí†8@¦X4 e-ò„0s{ HâUpU?¼mñRa°®a%Ð'tÉ×’\¾ÊÉ]t›h>·(Ë@R¼¡Ãt h}’O÷au<+nT…Ö…MӐ??Óe95 q>í/;&JSû °¯ÊéÞ øƒ*Ã2½Ài&:nôUl=¾¿5eˆ3”ñc|Ú2V”>„»&eE;«ÚäC p¢Û úy 9š[ŒÌx¼擼A&DåÒ¯ˆ¤ÀÌ;"˜ ÏQä¸åhÊ}Ûq«Û0WžÒ|»€ø®öCm5•\ÇÀ§Pe3£]0ÃàLDÉ‰1øªxjgwT‚÷¿LΨK‹›ùs—xˆÜ±µ kæ¸f‰‰ÜGk/LÛØ6d9ò¶ùA{ƒA3š/¬D¬khÓk‰`˜"㯒r¿±Óã jx‡°e}<Ñø\3y:'À•/h½Í€Ç4~g ?Û(¼]v‘ªlKÎâ~?O‚W%{Ì:“'©úNq¾›úo(X’¥¯ˆ nFê{Ç€ü?º'ë ø‹ì Þ09ŒÌç9Æ —ËC`j@ÓÄ(+a‹un¸#ÂꟋ{K`‘ÑÍÍ'à´»/Û,KW;Þ4²þð ï Nm|~fGÏ(…³Ã)«1ö­Õ ¥‡¨©ƒÃ™ü-s=à=U66Ï«Ýc蓦W¹íž®›nÔ%êÇìŒ<#Ü×84ån®Ð ÒåOC` ñânÑs‡¢ç 1õ%Îhì½Ã½® e:ݼUZo™`  ÅZŸŒÊ«ê1ÏÄo$q¹Þ€©ˆhÐÉä¯ñ[!…Ú˜àJ:x2$Íß&PåT£6ç— ‡Í*4Ýšçjÿ ‰É nófÐ ó(L5C•åÆ\rMÒ@ò }y-W}™üýVù—ú¢=Ù”c®‘< M ž ´Phr ¦©TD ‘ù.$´÷O‡‘V2Æò.=IUŒ=ž‡â¬i™aþÓåÙ?òUø'ØÖ•.~* šTŒ!•-×áºTâ®ä#õü'´ eýlYÅÓeÕKÂrT"CÚ@u!Óxƒ{š3€}1¿(r}%«nËamjÑ%ÑNEò v ˜à  σöK³,*º.àzù¨™Ó ÚçâU¦*¿ 9{%Ö¹ njûdaXöb) kÛÆ±ûÓ\°M7ˆÂ=û›ç¿Ã‚­V»Cg–8ÙêE- j)k$º`Ã-ùEýeBÆÇ]c¡°ñty&Òd0nõ'¡W+ƒ*|–øµFa\GQªEAÔp5\Ǽ·¼Ç8·õ -â§Ú[ ‡ uZeÖ 3}×d'+¹:ð+K†Û®s!Ï$úe€<Û”x)1»a­¡LC]¸µík…ÚàA»AYº{†ªS[¦5HÒ7ù --,ísòDØ€èk ÞÀîÜ ò@â( ËNˆë›4ô½•/¦o‡€Û7 ê•ÆêòðÜy'Án½µ á˜ݦ ndeo…[ì¶Ê,¥R³Ä=À±—–ß;£™´ñSâ*g§”ïaið‘Jå~™ÓÞ ß³Õ¢»8x埒²52>AÊb&-÷\7´éÄù€T˜,w;3{ï˜k…à¹ÄqÀ«œ{€\ ˆ¾[´¨јr &Úé„Ívˆ±8†¿]|¬ņ4I×pÞS1ÈÖz‰#Ìv‡G!YNògñ:màTz¢Ý1ô©^O=~ë|5Bã™ç•¼µõ•bÆ@úÕS¬ÈŒ#¬zünrŸ û” Z²•èðV"ÁHÚý©wÝ €7¼Ìu1hÑa3Éä û f$o¿É ™Ú›ÝçnpÒ3äÌ3†Í§,Äï]$‰/pê †«À¼¸e9­Æê_C]žƒ·ý·frÁN«, E=›Çq -‰öŒ:aÏ¿±í&£Í:-} 84‘ÿ eƒQÑeëSsuiA ³g㟥ú£?ÿ ʼn*”“÷aühe:ÊWa@ÒÞk±eØ] F Ô—r.åä˜ @ö¥ªZoÐýYL·¥S²G/‡ñ <~*ZÆ´è>JlòàÛÆ½ÿ 窘ìGN¢:I®KšJp/`íIÁÀõ#Ä-€ö­šµŒoF4|ÆQØÆ@Ì|£Ô…¢À{9˜è½Üó›€ôYÒÎYsið;ís¤€à²ˆ‚4qÉVŒI$ ‰"° æµ8cXGjœˏ¡Aâý•ËÜ¢ûï e·çLx']á"oÅÎê3¯Ç—¹”ó0nå‚âg{Œñ> S´˜îè°g238‚ãköÝfÚd´6Ò€;ò÷±¢™¼›º ¢Æ'¥Ðx'e¬ç ]bÈÆV¢ó‹kýBO ðÊâ$Ÿ!×T 3Mýמ žìٍàÌü‘8÷€àæØ8æ©6‰©L´«…oãpð„~Çk‰!ñ;‹”ÛžÍ àž±z Ÿôû øŸÝužÏ;ÿ #|u6™Þ¬ÚˆÐõA4¶â|ôl|Ê2ŽÇ¤ÝÅÇY.<#Aí.k§hóF‚”Y; M½Ö4hŸ4&›­¿tès´%FìL¥£Ãk‰ÇT¤haÁ¤ÚxfÉ`ÑìË›>i 3t‚:,–+^÷´–{Û–Nxi"x‘Ûg î¨>¥Õ܁ùZH,2Û“:8xÊ¢Çí9.É-Ìâã-=çjwµS˜dütžçwýGòú®®ûº_ˆýx$–¡ãøO EÚÛÏ÷R„×w+3£Á£öUMyR²¹âŒ°š›¸Ñãò9§Ó_Dl+Ùßc›úšGÅÌc†Ž!Ko=¶.‘Îÿ c²(2®V mª.ÿ ¹B›¹å ù„öŸSV>™ü¯$y:G¢Z×àøúdî¹û­·ýÇ´:•c LÍõi_‹ö+ÎæGÊè>OŠ•äž´§Þ{X}¨1ÚTc›»Qþ•êô°t¿OP?eæ~É{5]•ÙR£r5†nZ\ã@ &îJõ ¾àC°þV>fé¥/ü5ñÊIº_é5 ;e­h<@ Ä&æÃëE%;X,ÒãÆÞ`Oò¦kŸm#˜!ÀyÄ¢| óLšò¥Ä` ¶R=|ÈCâh5ò3DˆïF†ðÒ#ÅìÛœ?¸yhBãœí ZxßÎÄhºRK„`Þödvײ™ÀÈÑÒgŒuY w³%†ƒÓzõ ÖÏp‚dH®¦A´ù§»ÓÇMæ~)ˆð‡û:ù&Ä •vGD´À n ݇¼Ö8Fö óáà£~Ë¥x`oK|Ä?fxiØü%pìR>éò+Û±éÎ>núlFŤ'tq8LZÏvÃ?„¡ß±È⽆¯³íü@x|PöUäèØã¡ð‚ŒAìÏ"vÍwóŸÍ{ ý0.z È•Ö{,N¡£¡ŸKÕÙž>Ýœþ ÍÀ°<×EA!Å‚D™IúOÍ¡>ôG}Â` ÍßkÜL™Ž Þð™ {IøF²¹òQ3&!ÃÂÞz.d&Ï-sH¸,Ôõ˜ŽP€ 77ˆÝ¼ÊëÜw =cÕ Ú,ØÐ5ÎYÐ)ì´öœgŒ[¤ßv㙑8心>h]§µháYš£²ºÑ.{Ï7Sð•?´~×SÃKýJÛ˜ ™Íäiúu<µX¶1õ^kâçIÑ£sZ4h>j*ÔšD:4­¿_ ÷¸ Õxæÿ ¸?Mù _•­ÊÐ ä ÷ý ÑwL œ­ïnTkÛUÍN©ë:¦fV ¶ÜÔÜMªÅâA½–¿R×TXš-%iTÊT•‡Ù‚JôϐZxWÑè‰f‰òG º ×Õû2aZ7OU3[“×AT–ÞŒ…-‘¤”Ì ì&(ˆ¿­•ƒkï’:ðY¦W‘ Å)“†‘˜³Åtcø˜ñTÂwÚÇ4|üLÇªí–v- qˆèU qPE.†â‘˜µ Æ,ÐÅs]8¾„oúÑ i>ÜxxÈó)ƒ ´æÁâØ$À‰vžŸf$Ž |ãw;ÀÁIJ»b` {¦Ó¤Ú$©YÀ‘n@Óïž«9J¼êG m¤ ܯ¹ÌW4€ÐÒÅÛ‡#褕Ÿn-?í|с¥÷Ú¹¬'´ÞÜ9ÓK `hê£SÄSà?7—Wí_´…óB›»:=Ãïq`<8ñÓŒÑlú2d¬ê³£hÖ[l|$vÝro~'R®‰§°ñmY ͧäP |PUª¹·:3Œ[Û{Xÿ ºâ@‚W–Äé u‚ ¯´*=íή.pûÒdt @G‰¬ s¸ ëÉücr ÞæÑ¨Ê@>¤¢Ö±. Þ'¯°ÌME[YéïĵÂCå½ Ué©Áû'Ê9%eÔðNU”ë‘ÌsD3/®+UI˜9h.WC”빓$#:pz:YÓ ¿xž* ³$Í +$kñAŠ‹†¢ Uê>¸)_š¬÷©ßAÂÔb9ÇU ¯¾á•9¯ÏÏ÷O÷¼¼Fähal1‰3Ì[Ïr•´UCksNÐ] R‘¸¥H+§Šé†c©vÖÞ0iÓ76s†î!§=ß ¼~Ô'°Ãmäoäš³ªøi1úÉ)³yV8 CLÄØÁ‘WYïi€H6ÖÑiámø^ÈY´°Ñ7¥Û*—Ñ©L«Qƒï—Ùrÿ ›£Ð*š¸ˆL©ˆ$ˆ ÷¾D§9È®«qbqC)–ˆïv´çñsÑVT­Ø, <àïºÀO«Jý·õ àfPìð .wFšir´þ’2_Y *Æ€x\« ì€9š@ Ž|F⇥ˆkZ@hÖÄ0t¿-<“‹qµ¾*ZL¤Ú)&BJpÓF5=$„at*Zš$’ÑtdûÝRI1 2މ$€$I$#‰SÞ’Hë¬ï;Á$¡t$’`<(ñÇt)$‡Ð.Êf¢X’Kt=Éé$‚ˆªè¢oÝëòI%Rgcª÷ŠyI%¡‰ÿ !ñ)´õ $¤ Ô’IIGÿÙa 3g @sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z Gdddej Z Gdddej Z ddl mZGdd d ejZGd d d eZGd d d ejZedkredS)N)supportc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1e2j3d_d`Z4e2j3dadbZ5e2j3dcddZ6dedfZ7e2j3dgdhZ8e2j3didjZ9e2j3dkdlZ:e2j3dmdnZ;e2j3dodpZdudvZ?dwdxZ@dydzZAd{d|ZBd}d~ZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSddZTe2j3ddZUe2j3ddZVdS)DictTestc CsGdddt}ddi|ddifD]v}|ttfi|Wdn1sV0Y|t ijfi|Wdq$1s0Yq$dS)Nc@s eZdZdS)z7DictTest.test_invalid_keyword_arguments..CustomN__name__ __module__ __qualname__rr-/opt/python39/lib/python3.9/test/test_dict.pyCustomsr )dict assertRaises TypeErrorupdate)selfr invalidrrr test_invalid_keyword_argumentss  , z'DictTest.test_invalid_keyword_argumentscCs |ti|tidSN) assertEqualr assertIsNotrrrr test_constructorszDictTest.test_constructorcCs^dD]T}ddt|D}t|dd|D}dd|d}|t|t|qdS) N)rr icSs$g|]}dttjd|fqS))joinrandomsamplestring ascii_letters.0irrr !sz5DictTest.test_literal_constructor..css|]\}}d||VqdS)z {!r}: {:d}N)format)r#kvrrr $z4DictTest.test_literal_constructor..{z, })rangershufflerrevalr )rnitemsZformatted_itemsZ dictliteralrrr test_literal_constructors z!DictTest.test_literal_constructorcCsbdddd}dddd}|}||O}|||Bddddd||ddddd|}||O}|||Bddddd||ddddd|}|gd O}||ddddd||dt||d t||d t||d t|t|jd||d dddd|t|jd ||d dddddS) Nrr )rr r r r r r3)rr r r3)r r r3r)r r r r r3r3rZBADr) copyrassertIs__or__NotImplementedrr__ior__ ValueError)rabcrrr test_merge_operator(s*   zDictTest.test_merge_operatorcCsD|i d|ddi|tid|tddiddS)NTr r F)r9 assertTrueboolrrrr test_boolHszDictTest.test_boolcCsi}|t|tddd}|}|t|ddh|d||d||d||d||t|jd|ttddddS)Nr r r>r?r>r?r>zdict_keys(['a']))rsetkeysassertInrrreprr )rdr'rrr test_keysNs     zDictTest.test_keyscCsfi}|t|tddi}|t|dh|t|jd|ttddddS)Nr r rFzdict_values([1]))rrGvaluesrrrJr rrKrrr test_values[s zDictTest.test_valuescCsfi}|t|tddi}|t|dh|t|jd|ttddddS)Nr r r r rFzdict_items([('a', 1)]))rrGr1rrrJr rNrrr test_itemscs zDictTest.test_itemscCsli}|d||d|v|d|vddd}|d||d||d||t|jdS)Nr>r r rEr?r@) assertNotIn assertFalserBrIrr __contains__rNrrr test_containsls     zDictTest.test_containscCs2i}|t|dddd}|t|ddS)Nrr r rE)rlenrNrrr test_lenxs zDictTest.test_lencsddd}||dd||ddd|d<d|d<||dd||dd|d=||ddd |t|jGfd d d t}i}d ||<|t|jd GdddtGfdddt}|}d ||<d|_||j|dS)Nr r rEr>r?r3r@)r>r@cs eZdZfddZddZdS)z$DictTest.test_getitem..BadEqcs dSrrrotherExcrr __eq__sz+DictTest.test_getitem..BadEq.__eq__cSsdS)Nrrrrr __hash__sz-DictTest.test_getitem..BadEq.__hash__Nrrrr]r_rr[rr BadEqs ra*c@s eZdZdS)z"DictTest.test_getitem..ExcNrrrrr r\r*r\cseZdZdZfddZdS)z&DictTest.test_getitem..BadHashFcs|jrndSdSNrbfailrr[rr r_sz/DictTest.test_getitem..BadHash.__hash__Nrrrrfr_rr[rr BadHashsrhT)rrr __getitem__objectKeyError Exceptionrf)rrKrarhxrr[r test_getitem~s(  zDictTest.test_getitemcCs4dddd}|||i|t|jddSNr r r3r4)clearrrrrNrrr test_clears  zDictTest.test_clearcsli}|ddi|ddi|dddd||dddd|||dddd|ttf|jdGddd}|||||ddddGd d d t|Gfd d d }||j|Gfd d d }||j|Gfdd d }||j|Gfdddt}|ij||tijdgdS)Nr dr r3r4c@s$eZdZddZddZddZdS)z,DictTest.test_update..SimpleUserDictcSsdddd|_dSrorKrrrr __init__sz5DictTest.test_update..SimpleUserDict.__init__cSs |jSr)rKrHrrrr rHsz1DictTest.test_update..SimpleUserDict.keyscSs |j|Srrt)rr$rrr risz8DictTest.test_update..SimpleUserDict.__getitem__N)rrrrurHrirrrr SimpleUserDictsrvc@s eZdZdS)z!DictTest.test_update..ExcNrrrrr r\r*r\cseZdZfddZdS)-DictTest.test_update..FailingUserDictcsdSrrrr[rr rHs2DictTest.test_update..FailingUserDict.keysN)rrrrHrr[rr FailingUserDictsrycs eZdZfddZddZdS)rwcsGfddd}|S)Ncs(eZdZddZddZfddZdS)EDictTest.test_update..FailingUserDict.keys..BogonItercSs d|_dSNr r$rrrr rusNDictTest.test_update..FailingUserDict.keys..BogonIter.__init__cSs|Srrrrrr __iter__sNDictTest.test_update..FailingUserDict.keys..BogonIter.__iter__cs|jrd|_dSdS)Nrr>r|rr[rr __next__sNDictTest.test_update..FailingUserDict.keys..BogonIter.__next__Nrrrrur~rrr[rr BogonItersrrrrr[rr rHs rxcSs|Srrrkeyrrr ris9DictTest.test_update..FailingUserDict.__getitem__NrrrrHrirr[rr rys cs eZdZddZfddZdS)rwcSsGddd}|S)Nc@s$eZdZddZddZddZdS)rzcSstd|_dS)Nr>)ordr$rrrr rusr}cSs|Srrrrrr r~srcSs2|jtdkr*t|j}|jd7_|StdS)Nzr )r$rchr StopIteration)rZrtnrrr rs  rNrrrrr rsrrrrrr rHs rxcsdSrrrr[rr risrNrrr[rr rys cs eZdZddZfddZdS)z$DictTest.test_update..badseqcSs|Srrrrrr r~sz-DictTest.test_update..badseq.__iter__cs dSrrrr[rr rsz-DictTest.test_update..badseq.__next__Nrrrr~rrr[rr badseqsr) rrrrAttributeErrorrprlrjr=)rrKrvryrrr[r test_updates. zDictTest.test_updatec sj|tdddddi|d|ddddd|ddddd|gidd}||ddi|tijdGd d d t}||d d di||d d di||d |||d |Gd d d t}|d}||ddd||tj|ttjGdddt Gfdddt}||jdgGfdddt }|tj|Gfdddt}||jdgtt t dt d|tdtt t ddgdGfdddt}ddt dD } | jdddd||hd| dS)Nabc)r>r?r@)rXrcss dVdSr{rrrrr gsz!DictTest.test_fromkeys..gr r3c@s eZdZdS)z(DictTest.test_fromkeys..dictlikeNrrrrr dictliker*rr>c@seZdZddZdS)z&DictTest.test_fromkeys..mydictcSstSr) collectionsUserDictclsrrr __new__sz.DictTest.test_fromkeys..mydict.__new__Nrrrrrrrr mydictsrabrEc@s eZdZdS)z#DictTest.test_fromkeys..ExcNrrrrr r\r*r\cseZdZfddZdS)z(DictTest.test_fromkeys..baddict1cs dSrrrr[rr rusz1DictTest.test_fromkeys..baddict1.__init__Nrrrrurr[rr baddict1srcs eZdZddZfddZdS)z&DictTest.test_fromkeys..BadSeqcSs|Srrrrrr r~sz/DictTest.test_fromkeys..BadSeq.__iter__cs dSrrrr[rr rsz/DictTest.test_fromkeys..BadSeq.__next__Nrrr[rr BadSeqsrcseZdZfddZdS)z(DictTest.test_fromkeys..baddict2cs dSrr)rrvaluer[rr __setitem__ sz4DictTest.test_fromkeys..baddict2.__setitem__N)rrrrrr[rr baddict2srrcseZdZfddZdS)z(DictTest.test_fromkeys..baddict3csSrrrrtrr r*sz0DictTest.test_fromkeys..baddict3.__new__Nrrrtrr baddict3)srcSsi|] }||qSrrr"rrr ,r*z*DictTest.test_fromkeys.. >r@r?r>)rr fromkeysrrrassertIsInstancerrrlrjzipr-r8r) rrrrZudrrrrresr)r\rKr test_fromkeyssB (zDictTest.test_fromkeyscCsdddd}||||||||dddd|}d|d<||||ii|t|jddS)Nr r r3r4rX)rr8rassertNotEqualrr)rrKr8rrr test_copy1s  zDictTest.test_copyc CsdD]}t|d||d}|j|dvi}t|D] }|||<q:|}||||||d|d<||||t|t|dWdq1s0YqdS)N)rrri'ir ) dict_sizerrr ) r randrangeZsubTestr-r8rrrrV)rrrKr$d2rrr test_copy_fuzz>s     zDictTest.test_copy_fuzzcCsPGddd}|}iddi|difD]$}|}|t|t|q&dS)Nc@s eZdZdS)z0DictTest.test_copy_maintains_tracking..ANrrrrr AOsrr>r val)r8rgc is_tracked)rrrrKrrrr test_copy_maintains_trackingNs z%DictTest.test_copy_maintains_trackingcCs>ddtdD}tdD] }||=q|}|||dS)NcSsi|] }||qSrrr#r'rrr r_r*z1DictTest.test_copy_noncompact..ri)r-r8r)rrKr'rrrr test_copy_noncompactXs  zDictTest.test_copy_noncompactcCsi}||dd||dddddd}||dd||ddd||dd||ddd|t|j|t|jddddS)Nr@r3r r rEr>)r9getrrrrNrrr test_getes zDictTest.test_getcsi}||dd|dg||dd|dgd||ddd|dgd|t|dd|t|jGdddtGfd d d t}|}d ||<d |_ ||j|gdS) NZkey0rr3rrXr c@s eZdZdS)z%DictTest.test_setdefault..ExcNrrrrr r\}r*r\cseZdZdZfddZdS)z)DictTest.test_setdefault..BadHashFcs|jrndSdSrdrerr[rr r_sz2DictTest.test_setdefault..BadHash.__hash__Nrgrr[rr rhsrhrbT) r9 setdefaultappendrrVrrrlrjrf)rrKrhrmrr[r test_setdefaultqs zDictTest.test_setdefaultcCsdGdddt}|}|di}|}||g||jd||jd||j|jddS)Nc@s$eZdZddZddZddZdS)z/DictTest.test_setdefault_atomic..HashedcSsd|_d|_dSNr hash_counteq_countrrrr rusz8DictTest.test_setdefault_atomic..Hashed.__init__cSs|jd7_dSNr rbrrrrr r_sz8DictTest.test_setdefault_atomic..Hashed.__hash__cSs|jd7_t|t|kSr{ridrYrrr r]sz6DictTest.test_setdefault_atomic..Hashed.__eq__Nrrrrur_r]rrrr Hashedsrrr )rjrrrrrrZhashed1yZhashed2rrr test_setdefault_atomics  zDictTest.test_setdefault_atomicc CspGdddt}|}|dddddddddi}|}g||<||jd||jd||j|jddS)Nc@s$eZdZddZddZddZdS)z6DictTest.test_setitem_atomic_at_resize..HashedcSsd|_d|_dSrrrrrr rusz?DictTest.test_setitem_atomic_at_resize..Hashed.__init__cSs|jd7_dSrrrrrr r_sz?DictTest.test_setitem_atomic_at_resize..Hashed.__hash__cSs|jd7_t|t|kSr{rrYrrr r]sz=DictTest.test_setitem_atomic_at_resize..Hashed.__eq__Nrrrrr rsrrrr r r3)rjrrrrrrr test_setitem_atomic_at_resizes z&DictTest.test_setitem_atomic_at_resizecCsdD]}tdD]}d|}i}i}t|D]$}||t|<|dkr,||t|<q,|dkrb|}t|D]Z}|\}}} ||t||\} } } || t| ||dko| | kqj||||qqi} |t| jdS)N)r r r) r-rJr8popitemrintrSrrk)rcopymodeZlog2sizesizer>r?r$kavataZkbZvbtbrKrrr test_popitems*     zDictTest.test_popitemcsi}d\}}|||<|t|jd|||||t|d|t|j|||||||||<|||d||t|jGdddtGfdddt}|}d ||<d |_||j|dS) N)rdefZghirr c@s eZdZdS)zDictTest.test_pop..ExcNrrrrr r\r*r\cseZdZdZfddZdS)z"DictTest.test_pop..BadHashFcs|jrndSdSrdrerr[rr r_sz+DictTest.test_pop..BadHash.__hash__Nrgrr[rr rhsrhrbT) rrkpoprrVrrlrjrf)rrKr'r(rhrmrr[r test_pops"zDictTest.test_popcCsPi}d|d<|t&|D]}d||d<qWdn1sB0YdSr{r RuntimeErrorrrKr$rrr test_mutating_iterations  z DictTest.test_mutating_iterationcCsRi}d|d<|t(|D]}|d=d|d<qWdn1sD0YdSrrrrrr test_mutating_iteration_deletes  z'DictTest.test_mutating_iteration_deletecCsVi}d|d<|t,|D]}|d=d|d<q Wdn1sH0YdSr)rrrMrrrr *test_mutating_iteration_delete_over_valuess   z3DictTest.test_mutating_iteration_delete_over_valuescCsVi}d|d<|t,|D]}|d=d|d<q Wdn1sH0YdSrrrr1rrrr )test_mutating_iteration_delete_over_items s   z2DictTest.test_mutating_iteration_delete_over_itemscsPGfdddd}d}|di}||f_d||<|||didS)Ncs,eZdZdZddZddZfddZdS)z/DictTest.test_mutating_lookup..NastyKeyNcSs ||_dSr)r)rrrrr rusz8DictTest.test_mutating_lookup..NastyKey.__init__cSsdSr{rrrrr r_sz8DictTest.test_mutating_lookup..NastyKey.__hash__cs(jrj\}}d_||=|j|jkSr) mutate_dictr)rrZrrNastyKeyrr r] s  z6DictTest.test_mutating_lookup..NastyKey.__eq__)rrrrrur_r]rrrr rsrr r )rr)rZkey1Zkey2rKrrr test_mutating_lookups zDictTest.test_mutating_lookupcsi}|t|dd|d<|t|di}||d<|t|dGdddtGfdd d t}d|i}|t|dS) Nz{}r r z{1: 2}z {1: {...}}c@s eZdZdS)zDictTest.test_repr..ExcNrrrrr r\7r*r\cseZdZfddZdS)z#DictTest.test_repr..BadReprcs dSrrrr[rr __repr__:sz,DictTest.test_repr..BadRepr.__repr__N)rrrrrr[rr BadRepr9sr)rrJrlrjr)rrKrrr[r test_repr.s zDictTest.test_reprcCs4i}ttdD] }d|i}q|tt|dS)Nrrr )r-sysgetrecursionlimitrRecursionErrorrJrrrr test_repr_deep@s zDictTest.test_repr_deepcs|ii|ddiddiGdddtGfdddt}|di}ddi}|||kWdn1s~0YdS)Nr r c@s eZdZdS)zDictTest.test_eq..ExcNrrrrr r\Jr*r\cs eZdZfddZddZdS)z DictTest.test_eq..BadCmpcs dSrrrYr[rr r]Msz'DictTest.test_eq..BadCmp.__eq__cSsdSr{rrrrr r_Osz)DictTest.test_eq..BadCmp.__hash__Nr`rr[rr BadCmpLs r)rrlrjr)rrd1rrr[r test_eqFs   zDictTest.test_eqcCs |dd|dddS)NcSs|Sr)rHrmrrr Yr*z.DictTest.test_keys_contained..cSs|Srr1rrrr rZr*)helper_keys_containedrrrr test_keys_containedXszDictTest.test_keys_containedcCs|t}|t}|ddd}|dddd}|dddd}|dddd}|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||kdS)Nr r rPr3r4)rXr r3)r rBrS)rfnemptyZempty2ZsmallerZlargerZlarger2Zlarger3rrr r\s<  zDictTest.helper_keys_containedcCsGddd}d|i}d|i}|t ||kWdn1sR0Y|t ||kWdn1s0Y|t ||kWdn1s0Y|t ||kWdn1s0Y||d}|t ||kWdn1sL0Y|t ||kWdn1s0YdS)Nc@seZdZddZdS)z9DictTest.test_errors_in_view_containment_check..CcSstdSrrrYrrr r]sz@DictTest.test_errors_in_view_containment_check..C.__eq__Nrrrr]rrrr Csrr rPr)rrrrZd3rrr %test_errors_in_view_containment_checks    . . . 0 0 z.DictTest.test_errors_in_view_containment_checkcCsddd}dddd}ddi}|||t|||ddh|||dh|||dh|||@ddh|||@t|||Bhd|||Adh|||AhddS) Nr r rPr3r4rX>r r r3>r r rX)rHrrGrk1k2Zk3rrr $test_dictview_set_operations_on_keyss z-DictTest.test_dictview_set_operations_on_keyscCsddd}dddd}ddi}|||t|||ddh|||d h|||d h|||@ddh|||@t|||Bhd |||Ad h|||Ahd dS) Nr r rPr3r4rXr5r6r7rXrX>r5r7r6>rr5r6)r1rrGrrrr %test_dictview_set_operations_on_itemss z.DictTest.test_dictview_set_operations_on_itemscCs|ddidhk|dhddik|ddidhBddh|dhddiBddh|ddidhk|dhddik|ddidhBddh|dhddiBddhdS)Nr r r5)rBrHrr1rrrr "test_dictview_mixed_set_operationssz+DictTest.test_dictview_mixed_set_operationsc Cs|ttd|tidGdddt}|ddd}||dd||dd|d||d|||dd Gd d d t}|}|t}|d Wdn1s0Y||jj d Gd ddt}|}|t }|d Wdn1s"0Y||jj d Gdddt}|} |t }| d Wdn1s|0Y||jj d dS)N __missing__c@seZdZddZdS)z DictTest.test_missing..DcSsdSrdrrrrr rsz,DictTest.test_missing..D.__missing__Nrrrrrrrr Dsrr rX)r r3r r3rbc@seZdZddZdS)z DictTest.test_missing..EcSs t|dSrrrrrr rsz,DictTest.test_missing..E.__missing__Nrrrrr Esr)rbc@seZdZddZdS)z DictTest.test_missing..FcSsdd|_dS)NcSsdSrr)rrrr rr*z;DictTest.test_missing..F.__init__..)rrrrr rusz)DictTest.test_missing..F.__init__Nrrrrr Fsrc@s eZdZdS)z DictTest.test_missing..GNrrrrr Gsr) rShasattrr rrRrHrr exceptionargsrk) rrrKrer@rfrrrrr test_missings0  & ( (zDictTest.test_missingcCsJi}|t}|dWdn1s,0Y||jjddS)Nr )r)rrkrr r )rrKr@rrr test_tuple_keyerrors &zDictTest.test_tuple_keyerrorc s~GdddtGfddd}i}|}|}d||<dD]:}|t|tWdq>1sn0Yq>dS)Nc@s eZdZdS)z.DictTest.test_bad_key..CustomExceptionNrrrrr CustomExceptionsrcs eZdZddZfddZdS)z)DictTest.test_bad_key..BadDictKeycSs t|jSr)hash __class__rrrr r_sz2DictTest.test_bad_key..BadDictKey.__hash__cst||jr|Sr) isinstancerrYrrr r]s z0DictTest.test_bad_key..BadDictKey.__eq__Nrrrr_r]rrrr BadDictKeysrr )z d[x2] = 2z z = d[x2]zx2 in dz d.get(x2)zd.setdefault(x2, 42)z d.pop(x2)zd.update({x2: 2}))rlrexeclocals)rrrKZx1Zx2Zstmtrrr test_bad_keys  zDictTest.test_bad_keycCsJi}tdD] }|||<q tdD] }||=q"tddD] }|||<q8dS)Nr )r-rrrr test_resize1s   zDictTest.test_resize1cs`Gfdddt}idd|<d|<d|<d|<d|<d d d <dS) Ncs"eZdZddZfddZdS)z DictTest.test_resize2..XcSsdS)Nrrrrrr r_+sz)DictTest.test_resize2..X.__hash__csr dSNFrprYrKZresizingrr r]-sz'DictTest.test_resize2..X.__eq__Nrrrrr X*srFr r r3rXrTrr)rjrrrrr test_resize2&s     zDictTest.test_resize2c CsL|t*dddddddddd}Wdn1s:0Yi}dS)Nr r)r>r?r@rKr r rh)rZeroDivisionErrorrNrrr $test_empty_presized_dict_in_freelist<s  $z-DictTest.test_empty_presized_dict_in_freelistcCsxGdddt}tjtjtjf}|D]N}|}t|}|di}|||_t|j|_ ~~t | |ddq$dS)Nc@s eZdZdS)z+DictTest.test_container_iterator..CNrrrrr rGsrr zCycle was not collected) rjr r1rMrHweakrefrefr(iterrmrcollectr9)rrZviewsr(objr& containerrrr test_container_iteratorDs   z DictTest.test_container_iteratorcCs&tt|t||dSr)rr(rSrrtrrr _not_trackedTszDictTest._not_trackedcCs8|t||tt|t||dSr)rBrrr(r,rrr _trackedZszDictTest._trackedcCsdddgf\}}}}|i||d|||di|ddd|dtd|dti|dgi|dgfi|dii|dtidS) N?r>)r Nrr r )r r?)r )NTFr)r.rrjr/rG)rrmrrwrrr test_track_literals`s zDictTest.test_track_literalsc CsVGdddt}dddtfg|f\}}}}}t}||d|d<||d||<||d||<||||||d<||||d|d<||||t}t}||d<||||||d<||t|||g}||t}||||t||||g}||t}||||t|||d }||t||||d }||t}|j|||d |||j|d ||t||f|dfg}||t||f||fg}||t}|||f|dfg|||||f||fg||dS) Nc@s eZdZdS)z-DictTest.test_track_dynamic..MyObjectNrrrrr MyObjectusr3r0r>r r r3rXrmrr)rmrrr1)r1)rjr r.r8r/rr) rr3rmrrr1orKddrrr test_track_dynamicrsh                        zDictTest.test_track_dynamiccCs Gdddt}||dS)Nc@s eZdZdS)z,DictTest.test_track_subtypes..MyDictNrrrrr MyDictsr8)r r/)rr8rrr test_track_subtypesszDictTest.test_track_subtypescCsFGddd}g}t|D]&}|}d\|_|_|_||jq|S)Nc@s eZdZdS)z(DictTest.make_shared_key_dict..CNrrrrr rsrr4)r-rmrrr__dict__)rr0rZdictsr$r>rrr make_shared_key_dicts zDictTest.make_shared_key_dictcCs~|d\}}d|d<t|}d|d<|ddt|}d|d<||||t|gd|t|gddS)zMsplit table must be combined when setdefault() breaks insertion orderr r r>r?)rmrrr>r?)rmrrr?r>N)r;r getsizeofr assertGreaterrlist)rr>r?Zsize_aZsize_brrr test_splittable_setdefaults    z#DictTest.test_splittable_setdefaultcCs|d\}}t|}|d=|t|d=Wdn1sD0Y|t|||t|ddg|t|gdd|d<|t|gd|t|gddS) z*split table must be combined when del d[k]r rNrmrr4rbrmrr)r;rr<rrkr=rr>rr>r? orig_sizerrr test_splittable_dels  $zDictTest.test_splittable_delcCs|d\}}t|}|d|t|dWdn1sL0Y|t|||t|ddg|t|gdd|d<|t|gd|t|gddS) z*split table must be combined when d.pop(k)r rNrmrr4rbr@) r;rr<rrrkr=rr>rArrr test_splittable_pops   (zDictTest.test_splittable_popcCsN|d\}}d|d<|t|dWdn1s@0YdS)z3pop a pending key in a split table should not crashr rXr>N)r;rrkr)rr>r?rrr test_splittable_pop_pendings z$DictTest.test_splittable_pop_pendingcCs|d\}}t|}|}||d|t|d=Wdn1sR0Y|t|||t|ddg|t|gddS)z-split table must be combined when d.popitem()r )rr3rNrmrr4) r;rr<rrrrkr=r>)rr>r?rBitemrrr test_splittable_popitems   $z DictTest.test_splittable_popitemcCsddl}Gddd}|}d|_|||j|jd|||jd|_|||j|}d|_|||j|j|||jd|_|||jdS) z;setattr() must not convert combined table into split table.rNc@s eZdZdS)z5DictTest.test_splittable_setattr_after_pop..CNrrrrr rsrr r>r r3) _testcapir>rBZdict_hassplittabler:rrSr)rrHrr>rrr !test_splittable_setattr_after_pops   z*DictTest.test_splittable_setattr_after_popc CsttjdD]}dddd}t|}t||}t|}|t|t|t|}z t|}Wnt y|YqYn0t||}t|}||=|t|t|qdSNr r>r?r@r4) r-pickleHIGHEST_PROTOCOLr'dumpsloadsrr>nextrrprotodataitrKdroprrr test_iterator_pickling5s         zDictTest.test_iterator_picklingcCsttjdD]}dddd}t|}t||}t|}||tj j | t ||t|}t |}t||}t|}||d=| t ||qdSNr r>r?r@r4r)r-rKrLr'r1rMrNrrrIteratorrr rOrrQrRZitorgrKrSrTrrr test_itemiterator_picklingGs        z#DictTest.test_itemiterator_picklingcCsttjdD]}dddd}t|}t||}t|}|t|t|t|}t |}t||}t|}t||g}|t |t t|qdSrJ) r-rKrLr'rMrMrNrr>rOsortedrrQrRrSrKrTrMrrr test_valuesiterator_pickling]s       z%DictTest.test_valuesiterator_picklingc CsttjdD]}dddd}t|}t||}t|}|t|tt|t|}z t|}Wnt yYqYn0t||}t|}||=|t|tt|qdSrJ) r-rKrLreversedrMrNrr>rOrrPrrr test_reverseiterator_picklingms         z&DictTest.test_reverseiterator_picklingcCsttjdD]}dddd}t|}t||}t|}||tj j | t ||t|}t |}t||}t|}||d=| t ||qdSrV)r-rKrLr]r1rMrNrrrrWrr rOrXrrr !test_reverseitemiterator_picklings        z*DictTest.test_reverseitemiterator_picklingcCsttjdD]}dddd}t|}t||}t|}|t|tt|t|}t |}t||}t|}t||g}|t |t |qdSrJ) r-rKrLr]rMrMrNrr>rOrZr[rrr #test_reversevaluesiterator_picklings       z,DictTest.test_reversevaluesiterator_picklingcCsZGddd}|d}Gdddt}||jt||d||j|j|ddS)Nc@seZdZddZdS)z=DictTest.test_instance_dict_getattr_str_subclass..FoocSs ||_dSr)msg)rrarrr ruszFDictTest.test_instance_dict_getattr_str_subclass..Foo.__init__Nrrrrr FoosrbZ123c@s eZdZdS)z>DictTest.test_instance_dict_getattr_str_subclass.._strNrrrrr _strsrcra)strrragetattrr:)rrbr rcrrr 'test_instance_dict_getattr_str_subclasss z0DictTest.test_instance_dict_getattr_str_subclasscCs<Gddd}|}d|jd<d|_||jddddS)Nc@s eZdZdS)zFDictTest.test_object_set_item_single_instance_non_str_key..FooNrrrrr rbr*rbr r>)r r>)r:r>r)rrbr rrr 0test_object_set_item_single_instance_non_str_keys  z9DictTest.test_object_set_item_single_instance_non_str_keycs@GfdddfdddDtD] }||<q.dS)NcseZdZfddZdS)z4DictTest.check_reentrant_insertion..Mutatingcs dSrrrrKmutaterr __del__sz.Mutating.__del__Nrrrrjrrhrr Mutatingsrlcsi|] }|qSrrr)rlrr rr*z6DictTest.check_reentrant_insertion..Zabcdefghijklmnopqr)r>)rrir'r)rlrKrir check_reentrant_insertions z"DictTest.check_reentrant_insertioncs>dd}|fdd}|dd}|dS)NcSs d|d<dS)Nrr?rrtrrr risz1DictTest.test_reentrant_insertion..mutatecs|j|dSr)rr:rprtrrr ris cSs|r|qdSr)rrtrrr ris)rm)rrirrr test_reentrant_insertions    z!DictTest.test_reentrant_insertioncsZGfddd}ddtddD}t|d|<|dddi}|t|jdS)Ncs eZdZddZfddZdS)z)DictTest.test_merge_and_mutate..XcSsdSrrrrrr r_sz2DictTest.test_merge_and_mutate..X.__hash__cs dSrr)rr5rZrr r]sz0DictTest.test_merge_and_mutate..X.__eq__Nrrrorr rsrcSsg|] }|dfqS)rrr"rrr r%r*z2DictTest.test_merge_and_mutate..r i9r)r-r rrr)rrlrKrror test_merge_and_mutates  zDictTest.test_merge_and_mutatecCsHt|ttt|ddtt|ddtt|ddtdS)NcSs t|Sr)r'rHrtrrr rr*z4DictTest.test_free_after_iterating..cSs t|Sr)r'rMrtrrr rr*cSs t|Sr)r'r1rtrrr rr*)rZcheck_free_after_iteratingr'r rrrr test_free_after_iteratingsz"DictTest.test_free_after_iteratingcspGfddd}|di||i|kGfddd}d|i}dti||kdS)Ncs,eZdZfddZfddZddZdS)z9DictTest.test_equal_operator_modifying_operand..Xcs dSrrr)dict_brr rjszADictTest.test_equal_operator_modifying_operand..X.__del__cs dSNTrrY)dict_arr r]sz@DictTest.test_equal_operator_modifying_operand..X.__eq__cSsdSN rrrrr r_szBDictTest.test_equal_operator_modifying_operand..X.__hash__N)rrrrjr]r_r)rursrr rs  rrcseZdZfddZdS)z9DictTest.test_equal_operator_modifying_operand..Ycs dSrtrrYdict_drr r]sz@DictTest.test_equal_operator_modifying_operand..Y.__eq__Nrrrxrr Ysrz)rBrG)rrrzZdict_cr)rursryr %test_equal_operator_modifying_operands    z.DictTest.test_equal_operator_modifying_operandcsRGfdddt}i|dd|ddiztWntyLYn0dS)Ncs eZdZddZfddZdS)zADictTest.test_fromkeys_operator_modifying_dict_operand..XcSsdSrvrrrrr r_szJDictTest.test_fromkeys_operator_modifying_dict_operand..X.__hash__cstdkrdSNr FrVrprYrtrr r]s zHDictTest.test_fromkeys_operator_modifying_dict_operand..X.__eq__Nrrrtrr rsrr r rr rrr rrtr -test_fromkeys_operator_modifying_dict_operands  z6DictTest.test_fromkeys_operator_modifying_dict_operandcsNGfdddt}i|d|dhztWntyHYn0dS)Ncs eZdZddZfddZdS)z@DictTest.test_fromkeys_operator_modifying_set_operand..XcSsdSrvrrrrr r_szIDictTest.test_fromkeys_operator_modifying_set_operand..X.__hash__cstdkrdSr|r}rYrtrr r]s zGDictTest.test_fromkeys_operator_modifying_set_operand..X.__eq__Nrrrtrr rsrr r r~r rrtr ,test_fromkeys_operator_modifying_set_operands  z5DictTest.test_fromkeys_operator_modifying_set_operandcs2Gfddd}dtid|fvdS)NcseZdZfddZdS)z:DictTest.test_dictitems_contains_use_after_free..Xcs tSrrpr;rYrtrr r](szADictTest.test_dictitems_contains_use_after_free..X.__eq__Nrrrtrr r'srr)rGr1r rrtr &test_dictitems_contains_use_after_free&s z/DictTest.test_dictitems_contains_use_after_freecs0Gfdddt}|di|dvdS)Ncs eZdZfddZddZdS)z4DictTest.test_dict_contain_use_after_free..Scs tSrrrYrtrr r]2sz;DictTest.test_dict_contain_use_after_free..S.__eq__cSstdS)Ntest)rrrrr r_6sz=DictTest.test_dict_contain_use_after_free..S.__hash__Nr`rrtrr S1s rrr)rdrS)rrrrtr test_dict_contain_use_after_free/s z)DictTest.test_dict_contain_use_after_freecs*Gfddd}|dgtgdS)NcseZdZfddZdS)z,DictTest.test_init_use_after_free..Xcsgdd<dSrvrrZpairrr r_>s z5DictTest.test_init_use_after_free..X.__hash__N)rrrr_rrrr r=sr{)r r rrr test_init_use_after_free<s z!DictTest.test_init_use_after_freecsFGfdddtfddtdDfdd}|t|dS)NcseZdZfddZdS)z;DictTest.test_oob_indexing_dictiter_iternextitem..Xcs dSrrrrtrr rjGszCDictTest.test_oob_indexing_dictiter_iternextitem..X.__del__Nrkrrtrr rFsrcsi|]}||qSrrr")rrr rJr*zDDictTest.test_oob_indexing_dictiter_iternextitem..rcs&D]}|ddkrdd<qdS)Nrr r)resultrtrr iter_and_mutateLs  zIDictTest.test_oob_indexing_dictiter_iternextitem..iter_and_mutate)rr-rr)rrr)rrKr 'test_oob_indexing_dictiter_iternextitemEs z0DictTest.test_oob_indexing_dictiter_iternextitemcCsDdddddd}|d=t|}|t|td|tt|dS) Nr r rr3rX)r>r?foor@rKrZdcba)r]rr>rrrO)rrKrrrr test_reversedSs zDictTest.test_reversedcCs|ttig|ttig|ttig|ttig|tttg|tttg|tttg|tttgdSr)rr>r]r1rMrHr rrrr $test_reverse_iterator_for_empty_dictZsz-DictTest.test_reverse_iterator_for_empty_dictcCsnGddd}|tt|ddjddg|tt|ddjdg|tt|ddjdgdS)Nc@seZdZddZdS)zADictTest.test_reverse_iterator_for_shared_shared_dicts..AcSs|r ||_|r||_dSr)rmr)rrmrrrr ruks zJDictTest.test_reverse_iterator_for_shared_shared_dicts..A.__init__Nrrrrr rjsrr r rrmr)rr>r]r:)rrrrr -test_reverse_iterator_for_shared_shared_dictsis z6DictTest.test_reverse_iterator_for_shared_shared_dictscCstddg}|dt|}t|}|t||Gdddt}gd}||}||tt|Gdddt}||}||ddd tt|dS) Nr>r r?r r>c@s eZdZdS)z1DictTest.test_dict_copy_order..CustomDictNrrrrr CustomDict}sr)rr)r@r3c@s eZdZddZeZddZdS)z9DictTest.test_dict_copy_order..CustomReversedDictcSsttt|Sr)r]r>r rHrrrr rHsz>DictTest.test_dict_copy_order..CustomReversedDict.keyscSstt|Sr)r]r r1rrrr r1sz?DictTest.test_dict_copy_order..CustomReversedDict.itemsN)rrrrHr~r1rrrr CustomReversedDictsrr)r OrderedDict move_to_endr>r1r r)rZodZexpectedr8rpairsrKrrrr test_dict_copy_orderss   zDictTest.test_dict_copy_ordercCs0tdgi}t|tt|dSr)r'r1rr(rBrrOrrSrrr test_dict_items_result_gcsz"DictTest.test_dict_items_result_gccCs0tdgi}t|tt|dSr)r]r1rr(rBrrOrrrr "test_dict_items_result_gc_reversedsz+DictTest.test_dict_items_result_gc_reversedN)Wrrrrrr2rArDrLrOrQrUrWrnrqrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrr!r$r+r.r/r cpython_onlyr2r7r9r;r?rCrDrErGrIrUrYr\r^r_r`rfrgrmrnrqrrr{rrrrrrrrrrrrrrrr r s      &L:    !   , +  ?               rc@seZdZejddZdS)CAPITestcsddlm}dddd}|||dtdd|||dtdd|||d td d|t|gdtd|t|idtdGd d d tGfd d d }||}}|di}||||t|d||||t|dS)Nr)dict_getitem_knownhashr r r3r4rmrrc@s eZdZdS)z,CAPITest.test_getitem_knownhash..ExcNrrrrr r\r*r\cs eZdZfddZddZdS)z.CAPITest.test_getitem_knownhash..BadEqcsdSrrrYr[rr r]sz5CAPITest.test_getitem_knownhash..BadEq.__eq__cSsdS)Nrrrrr r_sz7CAPITest.test_getitem_knownhash..BadEq.__hash__Nr`rr[rr ras ra)rHrrrr SystemErrorrkrl)rrrKrarrrr[r test_getitem_knownhashs  zCAPITest.test_getitem_knownhashN)rrrrrrrrrr rsr) mapping_testsc@seZdZeZdS)GeneralMappingTestsN)rrrr type2testrrrr rsrc@s eZdZdS)DictNrrrrr rsrc@seZdZeZdS)SubclassMappingTestsN)rrrrrrrrr rsr__main__)rcollections.abcrrKrr rZunittestr%rrZTestCaserrrZBasicTestMappingProtocolrr rrrmainrrrr s8 #