B
    0\#                 @   s~   d dl mZmZ d dlmZmZ dZdZdd Z	e	 Z
ddd	d
Zdd ddZdd Zede edd edd dS )   )Image	ImageFile)o8o16bez1.0(   )   r   r   )r      r   )r      r   )r   f   r   )r   3   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   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   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   )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	   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   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   )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   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
   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   )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   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   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	   )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	   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   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
   )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   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   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   )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   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	   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
   )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	   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   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   )r   r	   r   )r   r
   r   )   r   r   )"   r   r   )D   r   r   )U   r   r   )w   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   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   )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   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   c              C   sf   t ddttf} | tttt d}xtD ]}||7 }q4W |ddtt  7 }| | | S )NLr    )r   r   r      )r   newlen_Palm8BitColormapValuesZputdatalistrangeZ
putpalette)ZimageZpalettedataZcolormapValuer   r   2lib/python3.7/site-packages/PIL/PalmImagePlugin.pybuild_prototype_imageS   s    

r!   i @  i   i    )zcustom-colormapzis-compressedzhas-transparentr   r   )noneZrleZscanlinec          
   C   s:  | j dkrd}d}d}n| j dkr|d| jkr|| jd dkr|| jd }| d| d|> d fdd} d| _ d	t| }d}n| j dkrd| jkr| jd dkr| jd }| d|> d fd
d} d| _ d	t| }d}n&| j dkrd}d}d}ntd| j  |   | jd }| jd }t|d| d  d|  d }d}	t	d }
d}| j dkrd| jkr|t
d @ }d}| jj }|   }nd}d| jkr|| d d | d }nd}|t|t| t| t|  |t| |t| |t| |t|	 |t|
 |td |dkr|td xtdD ]}|t| |dkr|t|d|  t|d| d   t|d| d    nH|dkrT|t|d|  t|d| d   t|d| d    qTW t| |dd| j d||dffg t|dr6|  d S )NP   r   r   bpp)r         c             S   s   || |?  S )Nr   )xshiftmaxvalr   r   r    <lambda>   s    z_save.<locals>.<lambda>zP;c             S   s   || |@  S )Nr   )r(   r*   r   r   r    r+      s    1z1;Ir   zcannot write mode %s as Palm   r&   r"   zcustom-colormapi  offset   r'   r   ZRGBZRGBAraw)r   r   flush)modeZencoderinfoZpointstrinfoIOErrorloadsizeint_COMPRESSION_TYPES_FLAGSZpaletteZgetdataZ
getpalettewriteo16br   r   r   _savehasattrr1   )ZimfpfilenameZrawmoder%   versionZcolsZrowsZrowbytesZtransparent_indexZcompression_typeflagsZcolormapsizeZcolormapmodeZcolormapr.   ir   r   r    r=   x   s~    



"



 &

"
" r=   ZPalmz.palmz
image/palmN) r   r   Z_binaryr   r   r<   __version__r   r!   ZPalm8BitColormapImager:   r9   r=   Zregister_saveZregister_extensionZregister_mimer   r   r   r    <module>
   s   C
p