
    <g9)                         d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dlm	Z
 d dlmZ  ee
       ed      k  r ede
z         G d d	e      Zy)
    N)Enum)BytesIOKaitaiStreamKaitaiStruct)__version__)parse_versionz0.7zPIncompatible Kaitai Struct Python API: 0.7 or later is required, but you have %sc                   H   e Zd Z G d de      Z G d de      ZddZ G d de      Z G d	 d
e      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Zy) Gifc                       e Zd ZdZdZdZy)Gif.BlockType!   ,   ;   N)__name__
__module____qualname__	extensionlocal_image_descriptorend_of_file     n/var/www/html/myenv/lib/python3.12/site-packages/seleniumwire/thirdparty/mitmproxy/contrib/kaitaistruct/gif.py	BlockTyper      s    	!#r   r   c                       e Zd ZdZdZdZy)Gif.ExtensionLabel         N)r   r   r   graphic_controlcommentapplicationr   r   r   ExtensionLabelr      s    r   r"   Nc                 t   || _         || _        |r|n| | _        | j                  j                  | j                   | | j                        | _        | j                  j                  | j                   | | j                        | _        | j                  j                  r| j                   j                  | j                  j                  dz        | _
        t        t        | j                              }| j                  j                  || | j                        | _        g | _        	 | j                  j!                  | j                   | | j                        }| j                  j#                  |       | j                   j%                         s-|j&                  | j                  j(                  j*                  k(  ry N   )_io_parent_rootHeaderhdrLogicalScreenDescriptorStructlogical_screen_descriptorhas_color_table
read_bytescolor_table_size_raw_global_color_tabler   r   
ColorTableglobal_color_tableblocksBlockappendis_eof
block_typer   r   )selfr&   r'   r(   io_s         r   __init__zGif.__init__   s@   #U
::$$TXXtTZZ@)-)Q)QRVRZRZ\`bfblbl)m&))99+/88+>+>@^@^@o@ors@s+uD(gd&B&BCDB&*jj&;&;Bdjj&QD#

  4<AKKq!((//#9M9M9Y9Y)Y	 r   c                       e Zd ZddZy)Gif.ImageDataNc                     || _         || _        |r|n| | _        | j                   j                         | _        | j                  j                  | j                   | | j                        | _        y N)r&   r'   r(   read_u1lzw_min_code_size	Subblocks	subblocksr8   r&   r'   r(   s       r   r;   zGif.ImageData.__init__-   sR    DH"DL"'TDJ%)XX%5%5%7D"!ZZ11$((D$**MDNr   NNr   r   r   r;   r   r   r   	ImageDatar=   ,   s    	Nr   rG   c                       e Zd ZddZy)Gif.ColorTableEntryNc                     || _         || _        |r|n| | _        | j                   j                         | _        | j                   j                         | _        | j                   j                         | _        y r?   )r&   r'   r(   r@   redgreenbluerD   s       r   r;   zGif.ColorTableEntry.__init__6   sW    DH"DL"'TDJxx'')DH))+DJ((*DIr   rE   rF   r   r   r   ColorTableEntryrI   5   s    	+r   rN   c                   4    e Zd ZddZed        Zed        Zy)!Gif.LogicalScreenDescriptorStructNc                 l   || _         || _        |r|n| | _        | j                   j                         | _        | j                   j                         | _        | j                   j                         | _        | j                   j                         | _        | j                   j                         | _	        y r?   )
r&   r'   r(   	read_u2lescreen_widthscreen_heightr@   flagsbg_color_indexpixel_aspect_ratiorD   s       r   r;   z*Gif.LogicalScreenDescriptorStruct.__init__@   s    DH"DL"'TDJ $ 2 2 4D!%!3!3!5D))+DJ"&(("2"2"4D&*hh&6&6&8D#r   c                     t        | d      rt        | d      r| j                  S d S | j                  dz  dk7  | _        t        | d      r| j                  S d S N_m_has_color_table   r   hasattrrZ   rU   r8   s    r   r-   z1Gif.LogicalScreenDescriptorStruct.has_color_tableJ   [    t1229$@T2Ut.._[__'+zzC'7A&=D#.5d<P.Q4**[W[[r   c                     t        | d      rt        | d      r| j                  S d S d| j                  dz  z  | _        t        | d      r| j                  S d S N_m_color_table_size      r]   rb   rU   r^   s    r   r/   z2Gif.LogicalScreenDescriptorStruct.color_table_sizeR   Z    t233:4AV3Wt//a]aa()djj1n(=D$/6t=R/S4++]Y]]r   rE   )r   r   r   r;   propertyr-   r/   r   r   r   r+   rP   ?   s3    	9 
	\ 
	\ 
	^ 
	^r   r+   c                   T    e Zd ZddZed        Zed        Zed        Zed        Zy)Gif.LocalImageDescriptorNc                    || _         || _        |r|n| | _        | j                   j                         | _        | j                   j                         | _        | j                   j                         | _        | j                   j                         | _        | j                   j                         | _	        | j                  rw| j                   j                  | j                  dz        | _        t        t        | j                              }| j                  j!                  || | j                        | _        | j                  j%                  | j                   | | j                        | _        y r$   )r&   r'   r(   rR   lefttopwidthheightr@   rU   r-   r.   r/   _raw_local_color_tabler   r   r1   local_color_tablerG   
image_data)r8   r&   r'   r(   r9   s        r   r;   z!Gif.LocalImageDescriptor.__init__\   s   DH"DL"'TDJ**,DIxx))+DH++-DJ((,,.DK))+DJ##.2hh.A.A4CXCX[\C\.^+!'$*E*E"FG)-)>)>r4)T&"jj22488T4::NDOr   c                     t        | d      rt        | d      r| j                  S d S | j                  dz  dk7  | _        t        | d      r| j                  S d S rY   r\   r^   s    r   r-   z(Gif.LocalImageDescriptor.has_color_tablel   r_   r   c                     t        | d      rt        | d      r| j                  S d S | j                  dz  dk7  | _        t        | d      r| j                  S d S )N_m_has_interlace@   r   )r]   rt   rU   r^   s    r   has_interlacez&Gif.LocalImageDescriptor.has_interlacet   sZ    t/007>P0Qt,,[W[[%)ZZ"_$:D!,3D:L,M4((WSWWr   c                     t        | d      rt        | d      r| j                  S d S | j                  dz  dk7  | _        t        | d      r| j                  S d S )N_m_has_sorted_color_table    r   )r]   rx   rU   r^   s    r   has_sorted_color_tablez/Gif.LocalImageDescriptor.has_sorted_color_table|   sZ    t899@Gb9ct55mimm.2jj2o!-CD*5<TC^5_411ieiir   c                     t        | d      rt        | d      r| j                  S d S d| j                  dz  z  | _        t        | d      r| j                  S d S ra   re   r^   s    r   r/   z)Gif.LocalImageDescriptor.color_table_size   rf   r   rE   )	r   r   r   r;   rg   r-   rv   rz   r/   r   r   r   LocalImageDescriptorri   [   s`    	O  
	\ 
	\ 
	X 
	X 
	j 
	j 
	^ 
	^r   r|   c                       e Zd ZddZy)	Gif.BlockNc                 &   || _         || _        |r|n| | _        | j                  j                  | j                   j	                               | _        | j
                  }|| j                  j                  j                  k(  r7| j                  j                  | j                   | | j                        | _        y || j                  j                  j                  k(  r7| j                  j                  | j                   | | j                        | _        y y r?   )r&   r'   r(   r   r@   r7   r   	Extensionbodyr   r|   r8   r&   r'   r(   _ons        r   r;   zGif.Block.__init__   s    DH"DL"'TDJ"jj224883C3C3EFDO//Cdjj**444 JJ004L	

,,CCC JJ;;DHHdDJJW	 Dr   rE   rF   r   r   r   r4   r~      s    		Xr   r4   c                       e Zd ZddZy)Gif.ColorTableNc                 D   || _         || _        |r|n| | _        g | _        | j                   j	                         sf| j                  j                  | j                  j                  | j                   | | j                               | j                   j	                         sey y r?   )r&   r'   r(   entriesr6   r5   rN   rD   s       r   r;   zGif.ColorTable.__init__   sm    DH"DL"'TDJDLhhoo'##DJJ$>$>txxtzz$Z[ hhoo'r   rE   rF   r   r   r   r1   r      s    	\r   r1   c                       e Zd ZddZy)
Gif.HeaderNc                     || _         || _        |r|n| | _        | j                   j                  t	        j
                  dddd            | _        | j                   j                  d      j                  d      | _	        y )N3bG   I   F   r%   ASCII)
r&   r'   r(   ensure_fixed_contentsstructpackmagicr.   decodeversionrD   s       r   r;   zGif.Header.__init__   sb    DH"DL"'TDJ77D"bRT8UVDJ HH//2::8DDLr   rE   rF   r   r   r   r)   r      s    	Er   r)   c                   4    e Zd ZddZed        Zed        Zy)Gif.ExtGraphicControlNc                    || _         || _        |r|n| | _        | j                   j                  t	        j
                  dd            | _        | j                   j                         | _        | j                   j                         | _
        | j                   j                         | _        | j                   j                  t	        j
                  dd            | _        y )N1b   r   )r&   r'   r(   r   r   r   
block_sizer@   rU   rR   
delay_timetransparent_idx
terminatorrD   s       r   r;   zGif.ExtGraphicControl.__init__   s    DH"DL"'TDJ"hh<<V[[q=QRDO))+DJ"hh002DO#'88#3#3#5D "hh<<V[[q=QRDOr   c                     t        | d      rt        | d      r| j                  S d S | j                  dz  dk7  | _        t        | d      r| j                  S d S )N_m_transparent_color_flag   r   )r]   r   rU   r^   s    r   transparent_color_flagz,Gif.ExtGraphicControl.transparent_color_flag   sZ    t899@Gb9ct55mimm.2jj1n-BD*5<TC^5_411ieiir   c                     t        | d      rt        | d      r| j                  S d S | j                  dz  dk7  | _        t        | d      r| j                  S d S )N_m_user_input_flagrc   r   )r]   r   rU   r^   s    r   user_input_flagz%Gif.ExtGraphicControl.user_input_flag   sZ    t1229$@T2Ut.._[__'+zzA~!&;D#.5d<P.Q4**[W[[r   rE   )r   r   r   r;   rg   r   r   r   r   r   ExtGraphicControlr      s4    	S 
	j 
	j 
	\ 
	\r   r   c                       e Zd ZddZy)Gif.SubblockNc                     || _         || _        |r|n| | _        | j                   j                         | _        | j                   j                  | j                        | _        y r?   )r&   r'   r(   r@   	num_bytesr.   bytesrD   s       r   r;   zGif.Subblock.__init__   sI    DH"DL"'TDJ!XX--/DN,,T^^<DJr   rE   rF   r   r   r   Subblockr      s    	=r   r   c                       e Zd ZddZy)Gif.ExtApplicationNc                 j   || _         || _        |r|n| | _        | j                  j                  | j                   | | j                        | _        g | _        	 | j                  j                  | j                   | | j                        }| j
                  j                  |       |j                  dk(  ry ]Nr   )r&   r'   r(   r   application_idrC   r5   r   r8   r&   r'   r(   r:   s        r   r;   zGif.ExtApplication.__init__   s    DH"DL"'TDJ"&**"5"5dhhdjj"QDDNJJ''$

C%%a(;;!#	 r   rE   rF   r   r   r   ExtApplicationr      s    
	r   r   c                       e Zd ZddZy)Gif.SubblocksNc                     || _         || _        |r|n| | _        g | _        	 | j                  j	                  | j                   | | j                        }| j                  j                  |       |j                  dk(  ry ]r   )r&   r'   r(   r   r   r5   r   r   s        r   r;   zGif.Subblocks.__init__   sk    DH"DL"'TDJDLJJ''$

C##A&;;!#	 r   rE   rF   r   r   r   rB   r      s    		r   rB   c                       e Zd ZddZy)Gif.ExtensionNc                 F   || _         || _        |r|n| | _        | j                  j                  | j                   j	                               | _        | j
                  }|| j                  j                  j                  k(  r7| j                  j                  | j                   | | j                        | _        y || j                  j                  j                  k(  r7| j                  j                  | j                   | | j                        | _        y || j                  j                  j                  k(  r7| j                  j                  | j                   | | j                        | _        y | j                  j                  | j                   | | j                        | _        y r?   )r&   r'   r(   r"   r@   labelr!   r   r   r    rB   r   r   r   s        r   r;   zGif.Extension.__init__   s   DH"DL"'TDJ224883C3C3EFDJ**Cdjj//;;; JJ55dhhdjjQ	

11999 JJ004L	

11AAA JJ884T	 JJ004L	r   rE   rF   r   r   r   r   r      s    	Mr   r   rE   )r   r   r   r   r   r"   r;   r   rG   rN   r+   r|   r4   r1   r)   r   r   r   rB   r   r   r   r   r
   r
      s    D 
 $NL N+, +^ ^8/^| /^d
X 
X\\ \E E\L \8=< = 
L 
ML Mr   r
   )arrayr   zlibenumr   kaitaistructr   r   r   r   
ks_versionpkg_resourcesr   	Exceptionr
   r   r   r   <module>r      sS        < < 2 '}U33
fjtu
vvmM, mMr   