
    Bwg$                        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      J/var/www/horilla/myenv/lib/python3.12/site-packages/PIL/PalmImagePlugin.pybuild_prototype_imager+   W   s    IIcAs#:;<=E	MM$uS!89:;<#%K0 %}$%9c*A&B BCCK	[!L    i @  i   i    )custom-colormapzis-compressedzhas-transparentr
   )nonerlescanlinec                J   | 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_d| j                  v rQ| j                  J |t        d   z  }d}| j                  j                   }| j                         j                         }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             |dkD  r|j                  t!        d             t%        d      D ]  }|j                  t#        |             dk(  rK|j                  t#        d|z           t#        |d|z  dz            z   t#        |d|z  dz            z          m|dk(  ss|j                  t#        d|z           t#        |d|z  dz            z   t#        |d|z  dz            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$9 r,   c                    | z  z
  S r8   r   )r9   r:   s    r*   r<   z_save.<locals>.<lambda>   s    Fa&j$9 r,   zcannot write mode z as PalmzP;1z1;Ir      r5   r.   r-   i  offset   r6   r   RGBRGBAraw)r   r   flush)modeencoderinfogetpointinfoOSError_modeloadsizeint_COMPRESSION_TYPESpalette_FLAGSgetdata
getpalettewriteo16br   r%   r   _save_TilehasattrrE   )imfpfilenamerawmoder4   versionmsgcolsrowsrowbytestransparent_indexcompression_typeflagscolormapsizecolormapmodecolormapr@   ir:   r;   s                     @@r*   rW   rW   u   s   	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#~+rww6zz%%%011"zz::<**,277T/B&*\9a?HHT$Z$t*$tH~5UCDHHRWHHR[HHT&\HHR!"#HHR !"HHT!W a
cs 	AHHRUOu$xA'!a%!),-.!a%!),-.
 'xA'!a%!),-.!a%!),-.	  OO
B(8!gxQR=STU r7

 r,   Palmz.palmz
image/palmN)returnImage.Image)rZ   rl   r[   z	IO[bytes]r\   zstr | bytesrk   None)
__future__r   typingr    r   r   _binaryr   r	   rV   r"   r+   Palm8BitColormapImagerR   rP   rW   register_saveregister_extensionregister_mimer   r,   r*   <module>rv      s    #    "@H J ./  $fQW	X"4TB i^   FE "    )   FL )r,   