Your IP : 3.129.210.36
o
6��f8T � @ s� d Z ddlmZmZmZmZmZmZmZm Z ddl
mZmZ ddl
Z
ddlZddlZeefZg d�Ze
j�e� e
j�e� G dd� de�ZG dd � d e
j�ZG d
d� de�ZG dd
� d
e
j�ZG dd� d�ZdS )z|Weak reference support for Python.
This module is an implementation of PEP 205:
https://www.python.org/dev/peps/pep-0205/
� )�getweakrefcount�getweakrefs�ref�proxy�CallableProxyType� ProxyType�
ReferenceType�_remove_dead_weakref)�WeakSet�_IterationGuardN)
r r r r �WeakKeyDictionaryr r r �
ProxyTypes�WeakValueDictionaryr
�
WeakMethod�finalizec sD e Zd ZdZdZddd�Z� fdd�Zdd � Zd
d� Ze j
Z
� ZS )
r z�
A custom `weakref.ref` subclass which simulates a weak reference to
a bound method, working around the lifetime problem of bound methods.
)� _func_ref�
_meth_type�_alive�__weakref__Nc sx z|j }|j}W n ty td�t|���d �w � �fdd�}t�| ||�}t||�|_t|�|_ d|_
t|��|S )Nz)argument should be a bound method, not {}c s. �� }|j rd|_ � d ur� |� d S d S d S �NF)r )�arg�self��callbackZself_wr� �./opt/alt/python310/lib64/python3.10/weakref.py�_cb6 s �zWeakMethod.__new__.<locals>._cbT)�__self__�__func__�AttributeError� TypeError�format�typer �__new__r r r )�clsZmethr �obj�funcr r r r r r# / s"