Your IP : 3.129.23.110
�
c��f T � �< � d Z ddlmZmZmZmZmZmZmZm Z ddl
mZmZ ddl
Z
ddlZddlZeefZg d�Ze
j � e� � G d� de� � Z G d� d e
j � � Z G d
� de� � Z G d� d
e
j � � Z G d� d� � ZdS )ztWeak reference support for Python.
This module is an implementation of PEP 205:
https://peps.python.org/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 �H � � e Zd ZdZdZdd�Z� fd�Zd� Zd� Ze j
Z
� xZS ) 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 �\ ��� |j }|j }n># t $ r1 t d� t |� � � � � � d �w xY w��fd�}t
j | ||� � }t
||� � |_ t |� � |_ d|_
t
|� � �|S )Nz)argument should be a bound method, not {}c �Z �� �� � }|j rd|_ �� �|� � d S d S d S �NF)r )�arg�self�callback�self_wrs ���./opt/alt/python311/lib64/python3.11/weakref.py�_cbzWeakMethod.__new__.<locals>._cb5 sH �� � �7�9�9�D��{�
#�#����'��H�T�N�N�N�N�N�
#�
#�'�'� T)�__self__�__func__�AttributeError� TypeError�format�typer �__new__r r r )�cls�methr �obj�funcr r r s ` @r r'