
    :h,"                        d dl mZ d dlmZ ddlmZmZ ddlmZ ddlm	Z
 dZddZ e       Zd	d
ddZddd dZddZ ej"                  de        ej$                  dd        ej&                  dd       y)    )annotations)IO   )Image	ImageFile)o8)o16be(   )   r
   r
   )r
      r
   )r
      r
   )r
   f   r
   )r
   3   r
   )r
   r   r
   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )   r   r   )"   r   r   )D   r   r   )U   r   r   )w   r   r   )   r   r   )   r   r   )   r   r   )   r   r   )   r   r   )   r   r   )   r   r   )r   r   r   )r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c            	     &   t        j                  ddt        t              f      } | j	                  t        t        t        t                                 d}t        D ]  }||z  }	 |ddt        t              z
  z  z  }| j                  |       | S )NLr    r      )r   newlen_Palm8BitColormapValuesputdatalistrange
putpalette)imagepalettedatacolormapValues      Q/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/PalmImagePlugin.pybuild_prototype_imager+   W   s    IIcAs#:;<=E	MM$uS!89:;<#%K0}$ 19c*A&B BCCK	[!L    i @  i   i    )custom-colormapzis-compressedzhas-transparentr
   )nonerlescanlinec                   | j                   dk(  rd}d}d}n| j                   dk(  r| j                  j                  d      dv r2| j                  d   }d|z  dz
  d|z
  | j                  fd      } nd| j                  j                  d      dv r,| j                  d   }d|z  dz
  | j                  fd      } nd	| j                    d
}t        |      d| _        d| }d}n1| j                   dk(  rd}d}d}nd	| j                    d
}t        |      | j                          | j                  d   }| j                  d   }t        |d|z  dz
  z   d|z  z        dz  }	d}
t        d   }d}| j                   dk(  r=|t        d   z  }| j                  j                         }t        |      dz  }d|z  dz   }nd}d| j                  v r|	|z  dz   dz   |z   dz  }nd}|j                  t!        |      t!        |      z   t!        |	      z   t!        |      z          |j                  t#        |             |j                  t#        |             |j                  t!        |             |j                  t#        |
             |j                  t#        |             |j                  t!        d             |ra|j                  t!                     t%        |      D ]9  }|j                  t#        |             |j                  d|z  d|z  dz           ; t'        j(                  | |t'        j*                  dd| j                  z   d||	df      g       t-        |d      r|j/                          y y )NP   r   r   bpp)r         c                    | z	  z
  S Nr   )xmaxvalshifts    r*   <lambda>z_save.<locals>.<lambda>   s    Fa5j$9r,   c                    | z  z
  S r8   r   )r9   r:   s    r*   r<   z_save.<locals>.<lambda>   s    Fa&j$9r,   zcannot write mode z as PalmzP;1z1;Ir      r5   r.   r-      r6   offsetraw)r   r   flush)modeencoderinfogetpointinfoOSError_modeloadsizeint_COMPRESSION_TYPES_FLAGSim
getpaletter!   writeo16br   r%   r   _save_TilehasattrrC   )rP   fpfilenamerawmoder4   versionmsgcolsrowsrowbytestransparent_indexcompression_typeflagscolormapcolorscolormapsizerA   ir:   r;   s                     @@r*   rT   rT   u   s0   	ww#~	C>>e$	1 ..'C3h!^FGE9:BWW[[9, ''%.C3h!^F9:B&rwwix8C#, se*	C #277)84cl GGI 771:D771:DDB#IM*rSy9:Q>H)&1E	ww#~)**55##%X!#6zA~277T/B&*\9a?HHT$Z$t*$tH~5UCDHHRWHHR[HHT&\HHR!"#HHR !"HHT!W 
fvAHHRUOHHXa!ea!eai01 
 OO
B(8!gxQR=STU r7

 r,   Palmz.palmz
image/palmN)returnImage.Image)rP   rh   rW   z	IO[bytes]rX   zstr | bytesrg   None)
__future__r   typingr    r   r   _binaryr   r	   rS   r"   r+   Palm8BitColormapImagerO   rN   rT   register_saveregister_extensionregister_mimer   r,   r*   <module>rr      s    #    "@H J ./  $fQW	X"4TB Z@   FE "    )   FL )r,   