Ñò
…n+Oc           @   s"  d  Z  d d k Z d d k Z d d k Z d „  Z d „  Z d „  Z d e i f d „  ƒ  YZ y d d k Z Wn e	 j
 o d Z n Xh d d	 6d d 6d
 d
 6Z d „  Z d „  Z d d „ Z d d „ Z e i e i e e ƒ e i e i e ƒ e i e i d ƒ e i e i d ƒ d S(   s   0.9iÿÿÿÿNc         C   s    t  |  d ƒ t  |  d ƒ d >S(   Ni    i   i   (   t   ord(   t   c(    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   i16%   s    c         C   s    t  |  d @ƒ t  |  d ?d @ƒ S(   Niÿ   i   (   t   chr(   t   i(    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   o16(   s    c         C   s   |  d  d j S(   Ni   t   GIF87at   GIF89a(   R   R   (    (   t   prefix(    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   _accept/   s    t   GifImageFilec           B   s>   e  Z d  Z d Z d Z d „  Z d „  Z d „  Z d „  Z	 RS(   t   GIFs   Compuserve GIFc         C   sA   |  i  i d ƒ } | o$ t | ƒ o |  i  i t | ƒ ƒ Sd  S(   Ni   (   t   fpt   readR    t   None(   t   selft   s(    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   data=   s    c      	   C   sˆ  |  i  i d ƒ } | d  d j o t d ‚ n | d  |  i d <t | d ƒ t | d ƒ f |  _ g  |  _ t | d ƒ } | d	 @d
 } | d @oÃ t | d ƒ |  i d <|  i  i d | >ƒ } x“ t d t	 | ƒ d ƒ D]u } t
 | d ƒ | | j o& | | d
 j o | | d j n p' t i d | ƒ } | |  _ |  _ PqÜ qÜ Wn |  i  |  _ |  i  i ƒ  |  _ |  i d ƒ d  S(   Ni   i   R   R   s   not a GIF filet   versioni   i
   i   i   i€   i   t
   backgroundi   i    i   t   RGB(   s   GIF87as   GIF89a(   R   R   t   SyntaxErrort   infoR   t   sizet   tileR    t   ranget   lenR   t   ImagePalettet   rawt   global_palettet   palettet   _GifImageFile__fpt   tellt   _GifImageFile__rewindt   seek(   R   R   t   flagst   bitst   pR   (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   _openC   s(    #	 Hc      	   C   sD  | d j o2 d |  _  d  |  _ d |  _ |  i i |  i ƒ n | |  i d j o t d | ‚ n | |  _ g  |  _ |  i |  _	 |  i  o5 |  i	 i |  i  ƒ x |  i
 ƒ  o q¢ Wd |  _  n |  i o |  i |  _ d  |  _ n |  i |  _ x|  i	 i d ƒ } | p | d j o Pqó | d j o³|  i	 i d ƒ } |  i
 ƒ  } t | ƒ d j oÍ t | d ƒ } | d @o t | d ƒ |  i d	 <n t | d d !ƒ d
 |  i d <yY | d @o) t i i d |  i |  i d ƒ |  _ n" | d @o |  i i ƒ  |  _ n WqÆt t f j
 o qÆXn t | ƒ d j o‰ | |  i	 i ƒ  f |  i d <| d  d j oX |  i
 ƒ  } t | ƒ d j o5 t | d ƒ d j o t | d d !ƒ |  i d <qÂqÆn x=|  i
 ƒ  o qÉWqó | d j o|  i	 i d ƒ } t | d ƒ t | d ƒ } } | t | d ƒ | t | d ƒ } } t | d ƒ } | d @d j }	 | d @o7 | d @d }
 t i d |  i	 i d |
 >ƒ ƒ |  _ n t |  i	 i d ƒ ƒ }
 |  i	 i ƒ  |  _  d | | | | f |  i  |
 |	 f f g |  _ Pqó qó |  i p t d ‚ n d  |  _ |  i o d |  _ n d  S(!   Ni    iÿÿÿÿi   s   cannot seek to frame %dt   ;t   !iù   i   t   transparencyi
   t   durationi   t   PR   i   iÿ   t	   extensioni   s   NETSCAPE2.0t   loopt   ,i	   i   i   i   i@   i€   i   R   t   gifs   no more images in GIF filet   L(   t   _GifImageFile__offsetR   t   disposet   _GifImageFile__frameR   R"   R!   t
   ValueErrorR   R   R   t   imR   R   R   R    R   R   t   Imaget   coret   fillR   t   copyt   AttributeErrort   KeyErrorR    R   R   R   t   EOFErrort   mode(   R   t   frameR   t   blockR#   t   x0t   y0t   x1t   y1t	   interlaceR$   (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyR"   c   sŽ    					
 
	*& 	!))
	
c         C   s   |  i  S(   N(   R3   (   R   (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyR    Ò   s    N(
   t   __name__t
   __module__t   formatt   format_descriptionR   R   R   R&   R"   R    (    (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyR
   6   s   		 	oR0   t   1R+   c   	      C   s}  t  o5 y t  i |  | | ƒ d  SWq< t j
 o q< Xn y t |  i } |  } WnZ t j
 oN t i |  i ƒ d j o |  i d ƒ } d } q° |  i d ƒ } d } n Xx' t	 | |  i
 ƒ D] } | i | ƒ qÃ Wd } y |  i
 d } Wn t j
 o d } n Xt |  i ƒ d j  o
 d } n | o | d B} n y |  i
 d	 } Wn t j
 o nQ X| i d
 t d ƒ t d ƒ t d ƒ t d ƒ t t | ƒ ƒ t d ƒ ƒ | i d t d ƒ t d ƒ t |  i d ƒ t |  i d ƒ t | ƒ t d ƒ ƒ d | f | _ t i | | d d |  i d | f g ƒ | i d ƒ | i d ƒ y | i ƒ  Wn n Xd  S(   NR   R+   R0   i    RD   i   i   i@   R)   R(   iù   i   R.   i   R/   t    R'   (   i    i    (   t   _imaging_gift   savet   IOErrort   RAWMODER=   R;   R6   t   getmodebaset   convertt	   getheadert   encoderinfot   writet   minR   R   R   t   intt   encoderconfigt	   ImageFilet   _savet   flush(	   R5   R   t   filenamet   rawmodet   imOutR   R#   RD   R)   (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyRX   ä   sX    	

 
IC) c         C   sy   d d  k  } |  i ƒ  } |  i d j o | i d | | f ƒ n | i d | | f ƒ y | i | ƒ Wn n Xd  S(   NiÿÿÿÿR   s   ppmtogif %s >%ss   ppmquant 256 %s | ppmtogif >%s(   t   ost   _dumpR=   t   systemt   unlink(   R5   R   RZ   R]   t   file(    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   _save_netpbm/  s      c         C   s  | o | i  d d ƒ } d t |  i d ƒ t |  i d ƒ t d ƒ t d ƒ t d ƒ g } | oB d } d } x9 |  i ƒ  D]! } | o
 | } n | d } q‚ Wn d } |  i d j o% | i |  i i d	 ƒ | d
  ƒ n/ x+ t	 | ƒ D] } | i t | ƒ d
 ƒ qó W| S(   s2   Return a list of strings representing a GIF headert   optimizei    R   i   i   i€   i   R+   R   i   i‡   (
   t   getR   R   R   t	   histogramR=   t   appendR5   t
   getpaletteR   (   R5   R   Rc   R   R   t   maxcolort   count(    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyRQ   C  s$    9 
% i    c         K   sà   d d
 d „  ƒ  Y} |  i  ƒ  | ƒ  } z© | |  _ | i d t | d ƒ t | d ƒ t |  i d ƒ t |  i d ƒ t d ƒ t d ƒ ƒ t i |  | d d |  i d t |  i	 f g ƒ | i d ƒ Wd	 |  ` X| i
 S(   s   Return a list of strings representing this image.
       The first string is a local image header, the rest contains
       encoded image data.t	   collectorc           B   s   e  Z g  Z d  „  Z RS(   c         S   s   |  i  i | ƒ d  S(   N(   R   Rf   (   R   R   (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyRS   n  s    (   RE   RF   R   RS   (    (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyRj   l  s   R.   i    i   i   R/   RJ   N(    (   i    i    (   t   loadRR   RS   R   R   R   RW   RX   RN   R=   R   (   R5   t   offsett   paramsRj   R   (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   getdatag  s    
		K0s   .gifs	   image/gif(   i    i    (   t   __version__R6   RW   R   R   R   R	   R
   RK   t   ImportErrorR   RN   RX   Rb   RQ   Rn   t   register_openRG   t   register_savet   register_extensiont   register_mime(    (    (    s<   /usr/local/lib/python2.6/dist-packages/PIL/GifImagePlugin.pyt   <module>   s*   $			£
	K	$'