python (3.12.0)

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

Α˜eýRãó|—ddlmZmZmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZ	ddlZdZGd„deejB«Z"Gd„deejB«Z#Gd„deejB«Z$Gd„deeeejB«Z%Gd„de&«Z'Gd„dee'ejB«Z(Gd„dee'ejB«Z)Gd„d eejB«Z*Gd!„d"eejB«Z+Gd#„d$eejB«Z,Gd%„d&eejB«Z-erøGd'„d(eejB«Z.Gd)„d*e#«Z/Gd+„d,e$«Z0Gd-„d.e(«Z1Gd/„d0e)«Z2Gd1„d2e$«Z3Gd3„d4e$«Z4Gd5„d6eejB«Z5Gd7„d8eejB«Z6Gd9„d:eejB«Z7Gd;„d<eejB«Z8ejrGd=„d>ejB««Z:ejrGd?„d@ejB««Z;hdA£Z<hdB£Z=dC„Z>dD„Z?dE„Z@dF„ZAdG„ZBGdH„dIejB«ZCdJ„ZDeEdKk(rejŒ«yy#e $rdZYŒ6wxYw)Lé)ÚIMPORT_MAPPINGÚREVERSE_IMPORT_MAPPINGÚNAME_MAPPINGÚREVERSE_NAME_MAPPINGN)Úsupport)Ú
import_helper)ÚAbstractHookTests)ÚAbstractUnpickleTests)ÚAbstractPickleTests)ÚAbstractPickleModuleTests)ÚAbstractPersistentPicklerTests)Ú&AbstractIdentityPersistentPicklerTests)Ú#AbstractPicklerUnpicklerObjectTests)ÚAbstractDispatchTableTests)ÚAbstractCustomPicklerClass)ÚBigmemPickleTestsTFcóÌ—eZdZeej
«Zeej«Zeej«Z
eej«ZejZejZy)Ú
PyPickleTestsN)Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodÚpickleÚ_dumpÚdumpÚ_dumpsÚdumpsÚ_loadÚloadÚ_loadsÚloadsÚ_PicklerÚPicklerÚ
_UnpicklerÚ	Unpickler©óúD/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_pickle.pyrr#sN„Ù˜Ÿ™Ó%€DÙ˜Ÿ™Ó'€EÙ˜Ÿ™Ó%€DÙ˜Ÿ™Ó'€EØo‰o€GØ×!Ñ!Ir'rcój—eZdZejZefZeje	e
eejeefZd„Zy)ÚPyUnpicklerTestscór—tj|«}|j|fi|¤Ž}|j«S©N©ÚioÚBytesIOÚ	unpicklerr©ÚselfÚbufÚkwdsÚfÚus     r(r!zPyUnpicklerTests.loads4ó/€ÜJ‰Js‹OˆØˆDN‰N˜1Ñ% Ñ%ˆØv‰v‹xˆr'N)rrrrr$r0Ú
IndexErrorÚbad_stack_errorsÚUnpicklingErrorÚEOFErrorÚAttributeErrorÚ
ValueErrorÚstructÚerrorÚImportErrorÚtruncated_errorsr!r&r'r(r*r*,s=„à×!Ñ!€IØ"}ÐØ×.Ñ.°Ø&¨
ØŸ™ j°+ð?Ðór'r*cóJ—eZdZejZejZdd„Zd„Z	y)ÚPyPicklerTestsNcóÈ—tj«}|j||fi|¤Ž}|j|«|j	d«t|j
««S©Nr)r.r/ÚpicklerrÚseekÚbytesÚread)r2ÚargÚprotoÚkwargsr5Úps      r(rzPyPicklerTests.dumps?sJ€ÜJ‰J‹LˆØˆDL‰L˜˜EÑ, VÑ,ˆØ	‰ˆsŒØ	‰ˆqŒ	ÜQ—V‘V“X‹Ðr'cór—tj|«}|j|fi|¤Ž}|j«Sr,r-r1s     r(r!zPyPicklerTests.loadsFr7r'r,)
rrrrr"rFr$r0rr!r&r'r(rCrC:s „ào‰o€GØ×!Ñ!€Ióór'rCcót—eZdZejefZejeee	e
jeefZ
dd„Zd„ZdZy)ÚInMemoryPickleTestsNcó0—tj||fi|¤ŽSr,)rr)r2rJÚprotocolrLs    r(rzInMemoryPickleTests.dumpsTs€Ü|‰|˜C Ñ4¨VÑ4Ð4r'có.—tj|fi|¤ŽSr,)rr!)r2r3r4s   r(r!zInMemoryPickleTests.loadsWs€Ü|‰|˜CÑ( 4Ñ(Ð(r'r,)rrrrr:r8r9r;r<r=r>r?r@rArr!Ú+test_framed_write_sizes_with_delayed_writerr&r'r(rPrPLsJ„ð×.Ñ.°
Ð;ÐØ×.Ñ.°Ø&¨
ØŸ™ j°+ð?Ðó5ò)ð37Ñ/r'rPcó—eZdZdd„Zd„Zy)ÚPersistentPicklerUnpicklerMixinNc󮇗Gˆfd„d‰j«}tj«}|||«}|j|«|j	«S)Ncó•—eZdZˆfd„Zy)ú:PersistentPicklerUnpicklerMixin.dumps.<locals>.PersPicklercó&•—‰j|«Sr,)Ú
persistent_id©ÚsubselfÚobjr2s  €r(r[zHPersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickler.persistent_idasø€Ø×)Ñ)¨#Ó.Ð.r'N©rrrr[©r2s€r(ÚPersPicklerrY`sø„õ
/r'ra)rFr.r/rÚgetvalue)r2rJrKrar5rMs`     r(rz%PersistentPicklerUnpicklerMixin.dumps_sCø€ö	/˜$Ÿ,™,ô	/ô
J‰J‹LˆÙ˜˜5Ó!ˆØ	‰ˆsŒØz‰z‹|Ðr'c󎇗Gˆfd„d‰j«}tj|«}||fi|¤Ž}|j«S)Ncó•—eZdZˆfd„Zy)ú<PersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpicklercó&•—‰j|«Sr,)Úpersistent_loadr\s  €r(rgzLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loadjsø€Ø×+Ñ+¨CÓ0Ð0r'N©rrrrgr`s€r(Ú
PersUnpicklerreisø„õ
1r'ri)r0r.r/r)r2r3r4rir5r6s`     r(r!z%PersistentPicklerUnpicklerMixin.loadshs<ø€ö	1˜DŸN™Nô	1ô
J‰Js‹OˆÙ˜!Ñ$˜tÑ$ˆØv‰v‹xˆr'r,)rrrrr!r&r'r(rVrV]s„óór'rVcó<—eZdZejZejZy)ÚPyPersPicklerTestsN)rrrrr"rFr$r0r&r'r(rkrkqs„ðo‰o€GØ×!Ñ!Ir'rkcó¨—eZdZejZejZejd„«Z
ejd„«Zejd„«Zy)ÚPyIdPersPicklerTestsc󾇗ˆfd„}Gd„d‰j«}||«Gd„d‰j«}||«Gd„d‰j«}||«y)NcóЕ—ttjdz«D]_}tj«}|||«}|jd«‰j
‰j|j««d«Œa|tj««}‰j
|jd«d«tj|«}~‰j|««y©NéÚabcÚdef)
ÚrangerÚHIGHEST_PROTOCOLr.r/rÚassertEqualr!rbr[ÚweakrefÚrefÚassertIsNone)r#rKr5rFÚrr2s     €r(Úcheckz@PyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.check€s´ø€Üœv×6Ñ6¸Ñ:Ó;ò
BÜ—J‘J“LÙ! ! UÓ+Ø—‘˜UÔ#Ø× Ñ  §¡¨A¯J©J«LÓ!9¸5ÕAð	
Bñ
œbŸj™j›lÓ+ˆGØ×Ñ˜W×2Ñ2°5Ó9¸5ÔAÜ—‘˜GÓ$ˆAØØ×Ñ™a›cÕ"r'có—eZdZd„Zy)úFPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPicklercó—|Sr,r&)r]r^s  r(r[zTPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_idó€Ø
r'Nr_r&r'r(rar}Œó„ó
r'racó—eZdZed„«Zy)r}có—|Sr,r&)Úclsr^s  r(r[zTPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_id’ó€à
r'N)rrrÚclassmethodr[r&r'r(razFPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler‘ó„Ø
ñ
óñ
r'có—eZdZed„«Zy)r}có—|Sr,r&)r^s r(r[zTPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_id˜r„r'N)rrrrr[r&r'r(razFPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler—ó„Ø
ñ
óñ
r')rF)r2r{ras`  r(Útest_pickler_reference_cyclez1PyIdPersPicklerTests.test_pickler_reference_cycle~sVø€ô
	#ô	˜$Ÿ,™,ô	ñ	ˆkÔô	˜$Ÿ,™,ô	ñ	ˆkÔô	˜$Ÿ,™,ô	ñ	ˆkÕr'cóp‡—Gˆfd„d|j«}Gd„d«}|«Š|tj««}|j|j‰«tj‰«}|j|««~‹tj«|j|««y)Ncó"•‡—eZdZˆˆfd„ZˆxZS)úPPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Picklercó2•—‰|_t‰||i|¤Žyr,)Údispatch_tableÚsuperÚ__init__)r2ÚargsrLÚ	__class__Útables   €€r(r‘zYPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Pickler.__init__¢sø€Ø&+Ô#Ü‘Ñ  $Ð1¨&Ó1r')rrrr‘Ú
__classcell__)r“r”s@€r(r#r¡s
ù„÷
2ñ
2r'r#có—eZdZy)úVPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.DispatchTableN©rrrr&r'r(Ú
DispatchTabler—¦ó„Ør'r™)rFr.r/ÚassertIsrrwrxÚassertIsNotNonerÚ
gc_collectry)r2r#r™rFÚ	table_refr”s     @r(Ú*test_custom_pickler_dispatch_table_memleakz?PyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleaksŠø€ö	2d—l‘lô	2÷
	ñ	ñ“ˆÙœ"Ÿ*™*›,Ó'ˆØ
‰
g×,Ñ,¨eÔ4Ü—K‘K Ó&ˆ	Ø×Ñ™Y›[Ô)ØØÜ×ÑÔØ×Ñ™)›+Õ&r'c󾇗ˆfd„}Gd„d‰j«}||«Gd„d‰j«}||«Gd„d‰j«}||«y)Nc	󬕗ttjdz«D]M}|tj‰jd|«««}‰j
|j«d«ŒO|tj««}‰j
|jd«d«tj|«}~‰j|««yrp)rtrrur.r/rrvrrgrwrxry)r%rKr0rzr2s    €r(r{zBPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.check¶s¥ø€Üœv×6Ñ6¸Ñ:Ó;ò
:Ù%¤b§j¡j°·±¸EÀ5Ó1IÓ&JÓK	Ø× Ñ  §¡Ó!1°5Õ9ð
:ñ"¤"§*¡*£,Ó/ˆIØ×Ñ˜Y×6Ñ6°uÓ=¸uÔEÜ—‘˜IÓ&ˆAØØ×Ñ™a›cÕ"r'có—eZdZd„Zy)úJPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklercó—|Sr,r&)r]Úpids  r(rgzZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadÁrr'Nrhr&r'r(rir£Àr€r'ricó—eZdZed„«Zy)r£có—|Sr,r&)rƒr¥s  r(rgzZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadÆr„r'N)rrrr…rgr&r'r(rizJPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklerÅr†r'có—eZdZed„«Zy)r£có—|Sr,r&)r¥s r(rgzZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadÌr„r'N)rrrrrgr&r'r(rizJPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklerËr‰r')r0)r2r{ris`  r(Útest_unpickler_reference_cyclez3PyIdPersPicklerTests.test_unpickler_reference_cycle´sVø€ô	#ô	˜DŸN™Nô	ñ	ˆmÔô	˜DŸN™Nô	ñ	ˆmÔô	˜DŸN™Nô	ñ	ˆmÕr'N)
rrrrr"rFr$r0rÚcpython_onlyrŠrŸrªr&r'r(rmrmxsd„ðo‰o€GØ×!Ñ!€Ià×Ññóðð<
×Ññ'óð'ð,
×Ññóñr'rmcó<—eZdZejZejZy)ÚPyPicklerUnpicklerObjectTestsN)rrrrr"Ú
pickler_classr$Úunpickler_classr&r'r(r­r­Òs„à—O‘O€MØ×'Ñ'Or'r­có*—eZdZejZd„Zy)ÚPyDispatchTableTestscó>—tjj«Sr,©rrÚcopyr`s r(Úget_dispatch_tablez'PyDispatchTableTests.get_dispatch_tableÜs€Ü×$Ñ$×)Ñ)Ó+Ð+r'N©rrrrr"r®rµr&r'r(r±r±Øs„à—O‘O€Mó,r'r±có*—eZdZejZd„Zy)ÚPyChainDispatchTableTestscóJ—tjitj«Sr,©ÚcollectionsÚChainMaprrr`s r(rµz,PyChainDispatchTableTests.get_dispatch_tableäs€Ü×#Ñ# B¬×(=Ñ(=Ó>Ð>r'Nr¶r&r'r(r¸r¸às„à—O‘O€Mó?r'r¸có<—eZdZGd„deje«ZeZy)ÚPyPicklerHookTestscó—eZdZy)ú'PyPicklerHookTests.CustomPyPicklerClassNr˜r&r'r(ÚCustomPyPicklerClassrÀés„àr'rÁN)rrrrr"rrÁr®r&r'r(r¾r¾ès„ô
˜vŸ™Ø9ô
ð)Mr'r¾có,—eZdZddlmZmZmZmZmZm	Z	y)ÚCPickleTestsr)rrrr!r#r%N)
rrrÚ_picklerrrr!r#r%r&r'r(rÃrÃðs„ßH×HÐHr'rÃcóX—eZdZejZejfZejfZ	y)ÚCUnpicklerTestsN)
rrrrÄr%r0rr:r9rAr&r'r(rÆrÆós+„Ø×%Ñ%ˆ	Ø"×2Ñ2Ð4ÐØ"×2Ñ2Ð4Ñr'rÆcó<—eZdZejZejZy)Ú
CPicklerTestsN©rrrrÄr#rFr%r0r&r'r(rÈrÈøó„Ø—/‘/ˆØ×%Ñ%‰	r'rÈcó<—eZdZejZejZy)ÚCPersPicklerTestsNrÉr&r'r(rÌrÌürÊr'rÌcó<—eZdZejZejZy)ÚCIdPersPicklerTestsNrÉr&r'r(rÎrÎrÊr'rÎcó<—eZdZejZejZy)ÚCDumpPickle_LoadPickleN)	rrrrÄr#rFrr$r0r&r'r(rÐrÐs„Ø—/‘/ˆØ×%Ñ%‰	r'rÐcó<—eZdZejZejZy)ÚDumpPickle_CLoadPickleN)	rrrrr"rFrÄr%r0r&r'r(rÒrÒs„Ø—/‘/ˆØ×%Ñ%‰	r'rÒcóB—eZdZejZejZd„Zy)ÚCPicklerUnpicklerObjectTestscó,—|jtj««}|jt«5t
|_ddd«|jt«5ddi|_ddd«ddi|_y#1swYŒ:xYw#1swYŒxYw)Néÿÿÿÿrq)r¯r.r/ÚassertRaisesÚ	TypeErrorÚobjectÚmemor=)r2r0s  r(Útest_issue18339z,CPicklerUnpicklerObjectTests.test_issue18339s}€Ø×,Ñ,¬R¯Z©Z«\Ó:ˆIØ×"Ñ"¤9Ó-ñ
(Ü!'	”÷
(ð×"Ñ"¤:Ó.ñ
,Ø"$ d 	”÷
,à ˜YˆIN÷
(ð
(ú÷
,ð
,ús¹A>Á"
B
Á>BÂ
BN)	rrrrÄr#r®r%r¯rÛr&r'r(rÔrÔs„ØŸ™ˆ
Ø!×+Ñ+ˆó	'r'rÔcó*—eZdZejZd„Zy)ÚCDispatchTableTestscó>—tjj«Sr,r³r`s r(rµz&CDispatchTableTests.get_dispatch_tables€Ü×(Ñ(×-Ñ-Ó/Ð/r'N©rrrrr#r®rµr&r'r(rÝrÝs„ØŸ™ˆ
ó	0r'rÝcó*—eZdZejZd„Zy)ÚCChainDispatchTableTestscóJ—tjitj«Sr,rºr`s r(rµz+CChainDispatchTableTests.get_dispatch_table s€Ü×'Ñ'¨¬F×,AÑ,AÓBÐBr'Nrßr&r'r(rárás„ØŸ™ˆ
ó	Cr'rácó<—eZdZGd„deje«ZeZy)ÚCPicklerHookTestscó—eZdZy)ú%CPicklerHookTests.CustomCPicklerClassNr˜r&r'r(ÚCustomCPicklerClassræ$ršr'rçN)rrrrÄr#rrçr®r&r'r(rärä#s„ô	 '§/¡/Ð3Mô	à+‰
r'räcó—eZdZd„Zd„Zd„Zy)ÚHeapTypesTestscó:—tjtj««}tjtj««}tjtjt|j«t|j«f|_yr,)rÄr#r.r/r%ÚtyperÚÚ_types)r2rFr0s   r(ÚsetUpzHeapTypesTests.setUp*s_€Ü—o‘o¤b§j¡j£lÓ3ˆGÜ×)Ñ)¬"¯*©*«,Ó7ˆIô—‘Ü×!Ñ!ÜW—\‘\Ó"ÜY—^‘^Ó$ð	ˆDKr'có¼—ddl}|jD]=}|j|¬«5|j|j	|««ddd«Œ?y#1swYŒJxYw)Nr©Útp)ÚgcrìÚsubTestÚ
assertTrueÚ
is_tracked)r2rñrðs   r(Útest_have_gczHeapTypesTests.test_have_gc8sU€ÛØ—k‘kò
7Ø—\‘\ R\Ó(ñ7Ø—O‘O B§M¡M°"Ó$5Ô6÷7ð7ñ
7÷7ð7ús¦!AÁA	cóØ—|jD]C}|j|¬«5|jtd«5d|_ddd«ddd«ŒEy#1swYŒxYw#1swYŒ\xYw)NrïÚ	immutableÚbar)rìròÚassertRaisesRegexrØÚfoo)r2rðs  r(Útest_immutablezHeapTypesTests.test_immutable>si€Ø—k‘kò
'Ø—\‘\ R\Ó(ñ'Ø×/Ñ/´	¸;ÓGñ'Ø!&˜œ÷'÷'ð'ñ
'÷'ð'ú÷'ð'ús"¢A ¹AÁA ÁAÁA Á A)	N)rrrrírõrûr&r'r(réré(s„ò	ò	7ó	'r'récó0—eZdZejZd„Zd„Zy)ÚSizeofTestscó—tjd«}tjt	j
««}|j
tj|«|«tjd«}tjd«}|j}||||zd|zztjd«z«td«D]}|jt!|««Œ||||zd|zzdz«y)	NÚ7P2n3i2n3i2PÚ3nP0nÚPn0Pésxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxéé r)rÚcalcobjsizerÄr#r.r/rvrÙÚ
__sizeof__r>ÚcalcsizeÚcheck_sizeofÚsysÚ	getsizeofrtrÚchr)r2ÚbasesizerMÚMT_sizeÚME_sizer{Úis       r(Útest_picklerzSizeofTests.test_picklerHsç€Ü×*Ñ*¨>Ó:ˆHÜ—‘¤§
¡
£Ó-ˆAØ×ÑœV×.Ñ.¨qÓ1°8Ô<Ü—o‘o gÓ.ˆGÜ—o‘o fÓ-ˆGØ×%Ñ%ˆEÙ!XØñؘg™+ñ&ä—
‘
˜iÓ(ñ)ô
*ô˜1“Xò
Ø—‘”s˜1“v•ð
á!XØñؘw™,ñ'ðñõ
r'c	óò‡‡	‡
‡‡—tjd«}tjŠt	j
d«Št	j
d«Š
|jŠ	dD]x}dD]q}‰tj«||¬«}|jtj|«|«‰	||d‰zzt|«zdzt|«zdz«ŒsŒz|td	«zdztd
«zdzŠˆˆ	ˆ
ˆˆfd„}|ddd«|dgd
zdd«|td
«Dcgc]
}t|«‘Œc}dd«d„}||d«dd«||d«dd«||d«dd«||d«dd«||d
«dd«‰tjtj dd««d	d
¬«}|j#«‰	|‰d‰zzdzdz«ycc}w)Nz2P2n2P 2P2n2i5P 2P3n8P2n2iÚPÚn)ÚASCIIzUTF-16zlatin-1)ÚstrictÚreplace©ÚencodingÚerrorsrrqrrcó¶•—tj|«}‰	tj|«dd¬«}|j	«‰|‰|‰zz|‰zz«y)Nrrr)rrr.r/r)
ÚdataÚ	memo_sizeÚ
marks_sizerr6rr{rÚstdsizer0s
     €€€€€r(Úcheck_unpicklerz3SizeofTests.test_unpickler.<locals>.check_unpicklerisQø€Ü—|‘| DÓ)ÙœbŸj™j¨Ó.Ø'.°xôAà—‘”Ùa˜ 9¨q¡=Ñ0°:À±>ÑAÕBr'rédéé€có2—d}t|«D]}||g}Œ|SrE)rt)Údeeprrs   r(Úrecursez+SizeofTests.test_unpickler.<locals>.recurseus(€ØÜ˜t›ò(AØ  $˜<‘Dð(àr'é2é@é<éŒÚaé)rrrÄr%r>rrr.r/rvrÙrÚlenrtrrrr)
r2rrrr6rrr%rr{rrr0s
        @@@@@r(Útest_unpicklerzSizeofTests.test_unpicklerYsòü€Ü×*Ñ*Ð+GÓHˆHÜ×)Ñ)ˆIÜ—‘ Ó$ˆAÜ—‘ Ó$ˆAØ×%Ñ%ˆEØ8ò
BØ1òBFÙ!¤"§*¡*£,Ø+3¸FôDAà×$Ñ$¤V×%6Ñ%6°qÓ%9¸8ÔDÙ˜!˜XØ !™Vñ$ä  ›]ñ+à-.ñ/ä14°V³ñ=à?@ñAõBñ	Bð
Bð¤ W£Ñ-°Ñ1´C¸³MÑAÀAÑEˆG÷
Cð
Cñ
˜A˜r 1Ô%á˜Q˜C #™I r¨2Ô.á¬U°3«ZÖ8¨œS VÒ8¸#¸rÔBò
ñ

™G A›J¨¨AÔ.Ù™G A›J¨¨BÔ/Ù™G B›K¨¨RÔ0Ù™G B›K¨¨RÔ0Ù™G C›L¨#¨sÔ3áœ"Ÿ*™*¤V§\¡\°#°qÓ%9Ó:Ø#*°8ô=ˆAà
F‰FŒHÙ!W˜r A™vÑ%¨Ñ)¨AÑ-Õ.ùò9sÄ.G4N)rrrrrrr-r&r'r(rýrýDs„à×+Ñ+ˆò	ó"*	/r'rý>©ÚcPickler©ÚStringIOr.©Ú	cStringIOr.©Ú_elementtreezxml.etree.ElementTree>©ÚsocketÚ
_socketobjectr7Ú
SocketType©ÚUserDictr;r»r;©Ú
exceptionsÚ
StandardErrorÚbuiltinsÚ	Exception©Ú__builtin__Ú
basestringr?Ústrcód—||ftvrt||f\}}||fS|tvr	t|}||fSr,)rr©ÚmoduleÚnames  r(ÚmappingrI”sJ€Ø€~œÑ%Ü# V¨T NÑ3‰ˆð4ˆ<Ðð
”>Ñ	!Ü Ñ'ˆØ4ˆ<Ðr'cód—||ftvrt||f\}}||fS|tvr	t|}||fSr,)rrrFs  r(Úreverse_mappingrK›sL€Ø€~Ô-Ñ-Ü+¨V°T¨NÑ;‰ˆð4ˆ<Ðð
Ô)Ñ	)Ü'¨Ñ/ˆØ4ˆ<Ðr'cóø—	tj|S#t$rÛ	tj«5t
jrdnd}tj|t«t|«ddd«n#1swYnxYwn`#t$r,}t
jrtd|›d|›«t‚d}~wt$r!}t
jrt|«‚d}~wwxYwtj|cYSwxYw)NÚalwaysÚignorezCan't import module z: )
r	ÚmodulesÚKeyErrorÚwarningsÚcatch_warningsrÚverboseÚsimplefilterÚDeprecationWarningÚ
__import__r<Úprintr@)rGÚactionÚexcs   r(Ú	getmodulerZ¢sÇ€ð#Ü{‰{˜6Ñ"Ð"øÜò#ð	Ü×(Ñ(Ó*ñ
#Ü%,§_¢_™¸(Ü×%Ñ% fÔ.@ÔAܘ6Ô"÷
#÷
#ñ
#üôò	܊ݲf¹cÐBÔCÜÐûÜò	ÜŠÜc”
Øûð	úô{‰{˜6Ñ"Ò"ð#úsU‚•	C9ŸB³:A6Á-	BÁ6A?	Á;BÂC9Â	C Â'B3Â3C Â?CÃC à C9Ã8C9có`—t|«}|jd«D]}t||«}Œ|S)Nú.)rZÚsplitÚgetattr)rGrHr^rs    r(Úgetattributer_µs3€Ü
FÓ
€CØ
Z‰Z˜‹_òˆÜc˜1‹o‰ðà€Jr'c#ó”K—t|«D]6}t||«}t|t«sŒ t	|t
«sŒ1||f–—Œ8y­wr,)Údirr^Ú
isinstancerëÚ
issubclassÚ
BaseException)ÚmodrHÚattrs   r(Úget_exceptionsrg»sBèø€ÜC“òˆÜs˜DÓ!ˆÜdœDÕ!¤j°´}Õ&Eؘ*Óñùs‚+A®A¿	Acó6—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	y)	ÚCompatPickleTestscóJ—ttj««}|tt«z}|tDchc]\}}|’Œ	c}}z}|tj«Dchc]\}}|’Œ	c}}z}|D]}	t
|«Œycc}}wcc}}w#t$rYŒ)wxYwr,)ÚsetrÚvaluesrrrrZr@)r2rOrGrHs    r(Útest_importzCompatPickleTests.test_importÂsš€Ü”n×+Ñ+Ó-Ó.ˆØ”3Ô-Ó.Ñ.ˆØÔ/C×D™|˜v t’FÓDÑDˆØ¬|×/BÑ/BÓ/D×E™|˜v t’FÓEÑEˆØò	ˆFð
ܘ&Õ!ñ	ùóEùÛEøôò
Ùð
úsºB
Á$BÁ<BÂ	B"Â!B"có0—tj«D]d\}}|j||f«5	t|«|dddk7r/|j|t«|jt||«ddd«Œfy#t$rYŒMwxYw#1swYŒ€xYw)NrqÚ_)rÚitemsròrZr@ÚassertInrrv)r2Úmodule3Úmodule2s   r(Útest_import_mappingz%CompatPickleTests.test_import_mappingÍs¥€Ü 6× <Ñ <Ó >ò	GÑˆGWØ—‘˜w¨Ð0Ó1ñ
GðܘgÔ&ð˜2˜A; #Ò%Ø—M‘M '¬>Ô:Ø×$Ñ$¤^°GÑ%<¸gÔF÷
Gð
Gñ	Gøô#òÙðú÷
Gð
Gús-®B°A=»7BÁ=	B	ÂBÂB	Â	BÂB	có8—tj«D]ç\\}}\}}|j||f||ff«5||fdk(r,t||«}|j	t|t««n‰||fdk(r,t||«}|j	t|t««nVt||«\}}|dddk7r|j||f||f«	t||«}|jt||«|«ddd«Œéy#t$rYŒwxYw#1swYŒxYw)N©r=ÚOSError©r=r@rqro)
rrpròr_rórcrwr@rIrv)r2rrÚname3rsÚname2rfrGrHs        r(Útest_name_mappingz#CompatPickleTests.test_name_mappingØs5€Ü2F×2LÑ2LÓ2Nò	KÑ.ÑˆWeÑ.˜w¨Ø—‘ ¨Ð/°'¸5Ð1AÐBÓCñ
KؘUÐ#Ð'@Ò@Ü'¨°Ó7DØ—O‘O¤J¨t´WÓ$=Õ>ؘuÐ%Ð)FÒFÜ'¨°Ó7DØ—O‘O¤J¨t´[Ó$AÕBä#*¨7°EÓ#:‘LF˜Dؘr { cÒ)Ø×(Ñ(¨&°$¨¸'À5Ð9IÔJðKÜ+¨G°UÓ;˜ð×(Ñ(¬°f¸dÓ)CÀTÔJ÷!
Kð
Kñ	Køô'òÙðú÷
Kñ
Kús0¸BDÃ
DÃDÄ	DÄ	DÄDÄDÄD	cóR—tj«D]Ò\}}|j||f«5	t|«||ftvr]tj|d«|k7rDtj«D]\\}}\}}||f||fk(sŒn|jd|›d|›«tj||«}tj||«}|j||«ddd«ŒÔy#t$r%}t
jrt|«Yd}~ŒÙd}~wwxYw#1swYŒxYw)NzNo reverse mapping from z to )rrpròrZr@rrSrWÚALT_IMPORT_MAPPINGrÚgetrÚfailrv)	r2rsrrrYÚm3Ún3Úm2Ún2rGs	         r(Útest_reverse_import_mappingz-CompatPickleTests.test_reverse_import_mappingìs"€Ü .× 4Ñ 4Ó 6ò	2ÑˆGWØ—‘˜w¨Ð0Ó1ñ
2ð#ܘgÔ&ð˜gÐ&Ô.@Ñ@Ü*×.Ñ.¨w¸Ó=ÀÒHÜ.B×.HÑ.HÓ.Jò6Ñ*™˜˜R¡( 2 rØ# WÐ-°"°b°Ó9Ù!ð6ðŸ	š	Ú#*©Gð#5ô6ä/×3Ñ3°G¸WÓEÜ'×+Ñ+¨F°FÓ;Ø× Ñ  ¨Ô1÷!
2ð
2ñ	2øô#ò#Ü—’ܘcœ
ÿøð#ú÷
2ñ
2ús;®D°C+»ADÂADÃ+	DÃ4DÄDÄDÄDÄD&	có„—tj«D]Ž\\}}\}}|j||f||ff«5	t||«}t||«\}}||||ftvr|j||f||f«t||«\}}|j||f||f«ddd«Œy#t$rYŒlwxYw#1swYŒªxYwr,)	rrpròr_r@rKÚALT_NAME_MAPPINGrvrI)r2rsrzrrryrfrGrHs        r(Útest_reverse_name_mappingz+CompatPickleTests.test_reverse_name_mappingsð€Ü2>×2DÑ2DÓ2Fò
	CÑ.ÑˆWeÑ.˜w¨Ø—‘ ¨Ð/°'¸5Ð1AÐBÓCñ	
CðÜ'¨°Ó7Dô /¨w¸Ó>‘˜Ø˜U G¨UÐ3Ô;KÑKØ×$Ñ$ f¨d ^°g¸uÐ5EÔFÜ& v¨tÓ4‘˜Ø× Ñ  &¨$ °'¸5Ð1AÔB÷	
Cð	
Cñ
	Cøô#òÙðú÷	
Cð	
Cús/¸B6ºB'ÁAB6Â'	B3Â0B6Â2B3Â3B6Â6B?	c
ó†—|jtdd«d«|jtdd«d«|jtdd«d«|jtdd«d«|jtdd«d	«tt«D]\}}|j|«5|tttttttfvr
	ddd«ŒJ|tur-t|t«r|jtd|«d	«n|turKt|t«r;|jtd|«d
«|jtd|«d|f«n<|jtd|«d|f«|jtd|«d|f«ddd«Œy#1swYŒ$xYw)Nr=r>)r?r@r@r?)r=r@rw)r?rwrvrx)rvrIrKrgr?ròÚBlockingIOErrorÚResourceWarningÚStopAsyncIterationÚRecursionErrorÚEncodingWarningÚBaseExceptionGroupÚExceptionGrouprwrcr@)r2rHrYs   r(Útest_exceptionsz!CompatPickleTests.test_exceptions
s­€Ø×Ñœ ¨Ó?Ø2ô	4à×Ñœ ¨{Ó;Ø2ô	4à×Ñœ¨°[ÓAØ4ô	6à×Ñœ ¨yÓ9Ø0ô	2à×Ñœ¨°YÓ?Ø2ô	4ô(¬Ó1ó	9‰IˆD#Ø—‘˜dÓ#ñ
9Øœ?Ü*Ü-Ü)Ü*Ü-Ü)ð
+ñ+ð÷
9ð
9ðœgÑ%¬*°S¼'Ô*BØ×$Ñ$¤_°ZÀÓ%FØ%>õ@à¤Ñ+´
¸3ÄÔ0LØ×$Ñ$¤_°ZÀÓ%FØ%BôDà×$Ñ$¤W¨\¸4Ó%@Ø&2°DÐ%9õ;ð×$Ñ$¤_°ZÀÓ%FØ&2°DÐ%9ô;à×$Ñ$¤W¨\¸4Ó%@Ø&0°$Ð%7ô9÷)
9ñ
9ñ	9÷
9ñ
9úsÂ4)F6Ã&CF6Æ6G	có:—tjd«}t|«D]l\}}t|t«rŒ|j|«5|j
td|«d|f«|j
td|«d|f«ddd«Œny#1swYŒyxYw)Nzmultiprocessing.contextÚmultiprocessing)	rÚ
import_modulergrcÚWarningròrvrKrI)r2rGrHrYs    r(Útest_multiprocessing_exceptionsz1CompatPickleTests.test_multiprocessing_exceptions1s¦€Ü×,Ñ,Ð-FÓGˆÜ'¨Ó/ò	D‰IˆD#ܘ#œwÔ'ØØ—‘˜dÓ#ñ
DØ× Ñ ¤Ð1JÈDÓ!QØ"3°TÐ!:ô<à× Ñ ¤Ð):¸DÓ!AØ";¸TÐ!BôD÷
Dð
Dñ	D÷
Dð
DúsÁ	=BÂB	N)
rrrrmrtr{r„r‡rr•r&r'r(ririÁs*„ò	ò	GòKò(2ò(Cò"9óH	Dr'ricóL—|jtj««|Sr,)ÚaddTestÚdoctestÚDocTestSuite)ÚloaderÚtestsÚpatterns   r(Ú
load_testsr=s€Ø	‡MM”'×&Ñ&Ó(Ô)Ø€Lr'Ú__main__)GÚ_compat_picklerrrrr?rr.r»r>r	rQrwr˜ÚunittestÚtestrÚtest.supportrÚtest.pickletesterr	r
rrr
rrrrrrÄÚhas_c_implementationr@ÚTestCaserr*rCrPrÙrVrkrmr­r±r¸r¾rÃrÆrÈrÌrÎrÐrÒrÔrÝrárär«rérýr}r†rIrKrZr_rgrirrÚmainr&r'r(ú<module>r§sÑð÷@ó@ãÛ
Û	ÛÛ
Û
ÛÛãÛÝÝ&å/Ý3Ý1Ý7Ý<ÝDÝAÝ8Ý8Ý/ð!ÛØÐô
"Ð-¨x×/@Ñ/@ô"ôÐ,¨h×.?Ñ.?ôôÐ(¨(×*;Ñ*;ôô$7Ð-Ð/DØ+¨X×->Ñ->ô7ô" fôô("Ð7Ø8¸(×:KÑ:Kô"ôWÐAØ:¸H×<MÑ<MôWôt(Ð$GÈ×IZÑIZô(ô,Ð5°x×7HÑ7Hô,ô?Ð :¸H×<MÑ<Mô?ô)Ð*¨H×,=Ñ,=ô)ñôIÐ0°(×2CÑ2CôIô5Ð*ô5ô
&˜ô&ô&Ð.ô&ô&Ð2ô&ô& ô&ô& ô&ô'Ð'JÈH×L]ÑL]ô'ô0Ð8¸(×:KÑ:Kô0ô
CÐ#=¸x×?PÑ?PôCô
,Ð-¨x×/@Ñ/@ô,ð

×Ñô'˜×*Ñ*ó'óð'ð6
×Ñô>/h×'Ñ'ó>/óð>/òBÐòÐòòò#ò&òôyD˜×)Ñ)ôyDòxð
ˆzÒØ€H‡MM…OðøðGò!Ø Óð!úsÁ>J0Ê0J;Ê:J;