+
    JV-jW(  ã            	      ó¬  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIHtHtHt ^RI	H
t
Ht ^RIHt RtR R lt. R#OtR	 R
 ltR R lt ! R R]P                  4      tR$R R lltR R ltR R ltR R lt]
P0                  ! ]P2                  ]4       ]
P4                  ! ]P2                  ]4       ]R8X  Ed�   ]! ]P:                  4      ^8  d   ]! R4       ]P>                  ! 4        ]P:                  ^,          t ]! ] 4      '       g   ]! R4       ]P>                  ! 4        ]
PB                  ! ] 4      ;_uu_ 4       t"]! R]" 24       ]! R]"P2                   24       ]! R]"PF                   24       ]! R]"PH                   24       ]! RRR 7       ]! ]"PK                  4       4       ]! ]P:                  4      ^8”  d}   ]P:                  ^,          t&]"PO                  ]
PP                  PR                  4      t*]! R!]PV                  PY                  ] 4       R"]& R24       ]*P[                  ]&]P2                  4       RRR4       R# R#   + '       g   i     R# ; i)%é    )ÚannotationsN)ÚIOÚAnyÚcast)ÚImageÚ	ImageFile)ÚDeferredErrorFc               ó    € V ^8„  d   QhRRRR/# )é   Úfr   ÚreturnÚint© )Úformats   "Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/PIL/SpiderImagePlugin.pyÚ__annotate__r   0   s   € ÷ ñ ˆSð �Sñ ó    c                ól   €  \        V 4      pW,
          ^ 8X  d   ^# ^ #   \        \        3 d     ^ # i ; i)r   )r   Ú
ValueErrorÚOverflowError)r   Úis   & r   ÚisIntr   0   s6   € ðÜ�‹FˆØ�5�AŒ:ÙáøÜœÐ&ô Úðús   ‚ ž3²3c               ó    € V ^8„  d   QhRRRR/# )r   Útztuple[float, ...]r   r   r   )r   s   "r   r   r   D   s   € ÷ ñ Ð'ð ¨Cñ r   c                ó&  € RV ,           pR F  p\        W,          4      '       d   K   ^ # 	  \        V^,          4      pV\        9  d   ^ # \        V^,          4      p\        V^,          4      p\        V^,          4      pWTV,          8w  d   ^ # V# )éc   ©r   )é   r   é   é   é   é   é   )r   r   Úiforms)r   Úhr   ÚiformÚlabrecÚlabbytÚlenbyts   &      r   ÚisSpiderHeaderr*   D   sv   € Ø��	€Aã&ˆÜ�Q•T�{Œ{Úñ 'ô ��!•‹I€EØ”FÔÙä��2•‹Z€FÜ��2•‹Z€FÜ��2•‹Z€FØ˜6•/Ô"Ùà€Mr   c               ó    € V ^8„  d   QhRRRR/# )r   ÚfilenameÚstrr   r   r   )r   s   "r   r   r   X   s   € ÷ ñ ˜Cð  Cñ r   c                ó  € \        V R 4      ;_uu_ 4       pVP                  ^\4      pRRR4       \        P                  ! RX4      p\	        V4      pV^ 8X  d#   \        P                  ! RV4      p\	        V4      pV#   + '       g   i     L]; i)ÚrbNz>23fz<23f)ÚopenÚreadÚstructÚunpackr*   )r,   Úfpr   r   Úhdrlens   &    r   ÚisSpiderImager6   X   sl   € Ü	ˆh˜×	Ô	 Ø�G‰G�B‹Kˆ÷ 
ä�Š�f˜aÓ €AÜ˜AÓ€FØ�„{Ü�MŠM˜& !Ó$ˆÜ Ó"ˆØ€M÷ 
×	ús   •A<Á<B	c                  óª   € ] tR t^ctRtRtRtR R lt]R R l4       t	]R R	 l4       t
R
 R ltR R ltRR R llt]'       d   ^RIHt R R ltRtR# )ÚSpiderImageFileÚSPIDERzSpider 2D imageFc               ó   € V ^8„  d   QhRR/# )r   r   ÚNoner   )r   s   "r   r   ÚSpiderImageFile.__annotate__h   s   € ÷ :ñ :�tñ :r   c                	óx  € ^lpV P                   f   Q hV P                   P                  V4      p ^V n        \        P                  ! RV4      p\        V4      pV^ 8X  d*   ^ V n        \        P                  ! RV4      p\        V4      pV^ 8X  d   Rp\        V4      h RT,           p\        T^,          4      pT^8w  d   Rp\        T4      h\        T^,          4      \        T^,          4      3T n	        \        T^,          4      T n
        \        T^,          4      T n        T P                  ^ 8X  d   T P                  ^ 8X  d   Tp	^T n        MÎT P                  ^ 8”  du   T P                  ^ 8X  dd   \        T^,          4      \        T^,          4      ,          ^,          T n        Y@n        \        T^,          4      T n        T^,          p	^T n        MIT P                  ^ 8X  d,   T P                  ^ 8”  d   Y@P                  ,           p	^T n
        MRp\        T4      hT P                  '       d	   RT n        MRT n        R	T n        \$        P&                  ! R
RT P(                  ,           Y�P                   4      .T n        T P                   T n        R#   \        P                   d   pRp\        T4      ThRp?ii ; i)é   Nz>27fz<27fznot a valid Spider fileznot a Spider 2D imagez inconsistent stack header valueszF;32BFzF;32FÚFÚrawr   ©r   r   )r4   r1   Ú	bigendianr2   r3   r*   ÚSyntaxErrorÚerrorr   Ú_sizeÚistackÚ	imgnumberÚ_nimagesÚimgbytesr5   Ú	stkoffsetÚrawmodeÚ_moder   Ú_TileÚsizeÚtileÚ_fp)
ÚselfÚnr   r   r5   ÚmsgÚer%   r&   Úoffsets
   &         r   Ú_openÚSpiderImageFile._openh   s)  € àˆØ�w‰wÒ"Ð"Ð"Ø�G‰G�L‰L˜‹Oˆð	*ØˆDŒNÜ—’˜f aÓ(ˆAÜ# AÓ&ˆFØ˜Œ{Ø!"�”Ü—M’M &¨!Ó,�Ü'¨Ó*�Ø˜Œ{Ø/�Ü! #Ó&Ð&ð ð �A�IˆÜ�A�a•D“	ˆØ�AŒ:Ø)ˆCÜ˜cÓ"Ð"ä˜˜2�“Z¤ Q q¥T£Ð*ˆŒ
Ü˜!˜B�%“jˆŒÜ˜Q˜r�U›ˆŒà�;‰;˜!Ô §¡°!Ô 3àˆFØˆD�MØ�[‰[˜1Œ_ §¡°1Ô!4ä  "¥›J¬¨Q¨q­T«Õ2°QÕ6ˆDŒMØ ŒKÜ  "¥›JˆDŒMà˜a•ZˆFØˆD�NØ�[‰[˜AÔ $§.¡.°1Ô"4àŸn™nÕ,ˆFØˆD�Kà4ˆCÜ˜cÓ"Ð"à�>�>ˆ>Ø#ˆD�Là"ˆDŒLØˆŒ
ä—_’_ U¨F°T·Y±YÕ,>ÀÏÉÓUÐVˆŒ	Ø—7‘7ˆŽøôS �|‰|ô 	*Ø+ˆCÜ˜cÓ"¨Ð)ûð	*ús   ¯A-J ÊJ9Ê&J4Ê4J9c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r<   ¥   s   € ÷ ñ ˜#ñ r   c                	ó   € V P                   # ©N©rH   ©rQ   s   &r   Ún_framesÚSpiderImageFile.n_frames¤   s   € à�}‰}Ðr   c               ó   € V ^8„  d   QhRR/# )r   r   Úboolr   )r   s   "r   r   r<   ©   s   € ÷ !ñ !˜Tñ !r   c                	ó    € V P                   ^8„  # ©r   r\   r]   s   &r   Úis_animatedÚSpiderImageFile.is_animated¨   s   € à�}‰}˜qÑ Ð r   c               ó   € V ^8„  d   QhRR/# rY   r   )r   s   "r   r   r<   ­   s   € ÷ &ñ &�cñ &r   c                	óN   € V P                   ^8  d   ^ # V P                   ^,
          # rc   )rG   r]   s   &r   ÚtellÚSpiderImageFile.tell­   s    € Ø�>‰>˜AÔÙà—>‘> AÕ%Ð%r   c               ó    € V ^8„  d   QhRRRR/# )r   Úframer   r   r;   r   )r   s   "r   r   r<   ³   s   € ÷ ñ ˜#ð  $ñ r   c                	óÞ  € V P                   ^ 8X  d   Rp\        V4      hV P                  V4      '       g   R# \        V P                  \
        4      '       d   V P                  P                  hV P                  WP                  V P                  ,           ,          ,           V n	        V P                  V n
        V P                  P                  V P                  4       V P                  4        R# )r   z#attempt to seek in a non-stack fileN)rF   ÚEOFErrorÚ_seek_checkÚ
isinstancerP   r	   Úexr5   rI   rJ   r4   ÚseekrV   )rQ   rk   rS   s   && r   rq   ÚSpiderImageFile.seek³   s˜   € Ø�;‰;˜!ÔØ7ˆCÜ˜3“-ÐØ×Ñ ×&Ò&ÙÜ�d—h‘h¤×.Ò.Ø—(‘(—+‘+ÐØŸ™ u·±¸d¿m¹mÕ0KÕ'LÕLˆŒØ—(‘(ˆŒØ�‰�‰�T—^‘^Ô$Ø�
‰
Žr   c               ó    € V ^8„  d   QhRRRR/# )r   Údepthr   r   úImage.Imager   )r   s   "r   r   r<   Á   s   € ÷ <ñ < #ð <°ñ <r   c                	ó6  aa€ V P                  4       p\        V^ ,          \        4      '       g   Q h\        \        \        \        3,          V4      w  r4^oWC8w  d   WV,
          ,          oS) V,          oV P                  VV3R l4      P                  R4      # )r   c                ó$   <€ V S,          S,           # r[   r   )r   ÚbÚms   &€€r   Ú<lambda>Ú.SpiderImageFile.convert2byte.<locals>.<lambda>É   s   ø€  A¨¥E¨A¦Ir   ÚL)Ú
getextremaro   Úfloatr   ÚtupleÚpointÚconvert)rQ   rt   ÚextremaÚminimumÚmaximumrx   ry   s   &&   @@r   Úconvert2byteÚSpiderImageFile.convert2byteÁ   s|   ù€ Ø—/‘/Ó#ˆÜ˜' !�*¤e×,Ò,Ð,Ð,Ü¤¤e¬U lÕ 3°WÓ=ÑˆØˆØÔØ 7Õ*Õ+ˆAØˆB��LˆØ�z‰zÕ-Ó.×6Ñ6°sÓ;Ð;r   ©ÚImageTkc               ó   € V ^8„  d   QhRR/# )r   r   zImageTk.PhotoImager   )r   s   "r   r   r<   Ï   s   € ÷ Dñ DÐ0ñ Dr   c                	óP   € ^RI Hp VP                  V P                  4       RR7      # )r   r‡   é   )Úpalette)Ú rˆ   Ú
PhotoImager…   )rQ   rˆ   s   & r   ÚtkPhotoImageÚSpiderImageFile.tkPhotoImageÏ   s$   € Ýà×!Ñ! $×"3Ñ"3Ó"5¸sÐ!ÓCÐCr   )rP   rL   rH   rE   rB   r4   r5   rI   rG   rF   rK   rJ   rO   N)éÿ   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Úformat_descriptionÚ!_close_exclusive_fp_after_loadingrV   Úpropertyr^   rd   rh   rq   r…   ÚTYPE_CHECKINGr�   rˆ   r�   Ú__static_attributes__r   r   r   r8   r8   c   sd   † Ø€FØ*ÐØ(-Ð%õ:ðx ôó ðð ô!ó ð!õ&õ÷<÷ Ý÷Dñ Dr   r8   c               ó    € V ^8„  d   QhRRRR/# )r   Úfilelistzlist[str] | Noner   zlist[Image.Image] | Noner   )r   s   "r   r   r   Ú   s   € ÷ ñ Ð.ð Ð:Rñ r   c                ó  € V e   \        V 4      ^8  d   R# . pV  F¨  p\        P                  P                  V4      '       g   \	        RV 24       K8   \
        P                  ! V4      ;_uu_ 4       p\        V\        4      '       g   Q hVP                  4       pRRR4       TXP                  R&   TP                  T4       Kª  	  V#   + '       g   i     L6; i  \         d$    \        T4      '       g   \	        T R24        Kî  i ; i)zJcreate a list of :py:class:`~PIL.Image.Image` objects for use in a montageNzunable to find z is not a Spider image filer,   )ÚlenÚosÚpathÚexistsÚprintr   r0   ro   r8   r…   Ú	Exceptionr6   ÚinfoÚappend)rœ   Ú	byte_imgsÚimgÚimÚbyte_ims   &    r   ÚloadImageSeriesrª   Ú   sÞ   € àÒœ3˜x›=¨1Ô,Ùà€IÛˆÜ�w‰w�~‰~˜c×"Ò"Ü�O C 5Ð)Ô*Ùð	Ü—’˜C—” BÜ! "¤o×6Ò6Ð6Ð6ØŸ/™/Ó+�÷ !ð $'ˆ�‰�ZÑ Ø×Ñ˜Ö!ñ ð Ð÷ !—ûô ô 	Ü  ×%Ò%Ü˜˜Ð8Ð9Ô:Úð	ús0   ÁCÁ2)C	ÂCÃ	CÃCÃCÃ*D
Ä	D
c               ó    € V ^8„  d   QhRRRR/# )r   r¨   ru   r   zlist[bytes]r   )r   s   "r   r   r   õ   s   € ÷ .ñ .˜ð .¨ñ .r   c                ó8  € V P                   w  r\        ^V4      ^,          p\        RV,          4      pRV,          ^ 8w  d
   V^,          pWC,          p\        V^,          4      pV^8  d   . # R.V,          pRV^&   \        V4      V^&   \        V4      V^&   RV^&   \        V4      V^&   \        V4      V^&   \        V4      V^&   \        V4      V^&   VR,          pVP	                  R4       V Uu. uF  p\
        P                  ! RV4      NK  	  up# u upi )r   i   g        g      ð?:r   NNr   )rN   Úmaxr   r~   r¥   r2   Úpack)	r¨   ÚnsamÚnrowr)   r'   r(   ÚnvaluesÚhdrÚvs	   &        r   ÚmakeSpiderHeaderr´   õ   s  € Ø—‘�J€DÜ��D‹\˜AÕ€FÜ�˜•Ó€FØˆf…}˜ÔØ�!�ˆØ�_€FÜ�&˜1•*‹o€GØ�„|Øˆ	àˆ%�'�/€Cð €Cˆ�FÜ�4‹[€Cˆ�FÜ�4‹[€Cˆ�FØ€Cˆ�FÜ�D‹k€Cˆ�GÜ�F‹m€Cˆ�GÜ�F‹m€Cˆ�GÜ�F‹m€Cˆ�Gð ˆb�'€CØ‡J�Jˆs„Oá),Ó-© AŒF�KŠK˜˜QÖ©Ñ-Ð-ùÒ-s   Ã4 Dc               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r   r¨   ru   r4   z	IO[bytes]r,   zstr | bytesr   r;   r   )r   s   "r   r   r     s.   € ÷ Tñ Tˆkð T˜yð T°Kð TÀDñ Tr   c           
     ó@  € V P                   R 8w  d   V P                  R 4      p \        V 4      p\        V4      R8  d   Rp\	        V4      hVP                  V4       Rp\        P                  ! W\        P                  ! RRV P                  ,           ^ V4      .4       R# )r?   r‹   zError creating Spider headerzF;32NFr@   NrA   )
Úmoder�   r´   rž   ÚOSErrorÚ
writelinesr   Ú_saverM   rN   )r¨   r4   r,   r²   rS   rK   s   &&&   r   r»   r»     sz   € Ø	‡w�w�#„~Ø�Z‰Z˜‹_ˆä
˜2Ó
€CÜ
ˆ3ƒx�#„~Ø,ˆÜ�c‹lÐð ‡M�M�#Ôà€GÜ‡O‚O�BœYŸ_š_¨U°F¸R¿W¹WÕ4DÀaÈÓQÐRÖSr   c               ó(   € V ^8„  d   QhRRRRRRRR/# r¶   r   )r   s   "r   r   r   #  s(   € ÷ ñ �[ð  ið ¸;ð È4ñ r   c                ó  € \         P                  P                  V4      ^,          ;p'       dN   \        V\        4      '       d   VP                  4       MTp\        P                  ! \        P                  V4       \        WV4       R# )r   N)rŸ   r    Úsplitextro   ÚbytesÚdecoder   Úregister_extensionr8   r   r»   )r¨   r4   r,   Úfilename_extÚexts   &&&  r   Ú_save_spiderrÄ   #  s]   € ä—w‘w×'Ñ'¨Ó1°!Õ4Ð4€|Ö4Ü'1°,Ä×'FÒ'Fˆl×!Ñ!Ô#ÈLˆÜ× Ò ¤×!7Ñ!7¸Ô=Ü	ˆ"�(Ör   Ú__main__z7Syntax: python3 SpiderImagePlugin.py [infile] [outfile]z$input image must be in Spider formatzimage: zformat: zsize: zmode: z
max, min: Ú )Úendzsaving a flipped version of z as )r   é   iõÿÿÿiôÿÿÿiëÿÿÿiêÿÿÿr[   ).Ú
__future__r   rŸ   r2   ÚsysÚtypingr   r   r   r�   r   r   Ú_utilr	   r™   r   r$   r*   r6   r8   rª   r´   r»   rÄ   Úregister_openr   Úregister_saver’   rž   Úargvr¢   Úexitr,   r0   r¨   rN   r¸   r}   ÚoutfileÚ	transposeÚ	TransposeÚFLIP_LEFT_RIGHTÚtransposed_imr    ÚbasenameÚsaver   r   r   Ú<module>rØ      sò  ðõF #ã 	Û Û 
ß  Ñ  ç Ý  à€õò 
$€õõ(ôoD�i×)Ñ)ô oD÷nõ6.õ<Tõ ð × Ò �O×*Ñ*¨OÔ <Ø × Ò �O×*Ñ*¨LÔ 9àˆzÕÙ
ˆ3�8‰8ƒ}�qÔÙÐGÔHØ�ŠŒ
à�x‰x˜�{€HÙ˜×"Ò"ÙÐ4Ô5Ø�ŠŒ
à	�Š�H×	Ô	 Ù�˜�tˆnÔÙ�˜Ÿ™˜Ð$Ô%Ù��r—w‘w�iÐ Ô!Ù��r—w‘w�iÐ Ô!Ùˆl Õ$Ùˆb�m‰m‹oÔáˆs�x‰x‹=˜1ÔØ—h‘h˜q•kˆGð ŸL™L¨¯©×)HÑ)HÓIˆMÙØ.¨r¯w©w×/?Ñ/?ÀÓ/IÐ.Jð KØ�Y˜að!ôð ×Ñ˜w¨×(>Ñ(>Ô?÷# 
Ñ	ñ ÷ 
×	Ð	ús   Ä8C>IÉI	