File: //lib/python3.10/__pycache__/pickle.cpython-310.pyc
o
    E�h��  �                   @   sN  d Z ddlmZ ddlmZ ddlmZmZmZ ddlm	Z	 ddl
mZ ddlZddlm
Z
 dd	lmZmZ ddlZddlZddlZddlZg d
�ZzddlmZ e�d� d
ZW n eyd   dZY nw eefZdZg d�ZdZ dZ!G dd� de"�Z#G dd� de#�Z$G dd� de#�Z%G dd� de"�Z&zddl'm(Z( W n ey�   dZ(Y nw dZ)dZ*dZ+dZ,d Z-d!Z.d"Z/d#Z0d$Z1d%Z2d&Z3d'Z4d(Z5d)Z6d*Z7d+Z8d,Z9d-Z:d.Z;d/Z<d0Z=d1Z>d2Z?d3Z@d4ZAd5ZBd6ZCd7ZDd8ZEd9ZFd:ZGd;ZHd<ZId=ZJd>ZKd?ZLd@ZMdAZNdBZOdCZPdDZQdEZRdFZSdGZTdHZUdIZVdJZWdKZXdLZYdMZZdNZ[dOZ\dPZ]dQZ^dRZ_eOeYeZe[gZ`dSZadTZbdUZcdVZddWZedXZfdYZgdZZhd[Zid\Zjd]Zkd^Zld_Zmd`ZndaZoe�pdbdc� eq� D �� G ddde� de�ZrG dfdg� dg�Zsdhdi� Ztdjdk� Zudldm� Zvdndo� ZwG dpdq� dq�ZxG drds� ds�Zyd�d
ddt�dudv�Zzd�d
ddt�dwdx�Z{d
dydzdd{�d|d}�Z|d
dydzdd{�d~d�Z}zdd
lm#Z#m$Z$m%Z%m~Z~mZm�Z�m�Z�m�Z�m�Z� W n e�y�   exeyZ~Zeze{e|e}f\Z�Z�Z�Z�Y nw d�d�� Z�e�d�k�r#ddl�Z�e�j�d�d��Z�e�j�d�e���d��d�d�d�� e�j�d�d�d�d�d�� e�j�d�d�d�d�� e���� Z�e�j��re��  dS e�j��se����  dS ddl�Z�e�j�D ]Z�e�e��Z�e���e�� �qdS dS )�a�  Create portable serialized representations of Python objects.
See module copyreg for a mechanism for registering custom picklers.
See module pickletools source for extensive comments.
Classes:
    Pickler
    Unpickler
Functions:
    dump(object, file)
    dumps(object) -> string
    load(file) -> object
    loads(bytes) -> object
Misc variables:
    __version__
    format_version
    compatible_formats
�    )�FunctionType)�dispatch_table)�_extension_registry�_inverted_registry�_extension_cache)�islice)�partialN)�maxsize)�pack�unpack)	�PickleError�
PicklingError�UnpicklingError�Pickler�	Unpickler�dump�dumps�load�loads)�PickleBufferr   TF�4.0)z1.0z1.1z1.2z1.3z2.0z3.0r   z5.0�   �   c                   @   �   e Zd ZdZdS )r   z6A common base class for the other pickling exceptions.N��__name__�
__module__�__qualname__�__doc__� r   r   �/usr/lib/python3.10/pickle.pyr   I   s    r   c                   @   r   )r
   z]This exception is raised when an unpicklable object is passed to the
    dump() method.
    Nr   r   r   r   r    r
   M   s    r
   c                   @   r   )r   a  This exception is raised when there is a problem unpickling an object,
    such as a security violation.
    Note that other exceptions may also be raised during unpickling, including
    (but not necessarily limited to) AttributeError, EOFError, ImportError,
    and IndexError.
    Nr   r   r   r   r    r   T   s    r   c                   @   s   e Zd Zdd� ZdS )�_Stopc                 C   s
   || _ d S �N)�value��selfr#   r   r   r    �__init__b   s   
z_Stop.__init__N)r   r   r   r&