a
    ze8                     @   s   d d Z G dd deZG dd deZG dd deZz,dd	lmZm	Z	m
Z
mZmZmZmZmZ W n( ey   dd
lmZmZ de_Y n0 G dd deZG dd dedZdS )c                 C   s
   d| _ | S NT)__isabstractmethod__)funcobj r   /usr/lib/python3.9/abc.pyabstractmethod   s    r   c                       s    e Zd ZdZ fddZ  ZS )abstractclassmethodTc                    s   d|_ t | d S r   r   super__init__selfcallable	__class__r   r   r
   +   s    zabstractclassmethod.__init____name__
__module____qualname__r   r
   __classcell__r   r   r   r   r      s   r   c                       s    e Zd ZdZ fddZ  ZS )abstractstaticmethodTc                    s   d|_ t | d S r   r   r   r   r   r   r
   ?   s    zabstractstaticmethod.__init__r   r   r   r   r   r   0   s   r   c                   @   s   e Zd ZdZdS )abstractpropertyTN)r   r   r   r   r   r   r   r   r   D   s   r       )get_cache_token	_abc_init_abc_register_abc_instancecheck_abc_subclasscheck	_get_dump_reset_registry_reset_caches)ABCMetar   abcc                       sN   e Zd Z fddZdd Zdd Zdd Zdd
dZdd Zdd Z	  Z
S )r    c                    s&   t  j| |||fi |}t| |S N)r	   __new__r   )mclsnamebases	namespacekwargsclsr   r   r   r#   i   s    zABCMeta.__new__c                 C   s
   t | |S r"   )r   r)   subclassr   r   r   registern   s    zABCMeta.registerc                 C   s
   t | |S r"   )r   )r)   instancer   r   r   __instancecheck__u   s    zABCMeta.__instancecheck__c                 C   s
   t | |S r"   )r   r*   r   r   r   __subclasscheck__y   s    zABCMeta.__subclasscheck__Nc                 C   s   t d| j d| j |d t dt  |d t| \}}}}t d||d t d||d t d||d t d||d d S )	NzClass: .)filezInv. counter: z_abc_registry: z_abc_cache: z_abc_negative_cache: z_abc_negative_cache_version: )printr   r   r   r   )r)   r1   _abc_registry
_abc_cache_abc_negative_cache_abc_negative_cache_versionr   r   r   _dump_registry}   s    
zABCMeta._dump_registryc                 C   s   t |  d S r"   )r   r)   r   r   r   _abc_registry_clear   s    zABCMeta._abc_registry_clearc                 C   s   t |  d S r"   )r   r8   r   r   r   _abc_caches_clear   s    zABCMeta._abc_caches_clear)N)r   r   r   r#   r,   r.   r/   r7   r9   r:   r   r   r   r   r   r    \   s   
r    c                   @   s   e Zd ZdZdS )ABCr   N)r   r   r   	__slots__r   r   r   r   r;      s   r;   )	metaclassN)r   classmethodr   staticmethodr   propertyr   _abcr   r   r   r   r   r   r   r   ImportErrorZ_py_abcr    r   typer;   r   r   r   r   <module>   s   ,6