
    
3j                     Z    S SK r S rS rS rS rS rS rS rS	 rS
 r	S r
S rS rS rg)    Nc                    U SS S:w  d	  U SS S:w  a  [        S5      eU SS n[        R                  " SU5      S   nSnX2-   nSnUnSnSn/ n	Xg-   U-   U:  aj  XXg-    n
Xg-  nXXh-    n[        R                  " SU5      S   nXh-  nXXl-    nU	R                  XUS	.5        US
-  (       a  SOSnXlU-   -  nXg-   U-   U:  a  Mj  U	$ )Nr         RIFF         WEBPNot WebP<Lfourcclength_bytesdata      )
ValueErrorstructunpackappend)r   webp_length_byteswebp_lengthRIFF_HEADER_SIZE	file_sizestartpointerCHUNK_FOURCC_LENGTHLENGTH_BYTES_LENGTHchunksr   chunk_length_byteschunk_length
chunk_datapaddings                  F/home/wildlama/miniconda3/lib/python3.13/site-packages/piexif/_webp.pysplitr#      s   AayGtAbzW4$$Qq	--&78;K .IEGF

'*=
=	
Ig;<&!'*GH}}T+=>qA&'"89
R\]^#a'!Q')) 
'*=
=	
I M    c           
          SR                  U  Vs/ s H)  nUS   US   -   US   -   [        US   5      S-  S-  -   PM+     sn5      nU$ s  snf )Nr$   r   r   r   r       )joinlen)r   chunkmergeds      r"   merge_chunksr+   #   sw    XX &,	- &,E	 X~./v' eFm,q0G;< &,	- .F
 M-s   0A	c                     U S   SS S-   n[         R                  " SU5      S   nUS-   nU S   SS  S-   n[         R                  " SU5      S   nUS-   nX64$ )Nr   ir&   r
   r   r   r   r   r)   width_minus_one_byteswidth_minus_onewidthheight_minus_one_bytesheight_minus_oneheights          r"   _get_size_from_vp8xr6   ,   sw    !&M"R07:mmD*?@COaE"6]23/'9}}T+AB1E!F?r$   c                    SnU S   R                  U5      nUS:X  a  [        S5        g [        U5      nSnX#-   nU S   XUU-    n[        R                  " SU5      S   nU S   XT-   USU-  -    n[        R                  " SU5      S   n	Xy4$ )Ns   *r   z	wrong VP8r   z<Hr   )findr   r(   r   r   )
r)   
BEGIN_CODEbegin_indexBEGIN_CODE_LENGTHr   length_startwidth_bytesr2   height_bytesr5   s
             r"   _get_size_from_vp8r@   5   s     J-$$Z0Kb;
O"6FmL@S1STdK03V}\%GWX[nWnHnot\215r$   c                 J    [        U SS 5      S-	  [        S5      -  nSU-  nU$ )Nr         r   ord)r    flagcontainss      r"   _vp8L_contains_alpharH   D   s.    z!A3&W5D4xHOr$   c                 0   U S   SS nU S   SS nU S   SS nU S   SS n[        U5      [        S5      -  S-  [        U5      -  nUS-   n[        U5      [        S	5      -  S
-  [        U5      S-  -  [        U5      [        S5      -  S-	  -  nUS-   nXh4$ )Nr   r   r      r   rB      ?r      
         rD   )	r)   b1b2b3b4r1   r2   r4   r5   s	            r"   _get_size_from_vp8LrT   I   s    	vq	B	vq	B	vq	B	vq	B2wW-!3c"g=OaEB#g,.25B1DBRUV]R^H^cdGdd!F?r$   c                     U S   SS S-   n[         R                  " SU5      S   nUS-   nU S   SS S-   n[         R                  " SU5      S   nUS-   nX64$ )	Nr   rO   	   r&   r
   r   r   r   r.   r/   s          r"   _get_size_from_anmfrW   W   sw    !&M!A.8mmD*?@COaE"6]1R07:}}T+AB1E!F?r$   c                     S nS n/ SQnU  H  nUS   S:X  a  [        U5      u  pM  US   S:X  a  [        U5      u  pM3  US   S:X  a)  [        US   5      nU(       a  SUS'   [        U5      u  pMe  US   S	:X  a  [	        U5      u  pM}  US   S
:X  a  SUS'   M  US   S:X  a  SUS'   M  US   S:X  a  SUS'   M  US   S:X  a  SUS'   M  US   S:X  d  M  SUS'   M     US-
  nUS-
  nU S   S   S:X  a  U R                  S5        SnSn	[        R                  " S[        SR                  U5      S5      5      n
Sn[        R                  " SU5      S S n[        R                  " SU5      S S nX-   U-   U-   nXUS.nU R                  SU5        U $ )N)   0rY   rY   rY   rY   rY   rY   rY   r      VP8Xs   VP8 s   VP8Lr      1rJ   s   ANMFs   ICCPr   s   ALPH   EXIFr      XMP rB      ANIMrO   r   r   s   
   Br$   s      r
   r   )r6   r@   rH   rT   rW   popr   packintr'   insert)r   r2   r5   flagsr)   is_rgbar1   r4   header_bytesr   flags_bytespadding_bytesr>   r?   
data_bytes
vp8x_chunks                   r"   set_vp8xrk   `   s   EF<E?g%/6ME68_'.u5ME68_'*5=9Ga/6ME68_'/6ME68_'E!H8_'E!H8_'E!H8_'E!H8_'E!H+ , aiOzayg%

1L&L++c3sxx#:;K#M++dO4Ra8K;;t%56r:L,{:\IJ'ZXJ
MM!Z Mr$   c                     SnSnSnUnU  H:  n[         R                  " SUS   5      S   nXfS-  (       a  SOS-  nXBU-   U-   -  nM<     [         R                  " SU5      nSnSn	X-   U	-   n
U
$ )	Nr   r
   r   r   r   r   r   r   )r   r   ra   )r   WEBP_HEADER_LENGTHFOURCC_LENGTHr   lengthr)   data_lengthr   riffwebp_headerfile_headers              r"   get_file_headerrt      s    MFmmD%*?@C!Oq2"55CC  ;;tV,LDK%3Kr$   c                 z   U SS S:w  d	  U SS S:w  a  [        S5      eU SS S	:w  a  [        S
5      eU SS n[        R                  " SU5      S   nSnX2-   nSnUnSnSn/ n	Sn
Xd:  aT  XXg-    nXg-  nXXh-    n[        R                  " SU5      S   nUS-  (       a  US-  nXh-  nUS:X  a  XXm-    $ Xm-  nXd:  a  MT  g )Nr   r   r   r   r   r   r	      rZ   zdoesnot have exifr
   r$   r   r   r\   )r   r   r   )r   r   r   r   r   r   r   r   r   r   exifr   r   r   s                 r"   get_exifrx      s   AayGtAbzW4$$Br{g,--Qq	--&78;K .IEGFD

g;<&!'*GH}}T+=>qA!AL&W 677 
 r$   c                    Sn[         R                  " S[        U5      5      nX#US.nS nS n[        U 5       H!  u  pxUS   S:X  d  M  U R	                  U5        M#     [        U 5       H  u  pxUS   S:X  a  UnM  US   S:X  d  M  UnM!     Ub  U R                  XT5        U $ Ub  U R                  Xd5        U $ U R                  U5        U $ )Nr\   r
   r   r   r]   r^   )r   ra   r(   	enumerater`   rc   r   )	r   
exif_bytesEXIF_HEADERexif_length_bytes
exif_chunk	xmp_indexanimation_indexindexr)   s	            r"   insert_exif_into_chunksr      s    KD#j/:&Q[\JIO!&)?g%JJu * "&)?g%I8_'#O	 *
 i,
 M	 
	$o2 M 	j!Mr$   c                 |    [        U 5      n[        X!5      n[        U5      n[        U5      n[	        U5      nX4-   nU$ )N)r#   r   rk   rt   r+   )
webp_bytesr{   r   rs   r*   new_webp_bytess         r"   rc   rc      sB    :F$V8FfF!&)K&!F )Nr$   c                     [        U 5      n[        U5       H!  u  p#US   S:X  d  M  UR                  U5        M#     [        U5      n[	        U5      n[        U5      nXE-   nU$ )Nr   r\   )r#   rz   r`   rk   rt   r+   )r   r   r   r)   rs   r*   r   s          r"   remover      sc    :F!&)?g%JJu * fF!&)K&!F )Nr$   )r   r#   r+   r6   r@   rH   rT   rW   rk   rt   rx   r   rc   r    r$   r"   <module>r      sK    <
.`$B4	r$   