
    :hm
                    |   d dl mZ d dlZd dlmZ ddlmZmZ  ej                  d      Z	ddZ
 G d d	ej                        Zdd
Z ej                  ej                  ee
        ej                  ej                  e        ej                   ej                  d        ej"                  ej                  d       y)    )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\[]c                @    | j                         j                  d      S )Ns   #define)lstrip
startswith)prefixs    P/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/XbmImagePlugin.py_acceptr   (   s    ==?%%j11    c                      e Zd ZdZdZddZy)XbmImageFileXBMz
X11 Bitmapc                6   | j                   J t        j                  | j                   j                  d            }|sd}t	        |      t        |j                  d            }t        |j                  d            }|j                  d      rAt        |j                  d            t        |j                  d            f| j                  d<   d| _        ||f| _	        t        j                  d	d
| j                  z   |j                               g| _        y )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ysizes        r   _openzXbmImageFile._open4   s    ww"""NN477<<,-"Cc""AGGG$%AGGH%&779$'$8#aggfo:N#ODIIi 
E\
__UFTYY,>HI	r   N)returnNone)__name__
__module____qualname__formatformat_descriptionr.    r   r   r   r   0   s    F%Jr   r   c           	        | j                   dk7  rd| j                    d}t        |      |j                  d| j                  d    dj	                  d             |j                  d| j                  d	    dj	                  d             | j
                  j                  d
      }|rN|j                  d|d    dj	                  d             |j                  d|d	    dj	                  d             |j                  d       t        j                  | |t        j                  dd| j                  z         g       |j                  d       y )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%   )imr   filenamer+   r   s        r   r@   r@   I   s   	ww#~"277)73clHH B/66w?@HH!"''!*R077@Ann  +G
$WQZL3::7CD
$WQZL3::7CDHH+,OOBY__UFRWW4DEFGHHWr   z.xbmz	image/xbm)r   bytesr/   bool)rA   zImage.Imager   z	IO[bytes]rB   zstr | bytesr/   r0   )
__future__r   retypingr    r   r   compiler   r   r   r@   register_openr4   register_saveregister_extensionregister_mimer6   r   r   <module>rN      s   * # 	   2::2J9&& J2(   L''w ?   L'' /   ,,f 5   L'' 5r   