
    g
                        d Z ddlmZ ddlmZ ddlmZmZmZ ddl	m
Z ddl	mZ ddlmZ  G d	 d
ej                        ZdddZy)a  
.. note::
    This format cannot be automatically recognized, so the
    class is not registered for use with :py:func:`PIL.Image.open()`.  To open a
    gd file, use the :py:func:`PIL.GdImageFile.open()` function instead.

.. warning::
    THE GD FORMAT IS NOT DESIGNED FOR DATA INTERCHANGE.  This
    implementation is provided for convenience and demonstrational
    purposes only.
    )annotations)IO   )	ImageFileImagePaletteUnidentifiedImageError)i16be)i32be)StrOrBytesPathc                       e Zd ZdZdZdZddZy)GdImageFilea%  
    Image plugin for the GD uncompressed format.  Note that this format
    is not supported by the standard :py:func:`PIL.Image.open()` function.  To use
    this plugin, you have to import the :py:mod:`PIL.GdImageFile` module and
    use the :py:func:`PIL.GdImageFile.open()` function.
    GDzGD uncompressed imagesc                   | j                   J | j                   j                  d      }t        |      dvrd}t        |      d| _        t        |d      t        |d      f| _        |d   }|rdnd}t        |d	|z         }|d
k  r|| j                  d<   t        j                  d|d	|z   dz   d	|z   dz   dz          | _
        dd| j                  z   d	|z   dz   dz   dfg| _        y )Ni  )i  i  zNot a valid GD 2.x .gd fileL         r         transparencyXBGRi   raw)r   r   )r   r   r   )fpreadi16SyntaxError_mode_sizei32infor   r   palettesizetile)selfsmsg
true_colortrue_color_offsettindexs         D/var/www/openai/venv/lib/python3.12/site-packages/PIL/GdImageFile.py_openzGdImageFile._open1   s	   ww"""GGLLq6'/Cc""
AYAq	)
qT
!+A Q--.C<(.DIIn%#''Aa++a/!6G2G!2Kg2UV
 "%%)G3	
	    N)returnNone)__name__
__module____qualname____doc__formatformat_descriptionr+    r,   r*   r   r   &   s     F1 
r,   r   c                |    |dk7  rd}t        |      	 t        |       S # t        $ r}d}t        |      |d}~ww xY w)a#  
    Load texture from a GD image file.

    :param fp: GD file name, or an opened file handle.
    :param mode: Optional mode.  In this version, if the mode argument
        is given, it must be "r".
    :returns: An image instance.
    :raises OSError: If the image could not be read.
    rzbad modezcannot identify this image fileN)
ValueErrorr   r   r   )r   moder&   es       r*   openr;   T   sK     s{o12 1/$S)q01s   
 	;6;N)r7   )r   zStrOrBytesPath | IO[bytes]r9   strr-   r   )r2   
__future__r   typingr    r   r   r   _binaryr	   r   r
   r   _typingr   r   r;   r5   r,   r*   <module>rB      s9   "
 #  = = ! ! #+
)%% +
\1r,   