ó
    Eñiõ  ã            	      óæ  • S SK Jr  S SKrS SKrS SKJr  SSKJrJr  SSK	J
r  SSK	Jr  SS jrS	S	S
S
SSSSS.r " S S\R                  5      rSS jr " S S\R"                  5      r\R&                  " S\5        \R(                  " \R*                  \\5        \R,                  " \R*                  \5        \R.                  " \R*                  S5        \R0                  " \R*                  / SQ5        g)é    )ÚannotationsN)ÚIOé   )ÚImageÚ	ImageFile)Úi16be)Úo8c                óH   • [        U 5      S:¬  =(       a    [        U 5      S:H  $ )Né   éÚ  )ÚlenÚi16)Úprefixs    ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/PIL/SgiImagePlugin.pyÚ_acceptr   "   s   € Üˆv‹;˜!Ñ×2¤ F£¨sÑ 2Ð2ó    ÚLúL;16BÚRGBzRGB;16BÚRGBAzRGBA;16B))r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   é   r   )r   r   r   )r   r   é   )r   r   r   c                  ó&   • \ rS rSrSrSrSS jrSrg)ÚSgiImageFileé4   ÚSGIzSGI Image File Formatc                ó’  • U R                   c   eSnU R                   R                  U5      n[        U5      (       d  Sn[        U5      eUS   nUS   n[	        US5      n[	        US5      n[	        US5      n[	        US5      n	 [
        XVU	4   n
Xx4U l        U
R                  S
5      S   U l	        U R                  S:X  a  SU l        SnUS:X  a©  Xx-  U-  nUS:X  a:  [        R                  " SSU R                  -   UU R                  SU45      /U l        g / U l        UnU R                   HH  nU R                  R!                  [        R                  " SSU R                  -   XÞSU45      5        XÜ-  nMJ     g US:X  a.  [        R                  " SSU R                  -   XXµ45      /U l        g g ! [         a    S	n[        U5      ef = f)Né   zNot an SGI image filer   r   r   é   é   é
   úUnsupported SGI image modeÚ;r   r   z	image/rgbéÿÿÿÿÚSGI16)r   r   Úrawr   Úsgi_rle)ÚfpÚreadr   Ú
ValueErrorr   ÚMODESÚKeyErrorÚ_sizeÚsplitÚ_modeÚmodeÚcustom_mimetyper   Ú_TileÚsizeÚtileÚappend)ÚselfÚheadlenÚsÚmsgÚcompressionÚbpcÚ	dimensionÚxsizeÚysizeÚzsizeÚrawmodeÚorientationÚpagesizeÚoffsetÚlayers                  r   Ú_openÚSgiImageFile._open8   sá  € à�w‰wÑ"Ð"Ð"àˆØ�G‰G�L‰L˜Ó!ˆä�q�z‰zØ)ˆCÜ˜S“/Ð!ð ˜‘dˆð �‰dˆô ˜˜1“Iˆ	ô �A�q“	ˆô �A�q“	ˆô �A�r“
ˆð	"Ü˜S¨UÐ3Ñ4ˆGð
 �\ˆŒ
Ø—]‘] 3Ó'¨Ñ*ˆŒ
Ø�9‰9˜ÓØ#.ˆDÔ ð ˆð ˜!ÓØ‘} sÑ*ˆHØ�a‹xä—O’OØØ §¡Ñ*ØØŸ™ A {Ð3ó	ð�•	ð �”	Ø �Ø!ŸYœY�EØ—I‘I×$Ñ$Ü!ŸšØ! 6¨D¯I©IÑ#5°vÀqÈ+Ð?Vóôð
 Ñ&’Fò 'ð ˜AÓä—’Ø˜v¨¯	©	Ñ1°7ÀkÐ<WóðˆD�Ið øôE ó 	"Ø.ˆCÜ˜S“/Ð!ð	"ús   ÂF. Æ.G)r/   r-   r1   r4   N)ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚformatÚformat_descriptionrE   Ú__static_attributes__© r   r   r   r   4   s   † Ø€FØ0Ð÷Gr   r   c           	     óÈ  • U R                   S;  a  Sn[        U5      eU R                  nUR                  SS5      nUS;  a  Sn[        U5      eSnSnS	nU R                  u  pš[        U R                   5      nU R                   S
:X  a  U
S:X  a  SOSnOSnS	nSn[        R                  R                  [        R                  R                  U5      5      S	   n[        U[        5      (       a  UR                  SS5      nS	nUR                  [        R                  " SU5      5        UR                  [!        U5      5        UR                  [!        U5      5        UR                  [        R                  " SU5      5        UR                  [        R                  " SU	5      5        UR                  [        R                  " SU
5      5        UR                  [        R                  " SU5      5        UR                  [        R                  " SU5      5        UR                  [        R                  " SU5      5        UR                  [        R                  " SS5      5        UR                  [        R                  " SU5      5        UR                  [        R                  " SS5      5        UR                  [        R                  " SU5      5        UR                  [        R                  " SS5      5        S
nUS:X  a  SnU R#                  5        H&  nUR                  UR%                  SUS	U5      5        M(     ['        US5      (       a  UR)                  5         g g )N>   r   r   r   r"   r;   r   )r   r   z%Unsupported number of bytes per pixelr$   r   r   r   r   r   éÿ   ÚasciiÚignorez>hz>Hz>lÚ4sr   Ú79sr8   Ú404sr   r&   Úflush)r0   r*   ÚencoderinfoÚgetr3   r   ÚosÚpathÚsplitextÚbasenameÚ
isinstanceÚstrÚencodeÚwriteÚstructÚpackr	   r.   ÚtobytesÚhasattrrX   )Úimr(   Úfilenamer9   Úinfor;   rA   Úmagic_numberÚrleÚxÚyÚzr<   ÚpinminÚpinmaxÚimg_nameÚcolormapr@   Úchannels                      r   Ú_savert   ‚   s}  € Ø	‡w�wÐ*Ó*Ø*ˆÜ˜‹oÐð �>‰>€Dð �(‰(�5˜!Ó
€Cà
�&ÓØ5ˆÜ˜‹oÐð €Kà€Là
€Cð �7‰7�D€AäˆB�G‰G‹€Aà	‡w�w�#ƒ~Ø˜a›‘A Q‰	àˆ	ð €Fà€Fä�w‰w×Ñ¤§¡× 0Ñ 0°Ó :Ó;¸AÑ>€HÜ�(œC× Ñ Ø—?‘? 7¨HÓ5ˆà€HØ‡H�HŒV�[Š[˜˜|Ó,Ô-Ø‡H�HŒR�‹WÔØ‡H�HŒR�‹WÔØ‡H�HŒV�[Š[˜˜yÓ)Ô*Ø‡H�HŒV�[Š[˜˜qÓ!Ô"Ø‡H�HŒV�[Š[˜˜qÓ!Ô"Ø‡H�HŒV�[Š[˜˜qÓ!Ô"Ø‡H�HŒV�[Š[˜˜vÓ&Ô'Ø‡H�HŒV�[Š[˜˜vÓ&Ô'Ø‡H�HŒV�[Š[˜˜sÓ#Ô$Ø‡H�HŒV�[Š[˜ Ó)Ô*Ø‡H�HŒV�[Š[˜˜cÓ"Ô#Ø‡H�HŒV�[Š[˜˜xÓ(Ô)Ø‡H�HŒV�[Š[˜ Ó%Ô&à€GØ
ˆaƒxØˆà—8‘8–:ˆØ
�‰�—‘ ¨°°KÓ@ÖAñ ô ˆr�7×ÑØ
�‰�
ð r   c                  ó"   • \ rS rSrSrSS jrSrg)ÚSGI16DecoderéÆ   Tc                ój  • U R                   c   eU R                  c   eU R                  u  p#nU R                  R                  U R                  R
                  -  n[        U R                  5      nU R                   R                  S5        [        U5       Hš  n[        R                  " SU R                  R                  U R                  R
                  45      nUR                  U R                   R                  SU-  5      SSX45        U R                  R                  UR                  U5        Mœ     g)Nr   r   r   r&   r   )r$   r   )Úfdrg   ÚargsÚstater=   r>   r   r0   ÚseekÚranger   ÚnewÚ	frombytesr)   Úputband)	r6   Úbufferr@   ÚstriderA   rB   r?   Úbandrs   s	            r   ÚdecodeÚSGI16Decoder.decodeÉ   sç   € Ø�w‰wÑ"Ð"Ð"Ø�w‰wÑ"Ð"Ð"à'+§y¡yÑ$ˆ˜Ø—:‘:×#Ñ# d§j¡j×&6Ñ&6Ñ6ˆÜ�D—I‘I“ˆØ�‰�‰�SÔä˜%–LˆDÜ—i’i  d§j¡j×&6Ñ&6¸¿
¹
×8HÑ8HÐ%IÓJˆGØ×ÑØ—‘—‘˜Q ™\Ó*¨E°7¸Fôð �G‰G�O‰O˜GŸJ™J¨Ö-ñ !ð r   rP   N)r�   z$bytes | Image.SupportsArrayInterfacerG   ztuple[int, int])rI   rJ   rK   rL   Ú	_pulls_fdr„   rO   rP   r   r   rv   rv   Æ   s   † Ø€I÷r   rv   r%   z	image/sgi)z.bwz.rgbz.rgbaz.sgi)r   ÚbytesrG   Úbool)rg   zImage.Imager(   z	IO[bytes]rh   zstr | bytesrG   rH   )Ú
__future__r   r[   rc   Útypingr   Ú r   r   Ú_binaryr   r   r	   r   r+   r   rt   Ú	PyDecoderrv   Úregister_decoderÚregister_openrM   Úregister_saveÚregister_mimeÚregister_extensionsrP   r   r   Ú<module>r“      sÝ   ðõ. #ã 	Û Ý ç Ý !Ý ô3ð
 ØØØØØØØñ		€ôK�9×&Ñ&ô Kô\AôH�9×&Ñ&ô ð4 × Ò �w Ô -Ø × Ò �L×'Ñ'¨°wÔ ?Ø × Ò �L×'Ñ'¨Ô /Ø × Ò �L×'Ñ'¨Ô 5à × Ò ˜,×-Ñ-Ò/OÕ Pr   