Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/PIL/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-312.pyc

�

&ٜgM'����ddlmZddlmZddlmZmZddlmZm	Z		ddlm
Z
dZd	d
d
d�Z
dd�ZGd
�de	j�Zdd�Zdd�Zdd�Zej&ej(ee�eruej*ej(e�ej,ej(e�ej.ej(d�ej0ej(d�yy#e$rdZY��wxYw)�)�annotations)�BytesIO)�IO�Any�)�Image�	ImageFile)�_webpTF�RGB�RGBA)sVP8 sVP8XsVP8Lc�X�|dddk(}|dddk(}|ddtv}|r
|r|r	ts	yyy	)
N�sRIFF��sWEBP�zEimage file could not be identified because WEBP support not installedTF)�_VP8_MODES_BY_IDENTIFIER�	SUPPORTED)�prefix�is_riff_file_format�is_webp_file�is_valid_vp8_modes    �>/usr/local/lib/python3.12/site-packages/PIL/WebPImagePlugin.py�_acceptrsP�� ��!�*��/���!�B�<�7�*�L��r�"�
�)A�A���|�0A��W�
���c�r��eZdZdZdZdZdZd
d�Zdd�Zdd�Z	ddd�Z
dd�Zdd	�Zd�fd
�Z
dd�Zdd�Z�xZS)�
WebPImageFile�WEBPz
WebP imagerc���tj|jj��|_|jj�\}}}}}}||f|_||jd<|dz	dz|dz	dz|dz	dz|dzf\}}}	}
||	|
|f|jd<||_|jdkD|_	|dk(rd	n||_
||_|jjd
�}|jjd�}|jjd�}
|r||jd
<|r||jd<|
r|
|jd<|jd��y)N�loop��rr�
backgroundr�RGBXr�ICCP�EXIFzXMP �icc_profile�exif�xmpF)�reset)r
�WebPAnimDecoder�fp�read�_decoder�get_info�_size�info�n_frames�is_animated�_mode�rawmode�	get_chunk�_reset)�self�width�height�
loop_count�bgcolor�frame_count�mode�bg_a�bg_r�bg_g�bg_br&r'r(s              r�_openzWebPImageFile._open+s_���-�-�d�g�g�l�l�n�=��
�AE�
�
�@V�@V�@X�=��v�z�7�K���F�]��
�&��	�	�&��
��]�d�"�
��]�d�"�
��\�T�!��d�N�	"
���d�D�$�$(��t�T�":��	�	�,��#��
��=�=�1�,���"�f�n�U�$��
�����m�m�-�-�f�5���}�}�&�&�v�.���m�m�%�%�f�-���'2�D�I�I�m�$�� $�D�I�I�f���"�D�I�I�e��	
���%�� rc�\�d|jvry|j�j�S)Nr')r0�getexif�_get_merged_dict�r7s r�_getexifzWebPImageFile._getexifNs&������"���|�|�~�.�.�0�0rc�6�|j|�sy||_y�N)�_seek_check�_WebPImageFile__logical_frame�r7�frames  r�seekzWebPImageFile.seekSs������&�� %��rc�f�|r|jj�d|_d|_d|_y)Nr���)r-r)�_WebPImageFile__physical_frame�_WebPImageFile__loaded�_WebPImageFile__timestamp)r7r)s  rr6zWebPImageFile._resetZs,����M�M���!� !�����
���rc�
�|jj�}|xjdz
c_|�.|j�|j	d�d}t|��|\}}||jz
}||_||z}|||fS)Nrrz(failed to decode next frame in WebP file)r-�get_nextrQr6rN�EOFErrorrS)r7�ret�msg�data�	timestamp�durations      r�	_get_nextzWebPImageFile._get_nextas����m�m�$�$�&������"���;��K�K�M��I�I�a�L�<�C��3�-�����i��t�/�/�/��$���	�X��	��Y��(�(rc���|j|k(ry||jkr|j�|j|kr!|j�|j|kr� yyrI)rQr6r\rLs  r�_seekzWebPImageFile._seekvsR��� � �E�)���4�(�(�(��K�K�M��#�#�e�+��N�N���#�#�e�+rc���|j|jk7r�|j|j�|j�\}}}||jd<||jd<|j|_|j
r&|jr|j
j�t|�|_tjdd|jzd|j�g|_
t�|�=�S)NrZr[�raw)rrr)rRrKr^r\r0r+�
_exclusive_fp�closerr	�_Tile�sizer4�tile�super�load)r7rYrZr[�	__class__s    �rrgzWebPImageFile.load~s�����=�=�D�0�0�0��J�J�t�+�+�,�)-���(8�%�D�)�X�%.�D�I�I�k�"�$,�D�I�I�j�!� �0�0�D�M��w�w�4�-�-����
�
���d�m�D�G�"��������0B�A�t�|�|�T�U�D�I��w�|�~�rc��yrI�)r7�poss  r�	load_seekzWebPImageFile.load_seek�s��rc��|jSrI)rKrFs r�tellzWebPImageFile.tell�s���#�#�#r)�return�None)rozdict[int, Any] | None)rM�introrp)T)r)�boolrorp)roztuple[bytes, int, int])rozImage.core.PixelAccess | None)rkrqrorp)rorq)�__name__�
__module__�__qualname__�format�format_descriptionrRrKrBrGrNr6r\r^rgrlrn�
__classcell__)rhs@rrr%sF���
�F�%���H��O�!!�F1�
%��)�*��$
�$rrc�`�|jdvr|j|jrdnd�}|S)N)r#rrrr)r=�convert�has_transparency_data)�ims r�_convert_framer}�s,��	�w�w�-�-�
�Z�Z�"�":�":���
F��
�Irc��|jj�}t|jdg��}d}|g|zD]}|t	|dd�z
}�|dk(rt|||�yd}d|vr|d}n^d|jvrP|jd}t|t�r1|j�}|r||dz|dzdz\}	}
}|	|
|df}n|||df}|jjd	|jjd	d��}|jjd
d�}
|jjdd�}|jjd
d�}|jjdd�}|jjdd�}d}|jjdd�}|jjdd�}|jjdd�}|jjdd�}|jjd�xsd}|jjdd�}t|tj�r|j�}|jjdd�}|rd}|�|rdnd}|�|rdnd}t|ttf�r t|�dk7std�|D��sd|��}t!|��|\}}}}|d z|d!zz|d"zz|dzz}t#j$|j&d|j&d||
|||||�	}d} d}!|j)�}"	|g|zD]�}t	|dd�}#t+|#�D]t}$|j-|$�t/|�}%|j1|%j3�t5|!�||||�t|ttf�r	|!|| z
}!n|!|z
}!| dz
} �v��	|j-|"�|j1dt5|!�|||d�|j7|||�}&|&�
d#}t!|��|j9|&�y#|j-|"�wxYw)$N�
append_imagesrr1r)rrrrr"�r!r[r�
minimize_sizeF�kmin�kmax�allow_mixed�lossless�quality�P�
alpha_quality�d�methodr&�r'r(�	��rc3�<K�|]}d|cxkxrdknc���y�w)r�Nrj)�.0�vs  r�	<genexpr>z_save_all.<locals>.<genexpr>�s����4��A�1��<�C�<�<��s�z:Background color is not an RGBA tuple clamped to (0-255): r rr�1cannot write file as WebP (encoder returned None))�encoderinfo�copy�list�get�getattr�_saver0�
isinstancerq�
getpaletter�Exif�tobytes�tuple�len�all�OSErrorr
�WebPAnimEncoderrdrn�rangerNr}�add�getim�round�assemble�write)'r|r+�filenamer�r�total�imsr"�palette�r�g�br[rr�r�r�r��verboser�r�r�r�r&r'r(rXr?r@rAr>�enc�	frame_idxrZ�cur_idx�nfr�idxrMrYs'                                       r�	_save_allr��s=���.�.�%�%�'�K������"�=�>�M�
�E��t�m�#��
���j�!�,�,��$���z�
�b�"�h���(4�J��{�"� ��.�
�	����	 ��W�W�\�*�
��j�#�&��m�m�o�G��!�*�q�.�J��N�a�3G�H���1�a���A�s�^�
�(�*�j�#�F�
��~�~�!�!�*�b�g�g�k�k�*�a�.H�I�H�
�>�>���f�a�(�D��N�N�&�&���>�M�
�>�>���f�d�+�D�
�>�>���f�d�+�D��.�.�$�$�]�E�:�K��G��~�~�!�!�*�e�4�H��n�n� � ��B�/�G��N�N�&�&���<�M�
�^�^�
�
��!�
,�F��.�.�$�$�]�3�9�r�K�
�>�>���f�b�)�D��$��
�
�#��|�|�~��
�.�.�
�
�U�B�
'�C�����|��q�!���|��r�1��
�z�D�%�=�1��z�?�a���4��4�4�J�:�,�W���c�l��(��D�$��d��"�*����,���	�:�d�a�i�H�J��
�
�
����
�
����
��������
�C��I��I��g�g�i�G���4�-�'�C��#�z�1�-�C��S�z������
�&�s�+������K�K�M��)�$���!��
��h��u�
�6���)�!4�4�I���)�I��Q��	�)"�	(�6	������G�G�D�%�	�"�H�g�}�a�H��<�<��T�3�/�D��|�A���c�l���H�H�T�N��	�����s
�	BQ�Qc� �|jjdd�}|jjdd�}|jjdd�}|jjd�xsd}|jjd	d
�}t|tj�r|j�}|j
d�r|dd}|jjd
d�}|jjdd�}	|jjd�rdnd}
t|�}tj|j�|t|�t|�||	|
||�	}|�
d}t|��|j|�y)Nr�Fr�r�r�r�r&r�r'rsExif�r(r�r�exactrrr�)r�r�r�rr�r��
startswithr}r
�
WebPEncoder��floatr�r�)
r|r+r�r�r�r�r&r'r(r�r�rYrXs
             rr�r�sL���~�~�!�!�*�e�4�H��n�n� � ��B�/�G��N�N�&�&���<�M��.�.�$�$�]�3�9�r�K�
�>�>���f�c�*�D��$��
�
�#��|�|�~������'��A�B�x��
�.�.�
�
�U�B�
'�C�
�^�^�
�
��!�
,�F����#�#�G�,�A�!�E�	��	�B����
���
��
�g��
�m����
���
�D��|�A���c�l���H�H�T�Nrz.webpz
image/webpN)r�bytesroz
bool | str)r|�Image.Imageror�)r|r�r+z	IO[bytes]r�zstr | bytesrorp)�
__future__r�ior�typingrrr�rr	r
r�ImportErrorrrrr}r�r��
register_openrv�
register_save�register_save_all�register_extension�
register_mimerjrr�<module>r�s���"�������I��
�
����o$�I�'�'�o$�d�z�z�D����M�(�(�-��A���E���
�,�,�e�4��E���M�0�0�)�<��E���]�1�1�7�;��E���
�,�,�l�;�	
��e	���I��s�C'�'C1�0C1

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists