+
    ÂHàj<#  ã                  óô  € ^ RI Ht RR0t^ RIt^ RIHt ^RIHtHt ^RI	H
t ^RI	Ht ^R	I	Ht R
 R lt ! R R]P                  4      t ! R R]P"                  4      tR R lt ! R R]P(                  4      t]P,                  ! ]P.                  ]]4       ]P0                  ! R]4       ]P2                  ! ]P.                  R4       ]P4                  ! ]P.                  ]4       ]P6                  ! R]4       R# )é    )ÚannotationszPIL._binaryÚtypingN)ÚIO)ÚImageÚ	ImageFile)Úi32be)Úo8)Úo32bec               ó    € V ^8„  d   QhRRRR/# )é   ÚprefixÚbytesÚreturnÚbool© )Úformats   "Ú”/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/PIL/QoiImagePlugin.pyÚ__annotate__r      s   € ÷ &ñ &�Eð &˜dñ &ó    c                ó$   € V P                  R 4      # )ó   qoif)Ú
startswith)r   s   &r   Ú_acceptr      s   € Ø×Ñ˜WÓ%Ð%r   c                  ó*   € ] tR t^tRtRtR R ltRtR# )ÚQoiImageFileÚQOIzQuite OK Imagec               ó   € V ^8„  d   QhRR/# )r   r   ÚNoner   )r   s   "r   r   ÚQoiImageFile.__annotate__   s   € ÷ Rñ R�tñ Rr   c                	óp  € V P                   f   Q h\        V P                   P                  ^4      4      '       g   Rp\        V4      h\	        V P                   P                  ^4      4      \	        V P                   P                  ^4      4      3V n        V P                   P                  ^4      ^ ,          pV^8X  d   RMRV n        V P                   P                  ^\        P                  4       \        P                  ! R^ ^ .V P
                  O5V P                   P                  4       4      .V n        R # )Nznot a QOI fileÚRGBÚRGBAÚqoi)Úfpr   ÚreadÚSyntaxErrorÚi32Ú_sizeÚ_modeÚseekÚosÚSEEK_CURr   Ú_TileÚtellÚtile)ÚselfÚmsgÚchannelss   &  r   Ú_openÚQoiImageFile._open   sÑ   € Ø�w‰wÒ"Ð"Ð"Ü�t—w‘w—|‘| A“×'Ò'Ø"ˆCÜ˜cÓ"Ð"ä˜Ÿ™Ÿ™ a›Ó)¬3¨t¯w©w¯|©|¸A«Ó+?Ð?ˆŒ
à—7‘7—<‘< “? 1Õ%ˆØ&¨!œm‘U°ˆŒ
à�‰�‰�QœŸ™Ô$Ü—_’_ U¨Q°Ð,?°D·J±JÑ,?ÀÇÁÇÁÃÓPÐQˆŽ	r   )r)   r(   r/   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Úformat_descriptionr3   Ú__static_attributes__r   r   r   r   r      s   † Ø€FØ)Ð÷Rñ Rr   r   c                  óP   € ] tR t^,t$ RtRtR]R&   / tR]R&   R R ltR	 R
 lt	Rt
R# )Ú
QoiDecoderTNzbytes | bytearray | NoneÚ_previous_pixelzdict[int, bytes | bytearray]Ú_previously_seen_pixelsc               ó    € V ^8„  d   QhRRRR/# )r   Úvaluezbytes | bytearrayr   r   r   )r   s   "r   r   ÚQoiDecoder.__annotate__1   s   € ÷ 9ñ 9Ð->ð 9À4ñ 9r   c                	ó¬   € Wn         Vw  r#rEV^,          V^,          ,           V^,          ,           V^,          ,           ^@,          pWP                  V&   R# )é   N©r=   r>   )r0   r@   ÚrÚgÚbÚaÚ
hash_values   &&     r   Ú_add_to_previous_pixelsÚ"QoiDecoder._add_to_previous_pixels1   sG   € Ø$Ôà‰
ˆˆaØ˜!•e˜a !�e•m a¨!¥eÕ+¨a°"­fÕ4¸Õ:ˆ
Ø38×$Ñ$ ZÓ0r   c               ó    € V ^8„  d   QhRRRR/# )r   ÚbufferzImage.DecoderInputr   ztuple[int, int]r   )r   s   "r   r   rA   8   s   € ÷ Gñ GÐ/ð G°Oñ Gr   c           
     	ó   a a€ S P                   f   Q h/ S n        \        R4      S n        \        4       p\        P
                  ! S P                  4      pS P                  P                  S P                  P                  ,          V,          p\        V4      V8  EdQ   S P                   P                  ^4      pV'       g   EM+V^ ,          pV^þ8X  de   S P                  '       dS   S P                   P                  ^4      p\        V4      ^8  d   EMÜ\        V4      S P                  R,          ,           pEM‹V^ÿ8X  d0   S P                   P                  ^4      p\        V4      ^8  d   EMƒEMUV^,	          p	V	^ 8X  d1   V^?,          p
S P                  P                  V
\        R4      4      pEMV	^8X  dÊ   S P                  '       d¸   \        S P                  ^ ,          V^0,          ^,	          ,           ^,
          R,          S P                  ^,          V^,          ^,	          ,           ^,
          R,          S P                  ^,          V^,          ,           ^,
          R,          S P                  ^,          34      pEMEV	^8X  dè   S P                  '       dÖ   S P                   P                  ^4      pV'       g   EM3V^ ,          pV^?,          ^ ,
          oV^ð,          ^,	          ^,
          pV^,          ^,
          p\        \        ;QJ d$    . VV 3R l\        V^ V34       4       F  NK  	  5M! VV 3R l\        V^ V34       4       4      4      pVS P                  R,          ,          pMWV	^8X  dQ   S P                  '       d?   V^?,          ^,           pS P                  pV^8X  d
   VR,          pW(V,          ,          pEK5  S P                  X4       V^8X  d
   VR,          pW(,          pEKa  S P!                  V4       R# )N:rC   NNé   c              3  óx   <"  € T F/  w  rSP                   V,          S,           V,           R ,          x € K1  	  R# 5i)rO   N)r=   )Ú.0ÚiÚdiffÚ
diff_greenr0   s   &  €€r   Ú	<genexpr>Ú$QoiDecoder.decode.<locals>.<genexpr>l   s7   øé € ð á+N¡ ð "×1Ñ1°!Õ4°zÕAÀDÕHÈC×OÒOÛ+Nùs   ƒ7:ºNrC   N©r   r   r   éÿ   ©r   r   r   r   )éÿÿÿÿr   )Úfdr>   Ú	bytearrayr=   r   ÚgetmodebandsÚmodeÚstateÚxsizeÚysizeÚlenr%   ÚgetÚtupleÚ	enumeraterJ   Ú
set_as_raw)r0   rM   ÚdataÚbandsÚdest_lengthÚ	byte_dataÚbyteÚrgb_datar@   ÚopÚop_indexÚsecond_byte_dataÚsecond_byteÚdiff_redÚ	diff_blueÚ
run_lengthrT   s   f&              @r   ÚdecodeÚQoiDecoder.decode8   s<  ù€ Ø�w‰wÒ"Ð"Ð"à')ˆÔ$Ü(¨Ó8ˆÔä‹{ˆÜ×"Ò" 4§9¡9Ó-ˆØ—j‘j×&Ñ&¨¯©×)9Ñ)9Õ9¸EÕAˆÜ�$‹i˜+Õ%ØŸ™Ÿ™ Q›ˆIßÙØ˜Q•<ˆDà�zÔ! d×&:×&:Ð&:ØŸ7™7Ÿ<™<¨›?�Ü�x“= 1Ô$ÙÜ! (Ó+¨d×.BÑ.BÀ2Õ.FÕF’Ø˜Ô#ØŸ™Ÿ™ Q›�Ü�u“: ”>Ùñ "ð ˜Q•Y�Ø˜”7Ø# jÕ0�HØ ×8Ñ8×<Ñ<Ø ¤)¨LÓ"9ó’Eð ˜1”W ×!5×!5Ð!5Ü%à!×1Ñ1°!Õ4¸À
Õ9JÈqÕ8PÕQÐTUÕUØ!õ"à!×1Ñ1°!Õ4¸À
Õ9JÈqÕ8PÕQÐTUÕUØ!õ"à!×1Ñ1°!Õ4¸¸zÕ8IÕJÈQÕNÐRUÕUØ ×0Ñ0°Õ3ðó	’Eð ˜1”W ×!5×!5Ð!5Ø'+§w¡w§|¡|°A£Ð$ß+ÙØ"2°1Õ"5�KØ"&¨Õ"3°rÕ!9�JØ!,¨zÕ!9¸aÕ ?À1ÕD�HØ!,¨zÕ!9¸QÕ >�Iä%ßœõ ä+4°hÀÀ9Ð5MÔ+NóŸ™õ ä+4°hÀÀ9Ð5MÔ+Nóó ó�Eð ˜T×1Ñ1°"Õ5Õ5‘EØ˜1”W ×!5×!5Ð!5Ø"&¨Õ"3°qÕ!8�JØ ×0Ñ0�EØ ”zØ % b¥	˜Ø JÕ.Õ.�DÚØ×(Ñ(¨Ô/à˜ŒzØ˜b�	�Ø�M‹DØ�‰˜ÔØˆr   rD   )r5   r6   r7   r8   Ú	_pulls_fdr=   Ú__annotations__r>   rJ   ru   r:   r   r   r   r<   r<   ,   s/   ‡ Ø€IØ04€OÐ-Ó4Ø<>ÐÐ9Ó>õ9÷Gñ Gr   r<   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   ÚimzImage.Imager$   z	IO[bytes]Úfilenamezstr | bytesr   r   r   )r   s   "r   r   r   ‚   s.   € ÷ Hñ Hˆkð H˜yð H°Kð HÀDñ Hr   c           	     óf  € V P                   R 8X  d   ^pM!V P                   R8X  d   ^pMRp\        V4      hV P                  P                  R4      R8X  d   ^ M^pVP	                  R4       VP	                  \        V P                  ^ ,          4      4       VP	                  \        V P                  ^,          4      4       VP	                  \        V4      4       VP	                  \        V4      4       \        P                  ! W\        P                  ! R^ ^ .V P                  O54      .4       R# )r!   r"   zUnsupported QOI image modeÚ
colorspaceÚsRGBr   r#   N)r_   Ú
ValueErrorÚencoderinford   ÚwriteÚo32Úsizer	   r   Ú_saver-   )rz   r$   r{   r2   r1   r}   s   &&&   r   r„   r„   ‚   sÖ   € Ø	‡w�w�%ÔØ‰Ø	�‰�FÔ	Ø‰à*ˆÜ˜‹oÐà—n‘n×(Ñ(¨Ó6¸&Ô@‘Àa€Jà‡H�HˆWÔØ‡H�HŒS�—‘˜•‹_ÔØ‡H�HŒS�—‘˜•‹_ÔØ‡H�HŒR�‹\ÔØ‡H�HŒR�
‹^Ôä‡O‚O�BœYŸ_š_¨U°Q¸Ð4D¸B¿G¹GÑ4DÓEÐFÖGr   c                  ó`   € ] tR t^–t$ RtRtR]R&   / tR]R&   ^ tR R lt	R	 R
 lt
R R ltRtR# )Ú
QoiEncoderTNz tuple[int, int, int, int] | Noner=   z$dict[int, tuple[int, int, int, int]]r>   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   ÚQoiEncoder.__annotate__œ   s   € ÷ ñ ˜Eñ r   c                	óZ   € \        ^ÀV P                  ^,
          ,          4      p^ V n        V# )éÀ   )r	   Ú_run)r0   rh   s   & r   Ú
_write_runÚQoiEncoder._write_runœ   s%   € Ü�* §	¡	¨A¥Õ.Ó/ˆØˆŒ	Øˆr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚleftÚintÚrightr   r   )r   s   "r   r   rˆ   ¡   s!   € ÷ ñ ˜3ð  sð ¨sñ r   c                	óD   € W,
          ^ÿ,          pV^€8¼  d
   VR,          pV# )rY   rO   r   )r0   r�   r‘   Úresults   &&& r   Ú_deltaÚQoiEncoder._delta¡   s#   € Ø•, #Õ%ˆØ�SŒ=Ø�c�MˆFØˆr   c               ó    € V ^8„  d   QhRRRR/# )r   Úbufsizer�   r   ztuple[int, int, bytes]r   )r   s   "r   r   rˆ   §   s   € ÷ I)ñ I)˜cð I)Ð&<ñ I)r   c                	óÀ  € V P                   f   Q h^ R/V n        RV n        \        4       pV P                   P                  w  r4\
        P                  ! V P                  4      p\        V4       EF  p\        V4       EF  pV P                   P                  Wv34      pV^8X  d   . VO^ÿN5pW€P                  8X  dC   V ;P                  ^,          un
        V P                  ^>8X  d   W P                  4       ,          pEM‚V P                  '       d   W P                  4       ,          pVw  ršr¼V	^,          V
^,          ,           V^,          ,           V^,          ,           ^@,          pV P                  P                  V4      V8X  d   V\        V4      ,          pEMçV P                  '       EdÕ   W€P                  V&   V P                  w  rïppVV8X  Ed‹   V P                  Wž4      pV P                  W¯4      pV P                  VV4      pRTu;8:  d   ^8  ds   M MoRTu;8:  d   ^8  da   M M]RTu;8:  d   ^8  dO   M MKV\        ^@V^,           ^,          ,          V^,           ^,          ,          V^,           ,          4      ,          pMùV P                  VV4      pV P                  VV4      pRTu;8:  d   ^8  dw   M MsRTu;8:  d   ^ 8  de   M MaRTu;8:  d   ^8  dS   M MOV\        ^€V^ ,           ,          4      ,          pV\        V^,           ^,          V^,           ,          4      ,          pMPV\        ^þ4      ,          pV\        VR,          4      ,          pM$V\        ^ÿ4      ,          pV\        V4      ,          pW€n        EK  	  EK  	  V P                  '       d   W P                  4       ,          pV\        R4      ,          p\!        V4      ^ \        V4      3# )NrW   rZ   rX   éþÿÿÿiøÿÿÿiàÿÿÿ)r   r   r   r   r   r   r   é   )rz   r>   r=   r]   rƒ   r   r^   r_   ÚrangeÚgetpixelr‹   rŒ   rd   r	   r”   r   rc   )r0   r—   rh   ÚwÚhri   ÚyÚxÚpixelrE   rF   rG   rH   rI   Úprev_rÚprev_gÚprev_bÚprev_aÚdelta_rÚdelta_gÚdelta_bÚdelta_grÚdelta_gbs   &&                     r   ÚencodeÚQoiEncoder.encode§   s  € Ø�w‰wÒ"Ð"Ð"à()¨<Ð'8ˆÔ$Ø-ˆÔä‹{ˆØ�w‰w�|‰|‰ˆÜ×"Ò" 4§9¡9Ó-ˆä�q—ˆAÜ˜1—X�ØŸ™×(Ñ(¨!¨Ó0�Ø˜A”:Ø)˜e˜M S™M�Eà×0Ñ0Ô0Ø—I’I •N•IØ—y‘y B”Ø§¡Ó 1Õ1˜ùà—y—y�yØ§¡Ó 1Õ1˜à!&‘J�A˜!Ø"# a¥%¨!¨a­%¥-°!°aµ%Õ"7¸!¸b½&Õ"@ÀBÕ!F�JØ×3Ñ3×7Ñ7¸
ÓCÀuÔLØ¤ :£Õ.šØ×-×-Ñ-ØCH×4Ñ4°ZÑ@à9=×9MÑ9MÑ6˜¨°Ø! Q�;Ø&*§k¡k°!Ó&<˜GØ&*§k¡k°!Ó&<˜GØ&*§k¡k°!°VÓ&<˜Gð !# gÖ 1°× 1Ø$&¨'Ö$5°A×$5Ø$&¨'Ö$5°A×$5à $¬Ø$.Ø'.°¥{°qÕ&8õ%9à'.°¥{°qÕ&8õ%9ð (/°¥{õ%4ó)"õ !"¡ð ,0¯;©;°wÀÓ+H Ø+/¯;©;°wÀÓ+H à$&¨(Ö$6°Q×$6Ø(+¨wÖ(;¸×(;Ø(*¨hÖ(:¸×(:à$(¬BØ(2°gÀµlÕ(Có-&õ %& Dð %)¬B°¸1µÀÕ/BÀhÐQRÅlÕ/SÓ,TÕ$T¡Dà$(¬B¨z«NÕ$: DØ$(¬E°%¸µ)Ó,<Õ$<¡Dà ¤B z£NÕ2˜DØ ¤E¨%£LÕ0˜Dà',×$ôq ñ ðv �9�9ˆ9Ø—O‘OÓ%Õ%ˆDØ”Ð.Ó/Õ/ˆä�4‹y˜!œU 4›[Ð(Ð(r   )r=   r>   r‹   )r5   r6   r7   r8   Ú
_pushes_fdr=   rx   r>   r‹   rŒ   r”   r«   r:   r   r   r   r†   r†   –   s9   ‡ Ø€JØ8<€OÐ5Ó<ØDFÐÐAÓFØ€Dõõ
÷I)ñ I)r   r†   r#   z.qoi)Ú
__future__r   Ú__lazy_modules__r+   r   r   Ú r   r   Ú_binaryr   r'   r	   r
   r‚   r   r   Ú	PyDecoderr<   r„   Ú	PyEncoderr†   Úregister_openr   Úregister_decoderÚregister_extensionÚregister_saveÚregister_encoderr   r   r   Ú<module>r¹      sÖ   ðõ #à! 8Ð,Ð ã 	Ý ç Ý !Ý Ý !õ&ôR�9×&Ñ&ô Rô&S�×$Ñ$ô SõlHô(Z)�×$Ñ$ô Z)ðz × Ò �L×'Ñ'¨°wÔ ?Ø × Ò �u˜jÔ )Ø × Ò ˜×,Ñ,¨fÔ 5à × Ò �L×'Ñ'¨Ô /Ø × Ò �u˜jÖ )r   