o �J�ho%�@s�ddlmZddlmZddlmZmZddlmZddlm Z dZ dd d �Z e �Z d d dd�Zdddd�Zddd�Ze�de�e�dd�e�dd�dS) �)� annotations)�IO�)�Image� ImageFile)�o8)�o16be()��r r )r ��r )r �r )r �fr )r �3r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )rr r )rr r )rr r )rr r )rr r )rrr )rr r )rr r )rr r )rr r )rr r )rrr )rr r )rr r )rr r )rr r )rr r )rrr )r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r)r r r)r r r)r r r)r r r)r rr)r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r)r r r)r r r)r r r)r r r)r rr)r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r)r r r)r r r)r r r)r r r)r rr)r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r)r r r)r r r)r r r)r r r)r rr)r r r )r r r )r r r )r r r )r r r )r rr )r r r )r r r )r r r )r r r )r r r )r rr )r r r)r r r)r r r)r r r)r r r)r rr)rr r )rr r )rr r )rr r )rr r )rrr )rr r )rr r )rr r )rr r )rr r )rrr )rr r)rr r)rr r)rr r)rr r)�rr)�"rr)�Drr)�Urr)�wrr)�rr)�rr)�rr)��rr)��rr)��rr)�rr)rrr)rrr)rrr�rrrrrrrrrrrrrrrrrrrrrrrrrrrr�return� Image.ImagecCsbt�ddtt�f�}|�tttt����d}tD]}||7}q|ddtt�7}|�|�|S)N�Lr�r�)r�new�len�_Palm8BitColormapValues�putdata�list�range� putpalette)�imageZ palettedataZ colormapValuerr�QC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\PIL\PalmImagePlugin.py�build_prototype_imageWs  r)i@i�i )�custom-colormapz is-compressedzhas-transparentr )�noneZrleZscanline�im�fp� IO[bytes]�filename� str | bytes�Nonec sB|jdkr d}d}d}nq|jdkrf|j�d�dvr3|jd}d|>d�d|�|���fdd��}n(|j�d�dvrP|jd}d|>d�|��fd d��}n d |j�d �}t|��d|_d |��}d}n|jd krrd}d}d}n d |j�d �}t|��|��|jd}|jd}t |d|dd|�d} d} t d} d} |jdkr�d|jvr�|j dus�J�| t d@} d} |j j}|� ���}nd} d|jvr�| |dd| d}nd}|�t|�t|�t| �t| ��|�t|��|�t|��|�t|��|�t| ��|�t| ��|�td��| dk�r|�td��td�D]T}|�t|��|dk�rY|�t|d|�t|d|d�t|d|d���q*|dk�r}|�t|d|�t|d|d�t|d|d���q*t�||t�dd|jd|| df�g�t|d��r�|��dSdS)N�P�rr�bpp)r��cs �|�?S�Nr��x��maxval�shiftrr(�<lambda>�� z_save.<locals>.<lambda>cs �|�@Sr7rr8)r;rr(r=�r>zcannot write mode z as PalmzP;�1z1;Ir�r5r+r*i�offset�r6r�RGB�RGBA�raw)rr�flush)�mode� encoderinfo�get�point�info�OSError�_mode�load�size�int�_COMPRESSION_TYPES�palette�_FLAGS�getdata� getpalette�write�o16brr%r�_save�_Tile�hasattrrF)r,r-r/�rawmoder4�version�msg�cols�rowsZrowbytesZtransparent_indexZcompression_type�flagsZ colormapsizeZ colormapmode�colormaprA�irr:r(rXus�             &   ��� ���� �  �rXZPalmz.palmz image/palmN)rr)r,rr-r.r/r0rr1)� __future__r�typingr�rr�_binaryrrrWr"r)ZPalm8BitColormapImagerSrQrX� register_save�register_extension� register_mimerrrr(�<module>s     E   o 
Memory