o
    _#a
                     @   sX   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 )	   )Image	ImageFile)i32bec                 C   s(   t | dkot| ddkot| ddv S )N             r      )leni32)prefix r   4/usr/lib/python3/dist-packages/PIL/GbrImagePlugin.py_accept   s   (r   c                   @   s$   e Zd ZdZdZdd Zdd ZdS )GbrImageFileGBRzGIMP brush filec           	      C   sL  t | jd}t | jd}|dk rtd|dvr#td| t | jd}t | jd}t | jd}|dksC|dkrGtd|dvrRtd| |d	kr[|d }n|d
 }| jd}|dkrmtdt | jd| jd< | j|d d }|d	krd| _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LRGBAcomment)r   fpreadSyntaxErrorinfomode_sizer   _decompression_bomb_checksize
_data_size)	selfheader_sizeversionwidthheightcolor_depthcomment_lengthmagic_numberr   r   r   r   _open,   s8   


zGbrImageFile._openc                 C   s6   | j rd S tj| j| j| _ | | j| j	 d S )N)
imr   corenewr   r    	frombytesr   r   r!   )r"   r   r   r   loadV   s   zGbrImageFile.loadN)__name__
__module____qualname__formatformat_descriptionr*   r/   r   r   r   r   r   '   s
    *r   z.gbrN) r   r   _binaryr   r   r   r   register_openr3   register_extensionr   r   r   r   <module>   s   <