a
    ¥Q•hv*  ã                   @   s  d dl Z d dlZddlmZmZmZ dZdZdZdZ	dZ
d	Zd
ZdZdZed ed ed e	d e
d ed ed ed ed i	ZddddddddddddddddddddddœZdD ]8Zd d!e› �fed"e› d#�< d d!e› �fed$e› d#�< q¤d%D ]DZd&e› �d&e› �fed"e› d#�< d&e› �d&e› �fed$e› d#�< qâd'D ]:Zd(d&e› �fed"e› d#�< d(d&e› �fed$e› d#�< �q,ed)d*ƒD ] Zd d!e› �fed$e› d#�< �qre d+¡Zd,d-„ ZG d.d/„ d/ejƒZd0d1dd2dd3d4d5d6d7ddddd8d9œZd:d;„ Ze eje¡ e eje¡ e ejd<¡ dS )=é    Né   )ÚImageÚ	ImageFileÚImagePaletteÚCommentÚDatezDigitalization equipmentzFile size (no of images)ZLutÚNamezScale (x,y)zImage size (x*y)z
Image type)Ú1r	   )ÚLr
   )ÚRGBúRGB;L)r   ZRLB)ÚPzP;2)r   zP;4)r   r   )ÚIzI;32)ÚFzF;32)r   úRGB;T)r   úRYB;T)ÚLAzLA;L)r   úPA;L)ÚRGBAzRGBA;L)ÚRGBXzRGBX;L)ÚCMYKzCMYK;L)ÚYCbCrúYCbCr;L)z	0 1 imagez	L 1 imagezGreyscale imagezGrayscale imagez	RGB imagez	RLB imagez	RYB imagezB1 imagezB2 imagezB4 imagez
X 24 imagezL 32 S imagezL 32 F imagez
RGB3 imagez
RYB3 imagezLA imagezPA imagez
RGBA imagez
RGBX imagez
CMYK imagez	YCC image)Ú8Z8SÚ16Z16SZ32Z32Fr   úF;zL z imagezL*)r   Z16LZ16BzI;)Z32Sr   é   é!   s"   ^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$c                 C   s*   z
t | ƒW S  ty$   t| ƒ Y S 0 d S ©N)ÚintÚ
ValueErrorÚfloat)Ús© r#   úJ/var/www/sistema_ama/venv/lib/python3.9/site-packages/PIL/ImImagePlugin.pyÚnumberj   s    
r%   c                   @   sH   e Zd ZdZdZdZdd„ Zedd„ ƒZedd	„ ƒZ	d
d„ Z
dd„ ZdS )ÚImImageFileZIMzIFUNC Image MemoryFc              
   C   sª  d| j  d¡vrd}t|ƒ‚| j  d¡ d}d| jt< d| jt< d| jt< d| _| j  d¡}|dkrfqP|rz|d	ksz|d
kr~�q*|| j  	¡  }t
|ƒdkr¤d}t|ƒ‚|dd … dkrÂ|d d… }n|dd … dkrÞ|d d… }zt |¡}W n6 tj�y" } zd}t|ƒ|‚W Y d }~n
d }~0 0 |�r| dd¡\}}| dd¡}| dd¡}|tttfv �rš| dd¡}ttt| d¡ƒƒ}t
|ƒdk�r¼|d }n"|tk�r¼|tv �r¼t| \}| _|tk�rò|| jv �rä| j|  |¡ n|g| j|< n
|| j|< |tv �r(|d7 }qPd| dd¡ }t|ƒ‚qP|�s<d}t|ƒ‚| jt | _| jt | _|�r||d d… d
k�r|| j  d¡}�qT|�sŽd}t|ƒ‚t| jv �r–| j  d¡}d}	d}
tdƒD ]N}|| ||d    k�ræ||d  k�rþn n|| |k�rd}
nd}	�q¶| jdv �rt|	�r2|
�srt|d d… ƒ| _ n@| jdv �rLd | _| _n| jdv �rdd| _d| _t! "d |¡| _#n"| jd!k�r–|	�rŒ|
�s–t|ƒ| _ d| _$| j  %¡  | _&}| j | _'| jd d… d"k�r$zFt(| jdd … ƒ}|d#v�rd$d%| j) ||d&d'ddffg| _*W d S W n t+�y"   Y n0 | jd(v �rˆ| j)d | j)d  }d)d%| j) |d*fd)d%| j) || d+fd)d%| j) |d|  d,fg| _*nd)d%| j) || jddffg| _*d S )-Nó   
éd   znot an IM filer   r
   )é   r)   r   ó   ó    ó   éþÿÿÿs   
éÿÿÿÿr   zlatin-1ÚreplaceÚ*ú,zSyntax error in IM header: ÚasciizNot an IM filezFile truncatedi   é   r)   )r
   r   r   ÚPA)r
   r   r   )r   r4   r4   r   r   r   r   )é   é   é    Úbit©r   r   r5   é   )r   r   Úraw)ÚGr   r.   )ÚRr   r.   )ÚBr   r.   ),ÚfpÚreadÚSyntaxErrorÚseekÚinfoÚMODEÚSIZEÚFRAMESÚrawmodeÚreadlineÚlenÚsplitÚmatchÚreÚerrorÚgroupÚdecodeÚSCALEr/   ÚtupleÚmapr%   ÚOPENÚCOMMENTÚappendÚTAGSÚ_sizeÚ_modeÚLUTÚrangeÚmodeÚlistÚlutr   r;   ÚpaletteÚframeÚtellÚ_ImImageFile__offsetÚ_fpr   ÚsizeÚtiler    )ÚselfÚmsgÚnr"   ÚmÚeÚkÚvr^   Ú	greyscaleÚlinearÚiÚoffsÚbitsrc   r#   r#   r$   Ú_openz   sÂ    


 





0

 
ýzImImageFile._openc                 C   s
   | j t S r   ©rC   rF   ©re   r#   r#   r$   Ún_frames  s    zImImageFile.n_framesc                 C   s   | j t dkS )Nr   rr   rs   r#   r#   r$   Úis_animated  s    zImImageFile.is_animatedc                 C   sŠ   |   |¡sd S || _| jdkr$d}ndt| jƒ }| jd | d d | jd  }| j||  }| j| _dd| j || jddffg| _	d S )	Nr	   r   r5   r   é   r;   r9   r.   )
Ú_seek_checkr_   r[   rI   rc   ra   rb   r?   rG   rd   )re   r_   rp   rc   ro   r#   r#   r$   rB     s    

 zImImageFile.seekc                 C   s   | j S r   )r_   rs   r#   r#   r$   r`   +  s    zImImageFile.tellN)Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionÚ!_close_exclusive_fp_after_loadingrq   Úpropertyrt   ru   rB   r`   r#   r#   r#   r$   r&   u   s    

r&   )z0 1r	   )Ú	Greyscaler
   )r   r   )zL 32SzI;32S)zL 16úI;16)zL 16LúI;16L)zL 16BúI;16B)zL 32FzF;32F)ZYCCr   )r	   r
   r   r   r4   r   r€   r�   r‚   r   r   r   r   r   r   c              
   C   s¾  zt | j \}}W n< tyN } z$d| j› d�}t|ƒ|‚W Y d }~n
d }~0 0 | j dd¡}| d|› d� d¡¡ |rÈtj	 
tj	 |¡¡\}}	d |d d	t|	ƒ … |	g¡}| d
|› d� d¡¡ | d| j  d¡¡ | d|› d� d¡¡ | jdv �r| d¡ | dd| ¡   d ¡ | jdv �r–| j dd¡}
t|
ƒd }d}tdƒD ]2}||
|| ||d  … 7 }|dd|  7 }�qX| |¡ t | |dd| j d|ddffg¡ d S )NzCannot save z images as IMÚframesr   zImage type: z image
r2   Ú é\   zName: z
zImage size (x*y): %d*%d
zFile size (no of images): )r   r4   s   Lut: 1
r+   iÿ  r,   r   r   r:   ó    r3   r;   r9   r   r.   )ÚSAVEr[   ÚKeyErrorr    ÚencoderinfoÚgetÚwriteÚencodeÚosÚpathÚsplitextÚbasenameÚjoinrI   rc   r`   ÚimÚ
getpaletterZ   r   Ú_save)r’   r?   ÚfilenameÚ
image_typerG   ri   rf   rƒ   ÚnameÚextÚ
im_paletteÚcolorsr^   rn   r#   r#   r$   r”   H  s2     

r”   z.im)r�   rL   r„   r   r   r   rT   ÚDATEZ	EQUIPMENTrF   rY   ÚNAMErP   rE   rD   rV   rS   rn   rZ   ÚcompilerJ   r%   r&   r‡   r”   Úregister_openr{   Úregister_saveÚregister_extensionr#   r#   r#   r$   Ú<module>   sœ   ÷è "
 Bð(