Ë
    ^ãjþ  ã                  ó–  — d dl mZ ddhZd dlZddlmZmZ ddlmZ	 ddlm
Z d	Zerd d
lmZ dd„Z G d„ dej                  «      Z G d„ dej"                  «      Z ej&                  de«       dd„Z ej*                  ej,                  ee«        ej.                  ej,                  e«        ej0                  ej,                  d«       y)é    )ÚannotationszPIL._binaryÚstructNé   )ÚImageÚ	ImageFile)Úi16le)Úo16leF)ÚIOc                ó$   — | j                  d«      S )N)ó   DanMs   LinS)Ú
startswith)Úprefixs    úT/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/PIL/MspImagePlugin.pyÚ_acceptr   *   s   € Ø×ÑÐ/Ó0Ð0ó    c                  ó   — e Zd ZdZdZdd„Zy)ÚMspImageFileÚMSPzWindows Paintc                ó  — | j                   €J ‚| j                   j                  d«      }t        |«      sd}t        |«      ‚d}t	        ddd«      D ]  }|t        ||«      z  }Œ |dk7  rd}t        |«      ‚d| _        t        |d«      t        |d«      f| _        |j                  d	«      r.t        j                  d
ddg| j                  ¢­dd«      g| _        y t        j                  dddg| j                  ¢­d«      g| _        y )Né    znot an MSP filer   é   zbad MSP checksumÚ1é   é   r   Úrawr   )ÚfpÚreadr   ÚSyntaxErrorÚrangeÚi16Ú_modeÚ_sizer   r   Ú_TileÚsizeÚtile)ÚselfÚsÚmsgÚchecksumÚis        r   Ú_openzMspImageFile._open7   s÷   € à�w‰wÐ"Ð"Ð"à�G‰G�L‰L˜ÓˆÜ�qŒzØ#ˆCÜ˜cÓ"Ð"ð ˆÜ�q˜"˜a“ò 	,ˆAØ¤# a¨£)Ñ+‰Hð	,à�qŠ=Ø$ˆCÜ˜cÓ"Ð"àˆŒ
Ü˜˜A“Y¤ A q£	Ð)ˆŒ
à�<‰<˜Ô Ü"Ÿ™¨°°AÐ0B¸¿	¹	Ñ0BÀBÈÓLÐMˆD�Iä"Ÿ™¨°°AÐ0B¸¿	¹	Ñ0BÀBÓGÐHˆD�Ir   N)ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr+   © r   r   r   r   3   s   „ Ø€FØ(ÐôIr   r   c                  ó   — e Zd ZdZdd„Zy)Ú
MspDecoderTc                óˆ  — | j                   €J ‚t        «       }t        d| j                  j                  dz   dz  z  «      }	 | j                   j	                  d«       t        j                  d| j                  j                  › d�| j                   j                  | j                  j                  dz  «      «      }t        |«      D �]	  \  }}	 |d	k(  r||z  }Œ| j                   j                  |«      }	t        |	«      |k7  rd
|› d|› �}t        |«      ‚d	}
t        «       }|
|k  r¥|	|
   }|
dz  }
|d	k(  rTt        j                  d|	|
«      \  }}t        || j                  j                  t        |«      z
  «      }|||z  z  }|
dz  }
n<t        || j                  j                  t        |«      z
  «      }||	|
|
|z    z  }|
|z  }
|
|k  rŒ¥||z  }�Œ | j                  t        |«      d«       y# t
        j                  $ r}d}t        |«      |‚d }~ww xY w# t
        j                  $ r}d|› �}t        |«      |‚d }~ww xY w)N)éÿ   é   é   r   ú<ÚHr   zTruncated MSP file in row mapr   zTruncated MSP file, expected z bytes on row r   ÚBczCorrupted MSP file in row r   )éÿÿÿÿr   )ÚfdÚ	bytearrayÚstateÚxsizeÚseekr   Úunpack_fromÚysizer   ÚerrorÚOSErrorÚ	enumerateÚlenÚminÚ
set_as_rawÚbytes)r&   ÚbufferÚdataÚ
blank_lineÚrowmapÚer(   ÚyÚrowlenÚrowÚidxÚrow_dataÚruntypeÚruncountÚrunvals                  r   ÚdecodezMspDecoder.decodev   s>  € Ø�w‰wÐ"Ð"Ð"ä‹{ˆÜ˜w¨4¯:©:×+;Ñ+;¸aÑ+?ÀAÑ*EÑFÓGˆ
ð	&Ø�G‰G�L‰L˜ÔÜ×'Ñ'Ø�D—J‘J×$Ñ$Ð% QÐ'¨¯©¯©°d·j±j×6FÑ6FÈÑ6JÓ)KóˆFô # 6Ó*ó 	*‰IˆAˆvð*Ø˜Q’;Ø˜JÑ&�DØØ—g‘g—l‘l 6Ó*�Ü�s“8˜vÒ%Ø9¸&¸ÀÐPQÈsÐS�CÜ! #›,Ð&Ø�Ü$›;�Ø˜F’lØ! #™h�GØ˜1‘H�CØ !’|Ü+1×+=Ñ+=¸dÀCÈÓ+MÑ(˜ &Ü#& x°·±×1AÑ1AÄCÈÃMÑ1QÓ#R˜Ø  F¨XÑ$5Ñ5˜Ø˜q™™ä#& w°·
±
×0@Ñ0@Ä3ÀxÃ=Ñ0PÓ#Q˜Ø  C¨¨c°H©nÐ$=Ñ=˜Ø˜x™˜ð ˜F“lð ˜Ñ ’ð/	*ð: 	�‰œ˜d› SÔ)àøôG �|‰|ò 	&Ø1ˆCÜ˜#“, AÐ%ûð	&ûô: —<‘<ò *Ø2°1°#Ð6�Ü˜c“l¨Ð)ûð*ús>   ÁA9G/ Ã
HÃC1HÇHÇ/HÈHÈHÈIÈ+H<È<IN)rL   zImage.DecoderInputr,   ztuple[int, int])r.   r/   r0   Ú	_pulls_fdrY   r3   r   r   r5   r5   Q   s   „ ðF €Iô-r   r5   r   c           
     ó   — | j                   dk7  rd| j                   › d�}t        |«      ‚dgdz  }t        d«      t        d«      c|d<   |d<   | j                  \  |d	<   |d
<   d\  |d<   |d<   d\  |d<   |d<   | j                  \  |d<   |d<   d}|D ]  }||z  }Œ	 ||d<   |D ]  }|j	                  t        |«      «       Œ t        j                  | |t        j                  dddg| j                  ¢­dd«      g«       y )Nr   zcannot write mode z as MSPr   é   s   Das   nMr   r   é   )r   r   r   é   r   r8   r9   é	   é   r   r   )	ÚmoderF   r    r$   ÚwriteÚo16r   Ú_saver#   )Úimr   Úfilenamer(   Úheaderr)   Úhs          r   rd   rd   ­   s  € Ø	‡w�w�#‚~Ø" 2§7¡7 )¨7Ð3ˆÜ�c‹lÐð ˆS�2‰X€Fä˜u›:¤s¨5£zÐ€Fˆ1�Iˆv�a‰yØŸ7™7Ñ€Fˆ1�Iˆv�a‰yØÑ€Fˆ1�Iˆv�a‰yØÑ€Fˆ1�Iˆv�a‰yØŸ7™7Ñ€Fˆ1�Iˆv�a‰yà€HØò  ˆØ˜a‘<‰ð à€Fˆ2�Jð ò ˆØ
�‰”�Q“Õðô ‡O�O�B˜œYŸ_™_¨U°Q¸Ð4D¸B¿G¹GÑ4DÀbÈ#ÓNÐOÕPr   z.msp)r   rK   r,   Úbool)re   zImage.Imager   z	IO[bytes]rf   zstr | bytesr,   r-   )Ú
__future__r   Ú__lazy_modules__r   Ú r   r   Ú_binaryr   r    r	   rc   ÚTYPE_CHECKINGÚtypingr
   r   r   Ú	PyDecoderr5   Úregister_decoderrd   Úregister_openr1   Úregister_saveÚregister_extensionr3   r   r   ú<module>ru      sÀ   ðõ2 #à! 8Ð,Ð ã ç Ý !Ý !à€ÙÝó
1ôI�9×&Ñ&ô Iô<R�×$Ñ$ô Rðj €× Ñ �u˜jÔ )óQð< €× Ñ �L×'Ñ'¨°wÔ ?Ø €× Ñ �L×'Ñ'¨Ô /à €× Ñ ˜×,Ñ,¨fÕ 5r   