
    ,hΚ                       d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ e G d	 d
             Ze G d d             Ze G d d             Ze G d d             Ze G d d             Z G d dej$                        Ze G d d             Ze G d d             Z G d dej$                        Ze G d d             Ze G d d             Ze G d d              Ze G d! d"             Ze G d# d$             Z G d% d&ej$                        Z G d' d(ej$                        Ze G d) d*             Z G d+ d,ej$                        ZdWd-Z dXd.Z!dXd/Z"dXd0Z#	 	 	 	 dYd1Z$	 dZ	 	 	 d[d2Z%	 	 	 	 d\d3Z&	 dZ	 	 	 d]d4Z'	 	 	 	 d^d5Z(	 	 	 	 	 	 	 	 	 	 d_	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d`d6Z)	 	 	 	 dad7Z*dXd8Z+	 	 	 	 dbd9Z,dXd:Z-	 	 	 	 dcd;Z.	 	 	 	 ddd<Z/	 dZ	 	 	 	 	 ded=Z0	 	 df	 	 	 	 	 dgd>Z1	 	 	 	 dhd?Z2	 	 	 di	 	 	 	 	 	 	 djd@Z3	 	 	 	 dkdAZ4	 dZ	 	 	 	 	 	 	 dldBZ5	 	 	 	 	 	 dmdCZ6	 dZ	 	 	 	 	 	 	 dndDZ7	 	 	 	 	 	 dodEZ8	 	 	 	 	 	 dpdFZ9dXdGZ:	 	 	 	 dqdHZ;	 	 	 	 drdIZ<	 	 	 	 dsdJZ=	 dZ	 	 	 	 	 dtdKZ>	 	 	 di	 	 	 	 	 	 	 	 	 dudLZ?	 dZ	 	 	 dvdMZ@	 	 	 	 dwdNZA	 	 	 	 	 	 dxdOZB	 	 	 	 dydPZC	 	 	 	 dzdQZD	 	 	 di	 	 	 	 	 	 	 	 	 d{dRZE	 	 	 	 dYdSZF edT      e G dU dV                    ZGy)|    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)pagec                      e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded<   dZ	ded<   dZ
ded	<   dZded
<   d Zed        Zy)SafeAreaInsetsNtyping.Optional[int]toptop_maxleftleft_maxbottom
bottom_maxright	right_maxc                   t               }| j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j
                  | j
                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )	Nr   topMaxr   leftMaxr   	bottomMaxr   rightMax)	dictr   r   r   r   r   r   r   r   selfjsons     s/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v136/emulation.pyto_jsonzSafeAreaInsets.to_json+   s    v88((DK<<#!\\DN99 99DL==$"mmDO;;"![[DN??& $D::! JJDM>>%#~~D    c                L    | d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         	      S d 	      S )
Nr   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )intclsr   s     r   	from_jsonzSafeAreaInsets.from_json?   s    $)TMDK t+3t+;CX'&,nT&\"$-6$->Si)D*2d*:3tH~&1<1Ds4,-$(/4#d7m$T/9T/Ac$z*+	
 		
 HL	
 		
r!   )__name__
__module____qualname__r   __annotations__r   r   r   r   r   r   r   r    classmethodr&    r!   r   r   r      s     !%C	$ %)G!( "&D
% &*H") $(F ' (,J$+ #'E& '+I#*( 

 

r!   r   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	ScreenOrientationz
    Screen orientation.
    strtype_r#   anglec                V    t               }| j                  |d<   | j                  |d<   |S )Ntyper1   )r   r0   r1   r   s     r   r    zScreenOrientation.to_jsonX   s(    vzzV

Wr!   c                F     | t        |d         t        |d               S )Nr3   r1   )r0   r1   r/   r#   r$   s     r   r&   zScreenOrientation.from_json^   s'    d6l#d7m$
 	
r!   Nr'   r(   r)   __doc__r*   r    r+   r&   r,   r!   r   r.   r.   M   s.     J J 
 
r!   r.   c                  B    e Zd ZU ded<   ded<   ded<   d Zed        Zy)	DisplayFeaturer/   orientationr#   offsetmask_lengthc                t    t               }| j                  |d<   | j                  |d<   | j                  |d<   |S )Nr:   r;   
maskLength)r   r:   r;   r<   r   s     r   r    zDisplayFeature.to_jsont   s;    v"..]X!--\r!   c                `     | t        |d         t        |d         t        |d               S )Nr:   r;   r>   )r:   r;   r<   r5   r$   s     r   r&   zDisplayFeature.from_json{   s5    D/0tH~&D./
 	
r!   Nr'   r(   r)   r*   r    r+   r&   r,   r!   r   r9   r9   f   s2      K
  
 
r!   r9   c                  .    e Zd ZU ded<   d Zed        Zy)DevicePosturer/   r0   c                8    t               }| j                  |d<   |S )Nr3   )r   r0   r   s     r   r    zDevicePosture.to_json   s    vzzVr!   c                ,     | t        |d               S )Nr3   )r0   r/   r$   s     r   r&   zDevicePosture.from_json   s    d6l#
 	
r!   Nr@   r,   r!   r   rB   rB      s"     J
 
 
r!   rB   c                  8    e Zd ZU ded<   ded<   d Zed        Zy)MediaFeaturer/   namevaluec                V    t               }| j                  |d<   | j                  |d<   |S )NrH   rI   )r   rH   rI   r   s     r   r    zMediaFeature.to_json   s(    vyyV

Wr!   c                F     | t        |d         t        |d               S )NrH   rI   )rH   rI   rE   r$   s     r   r&   zMediaFeature.from_json   s'    T&\"d7m$
 	
r!   Nr@   r,   r!   r   rG   rG      s%    
IJ 
 
r!   rG   c                  2    e Zd ZdZdZdZdZd Zed        Z	y)VirtualTimePolicya?  
    advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to
    allow the next delayed task (if any) to run; pause: The virtual time base may not advance;
    pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending
    resource fetches.
    advancepausepauseIfNetworkFetchesPendingc                    | j                   S NrI   r   s    r   r    zVirtualTimePolicy.to_json       zzr!   c                     | |      S rR   r,   r$   s     r   r&   zVirtualTimePolicy.from_json       4yr!   N)
r'   r(   r)   r7   ADVANCEPAUSE PAUSE_IF_NETWORK_FETCHES_PENDINGr    r+   r&   r,   r!   r   rM   rM      s2     GE'E$  r!   rM   c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)UserAgentBrandVersionzh
    Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints
    r/   brandversionc                V    t               }| j                  |d<   | j                  |d<   |S )Nr]   r^   )r   r]   r^   r   s     r   r    zUserAgentBrandVersion.to_json   s(    v

W,,Yr!   c                F     | t        |d         t        |d               S )Nr]   r^   )r]   r^   rE   r$   s     r   r&   zUserAgentBrandVersion.from_json   s'    d7m$Y(
 	
r!   Nr6   r,   r!   r   r\   r\      s,     JL 
 
r!   r\   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	Zd
ed<   d	Zd
ed<   d	Zded<   d	Zded<   d	Z	ded<   d Z
ed        Zy	)UserAgentMetadataz
    Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints
    Missing optional values will be filled in by the target with what it would normally use.
    r/   platformplatform_versionarchitecturemodelboolmobileNz3typing.Optional[typing.List[UserAgentBrandVersion]]brandsfull_version_listtyping.Optional[str]full_versionbitnesstyping.Optional[bool]wow64c                B   t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  +| j                  D cg c]  }|j                          c}|d<   | j                  +| j                  D cg c]  }|j                          c}|d<   | j                  | j                  |d<   | j                  | j                  |d	<   | j                  | j                  |d
<   |S c c}w c c}w )Nrc   platformVersionre   rf   rh   ri   fullVersionListfullVersionrm   ro   )r   rc   rd   re   rf   rh   ri   r    rj   rl   rm   ro   )r   r   is      r   r    zUserAgentMetadata.to_json   s    v==Z"&"7"7#00^

WX;;"37;;?aaiik?DN!!-<@<R<R&Sqqyy{&SD"#("&"3"3D<<#"llDO::! JJDM @&Ss   0D'Dc                    | t        |d         t        |d         t        |d         t        |d         t        |d         d|v r&|d   D cg c]  }t        j                  |       c}nd d|v r&|d   D cg c]  }t        j                  |       c}nd d|v rt        |d         nd d	|v rt        |d	         nd d
|v rt        |d
         
      S d 
      S c c}w c c}w )Nrc   rq   re   rf   rh   ri   rr   rs   rm   ro   )
rc   rd   re   rf   rh   ri   rj   rl   rm   ro   )r/   rg   r\   r&   )r%   r   rt   s      r   r&   zUserAgentMetadata.from_json  s   j)* &7!89T.12d7m$X'S[_cScXO1)33A6Oimgx  }A  hA4PaKbca4>>qAc  GK5Bd5JT-01PT,5,=CY(4)0D$tG}%
 	
 ?C
 	
 Pcs   C:C#)r'   r(   r)   r7   r*   ri   rj   rl   rm   ro   r    r+   r&   r,   r!   r   rb   rb      s}     MJL CGF?F NRJQ)-L&-$(G!(#'E '& 
 
r!   rb   c                  F    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
 Zed        Zy)
SensorTypezz
    Used to specify sensor types to emulate.
    See https://w3c.github.io/sensors/#automation for more information.
    zabsolute-orientationaccelerometerzambient-lightgravity	gyroscopezlinear-accelerationmagnetometerzrelative-orientationc                    | j                   S rR   rS   rT   s    r   r    zSensorType.to_json   rU   r!   c                     | |      S rR   r,   r$   s     r   r&   zSensorType.from_json#  rW   r!   N)r'   r(   r)   r7   ABSOLUTE_ORIENTATIONACCELEROMETERAMBIENT_LIGHTGRAVITY	GYROSCOPELINEAR_ACCELERATIONMAGNETOMETERRELATIVE_ORIENTATIONr    r+   r&   r,   r!   r   rw   rw     sM     2#M#MGI/!L1  r!   rw   c                  N    e Zd ZU dZded<   dZded<   dZded<   d Zed        Z	y)	SensorMetadataNrn   	availabletyping.Optional[float]minimum_frequencymaximum_frequencyc                    t               }| j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )Nr   minimumFrequencymaximumFrequency)r   r   r   r   r   s     r   r    zSensorMetadata.to_json0  s`    v>>% $D!!-'+'='=D#$!!-'+'='=D#$r!   c                     | d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d               S d       S )Nr   r   r   )r   r   r   )rg   floatr$   s     r   r&   zSensorMetadata.from_json:  se    1<1Dd4,-$ASW[A[eD);$<=aeASW[A[eD);$<=
 	
 bf
 	
r!   )
r'   r(   r)   r   r*   r   r   r    r+   r&   r,   r!   r   r   r   (  s>    '+I$+04-404-4 
 
r!   r   c                  .    e Zd ZU ded<   d Zed        Zy)SensorReadingSingler   rI   c                8    t               }| j                  |d<   |S )NrI   )r   rI   r   s     r   r    zSensorReadingSingle.to_jsonG  s    v

Wr!   c                ,     | t        |d               S )NrI   rS   r   r$   s     r   r&   zSensorReadingSingle.from_jsonL  s    W&
 	
r!   Nr@   r,   r!   r   r   r   C  s     L
 
 
r!   r   c                  B    e Zd ZU ded<   ded<   ded<   d Zed        Zy)SensorReadingXYZr   xyzc                t    t               }| j                  |d<   | j                  |d<   | j                  |d<   |S )Nr   r   r   )r   r   r   r   r   s     r   r    zSensorReadingXYZ.to_json[  s5    vFFS	FFS	FFS	r!   c                `     | t        |d         t        |d         t        |d               S )Nr   r   r   )r   r   r   r   r$   s     r   r&   zSensorReadingXYZ.from_jsonb  s3    DIDIDI
 	
r!   Nr@   r,   r!   r   r   r   S  s*    HHH 
 
r!   r   c                  L    e Zd ZU ded<   ded<   ded<   ded<   d Zed        Zy)	SensorReadingQuaternionr   r   r   r   wc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   |S )Nr   r   r   r   )r   r   r   r   r   r   s     r   r    zSensorReadingQuaternion.to_jsonu  sB    vFFS	FFS	FFS	FFS	r!   c           	     z     | t        |d         t        |d         t        |d         t        |d               S )Nr   r   r   r   )r   r   r   r   r   r$   s     r   r&   z!SensorReadingQuaternion.from_json}  s?    DIDIDIDI	
 	
r!   Nr@   r,   r!   r   r   r   k  s/    HHHH 
 
r!   r   c                  N    e Zd ZU dZded<   dZded<   dZded<   d Zed	        Z	y)
SensorReadingNz$typing.Optional[SensorReadingSingle]singlez!typing.Optional[SensorReadingXYZ]xyzz(typing.Optional[SensorReadingQuaternion]
quaternionc                   t               }| j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   |S )Nr   r   r   )r   r   r    r   r   r   s     r   r    zSensorReading.to_json  so    v;;"![[002DN88((**,DK??&!%!8!8!:Dr!   c                     | d|v rt         j                  |d         nd d|v rt        j                  |d         nd d|v rt        j                  |d               S d       S )Nr   r   r   )r   r   r   )r   r&   r   r   r$   s     r   r&   zSensorReading.from_json  su    DLPTDT&00h@Z^;@D= **4;7dP\`dPd.88l9KL
 	
 ko
 	
r!   )
r'   r(   r)   r   r*   r   r   r    r+   r&   r,   r!   r   r   r     s<    37F07-1C	*1;?J8? 
 
r!   r   c                  &    e Zd ZdZd Zed        Zy)PressureSourcecpuc                    | j                   S rR   rS   rT   s    r   r    zPressureSource.to_json  rU   r!   c                     | |      S rR   r,   r$   s     r   r&   zPressureSource.from_json  rW   r!   N)r'   r(   r)   CPUr    r+   r&   r,   r!   r   r   r     s     
C  r!   r   c                  2    e Zd ZdZdZdZdZd Zed        Z	y)PressureStatenominalfairseriouscriticalc                    | j                   S rR   rS   rT   s    r   r    zPressureState.to_json  rU   r!   c                     | |      S rR   r,   r$   s     r   r&   zPressureState.from_json  rW   r!   N)
r'   r(   r)   NOMINALFAIRSERIOUSCRITICALr    r+   r&   r,   r!   r   r   r     s/    GDGH  r!   r   c                  2    e Zd ZU dZded<   d Zed        Zy)PressureMetadataNrn   r   c                P    t               }| j                  | j                  |d<   |S )Nr   )r   r   r   s     r   r    zPressureMetadata.to_json  s&    v>>% $Dr!   c                B     | d|v rt        |d               S d       S )Nr   )r   rg   r$   s     r   r&   zPressureMetadata.from_json  s0    1<1Dd4,-
 	
JN
 	
r!   )r'   r(   r)   r   r*   r    r+   r&   r,   r!   r   r   r     s&    '+I$+ 
 
r!   r   c                  .    e Zd ZdZdZdZd Zed        Zy)DisabledImageTypez3
    Enum of image types that can be disabled.
    avifwebpc                    | j                   S rR   rS   rT   s    r   r    zDisabledImageType.to_json  rU   r!   c                     | |      S rR   r,   r$   s     r   r&   zDisabledImageType.from_json  rW   r!   N)	r'   r(   r)   r7   AVIFWEBPr    r+   r&   r,   r!   r   r   r     s,     DD  r!   r   c               #  6   K   ddi} | }t        |d         S w)z^
    Tells whether emulation is supported.

    :returns: True if emulation is supported.
    methodzEmulation.canEmulateresultr   cmd_dictr   s     r   can_emulater     s-      	(H >DXs   c               #     K   ddi} | }yw)z/
    Clears the overridden device metrics.
    r   z$Emulation.clearDeviceMetricsOverrideNr,   r   s     r   clear_device_metrics_overrider     s     
 	8H >D   
c               #     K   ddi} | }yw)z?
    Clears the overridden Geolocation Position and Error.
    r   z"Emulation.clearGeolocationOverrideNr,   r   s     r   clear_geolocation_overrider     s     
 	6H >Dr   c               #     K   ddi} | }yw)z[
    Requests that page scale factor is reset to initial values.

    **EXPERIMENTAL**
    r   zEmulation.resetPageScaleFactorNr,   r   s     r   reset_page_scale_factorr     s      	2H >Dr   c              #  <   K   t               }| |d<   d|d}|}yw)z
    Enables or disables simulating a focused and active page.

    **EXPERIMENTAL**

    :param enabled: Whether to enable to disable focus emulation.
    enabledz"Emulation.setFocusEmulationEnabledr   paramsNr   r   r   r   r   s       r   set_focus_emulation_enabledr     s/      &FF96H >D   c              #  @   K   t               }| | |d<   d|d}|}yw)z
    Automatically render all web contents using a dark theme.

    **EXPERIMENTAL**

    :param enabled: *(Optional)* Whether to enable or disable automatic dark mode. If not specified, any existing override will be cleared.
    Nr   z!Emulation.setAutoDarkModeOverrider   r   r   s       r   set_auto_dark_mode_overrider     s5      &F#y5H >D   c              #  <   K   t               }| |d<   d|d}|}yw)z
    Enables CPU throttling to emulate slow CPUs.

    :param rate: Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).
    ratezEmulation.setCPUThrottlingRater   Nr   )r   r   r   r   s       r   set_cpu_throttling_rater   /  s.      &FF6N2H >Dr   c              #  \   K   t               }| | j                         |d<   d|d}|}yw)a  
    Sets or clears an override of the default background color of the frame. This override is used
    if the content does not specify one.

    :param color: *(Optional)* RGBA of the default background color. If not specified, any existing override will be cleared.
    Ncolorz+Emulation.setDefaultBackgroundColorOverrider   r   r    )r   r   r   r   s       r   %set_default_background_color_overrider   @  s:      &F--/w?H >D   *,c              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Overrides the values for env(safe-area-inset-*) and env(safe-area-max-inset-*). Unset values will cause the
    respective variables to be undefined, even if previously overridden.

    **EXPERIMENTAL**

    :param insets:
    insetsz#Emulation.setSafeAreaInsetsOverrider   Nr   )r   r   r   r   s       r   set_safe_area_insets_overrider   S  s6      &F~~'F87H >D   (*c              #  V  K   t               }| |d<   ||d<   ||d<   ||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
j                         |d<   ||j                         |d<   ||j                         |d<   ||j                         |d<   d|d}|}yw)aW  
    Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
    window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
    query results).

    :param width: Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param height: Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param device_scale_factor: Overriding device scale factor value. 0 disables the override.
    :param mobile: Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.
    :param scale: **(EXPERIMENTAL)** *(Optional)* Scale to apply to resulting view image.
    :param screen_width: **(EXPERIMENTAL)** *(Optional)* Overriding screen width value in pixels (minimum 0, maximum 10000000).
    :param screen_height: **(EXPERIMENTAL)** *(Optional)* Overriding screen height value in pixels (minimum 0, maximum 10000000).
    :param position_x: **(EXPERIMENTAL)** *(Optional)* Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
    :param position_y: **(EXPERIMENTAL)** *(Optional)* Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
    :param dont_set_visible_size: **(EXPERIMENTAL)** *(Optional)* Do not set visible view size, rely upon explicit setVisibleSize call.
    :param screen_orientation: *(Optional)* Screen orientation override.
    :param viewport: **(EXPERIMENTAL)** *(Optional)* If set, the visible area of the page will be overridden to this viewport. This viewport change is not observed by the page, e.g. viewport-relative elements do not change positions.
    :param display_feature: **(EXPERIMENTAL)** *(Optional)* If set, the display feature of a multi-segment screen. If not set, multi-segment support is turned-off. Deprecated, use Emulation.setDisplayFeaturesOverride.
    :param device_posture: **(EXPERIMENTAL)** *(Optional)* If set, the posture of a foldable device. If not set the posture is set to continuous. Deprecated, use Emulation.setDevicePostureOverride.
    widthheightdeviceScaleFactorrh   NscalescreenWidthscreenHeight	positionX	positionYdontSetVisibleSizescreenOrientationviewportdisplayFeaturedevicePosturez"Emulation.setDeviceMetricsOverrider   r   )r   r   device_scale_factorrh   r   screen_widthscreen_height
position_x
position_ydont_set_visible_sizescreen_orientationr   display_featuredevice_posturer   r   r   s                    r   set_device_metrics_overrider  g  s    H &FF7OF8"5FF8w ,} !.~({({('<#$%&8&@&@&B"#%--/z"#2#:#:#< !"0"8"8":6H >Ds   B'B)c              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Start reporting the given posture value to the Device Posture API.
    This override can also be set in setDeviceMetricsOverride().

    **EXPERIMENTAL**

    :param posture:
    posturez"Emulation.setDevicePostureOverrider   Nr   )r  r   r   r   s       r   set_device_posture_overrider    s6      &F)F96H >Dr   c               #     K   ddi} | }yw)z
    Clears a device posture override set with either setDeviceMetricsOverride()
    or setDevicePostureOverride() and starts using posture information from the
    platform again.
    Does nothing if no override is set.

    **EXPERIMENTAL**
    r   z$Emulation.clearDevicePostureOverrideNr,   r   s     r   clear_device_posture_overrider    s      	8H >Dr   c              #  ~   K   t               }| D cg c]  }|j                          c}|d<   d|d}|}yc c}w w)z
    Start using the given display features to pupulate the Viewport Segments API.
    This override can also be set in setDeviceMetricsOverride().

    **EXPERIMENTAL**

    :param features:
    featuresz$Emulation.setDisplayFeaturesOverrider   Nr   )r
  r   rt   r   r   s        r   set_display_features_overrider    sE      &F/78!!))+8F:8H >D 9   =8=c               #     K   ddi} | }yw)z
    Clears the display features override set with either setDeviceMetricsOverride()
    or setDisplayFeaturesOverride() and starts using display features from the
    platform again.
    Does nothing if no override is set.

    **EXPERIMENTAL**
    r   z&Emulation.clearDisplayFeaturesOverrideNr,   r   s     r   clear_display_features_overrider    s      	:H >Dr   c              #  <   K   t               }| |d<   d|d}|}yw)z\


    **EXPERIMENTAL**

    :param hidden: Whether scrollbars should be always hidden.
    hiddenzEmulation.setScrollbarsHiddenr   Nr   )r  r   r   r   s       r   set_scrollbars_hiddenr    s/      &FF81H >Dr   c              #  <   K   t               }| |d<   d|d}|}yw)zc


    **EXPERIMENTAL**

    :param disabled: Whether document.coookie API should be disabled.
    disabledz#Emulation.setDocumentCookieDisabledr   Nr   )r  r   r   r   s       r   set_document_cookie_disabledr    s/      &F!F:7H >Dr   c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)z


    **EXPERIMENTAL**

    :param enabled: Whether touch emulation based on mouse input should be enabled.
    :param configuration: *(Optional)* Touch/gesture events configuration. Default: current platform.
    r   Nconfigurationz$Emulation.setEmitTouchEventsForMouser   r   )r   r  r   r   r   s        r   set_emit_touch_events_for_mouser    s?      &FF9 "/8H >D   !#c              #     K   t               }| | |d<   |!|D cg c]  }|j                          c}|d<   d|d}|}yc c}w w)z
    Emulates the given media type or media feature for CSS media queries.

    :param media: *(Optional)* Media type to emulate. Empty string disables the override.
    :param features: *(Optional)* Media features to emulate.
    Nmediar
  zEmulation.setEmulatedMediar   r   )r  r
  r   rt   r   r   s         r   set_emulated_mediar  .  sZ      &Fw3;<aaiik<z.H >D =s   AAAc              #  <   K   t               }| |d<   d|d}|}yw)z
    Emulates the given vision deficiency.

    :param type_: Vision deficiency to emulate. Order: best-effort emulations come first, followed by any physiologically accurate emulations for medically recognized color vision deficiencies.
    r3   z%Emulation.setEmulatedVisionDeficiencyr   Nr   r0   r   r   r   s       r   set_emulated_vision_deficiencyr  D  s.      &FF6N9H >Dr   c              #  \   K   t               }| | |d<   |||d<   |||d<   d|d}|}yw)a  
    Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position
    unavailable.

    :param latitude: *(Optional)* Mock latitude
    :param longitude: *(Optional)* Mock longitude
    :param accuracy: *(Optional)* Mock accuracy
    Nlatitude	longitudeaccuracyz Emulation.setGeolocationOverrider   r   )r   r!  r"  r   r   r   s         r   set_geolocation_overrider#  U  sU      &F%z'{%z4H >Dr   c              #  r   K   t               }| j                         |d<   d|d}|}t        |d         S w)z>


    **EXPERIMENTAL**

    :param type_:
    :returns: 
    r3   z(Emulation.getOverriddenSensorInformationr   requestedSamplingFrequencyr   r    r   r  s       r   !get_overridden_sensor_informationr'  p  sE      &F]]_F6N<H >D2344s   57c              #     K   t               }| |d<   |j                         |d<   ||j                         |d<   d|d}|}yw)a  
    Overrides a platform sensor of a given type. If ``enabled`` is true, calls to
    Sensor.start() will use a virtual sensor as backend rather than fetching
    data from a real hardware sensor. Otherwise, existing virtual
    sensor-backend Sensor objects will fire an error event and new calls to
    Sensor.start() will attempt to use a real sensor instead.

    **EXPERIMENTAL**

    :param enabled:
    :param type_:
    :param metadata: *(Optional)*
    r   r3   Nmetadataz"Emulation.setSensorOverrideEnabledr   r   )r   r0   r)  r   r   r   s         r   set_sensor_override_enabledr*    sW     $ &FF9]]_F6N%--/z6H >D   AAc              #  ~   K   t               }| j                         |d<   |j                         |d<   d|d}|}yw)z
    Updates the sensor readings reported by a sensor type previously overridden
    by setSensorOverrideEnabled.

    **EXPERIMENTAL**

    :param type_:
    :param reading:
    r3   readingz#Emulation.setSensorOverrideReadingsr   Nr   )r0   r-  r   r   r   s        r   set_sensor_override_readingsr.    sE      &F]]_F6N)F97H >D   ;=c              #     K   t               }| |d<   |j                         |d<   ||j                         |d<   d|d}|}yw)aa  
    Overrides a pressure source of a given type, as used by the Compute
    Pressure API, so that updates to PressureObserver.observe() are provided
    via setPressureStateOverride instead of being retrieved from
    platform-provided telemetry data.

    **EXPERIMENTAL**

    :param enabled:
    :param source:
    :param metadata: *(Optional)*
    r   sourceNr)  z*Emulation.setPressureSourceOverrideEnabledr   r   )r   r1  r)  r   r   r   s         r   $set_pressure_source_override_enabledr2    sY     " &FF9~~'F8%--/z>H >Dr+  c              #  ~   K   t               }| j                         |d<   |j                         |d<   d|d}|}yw)a  
    Provides a given pressure state that will be processed and eventually be
    delivered to PressureObserver users. ``source`` must have been previously
    overridden by setPressureSourceOverrideEnabled.

    **EXPERIMENTAL**

    :param source:
    :param state:
    r1  statez"Emulation.setPressureStateOverrider   Nr   )r1  r4  r   r   r   s        r   set_pressure_state_overrider5    sE      &F~~'F8mmoF7O6H >Dr/  c              #  F   K   t               }| |d<   ||d<   d|d}|}yw)z
    Overrides the Idle state.

    :param is_user_active: Mock isUserActive
    :param is_screen_unlocked: Mock isScreenUnlocked
    isUserActiveisScreenUnlockedzEmulation.setIdleOverrider   Nr   )is_user_activeis_screen_unlockedr   r   r   s        r   set_idle_overrider;    s:      &F+F>!3F-H >D   !c               #     K   ddi} | }yw)z&
    Clears Idle state overrides.
    r   zEmulation.clearIdleOverrideNr,   r   s     r   clear_idle_overrider>    s     
 	/H >Dr   c              #  <   K   t               }| |d<   d|d}|}yw)z
    Overrides value returned by the javascript navigator object.

    **EXPERIMENTAL**

    :param platform: The platform navigator.platform should return.
    rc   zEmulation.setNavigatorOverridesr   Nr   )rc   r   r   r   s       r   set_navigator_overridesr@    s/      &F!F:3H >Dr   c              #  <   K   t               }| |d<   d|d}|}yw)zu
    Sets a specified page scale factor.

    **EXPERIMENTAL**

    :param page_scale_factor: Page scale factor.
    pageScaleFactorzEmulation.setPageScaleFactorr   Nr   )page_scale_factorr   r   r   s       r   set_page_scale_factorrD     s0      &F 1F0H >Dr   c              #  <   K   t               }| |d<   d|d}|}yw)z|
    Switches script execution in the page.

    :param value: Whether script execution should be disabled in the page.
    rI   z$Emulation.setScriptExecutionDisabledr   Nr   )rI   r   r   r   s       r   set_script_execution_disabledrF  3  s.      &FF7O8H >Dr   c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)z
    Enables touch on platforms which do not support them.

    :param enabled: Whether the touch event emulation should be enabled.
    :param max_touch_points: *(Optional)* Maximum touch points supported. Defaults to one.
    r   NmaxTouchPointsz"Emulation.setTouchEmulationEnabledr   r   )r   max_touch_pointsr   r   r   s        r   set_touch_emulation_enabledrJ  D  s@      &FF9##3 6H >Dr  c              #     K   t               }| j                         |d<   |||d<   |||d<   ||j                         |d<   d|d}|}t        |d         S w)a#  
    Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets
    the current virtual time policy.  Note this supersedes any previous time budget.

    **EXPERIMENTAL**

    :param policy:
    :param budget: *(Optional)* If set, after this many virtual milliseconds have elapsed virtual time will be paused and a virtualTimeBudgetExpired event is sent.
    :param max_virtual_time_task_starvation_count: *(Optional)* If set this specifies the maximum number of tasks that can be run before virtual is forced forwards to prevent deadlock.
    :param initial_virtual_time: *(Optional)* If set, base::Time::Now will be overridden to initially return this value.
    :returns: Absolute timestamp at which virtual time was first enabled (up time in milliseconds).
    policybudget!maxVirtualTimeTaskStarvationCountinitialVirtualTimezEmulation.setVirtualTimePolicyr   virtualTimeTicksBaser&  )rL  rM  &max_virtual_time_task_starvation_countinitial_virtual_timer   r   r   s          r   set_virtual_time_policyrS  Y  s     $ &F~~'F8!x-96\23'';'C'C'E#$2H >D,-..s   AAc              #  @   K   t               }| | |d<   d|d}|}yw)z
    Overrides default host system locale with the specified one.

    **EXPERIMENTAL**

    :param locale: *(Optional)* ICU style C locale (e.g. "en_US"). If not specified or empty, disables the override and restores default host system locale.
    NlocalezEmulation.setLocaleOverrider   r   )rU  r   r   r   s       r   set_locale_overriderV  {  s5      &F!x/H >Dr   c              #  <   K   t               }| |d<   d|d}|}yw)ag  
    Overrides default host system timezone with the specified one.

    :param timezone_id: The timezone identifier. List of supported timezones: https://source.chromium.org/chromium/chromium/deps/icu.git/+/faee8bc70570192d82d2978a71e2a615788597d1:source/data/misc/metaZones.txt If empty, disables the override and restores default host system timezone.
    
timezoneIdzEmulation.setTimezoneOverrider   Nr   )timezone_idr   r   r   s       r   set_timezone_overriderZ    s/      &F&F<1H >Dr   c              #  F   K   t               }| |d<   ||d<   d|d}|}yw)a<  
    Resizes the frame/viewport of the page. Note that this does not affect the frame's container
    (e.g. browser window). Can be used to produce screenshots of the specified size. Not supported
    on Android.

    **EXPERIMENTAL**

    :param width: Frame width (DIP).
    :param height: Frame height (DIP).
    r   r   zEmulation.setVisibleSizer   Nr   )r   r   r   r   r   s        r   set_visible_sizer\    s8      &FF7OF8,H >Dr<  c              #  ~   K   t               }| D cg c]  }|j                          c}|d<   d|d}|}yc c}w w)zM


    **EXPERIMENTAL**

    :param image_types: Image types to disable.
    
imageTypeszEmulation.setDisabledImageTypesr   Nr   )image_typesr   rt   r   r   s        r   set_disabled_image_typesr`    sE      &F1<=AAIIK=F<3H >D >r  c              #  <   K   t               }| |d<   d|d}|}yw)z]


    **EXPERIMENTAL**

    :param hardware_concurrency: Hardware concurrency to report
    hardwareConcurrencyz(Emulation.setHardwareConcurrencyOverrider   Nr   )hardware_concurrencyr   r   r   s       r   !set_hardware_concurrency_overriderd    s0      &F$8F !<H >Dr   c              #     K   t               }| |d<   |||d<   |||d<   ||j                         |d<   d|d}|}yw)a  
    Allows overriding user agent with the given string.
    ``userAgentMetadata`` must be set for Client Hint headers to be sent.

    :param user_agent: User agent to use.
    :param accept_language: *(Optional)* Browser language to emulate.
    :param platform: *(Optional)* The platform navigator.platform should return.
    :param user_agent_metadata: **(EXPERIMENTAL)** *(Optional)* To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
    	userAgentNacceptLanguagerc   userAgentMetadatazEmulation.setUserAgentOverrider   r   )
user_agentaccept_languagerc   user_agent_metadatar   r   r   s          r   set_user_agent_overriderl    sj      &F$F;"#2 %z&&9&A&A&C"#2H >Ds   =?c              #  <   K   t               }| |d<   d|d}|}yw)z
    Allows overriding the automation flag.

    **EXPERIMENTAL**

    :param enabled: Whether the override should be enabled.
    r   zEmulation.setAutomationOverrider   Nr   r   s       r   set_automation_overridern    s/      &FF93H >Dr   z"Emulation.virtualTimeBudgetExpiredc                  "    e Zd ZdZedd       Zy)VirtualTimeBudgetExpiredz~
    **EXPERIMENTAL**

    Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.
    c                     |        S rR   r,   r$   s     r   r&   z"VirtualTimeBudgetExpired.from_json  s     
 	
r!   N)r   r   returnrp  )r'   r(   r)   r7   r+   r&   r,   r!   r   rp  rp    s     
 
r!   rp  )rr  z0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool])rr  0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r   rg   rr  rs  rR   )r   rn   rr  rs  )r   r   rr  rs  )r   ztyping.Optional[dom.RGBA]rr  rs  )r   r   rr  rs  )
NNNNNNNNNN)r   r#   r   r#   r   r   rh   rg   r   r   r   r   r   r   r   r   r   r   r   rn   r   z"typing.Optional[ScreenOrientation]r   ztyping.Optional[page.Viewport]r  ztyping.Optional[DisplayFeature]r  ztyping.Optional[DevicePosture]rr  rs  )r  rB   rr  rs  )r
  ztyping.List[DisplayFeature]rr  rs  )r  rg   rr  rs  )r  rg   rr  rs  )r   rg   r  rk   rr  rs  )NN)r  rk   r
  z*typing.Optional[typing.List[MediaFeature]]rr  rs  )r0   r/   rr  rs  )NNN)r   r   r!  r   r"  r   rr  rs  )r0   rw   rr  1typing.Generator[T_JSON_DICT, T_JSON_DICT, float])r   rg   r0   rw   r)  ztyping.Optional[SensorMetadata]rr  rs  )r0   rw   r-  r   rr  rs  )r   rg   r1  r   r)  z!typing.Optional[PressureMetadata]rr  rs  )r1  r   r4  r   rr  rs  )r9  rg   r:  rg   rr  rs  )rc   r/   rr  rs  )rC  r   rr  rs  )rI   rg   rr  rs  )r   rg   rI  r   rr  rs  )
rL  rM   rM  r   rQ  r   rR  z'typing.Optional[network.TimeSinceEpoch]rr  rt  )rU  rk   rr  rs  )rY  r/   rr  rs  )r   r#   r   r#   rr  rs  )r_  ztyping.List[DisabledImageType]rr  rs  )rc  r#   rr  rs  )
ri  r/   rj  rk   rc   rk   rk  z"typing.Optional[UserAgentMetadata]rr  rs  )H
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r.   r9   rB   rG   EnumrM   r\   rb   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r#  r'  r*  r.  r2  r5  r;  r>  r@  rD  rF  rJ  rS  rV  rZ  r\  r`  rd  rl  rn  rp  r,   r!   r   <module>r|     sa   # * !      8
 8
 8
v 
 
 
0 
 
 
: 
 
 
  
 
 
&		 & 
 
 
, ;
 ;
 ;
| , 
 
 
4 
 
 
 
 
 
. 
 
 
6 
 
 
4TYY DII  
 
 
 		 
 		7( *.&	7(	7$ ,0(	7&	72 )--1.2+/+/7;AE37;?9=AAA #A 	A
 &A +A ,A )A )A  5A ?A 1A 9A 7A 
8AH	7(-	7(	7&	7* /3+ 
80 '+?C#< 
8,	7$ ,0,0+/() ) 
8	655	850 59 2 
8	< 
84 7; 4 
8	: 
80  
8(	7& 	7&	7& 26. 
8. *.GKHL	/!/&/ 1E/ F	/
 
9/F (,$	7(	7" 
803	7&!	7* 15)-BF	- ' @	
 
8<	7& 12

 
  3
r!   