ó
O'—^c           @   s®   d  d l  m Z m Z m Z m Z d Z e j Z e j Z e j	 Z
 e j Z d „  Z d e j f d „  ƒ  YZ e j e j e e ƒ e j e j d ƒ e j e j d ƒ d S(	   iÿÿÿÿ(   t   Imaget	   ImageFilet   ImagePalettet   _binarys   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(    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyt   _accept    s    t   FliImageFilec           B   s_   e  Z d  Z d Z d „  Z d „  Z e d „  ƒ Z e 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  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 rb|  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 ƒ  |  _ d  |  _ d  |  _ |  j d ƒ d  S(   Ni€   i   i   i¯  i¯  i   i   i    i   i   i   s     s   not an FLI/FLC filet   Pi   i
   i   iè  iF   t   durationi   i ñ  iúñ  i   i   t   RGBt    iÿÿÿÿ(   i¯  i¯  (   i    i   (   t   fpt   readR   t   SyntaxErrort   modet   sizet   i32t   infot   ranget   _FliImageFile__offsett   _palettet   o8R   t   rawt   joint   palettet   _FliImageFile__framet   _FliImageFile__fpt   tellt   _FliImageFile__rewindt   Nonet	   _n_framest   _is_animatedt   seek(	   t   selft   st   magicR   t   aR   t   rt   gt   b(    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/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   t   i8R   (
   R$   R   t   shiftt   it   eR%   t   nR(   R)   R*   (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyR   `   s    %	c         C   s   |  j  d  k rz |  j ƒ  } y( x! t rA |  j |  j ƒ  d ƒ q! WWn$ t k
 ri |  j ƒ  d |  _  n X|  j | ƒ n  |  j  S(   Ni   (   R!   R    R   t   TrueR#   t   EOFError(   R$   t   current(    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyt   n_framesr   s    	c         C   si   |  j  d  k rb |  j ƒ  } y |  j d ƒ t |  _  Wn t k
 rQ t |  _  n X|  j | ƒ n  |  j  S(   Ni   (   R"   R    R   R#   R1   R2   t   False(   R$   R3   (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyt   is_animated~   s    c         C   s¢   | |  j  k r d  S| |  j  k  r2 |  j d ƒ n  |  j  } x` t |  j  d | d ƒ D]D } y |  j | ƒ WqV t k
 r™ |  j | ƒ t d ƒ ‚ qV XqV Wd  S(   Ni    i   s   no more images in FLI file(   R   t   _seekR   R2   R#   (   R$   t   framet
   last_framet   f(    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyR#   Œ   s    	!c         C   sí   | d k r4 d |  _  |  j j |  j ƒ d |  _ n  | |  j  d k rZ 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
   ValueErrorR   R   R2   R   t   decodermaxblockR   R    t   tile(   R$   R8   R%   t	   framesize(    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyR7   š   s     				"c         C   s   |  j  S(   N(   R   (   R$   (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyR   ³   s    (   t   __name__t
   __module__t   formatt   format_descriptionR+   R   t   propertyR4   R6   R#   R7   R   (    (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyR   (   s   	3			s   .flis   .flcN(   t   PILR    R   R   R   t   __version__R,   t   i16leR   t   i32leR   R   R   R   t   register_openRB   t   register_extension(    (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/FliImagePlugin.pyt   <module>   s   "					‘