ÿØÿà JFIF      ÿÛ „ 	 ( %!1"%)+...383-7(-.+



-%%--------+------------/----------------------------ÿÀ  ¶" ÿÄ               ÿÄ @       !1AQaq‘¡"±ÁÑð2’BRráS‚ñ3b¢CT²Ò #cÿÄ             ÿÄ '        1!AQ2a"‘±#ÿÚ   ? ò(/p‘—–¢·,M|¯G»R£üešT. ôŸEoCFñ‡ 4ÔkåóxR|µÁ¨ÓDà!Ç´µ˜‡p ÍQ‹§!þž^õWsŒy  åÁ§$á«%ºq˜™JyyË0y«^Ï
-3ÃÏËÈ£Æ\P’ä„s&•‹Üs üô'àWt¹pñCp$bÚF`·7.^)¾!)ÒÙ˜–ÅÏš^h¾ø³·ìe±ŒaeÖ—Í,e=B}Jéß¦$$½—šÙÜCC¯¶è8Î²–Åkèwx
LÉngT±æ¹£Ócœ¿Í/©Éÿ ‰ÚCÒ­mq;Tt¶–}0"zÖPcd1š­¤tˆ„ÐÓâqú[™öUCŠ2Þ¿Ø¯­É(¸ßúçšmW,Ò ºf‹Ån™ÄLêÃ8üÁkÁ€L¥ÍuJ1œôrÂSŒÓöt!7EUíïb)AËi¬â-ÙHk8òÁiXYwÅ)O^"ÇØriÛô{»wRUKÙÏÚlÓ¬€‚’×©T]
ªb—ÊîKC^×M“xùäñz¬zJ×{4[¹M'IÆeH1LCWÕ]œûº WDæà°OÅ‚¹c²ÞuA–rL`HšpCez‡V’— Ž‚Ë„–ñ­'µR0ÕÖ=À:±G»C\nÆÉ5*¢ †3šhQ4ýÒi$Õ1"Ü]¢p-q3zcQ$ªö¨¥æf›‘»´ÝÚHá„e²JÇ–iÊ:·à¬Øc5Åk»Laª*wi
[0Ówk ¦a¦0Õ²ÅÅ‚T¸’³q:Æ<¹ú	Ò˜Æ}2VE•Ð€p¡Ô3Úº …h³^Ç‡ºçì¥Ánó|˜ÖˆÎˆ+«¦dø‘Mº–d\ªDðÛ„Ì×LÝ——Ð9Ç|•FèçVm™¨€™3õS–9Äå¢<Ì‰Ìm¢±`·º˜&Z²ž Ë®D«¶»6™‰©­HÈÀá«h­i³04æ’hxœi3ï¨(ÓL·†‹¶ËpŒ
ƒÜÒ?	:õdsÀ–3æÓ·Üjâ¬9—]8n¼&]I F£¼…ì–—Œ0v°LÇÅfÛ2TÖ’aµ˜N@ÖBSÏ^à´4-±°b×nÈÈœÆD=KdŒø…ÄÈK,›ÖR§fjü$^ÔÎ!„6^ s:Üun\ôkCÞò÷<—Lúl
Í›G¹ÀPá¼Nc¡šÒ…ÙWÍ³œ±vÊáÐ„×9‹P‰cEØ‘™›µŸP<×g1
º©Ø¬wiÁ^l5×I/';Ë+´Z‡ÓÄFÕp[Èð’
HÄ	ó
9¬Dl4“é±Ï”V=^Hð;žLädÉa‚°Ë,#/Ž~²BÔÛ
QãñQtIeórVB,ÏÂf‹4#Îœc‹É3ZIÖ Œ¢¥·üxa‡Ãçè„jŠ[5 Ä!U?,3žÎ×…ðdÓ÷háŠA‰ìÄ4÷ÃÜZÃE{‰®+W\ZÍE[‰»µk»MÝ­`¢©†˜ÃV‹-f¢¡†¢a«eŠ%«Y¨©q%jâd,Ôq`) ¤¦…šˆ ¦E>0Ùb²t–Ÿ
÷jsÏ‚Ò’KÈcø(é›;k(’#ôŒQ
™C>
õ³M9óºÆµ¤çâ;uÀ)5>RÔ¸fÓ~È¦—’-$fe«"FâUˆÊwµPÏu
w+"åÉoÌ¨6s™Û9(À¨ù©hE°½†n`m~“@©›p!Vkhµ Á1šbEqqÊ@ºèl›2 –Yã%‘‚hÛ{a¶‡ÅÞM²¬çL34®Çl]®‹ŽØŒm'RÜe35æöˆ­Á­ cP9šeÁköo´L³Ì=p8]”‡B¶,šº|ÉdzXˆØk*ÇÚ{#ñ‰pã(€¶‡9ý'šÜ³½¯kƒ†Â’ëSOƒ•Å®H6+a¢µˆ‹Y¨b˜b+XˆÖ!°u!¢"µˆˆn2ˆ Å0Ä`Å Ô®c(ÓÜGº•Ä»Œ âWî%q.áÐÄ÷î%umÍ£+ÜQ,Vn¦-GphU¸¢X­&,Gt
·K¢ÅÅ·¥RÄÊÉbKn
N­R2g$VµÕó
Qr#–ÓZUÏð0ÎtÙÀœz
ëöo“Îk¯n„T°"SÞ+³/…€½"ižãO%Í%&Î”â‘ËØ´IˆÓ°Ë‰ÞM<J•›C=ìu*Ü§„Ã¤GËŠô;5ŒÁ£ñùä¬6Ì2¦‘žh¸Rº<Õš%÷ …Ç	‚g‡.
>3.™yçÁzit›`4C`k¢¼á!álÄï sÂ[×!¤l¾æo"ƒIÔ'@ªu)3›ô®“@Z
à¾]
üœ'‡4¸PÞkÁ-qÄH‰ÓÍBd´ÿ —¹°ÄA&ÊUC„öz‚‚RæŠtf¬>˜ÑidšEçÑL÷áý¡V±h§­c¿¥¨ƒ@g¼…Ýö^ÞËc.Å¾„æ“I[ª+·zÐÒÚ,½Ð»¶€C›7jk$à¹–€Ž¾ÅÙpp¶ÍþéÎ¤ ½ØÎŒq ñpæžÅ¥#Øâ49ÃÂK^MYV“,¶Éz_òæ:…;Õ«¦I3âJ£¤û5$7Èxün\â]Êe¯(Ÿ&Ž‹¶2<6Ä†f× æ¢Æ±qWÄ±[(ÙÂŽç‚T7¨@ÈÉÍß‚ïÙ"&3TYlGŽ†)†#5ŠA©^T2ÆÁ†)©†©†¤yGXÁ†©"†)©¼ÅV WS†#©]R–r‹q5ÕbâWþBh¯u+ªÅÄ×ü„nÑ^êkªÁj‰jeœWˆÕÕ`µDµ2Ì+Ä µDµµ5Ô{¤Þ0RF’H÷AÛ<ÊÁ§ Æˆæ0Ñ£ê4 öÚµ[¬/1²€â<-¬šö²r×0o×w ´xÐÒË„
g01¬„åEMè›‡Ã\6µE›‘fÙO	k÷CºnÓ1`iîÒ²áÂ!ÑLÄÿ 
³¬\õ*:M=Ç»c‹2[‰ØsÕLò\ŒK L^™üÄN\¶#»
Ç\……ßïIœÉ$¸ÎñÍ®ÔHÃ‡	Ûí/´>Li”„†g^$ 7NÍÑÑ2M2ªNg=k½Ð}Ÿl6‡	—JWˆ”ÞéT·+µ¦üÂFè¢Vs6ýÆ4»2+2IÝ9ô9®ÇGÙÇ1+Ä8;*Õ§ž½D*îÑWÚçá3Ma¤·ˆ¥t}š²Ü…Q+Æüµ8HíS”üxGéÁˆ¦Ël„éÈ	5 µÄƒ6äÜ(kIš¯S†fÖ&¸®×v|Äyˆ*ç¦ŒÉù@7-®Ä[]ÎÖ¿ê`º…=:…žJVnÝ³vðÖKE¼‚ »mà ÷f®:Ë™–4rð¡4` Ü¹çž~‹C=œ…¾Ïj|VDtK.ƒ"9	Ï
­–éXá³6WÒïIL-Ð‡
Ç
usr/lib/python2.7/site-packages/urllib3/_collections.pyc                                            0000644                 00000031171 15267247026 0017177 0                                                                                                    ustar 00                                                                                                                                                                                                                                                       ó
nf·\c           @@  s  d  d l  m Z y d  d l m Z m Z Wn' e k
 rS d  d l m Z m Z n Xy d  d l m Z Wn$ e k
 rŽ d d d „  ƒ  YZ n Xd  d l m	 Z	 d d l
 m Z d d	 l m Z m Z m Z d
 d g Z e ƒ  Z d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   i    (   t   absolute_import(   t   Mappingt   MutableMapping(   t   RLockR   c           B@  s   e  Z d  „  Z d „  Z RS(   c         C@  s   d  S(   N(    (   t   self(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt	   __enter__
   s    c         C@  s   d  S(   N(    (   R   t   exc_typet	   exc_valuet	   traceback(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __exit__   s    (   t   __name__t
   __module__R   R	   (    (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR   	   s   	(   t   OrderedDicti   (   t   InvalidHeader(   t   iterkeyst
   itervaluest   PY3t   RecentlyUsedContainert   HTTPHeaderDictc           B@  sb   e  Z d  Z e Z d d
 d „ Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z RS(   s‘  
    Provides a thread-safe dict-like container which maintains up to
    ``maxsize`` keys while throwing away the least-recently-used keys beyond
    ``maxsize``.

    :param maxsize:
        Maximum number of recent elements to retain.

    :param dispose_func:
        Every time an item is evicted from the container,
        ``dispose_func(value)`` is called.  Callback which will get called
    i
   c         C@  s1   | |  _  | |  _ |  j ƒ  |  _ t ƒ  |  _ d  S(   N(   t   _maxsizet   dispose_funct   ContainerClst
   _containerR   t   lock(   R   t   maxsizeR   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __init__,   s    		c         C@  s7   |  j  �( |  j j | ƒ } | |  j | <| SWd  QXd  S(   N(   R   R   t   pop(   R   t   keyt   item(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __getitem__3   s    
c         C@  s—   t  } |  j �] |  j j | t  ƒ } | |  j | <t |  j ƒ |  j k rh |  j j d t ƒ \ } } n  Wd  QX|  j r“ | t  k	 r“ |  j | ƒ n  d  S(   Nt   last(	   t   _NullR   R   t   gett   lenR   t   popitemt   FalseR   (   R   R   t   valuet   evicted_valuet   _key(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __setitem__:   s    
$c         C@  s?   |  j  � |  j j | ƒ } Wd  QX|  j r; |  j | ƒ n  d  S(   N(   R   R   R   R   (   R   R   R$   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __delitem__I   s    
	c         C@  s!   |  j  � t |  j ƒ SWd  QXd  S(   N(   R   R!   R   (   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __len__P   s    
c         C@  s   t  d ƒ ‚ d  S(   Ns7   Iteration over this class is unlikely to be threadsafe.(   t   NotImplementedError(   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __iter__T   s    c         C@  s`   |  j  �' t t |  j ƒ ƒ } |  j j ƒ  Wd  QX|  j r\ x | D] } |  j | ƒ qB Wn  d  S(   N(   R   t   listR   R   t   clearR   (   R   t   valuesR$   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR-   W   s    
	c         C@  s'   |  j  � t t |  j ƒ ƒ SWd  QXd  S(   N(   R   R,   R   R   (   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   keysa   s    
N(   R
   R   t   __doc__R   R   t   NoneR   R   R'   R(   R)   R+   R-   R/   (    (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR      s   						
c           B@  s  e  Z d  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 e si e j Z e j Z n  e ƒ  Z d „  Z d	 „  Z e d
 „ Z d „  Z d „  Z d „  Z e d „ Z e Z e Z e Z e Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! e" d „  ƒ Z# RS(   sp  
    :param headers:
        An iterable of field-value pairs. Must not contain multiple field names
        when compared case-insensitively.

    :param kwargs:
        Additional field-value pairs to pass in to ``dict.update``.

    A ``dict`` like container for storing HTTP Headers.

    Field names are stored and compared case-insensitively in compliance with
    RFC 7230. Iteration provides the first case-sensitive key seen for each
    case-insensitive pair.

    Using ``__setitem__`` syntax overwrites fields that compare equal
    case-insensitively in order to maintain ``dict``'s api. For fields that
    compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add``
    in a loop.

    If multiple fields that are equal case-insensitively are passed to the
    constructor or ``.update``, the behavior is undefined and some will be
    lost.

    >>> headers = HTTPHeaderDict()
    >>> headers.add('Set-Cookie', 'foo=bar')
    >>> headers.add('set-cookie', 'baz=quxx')
    >>> headers['content-length'] = '7'
    >>> headers['SET-cookie']
    'foo=bar, baz=quxx'
    >>> headers['Content-Length']
    '7'
    c         K@  st   t  t |  ƒ j ƒ  t ƒ  |  _ | d  k	 rZ t | t ƒ rJ |  j | ƒ qZ |  j | ƒ n  | rp |  j | ƒ n  d  S(   N(	   t   superR   R   R   R   R1   t
   isinstancet
   _copy_fromt   extend(   R   t   headerst   kwargs(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR   ˆ   s    c         C@  s*   | | g |  j  | j ƒ  <|  j  | j ƒ  S(   N(   R   t   lower(   R   R   t   val(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR'   “   s    c         C@  s$   |  j  | j ƒ  } d j | d ƒ S(   Ns   , i   (   R   R8   t   join(   R   R   R9   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR   —   s    c         C@  s   |  j  | j ƒ  =d  S(   N(   R   R8   (   R   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR(   ›   s    c         C@  s   | j  ƒ  |  j k S(   N(   R8   R   (   R   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __contains__ž   s    c         C@  s„   t  | t ƒ r$ t | d ƒ r$ t St  | t |  ƒ ƒ sN t |  ƒ | ƒ } n  t d „  |  j ƒ  Dƒ ƒ t d „  | j ƒ  Dƒ ƒ k S(   NR/   c         s@  s'   |  ] \ } } | j  ƒ  | f Vq d  S(   N(   R8   (   t   .0t   kt   v(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pys	   <genexpr>¦   s    c         s@  s'   |  ] \ } } | j  ƒ  | f Vq d  S(   N(   R8   (   R<   R=   R>   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pys	   <genexpr>§   s    (   R3   R   t   hasattrR#   t   typet   dictt
   itermerged(   R   t   other(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __eq__¡   s     c         C@  s   |  j  | ƒ S(   N(   RD   (   R   RC   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __ne__©   s    c         C@  s   t  |  j ƒ S(   N(   R!   R   (   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR)   ²   s    c         c@  s'   x  |  j  j ƒ  D] } | d Vq Wd  S(   Ni    (   R   R.   (   R   t   vals(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR+   µ   s    c         C@  sG   y |  | } Wn' t  k
 r7 | |  j k r3 ‚  n  | SX|  | =| Sd S(   s©   D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
          If key is not found, d is returned if given, otherwise KeyError is raised.
        N(   t   KeyErrort   _HTTPHeaderDict__marker(   R   R   t   defaultR$   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR   º   s    c         C@  s#   y |  | =Wn t  k
 r n Xd  S(   N(   RG   (   R   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   discardË   s    c         C@  sM   | j  ƒ  } | | g } |  j j | | ƒ } | | k	 rI | j | ƒ n  d S(   sâ   Adds a (name, value) pair, doesn't overwrite the value if it already
        exists.

        >>> headers = HTTPHeaderDict(foo='bar')
        >>> headers.add('Foo', 'baz')
        >>> headers['foo']
        'bar, baz'
        N(   R8   R   t
   setdefaultt   append(   R   R   R9   t	   key_lowert   new_valsRF   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   addÑ   s
    	c         O@  s]  t  | ƒ d k r0 t d j t  | ƒ ƒ ƒ ‚ n  t  | ƒ d k rL | d n d } t | t ƒ r‘ xÈ | j ƒ  D] \ } } |  j | | ƒ qn Wn› t | t ƒ rÈ x‰ | D] } |  j | | | ƒ q§ Wnd t | d ƒ rxR | j	 ƒ  D] } |  j | | | ƒ qä Wn' x$ | D] \ } } |  j | | ƒ qWx* | j
 ƒ  D] \ } } |  j | | ƒ q9Wd S(   sÀ   Generic import function for any type of header-like object.
        Adapted version of MutableMapping.update in order to insert items
        with self.add instead of self.__setitem__
        i   s9   extend() takes at most 1 positional arguments ({0} given)i    R/   N(    (   R!   t	   TypeErrort   formatR3   R   t	   iteritemsRO   R   R?   R/   t   items(   R   t   argsR7   RC   R   R9   R$   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR5   á   s"    	"c         C@  sK   y |  j  | j ƒ  } Wn% t k
 r> | |  j k r: g  S| SX| d Sd S(   sm   Returns a list of all the values for the named field. Returns an
        empty list if the key doesn't exist.i   N(   R   R8   RG   RH   (   R   R   RI   RF   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   getlistû   s    c         C@  s#   d t  |  ƒ j t |  j ƒ  ƒ f S(   Ns   %s(%s)(   R@   R
   RA   RB   (   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   __repr__  s    c         C@  s\   xU | D]M } | j  | ƒ } t | t ƒ r: t | ƒ } n  | g | |  j | j ƒ  <q Wd  S(   N(   RU   R3   R,   R   R8   (   R   RC   R   R9   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR4     s
    c         C@  s    t  |  ƒ ƒ  } | j |  ƒ | S(   N(   R@   R4   (   R   t   clone(    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   copy  s    c         c@  sL   xE |  D]= } |  j  | j ƒ  } x! | d D] } | d | f Vq+ Wq Wd S(   s8   Iterate over all header lines, including duplicate ones.i   i    N(   R   R8   (   R   R   RF   R9   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyRR     s    c         c@  sD   x= |  D]5 } |  j  | j ƒ  } | d d j | d ƒ f Vq Wd S(   s:   Iterate over all headers, merging duplicate ones together.i    s   , i   N(   R   R8   R:   (   R   R   R9   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyRB   &  s    c         C@  s   t  |  j ƒ  ƒ S(   N(   R,   RR   (   R   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyRS   ,  s    c         C@  s·   d } g  } xž | j  D]“ } | j | ƒ rx | sD t d | ƒ ‚ qx | d \ } } | | d | j ƒ  f | d <q n  | j d d ƒ \ } } | j | | j ƒ  f ƒ q W|  | ƒ S(   s4   Read headers from a Python 2 httplib message object.t    s   	s/   Header continuation with no previous header: %siÿÿÿÿt   :i   (   RY   s   	(   R6   t
   startswithR   t   stript   splitRL   (   t   clst   messaget   obs_fold_continued_leadersR6   t   lineR   R$   (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   from_httplib/  s    N($   R
   R   R0   R1   R   R'   R   R(   R;   RD   RE   R   R   R   R   t   objectRH   R)   R+   R   RJ   RO   R5   RU   t
   getheaderst   getallmatchingheaderst   igett   get_allRV   R4   RX   RR   RB   RS   t   classmethodRb   (    (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyR   f   s<    																			N(    (   t
   __future__R    t   collections.abcR   R   t   ImportErrort   collectionst	   threadingR   R   t
   exceptionsR   t   packages.sixR   R   R   t   __all__Rc   R   R   R   (    (    (    s8   /usr/lib/python2.7/site-packages/urllib3/_collections.pyt   <module>   s   	J                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       