o
    ha                     @   sb   d dl mZ d dlmZ d dlmZ dZdd ZG dd deZ	e
e	je	e ee	jd	 d
S )   )Image)i32le)PcxImageFileih:c                 C   s   t | dkot| tkS )N   )leni32MAGIC)prefix r
   Z/var/www/html/magazine_api/magazine_env/lib/python3.10/site-packages/PIL/DcxImagePlugin.py_accept   s   r   c                   @   s8   e Zd ZdZdZdZdd Zdd Zdd	 Zd
d Z	dS )DcxImageFileZDCXz	Intel DCXFc                 C   s   | j d}t|stdg | _tdD ]}t| j d}|s# n| j| q| j | _d | _	t
| j| _| jdk| _| d d S )Nr   znot a DCX filei   r       )fpreadr   SyntaxError_offsetranger   append_DcxImageFile__fpframer   Zn_framesZis_animatedseek)selfsioffsetr
   r
   r   _open-   s   zDcxImageFile._openc                 C   s<   |  |sd S || _| j| _| j| j|  t|  d S N)Z_seek_checkr   r   r   r   r   r   r   )r   r   r
   r
   r   r   B   s   
zDcxImageFile.seekc                 C   s   | j S r   )r   r   r
   r
   r   tellJ   s   zDcxImageFile.tellc                 C   sP   z#z| j | jkr| j   W n	 ty   Y nw W d | _ d S W d | _ d S d | _ w r   )r   r   closeAttributeErrorr   r
   r
   r   
_close__fpM   s   

zDcxImageFile._close__fpN)
__name__
__module____qualname__formatformat_descriptionZ!_close_exclusive_fp_after_loadingr   r   r   r"   r
   r
   r
   r   r   '   s    r   z.dcxN) r   _binaryr   r   ZPcxImagePluginr   r   r   r   Zregister_openr&   Zregister_extensionr
   r
   r
   r   <module>   s   0