Ë
    bQbjôÖ  ã                  ón  — 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e G d+„ d,«      «       Z G d-„ d.e «      Z!e G d/„ d0«      «       Z" G d1„ d2ej$                  «      Z#dhd3„Z$did4„Z%did5„Z&did6„Z'	 	 	 	 djd7„Z(	 dk	 	 	 dld8„Z)	 	 	 	 dmd9„Z*	 dk	 	 	 dnd:„Z+	 	 	 	 dod;„Z,	 	 	 	 	 	 	 	 	 	 	 	 dp	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dqd<„Z-	 	 	 	 drd=„Z.did>„Z/	 	 	 	 dsd?„Z0did@„Z1	 	 	 	 dtdA„Z2	 	 	 	 dudB„Z3	 dk	 	 	 	 	 dvdC„Z4	 	 dw	 	 	 	 	 dxdD„Z5	 	 	 	 dydE„Z6	 dk	 	 	 dzdF„Z7	 	 	 	 	 	 	 d{	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d|dG„Z8	 	 	 	 d}dH„Z9	 dk	 	 	 	 	 	 	 d~dI„Z:	 	 	 	 	 	 ddJ„Z;	 dk	 	 	 	 	 	 	 d€dK„Z<	 	 	 	 	 	 d�dL„Z=	 	 	 	 	 	 d‚dM„Z>didN„Z?	 	 	 	 dƒdO„Z@	 	 	 	 d„dP„ZA	 	 	 	 d…dQ„ZB	 dk	 	 	 	 	 d†dR„ZC	 	 	 d‡	 	 	 	 	 	 	 	 	 dˆdS„ZD	 dk	 	 	 d‰dT„ZE	 	 	 	 dŠdU„ZF	 	 	 	 	 	 d‹dV„ZG	 	 	 	 dŒdW„ZH	 dk	 	 	 d�dX„ZI	 	 	 	 dŽdY„ZJ	 	 	 d‡	 	 	 	 	 	 	 	 	 d�dZ„ZK	 	 	 	 djd[„ZL	 	 	 	 d�d\„ZMd‘d]„ZN	 	 	 	 	 	 d’	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d“d^„ZO	 	 	 	 	 	 	 	 	 	 d”	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d•d_„ZP	 	 	 	 d–d`„ZQ	 	 	 	 d–da„ZR edb«      e G dc„ dd«      «       «       ZS ede«      e G df„ dg«      «       «       ZTy)—é    )Ú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     úd/var/www/html/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v150/emulation.pyÚto_jsonzSafeAreaInsets.to_json+   sÈ   € Ü‹vˆØ�8‰8ÐØŸ(™(ˆD�‰KØ�<‰<Ð#Ø!Ÿ\™\ˆD�‰NØ�9‰9Ð ØŸ9™9ˆD�‰LØ�=‰=Ð$Ø"Ÿm™mˆD�‰OØ�;‰;Ð"Ø!Ÿ[™[ˆD�‰NØ�?‰?Ð&Ø $§¡ˆD�ÑØ�:‰:Ð!Ø ŸJ™JˆD�‰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Å   € áØ$)¨T¡M”�D˜‘KÔ °tØ+3°tÑ+;”C˜˜X™Ô'ÀØ&,°¡n”�T˜&‘\Ô"¸$Ø-6¸$Ñ->”S˜˜i™Ô)ÀDØ*2°dÑ*:”3�t˜H‘~Ô&ÀØ1<ÀÑ1D”s˜4 Ñ,Ô-È$Ø(/°4©”#�d˜7‘mÔ$¸TØ/9¸TÑ/A”c˜$˜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Útyper2   )r   r1   r2   r   s     r   r    zScreenOrientation.to_jsonX   s(   € Ü‹vˆØ—z‘zˆˆV‰ØŸ
™
ˆˆW‰Øˆr!   c                óF   —  | t        |d   «      t        |d   «      ¬«      S )Nr4   r2   )r1   r2   ©r0   r$   r%   s     r   r'   zScreenOrientation.from_json^   s'   € áÜ�d˜6‘lÓ#Ü�d˜7‘mÓ$ô
ð 	
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)	ÚDisplayFeaturer0   Ú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=   r6   r%   s     r   r'   zDisplayFeature.from_json{   s5   € áÜ˜D Ñ/Ó0Ü�t˜H‘~Ó&Ü˜D Ñ.Ó/ô
ð 	
r!   N©r(   r)   r*   r+   r    r,   r'   r-   r!   r   r:   r:   f   s2   … ð Óð ƒKð
 Óòð ñ
ó ñ
r!   r:   c                  ó.   — e Zd ZU ded<   d„ Zed„ «       Zy)ÚDevicePosturer0   r1   c                ó8   — t        «       }| j                  |d<   |S )Nr4   )r   r1   r   s     r   r    zDevicePosture.to_json‰   s   € Ü‹vˆØ—z‘zˆˆV‰Øˆr!   c                ó,   —  | t        |d   «      ¬«      S )Nr4   )r1   ©r0   r%   s     r   r'   zDevicePosture.from_jsonŽ   s   € áÜ�d˜6‘lÓ#ô
ð 	
r!   NrA   r-   r!   r   rC   rC   „   s"   … ð ƒJòð
 ñ
ó ñ
r!   rC   c                  ó8   — e Zd ZU ded<   ded<   d„ Zed„ «       Zy)ÚMediaFeaturer0   ÚnameÚvaluec                óV   — t        «       }| j                  |d<   | j                  |d<   |S )NrI   rJ   )r   rI   rJ   r   s     r   r    zMediaFeature.to_json›   s(   € Ü‹vˆØ—y‘yˆˆV‰ØŸ
™
ˆˆW‰Øˆr!   c                óF   —  | t        |d   «      t        |d   «      ¬«      S )NrI   rJ   )rI   rJ   rF   r%   s     r   r'   zMediaFeature.from_json¡   s'   € áÜ�T˜&‘\Ó"Ü�d˜7‘mÓ$ô
ð 	
r!   NrA   r-   r!   r   rH   rH   •   s%   … à
ƒIàƒJòð ñ
ó ñ
r!   rH   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©rJ   ©r   s    r   r    zVirtualTimePolicy.to_json´   ó   € Ø�z‰zÐr!   c                ó   —  | |«      S rS   r-   r%   s     r   r'   zVirtualTimePolicy.from_json·   ó   € á�4‹yÐr!   N)
r(   r)   r*   r8   ÚADVANCEÚPAUSEÚ PAUSE_IF_NETWORK_FETCHES_PENDINGr    r,   r'   r-   r!   r   rN   rN   ©   s2   „ ñð €GØ€EØ'EÐ$òð ñó ñr!   rN   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
    r0   Ú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_   rF   r%   s     r   r'   zUserAgentBrandVersion.from_jsonË   s'   € áÜ�d˜7‘mÓ$Ü˜˜Y™Ó(ô
ð 	
r!   Nr7   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
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.
    r0   ÚplatformÚplatform_versionÚarchitectureÚmodelÚboolÚmobileNz3typing.Optional[typing.List[UserAgentBrandVersion]]ÚbrandsÚfull_version_listútyping.Optional[str]Úfull_versionÚbitnessútyping.Optional[bool]Úwow64z!typing.Optional[typing.List[str]]Úform_factorsc                óž  — 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
<   | j                  �| j                  D �cg c]  }|‘Œ c}|d<   |S c c}w c c}w c c}w )Nrd   ÚplatformVersionrf   rg   ri   rj   ÚfullVersionListÚfullVersionrn   rp   ÚformFactors)r   rd   re   rf   rg   ri   rj   r    rk   rm   rn   rp   rq   )r   r   Úis      r   r    zUserAgentMetadata.to_jsonó   s-  € Ü‹vˆØŸ=™=ˆˆZÑØ"&×"7Ñ"7ˆÐÑØ#×0Ñ0ˆˆ^ÑØŸ
™
ˆˆW‰ØŸ™ˆˆX‰Ø�;‰;Ð"Ø37·;±;Ö?¨a˜aŸi™i�kÒ?ˆD�‰NØ×!Ñ!Ð-Ø<@×<RÑ<RÖ&S°q q§y¡y¥{Ò&SˆDÐ"Ñ#Ø×ÑÐ(Ø"&×"3Ñ"3ˆD�ÑØ�<‰<Ð#Ø"Ÿl™lˆD�‰OØ�:‰:Ð!Ø ŸJ™JˆD�‰MØ×ÑÐ(Ø.2×.?Ñ.?Ö"@¨¢1Ò"@ˆD�ÑØˆùò @ùâ&Sùò #As   Á0E Â'EÄ/	E
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
   «      nd d|v r!|d   D �cg c]  }t        |«      ‘Œ c}¬«      S d ¬«      S c c}w c c}w c c}w )Nrd   rs   rf   rg   ri   rj   rt   ru   rn   rp   rv   )rd   re   rf   rg   ri   rj   rk   rm   rn   rp   rq   )r0   rh   r]   r'   )r&   r   rw   s      r   r'   zUserAgentMetadata.from_json  s-  € áÜ˜˜jÑ)Ó*Ü  Ð&7Ñ!8Ó9Ü˜T .Ñ1Ó2Ü�d˜7‘mÓ$Ü˜˜X™Ó'ØS[Ð_cÑScÀÀXÁÖO¸1Ô)×3Ñ3°AÕ6ÓOÐimØgxð  }Añ  hAÈ4ÐPaÑKbÖcÀaÔ4×>Ñ>¸qÕAÓcð  GKØ5BÀdÑ5Jœ˜T -Ñ0Ô1ÐPTØ,5¸Ñ,=”C˜˜Y™Ô(À4Ø)0°D©”$�t˜G‘}Ô%¸dØBOÐSWÑBW¨$¨}Ñ*=Ö> Qœ#˜a�&Ò>ô
ð 	
ð ^bô
ð 	
ùò PùÚcùò ?s   ÁC?Á:DÃD	)r(   r)   r*   r8   r+   rj   rk   rm   rn   rp   rq   r    r,   r'   r-   r!   r   rc   rc   Ó   sŠ   … ñð ƒMàÓàÓàƒJàƒLð CG€FÐ?ÓFð NRÐÐJÓQà)-€LÐ&Ó-à$(€GÐ!Ó(à#'€EÐ Ó'ð 7;€LÐ3Ó:òð* ñ
ó ñ
r!   rc   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 rS   rT   rU   s    r   r    zSensorType.to_json'  rV   r!   c                ó   —  | |«      S rS   r-   r%   s     r   r'   zSensorType.from_json*  rX   r!   N)r(   r)   r*   r8   ÚABSOLUTE_ORIENTATIONÚACCELEROMETERÚAMBIENT_LIGHTÚGRAVITYÚ	GYROSCOPEÚLINEAR_ACCELERATIONÚMAGNETOMETERÚRELATIVE_ORIENTATIONr    r,   r'   r-   r!   r   rz   rz     sM   „ ñð 2ÐØ#€MØ#€MØ€GØ€IØ/ÐØ!€LØ1Ðòð ñó ñr!   rz   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)	ÚSensorMetadataNro   Ú	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_json7  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Ž   )rh   Úfloatr%   s     r   r'   zSensorMetadata.from_jsonA  se   € áØ1<ÀÑ1D”d˜4 Ñ,Ô-È$ØASÐW[ÑA[œe DÐ);Ñ$<Ô=ÐaeØASÐW[ÑA[œe DÐ);Ñ$<Ó=ô
ð 	
ð bfô
ð 	
r!   )
r(   r)   r*   r‹   r+   r�   rŽ   r    r,   r'   r-   r!   r   rŠ   rŠ   /  s>   … à'+€IÐ$Ó+à04ÐÐ-Ó4à04ÐÐ-Ó4òð ñ
ó ñ
r!   rŠ   c                  ó.   — e Zd ZU ded<   d„ Zed„ «       Zy)ÚSensorReadingSingler“   rJ   c                ó8   — t        «       }| j                  |d<   |S )NrJ   )r   rJ   r   s     r   r    zSensorReadingSingle.to_jsonN  s   € Ü‹vˆØŸ
™
ˆˆW‰Øˆr!   c                ó,   —  | t        |d   «      ¬«      S )NrJ   rT   ©r“   r%   s     r   r'   zSensorReadingSingle.from_jsonS  s   € áÜ˜˜W™Ó&ô
ð 	
r!   NrA   r-   r!   r   r•   r•   J  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_jsonb  s5   € Ü‹vˆØ—F‘FˆˆS‰	Ø—F‘FˆˆS‰	Ø—F‘FˆˆS‰	Øˆr!   c                ó`   —  | t        |d   «      t        |d   «      t        |d   «      ¬«      S )Nr›   rœ   r�   )r›   rœ   r�   r˜   r%   s     r   r'   zSensorReadingXYZ.from_jsoni  s3   € áÜ�D˜‘IÓÜ�D˜‘IÓÜ�D˜‘IÓô
ð 	
r!   NrA   r-   r!   r   rš   rš   Z  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_json|  sB   € Ü‹vˆØ—F‘FˆˆS‰	Ø—F‘FˆˆS‰	Ø—F‘FˆˆS‰	Ø—F‘Fˆˆ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!   NrA   r-   r!   r   r¡   r¡   r  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Ó2ˆD�‰NØ�8‰8ÐØŸ(™(×*Ñ*Ó,ˆ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   € áØDLÐPTÑDTÔ&×0Ñ0°°h±Ô@ÐZ^Ø;@ÀD¹=Ô ×*Ñ*¨4°©;Ô7ÈdØP\Ð`dÑPdÔ.×8Ñ8¸¸lÑ9KÓLô
ð 	
ð koô
ð 	
r!   )
r(   r)   r*   r§   r+   r¨   r©   r    r,   r'   r-   r!   r   r¦   r¦   Ž  s<   … à37€FÐ0Ó7à-1€CÐ	*Ó1à;?€JÐ8Ó?òð ñ
ó ñ
r!   r¦   c                  ó&   — e Zd ZdZd„ Zed„ «       Zy)ÚPressureSourceÚcpuc                ó   — | j                   S rS   rT   rU   s    r   r    zPressureSource.to_json¬  rV   r!   c                ó   —  | |«      S rS   r-   r%   s     r   r'   zPressureSource.from_json¯  rX   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 rS   rT   rU   s    r   r    zPressureState.to_jsonº  rV   r!   c                ó   —  | |«      S rS   r-   r%   s     r   r'   zPressureState.from_json½  rX   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)ÚPressureMetadataNro   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‹   ©rh   r%   s     r   r'   zPressureMetadata.from_jsonÌ  s0   € áØ1<ÀÑ1D”d˜4 Ñ,Ó-ô
ð 	
ØJNô
ð 	
r!   )r(   r)   r*   r‹   r+   r    r,   r'   r-   r!   r   r¿   r¿   Â  s&   … à'+€IÐ$Ó+òð ñ
ó ñ
r!   r¿   c                  ó\   — 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e	d„ «       Z
y)	ÚWorkAreaInsetsNr   r   r   r   r   c                óò   — t        «       }| j                  �| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   |S )Nr   r   r   r   )r   r   r   r   r   r   s     r   r    zWorkAreaInsets.to_jsoná  sj   € Ü‹vˆØ�8‰8ÐØŸ(™(ˆD�‰KØ�9‰9Ð ØŸ9™9ˆD�‰LØ�;‰;Ð"Ø!Ÿ[™[ˆD�‰NØ�:‰:Ð!Ø ŸJ™JˆD�‰MØˆr!   c           	     ó´   —  | 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%   s     r   r'   zWorkAreaInsets.from_jsoní  sn   € áØ$)¨T¡M”�D˜‘KÔ °tØ&,°¡n”�T˜&‘\Ô"¸$Ø*2°dÑ*:”3�t˜H‘~Ô&ÀØ(/°4©”#�d˜7‘mÓ$ô	
ð 	
ð >Bô	
ð 	
r!   )r(   r)   r*   r   r+   r   r   r   r    r,   r'   r-   r!   r   rÄ   rÄ   Ó  sO   … ð !%€CÐ	Ó$ð "&€DÐ
Ó%ð $(€FÐ Ó'ð #'€EÐÓ&ò
ð ñ
ó ñ
r!   rÄ   c                  ó8   ‡ — e Zd Zdd„Zedd„«       Zˆ fd„Zˆ xZS )ÚScreenIdc                ó   — | S rS   r-   rU   s    r   r    zScreenId.to_jsonø  s   € Øˆr!   c                ó   —  | |«      S rS   r-   r%   s     r   r'   zScreenId.from_jsonû  rX   r!   c                ó>   •— dj                  t        ‰| �	  «       «      S )NzScreenId({}))ÚformatÚsuperÚ__repr__)r   Ú	__class__s    €r   rÎ   zScreenId.__repr__ÿ  s   ø€ Ø×$Ñ$¤U¡WÑ%5Ó%7Ó8Ð8r!   )Úreturnr0   )r   r0   rÐ   rÈ   )r(   r)   r*   r    r,   r'   rÎ   Ú__classcell__)rÏ   s   @r   rÈ   rÈ   ÷  s&   ø„ óð òó ð÷9ð 9r!   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ed<   ded	<   ded
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   d„ Zed„ «       Zy)Ú
ScreenInfozž
    Screen information similar to the one returned by window.getScreenDetails() method,
    see https://w3c.github.io/window-management/#screendetailed.
    r$   r   r   ÚwidthÚheightÚ
avail_leftÚ	avail_topÚavail_widthÚavail_heightr“   Údevice_pixel_ratior/   r;   Úcolor_depthrh   Úis_extendedÚis_internalÚ
is_primaryr0   ÚlabelrÈ   Úid_c                ó2  — t        «       }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j                  |d	<   | j                  j                  «       |d
<   | j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j                   |d<   | j"                  j                  «       |d<   |S )Nr   r   rÔ   rÕ   Ú	availLeftÚavailTopÚ
availWidthÚavailHeightÚdevicePixelRatior;   Ú
colorDepthÚ
isExtendedÚ
isInternalÚ	isPrimaryrß   Úid)r   r   r   rÔ   rÕ   rÖ   r×   rØ   rÙ   rÚ   r;   r    rÛ   rÜ   rÝ   rÞ   rß   rà   r   s     r   r    zScreenInfo.to_json9  s	  € Ü‹vˆØ—y‘yˆˆV‰Ø—h‘hˆˆU‰ØŸ
™
ˆˆW‰ØŸ™ˆˆX‰Ø ŸO™Oˆˆ[ÑØŸ>™>ˆˆZÑØ!×-Ñ-ˆˆ\ÑØ"×/Ñ/ˆˆ]ÑØ#'×#:Ñ#:ˆÐÑ Ø"×.Ñ.×6Ñ6Ó8ˆˆ]ÑØ!×-Ñ-ˆˆ\ÑØ!×-Ñ-ˆˆ\ÑØ!×-Ñ-ˆˆ\ÑØ ŸO™Oˆˆ[ÑØŸ
™
ˆˆW‰Ø—X‘X×%Ñ%Ó'ˆˆT‰
Øˆr!   c           	     ó  —  | di dt        |d   «      “dt        |d   «      “dt        |d   «      “dt        |d   «      “dt        |d   «      “dt        |d   «      “d	t        |d
   «      “dt        |d   «      “dt        |d   «      “dt        j                  |d   «      “dt        |d   «      “dt	        |d   «      “dt	        |d   «      “dt	        |d   «      “dt        |d   «      “dt        j                  |d   «      “ŽS )Nr   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'   rh   r0   rÈ   r%   s     r   r'   zScreenInfo.from_jsonM  sR  € áò 
Ü�T˜&‘\Ô"ð
ä�D˜‘KÔ ð
ô �d˜7‘mÔ$ð
ô �t˜H‘~Ô&ð	
ô
 ˜4 Ñ,Ô-ð
ô ˜$˜zÑ*Ô+ð
ô ˜D Ñ.Ô/ð
ô ˜T -Ñ0Ô1ð
ô  % TÐ*<Ñ%=Ô>ð
ô *×3Ñ3°D¸Ñ4GÔHð
ô ˜D Ñ.Ô/ð
ô ˜T ,Ñ/Ô0ð
ô ˜T ,Ñ/Ô0ð
ô ˜D Ñ-Ô.ð
ô �d˜7‘mÔ$ð
ô  ×"Ñ" 4¨¡:Ô.ð!
ð 	
r!   Nr7   r-   r!   r   rÓ   rÓ     s˜   … ñð
 ƒIð 
ƒHð ƒJð ƒKð ƒOð ƒNð Óð Óð Óð #Ó"ð Óð Óð Óð Óð ƒJð 
ƒMòð( ñ
ó ñ
r!   rÓ   c                  ó2   — e Zd 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ÚjxlÚwebpc                ó   — | j                   S rS   rT   rU   s    r   r    zDisabledImageType.to_jsonk  rV   r!   c                ó   —  | |«      S rS   r-   r%   s     r   r'   zDisabledImageType.from_jsonn  rX   r!   N)
r(   r)   r*   r8   ÚAVIFÚJXLÚWEBPr    r,   r'   r-   r!   r   rî   rî   c  s1   „ ñð €DØ
€CØ€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  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ð ‰>�Dùrÿ   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ð ‰>�Dùrÿ   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Ø€Fˆ9Ñà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Ø€Fˆ6�Nà2Øñ€Hð ‰>�Dùr  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ùs   ‚*,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  ë  s6   è ø€ ô ›&€FØ—~‘~Ó'€Fˆ8Ñà7Øñ€Hð ‰>�Dùó   ‚(*c              #  ór  K  — t        «       }| |d<   ||d<   ||d<   ||d<   |�||d<   |�||d<   |�||d<   |�||d	<   |�||d
<   |	�|	|d<   |
�|
j                  «       |d<   |�|j                  «       |d<   |�|j                  «       |d<   |�|j                  «       |d<   |�||d<   |�||d<   d|dœ}|–—}y­w)a+
  
    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.
    :param scrollbar_type: **(EXPERIMENTAL)** *(Optional)* Scrollbar type. Default: ```default```.
    :param screen_orientation_lock_emulation: **(EXPERIMENTAL)** *(Optional)* If set to true, enables screen orientation lock emulation, which intercepts screen.orientation.lock() calls from the page and reports orientation changes via screenOrientationLockChanged events. This is useful for emulating mobile device orientation lock behavior in responsive design mode.
    rÔ   rÕ   ÚdeviceScaleFactorri   NÚscaleÚscreenWidthÚscreenHeightÚ	positionXÚ	positionYÚdontSetVisibleSizeÚscreenOrientationÚviewportÚdisplayFeatureÚdevicePostureÚscrollbarTypeÚscreenOrientationLockEmulationz"Emulation.setDeviceMetricsOverrider  r  )rÔ   rÕ   Údevice_scale_factorri   r  Úscreen_widthÚscreen_heightÚ
position_xÚ
position_yÚdont_set_visible_sizeÚscreen_orientationr#  Údisplay_featureÚdevice_postureÚscrollbar_typeÚ!screen_orientation_lock_emulationr  rû   r   s                      r   Úset_device_metrics_overrider3  ÿ  s5  è ø€ ôP ›&€FØ€Fˆ7�OØ€Fˆ8ÑØ"5€FÐÑØ€Fˆ8ÑØÐØˆˆw‰ØÐØ ,ˆˆ}ÑØÐ Ø!.ˆˆ~ÑØÐØ(ˆˆ{ÑØÐØ(ˆˆ{ÑØÐ(Ø'<ˆÐ#Ñ$ØÐ%Ø&8×&@Ñ&@Ó&BˆÐ"Ñ#ØÐØ%×-Ñ-Ó/ˆˆzÑØÐ"Ø#2×#:Ñ#:Ó#<ˆÐÑ ØÐ!Ø"0×"8Ñ"8Ó":ˆˆÑØÐ!Ø"0ˆˆÑØ(Ð4Ø3TˆÐ/Ñ0à6Øñ€Hð ‰>�Dùs   ‚B5B7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  )r5  r  rû   r   s       r   Úset_device_posture_overrider6  K  s6   è ø€ ô ›&€FØŸ™Ó)€Fˆ9Ñà6Øñ€Hð ‰>�Dùr  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_overrider8  _  s   è ø€ ð 	Ð8ð€Hð ‰>�Dùrÿ   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  rw   rû   r   s        r   Úset_display_features_overrider;  n  sE   è ø€ ô ›&€FØ/7Ö8¨!˜!Ÿ)™)�+Ò8€Fˆ:Ñà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ð ‰>�Dùrÿ   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_hiddenrA  ‘  s/   è ø€ ô ›&€FØ€Fˆ8Ñà1Øñ€Hð ‰>�Dùr  c              #  ó<   K  — t        «       }| |d<   d|dœ}|–—}y­w)zc


    **EXPERIMENTAL**

    :param disabled: Whether document.coookie API should be disabled.
    Údisabledz#Emulation.setDocumentCookieDisabledr  Nr  )rC  r  rû   r   s       r   Úset_document_cookie_disabledrD  ¤  s/   è ø€ ô ›&€FØ!€Fˆ:Ñà7Øñ€Hð ‰>�Dùr  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  rF  r  rû   r   s        r   Úset_emit_touch_events_for_mouserG  ·  s?   è ø€ ô ›&€FØ€Fˆ9ÑØÐ Ø"/ˆˆÑà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  )rJ  r:  r  rw   rû   r   s         r   Úset_emulated_mediarK  Î  sZ   è ø€ ô ›&€FØÐØˆˆw‰ØÐØ3;Ö<¨a˜aŸi™i�kÒ<ˆˆ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.
    r4   z%Emulation.setEmulatedVisionDeficiencyr  Nr  ©r1   r  rû   r   s       r   Úset_emulated_vision_deficiencyrN  ä  s.   è ø€ ô ›&€FØ€Fˆ6�Nà9Øñ€Hð ‰>�Dùr  c              #  ó@   K  — t        «       }| �| |d<   d|dœ}|–—}y­w)zK
    Emulates the given OS text scale.

    :param scale: *(Optional)*
    Nr  z Emulation.setEmulatedOSTextScaler  r  )r  r  rû   r   s       r   Úset_emulated_os_text_scalerP  õ  s4   è ø€ ô ›&€FØÐØˆˆw‰à4Øñ€Hð ‰>�Dùr  c              #  ó”   K  — t        «       }| �| |d<   |�||d<   |�||d<   |�||d<   |�||d<   |�||d<   |�||d<   d	|d
œ}|–—}	y­w)aÞ  
    Overrides the Geolocation Position or Error. Omitting latitude, longitude or
    accuracy emulates position unavailable.

    :param latitude: *(Optional)* Mock latitude
    :param longitude: *(Optional)* Mock longitude
    :param accuracy: *(Optional)* Mock accuracy
    :param altitude: *(Optional)* Mock altitude
    :param altitude_accuracy: *(Optional)* Mock altitudeAccuracy
    :param heading: *(Optional)* Mock heading
    :param speed: *(Optional)* Mock speed
    NÚlatitudeÚ	longitudeÚaccuracyÚaltitudeÚaltitudeAccuracyÚheadingÚspeedz Emulation.setGeolocationOverrider  r  )
rR  rS  rT  rU  Úaltitude_accuracyrW  rX  r  rû   r   s
             r   Úset_geolocation_overriderZ    s•   è ø€ ô* ›&€FØÐØ%ˆˆzÑØÐØ'ˆˆ{ÑØÐØ%ˆˆzÑØÐØ%ˆˆzÑØÐ$Ø%6ˆÐ!Ñ"ØÐØ#ˆˆyÑØÐØˆˆw‰à4Øñ€Hð ‰>�Dùs   ‚AAc              #  ór   K  — t        «       }| j                  «       |d<   d|dœ}|–—}t        |d   «      S ­w)z>


    **EXPERIMENTAL**

    :param type_:
    :returns: 
    r4   z(Emulation.getOverriddenSensorInformationr  ÚrequestedSamplingFrequency©r   r    r“   rM  s       r   Ú!get_overridden_sensor_informationr^  2  sE   è ø€ ô ›&€FØ—]‘]“_€Fˆ6�Nà<Øñ€Hð ‰>€DÜ�Ð2Ñ3Ó4Ð4ùs   ‚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  r4   NÚmetadataz"Emulation.setSensorOverrideEnabledr  r  )r  r1   r`  r  rû   r   s         r   Úset_sensor_override_enabledra  G  sW   è ø€ ô$ ›&€FØ€Fˆ9ÑØ—]‘]“_€Fˆ6�NØÐØ%×-Ñ-Ó/ˆˆ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:
    r4   Úreadingz#Emulation.setSensorOverrideReadingsr  Nr  )r1   rd  r  rû   r   s        r   Úset_sensor_override_readingsre  e  sE   è ø€ ô ›&€FØ—]‘]“_€Fˆ6�NØŸ™Ó)€Fˆ9Ñà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  rh  r`  r  rû   r   s         r   Ú$set_pressure_source_override_enabledri  |  sY   è ø€ ô" ›&€FØ€Fˆ9ÑØ—~‘~Ó'€Fˆ8ÑØÐØ%×-Ñ-Ó/ˆˆzÑà>Øñ€Hð ‰>�Dùrb  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:
    rh  Ústatez"Emulation.setPressureStateOverrider  Nr  )rh  rk  r  rû   r   s        r   Úset_pressure_state_overriderl  ™  sE   è ø€ ô ›&€FØ—~‘~Ó'€Fˆ8ÑØ—m‘m“o€Fˆ7�Oà6Øñ€Hð ‰>�Dùrf  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_overriderr  ±  s:   è ø€ ô ›&€FØ+€Fˆ>ÑØ!3€FÐÑà-Øñ€Hð ‰>�Dùó   ‚!c               #  ó   K  — ddi} | –—}y­w)z&
    Clears Idle state overrides.
    rø   zEmulation.clearIdleOverrideNr-   rú   s     r   Úclear_idle_overrideru  Å  s   è ø€ ð
 	Ð/ð€Hð ‰>�Dùrÿ   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.
    rd   zEmulation.setNavigatorOverridesr  Nr  )rd   r  rû   r   s       r   Úset_navigator_overridesrw  Ï  s/   è ø€ ô ›&€FØ!€Fˆ:Ñà3Øñ€Hð ‰>�Dùr  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_factorr{  â  s0   è ø€ ô ›&€FØ 1€FÐÑà0Øñ€Hð ‰>�Dùr  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.
    rJ   z$Emulation.setScriptExecutionDisabledr  Nr  )rJ   r  rû   r   s       r   Úset_script_execution_disabledr}  õ  s.   è ø€ ô ›&€FØ€Fˆ7�Oà8Øñ€Hð ‰>�Dùr  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_enabledr�    s@   è ø€ ô ›&€FØ€Fˆ9ÑØÐ#Ø#3ˆÐÑ à6Øñ€Hð ‰>�DùrH  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]  )rƒ  r„  Ú&max_virtual_time_task_starvation_countÚinitial_virtual_timer  rû   r   s          r   Úset_virtual_time_policyrŠ    s‚   è ø€ ô$ ›&€FØ—~‘~Ó'€Fˆ8ÑØÐØ!ˆˆxÑØ-Ð9Ø6\ˆÐ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  )rŒ  r  rû   r   s       r   Úset_locale_overrider�  =  s5   è ø€ ô ›&€FØÐØ!ˆˆxÑà/Øñ€Hð ‰>�Dùr  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_overrider‘  Q  s/   è ø€ ô ›&€FØ&€Fˆ<Ñà1Øñ€Hð ‰>�Dùr  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“  b  s8   è ø€ ô ›&€FØ€Fˆ7�OØ€Fˆ8Ñà,Øñ€Hð ‰>�Dùrs  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  rw   rû   r   s        r   Úset_disabled_image_typesr—  z  sE   è ø€ ô ›&€FØ1<Ö=¨A˜AŸI™I�KÒ=€Fˆ<Ñà3Øñ€Hð ‰>�Dùò >ùr<  c              #  ó@   K  — t        «       }| �| |d<   d|dœ}|–—}y­w)z¾
    Override the value of navigator.connection.saveData

    **EXPERIMENTAL**

    :param data_saver_enabled: *(Optional)* Override value. Omitting the parameter disables the override.
    NÚdataSaverEnabledzEmulation.setDataSaverOverrider  r  )Údata_saver_enabledr  rû   r   s       r   Úset_data_saver_overrider›  �  s6   è ø€ ô ›&€FØÐ%Ø%7ˆÐ!Ñ"à2Øñ€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_overriderŸ  ¡  s0   è ø€ ô ›&€FØ$8€FÐ Ñ!à<Øñ€Hð ‰>�Dùr  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ÚacceptLanguagerd   ÚuserAgentMetadatazEmulation.setUserAgentOverrider  r  )Ú
user_agentÚaccept_languagerd   Úuser_agent_metadatar  rû   r   s          r   Úset_user_agent_overrider§  ´  sj   è ø€ ô ›&€FØ$€Fˆ;ÑØÐ"Ø#2ˆÐÑ ØÐØ%ˆˆzÑØÐ&Ø&9×&AÑ&AÓ&CˆÐ"Ñ#à2Øñ€Hð ‰>�Dùs   ‚=?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_overrider©  Ò  s/   è ø€ ô ›&€FØ€Fˆ9Ñà3Øñ€Hð ‰>�Dùr  c              #  ó<   K  — t        «       }| |d<   d|dœ}|–—}y­w)af  
    Allows overriding the difference between the small and large viewport sizes, which determine the
    value of the ``svh`` and ``lvh`` unit, respectively. Only supported for top-level frames.

    **EXPERIMENTAL**

    :param difference: This will cause an element of size 100svh to be ```difference``` pixels smaller than an element of size 100lvh.
    Ú
differencez2Emulation.setSmallViewportHeightDifferenceOverrider  Nr  )r«  r  rû   r   s       r   Ú-set_small_viewport_height_difference_overrider¬  å  s/   è ø€ ô ›&€FØ%€Fˆ<ÑàFØñ€Hð ‰>�Dùr  c               #  óp   K  — ddi} | –—}|d   D �cg c]  }t         j                  |«      ‘Œ c}S c c}w ­w)zò
    Returns device's screen configuration. In headful mode, the physical screens configuration is returned,
    whereas in headless mode, a virtual headless screen configuration is provided instead.

    **EXPERIMENTAL**

    :returns: 
    rø   zEmulation.getScreenInfosÚscreenInfos)rÓ   r'   )rû   r   rw   s      r   Úget_screen_infosr¯  ù  sB   è ø€ ð 	Ð,ð€Hð ‰>€DØ-1°-Ñ-@ÖA¨ŒJ× Ñ  Õ#ÒAÐAùÒAùs   ‚6’1®6c
              #  óø   K  — t        «       }
| |
d<   ||
d<   ||
d<   ||
d<   |�|j                  «       |
d<   |�||
d<   |�||
d<   |�||
d<   |�||
d	<   |	�|	|
d
<   d|
dœ}|–—}t        j                  |d   «      S ­w)aü  
    Add a new screen to the device. Only supported in headless mode.

    **EXPERIMENTAL**

    :param left: Offset of the left edge of the screen in pixels.
    :param top: Offset of the top edge of the screen in pixels.
    :param width: The width of the screen in pixels.
    :param height: The height of the screen in pixels.
    :param work_area_insets: *(Optional)* Specifies the screen's work area. Default is entire screen.
    :param device_pixel_ratio: *(Optional)* Specifies the screen's device pixel ratio. Default is 1.
    :param rotation: *(Optional)* Specifies the screen's rotation angle. Available values are 0, 90, 180 and 270. Default is 0.
    :param color_depth: *(Optional)* Specifies the screen's color depth in bits. Default is 24.
    :param label: *(Optional)* Specifies the descriptive label for the screen. Default is none.
    :param is_internal: *(Optional)* Indicates whether the screen is internal to the device or external, attached to the device. Default is false.
    :returns: 
    r   r   rÔ   rÕ   ÚworkAreaInsetsræ   Úrotationrç   rß   ré   zEmulation.addScreenr  Ú
screenInfo©r   r    rÓ   r'   )r   r   rÔ   rÕ   Úwork_area_insetsrÚ   r²  rÛ   rß   rÝ   r  rû   r   s                r   Ú
add_screenr¶  	  sÊ   è ø€ ô: ›&€FØ€Fˆ6�NØ€Fˆ5�MØ€Fˆ7�OØ€Fˆ8ÑØÐ#Ø#3×#;Ñ#;Ó#=ˆÐÑ ØÐ%Ø%7ˆÐ!Ñ"ØÐØ%ˆˆzÑØÐØ*ˆˆ|ÑØÐØˆˆw‰ØÐØ*ˆˆ|Ñà'Øñ€Hð ‰>€DÜ×Ñ  \Ñ 2Ó3Ð3ùs   ‚A8A:c              #  ó.  K  — t        «       }| j                  «       |d<   |�||d<   |�||d<   |�||d<   |�||d<   |�|j                  «       |d<   |�||d<   |�||d<   |�||d	<   |	�|	|d
<   |
�|
|d<   d|dœ}|–—}t        j                  |d   «      S ­w)a  
    Updates specified screen parameters. Only supported in headless mode.

    **EXPERIMENTAL**

    :param screen_id: Target screen identifier.
    :param left: *(Optional)* Offset of the left edge of the screen in pixels.
    :param top: *(Optional)* Offset of the top edge of the screen in pixels.
    :param width: *(Optional)* The width of the screen in pixels.
    :param height: *(Optional)* The height of the screen in pixels.
    :param work_area_insets: *(Optional)* Specifies the screen's work area.
    :param device_pixel_ratio: *(Optional)* Specifies the screen's device pixel ratio.
    :param rotation: *(Optional)* Specifies the screen's rotation angle. Available values are 0, 90, 180 and 270.
    :param color_depth: *(Optional)* Specifies the screen's color depth in bits.
    :param label: *(Optional)* Specifies the descriptive label for the screen.
    :param is_internal: *(Optional)* Indicates whether the screen is internal to the device or external, attached to the device. Default is false.
    :returns: 
    ÚscreenIdr   r   rÔ   rÕ   r±  ræ   r²  rç   rß   ré   zEmulation.updateScreenr  r³  r´  )Ú	screen_idr   r   rÔ   rÕ   rµ  rÚ   r²  rÛ   rß   rÝ   r  rû   r   s                 r   Úupdate_screenrº  ?  sô   è ø€ ô> ›&€FØ"×*Ñ*Ó,€Fˆ:ÑØÐØˆˆv‰Ø
€Øˆˆu‰ØÐØˆˆw‰ØÐØ!ˆˆxÑØÐ#Ø#3×#;Ñ#;Ó#=ˆÐÑ ØÐ%Ø%7ˆÐ!Ñ"ØÐØ%ˆˆzÑØÐØ*ˆˆ|ÑØÐØˆˆw‰ØÐØ*ˆˆ|Ñà*Øñ€Hð ‰>€DÜ×Ñ  \Ñ 2Ó3Ð3ùs   ‚BBc              #  óX   K  — t        «       }| j                  «       |d<   d|dœ}|–—}y­w)zv
    Remove screen from the device. Only supported in headless mode.

    **EXPERIMENTAL**

    :param screen_id:
    r¸  zEmulation.removeScreenr  Nr  ©r¹  r  rû   r   s       r   Úremove_screenr½  |  s8   è ø€ ô ›&€FØ"×*Ñ*Ó,€Fˆ:Ñà*Øñ€Hð ‰>�Dùr  c              #  óX   K  — t        «       }| j                  «       |d<   d|dœ}|–—}y­w)a  
    Set primary screen. Only supported in headless mode.
    Note that this changes the coordinate system origin to the top-left
    of the new primary screen, updating the bounds and work areas
    of all existing screens accordingly.

    **EXPERIMENTAL**

    :param screen_id:
    r¸  zEmulation.setPrimaryScreenr  Nr  r¼  s       r   Úset_primary_screenr¿  �  s8   è ø€ ô ›&€FØ"×*Ñ*Ó,€Fˆ:Ñà.Øñ€Hð ‰>�Dùr  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 rS   r-   r%   s     r   r'   z"VirtualTimeBudgetExpired.from_json¯  s   € áó 
ð 	
r!   N)r   r   rÐ   rÁ  )r(   r)   r*   r8   r,   r'   r-   r!   r   rÁ  rÁ  ¥  s   „ ñð ò
ó ñ
r!   rÁ  z&Emulation.screenOrientationLockChangedc                  ó8   — e Zd ZU dZded<   ded<   edd„«       Zy)	ÚScreenOrientationLockChangedzô
    **EXPERIMENTAL**

    Fired when a page calls screen.orientation.lock() or screen.orientation.unlock()
    while device emulation is enabled. This allows the DevTools frontend to update the
    emulated device orientation accordingly.
    rh   Úlockedú"typing.Optional[ScreenOrientation]r;   c                óp   —  | t        |d   «      d|v rt        j                  |d   «      ¬«      S d ¬«      S )NrÅ  r;   )rÅ  r;   )rh   r/   r'   r%   s     r   r'   z&ScreenOrientationLockChanged.from_jsonÅ  sD   € áÜ˜˜X™Ó'ØLYÐ]aÑLaÔ)×3Ñ3°D¸Ñ4GÓHô
ð 	
àgkô
ð 	
r!   N)r   r   rÐ   rÄ  )r(   r)   r*   r8   r+   r,   r'   r-   r!   r   rÄ  rÄ  ¶  s&   … ñð ƒLà3Ó3àò
ó ñ
r!   rÄ  )rÐ   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool])rÐ   ú0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r  rh   rÐ   rÈ  rS   )r  ro   rÐ   rÈ  )r  r“   rÐ   rÈ  )r  ztyping.Optional[dom.RGBA]rÐ   rÈ  )r  r   rÐ   rÈ  )NNNNNNNNNNNN)"rÔ   r$   rÕ   r$   r(  r“   ri   rh   r  rŒ   r)  r   r*  r   r+  r   r,  r   r-  ro   r.  rÆ  r#  ztyping.Optional[page.Viewport]r/  ztyping.Optional[DisplayFeature]r0  ztyping.Optional[DevicePosture]r1  rl   r2  ro   rÐ   rÈ  )r5  rC   rÐ   rÈ  )r:  ztyping.List[DisplayFeature]rÐ   rÈ  )r@  rh   rÐ   rÈ  )rC  rh   rÐ   rÈ  )r  rh   rF  rl   rÐ   rÈ  )NN)rJ  rl   r:  z*typing.Optional[typing.List[MediaFeature]]rÐ   rÈ  )r1   r0   rÐ   rÈ  )r  rŒ   rÐ   rÈ  )NNNNNNN)rR  rŒ   rS  rŒ   rT  rŒ   rU  rŒ   rY  rŒ   rW  rŒ   rX  rŒ   rÐ   rÈ  )r1   rz   rÐ   ú1typing.Generator[T_JSON_DICT, T_JSON_DICT, float])r  rh   r1   rz   r`  ztyping.Optional[SensorMetadata]rÐ   rÈ  )r1   rz   rd  r¦   rÐ   rÈ  )r  rh   rh  r­   r`  z!typing.Optional[PressureMetadata]rÐ   rÈ  )rh  r­   rk  r³   rÐ   rÈ  )rp  rh   rq  rh   rÐ   rÈ  )rd   r0   rÐ   rÈ  )rz  r“   rÐ   rÈ  )rJ   rh   rÐ   rÈ  )r  rh   r€  r   rÐ   rÈ  )NNN)
rƒ  rN   r„  rŒ   rˆ  r   r‰  z'typing.Optional[network.TimeSinceEpoch]rÐ   rÉ  )rŒ  rl   rÐ   rÈ  )r�  r0   rÐ   rÈ  )rÔ   r$   rÕ   r$   rÐ   rÈ  )r–  ztyping.List[DisabledImageType]rÐ   rÈ  )rš  ro   rÐ   rÈ  )rž  r$   rÐ   rÈ  )
r¤  r0   r¥  rl   rd   rl   r¦  z"typing.Optional[UserAgentMetadata]rÐ   rÈ  )r«  r$   rÐ   rÈ  )rÐ   zCtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[ScreenInfo]])NNNNNN)r   r$   r   r$   rÔ   r$   rÕ   r$   rµ  útyping.Optional[WorkAreaInsets]rÚ   rŒ   r²  r   rÛ   r   rß   rl   rÝ   ro   rÐ   ú6typing.Generator[T_JSON_DICT, T_JSON_DICT, ScreenInfo])
NNNNNNNNNN)r¹  rÈ   r   r   r   r   rÔ   r   rÕ   r   rµ  rÊ  rÚ   rŒ   r²  r   rÛ   r   rß   rl   rÝ   ro   rÐ   rË  )r¹  rÈ   rÐ   rÈ  )UÚ
__future__r   Úutilr   r   Údataclassesr   ÚenumÚtypingÚ r   r	   r
   r   r/   r:   rC   rH   ÚEnumrN   r]   rc   rz   rŠ   r•   rš   r¡   r¦   r­   r³   r¿   rÄ   r0   rÈ   rÓ   rî   rü   rþ   r  r  r
  r  r  r  r  r3  r6  r8  r;  r>  rA  rD  rG  rK  rN  rP  rZ  r^  ra  re  ri  rl  rr  ru  rw  r{  r}  r�  rŠ  r�  r‘  r“  r—  r›  rŸ  r§  r©  r¬  r¯  r¶  rº  r½  r¿  rÁ  rÄ  r-   r!   r   ú<module>rÓ     s¸  ðõ #ß *Ý !Û Û Ý Ý Ý ð ÷8
ð 8
ó ð8
ðv ÷
ð 
ó ð
ð0 ÷
ð 
ó ð
ð: ÷
ð 
ó ð
ð  ÷
ð 
ó ð
ô&˜Ÿ	™	ô ð& ÷
ð 
ó ð
ð, ÷B
ð B
ó ðB
ôJ�—‘ô ð, ÷
ð 
ó ð
ð4 ÷
ð 
ó ð
ð ÷
ð 
ó ð
ð. ÷
ð 
ó ð
ð6 ÷
ð 
ó ð
ô4�T—Y‘Yô ô�D—I‘Iô ð ÷
ð 
ó ð
ð  ÷ 
ð  
ó ð 
ôF	9ˆsô 	9ð ÷\
ð \
ó ð\
ô~˜Ÿ	™	ô ó 
 óóó	ðØðà	7óð( *.ðØ&ðà	7óð(Øðà	7óð$ ,0ðØ(ðà	7óð&Øðà	7óð2 )-Ø-1Ø.2Ø+/Ø+/Ø7;ØAEØ37Ø;?Ø9=Ø/3ØCGð!IØðIàðIð #ðIð ð	Ið
 &ðIð +ðIð ,ðIð )ðIð )ðIð  5ðIð ?ðIð 1ðIð 9ðIð 7ðIð -ðIð  ,Að!Ið" 
8ó#IðXØðà	7óó(ðØ-ðà	7óó(ðØðà	7óð&Øðà	7óð* /3ðØðà+ðð 
8óð0 '+Ø?CðØ#ðà<ðð 
8óð,Øðà	7óð$ )-ðØ%ðà	7óð& ,0Ø,0Ø+/Ø+/Ø48Ø*.Ø(,ð(Ø(ð(à)ð(ð )ð(ð )ð	(ð
 2ð(ð (ð(ð &ð(ð 
8ó(ðV5Øð5à	8ó5ð0 59ðØðàðð 2ðð 
8ó	ð<Øðàðð 
8óð4 7;ðØðàðð 4ðð 
8ó	ð:Øðàðð 
8óð0Øðà ðð 
8óó(ðØðà	7óð&Ø ðà	7óð&Øðà	7óð& 26ðØðà.ðð 
8óð. *.ØGKØHLð	/Ø!ð/à&ð/ð 1Eð/ð Fð	/ð
 
9ó/ðF (,ðØ$ðà	7óð(Øðà	7óð"Øðàðð 
8óð0Ø3ðà	7óð( 59ðØ1ðà	7óð(Ø!ðà	7óð* 15Ø)-ØBFð	Øðà-ðð 'ðð @ð	ð
 
8óð<Øðà	7óð&Øðà	7óó(Bð* =AØ59Ø)-Ø,0Ø&*Ø-1ð34Øð34àð34ð ð34ð ð	34ð
 :ð34ð 3ð34ð 'ð34ð *ð34ð $ð34ð +ð34ð 
>ó34ðp &*Ø$(Ø&*Ø'+Ø<@Ø59Ø)-Ø,0Ø&*Ø-1ð:4Øð:4à"ð:4ð "ð:4ð $ð	:4ð
 %ð:4ð :ð:4ð 3ð:4ð 'ð:4ð *ð:4ð $ð:4ð +ð:4ð 
>ó:4ðzØðà	7óð&Øðà	7óñ, Ð1Ó2Ø
÷
ð 
ó ó 3ð
ñ Ð5Ó6Ø
÷
ð 
ó ó 7ñ
r!   