+
    UBiB                       ^ RI Ht ^ RIt^ RIt^ RIHtHtHt ^RIH	t	H
t
HtHtHt ^RIHt ^RIHt R R ltR	 R
 lt ! R R]P(                  4      t]	P,                  ! ]P.                  ]4       ]	P0                  ! ]P.                  ]4       ]	P2                  ! ]P.                  R4       ]	P4                  ! ]P.                  R4       R# )    )annotationsN)IOAnycast)Image	ImageFileImageSequenceJpegImagePluginTiffImagePlugin)o32le)DeferredErrorc               (    V ^8  d   QhRRRRRRRR/# 	   imzImage.Imagefpz	IO[bytes]filenamezstr | bytesreturnNone )formats   "7/usr/lib/python3.14/site-packages/PIL/MpoImagePlugin.py__annotate__r   %   s(     , ,k ,y ,K ,D ,    c                4    \         P                  ! WV4       R # N)r
   _save)r   r   r   s   &&&r   r   r   %   s    "(+r   c               (    V ^8  d   QhRRRRRRRR/# r   r   )r   s   "r   r   r   )   s(     7 7+ 79 7 7 7r   c           
        V P                   P                  R . 4      pV'       g"   \        V RR4      '       g   \        WV4       R# ^p. pV .VOp\	        R V 4       4      pV EF  p\
        P                  ! V4       EFm  p	V'       Eg   ^B^V,          ,           p
R\        P                  ! R^V
,           4      ,           R,           RV
,          ,           V	P                   R	&   V	P                   P                  R
4      p\        V\        P                  4      '       d   VP                  4       pWP                   R
&   V'       d   V^\        V4      ,           ,          p\        P                  ! WV4       VP                  VP!                  4       4       EK  V	P#                  V 4      pV	P%                  VR4       Wn         VP                  VP!                  4       VR,          ,
          4       EKp  	  EK  	  \&        P(                  ! 4       pRVR&   \        V4      VR&   Rp^ p\+        V4       FL  w  ppV^ 8X  d   RpM^ pV\        P                  ! RVVV^ ^ 4      ,          pV^ 8X  d	   W,          pVV,          pKN  	  WR&   VP-                  V4       VP/                  R\1        ^4      ,           VP                  ^4      ,           4       VP-                  ^ \2        P4                  4       R# )append_imagesis_animatedFNc              3  <   "   T F  p\        VR ^4      x  K  	  R# 5i)n_framesN)getattr).0seqs   & r   	<genexpr>_save_all.<locals>.<genexpr>2   s     D|Z++|s   s   z>Hs   MPF     extraexifJPEGs   0100i     r   i   z<LLLHH  s   II* )encoderinfogetr$   r   sumr	   Iteratorstructpack
isinstancer   Exiftobyteslenr
   appendtell_attach_default_encoderinfosaver   ImageFileDirectory_v2	enumerateseekwriter   osSEEK_END)r   r   r   r    
mpf_offsetoffsetsim_sequencestotalim_sequenceim_frame
ifd_lengthr+   r0   ifd	mpentriesdata_offsetisizemptypes   &&&                r   	_save_allrQ   )   sZ   NN&&;M]E!B!BbhJG''LD|DDE#%..{;H7"u*_
kk$J78 Z'( $$W-  ++//7dEJJ//<<>D37((0!c$i-/J%%hH=rwwy)&BB2Fb&)'2$rwwy72;67/ < $4 
/
/
1CCKg,CKIKW%46FFV[[64aKK	6%Kt & KGGJHH]U1X%A67GGAr{{r   c                  |    ] tR t^gtRtRtRtR R ltRR R lltR	 R
 lt	R R lt
R R lt]RR R ll4       tRtR# )MpoImageFileMPOzMPO (CIPA DC-007)Fc                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   MpoImageFile.__annotate__l   s        t  r   c                	    V P                   P                  ^ 4       \        P                  P	                  V 4       V P                  4        R# )r   N)r   r@   r
   JpegImageFile_open_after_jpeg_openselfs   &r   rY   MpoImageFile._openl   s1    Q%%++D1r   Nc                    V ^8  d   QhRRRR/# )r   mpheaderdict[int, Any] | Noner   r   r   )r   s   "r   r   rV   q   s      )> $ r   c                	   Ve   TMV P                  4       V n        V P                  f   Rp\        V4      hV P                  R,          V n        V P                  R,           Uu. uF#  q3R,          V P                  R,          ,           NK%  	  upV n        ^ V P
                  ^ &   V P                  \        V P
                  4      8X  g   Q hV P                  R V P                  ^8  V n        V P                  V n	        V P                  P                  V P
                  ^ ,          4       ^ V n        ^ V n        ^V n        R # u upi )Nz(Image appears to be a malformed MPO filer-   r.   
DataOffsetmpoffset)_getmpmpinfo
ValueErrorr#   info_MpoImageFile__mpoffsetsr9   r!   r   _fpr@   _MpoImageFile__frameoffsetreadonly)r\   r_   msgmpents   &&  r   rZ   MpoImageFile._after_jpeg_openq   s   "*"6hDKKM;;<CS/!F+EI[[QWEX
EXE,$))J"777EX
   }}D$4$4 5555IIj!==1,77d&&q)*
s   $)D?c                    V ^8  d   QhRRRR/# )r   posintr   r   r   )r   s   "r   r   rV      s      S T r   c                	    \        V P                  \        4      '       d   V P                  P                  hV P                  P	                  V4       R # r   )r6   ri   r   exr@   )r\   rq   s   &&r   	load_seekMpoImageFile.load_seek   s1    dhh..((++cr   c                    V ^8  d   QhRRRR/# )r   framerr   r   r   r   )r   s   "r   r   rV      s      # $ r   c                	   V P                  V4      '       g   R # \        V P                  \        4      '       d   V P                  P                  hV P                  V n        V P                  V,          V n        V P                  P                  R4      pRV P                  9   d   V P                  R V P
                  P                  V P                  ^,           4       V P
                  P                  ^4      '       g   Rp\        V4      hV P
                  P                  V P                  4       \        P                  P                  V 4       V P                  P                  R4      V8w  d   V P!                  4        \"        P$                  ! RRV P&                  ,           V P                  V P(                  ^ ,          R,          4      .V n        Wn        R # )Nr+   zNo data found for framejpeg)r   r   r/   )_seek_checkr6   ri   r   rt   r   rh   rk   rg   r1   r@   readrf   r
   rX   rY   _reload_exifr   _TilerO   tilerj   )r\   rx   original_exifrm   s   &&  r   r@   MpoImageFile.seek   s<   &&dhh..((++((&&u-		f-TYY		&!T[[1_%ww||A+CS/!T[[!%%++D199== M1 OOFFTYY$6TYYq\RTEUV
	 r   c                   V ^8  d   QhRR/# )r   r   rr   r   )r   s   "r   r   rV      s      c r   c                	    V P                   # r   )rj   r[   s   &r   r;   MpoImageFile.tell   s    ||r   c               $    V ^8  d   QhRRRRRR/# )r   jpeg_instancezJpegImagePlugin.JpegImageFiler_   r`   r   rS   r   )r   s   "r   r   rV      s&      4' 
r   c                ^    \         V n        \        \         V 4      pVP                  V4       V# )a  
Transform the instance of JpegImageFile into
an instance of MpoImageFile.
After the call, the JpegImageFile is extended
to be an MpoImageFile.

This is essentially useful when opening a JPEG
file that reveals itself as an MPO, to avoid
double call to _open.
)rS   	__class__r   rZ   )r   r_   mpo_instances   && r   adoptMpoImageFile.adopt   s,     #/L-8%%h/r   )
__frame__mpoffsetsri   r   r!   re   r#   rk   rl   r   r   )__name__
__module____qualname____firstlineno__r   format_description!_close_exclusive_fp_after_loadingrY   rZ   ru   r@   r;   staticmethodr   __static_attributes__r   r   r   rS   rS   g   s@    F,(-% 
,
4  r   rS   z.mpoz	image/mpo)
__future__r   rB   r4   typingr   r   r    r   r   r	   r
   r   _binaryr   _utilr   r   rQ   rX   rS   register_saver   register_save_allregister_extensionregister_mimer   r   r   <module>r      s   ( # 	         ,7|T?00 T|   L'' /   ++Y 7   ,,f 5   L'' 5r   