o
    'j6hm
                     @  s   d dl mZ d dlZd dlmZ ddlmZmZ edZ	dddZ
G dd dejZdddZeejee
 eeje eejd eejd dS )    )annotationsN)IO   )Image	ImageFiles   \s*#define[ \t]+.*_width[ \t]+(?P<width>[0-9]+)[\r\n]+#define[ 	]+.*_height[ 	]+(?P<height>[0-9]+)[
]+(?P<hotspot>#define[ 	]+[^_]*_x_hot[ 	]+(?P<xhot>[0-9]+)[
]+#define[ 	]+[^_]*_y_hot[ 	]+(?P<yhot>[0-9]+)[
]+)?[\000-\377]*_bits\[]prefixbytesreturnboolc                 C  s   |   dS )Ns   #define)lstrip
startswith)r    r   a/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/PIL/XbmImagePlugin.py_accept(   s   r   c                   @  s   e Zd ZdZdZdddZdS )	XbmImageFileXBMz
X11 Bitmapr	   Nonec                 C  s   | j d usJ t| j d}|sd}t|t|d}t|d}|dr<t|dt|df| jd< d| _||f| _	t
d	d
| j | g| _d S )Ni   znot a XBM filewidthheighthotspotxhotyhot1xbmr   r   )fpxbm_headmatchreadSyntaxErrorintgroupinfo_mode_sizer   _Tilesizeendtile)selfmmsgxsizeysizer   r   r   _open4   s   
"
 zXbmImageFile._openN)r	   r   )__name__
__module____qualname__formatformat_descriptionr.   r   r   r   r   r   0   s    r   imImage.Imager   	IO[bytes]filenamestr | bytesr   c              	   C  s   | j dkrd| j  d}t||d| jd  dd |d| jd	  dd | jd
}|rR|d|d  dd |d|d	  dd |d t| |t	dd| j g |d d S )Nr   zcannot write mode z as XBMz#define im_width r   
asciiz#define im_height r   r   z#define im_x_hot z#define im_y_hot s   static char im_bits[] = {
r   r   s   };
)
modeOSErrorwriter&   encodeencoderinfogetr   _saver%   )r4   r   r7   r+   r   r   r   r   rA   I   s   

rA   z.xbmz	image/xbm)r   r   r	   r
   )r4   r5   r   r6   r7   r8   r	   r   )
__future__r   retypingr    r   r   compiler   r   r   rA   register_openr2   register_saveregister_extensionregister_mimer   r   r   r   <module>   s   

