U
    Evf                     @  sd   d dl mZ ddlmZmZ ddlmZ dd ZG dd dejZ	e
e	je	e ee	jd	 d
S )    )annotations   )Image	ImageFile)i32bec                 C  s(   t | dko&t| ddko&t| ddkS )N   r         r      )leni32)prefix r   6/tmp/pip-unpacked-wheel-ciywl2yd/PIL/GbrImagePlugin.py_accept    s    r   c                   @  s$   e Zd ZdZdZdd Zdd ZdS )GbrImageFileZGBRzGIMP brush filec           
      C  sb  t | jd}|dk r$d}t|t | jd}|dkrNd| }t|t | jd}t | jd}t | jd}|dks|dkrd}t||dkrd| }t||d	kr|d }n>|d
 }| jd}|dkrd}t|t | jd| jd< | j|d d }	|d	kr*d| _nd| _||f| _|	| jd< t| j	 || | | _
d S )Nr	   r   znot a GIMP brushr
   z Unsupported GIMP brush version: r   )r   r	   z$Unsupported GIMP brush color depth: r      s   GIMPz"not a GIMP brush, bad magic numberspacingLZRGBAcomment)r   fpreadSyntaxErrorinfo_mode_sizer   Z_decompression_bomb_checksize
_data_size)
selfheader_sizemsgversionwidthheightZcolor_depthZcomment_lengthZmagic_numberr   r   r   r   _open,   sB    





zGbrImageFile._openc                 C  s:   | j s.tj| j| j| _ | | j| j	 tj
| S )N)Zimr   corenewmoder   Z	frombytesr   r   r   load)r    r   r   r   r*   [   s    zGbrImageFile.loadN)__name__
__module____qualname__formatformat_descriptionr&   r*   r   r   r   r   r   (   s   /r   z.gbrN)
__future__r    r   r   _binaryr   r   r   r   Zregister_openr.   Zregister_extensionr   r   r   r   <module>   s   >