
    hh#                    &   S SK Jr  S SKrS SKJr  S SKJr  SSKJrJ	r	J
r
   SSKJr  SrS
rS rSS jrSS jrSS jr " S S\
R                  5      rSS jr S         SS jjr\	R,                  " \R.                  \\5        \(       aw  \	R0                  " \R.                  \5        \	R2                  " \R.                  \5        \	R4                  " \R.                  SS/5        \	R6                  " \R.                  S5        gg! \ a    S	r Nf = f)    )annotationsN)BytesIO)IO   )ExifTagsImage	ImageFile)_avifTFautoc                    [         R                  " 5       nUR                  S5       HC  nUR                  S5      S   U :X  d  M  UR                  S5      S   R                  S5      S   s  $    g )Nz, z [r   : )r
   codec_versionssplit)
codec_nameversionsversions      E/var/www/html/env/lib/python3.13/site-packages/PIL/AvifImagePlugin.pyget_codec_versionr      sb    ##%H>>$'==q!Z/==%b)//4Q77 (     c                J    U SS S:w  a  gU SS nUS;   a  [         (       d   ggg)	N      s   ftypF   )s   avifs   aviss   mif1s   msf1zEimage file could not be identified because AVIF support not installedT)	SUPPORTED)prefixmajor_brands     r   _acceptr      sB    a{g2,K   yW r   c                     [         (       a  [         $ [        [        S5      (       a  [        [        R                  " S5      5      $ [        R
                  " 5       =(       d    S$ )Nsched_getaffinityr   r   )DEFAULT_MAX_THREADShasattroslenr!   	cpu_count r   r   _get_default_max_threadsr(   9   sC    ""r&''2''*++||~""r   c                  `   ^  \ rS rSrSrSrSrSS jrSS jrSU 4S jjr	SS jr
SS	 jrS
rU =r$ )AvifImageFileB   AVIFz
AVIF imager   c                x   [         (       d  Sn[        U5      e[        S:w  a,  [        R                  " [        5      (       d  Sn[        U5      e[        R                  " U R                  R                  5       [        [        5       5      U l
        U R                  R                  5       u  U l        U l        U l        p#pEU R                  S:  U l        U(       a  X R                   S'   U(       a  XPR                   S'   US:w  d  U(       a  ["        R$                  " 5       nU(       a<  UR'                  U5        UR)                  [*        R,                  R.                  S5      nOSnXG:w  a,  XF[*        R,                  R.                  '   UR1                  5       nU(       a  X0R                   S'   U R3                  S5        g )	NzAimage file could not be opened because AVIF support not installedr   zInvalid opening codecr   icc_profilexmpexifr   )r   SyntaxErrorDECODE_CODEC_CHOICEr
   decoder_codec_available
ValueErrorAvifDecoderfpreadr(   _decoderget_info_sizen_frames_modeis_animatedinfor   Exifloadgetr   BaseOrientationtobytesseek)selfmsgiccr0   exif_orientationr/   	exif_dataoriginal_orientations           r   _openAvifImageFile._openG   sM   yUCc""&(1N1N2
 2
 *CS/!))GGLLN$&
 MM""$ 	P
DM4:s:J  ==1,'*IIm$"IIeq D

It$'0}}X]]5N5NPQ'R$'($77G(--334 ((* $IIf		!r   c                    U R                  U5      (       d  g Xl        [        R                  " SSU R                  -   SU R
                  5      /U l        g )Nraw)r   r   r   )_seek_check_AvifImageFile__framer	   _Tilesizemodetile)rF   frames     r   rE   AvifImageFile.seekp   sC    && __UFTYY,>499MN	r   c                  > U R                   (       a  U R                  R                  U R                  5      u  pp4[	        SX2-  -  5      U R
                  S'   [	        SXB-  -  5      U R
                  S'   U R                  (       a+  U R                  (       a  U R                  R                  5         [        U5      U l        [        TU ]-  5       $ )Ni  	timestampduration)rU   r8   	get_framerQ   roundr>   r6   _exclusive_fpcloser   superr@   )rF   data	timescalepts_in_timescalesduration_in_timescales	__class__s        r   r@   AvifImageFile.loadx   s    99 ''5 GD. &+43D3P+Q%RDIIk"$)$2H2T*U$VDIIj!ww4--dmDGw|~r   c                    g Nr'   )rF   poss     r   	load_seekAvifImageFile.load_seek   s    r   c                    U R                   $ rg   )rQ   )rF   s    r   tellAvifImageFile.tell   s    ||r   )__framer8   r<   r:   r6   r=   r;   rU   )returnNone)rV   intro   rp   )ro   zImage.core.PixelAccess | None)rh   rq   ro   rp   ro   rq   )__name__
__module____qualname____firstlineno__formatformat_descriptionrQ   rL   rE   r@   ri   rl   __static_attributes____classcell__)rd   s   @r   r*   r*   B   s3    F%G'RO r   r*   c                    [        XUSS9  g )NT)save_all)_save)imr6   filenames      r   	_save_allr      s    	"(T*r   c                >
   U R                   R                  5       nU(       a  [        UR                  S/ 5      5      nO/ nSnU /U-    H  nU[	        USS5      -  nM     UR                  SS5      n[        U[        5      (       a  US:  d  US:  a  Sn	[        U	5      eUR                  S	S5      n
UR                  S
S5      nUR                  SS5      nUR                  S[        5       5      nUR                  SS5      nUS:w  a(  [        R                  " U5      (       d  Sn	[        U	5      eUR                  SS5      nUR                  SS5      nUR                  SS5      n[        UR                  SS5      5      n[        UR                  SUUs=:H  =(       a    S:H  Os  5      5      nUR                  SU R                  R                  S5      5      nSnUR                  S5      =n(       a  [        U[        R                  5      (       a  UnO&[        R                  " 5       nUR                  U5        [         R"                  R$                  U;   aC  UR'                  [         R"                  R$                  5      nU(       a  UR)                  5       OSnO/[        U[        R                  5      (       a  UR)                  5       nUR                  S5      n[        U[*        5      (       a  UR-                  S5      nUR                  S5      nUbW  [        U[.        5      (       a  UR1                  5       n [3        U5      n[5        S U 5       5      nU(       a  S!n	[        U	5      e[        R8                  " U R:                  UUUUUUUUUUU=(       d    SU=(       d    SUU=(       d    SU5      nSnSnU R=                  5       nUS:H  n U /U-    H  n[	        USS5      n [?        U 5       H  n!URA                  U!5        Un"URB                  n#URB                  S";  a&  URD                  (       a  S#OS$n#URG                  U#5      n"[        U
[        [2        45      (       a  U
U   nOU
nURI                  U"R)                  S%U#5      UU"R:                  U#U5        US-  nU(       a  M    M     M     U RA                  U5        URK                  5       n$U$c  S&n	[M        U	5      eURO                  U$5        g ! [6         a    S n GNf = f! U RA                  U5        f = f)'Nappend_imagesr   r;   r   qualityK   d   zInvalid quality settingrZ   subsamplingz4:2:0speed   max_threadscodecr   zInvalid saving codecrangefull	tile_rows	tile_colsalpha_premultipliedF
autotilingr.   r0   r   r/   zutf-8advancedc              3  v   #    U  H/  n[        U[        5      (       + =(       d    [        U5      S :g  v   M1     g7f)   N)
isinstancetupler%   ).0vs     r   	<genexpr>_save.<locals>.<genexpr>   s*     T8ajE22Ac!fkA8s   79Tzcadvanced codec options must be a dict of key-value string pairs or a series of key-value two-tuples>   RGBRGBAr   r   rO   z1cannot write file as AVIF (encoder returned None))(encoderinfocopylistrA   getattrr   rq   r4   r(   r
   encoder_codec_availableboolr>   r   r?   r@   r   rB   rC   poprD   strencodedictitemsr   any	TypeErrorAvifEncoderrS   rl   r   rE   rT   has_transparency_dataconvertaddfinishOSErrorwrite)%r~   r6   r   r|   r>   r   totalimsr   rG   rZ   r   r   r   r   range_tile_rows_log2tile_cols_log2r   r   r.   rI   r0   rJ   r/   r   invalidenc	frame_idxframe_durationcur_idxis_single_framenfridxrV   rawmoder`   s%                                        r   r}   r}      su    >> DTXXor:;Etm#j!,, $ hhy"%Ggs##w{gm'oxx
A&H((='2KHHWa E((=*B*DEKHHWf%Eu<<UCC$oXXgv&FXXk1-NXXk1-Ntxx(=uEFdhh|^~-R-RQR-RSTJ((="''++m*DEKxxtdEJJ''I

INN4 ==$$	1(}}X]]-F-FG*39$$&Dejj))$$&D
((5/C#sjj!xx
#Hh%%~~'H	UXH T8TTG<  S/! 


s
s!C( INggiGqjO%4-'C#z1-CSz ((88?2(+(A(AfuGKK0E hu66%-i%8N%-N MM%1"JJ# Q	x; "	 (H 	 ::<D|AclHHTNc  	G	R 	s%   <S6 CT	 *	T	 6TT	Tz.avifz.avifsz
image/avif)r   r   ro   z
str | None)r   bytesro   z
bool | strrr   )r~   Image.Imager6   	IO[bytes]r   str | bytesro   rp   )F)
r~   r   r6   r   r   r   r|   r   ro   rp   )
__future__r   r$   ior   typingr    r   r   r	   r
   r   ImportErrorr2   r"   r   r   r(   r*   r   r}   register_openrw   register_saveregister_save_allregister_extensionsregister_mimer'   r   r   <module>r      s,   " 	   ( (I   4#II'' IX+
 MRJJ"J.9JEIJ	JZ   M((- A	,,e4	M00)<	m22Wh4GH	,,l;	 g  Is   D DD