Sindbad~EG File Manager
�
&ٜg� � �� � d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm Z d dl
mZmZm
Z
mZmZmZ ddlmZmZmZmZmZmZmZ ddlmZ dd lmZ dd
lmZ erddlmZ ddl m!Z! G d
� de� Z"e"jF Z$d-d�Z% G d� dej( � Z&dddd�Z'd.d�Z(ee)e*e+e, ej. f Z- d/d�Z. d0d�Z/ d1d�Z0 G d� de� Z1 d2d�Z2d3d�Z3 d4 d5d�Z4d6d�Z5 d7d �Z6d3d!�Z7dZ8d8d"�Z9d9d#�Z:d:d$�Z;d;d%�Z< d<d&�Z=d=d'�Z> d>d(�Z? d? d@d)�Z@ dA dBd*�ZA ej� e&j� e&e%� ej� e&j� e4� ej� e&j� e3� ej� e&j� d+� ej� e&j� d,� y)C� )�annotationsN)�IntEnum)�cached_property)�IO�
TYPE_CHECKING�Any�Literal�
NamedTuple�Union� )�Image�
ImageChops� ImageFile� ImageMath�ImageOps�ImagePalette�
ImageSequence)�i16le)�o8)�o16le)�_imaging)�Bufferc � � e Zd ZdZdZdZdZy)�LoadingStrategyz.. versionadded:: 9.1.0r r � N)�__name__�
__module__�__qualname__�__doc__�RGB_AFTER_FIRST� RGB_AFTER_DIFFERENT_PALETTE_ONLY�
RGB_ALWAYS� � �=/usr/local/lib/python3.12/site-packages/PIL/GifImagePlugin.pyr r 6 s � �!��O�'(�$��Jr$ r c � � | d d dv S )N� )s GIF87as GIF89ar# )�prefixs r% �_acceptr) E s � ��"�1�:�/�/�/r$ c � � � e Zd ZdZdZdZdZdd�Zdd�Zdd�Z e
dd�� Zedd �� Z
dd
�Zddd�Zd� fd�Zdd
�Zdd�Z� xZS )�GifImageFile�GIFzCompuserve GIFFNc � � | j j d� }|r#|d r| j j |d � S y )Nr r )�fp�read)�self�ss r% �datazGifImageFile.dataU s6 � ��G�G�L�L��O����1���7�7�<�<��!��%�%�r$ c � � t dt |� d� D ]* }|dz || cxk( r||dz cxk( r
||dz k( r�' y y y)Nr � r r TF)�range�len)r0 �p�is r% �_is_palette_neededzGifImageFile._is_palette_needed[ sS � ��q�#�a�&�!�$�A���F�a��d�:�a��A��h�:�!�A��E�(�:�� ;�� %� r$ c �F � | j j d� }t |� s
d}t |� �|d d | j d<