ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
f,  c               @   s   d  Z  d d l 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 e e f Z d d d d d	 d
 d d d d d g Z Gd d   d e j  Z Gd d   d e  Z Gd d	   d	 e j  Z d S(   u{   Weak reference support for Python.

This module is an implementation of PEP 205:

http://www.python.org/dev/peps/pep-0205/
i    (   u   getweakrefcountu   getweakrefsu   refu   proxyu   CallableProxyTypeu	   ProxyTypeu   ReferenceType(   u   WeakSetu   _IterationGuardNu   refu   proxyu   getweakrefcountu   getweakrefsu   WeakKeyDictionaryu   ReferenceTypeu	   ProxyTypeu   CallableProxyTypeu
   ProxyTypesu   WeakValueDictionaryu   WeakSetc             B   s  |  Ee  Z d  Z 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 d d   Z e Z d d   Z d* d d  Z d d   Z d d   Z e Z d d   Z d d   Z d  d!   Z d" d#   Z d* d$ d%  Z d* d& d'  Z d( d)   Z d* S(+   u   WeakValueDictionaryu   Mapping class that references values weakly.

    Entries in the dictionary will be discarded when no strong
    reference to the value exists anymore
    c             O   sT   t  |   d d  } | |  _ g  |  _ t   |  _ i  |  _ } |  j | |   d  S(   Nc             S   sH   |   } | d  k	 rD | j r4 | j j |  j  qD | j |  j =n  d  S(   N(   u   Noneu
   _iteratingu   _pending_removalsu   appendu   keyu   data(   u   wru   selfrefu   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   remove.   s
    		u,   WeakValueDictionary.__init__.<locals>.remove(   u   refu   _removeu   _pending_removalsu   setu
   _iteratingu   datau   update(   u   selfu   argsu   kwu   removeu   d(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __init__-   s    		u   WeakValueDictionary.__init__c             C   s0   |  j  } |  j } x | r+ | | j   =q Wd  S(   N(   u   _pending_removalsu   datau   pop(   u   selfu   lu   d(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   _commit_removals<   s    			u$   WeakValueDictionary._commit_removalsc             C   s3   |  j  |   } | d  k r+ t |   n | Sd  S(   N(   u   datau   Noneu   KeyError(   u   selfu   keyu   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __getitem__D   s    u   WeakValueDictionary.__getitem__c             C   s$   |  j  r |  j   n  |  j | =d  S(   N(   u   _pending_removalsu   _commit_removalsu   data(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __delitem__K   s    	u   WeakValueDictionary.__delitem__c             C   s   t  |  j  t  |  j  S(   N(   u   lenu   datau   _pending_removals(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __len__P   s    u   WeakValueDictionary.__len__c             C   s7   y |  j  |   } Wn t k
 r, d SYn X| d  k	 S(   NF(   u   datau   KeyErroru   Falseu   None(   u   selfu   keyu   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __contains__S   s
    	u    WeakValueDictionary.__contains__c             C   s   d t  |   S(   Nu   <WeakValueDictionary at %s>(   u   id(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __repr__Z   s    u   WeakValueDictionary.__repr__c             C   s6   |  j  r |  j   n  t | |  j |  |  j | <d  S(   N(   u   _pending_removalsu   _commit_removalsu   KeyedRefu   _removeu   data(   u   selfu   keyu   value(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __setitem__]   s    	u   WeakValueDictionary.__setitem__c             C   sO   t    } x? |  j j   D]. \ } } |   } | d  k	 r | | | <q q W| S(   N(   u   WeakValueDictionaryu   datau   itemsu   None(   u   selfu   newu   keyu   wru   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   copyb   s    		u   WeakValueDictionary.copyc             C   sk   d d l  m } |  j   } xH |  j j   D]7 \ } } |   } | d  k	 r, | | | | |  <q, q, W| S(   Ni    (   u   deepcopy(   u   copyu   deepcopyu	   __class__u   datau   itemsu   None(   u   selfu   memou   deepcopyu   newu   keyu   wru   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __deepcopy__l   s    	u    WeakValueDictionary.__deepcopy__c             C   sK   y |  j  | } Wn t k
 r) | SYn X|   } | d  k rC | S| Sd  S(   N(   u   datau   KeyErroru   None(   u   selfu   keyu   defaultu   wru   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   getu   s    		u   WeakValueDictionary.getc          
   c   sZ   t  |   H x@ |  j j   D]/ \ } } |   } | d  k	 r | | f Vq q WWd  QXd  S(   N(   u   _IterationGuardu   datau   itemsu   None(   u   selfu   ku   wru   v(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   items   s
    	u   WeakValueDictionary.itemsc          
   c   sN   t  |   < x4 |  j j   D]# \ } } |   d  k	 r | Vq q WWd  QXd  S(   N(   u   _IterationGuardu   datau   itemsu   None(   u   selfu   ku   wr(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   keys   s    u   WeakValueDictionary.keysc          	   c   s6   t  |   $ x |  j j   D] } | Vq WWd QXd S(   u  Return an iterator that yields the weak references to the values.

        The references are not guaranteed to be 'live' at the time
        they are used, so the result of calling the references needs
        to be checked before being used.  This can be used to avoid
        creating references that will cause the garbage collector to
        keep the values around longer than needed.

        N(   u   _IterationGuardu   datau   values(   u   selfu   wr(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   itervaluerefs   s    
u!   WeakValueDictionary.itervaluerefsc          
   c   sN   t  |   < x4 |  j j   D]# } |   } | d  k	 r | Vq q WWd  QXd  S(   N(   u   _IterationGuardu   datau   valuesu   None(   u   selfu   wru   obj(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   values   s
    	u   WeakValueDictionary.valuesc             C   sT   |  j  r |  j   n  x7 |  j j   \ } } |   } | d  k	 r | | f Sq d  S(   N(   u   _pending_removalsu   _commit_removalsu   datau   popitemu   None(   u   selfu   keyu   wru   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   popitem   s    		u   WeakValueDictionary.popitemc             G   sx   |  j  r |  j   n  y |  j j |    } Wn# t k
 rT | rM | d S  Yn X| d  k rp t |   n | Sd  S(   Ni    (   u   _pending_removalsu   _commit_removalsu   datau   popu   KeyErroru   None(   u   selfu   keyu   argsu   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   pop   s    	u   WeakValueDictionary.popc             C   sg   y |  j  | } WnH t k
 r[ |  j r7 |  j   n  t | |  j |  |  j  | <| SYn X|   Sd  S(   N(   u   datau   KeyErroru   _pending_removalsu   _commit_removalsu   KeyedRefu   _remove(   u   selfu   keyu   defaultu   wr(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu
   setdefault   s    		u   WeakValueDictionary.setdefaultc             K   s   |  j  r |  j   n  |  j } | d  k	 r t | d  sO t i   |  } n  x6 | j   D]% \ } } t | |  j |  | | <q\ Wn  t	 |  r |  j
 |  n  d  S(   Nu   items(   u   _pending_removalsu   _commit_removalsu   datau   Noneu   hasattru   typeu   itemsu   KeyedRefu   _removeu   lenu   update(   u   selfu   dictu   kwargsu   du   keyu   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   update   s    		 u   WeakValueDictionary.updatec             C   s   t  |  j j    S(   u~  Return a list of weak references to the values.

        The references are not guaranteed to be 'live' at the time
        they are used, so the result of calling the references needs
        to be checked before being used.  This can be used to avoid
        creating references that will cause the garbage collector to
        keep the values around longer than needed.

        (   u   listu   datau   values(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu	   valuerefs   s    
u   WeakValueDictionary.valuerefsN(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u   _commit_removalsu   __getitem__u   __delitem__u   __len__u   __contains__u   __repr__u   __setitem__u   copyu   __copy__u   __deepcopy__u   Noneu   getu   itemsu   keysu   __iter__u   itervaluerefsu   valuesu   popitemu   popu
   setdefaultu   updateu	   valuerefs(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   WeakValueDictionary!   s.   		c                s>   |  Ee  Z d  Z d Z d Z d d   Z   f d d   Z   S(   u   KeyedRefu[  Specialized reference that includes a key corresponding to the value.

    This is used in the WeakValueDictionary to avoid having to create
    a function object for each key stored in the mapping.  A shared
    callback object can use the 'key' attribute of a KeyedRef instead
    of getting a reference to the key from an enclosing scope.

    u   keyc             C   s"   t  j |  | |  } | | _ | S(   N(   u   refu   __new__u   key(   u   typeu   obu   callbacku   keyu   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __new__   s    	u   KeyedRef.__new__c                s   t    j | |  d  S(   N(   u   superu   __init__(   u   selfu   obu   callbacku   key(   u	   __class__(    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __init__   s    u   KeyedRef.__init__(   u   key(   u   __name__u
   __module__u   __qualname__u   __doc__u	   __slots__u   __new__u   __init__(   u
   __locals__(    (   u	   __class__u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   KeyedRef   s   u   KeyedRefc             B   s  |  Ee  Z d  Z d Z d( 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 d( d 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 d( d$ d%  Z d( d& d'  Z d( S()   u   WeakKeyDictionaryu   Mapping class that references keys weakly.

    Entries in the dictionary will be discarded when there is no
    longer a strong reference to the key. This can be used to
    associate additional data with an object owned by other parts of
    an application without adding attributes to those objects. This
    can be especially useful with objects that override attribute
    accesses.
    c             C   s\   i  |  _  t |   d d  } | |  _ g  |  _ t   |  _ | d  k	 rX |  j |  n  d  S(   Nc             S   sB   |   } | d  k	 r> | j r1 | j j |   q> | j |  =n  d  S(   N(   u   Noneu
   _iteratingu   _pending_removalsu   appendu   data(   u   ku   selfrefu   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   remove  s
    		u*   WeakKeyDictionary.__init__.<locals>.remove(   u   datau   refu   _removeu   _pending_removalsu   setu
   _iteratingu   Noneu   update(   u   selfu   dictu   remove(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __init__  s    			u   WeakKeyDictionary.__init__c             C   sI   |  j  } |  j } x0 | rD y | | j   =Wq t k
 r@ Yq Xq Wd  S(   N(   u   _pending_removalsu   datau   popu   KeyError(   u   selfu   lu   d(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   _commit_removals  s    			u"   WeakKeyDictionary._commit_removalsc             C   s   |  j  t |  =d  S(   N(   u   datau   ref(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __delitem__  s    u   WeakKeyDictionary.__delitem__c             C   s   |  j  t |  S(   N(   u   datau   ref(   u   selfu   key(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __getitem__!  s    u   WeakKeyDictionary.__getitem__c             C   s   t  |  j  t  |  j  S(   N(   u   lenu   datau   _pending_removals(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __len__$  s    u   WeakKeyDictionary.__len__c             C   s   d t  |   S(   Nu   <WeakKeyDictionary at %s>(   u   id(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __repr__'  s    u   WeakKeyDictionary.__repr__c             C   s   | |  j  t | |  j  <d  S(   N(   u   datau   refu   _remove(   u   selfu   keyu   value(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __setitem__*  s    u   WeakKeyDictionary.__setitem__c             C   sO   t    } x? |  j j   D]. \ } } |   } | d  k	 r | | | <q q W| S(   N(   u   WeakKeyDictionaryu   datau   itemsu   None(   u   selfu   newu   keyu   valueu   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   copy-  s    		u   WeakKeyDictionary.copyc             C   sk   d d l  m } |  j   } xH |  j j   D]7 \ } } |   } | d  k	 r, | | |  | | <q, q, W| S(   Ni    (   u   deepcopy(   u   copyu   deepcopyu	   __class__u   datau   itemsu   None(   u   selfu   memou   deepcopyu   newu   keyu   valueu   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __deepcopy__7  s    	u   WeakKeyDictionary.__deepcopy__c             C   s   |  j  j t |  |  S(   N(   u   datau   getu   ref(   u   selfu   keyu   default(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   get@  s    u   WeakKeyDictionary.getc             C   s6   y t  |  } Wn t k
 r( d SYn X| |  j k S(   NF(   u   refu	   TypeErroru   Falseu   data(   u   selfu   keyu   wr(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   __contains__C  s
    	u   WeakKeyDictionary.__contains__c          
   c   sZ   t  |   H x@ |  j j   D]/ \ } } |   } | d  k	 r | | f Vq q WWd  QXd  S(   N(   u   _IterationGuardu   datau   itemsu   None(   u   selfu   wru   valueu   key(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   itemsJ  s
    	u   WeakKeyDictionary.itemsc          
   c   sH   t  |   6 x. |  j D]# } |   } | d  k	 r | Vq q WWd  QXd  S(   N(   u   _IterationGuardu   datau   None(   u   selfu   wru   obj(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   keysQ  s
    	u   WeakKeyDictionary.keysc          
   c   sN   t  |   < x4 |  j j   D]# \ } } |   d  k	 r | Vq q WWd  QXd  S(   N(   u   _IterationGuardu   datau   itemsu   None(   u   selfu   wru   value(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   valuesZ  s    u   WeakKeyDictionary.valuesc             C   s   t  |  j  S(   uz  Return a list of weak references to the keys.

        The references are not guaranteed to be 'live' at the time
        they are used, so the result of calling the references needs
        to be checked before being used.  This can be used to avoid
        creating references that will cause the garbage collector to
        keep the keys around longer than needed.

        (   u   listu   data(   u   self(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   keyrefs`  s    
u   WeakKeyDictionary.keyrefsc             C   s>   x7 |  j  j   \ } } |   } | d  k	 r | | f Sq d  S(   N(   u   datau   popitemu   None(   u   selfu   keyu   valueu   o(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   popiteml  s
    	u   WeakKeyDictionary.popitemc             G   s   |  j  j t |  |  S(   N(   u   datau   popu   ref(   u   selfu   keyu   args(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   pops  s    u   WeakKeyDictionary.popc             C   s   |  j  j t | |  j  |  S(   N(   u   datau
   setdefaultu   refu   _remove(   u   selfu   keyu   default(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu
   setdefaultv  s    u   WeakKeyDictionary.setdefaultc             K   s   |  j  } | d  k	 ro t | d  s9 t i   |  } n  x3 | j   D]" \ } } | | t | |  j  <qF Wn  t |  r |  j |  n  d  S(   Nu   items(	   u   datau   Noneu   hasattru   typeu   itemsu   refu   _removeu   lenu   update(   u   selfu   dictu   kwargsu   du   keyu   value(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   updatey  s    	u   WeakKeyDictionary.updateN(   u   __name__u
   __module__u   __qualname__u   __doc__u   Noneu   __init__u   _commit_removalsu   __delitem__u   __getitem__u   __len__u   __repr__u   __setitem__u   copyu   __copy__u   __deepcopy__u   getu   __contains__u   itemsu   keysu   __iter__u   valuesu   keyrefsu   popitemu   popu
   setdefaultu   update(   u
   __locals__(    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   WeakKeyDictionary   s,   		(   u   __doc__u   _weakrefu   getweakrefcountu   getweakrefsu   refu   proxyu   CallableProxyTypeu	   ProxyTypeu   ReferenceTypeu   _weakrefsetu   WeakSetu   _IterationGuardu   collectionsu
   ProxyTypesu   __all__u   MutableMappingu   WeakValueDictionaryu   KeyedRefu   WeakKeyDictionary(    (    (    u,   /opt/alt/python33/lib64/python3.3/weakref.pyu   <module>   s   4				