MINI MINI MANI MO
3
  \O              
   @   s   d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZ d dlZd dl
Z
d dlZeefZdddddd	d
ddd
dddg
ZG dd deZG dd
 d
ejZG dd deZG dd dejZG dd dZdS )    )getweakrefcountgetweakrefsrefproxyCallableProxyType	ProxyType
ReferenceType_remove_dead_weakref)WeakSet_IterationGuardNr   r   r   r   WeakKeyDictionaryr   r   r   
ProxyTypesWeakValueDictionaryr
   
WeakMethodfinalizec                   s@   e Zd ZdZdddZ fdd	Zd
d Zdd
 Zej	Z	  Z
S )r   	_func_ref
_meth_type_alive__weakref__Nc                s~   y|j }|j}W n( tk
r8   tdjt|d Y nX  fdd}tj| ||}t|||_t||_	d|_
t||S )Nz)argument should be a bound method, not {}c                s&