ó
È4ec           @   s™   d  d l  m Z m Z m Z d  d l m Z m Z m Z	 m
 Z
 d Z d „  Z d e j f d „  ƒ  YZ e j e j e e ƒ e j e j d d g ƒ d	 S(
   i   (   t   Imaget	   ImageFilet   ImagePalette(   t   i8t   i16let   i32let   o8s   0.2c         C   s)   t  |  ƒ d k o( t |  d d !ƒ d k S(   Ni   i   i¯  i¯  (   i¯  i¯  (   t   lent   i16(   t   prefix(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyt   _accept   s    t   FliImageFilec           B   sn   e  Z d  Z d Z e Z d „  Z d „  Z e d „  ƒ Z	 e d „  ƒ Z
 d „  Z d „  Z d „  Z d	 „  Z RS(
   t   FLIs   Autodesk FLI/FLC Animationc   	      C   s  |  j  j d ƒ } t | d d !ƒ } | d k oZ t | d d !ƒ d k oZ | d
 d !d k sl t d ƒ ‚ n  t | d d !ƒ |  _ d |  _ t | d d !ƒ t | d d !ƒ f |  _ t | d d
 !ƒ } | d k rä | d d } n  | |  j d <g  t	 d ƒ D] } | | | f ^ qþ } |  j  j d ƒ } d |  _
 t | d d !ƒ d k rx|  j
 t | ƒ |  _
 |  j  j d ƒ } n  t | d d !ƒ d k rþ|  j  j d ƒ } t | d d !ƒ d k rÏ|  j | d ƒ qþt | d d !ƒ d k rþ|  j | d ƒ qþn  g  | D]/ \ } } } t | ƒ t | ƒ t | ƒ ^ q} t j d d j | ƒ ƒ |  _ d |  _ |  j  |  _ |  j  j ƒ  |  _ |  j d ƒ d  S(   Ni€   i   i   i¯  i¯  i   i   i    i   i   i   s     s   not an FLI/FLC filei   t   Pi
   i   iè  iF   t   durationi   i ñ  iúñ  i   i   t   RGBt    iÿÿÿÿ(   i¯  i¯  (   i    i   (   t   fpt   readR   t   SyntaxErrort   _FliImageFile__framecountt   modet   _sizet   i32t   infot   ranget   _FliImageFile__offsett   _paletteR   R   t   rawt   joint   palettet   _FliImageFile__framet   _FliImageFile__fpt   tellt   _FliImageFile__rewindt   seek(	   t   selft   st   magicR   t   aR   t   rt   gt   b(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyt   _open.   s>    	)(	<	c   
      C   s  d } xt  t |  j j d ƒ ƒ ƒ D]ë } |  j j d ƒ } | t | d ƒ } t | d ƒ } | d k rv d } n  |  j j | d ƒ } x t  d t | ƒ d ƒ D]g } t | | ƒ | >} t | | d ƒ | >} t | | d ƒ | >}	 | | |	 f | | <| d 7} q¥ Wq% Wd  S(   Ni    i   i   i   i   (   R   R   R   R   R   R   (
   R$   R   t   shiftt   it   eR%   t   nR(   R)   R*   (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyR   d   s    %	c         C   s   |  j  S(   N(   R   (   R$   (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyt   n_framesv   s    c         C   s   |  j  d k S(   Ni   (   R   (   R$   (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyt   is_animatedz   s    c         C   sh   |  j  | ƒ s d  S| |  j k  r2 |  j d ƒ n  x/ t |  j d | d ƒ D] } |  j | ƒ qM Wd  S(   Ni    i   (   t   _seek_checkR   t   _seekR   (   R$   t   framet   f(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyR#   ~   s    !c         C   s÷   | d k r4 d |  _  |  j j |  j ƒ d |  _ n
 |  j ƒ  | |  j  d k rd t d | ƒ ‚ n  | |  _  |  j |  _ |  j j |  j ƒ |  j j d ƒ } | s­ t	 ‚ n  t
 | ƒ } | |  _ d d |  j |  j d  f g |  _ |  j | 7_ d  S(	   Ni    iÿÿÿÿi€   i   s   cannot seek to frame %di   t   fli(   i    i    (   R   R    R#   R"   R   t   loadt
   ValueErrorR   R   t   EOFErrorR   t   decodermaxblockt   sizet   Nonet   tile(   R$   R4   R%   t	   framesize(    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyR3   ‡   s"    	
			"c         C   s   |  j  S(   N(   R   (   R$   (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyR!   £   s    c         C   sO   z> y& |  j  |  j k r( |  j  j ƒ  n  Wn t k
 r< n XWd  d  |  _  Xd  S(   N(   R    R   t   closet   AttributeErrorR<   (   R$   (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyt
   _close__fp¦   s     (   t   __name__t
   __module__t   formatt   format_descriptiont   Falset!   _close_exclusive_fp_after_loadingR+   R   t   propertyR0   R1   R#   R3   R!   RA   (    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyR   (   s   	6					s   .flis   .flcN(   R   R    R   R   t   _binaryR   R   R   R   R   R   t   __version__R
   R   t   register_openRD   t   register_extensions(    (    (    s<   /usr/local/lib/python2.7/dist-packages/PIL/FliImagePlugin.pyt   <module>   s   "		‹