+
    ÂHàjp'  ã                  óô   € ^ RI Ht R0t^ RIt^RIHtHtHtHt Rt	]	'       d   ^ RI
Ht ^ RIHt ^RIHt  ! R	 R
4      tR R ltR R ltR R ltRR R lltRR R lltRR R lltRR R lltR R ltR# )é    )ÚannotationsÚarrayN)ÚGimpGradientFileÚGimpPaletteFileÚ
ImageColorÚPaletteFileF)ÚSequence)ÚIO©ÚImagec                  ó
  € ] tR t^"tRtRR R llt]R R l4       t]P                  R R l4       t]R	 R
 l4       t	]	P                  R R l4       t	R R lt
R R ltR R ltR R lt]tRR R lltRR R lltR R ltRtR# )ÚImagePalettea¦  
Color palette for palette mapped images

:param mode: The mode to use for the palette. See:
    :ref:`concept-modes`. Must be "RGB", "RGBA" or "CMYK". Defaults to "RGB"
:param palette: An optional palette. If given, it must be a bytearray,
    an array or a list of ints between 0-255. The list must consist of
    all channels for one color followed by the next color (e.g. RGBRGBRGB).
    Defaults to an empty palette.
Nc               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚmodeÚstrÚpalettez(Sequence[int] | bytes | bytearray | NoneÚreturnÚNone© )Úformats   "Ú’/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/PIL/ImagePalette.pyÚ__annotate__ÚImagePalette.__annotate__.   s(   € ÷ &ñ &àð&ð :ð&ð 
ñ	&ó    c                	óˆ   € VR9  d   Rp\        V4      hWn        RV n        T;'       g    \        4       V n        RV n        R# )ÚRGBzunsupported palette modeN>   r   ÚCMYKÚRGBA)Ú
ValueErrorr   ÚrawmodeÚ	bytearrayr   Údirty)Úselfr   r   Úmsgs   &&& r   Ú__init__ÚImagePalette.__init__.   s@   € ð
 Ð.Ô.Ø,ˆCÜ˜S“/Ð!àŒ	Ø#'ˆŒØ×-Ð-¤)£+ˆŒØ!%ˆŽ
r   c               ó   € V ^8„  d   QhRR/# )r   r   ú!Sequence[int] | bytes | bytearrayr   )r   s   "r   r   r   =   s   € ÷ ñ Ð:ñ r   c                	ó   € V P                   # ©N)Ú_palette©r$   s   &r   r   ÚImagePalette.palette<   s   € à�}‰}Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   r   r)   r   r   r   )r   s   "r   r   r   A   s   € ÷  ñ  Ð@ð  ÀTñ  r   c                	ó    € R V n         Wn        R # r+   )Ú_colorsr,   )r$   r   s   &&r   r   r.   @   s   € à:>ˆŒØŽr   c               ó   € V ^8„  d   QhRR/# )r   r   údict[tuple[int, ...], int]r   )r   s   "r   r   r   F   s   € ÷ ñ Ð2ñ r   c                	ój  € V P                   Ef   V P                  pV P                  '       d‰   V P                  V P                  8w  dn   ^RIHp VP                  P                  RR4      pVP                  V P                  V P                  \        V4      4       VP                  V P                  4      p\        V P                  4      p/ V n         \        ^ \        V4      V4       F=  p\        WWT,            4      pW`P                   9   d   K(  WT,          V P                   V&   K?  	  V P                   # )Nr   ÚP)r   r   )r1   r   r!   r   Ú r   ÚcoreÚnewÚ
putpaletteÚbytesÚ
getpaletteÚlenÚrangeÚtuple)r$   r   r   ÚimÚmode_lenÚiÚcolors   &      r   ÚcolorsÚImagePalette.colorsE   s×   € à�<‰<ÓØ—l‘lˆGØ�|�|ˆ| §¡°·	±	Ô 9Ý#à—Z‘Z—^‘^ C¨Ó0�Ø—‘˜dŸi™i¨¯©´u¸W³~ÔFØŸ-™-¨¯	©	Ó2�ä˜4Ÿ9™9“~ˆHØˆDŒLÜ˜1œc '›l¨HÖ5�Ü˜g¨!­,Ð7Ó8�ØŸL™LÔ(ÙØ&'¥m�—‘˜UÓ#ñ	 6ð
 �|‰|Ðr   c               ó    € V ^8„  d   QhRRRR/# )r   rC   r3   r   r   r   )r   s   "r   r   r   Z   s   € ÷ ñ Ð7ð ¸Dñ r   c                	ó   € Wn         R # r+   )r1   )r$   rC   s   &&r   rC   rD   Y   s   € àŽr   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   ]   s   € ÷ 	ñ 	�lñ 	r   c                	óÌ   € \        4       pV P                  Vn        V P                  Vn        V P                  e   V P                  R,          Vn        V P                  Vn        V# )N:NNN)r   r   r!   r   r#   )r$   r8   s   & r   ÚcopyÚImagePalette.copy]   sH   € Ü‹nˆà—9‘9ˆŒØ—l‘lˆŒØ�<‰<Ò#ØŸ,™, q�/ˆCŒKØ—J‘JˆŒ	àˆ
r   c               ó   € V ^8„  d   QhRR/# ©r   r   r:   r   )r   s   "r   r   r   h   s   € ÷ ñ ˜%ñ r   c                	ó¼   € \        V P                  \        4      '       d   V P                  # \        P                  ! R V P                  4      pVP	                  4       # )ÚB)Ú
isinstancer   r:   r   Útobytes)r$   Úarrs   & r   Ú_tobytesÚImagePalette._tobytesh   s=   € Ü�d—l‘l¤E×*Ò*Ø—<‘<ÐÜ�kŠk˜#˜tŸ|™|Ó,ˆØ�{‰{‹}Ðr   c               ó   € V ^8„  d   QhRR/# )r   r   ztuple[str, bytes]r   )r   s   "r   r   r   n   s   € ÷ 	)ñ 	)Ð*ñ 	)r   c                ó–   € V P                   '       d   V P                   V P                  4       3# V P                  V P                  4       3# )zƒ
Get palette contents in format suitable for the low-level
``im.putpalette`` primitive.

.. warning:: This method is experimental.
)r!   rR   r   rP   r-   s   &r   ÚgetdataÚImagePalette.getdatan   s7   € ð �<�<ˆ<Ø—<‘< §¡£Ð0Ð0Ø�y‰y˜$Ÿ,™,›.Ð(Ð(r   c               ó   € V ^8„  d   QhRR/# rL   r   )r   s   "r   r   r   y   s   € ÷ ñ ˜ñ r   c                ó`   € V P                   '       d   Rp\        V4      hV P                  4       # )zEConvert palette to bytes.

.. warning:: This method is experimental.
ú!palette contains raw palette data)r!   r    rR   )r$   r%   s   & r   rP   ÚImagePalette.tobytesy   s(   € ð
 �<�<ˆ<Ø5ˆCÜ˜S“/Ð!Ø�}‰}‹Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚimageúImage.Image | NoneÚezException | Noner   Úintr   )r   s   "r   r   r   †   s$   € ÷ ñ Ø'ðØ3Cðà	ñr   c                	óþ  € \        V P                  \        4      '       g   \        V P                  4      V n        \	        V P                  4      \	        V P
                  4      ,          pRpV'       dŸ   VP                  P                  R 4      VP                  P                  R4      3p\        V P                  \        4      '       g   Q hW49   dA   V ;P                  \        \	        V P
                  4      4      ,          un        V^,          pKF  VR8¼  de   V'       dH   \        \        \        VP                  4       4      4      4       F  w  rVV^ 8X  g   K  WT9  g   K  Tp M	  VR8¼  d   Rp\        V4      VhV# )Ú
backgroundÚtransparencyé   z$cannot allocate more than 256 colorsr   )rO   r   r"   r,   r<   r   ÚinfoÚgetÚreversedÚlistÚ	enumerateÚ	histogramr    )r$   r]   r_   ÚindexÚspecial_colorsrA   Úcountr%   s   &&&     r   Ú_new_color_indexÚImagePalette._new_color_index†   s  € ô ˜$Ÿ,™,¬	×2Ò2Ü% d§l¡lÓ3ˆDŒMÜ�D—L‘LÓ!¤S¨¯©£^Õ3ˆØCEˆßà—
‘
—‘˜|Ó,Ø—
‘
—‘˜~Ó.ðˆNô ˜dŸm™m¬Y×7Ò7Ð7Ð7ØÔ)ð —’¤¬3¨t¯y©y«>Ó!:Õ:•Ø˜•
’Ø�CŒ<ßä (¬¬i¸¿¹Ó8IÓ.JÓ)KÖ L‘H�AØ –z aÖ&=Ø !˜Ùñ !Mð ˜Œ|Ø<�Ü  “o¨1Ð,Øˆr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rB   ztuple[int, ...]r]   r^   r   r`   r   )r   s   "r   r   r   ¤   s(   € ÷ +"ñ +"àð+"ð "ð+"ð 
ñ	+"r   c                ó¾  € V P                   '       d   Rp\        V4      h\        V\        4      '       d…   V P                  R8X  d6   \        V4      ^8X  d%   V^,          ^ÿ8w  d   Rp\        V4      hVR,          pM*V P                  R8X  d   \        V4      ^8X  d
   VR,          p V P                  V,          # R\        V4       2p\        V4      h  \         dÿ   pT P                  Y$4      p\        T P                  \        4      '       g   Q h\        T P                  4      pYV,          \        T P                  4      8  dT   T P                  RYV,           \        T4      ,           T P                  YV,          T,           R ,           T n	        RT n        M"T ;P                  \        T4      ,          un	        YPP                  T&   ^T n        Tu Rp?# Rp?ii ; i)	zWGiven an rgb tuple, allocate palette entry.

.. warning:: This method is experimental.
rZ   r   z/cannot add non-opaque RGBA color to RGB palette:Né   Nr   Nzunknown color specifier: )éÿ   )r!   r    rO   r>   r   r<   rC   ÚKeyErrorrn   r,   r"   r   r:   r1   r#   Úrepr)r$   rB   r]   r%   r_   rk   r@   s   &&&    r   ÚgetcolorÚImagePalette.getcolor¤   sƒ  € ð �<�<ˆ<Ø5ˆCÜ˜S“/Ð!Ü�eœU×#Ò#Ø�y‰y˜EÔ!Ü�u“: ”?Ø˜Q•x 3”ØO˜Ü(¨›oÐ-Ø! "�I�EøØ—‘˜fÔ$Ü�u“: ”?Ø˜V•O�EðØ—{‘{ 5Õ)Ð)ð& .¬d°5«k¨]Ð;ˆCÜ˜S“/Ð!øô' ô à×-Ñ-¨eÓ7�Ü! $§-¡-´×;Ò;Ð;Ð;Ü˜tŸy™y›>�ØÕ#¤c¨$¯,©,Ó&7Ô7àŸ™Ð&8¨Õ(8Ð9Ü ›,õ'àŸ-™-¨Õ(8¸8Õ(CÐ(EÐFõGð ”Mð
 $(�D•Là—M’M¤U¨5£\Õ1•MØ%*—‘˜EÑ"Ø�”
Ø•ûð!ús   Â'C ÃGÃC3GÇGÇGc               ó    € V ^8„  d   QhRRRR/# )r   Úfpzstr | IO[str]r   r   r   )r   s   "r   r   r   Ñ   s   € ÷ ñ �}ð ¨ñ r   c                óì  € V P                   '       d   Rp\        V4      hRp\        V\        4      '       d   \	        VR4      pRp VP                  R4       VP                  RV P                   R24       \        V P                  4      p\        R4       F¡  pVP                  V 4       \        V\        V P                  4      ,          V^,           \        V P                  4      ,          4       F0  pTP                  R	Wd8  d   V P                  V,          M^  24       K2  	  VP                  R4       K£  	  V'       d   VP                  4        R
# R
#   T'       d   TP                  4        i i ; i)zFSave palette to text file.

.. warning:: This method is experimental.
rZ   FÚwTz
# Palette
z# Mode: Ú
rd   Ú N)r!   r    rO   r   ÚopenÚwriter   r<   r   r=   Úclose)r$   ry   r%   Úopen_fpÚpalette_lenrA   Újs   &&     r   ÚsaveÚImagePalette.saveÑ   s  € ð
 �<�<ˆ<Ø5ˆCÜ˜S“/Ð!ØˆÜ�bœ#×ÒÜ�b˜#“ˆBØˆGð	Ø�H‰H�]Ô#Ø�H‰H�x §	¡	˜{¨"Ð-Ô.Ü˜dŸl™lÓ+ˆKÜ˜3–Z�Ø—‘˜A˜3Ô Ü˜q¤3 t§y¡y£>Õ1°A¸µE¼SÀÇÁ»^Õ3KÖL�AØ—H‘H˜q°A´O §¡¨a¦ÈÐ KÐLÖMñ Mà—‘˜–ñ	  ÷ Ø—‘–
ñ ø�wØ—‘•
ð ús   ÁC5E ÅE3)r1   r,   r#   r   r   r!   )r   N)NNr+   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r&   Úpropertyr   ÚsetterrC   rI   rR   rV   rP   Útostringrn   rv   r„   Ú__static_attributes__r   r   r   r   r   "   s”   † ñ	÷&ð ôó ðð ‡^�^ô ó ð ð ôó ðð& ‡]�]ôó ðõ	õõ	)õð €H÷÷<+"÷Zñ r   r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r!   r   Údatar)   r   r   r   )r   s   "r   r   r   ï   s"   € ÷ ñ �ð Ð=ð À,ñ r   c                óN   € \        4       pV R 8w  d   Wn        Wn        ^Vn        V# ©r   )r   r!   r   r#   )r!   r�   r   s   && r   Úrawr“   ï   s'   € Ü‹n€GØ�%ÔØ!ŒØ„OØ€G„MØ€Nr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úblackr`   ÚwhiteÚfloatr   ú	list[int]r   )r   s   "r   r   r   ü   s!   € ÷ #ñ #˜3ð # uð #°ñ #r   c                ó–   € V ^ 8X  d2   \        R4       Uu. uF  p\        W,          ^ÿ,          4      NK  	  up# Rp\        V4      hu upi )r   rd   z"unavailable when black is non-zero)r=   r`   ÚNotImplementedError)r•   r–   rA   r%   s   &&  r   Úmake_linear_lutr›   ü   sC   € Ø�„zÜ/4°S¬zÓ:©z¨!”�E•I Õ$Ö%©zÑ:Ð:à
.€CÜ
˜cÓ
"Ð"ùò ;s   •!Ac               ó    € V ^8„  d   QhRRRR/# )r   Úexpr—   r   r˜   r   )r   s   "r   r   r     s   € ÷ Iñ I˜ð I )ñ Ir   c                óŒ   € \        R 4       Uu. uF*  p\        VR,          V ,          R,          R,           4      NK,  	  up# u upi )rd   g     ào@g      à?)r=   r`   )r�   rA   s   & r   Úmake_gamma_lutrŸ     s6   € Ü=BÀ3¼ZÓH¹Z¸ŒC�!�e•) Õ# uÕ,¨sÕ2Ö3¹ZÑHÐHùÒHs   Ž0Ac               ó    € V ^8„  d   QhRRRR/# ©r   r   r   r   r   r   )r   s   "r   r   r     s   € ÷ Añ A�3ð A <ñ Ar   c           
     óÈ   € \        \        R \        V 4      ,          4      4      pVP                  4        \	        Y Uu. uF  q"\        V 4      ,          NK  	  up4      # u upi ©rd   )rh   r=   r<   Úreverser   ©r   r   rA   s   &  r   Únegativer¦     sJ   € Ü”5˜œs 4›y�Ó)Ó*€GØ‡O�OÔÜ˜°wÓ?±w°!¤C¨£IŸ~˜~±wÑ?Ó@Ð@ùÒ?s   ¾A
c               ó    € V ^8„  d   QhRRRR/# r¡   r   )r   s   "r   r   r     s   € ÷ 'ñ '�ð ' ñ 'r   c                óŽ   € ^ RI Hp \        R\        V 4      ,          4       Uu. uF  q!! ^ ^ÿ4      NK  	  pp\	        W4      # u upi )r   )Úrandintrd   )Úrandomr©   r=   r<   r   )r   r©   Ú_r   s   &   r   rª   rª     s?   € Ýä(-¨c´C¸³I­oÔ(>Ó?Ñ(> 1ˆw�q˜#ŽÑ(>€GÐ?Ü˜Ó&Ð&ùò @s   ¤Ac               ó    € V ^8„  d   QhRRRR/# )r   r–   r   r   r   r   )r   s   "r   r   r     s   € ÷ Oñ O�ð O \ñ Or   c           	     óô   € \         P                  ! V 4       Uu. uF  p\        ^ V4      NK  	  pp\        R\	        R4       Uu. uF   q2V^,          ,          V^,          ,          NK"  	  up4      # u upi u upi )r   r   i   )r   Úgetrgbr›   r   r=   )r–   ÚbandÚbandsrA   s   &   r   Úsepiar±     se   € Ü2<×2CÒ2CÀEÔ2JÓKÑ2J¨$Œ_˜Q Ö%Ñ2J€EÐKÜ˜¼eÀG¼nÓM¹n¸ a¨!¥e¥¨Q°!­V× 4Ð 4¹nÑMÓNÐNùò LùÚMs   ™A0Á&A5
c               ó    € V ^8„  d   QhRRRR/# r¡   r   )r   s   "r   r   r     s   € ÷ Añ A�ð A ñ Ar   c           
     ó¨   € \        \        R \        V 4      ,          4      4      p\        Y Uu. uF  q"\        V 4      ,          NK  	  up4      # u upi r£   )rh   r=   r<   r   r¥   s   &  r   Úwedger´     s@   € Ü”5˜œs 4›y�Ó)Ó*€GÜ˜°wÓ?±w°!¤C¨£IŸ~˜~±wÑ?Ó@Ð@ùÒ?s   ®A
c               ó    € V ^8„  d   QhRRRR/# )r   Úfilenamer   r   ztuple[bytes, str]r   )r   s   "r   r   r     s   € ÷ ñ �3ð Ð,ñ r   c                óˆ  € \        V R 4      ;_uu_ 4       p\        P                  \        P                  \        P                  .pV F5  p VP	                  ^ 4       V! V4      P                  4       pV'       d    MK7  	  Rp\        V4      h RRR4       V#   \        \        3 d     Ke  i ; i  + '       g   i     X# ; i)Úrbzcannot load paletteN)	r~   r   r   r   Úseekr;   ÚSyntaxErrorr    ÚOSError)r¶   ry   ÚpaletteHandlersÚpaletteHandlerÚlutr%   s   &     r   Úloadr¿     s¿   € ô 
ˆh˜×	Ô	 ô ×+Ñ+Ü×-Ñ-Ü×#Ñ#ð
ð 	ó .ˆNðØ—‘˜”
Ù$ RÓ(×3Ñ3Ó5�ßÙñ ñ	 .ð (ˆCÜ˜#“,Ðð ÷# 
ð0 €Jøô  ¤Ð,ô Úðú÷% 
Ö	ð0 €Jús/   •5B0Á/BÁ:B0ÂB-	Â)B0Â,B-	Â-B0Â0C	r’   )z#fff0c0)Ú
__future__r   Ú__lazy_modules__r   r6   r   r   r   r   ÚTYPE_CHECKINGÚcollections.abcr	   Útypingr
   r   r   r“   r›   rŸ   r¦   rª   r±   r´   r¿   r   r   r   Ú<module>rÅ      se   ðõ$ #à�9Ð ã ç HÓ Hà€ßÝ(Ýå÷Fñ FõZõ#õI÷A÷'÷O÷
A÷
r   