B
    -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kS )N             )r      )leni32)prefix r   6/tmp/pip-unpacked-wheel-rysjrues/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   sN  t | jd}t | jd}|dk r0td|dkrFtd| t | jd}t | jd}t | jd}|dks|dkrtd|dkrtd| |d	kr|d }n:|d
 }| jd}|dkrtd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 brush)r   r	   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)	selfZheader_sizeversionwidthheightZcolor_depthZcomment_lengthZ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)
Zimr   corenewr   r   Z	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   Zregister_openr)   Zregister_extensionr   r   r   r   <module>   s
   <