python (3.11.7)

(root)/
lib/
python3.11/
__pycache__/
copyreg.cpython-311.opt-1.pyc

edZgdZiZddZdZ	edZeeeen#e$rYnwxYwdZee	e
ezedZdZ
e	e
jZd	Zd
ZdZdZiZiZiZd
ZdZdZdS)zHelper to provide extensibility for pickle.

This is only useful to add pickle support for extension types defined in
C, not for instances of user-defined classes.
)pickleconstructor
add_extensionremove_extensionclear_extension_cacheNc|t|std|t|<|t|dSdS)Nz$reduction functions must be callable)callable	TypeErrordispatch_tabler)ob_typepickle_functionconstructor_obs   ;/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/copyreg.pyrrsPO$$@>???-N7!N#####"!cBt|stddS)Nzconstructors must be callable)rr	)objects rrrs+F9788899rc,t|j|jffSN)complexrealimag)cs rpickle_complexr"s(((rc<ddl}ddl}|j|j|jffS)N)	functoolsoperatorreduceor___args__)objrrs   rpickle_unionr!'s1hlCL999rc|turt|}nA|||}|jtjkr||||Sr)r__new____init__)clsbasestater s    r_reconstructorr(/sYv~~nnS!!ll3&&=FO++MM#u%%%Jric|j}|jD]J}t|dr|jtzsn/|j}t
|tr|j|urnKt}|turd}n'||urtd|jd||}|||f}	|j}t|jtjur t|ddrtd|}nW#t$rJt|ddrtd|jd|d	|j}n#t$rd}YnwxYwYnwxYw|r
t"||fSt"|fS)N	__flags__zcannot pickle z object	__slots__zNa class that defines __slots__ without defining __getstate__ cannot be pickledzf object: a class that defines __slots__ without defining __getstate__ cannot be pickled with protocol )	__class____mro__hasattrr*	_HEAPTYPEr#
isinstance	_new_type__self__rr	__name____getstate__typegetattrAttributeError__dict__r()	selfprotor%r&newr'argsgetstatedicts	         r
_reduce_exr?=s
.C4%%	dny.H	Elc9%%	#,$*>*>Ev~~3;;DS\DDDEEET

uD$
JJ#v':::D+t,,
;FGG
Gxzz			4d++	@5S\55.35566<@
@	=DD			DDD		 $tT))t##s6C,,6E#D+*E+D:7E9D::E?Ec|j|g|RSrr#)r%r<s  r
__newobj__rBhs3;s"T""""rc$|j|g|Ri|S)zUsed by pickle protocol 4, instead of __newobj__ to allow classes with
    keyword-only arguments to be pickled correctly.
    rA)r%r<kwargss   r
__newobj_ex__rEks&3;s,T,,,V,,,rc$|jd}||Sg}t|dsn|jD]}d|jvr|jd}t	|t
r|f}|D]}|dvr|drb|dsM|j	d}|r|
d||h|
|~|
|	||_n#YnxYw|S)aReturn a list of slot names for a given class.

    This needs to find slots defined by the class and its bases, so we
    can't simply return the __slots__ attribute.  We must walk down
    the Method Resolution Order and concatenate the __slots__ of each
    class found there.  (This assumes classes don't modify their
    __slots__ attribute to misrepresent their slots after the class is
    defined.)
    
__slotnames__Nr+)r8__weakref_____)r8getr.r-r0str
startswithendswithr3lstripappendrG)r%namesrslotsnamestrippeds      r
_slotnamesrUqsU
L_--E
E3$$+	+	+Aaj((
;/eS))%"HE!++D::: ..+t}}T7J7J+#$:#4#4S#9#9#/!LLLHHdd)CDDDD!LL....T****
!
LsD		D
ct|}d|cxkrdksntd||f}t||kr t||krdS|tvr td|dt||tvr td|dt||t|<|t|<dS)	zRegister an extension code.izcode out of rangeNkey z! is already registered with code zcode z is already in use for key )int
ValueError_extension_registryrK_inverted_registrymodulerScodekeys    rrrst99D""""
"""",---4.C$$,,t$$++
!!!j##23779::	:!!!j$$ 24 8 8:;;	;#"trc||f}t||kst||krtd|d|t|=t|=|tvr
t|=dSdS)z0Unregister an extension code.  For testing only.rXz is not registered with code N)r[rKr\rZ_extension_cacher]s    rrrs4.C$$,,t$$++j##tt%&&	&C 4 T""" rc8tdSr)rbclearrrrrsrr)__doc____all__r
rrrr	NameErrorr!r5rYrLr(r/r#r1r?rBrErUr[r\rbrrrrerr<module>risIII$$$$999	-G
)))F7NG,,,,			D	:::ttC#I%%%
	D	'$'$'$V###---111x###$
#
#
#s$,,