
n+Oc           @   s  d  Z  d d k Z d d k Z d d k Z d d k Z d d k Z d d k Z d Z d Z y$ e i	 d j o
 e Z
 n e Z
 WnI e j
 o= e e i d d g  i   d  o
 e Z
 n e Z
 n Xd d	  Z d d
  Z d   Z d   Z d d  Z d d  Z d   Z d   Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z  d Z! d Z" d Z# d Z$ d  Z% d! Z& d" Z' d# Z( d$ Z) d% Z* d& Z+ d' Z, d( Z- d) Z. d* Z/ d+ Z0 d, Z1 d- Z2 d. Z3 h	 d/ d 6d0 d1 6d2 d3 6d4 d5 6d6 d7 6d8 d9 6d: d; 6d< d= 6d> d? 6Z4 h> d@ dA f e d d d d f f  f 6d@ dB f e d d d1 d f f  f 6dC dD f e d d d dE f f  f 6dC dF f e d d d1 dE f f  f 6d@ d@ f e d d d d f f  f 6d@ dG f e d d d1 d f f  f 6dC dC f e d d d dE f f  f 6dH dH f e d d d dE dE f d1 f f 6dC dI f e d d d1 dE f f  f 6dJ dJ f e d d d dK f f  f 6dL dL f e d d1 d dK f f  f 6dM dN f e d d1 d dO f f  f 6dP dQ f e d d3 d dO f f  f 6dR dR f e d1 d d dE dE dE f f  f 6dR dS f e d1 d d1 dE dE dE f f  f 6dT dT f e d1 d d dE dE dE dE f d f f 6dU dV f e d1 d d dE dE dE dE f d f f 6dU dU f e d1 d d dE dE dE dE f d1 f f 6dU dU f e d1 d d dE dE dE dE f dW f f 6dX dY f e d3 d d d f f  f 6dX dZ f e d3 d d1 d f f  f 6dX d[ f e d3 d d d1 f f  f 6dX d\ f e d3 d d1 d1 f f  f 6dX d] f e d3 d d d5 f f  f 6dX d^ f e d3 d d1 d5 f f  f 6dX dX f e d3 d d dE f f  f 6d_ d_ f e d3 d d dE dE f d1 f f 6dX d` f e d3 d d1 dE f f  f 6da da f e d7 d d dE dE dE dE f f  f 6db db f e d9 d d dE dE dE f f  f 6dc dc f e dE d d dE dE dE f f  f 6d@ dA f e d d d d f f  f 6d@ dB f e d d d1 d f f  f 6dC dD f e d d d dE f f  f 6dC dF f e d d d1 dE f f  f 6d@ d@ f e d d d d f f  f 6d@ dG f e d d d1 d f f  f 6dC dC f e d d d dE f f  f 6dH dH f e d d d dE dE f d1 f f 6dC dI f e d d d1 dE f f  f 6dd dd f e d d d dK f f  f 6de de f e d d1 d dK f f  f 6df df f e d d1 d dO f f  f 6dg dg f e d d3 d dO f f  f 6dR dR f e d1 d d dE dE dE f f  f 6dR dS f e d1 d d1 dE dE dE f f  f 6dT dT f e d1 d d dE dE dE dE f d f f 6dU dV f e d1 d d dE dE dE dE f d f f 6dU dU f e d1 d d dE dE dE dE f d1 f f 6dU dU f e d1 d d dE dE dE dE f dW f f 6dX dY f e d3 d d d f f  f 6dX dZ f e d3 d d1 d f f  f 6dX d[ f e d3 d d d1 f f  f 6dX d\ f e d3 d d1 d1 f f  f 6dX d] f e d3 d d d5 f f  f 6dX d^ f e d3 d d1 d5 f f  f 6dX dX f e d3 d d dE f f  f 6d_ d_ f e d3 d d dE dE f d1 f f 6dX d` f e d3 d d1 dE f f  f 6da da f e d7 d d dE dE dE dE f f  f 6db db f e d9 d d dE dE dE f f  f 6dc dc f e dE d d dE dE dE f f  f 6Z5 dh di dj g Z6 dk   Z7 dl f  dm     YZ8 dn e i f do     YZ9 h d@ e d d d f e: f d@ 6dC e d d dE f e: f dC 6dH e d d dE dE f d1 f dH 6dX e d3 d dE f e: f dX 6d_ e d3 d dE dE f d1 f d_ 6dN e d d1 dO f e: f dM 6dJ e d d dK f e: f dJ 6dL e d d1 dK f e: f dL 6dQ e d d3 dO f e: f dP 6dR e d1 d dE dE dE f e: f dR 6dT e d1 d dE dE dE dE f d f dT 6dU e d1 d dE dE dE dE f d1 f dU 6da e d7 d dE dE dE dE f e: f da 6db e d9 d dE dE dE f e: f db 6dc e dE d dE dE dE f e: f dc 6df e d d1 dO f e: f df 6dd e d d dK f e: f dd 6de e d d1 dK f e: f de 6dg e d d3 dO f e: f dg 6Z; dp   Z< dq   Z= e i> dr e9 e7  e i? dr e=  e i@ dr ds  e i@ dr dt  e iA dr du  d S(v   s   1.3.5iNt   IIt   MMt   littlet   ii   i    c         C   s$   t  |  |  t  |  | d  d >S(   Ni   i   (   t   ord(   t   ct   o(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   il16C   s    c         C   sP   t  |  |  t  |  | d  d >t  |  | d  d >t  |  | d  d >S(   Ni   i   i   i   i   i   (   R   (   R   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   il32E   s    c         C   s    t  |  d @ t  |  d ?d @ S(   Ni   i   (   t   chr(   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   ol16G   s    c         C   sD   t  |  d @ t  |  d ?d @ t  |  d ?d @ t  |  d ?d @ S(   Ni   i   i   i   (   R	   (   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   ol32I   s    c         C   s$   t  |  | d  t  |  |  d >S(   Ni   i   (   R   (   R   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   ib16L   s    c         C   sP   t  |  | d  t  |  | d  d >t  |  | d  d >t  |  |  d >S(   Ni   i   i   i   i   i   (   R   (   R   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   ib32N   s    c         C   s    t  |  d ?d @ t  |  d @ S(   Ni   i   (   R	   (   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   ob16P   s    c         C   sD   t  |  d ?d @ t  |  d ?d @ t  |  d ?d @ t  |  d @ S(   Ni   i   i   i   (   R	   (   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   ob32R   s    i   i  i  i  i  i
  i  i  i  i  i  i  i  i  i(  i1  i2  i;  i=  i@  iD  iR  iS  i[  i  i  iI  is  ii  i  t   rawt
   tiff_ccitti   t   group3i   t   group4i   t   tiff_lzwi   t	   tiff_jpegi   t   jpegi   t   tiff_raw_16i  t   packbitsi  t   1s   1;Is   1;IRt   Ls   L;Ii   s   L;IRs   1;Rt   LAs   L;Rs   I;16i   s   I;16St   Is   I;32Si    t   Fs   F;32Ft   RGBs   RGB;Rt   RGBXt   RGBAt   RGBai  t   Ps   P;1s   P;1Rs   P;2s   P;2Rs   P;4s   P;4Rt   PAs   P;Rt   CMYKt   YCbCrt   LABs   I;16Bs   I;16BSs   I;32BSs   F;32BFt   MM *s   II* s   II c         C   s   |  d  t  j S(   Ni   (   t   PREFIXES(   t   prefix(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   _accept   s    t   ImageFileDirectoryc           B   sH  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d d  Z	 d d  Z
 d   Z d	   Z h  Z d
   Z d e f e d <d   Z d e f e d <d   Z d e f e d <d   Z d e f e d <d   Z d e f e d <d   Z d e f e d <d   Z d e f e d <d   Z d e f e d <d   Z d   Z RS(   c         C   s   | d  |  _  |  i  t j o* t t |  _ |  _ t t |  _ |  _	 nG |  i  t
 j o* t t |  _ |  _ t t |  _ |  _	 n t d   |  i   d  S(   Ni   s   not a TIFF IFD(   R)   R   R   R   t   i16t   i32R   R   t   o16t   o32R    R   R   R
   R   t   SyntaxErrort   reset(   t   selfR)   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   __init__   s    c         C   s(   h  |  _  h  |  _ h  |  _ d  |  _ d  S(   N(   t   tagst   tagdatat   tagtypet   Nonet   next(   R2   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR1      s    			c         C   s   |  i  i   |  i i   S(   N(   R5   t   keysR4   (   R2   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR9      s    c         C   sD   |  i  i   } x. |  i i   D] } | i | |  | f  q W| S(   N(   R4   t   itemsR5   R9   t   append(   R2   R:   t   tag(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR:      s
     c         C   s   t  |  i  t  |  i  S(   N(   t   lenR5   R4   (   R2   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   __len__   s    c         C   st   y |  i  | SWn^ t j
 oR |  i | \ } } |  i | \ } } | |  |  |  i  | <} |  i | =| SXd  S(   N(   R4   t   KeyErrorR5   t   load_dispatch(   R2   R<   t   typet   datat   sizet   handler(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   __getitem__   s    
c         C   s'   y |  | SWn t  j
 o | SXd  S(   N(   R?   (   R2   R<   t   default(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   get   s    c         C   s|   yM |  | } t  |  d j o$ | t j o
 t  n t d  n | d SWn( t j
 o | d  j o   n | SXd  S(   Ni   s   not a scalari    (   R=   t   SAMPLEFORMATR?   t
   ValueErrorR7   (   R2   R<   RF   t   value(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt	   getscalar  s    

c         C   s#   |  i  i |  p |  i i |  S(   N(   R4   t   has_keyR5   (   R2   R<   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyRL     s    c         C   s7   t  |  t  d  j	 o | f } n | |  i | <d  S(   N(    (   RA   R4   (   R2   R<   RJ   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   __setitem__  s    c         C   sD   g  } x1 t  t |   D] } | i t | |   q Wt |  S(   N(   t   rangeR=   R;   R   t   tuple(   R2   RB   t   lR   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt	   load_byte  s
     i   c         C   s#   | d d j o | d  } n | S(   Nit    (    (   R2   RB   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   load_string&  s    i   c         C   sL   g  } x9 t  d t |  d  D] } | i |  i | |   q Wt |  S(   Ni    i   (   RN   R=   R;   R,   RO   (   R2   RB   RP   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt
   load_short,  s
     i   c         C   sL   g  } x9 t  d t |  d  D] } | i |  i | |   q Wt |  S(   Ni    i   (   RN   R=   R;   R-   RO   (   R2   RB   RP   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt	   load_long3  s
     i   c         C   sb   g  } xO t  d t |  d  D]5 } | i |  i | |  |  i | | d  f  q Wt |  S(   Ni    i   i   (   RN   R=   R;   R-   RO   (   R2   RB   RP   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   load_rational:  s
     3i   i   c         C   s:   t  i  d |  } |  i t j o | i   n t |  S(   Nt   f(   t   arrayR)   t   native_prefixt   byteswapRO   (   R2   RB   t   a(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt
   load_floatA  s    i   c         C   s:   t  i  d |  } |  i t j o | i   n t |  S(   Nt   d(   RX   R)   RY   RZ   RO   (   R2   RB   R[   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   load_doubleH  s    i   c         C   s   | S(   N(    (   R2   RB   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   load_undefinedO  s    i   c         C   s0  |  i    |  i } |  i } xt | | i d    D]} | i d  } | |  | | d  } } t i oV d d  k } | i i	 | d  }	 | i
 i	 | d  }
 d |	 | f Gd |
 | f Gn y |  i | } Wn- t j
 o! t i o d G| GHq8 q8 n X| \ } } | | | d  } | d j oE | i   } | i | | d	   t i | |  } | i |  n | d	 d	 | !} t |  | j o t d
  n | | f |  i | <| |  i | <t i o: | t t t t t f j o d | GHqd G|  | GHq8 q8 W| | i d   |  _ d  S(   Ni   i   it   unknowns   tag: %s (%d)s   - type: %s (%d)s   - unsupported typei   i   s   not enough datas   - value: <table: %d bytes>s   - value:(   R1   R,   R-   RN   t   readt   Imaget   DEBUGt   TiffTagst   TAGSRG   t   TYPESR@   R?   t   tellt   seekt	   ImageFilet
   _safe_readR=   t   IOErrorR5   R6   t   COLORMAPt   IPTC_NAA_CHUNKt   PHOTOSHOP_CHUNKt
   ICCPROFILEt   XMPR8   (   R2   t   fpR,   R-   R   t   ifdR<   t   typRd   t   tagnamet   typnamet   dispatchRC   RD   t   hereRB   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   loadT  sH    
		 


c         C   s  |  i  } |  i } | i | t |  i    |  i i   } | i   g  } | i } | i   t |  i  d d } d  } x!| D]\ }	 }
 d  } |  i
 i |	  o |  i
 |	 } n | d j o# t i t t |
  d  } }
 n)| d j o t i |
 d  } }
 nt |
 d  t d  j o$ d } t i |
 d  d } }
 n |	 t j o t |  } d } nW |	 t t f j o
 d	 } n: | p2 d
 } x) |
 D] } | d j o
 d } qqWn | d
 j o t i t | |
  d  } n t i t | |
  d  } t i o d d  k } | i i |	 d  } | i i | d  } d | |	 f Gd | | f G|	 t t t t t f j o t |  } d | GHqd G|
 GHn t |  d j o# | |	 | t |
  | d f  q t |  d j  o5 | |	 | t |
  | d t |  d d f  q t |
  } | d	 j o | d } n | |	 | | | |  | f  | t |  } | d @o | d } q q W| d  j	 oa | | \ }	 } } }
 } | p
 t d  | |  i  |
  |  }
 |	 | | |
 | f | | <n x} | D]u \ }	 } } }
 } t i d j o% |	 G| G| Gt! |
  Gt! |  GHn | i | |	  | |  | |  |
  qW| i d  xL | D]D \ }	 } } }
 } | i |  t |  d @o | i d  qqW| S(   Ni   i   i   t    i   i    i   RR   i   i   i   iR`   s   save: %s (%d)s   - type: %s (%d)s   - value: <table: %d bytes>s   - value:s&   multistrip support not yet implementedt       ("   R.   R/   t   writeR=   R4   R:   t   sortR;   Rg   R7   R6   RL   t   stringt   joint   mapR	   RA   t   STRIPOFFSETSt   X_RESOLUTIONt   Y_RESOLUTIONRb   Rc   Rd   Re   RG   Rf   Rl   Rm   Rn   Ro   Rp   t   AssertionErrorR-   t   repr(   R2   Rq   R.   R/   R4   t	   directoryR;   t   offsett   stripoffsetsR<   RJ   Rs   RB   t   vRd   Rt   Ru   RC   t   count(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   save  s    		
	! #

 
#5 %/ N(   t   __name__t
   __module__R3   R1   R9   R:   R>   RE   R7   RG   RK   RL   RM   R@   RQ   RS   RT   RU   RV   R\   R^   R_   Rx   R   (    (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR+      s:   						
											9t   TiffImageFilec           B   sS   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   t   TIFFs
   Adobe TIFFc         C   s   |  i  i d  } | d  t j o t d  n t | d   |  _ |  _ |  i i | d  |  _ |  _	 d |  _
 |  i  |  _ |  i d  d S(   s#   Open the first image in a TIFF filei   i   s   not a TIFF filei   ii    N(   Rq   Ra   R(   R0   R+   R<   Rr   R-   t   _TiffImageFile__firstt   _TiffImageFile__nextt   _TiffImageFile__framet   _TiffImageFile__fpt   _seek(   R2   t   ifh(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   _open  s    	c         C   s(   | d j  o
 d } n |  i  |  d S(   s%   Select a given frame as current imagei    N(   R   (   R2   t   frame(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyRh     s    
c         C   s
   |  i    S(   s   Return the current frame number(   t   _tell(   R2   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyRg     s    c         C   s   |  i  |  _ | |  i j  o d |  _ |  i |  _ n xq |  i | j  o` |  i p t d  n |  i i |  i  |  i i |  i  |  i i	 |  _ |  i d |  _ q8 W|  i
   d  S(   Nis   no more images in TIFF filei   (   R   Rq   R   R   R   t   EOFErrorRh   R<   Rx   R8   t   _setup(   R2   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR     s    	 
c         C   s   |  i  S(   N(   R   (   R2   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR   -  s    c         C   s)  d } | d j o |  i d j o | | } n |  i } | d j o | d d f } n | d j o7 | d f } |  i i t  o |  i t |  _ q n] | d j o
 | } nF | d	 j o8 | } |  i i d
  o |  i t d f |  _ q n |  i i t	  o |  i t	 |  i
 d <n | S(   s   Setup decoder contextsR   i   R   i    i   R   Ry   R   R   i=  t   icc_profileN(   R7   t   _planar_configurationt   _compressionR<   RL   t
   JPEGTABLESt   tile_prefixt	   PREDICTORt   decoderconfigRo   t   info(   R2   t   rawmodet   layert   argst   compression(    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   _decoder1  s&    	
c         C   s  |  i  i d  o t d  n |  i  i } t | t d  |  _ | t d  |  _ | t	 d  } | t
 d  } t i o3 d GHd G|  i GHd G| GHd G|  i GHd	 G| GHn | t  } | t  } | | f |  _ t i o d
 G|  i GHn | t d  } |  i  i | | | |  i  i t d  |  i  i t d   f } t i o d G| GHn y t | \ |  _ } Wn/ t j
 o# t i o	 d GHn t d  n Xt i o d G| GHd G|  i GHn |  i |  i d <| t d!  }	 | t d"  }
 |	 o |
 o |	 d |	 d p d }	 |
 d |
 d p d }
 | t d  } | d j o |	 |
 f |  i d <q| d j o |	 d |
 d f |  i d <q|	 |
 f |  i d <n d } } } g  |  _ |  i  i t  o | t |  } |  i d } d } x|  i  t D] } | p |  i! | |  } n |  i i" |  i d t# | |  | t# | | |  f | | f  | | } | |  i d j o d } } | d } d } qqWn"|  i  i t$  o | d  } | d  } d } x |  i  t$ D] } | p |  i! | |  } n |  i i" |  i | | | | | | f | | f  | | } | |  i d j oG d | | } } | |  i d j o d } } | d } d } qqqWn  t i o	 d GHn t d   |  i d j o> t% d   |  i  t&  } t' i( d t) i* | d   |  _+ n d S(#   s-   Setup this image object based on current tagsi  s+   Windows Media Photo files not yet supportedi   i    s   *** Summary ***s   - compression:s   - photometric_interpretation:s   - planar_configuration:s   - fill_order:s   - size:s   format key:s   - unsupported formats   unknown pixel modes   - raw mode:s   - pil mode:R   i   t   dpii   gRQ@t
   resolutioniB  iC  s   - unsupported data organizations   unknown data organizationR"   c         S   s   t  |  d   S(   i   (   R	   (   R[   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   <lambda>  s    s   RGB;LRy   N(   i   (    (   i   i   (   i   i   (,   R<   RL   Rk   RK   t   COMPRESSION_INFOt   COMPRESSIONR   t   PLANAR_CONFIGURATIONR   t   PHOTOMETRIC_INTERPRETATIONt	   FILLORDERRb   Rc   t
   IMAGEWIDTHt   IMAGELENGTHRC   RH   R)   RG   t   BITSPERSAMPLEt   EXTRASAMPLESt	   OPEN_INFOt   modeR?   R0   R   R   R   t   RESOLUTION_UNITt   tileR   t   ROWSPERSTRIPR7   R   R;   t   mint   TILEOFFSETSR   Rl   t   ImagePaletteR   R}   R~   t   palette(   R2   RK   t   photot	   fillordert   xsizet   ysizet   formatt   keyR   t   xrest   yrest   resunitt   xt   yRP   t   ht   wR[   R   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR   L  s    
	


	
		 	%


 	



	(   R   R   R   t   format_descriptionR   Rh   Rg   R   R   R   R   (    (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR     s   						c         C   s   t  |   t  g   t  d  f j o# t |   d d j p t  |  St  |   t  d  j o |  d f St |   }  t |  d  d f S(   Ni   i    i   i   (    (   RA   R=   R   t   floatt   int(   RJ   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   _cvt_res  s    %c         C   s9  y# t  |  i \ } } } } } } Wn# t j
 o t d |  i  n Xt |  }	 | i   d j o. | i |	 i |	 i d  |	 i	 d   n |  i
 d |	 t <|  i
 d |	 t <t |  d  o xJ t t t f D]9 }
 |  i i i |
  o |  i i i |
  |	 |
 <q q W|  i i |	 _ x? t t t f D]. }
 |  i i |
  o |  i |
 |	 |
 <q4q4W|  i i d  o |  i d |	 t <qn |  i i d  o |  i d |	 t <n |  i i d	  o# t |  i d	  |	 t <|	 t <n |  i i d
  o t |  i d
  |	 t <n |  i i d  o t |  i d  |	 t <n |  i i d  o^ |  i d } | d j o d |	 t <q| d j p | d j o d |	 t <qd |	 t <n |  i i d  o |  i d |	 t <n |  i i d  o |  i d |	 t <n |  i i d  o |  i d |	 t  <n |  i i d  o |  i d |	 t! <n |  i i d  } | o6 d |	 t <t | d  |	 t <t | d  |	 t <n | d j o5 | |	 t" <t# |  d j o t# |  |	 t$ <qn | d  j	 o | |	 t& <n | d j o | |	 t' <n | |	 t( <|  i d j o5 |  i) i* d d  } t+ t, d   |   |	 t- <n t# |  |  i
 d | d d d } |  i
 d |	 t. <| |  i
 d |	 t/ <d |	 t0 <d |	 t1 <|	 i2 |  } t3 i4 |  | d d |  i
 | | | d f f g  |  i i d  o |	 |  _5 n d  S(    Ns   cannot write mode %s as TIFFi    i*   i   i   R<   R   t   descriptionR   s   x resolutions   y resolutions   resolution unitt   inchi   t   cmt
   centimeteri   t   softwares	   date timet   artistt	   copyrightR   R"   R   s   RGB;Lc         S   s   t  |   d  S(   i   (   R   (   R   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR   =  s    i   R   t   _debug_multipage(   i   (   i    i    (6   t	   SAVE_INFOR   R?   Rk   R+   Rg   R{   R)   R.   R/   RC   R   R   t   hasattrR   R   R   R<   R5   RL   RG   R6   Rm   Rn   Rp   R   Ro   t   encoderinfot   IMAGEDESCRIPTIONR   t   SOFTWAREt	   DATE_TIMEt   ARTISTt	   COPYRIGHTR   R=   t   SAMPLESPERPIXELR7   R   RH   R   t   imt
   getpaletteRO   R   Rl   R   t   STRIPBYTECOUNTSR   R   R   Ri   t   _saveR   (   R   Rq   t   filenameR   R)   R   R   t   bitst   extraRr   R   t   unitR   t   lutt   strideR   (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyR     s    #. ! #


 '

&R   s   .tifs   .tiffs
   image/tiff(B   t   __version__Rb   Ri   R   RX   R}   t   sysR    R   t	   byteorderRY   t   AttributeErrorR   t   tostringR   R   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   Rl   R   R   RH   R   R   Rm   Rn   Ro   t   EXIFIFDRp   R   R   R(   R*   R+   R   R7   R   R   R   t   register_opent   register_savet   register_extensiont   register_mime(    (    (    s=   /usr/local/lib/python2.6/dist-packages/PIL/TiffImagePlugin.pyt   <module>*   s8  $

&
				
"""""""("""""((...."""""""("+(("""""""("""""((...."""""""("+(+	 *"%%%""	
	i