ó
5Þ	Pc           @   sI   d  d l  m Z d g Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   reft   WeakSett   _IterationGuardc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  | ƒ |  _ d  S(   N(   R    t   weakcontainer(   t   selfR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __init__   s    c         C   s/   |  j  ƒ  } | d  k	 r+ | j j |  ƒ n  |  S(   N(   R   t   Nonet
   _iteratingt   add(   R   t   w(    (    s!   /usr/lib/python2.7/_weakrefset.pyt	   __enter__   s    c         C   sH   |  j  ƒ  } | d  k	 rD | j } | j |  ƒ | sD | j ƒ  qD n  d  S(   N(   R   R   R   t   removet   _commit_removals(   R   t   et   tt   bR	   t   s(    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __exit__   s    	(   t   __name__t
   __module__R   R
   R   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   
   s   		c           B   sL  e  Z d d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e Z d „  Z d „  Z d „  Z e Z d „  Z d „  Z d „  Z e Z d „  Z d „  Z e Z d „  Z  d „  Z! d „  Z" e" Z# d „  Z$ d „  Z% d „  Z& e& Z' d „  Z( RS(    c         C   s\   t  ƒ  |  _ t |  ƒ d „ } | |  _ g  |  _ t  ƒ  |  _ | d  k	 rX |  j | ƒ n  d  S(   Nc         S   sH   | ƒ  } | d  k	 rD | j r1 | j j |  ƒ qD | j j |  ƒ n  d  S(   N(   R   R   t   _pending_removalst   appendt   datat   discard(   t   itemt   selfrefR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   _remove&   s
    		(   t   setR   R    R   R   R   R   t   update(   R   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   $   s    		c         C   s6   |  j  } |  j j } x | r1 | | j ƒ  ƒ q Wd  S(   N(   R   R   R   t   pop(   R   t   lR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   4   s    		c         c   sH   t  |  ƒ 6 x. |  j D]# } | ƒ  } | d  k	 r | Vq q WWd  QXd  S(   N(   R   R   R   (   R   t   itemrefR   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __iter__:   s
    	c         C   s   t  d „  |  j Dƒ ƒ S(   Nc         s   s   |  ] } | ƒ  d  k	 Vq d  S(   N(   R   (   t   .0t   x(    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>B   s    (   t   sumR   (   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __len__A   s    c         C   s2   y t  | ƒ } Wn t k
 r$ t SX| |  j k S(   N(   R    t	   TypeErrort   FalseR   (   R   R   t   wr(    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __contains__D   s
    c         C   s%   |  j  t |  ƒ f t |  d d  ƒ f S(   Nt   __dict__(   t	   __class__t   listt   getattrR   (   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt
   __reduce__K   s    c         C   s6   |  j  r |  j ƒ  n  |  j j t | |  j ƒ ƒ d  S(   N(   R   R   R   R   R    R   (   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   Q   s    	c         C   s'   |  j  r |  j ƒ  n  |  j j ƒ  d  S(   N(   R   R   R   t   clear(   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR.   V   s    	c         C   s   |  j  |  ƒ S(   N(   R*   (   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   copy[   s    c         C   ss   |  j  r |  j ƒ  n  xV t rn y |  j j ƒ  } Wn t k
 rQ t d ƒ ‚ n X| ƒ  } | d  k	 r | Sq Wd  S(   Ns   pop from empty WeakSet(   R   R   t   TrueR   R   t   KeyErrorR   (   R   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   ^   s    			c         C   s0   |  j  r |  j ƒ  n  |  j j t | ƒ ƒ d  S(   N(   R   R   R   R   R    (   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   j   s    	c         C   s0   |  j  r |  j ƒ  n  |  j j t | ƒ ƒ d  S(   N(   R   R   R   R   R    (   R   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   o   s    	c         C   s`   |  j  r |  j ƒ  n  t | |  j ƒ r> |  j j | j ƒ n x | D] } |  j | ƒ qE Wd  S(   N(   R   R   t
   isinstanceR*   R   R   R   (   R   t   othert   element(    (    s!   /usr/lib/python2.7/_weakrefset.pyR   t   s    	c         C   s   |  j  | ƒ |  S(   N(   R   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __ior__}   s    c         C   sL   t  | |  j ƒ s$ |  j | ƒ } n  | | j ƒ } |  j ƒ  } | | _ | S(   N(   R2   R*   R   (   R   R3   t   methodt   newdatat   newset(    (    s!   /usr/lib/python2.7/_weakrefset.pyt   _apply‚   s    	c         C   s   |  j  | |  j j ƒ S(   N(   R9   R   t
   difference(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR:   Š   s    c         C   sP   |  j  r |  j ƒ  n  |  | k r2 |  j j ƒ  n |  j j d „  | Dƒ ƒ d  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>”   s    (   R   R   R   R.   t   difference_update(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR;   Ž   s
    	c         C   sP   |  j  r |  j ƒ  n  |  | k r2 |  j j ƒ  n |  j j d „  | Dƒ ƒ |  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>›   s    (   R   R   R   R.   R;   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __isub__•   s    	c         C   s   |  j  | |  j j ƒ S(   N(   R9   R   t   intersection(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR=   ž   s    c         C   s4   |  j  r |  j ƒ  n  |  j j d „  | Dƒ ƒ d  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>¥   s    (   R   R   R   t   intersection_update(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR>   ¢   s    	c         C   s4   |  j  r |  j ƒ  n  |  j j d „  | Dƒ ƒ |  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>©   s    (   R   R   R   R>   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __iand__¦   s    	c         C   s   |  j  j d „  | Dƒ ƒ S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>­   s    (   R   t   issubset(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyR@   ¬   s    c         C   s   |  j  t d „  | Dƒ ƒ k S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>±   s    (   R   R   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __le__°   s    c         C   s   |  j  j d „  | Dƒ ƒ S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>´   s    (   R   t
   issuperset(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyRB   ³   s    c         C   s   |  j  t d „  | Dƒ ƒ k S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>¸   s    (   R   R   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __ge__·   s    c         C   s3   t  | |  j ƒ s t S|  j t d „  | Dƒ ƒ k S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>½   s    (   R2   R*   t   NotImplementedR   R   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __eq__º   s    c         C   s   |  j  | |  j j ƒ S(   N(   R9   R   t   symmetric_difference(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyRF   ¿   s    c         C   sP   |  j  r |  j ƒ  n  |  | k r2 |  j j ƒ  n |  j j d „  | Dƒ ƒ d  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>É   s    (   R   R   R   R.   t   symmetric_difference_update(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyRG   Ã   s
    	c         C   sP   |  j  r |  j ƒ  n  |  | k r2 |  j j ƒ  n |  j j d „  | Dƒ ƒ |  S(   Nc         s   s   |  ] } t  | ƒ Vq d  S(   N(   R    (   R!   R   (    (    s!   /usr/lib/python2.7/_weakrefset.pys	   <genexpr>Ð   s    (   R   R   R   R.   RG   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   __ixor__Ê   s    	c         C   s   |  j  | |  j j ƒ S(   N(   R9   R   t   union(   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyRI   Ó   s    c         C   s   t  |  j | ƒ ƒ d k S(   Ni    (   t   lenR=   (   R   R3   (    (    s!   /usr/lib/python2.7/_weakrefset.pyt
   isdisjoint×   s    N()   R   R   R   R   R   R    R$   R(   R-   t   __hash__R   R.   R/   R   R   R   R   R5   R9   R:   t   __sub__R;   R<   R=   t   __and__R>   R?   R@   t   __lt__RA   RB   t   __gt__RC   RE   RF   t   __xor__RG   RH   RI   t   __or__RK   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyR   #   sL   																																N(   t   _weakrefR    t   __all__t   objectR   R   (    (    (    s!   /usr/lib/python2.7/_weakrefset.pyt   <module>   s   	