grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛfßã@s®dZdddddgZiZddd„Zdd„ZzeWnek rDYnXd d „Zeeeeƒd d „Zd Z dd„Z dd„Z dd„Z dd„Z iZiZiZdd„Zdd„Zdd„ZdS)z¤Helper 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. ÚpickleÚ constructorÚ add_extensionÚremove_extensionÚclear_extension_cacheNcCs,t|ƒstdƒ‚|t|<|dk r(t|ƒdS)Nz$reduction functions must be callable)ÚcallableÚ TypeErrorÚdispatch_tabler)Úob_typeÚpickle_functionÚconstructor_ob©r ú,/opt/alt/python38/lib64/python3.8/copyreg.pyr s cCst|ƒstdƒ‚dS)Nzconstructors must be callable)rr)Úobjectr r r rscCst|j|jffS©N)ÚcomplexÚrealÚimag)Úcr r r Úpickle_complex"srcCs<|tkrt |¡}n$| ||¡}|jtjkr8| ||¡|Sr)rÚ__new__Ú__init__)ÚclsÚbaseÚstateÚobjr r r Ú_reconstructor)s     ric Csð|j}|jD]}t|dƒr |jt@s q.q t}|tkrÚcodeÚkeyr r r r¥s$ ÿ ÿ ÿcCsR||f}t |¡|ks$t |¡|kr4td||fƒ‚t|=t|=|tkrNt|=dS)z0Unregister an extension code. For testing only.z%key %s is not registered with code %sN)rDr5rErCÚ_extension_cacherFr r r r·s ÿÿcCs t ¡dSr)rJÚclearr r r r rÃs)N)Ú__doc__Ú__all__rrrrÚ NameErrorrrr!r,r.r0r@rDrErJrrrr r r r Ús4ÿ   $<