a DOgj@sgdZiZdddZddZzeWney8Yn0ddZeeeedd Zd Ze e j Z d d Z d dZddZddZiZiZiZddZddZddZdS))pickle constructor add_extensionremove_extensionclear_extension_cacheNcCs,t|std|t|<|dur(t|dS)Nz$reduction functions must be callable)callable TypeErrordispatch_tabler)ob_typepickle_functionconstructor_obr ,/opt/alt/python39/lib64/python3.9/copyreg.pyr s rcCst|stddS)Nzconstructors must be callable)rr)objectr r r rsrcCst|j|jffSN)complexrealimag)cr r r pickle_complex"srcCs<|turt|}n$|||}|jtjkr8||||Sr)r__new____init__)clsbasestateobjr r r _reconstructor)s     ric Cs |j}|jD]:}t|dr(|jt@s(qL|j}t|tr |j|ur qLq t }|t urZd}n"||urtt d|j d||}|||f}z |j }WnXt yt|ddrt d|j d|dz |j}Wnt yd}Yn0Yn0|}|rt||fSt|fSdS)N __flags__zcannot pickle z object __slots__zf 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__AttributeErrorgetattr__dict__r) selfprotorrnewrargsgetstatedictr r r _reduce_ex7s>         r0cGs|j|g|RSrr)rr-r r r __newobj__^sr2cCs|j|g|Ri|Srr1)rr-kwargsr r r __newobj_ex__asr4cCs|jd}|dur|Sg}t|ds(n|jD]}d|jvr.|jd}t|trV|f}|D]^}|dvrjqZqZ|dr|ds|j d}|r| d||fq| |qZ| |qZq.z ||_ Wn Yn0|S)N __slotnames__r)r) __weakref_____z_%s%s) r)getr rr"str startswithendswithr%lstripappendr5)rnamesrslotsnamestrippedr r r _slotnamesgs2         rCcCst|}d|krdks&ntd||f}t||krNt||krNdS|tvrjtd|t|f|tvrtd|t|f|t|<|t|<dS)Nizcode out of rangez)key %s is already registered with code %sz$code %s is already in use for key %s)int ValueError_extension_registryr9_inverted_registrymodulerAcodekeyr r r rs$   rcCsR||f}t||ks$t||kr4td||ft|=t|=|tvrNt|=dS)Nz%key %s is not registered with code %s)rGr9rHrF_extension_cacherIr r r rs rcCs tdSr)rMclearr r r r rsr)N)__all__rrrr NameErrorrrr!typerErr#r0r2r4rCrGrHrMrrrr r r r s,     '<