<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    XC?h8T                     @   s   d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZ d dlZd dlZd dlZeefZg dZeje
 eje
 G dd deZG dd dejZG d	d
 d
eZG dd dejZG dd dZdS )    )getweakrefcountgetweakrefsrefproxyCallableProxyType	ProxyTypeReferenceType_remove_dead_weakref)WeakSet_IterationGuardN)r   r   r   r   WeakKeyDictionaryr   r   r   
ProxyTypesWeakValueDictionaryr
   
WeakMethodfinalizec                       s@   e Zd ZdZdddZ fddZdd Zd	d
 Zej	Z	  Z
S )r   )	_func_ref
_meth_type_alive__weakref__Nc                    s|   z|j }|j}W n& ty6   tdt|d Y n0  fdd}t| ||}t|||_t||_	d|_
t||S )Nz)argument should be a bound method, not {}c                    s&    }|j r"d|_  d ur" | d S NF)r   )argselfcallbackZself_wr ,/opt/alt/python39/lib64/python3.9/weakref.py_cb6   s
    zWeakMethod.__new__.<locals>._cbT)__self____func__AttributeError	TypeErrorformattyper   __new__r   r   r   )clsZmethr   objfuncr   r   r   r   r   r#   /   s     

zWeakMethod.__new__c                    s2   t   }|  }|d u s"|d u r&d S | ||S N)super__call__r   r   )r   r%   r&   	__class__r   r   r)   E   s
    
zWeakMethod.__call__c                 C   s:   t |tr6| jr|js| |u S t| |o4| j|jkS tS r'   )
isinstancer   r   r   __eq__r   NotImplementedr   otherr   r   r   r-   L   s
    
zWeakMethod.__eq__c                 C   s:   t |tr6| jr|js| |uS t| |p4| j|jkS tS r'   )r,   r   r   r   __ne__r   r.   r/   r   r   r   r1   S   s
    
zWeakMethod.__ne__)N)__name__
__module____qualname__	__slots__r#   r)   r-   r1   r   __hash____classcell__r   r   r*   r   r   '   s   
r   c                   @   s   e Zd Zd1ddZefddZdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd ZeZdd Zd2ddZdd Zdd ZeZdd Zdd  Zd!d" Zd#d$ Zd3d%d&Zd4d'd(Zd)d* Zd+d, Zd-d. Zd/d0 ZdS )5r   r   c                K   sB   t | tfdd}|| _g | _t | _i | _| j|fi | d S )Nc                 S   s6   | }|d ur2|j r$|j| j n||j| j d S r'   )
_iterating_pending_removalsappendkeydata)wrselfref_atomic_removalr   r   r   r   removej   s
    z,WeakValueDictionary.__init__.<locals>.remove)r   r	   _remover9   setr8   r<   update)r   r0   kwr@   r   r   r   __init__i   s    	zWeakValueDictionary.__init__c                 C   s>   | j j}| j}z
| }W n ty,   Y d S 0 ||| qd S r'   )r9   popr<   
IndexError)r   r?   rF   dr;   r   r   r   _commit_removalsz   s    
z$WeakValueDictionary._commit_removalsc                 C   s4   | j r|   | j|  }|d u r,t|n|S d S r'   r9   rI   r<   KeyErrorr   r;   or   r   r   __getitem__   s    
zWeakValueDictionary.__getitem__c                 C   s   | j r|   | j|= d S r'   )r9   rI   r<   r   r;   r   r   r   __delitem__   s    zWeakValueDictionary.__delitem__c                 C   s   | j r|   t| jS r'   )r9   rI   lenr<   r   r   r   r   __len__   s    zWeakValueDictionary.__len__c                 C   s<   | j r|   z| j|  }W n ty2   Y dS 0 |d uS r   rJ   rL   r   r   r   __contains__   s    z WeakValueDictionary.__contains__c                 C   s   d| j jt| f S Nz<%s at %#x>r+   r2   idrR   r   r   r   __repr__   s    zWeakValueDictionary.__repr__c                 C   s&   | j r|   t|| j|| j|< d S r'   )r9   rI   KeyedRefrA   r<   r   r;   valuer   r   r   __setitem__   s    zWeakValueDictionary.__setitem__c                 C   sj   | j r|   t }t| : | j D ]\}}| }|d ur(|||< q(W d    n1 s\0    Y  |S r'   )r9   rI   r   r   r<   items)r   newr;   r=   rM   r   r   r   copy   s    
(zWeakValueDictionary.copyc                 C   s~   ddl m} | jr|   |  }t| @ | j D ]$\}}| }|d ur6|||||< q6W d    n1 sp0    Y  |S Nr   )deepcopy)r_   ra   r9   rI   r+   r   r<   r]   )r   memora   r^   r;   r=   rM   r   r   r   __deepcopy__   s    
.z WeakValueDictionary.__deepcopy__Nc                 C   sN   | j r|   z| j| }W n ty2   | Y S 0 | }|d u rF|S |S d S r'   rJ   )r   r;   defaultr=   rM   r   r   r   get   s    
zWeakValueDictionary.getc                 c   sf   | j r|   t| < | j D ] \}}| }|d ur"||fV  q"W d    n1 sX0    Y  d S r'   r9   rI   r   r<   r]   )r   kr=   vr   r   r   r]      s    
zWeakValueDictionary.itemsc                 c   s^   | j r|   t| 4 | j D ]\}}| d ur"|V  q"W d    n1 sP0    Y  d S r'   rf   )r   rg   r=   r   r   r   keys   s    

zWeakValueDictionary.keysc                 c   sJ   | j r|   t|   | j E d H  W d    n1 s<0    Y  d S r'   r9   rI   r   r<   valuesrR   r   r   r   itervaluerefs   s    

z!WeakValueDictionary.itervaluerefsc                 c   s^   | j r|   t| 4 | j D ]}| }|d ur"|V  q"W d    n1 sP0    Y  d S r'   rj   r   r=   r%   r   r   r   rk      s    
zWeakValueDictionary.valuesc                 C   s8   | j r|   | j \}}| }|d ur||fS qd S r'   )r9   rI   r<   popitem)r   r;   r=   rM   r   r   r   rn      s    zWeakValueDictionary.popitemc                 G   s^   | j r|   z| j| }W n ty6   d }Y n0 |d u rV|rL|d S t|n|S d S )Nr   )r9   rI   r<   rF   rK   )r   r;   argsrM   r   r   r   rF     s    

zWeakValueDictionary.popc                 C   s^   z| j |  }W n ty&   d }Y n0 |d u rV| jr>|   t|| j|| j |< |S |S d S r'   )r<   rK   r9   rI   rY   rA   )r   r;   rd   rM   r   r   r   
setdefault  s    
zWeakValueDictionary.setdefaultc                K   sz   | j r|   | j}|d urRt|ds.t|}| D ]\}}t|| j|||< q6| D ]\}}t|| j|||< qZd S Nr]   )r9   rI   r<   hasattrdictr]   rY   rA   )r   r0   kwargsrH   r;   rM   r   r   r   rC   "  s    
zWeakValueDictionary.updatec                 C   s   | j r|   t| j S r'   )r9   rI   listr<   rk   rR   r   r   r   	valuerefs.  s    
zWeakValueDictionary.valuerefsc                 C   s   |  | | S r'   rC   r/   r   r   r   __ior__<  s    
zWeakValueDictionary.__ior__c                 C   s&   t |tjr"|  }|| |S tS r'   r,   _collections_abcMappingr_   rC   r.   r   r0   cr   r   r   __or__@  s
    
zWeakValueDictionary.__or__c                 C   s0   t |tjr,|  }|| ||  |S tS r'   r,   rz   r{   r+   rC   r.   r|   r   r   r   __ror__G  s    

zWeakValueDictionary.__ror__)r   )N)N)N)r2   r3   r4   rE   r	   rI   rN   rP   rS   rT   rX   r\   r_   __copy__rc   re   r]   ri   __iter__rl   rk   rn   rF   rp   rC   rv   rx   r~   r   r   r   r   r   r   ]   s2   
		
			

r   c                       s(   e Zd ZdZdd Z fddZ  ZS )rY   r;   c                 C   s   t | ||}||_|S r'   )r   r#   r;   )r"   obr   r;   r   r   r   r   r#   \  s    zKeyedRef.__new__c                    s   t  || d S r'   )r(   rE   )r   r   r   r;   r*   r   r   rE   a  s    zKeyedRef.__init__)r2   r3   r4   r5   r#   rE   r7   r   r   r*   r   rY   P  s   
rY   c                   @   s   e Zd Zd0ddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd ZeZdd Zd1ddZdd Zdd Zdd ZeZdd Zd d! Zd"d# Zd$d% Zd2d&d'Zd3d(d)Zd*d+ Zd,d- Zd.d/ ZdS )4r   Nc                 C   sF   i | _ t| fdd}|| _g | _t | _d| _|d urB| | d S )Nc                 S   sF   | }|d urB|j r"|j|  n z|j| = W n ty@   Y n0 d S r'   )r8   r9   r:   r<   rK   )rg   r>   r   r   r   r   r@   r  s    z*WeakKeyDictionary.__init__.<locals>.removeF)r<   r   rA   r9   rB   r8   
_dirty_lenrC   )r   rs   r@   r   r   r   rE   p  s    
zWeakKeyDictionary.__init__c                 C   sR   | j j}| j}z
| }W n ty,   Y d S 0 z
||= W q tyJ   Y q0 qd S r'   )r9   rF   r<   rG   rK   )r   rF   rH   r;   r   r   r   rI     s    

z"WeakKeyDictionary._commit_removalsc                    s&   | j   fdd| jD | _d| _d S )Nc                    s   g | ]}| v r|qS r   r   ).0rg   rH   r   r   
<listcomp>      z5WeakKeyDictionary._scrub_removals.<locals>.<listcomp>F)r<   r9   r   rR   r   r   r   _scrub_removals  s    z!WeakKeyDictionary._scrub_removalsc                 C   s   d| _ | jt|= d S NT)r   r<   r   rO   r   r   r   rP     s    zWeakKeyDictionary.__delitem__c                 C   s   | j t| S r'   )r<   r   rO   r   r   r   rN     s    zWeakKeyDictionary.__getitem__c                 C   s(   | j r| jr|   t| jt| j S r'   )r   r9   r   rQ   r<   rR   r   r   r   rS     s    zWeakKeyDictionary.__len__c                 C   s   d| j jt| f S rU   rV   rR   r   r   r   rX     s    zWeakKeyDictionary.__repr__c                 C   s   || j t|| j< d S r'   )r<   r   rA   rZ   r   r   r   r\     s    zWeakKeyDictionary.__setitem__c                 C   s\   t  }t| : | j D ]\}}| }|d ur|||< qW d    n1 sN0    Y  |S r'   )r   r   r<   r]   )r   r^   r;   r[   rM   r   r   r   r_     s    
(zWeakKeyDictionary.copyc                 C   sp   ddl m} |  }t| @ | j D ]$\}}| }|d ur(|||||< q(W d    n1 sb0    Y  |S r`   )r_   ra   r+   r   r<   r]   )r   rb   ra   r^   r;   r[   rM   r   r   r   rc     s    
.zWeakKeyDictionary.__deepcopy__c                 C   s   | j t||S r'   )r<   re   r   r   r;   rd   r   r   r   re     s    zWeakKeyDictionary.getc                 C   s,   zt |}W n ty    Y dS 0 || jv S r   )r   r    r<   )r   r;   r=   r   r   r   rT     s
    zWeakKeyDictionary.__contains__c                 c   sX   t | < | j D ] \}}| }|d ur||fV  qW d    n1 sJ0    Y  d S r'   r   r<   r]   )r   r=   r[   r;   r   r   r   r]     s
    
zWeakKeyDictionary.itemsc                 c   sL   t | 0 | jD ]}| }|d ur|V  qW d    n1 s>0    Y  d S r'   )r   r<   rm   r   r   r   ri     s
    

zWeakKeyDictionary.keysc                 c   sP   t | 4 | j D ]\}}| d ur|V  qW d    n1 sB0    Y  d S r'   r   )r   r=   r[   r   r   r   rk     s    

zWeakKeyDictionary.valuesc                 C   s
   t | jS r'   )ru   r<   rR   r   r   r   keyrefs  s    
zWeakKeyDictionary.keyrefsc                 C   s0   d| _ | j \}}| }|d ur||fS qd S r   )r   r<   rn   )r   r;   r[   rM   r   r   r   rn     s
    zWeakKeyDictionary.popitemc                 G   s   d| _ | jjt|g|R  S r   )r   r<   rF   r   )r   r;   ro   r   r   r   rF     s    zWeakKeyDictionary.popc                 C   s   | j t|| j|S r'   )r<   rp   r   rA   r   r   r   r   rp     s    zWeakKeyDictionary.setdefaultc                K   s\   | j }|d urFt|ds$ti |}| D ]\}}||t|| j< q,t|rX| | d S rq   )r<   rr   r"   r]   r   rA   rQ   rC   )r   rs   rt   rH   r;   r[   r   r   r   rC     s    
zWeakKeyDictionary.updatec                 C   s   |  | | S r'   rw   r/   r   r   r   rx   	  s    
zWeakKeyDictionary.__ior__c                 C   s&   t |tjr"|  }|| |S tS r'   ry   r|   r   r   r   r~     s
    
zWeakKeyDictionary.__or__c                 C   s0   t |tjr,|  }|| ||  |S tS r'   r   r|   r   r   r   r     s    

zWeakKeyDictionary.__ror__)N)N)N)N)r2   r3   r4   rE   rI   r   rP   rN   rS   rX   r\   r_   r   rc   re   rT   r]   ri   r   rk   r   rn   rF   rp   rC   rx   r~   r   r   r   r   r   r   e  s2   
	




r   c                   @   s   e Zd ZdZi ZdZe ZdZ	dZ
G dd dZdd Zddd	Zd
d Zdd Zedd Zedd Zejdd Zdd Zedd Zedd ZdS )r   r   Fc                   @   s   e Zd ZdZdS )zfinalize._Info)weakrefr&   ro   rt   atexitindexN)r2   r3   r4   r5   r   r   r   r   _Info6  s   r   c                O   sp   | j s dd l}|| j dt_ |  }t|| |_||_||_	|pFd |_
d|_t| j|_|| j| < dt_d S )Nr   T)_registered_with_atexitr   register	_exitfuncr   r   r   r   r&   ro   rt   next_index_iterr   	_registry_dirty)r   r%   r&   ro   rt   r   infor   r   r   rE   9  s    

zfinalize.__init__Nc                 C   s4   | j | d }|r0| js0|j|ji |jp*i S d S r'   )r   rF   	_shutdownr&   ro   rt   )r   _r   r   r   r   r)   J  s    
zfinalize.__call__c                 C   sH   | j | }|o| }|d urD| j | d rD||j|j|jp@i fS d S r'   )r   re   r   rF   r&   ro   rt   r   r   r%   r   r   r   detachQ  s    zfinalize.detachc                 C   s:   | j | }|o| }|d ur6||j|j|jp2i fS d S r'   )r   re   r   r&   ro   rt   r   r   r   r   peekY  s    zfinalize.peekc                 C   s
   | | j v S r'   )r   rR   r   r   r   alivea  s    zfinalize.alivec                 C   s   | j | }t|o|jS r'   r   re   boolr   )r   r   r   r   r   r   f  s    zfinalize.atexitc                 C   s   | j | }|rt||_d S r'   r   )r   r[   r   r   r   r   r   l  s    c                 C   s^   | j | }|o| }|d u r6dt| jt| f S dt| jt| t|jt|f S d S )Nz<%s object at %#x; dead>z!<%s object at %#x; for %r at %#x>)r   re   r   r"   r2   rW   r   r   r   r   rX   r  s    zfinalize.__repr__c                 C   s2   dd | j  D }|jdd d dd |D S )Nc                 S   s   g | ]\}}|j r||fqS r   )r   r   fir   r   r   r   ~  r   z-finalize._select_for_exit.<locals>.<listcomp>c                 S   s
   | d j S )N   )r   )itemr   r   r   <lambda>  r   z+finalize._select_for_exit.<locals>.<lambda>r   c                 S   s   g | ]\}}|qS r   r   r   r   r   r   r     r   )r   r]   sort)r$   Lr   r   r   _select_for_exit{  s    zfinalize._select_for_exitc                 C   s   d}z| j rdd l}| r(d}|  d }|d u s:tjrH|  }dt_|sNq| }z
|  W q, ty   t	j
t	   Y q,0 q,W dt_|r|  ndt_|r|  0 d S )NFr   T)r   gcZ	isenabledZdisabler   r   r   rF   	Exceptionsys
excepthookexc_infor   Zenable)r$   Zreenable_gcr   Zpendingr   r   r   r   r     s2    

zfinalize._exitfunc)N)r2   r3   r4   r5   r   r   	itertoolscountr   r   r   r   rE   r)   r   r   propertyr   r   setterrX   classmethodr   r   r   r   r   r   r     s,   



	
r   )_weakrefr   r   r   r   r   r   r   r	   Z_weakrefsetr
   r   rz   r   r   r   __all__Setr   
MutableSetr   MutableMappingr   rY   r   r   r   r   r   r   <module>   s   (
6 t 9