§
    yØjþ  ã                  ób  — 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j        ej        d¦  «         dS ) é    )ÚannotationszPIL._binaryÚstructNé   )ÚImageÚ	ImageFile)Úi16le)Úo16leF)ÚIOÚprefixÚbytesÚreturnÚboolc                ó,   — |                       d¦  «        S )N)ó   DanMs   LinS)Ú
startswith)r   s    ú‡/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/PIL/MspImagePlugin.pyÚ_acceptr   *   s   € Ø×ÒÐ/Ñ0Ô0Ð0ó    c                  ó   — e Zd ZdZdZdd„ZdS )ÚMspImageFileÚMSPzWindows Paintr   ÚNonec                ó,  — | j         €J ‚| j                              d¦  «        }t          |¦  «        sd}t          |¦  «        ‚d}t	          ddd¦  «        D ]}|t          ||¦  «        z  }Œ|dk    rd}t          |¦  «        ‚d| _        t          |d¦  «        t          |d¦  «        f| _        |                     d	¦  «        r)t          j
        d
ddg| j        ¢R dd¦  «        g| _        d S t          j
        dddg| j        ¢R d¦  «        g| _        d S )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Ð"Ð"Ð"àŒG�LŠL˜ÑÔˆÝ�q‰zŒzð 	#Ø#ˆCÝ˜cÑ"Ô"Ð"ð ˆÝ�q˜"˜a‘”ð 	,ð 	,ˆAØ¥# a¨¡)¤)Ñ+ˆHˆHØ�qŠ=ˆ=Ø$ˆCÝ˜cÑ"Ô"Ð"àˆŒ
Ý˜˜A‘Y”Y¥ A q¡	¤	Ð)ˆŒ
à�<Š<˜Ñ Ô ð 	IÝ"œ¨°°AÐ0B¸¼	Ð0BÐ0BÀBÈÑLÔLÐMˆDŒIˆIˆIå"œ¨°°AÐ0B¸¼	Ð0BÐ0BÀBÑGÔGÐHˆDŒIˆIˆIr   N)r   r   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr/   © r   r   r   r   3   s9   € € € € € Ø€FØ(ÐðIð Ið Ið Ið Ið Ir   r   c                  ó   — e Zd ZdZdd„ZdS )	Ú
MspDecoderTÚbufferúImage.DecoderInputr   útuple[int, int]c                óˆ  — | j         €J ‚t          ¦   «         }t          d| j        j        dz   dz  z  ¦  «        }	 | j                              d¦  «         t          j        d| j        j        › d�| j                              | j        j        dz  ¦  «        ¦  «        }n)# t
          j	        $ r}d}t          |¦  «        |‚d }~ww xY wt          |¦  «        D �]G\  }}	 |d	k    r||z  }Œ| j                              |¦  «        }	t          |	¦  «        |k    rd
|› d|› �}t          |¦  «        ‚d	}
t          ¦   «         }|
|k     r©|	|
         }|
dz  }
|d	k    rQt          j        d|	|
¦  «        \  }}t          || j        j        t          |¦  «        z
  ¦  «        }|||z  z  }|
dz  }
n?t          || j        j        t          |¦  «        z
  ¦  «        }||	|
|
|z   …         z  }|
|z  }
|
|k     °©||z  }�Œ# t
          j	        $ r}d|› �}t          |¦  «        |‚d }~ww xY w|                      t          |¦  «        d¦  «         dS )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_rawr   )r*   r8   ÚdataÚ
blank_lineÚrowmapÚer,   ÚyÚrowlenÚrowÚidxÚrow_dataÚruntypeÚruncountÚrunvals                  r   ÚdecodezMspDecoder.decodev   s‚  € ØŒwÐ"Ð"Ð"å‰{Œ{ˆÝ˜w¨4¬:Ô+;¸aÑ+?ÀAÑ*EÑFÑGÔGˆ
ð	&ØŒG�LŠL˜ÑÔÐÝÔ'Ø'�D”JÔ$Ð'Ð'Ð'¨¬¯ª°d´jÔ6FÈÑ6JÑ)KÔ)Kñô ˆFˆFøõ Œ|ð 	&ð 	&ð 	&Ø1ˆCÝ˜#‘,”, AÐ%øøøøð	&øøøõ # 6Ñ*Ô*ð 	*ñ 	*‰IˆAˆvð*Ø˜Q’;�;Ø˜JÑ&�DØØ”g—l’l 6Ñ*Ô*�Ý�s‘8”8˜vÒ%Ð%ØS¸&ÐSÐSÐPQÐSÐS�CÝ! #™,œ,Ð&Ø�Ý$™;œ;�Ø˜F’l�lØ! #œh�GØ˜1‘H�CØ !’|�|Ý+1Ô+=¸dÀCÈÑ+MÔ+MÑ(˜ &Ý#& x°´Ô1AÅCÈÁMÄMÑ1QÑ#RÔ#R˜Ø  F¨XÑ$5Ñ5˜Ø˜q™˜˜å#& w°´
Ô0@Å3ÀxÁ=Ä=Ñ0PÑ#QÔ#Q˜Ø  C¨¨c°H©nÐ(<Ô$=Ñ=˜Ø˜x™˜ð ˜F’l�lð ˜Ñ �‘øå”<ð *ð *ð *Ø6°1Ð6Ð6�Ý˜c‘l”l¨Ð)øøøøð*øøøð 	�Š�˜d™œ SÑ)Ô)Ð)àˆus7   »A"B ÂCÂ-B?Â?CÃG3Ã)DG3Ç3HÈHÈHN)r8   r9   r   r:   )r0   r1   r2   Ú	_pulls_fdr\   r5   r   r   r7   r7   Q   s0   € € € € € ðF €Ið-ð -ð -ð -ð -ð -r   r7   r   ÚimúImage.Imager    ú	IO[bytes]Úfilenameústr | bytesr   c           
     óî  — | j         dk    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 ]$}|                     t          |¦  «        ¦  «         Œ%t          j        | |t          j        dddg| j        ¢R dd¦  «        g¦  «         d S )Nr   zcannot write mode z as MSPr   é   s   Das   nMr   r   é   )r   r   r   é   r   r=   r>   é	   é   r   r   )	ÚmoderK   r$   r(   ÚwriteÚo16r   Ú_saver'   )r^   r    ra   r,   Úheaderr-   Úhs          r   rl   rl   ­   s6  € Ø	„w�#‚~€~Ø3 2¤7Ð3Ð3Ð3ˆÝ�c‰lŒlÐð ˆS�2‰X€Få˜u™:œ:¥s¨5¡z¤zÐ€Fˆ1�Iˆv�a‰yØœ7Ñ€Fˆ1�Iˆv�a‰yØÑ€Fˆ1�Iˆv�a‰yØÑ€Fˆ1�Iˆv�a‰yØœ7Ñ€Fˆ1�Iˆv�a‰yà€HØð  ð  ˆØ˜a‘<ˆˆØ€Fˆ2�Jð ð ð ˆØ
�Š•�Q‘”ÑÔÐÐõ „O�B˜�Yœ_¨U°Q¸Ð4D¸B¼GÐ4DÐ4DÀbÈ#ÑNÔNÐOÑPÔPÐPÐPÐPr   z.msp)r   r   r   r   )r^   r_   r    r`   ra   rb   r   r   )Ú
__future__r   Ú__lazy_modules__r   Ú r   r   Ú_binaryr   r$   r	   rk   ÚTYPE_CHECKINGÚtypingr
   r   r   Ú	PyDecoderr7   Úregister_decoderrl   Úregister_openr3   Úregister_saveÚregister_extensionr5   r   r   ú<module>rz      sˆ  ðð2 #Ð "Ð "Ð "Ð "Ð "à! 8Ð,Ð à €€€à Ð Ð Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø !Ð !Ð !Ð !Ð !Ð !à€Øð ØÐÐÐÐÐð
1ð 1ð 1ð 1ðIð Ið Ið Ið I�9Ô&ñ Iô Ið Ið<Rð Rð Rð Rð R�Ô$ñ Rô Rð Rðj €Ô �u˜jÑ )Ô )Ð )ðQð Qð Qð Qð< €Ô �LÔ'¨°wÑ ?Ô ?Ð ?Ø €Ô �LÔ'¨Ñ /Ô /Ð /à €Ô ˜Ô,¨fÑ 5Ô 5Ð 5Ð 5Ð 5r   