o �J�hL�@s�ddlmZddlZddlmZddlmZmZmZddl m Z ddl m Z ddl m Zd d d d d ddd�ZGdd�dej�Zddddddd�Zd&d"d#�Ze�eje�e�eje�e�ejgd$��e�ejd%�dS)'�)� annotationsN)�IO�)�Image� ImageFile� ImagePalette)�i16le)�o8)�o16le�P�1�L�LA�BGRA;15Z�BGR�BGRA))r�)�r)rr)r�)�r)r�)r� c@s(eZdZdZdZd dd�Zd dd�Zd S) � TgaImageFileZTGAZTarga�return�Nonec Cs�|jdusJ�|j�d�}|d}|d}|d}|d}|d}t|d�t|d�f|_|d vsB|jddksB|jddksB|d vrHd }t|��|d vr_d |_|dkrWd|_n(|dkr^d|_n |dvrk|rgdnd |_n|dvry|dkrudnd|_nd}t|��|d@}|dv|_|dvr�d}n |dvr�d}nd}t|��||jd<|d@r�d|jd <|r�|j�|�|jd!<|�rt|d"�t|d#�|d$} } } | dkr�t � d%t d| �|j�d| ��|_ d|j _ n7| dkr�t � d&t d"| �|j�d"| ��|_ n| d'k�rt � d(t d)| �|j�d)| ��|_ nd*}t|��z9t|d$@|f} |d@�r?t�dd+|j|j��| ||f�g|_WdSt�d,d+|j|j��| d|f�g|_WdSt�y_YdSw)-N�rrrr�� �)rr)rrrrrznot a TGA file)r� r r r)r� r )r� r�RGB�RGBAzunknown TGA mode�0)rr$)rr$)rr�����zunknown TGA orientation� orientationr�tga_rle� compression� id_sectionr��rrrr�zunknown TGA map depth�rr�raw)�fp�read�i16�_size�size� SyntaxError�_mode�_flip_horizontally�inforr.�bytes�palette�mode�MODESr�_Tile�tell�tile�KeyError) �self�s�id_len� colormaptype� imagetype�depth�flags�msgr&�startr3Zmapdepth�rawmode�rJ�PC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\PIL\TgaImagePlugin.py�_open5s� �    � � � � � � ��zTgaImageFile._opencCs |jr|j�tjj�|_dSdS)N)r6�im� transposer� Transpose�FLIP_LEFT_RIGHT)r@rJrJrK�load_end�s�zTgaImageFile.load_endN)rr)�__name__� __module__� __qualname__�format�format_descriptionrLrQrJrJrJrKr1s  jr)r rrr)r rrr)rrrr)r rrr)rrrr)rrrr)r r rr r"r#rM� Image.Imager/� IO[bytes]�filename� str | bytesrrc Cs$z t|j\}}}}Wnty#}z d|j�d�}t|�|�d}~wwd|jvr/|jd} n|j�d|j�d��} | dk} | rD|d7}|j�d|j�dd��} t| �} | d kred } | dd �} t� d �|rx|j � d d �} t| �d d}}nd\}}|jdvr�d}nd}|j�d|j�dd��}|dkr�|dB}|� t | �t |�t |�td�t|�t |�td�td�t|jd�t|jd�t |�t |��| r�|� | �|r�|� | �| r�t�||t�dd|jd||f�g�nt�||t�dd|jd|d|f�g�|� d�dS)Nzcannot write mode z as TGA�rler(r'rr)���z-id_section has been trimmed to 255 charactersr"rrrr-)rr#rr&r%rrr.sTRUEVISION-XFILE.)�SAVEr:r?�OSError� encoderinfo�getr7�len�warnings�warnrM� getpalette�writer �o16r3r�_saver<)rMr/rYrI�bitsrCrD�erGr[r(r)rBr9ZcolormaplengthZ colormapentryrFr&rJrJrKrh�s� ��     ������� � � � ��  ��rh)z.tgaz.icbz.vdaz.vstz image/x-tga)rMrWr/rXrYrZrr)� __future__rrc�typingrr\rrr�_binaryrr1r r rgr;rr^rh� register_openrU� register_save�register_extensions� register_mimerJrJrJrK�<module>s8      �y� P
Memory