ó
    "%vgL  ã            	      óæ  • 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    Ú4/usr/lib/python3/dist-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
S	n [
        U
   nUS	:X  a  S
n[        U5      e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     GN>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ÚlayoutÚ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“
ˆð  Ð&ˆð ˆð	Ü˜F‘mˆGð �b‹=Ø.ˆCÜ˜S“/Ð!à�\ˆŒ
Ø—]‘] 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ð øôK ó 	Úð	ús   Â	G Ç
GÇG)r0   r.   r2   r5   N)ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚformatÚformat_descriptionrG   Ú__static_attributes__© r   r   r   r   4   s   † Ø€FØ0Ð÷N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S
n	U R                  u  p«U R                   S:X  a	  US:X  a  Sn	OU R                   S:X  a  Sn	[        U R                   5      nU	S;   a  Sn[        U R                  5       5      U:w  a*  SU S[        U R                  5       5       3n[        U5      e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   >   r   r   z(incorrect number of bands in SGI write: z vs éÿ   ÚasciiÚignorez>hz>Hz>lÚ4sr   Ú79sr9   Ú404sr   r'   Úflush)r1   r+   ÚencoderinfoÚgetr4   r   ÚgetbandsÚosÚpathÚsplitextÚbasenameÚ
isinstanceÚstrÚencodeÚwriteÚstructÚpackr	   r/   ÚtobytesÚhasattrrZ   )Úimr)   Úfilenamer:   Úinfor<   rC   Úmagic_numberÚrleÚdimÚxÚyÚzÚpinminÚpinmaxÚimg_nameÚcolormaprB   Úchannels                      r   Ú_saverx   ‰   sÔ  € Ø	‡w�wÐ*Ó*Ø*ˆÜ˜‹oÐð �>‰>€Dð �(‰(�5˜!Ó
€Cà
�&ÓØ5ˆÜ˜‹oÐð €Kà€Là
€Cð €Cà�7‰7�D€AØ	‡w�w�#ƒ~˜!˜q›&Ø‰Ø	�‰�C‹ØˆäˆB�G‰G‹€Aà
ˆfƒ}Øˆô ˆ2�;‰;‹=Ó˜QÓØ8¸¸¸4ÄÀBÇKÁKÃMÓ@RÐ?SÐTˆÜ˜‹oÐð €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�[Š[˜˜sÓ#Ô$Ø‡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   )Úfdrj   ÚargsÚstater>   r?   r   r1   ÚseekÚranger   ÚnewÚ	frombytesr*   Úputband)	r7   ÚbufferrB   ÚstriderC   rD   r@   Úbandrw   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   rR   N)r…   z$bytes | Image.SupportsArrayInterfacerI   ztuple[int, int])rK   rL   rM   rN   Ú	_pulls_fdrˆ   rQ   rR   r   r   rz   rz   Ö   s   † Ø€I÷r   rz   r&   z	image/sgi)z.bwz.rgbz.rgbaz.sgi)r   ÚbytesrI   Úbool)rj   zImage.Imager)   z	IO[bytes]rk   zstr | bytesrI   rJ   )Ú
__future__r   r^   rf   Útypingr   r"   r   r   Ú_binaryr   r   r	   r   r,   r   rx   Ú	PyDecoderrz   Úregister_decoderÚregister_openrO   Úregister_saveÚregister_mimeÚregister_extensionsrR   r   r   Ú<module>r–      sÝ   ðõ. #ã 	Û Ý ç Ý !Ý ô3ð
 ØØØØØØØñ		€ôR�9×&Ñ&ô RôjJôZ�9×&Ñ&ô ð4 × Ò �w Ô -Ø × Ò �L×'Ñ'¨°wÔ ?Ø × Ò �L×'Ñ'¨Ô /Ø × Ò �L×'Ñ'¨Ô 5à × Ò ˜,×-Ñ-Ò/OÕ Pr   