o
    M,h_U                     @  s  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 G d	d
 d
eZeG dd dZG dd dejZG dd dejZG dd dejZeG dd dZeG dd dZG dd deZG dd dejZG dd dejZG dd dejZeG dd  d Zd9d#d$Zd9d%d&Zed'eG d(d) d)Zed*eG d+d, d,Zed-eG d.d/ d/Zed0eG d1d2 d2Z ed3eG d4d5 d5Z!ed6eG d7d8 d8Z"dS ):    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)pagec                      8   e Zd ZdZdddZedddZ fd	d
Z  ZS )	RuleSetIdz
    Unique id
    returnstrc                 C     | S N selfr   r   {/var/www/www-root/data/www/bot.pdev.uz/venv/lib/python3.10/site-packages/selenium/webdriver/common/devtools/v141/preload.pyto_json      zRuleSetId.to_jsonjsonc                 C     | |S r   r   clsr   r   r   r   	from_json      zRuleSetId.from_jsonc                      d t  S )NzRuleSetId({})formatsuper__repr__r   	__class__r   r   r          zRuleSetId.__repr__r   r   )r   r   r   r   	__name__
__module____qualname____doc__r   classmethodr   r    __classcell__r   r   r!   r   r      s    
r   c                   @  sz   e Zd ZU dZ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d Z
edd ZdS )RuleSetz+
    Corresponds to SpeculationRuleSet
    r   id_network.LoaderId	loader_idr   source_textNz"typing.Optional[dom.BackendNodeId]backend_node_idtyping.Optional[str]urlz"typing.Optional[network.RequestId]
request_idz!typing.Optional[RuleSetErrorType]
error_typeerror_messagec                 C  s   t  }| j |d< | j |d< | j|d< | jd ur"| j |d< | jd ur,| j|d< | jd ur8| j |d< | jd urD| j |d< | j	d urN| j	|d< |S )	NidloaderId
sourceTextbackendNodeIdr3   	requestId	errorTypeerrorMessage)
dictr-   r   r/   r0   r1   r3   r4   r5   r6   r   r   r   r   r   r   J   s   







zRuleSet.to_jsonc                 C  s   | t |d tj|d t|d d|v rtj|d nd d|v r*t|d nd d|v r7tj|d nd d|v rCt|d nd d|v rPt|d d	S d d	S )
Nr7   r8   r9   r:   r3   r;   r<   r=   )r-   r/   r0   r1   r3   r4   r5   r6   )	r   r   r   LoaderIdr   r   BackendNodeId	RequestIdRuleSetErrorTyper   r   r   r   r   [   s   
zRuleSet.from_json)r&   r'   r(   r)   __annotations__r1   r3   r4   r5   r6   r   r*   r   r   r   r   r   r,       s   
 	r,   c                   @  ,   e Zd ZdZdZdZdd Zedd ZdS )	rC   SourceIsNotJsonObjectInvalidRulesSkippedInvalidRulesetLevelTagc                 C     | j S r   valuer   r   r   r   r   n      zRuleSetErrorType.to_jsonc                 C  r   r   r   r   r   r   r   r   q   r   zRuleSetErrorType.from_jsonN)	r&   r'   r(   SOURCE_IS_NOT_JSON_OBJECTINVALID_RULES_SKIPPEDINVALID_RULESET_LEVEL_TAGr   r*   r   r   r   r   r   rC   i   s    rC   c                   @  rE   )	SpeculationActionz
    The type of preloading attempted. It corresponds to
    mojom::SpeculationAction (although PrefetchWithSubresources is omitted as it
    isn't being used by clients).
    Prefetch	Prerenderc                 C  rI   r   rJ   r   r   r   r   r      rL   zSpeculationAction.to_jsonc                 C  r   r   r   r   r   r   r   r      r   zSpeculationAction.from_jsonN)	r&   r'   r(   r)   PREFETCH	PRERENDERr   r*   r   r   r   r   r   rP   v   s    rP   c                   @  rE   )	SpeculationTargetHintz
    Corresponds to mojom::SpeculationTargetHint.
    See https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints
    BlankSelfc                 C  rI   r   rJ   r   r   r   r   r      rL   zSpeculationTargetHint.to_jsonc                 C  r   r   r   r   r   r   r   r      r   zSpeculationTargetHint.from_jsonN)	r&   r'   r(   r)   BLANKSELFr   r*   r   r   r   r   r   rU      s    rU   c                   @  sJ   e Zd ZU dZded< ded< ded< dZd	ed
< dd Zedd ZdS )PreloadingAttemptKeyaH  
    A key that identifies a preloading attempt.

    The url used is the url specified by the trigger (i.e. the initial URL), and
    not the final url that is navigated to. For example, prerendering allows
    same-origin main frame navigations during the attempt, but the attempt is
    still keyed with the initial URL.
    r.   r/   rP   actionr   r3   Nz&typing.Optional[SpeculationTargetHint]target_hintc                 C  sH   t  }| j |d< | j |d< | j|d< | jd ur"| j |d< |S )Nr8   r[   r3   
targetHint)r>   r/   r   r[   r3   r\   r?   r   r   r   r      s   

zPreloadingAttemptKey.to_jsonc                 C  sH   | t j|d t|d t|d d|v r t|d dS d dS )Nr8   r[   r3   r]   )r/   r[   r3   r\   )r   r@   r   rP   r   rU   r   r   r   r   r      s   
zPreloadingAttemptKey.from_json)	r&   r'   r(   r)   rD   r\   r   r*   r   r   r   r   r   rZ      s   
 	rZ   c                   @  s>   e Zd ZU dZded< ded< ded< dd	 Zed
d ZdS )PreloadingAttemptSourceav  
    Lists sources for a preloading attempt, specifically the ids of rule sets
    that had a speculation rule that triggered the attempt, and the
    BackendNodeIds of <a href> or <area href> elements that triggered the
    attempt (in the case of attempts triggered by a document rule). It is
    possible for multiple rule sets and links to trigger a single attempt.
    rZ   keyztyping.List[RuleSetId]rule_set_idsztyping.List[dom.BackendNodeId]node_idsc                 C  s@   t  }| j |d< dd | jD |d< dd | jD |d< |S )Nr_   c                 S     g | ]}|  qS r   r   .0ir   r   r   
<listcomp>       z3PreloadingAttemptSource.to_json.<locals>.<listcomp>
ruleSetIdsc                 S  rb   r   rc   rd   r   r   r   rg      rh   nodeIds)r>   r_   r   r`   ra   r?   r   r   r   r      s
   zPreloadingAttemptSource.to_jsonc                 C  s4   | t |d dd |d D dd |d D dS )Nr_   c                 S     g | ]}t |qS r   r   r   rd   r   r   r   rg          z5PreloadingAttemptSource.from_json.<locals>.<listcomp>ri   c                 S  s   g | ]}t j|qS r   )r   rA   r   rd   r   r   r   rg      s    rj   )r_   r`   ra   )rZ   r   r   r   r   r   r      s
   z!PreloadingAttemptSource.from_jsonN)r&   r'   r(   r)   rD   r   r*   r   r   r   r   r   r^      s   
 r^   c                      r
   )PreloadPipelineIdaK  
    Chrome manages different types of preloads together using a
    concept of preloading pipeline. For example, if a site uses a
    SpeculationRules for prerender, Chrome first starts a prefetch and
    then upgrades it to prerender.

    CDP events for them are emitted separately but they share
    ``PreloadPipelineId``.
    r   r   c                 C  r   r   r   r   r   r   r   r      r   zPreloadPipelineId.to_jsonr   c                 C  r   r   r   r   r   r   r   r      r   zPreloadPipelineId.from_jsonc                   r   )NzPreloadPipelineId({})r   r   r!   r   r   r       r#   zPreloadPipelineId.__repr__r$   )r   r   r   rn   r%   r   r   r!   r   rn      s    
	rn   c                   @  sL  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLdM ZNeOdNdO ZPdPS )QPrerenderFinalStatusz5
    List of FinalStatus reasons for Prerender2.
    	Activated	DestroyedLowEndDeviceInvalidSchemeRedirectInvalidSchemeNavigationNavigationRequestBlockedByCspMojoBinderPolicyRendererProcessCrashedRendererProcessKilledDownloadTriggerDestroyedNavigationNotCommittedNavigationBadHttpStatusClientCertRequestedNavigationRequestNetworkErrorCancelAllHostsForTestingDidFailLoadStopSslCertificateErrorLoginAuthRequestedUaChangeRequiresReloadBlockedByClientAudioOutputDeviceRequestedMixedContentTriggerBackgroundedMemoryLimitExceededDataSaverEnabledTriggerUrlHasEffectiveUrlActivatedBeforeStartedInactivePageRestrictionStartFailedTimeoutBackgrounded$CrossSiteRedirectInInitialNavigation&CrossSiteNavigationInInitialNavigation6SameSiteCrossOriginRedirectNotOptInInInitialNavigation8SameSiteCrossOriginNavigationNotOptInInInitialNavigation%ActivationNavigationParameterMismatchActivatedInBackgroundEmbedderHostDisallowed*ActivationNavigationDestroyedBeforeSuccessTabClosedByUserGestureTabClosedWithoutUserGesture&PrimaryMainFrameRendererProcessCrashed%PrimaryMainFrameRendererProcessKilled"ActivationFramePolicyNotCompatiblePreloadingDisabledBatterySaverEnabled"ActivatedDuringMainFrameNavigation"PreloadingUnsupportedByWebContents&CrossSiteRedirectInMainFrameNavigation(CrossSiteNavigationInMainFrameNavigation8SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation:SameSiteCrossOriginNavigationNotOptInInMainFrameNavigationMemoryPressureOnTriggerMemoryPressureAfterTriggeredPrerenderingDisabledByDevToolsSpeculationRuleRemoved&ActivatedWithAuxiliaryBrowsingContexts&MaxNumOfRunningEagerPrerendersExceeded)MaxNumOfRunningNonEagerPrerendersExceeded)MaxNumOfRunningEmbedderPrerendersExceededPrerenderingUrlHasEffectiveUrl(RedirectedPrerenderingUrlHasEffectiveUrlActivationUrlHasEffectiveUrlJavaScriptInterfaceAddedJavaScriptInterfaceRemovedAllPrerenderingCanceledWindowClosedSlowNetworkOtherPrerenderedPageActivatedV8OptimizerDisabledPrerenderFailedDuringPrefetchBrowsingDataRemovedPrerenderHostReusedc                 C  rI   r   rJ   r   r   r   r   r   ?  rL   zPrerenderFinalStatus.to_jsonc                 C  r   r   r   r   r   r   r   r   B  r   zPrerenderFinalStatus.from_jsonN)Qr&   r'   r(   r)   	ACTIVATED	DESTROYEDLOW_END_DEVICEINVALID_SCHEME_REDIRECTINVALID_SCHEME_NAVIGATION!NAVIGATION_REQUEST_BLOCKED_BY_CSPMOJO_BINDER_POLICYRENDERER_PROCESS_CRASHEDRENDERER_PROCESS_KILLEDDOWNLOADTRIGGER_DESTROYEDNAVIGATION_NOT_COMMITTEDNAVIGATION_BAD_HTTP_STATUSCLIENT_CERT_REQUESTED NAVIGATION_REQUEST_NETWORK_ERRORCANCEL_ALL_HOSTS_FOR_TESTINGDID_FAIL_LOADSTOPSSL_CERTIFICATE_ERRORLOGIN_AUTH_REQUESTEDUA_CHANGE_REQUIRES_RELOADBLOCKED_BY_CLIENTAUDIO_OUTPUT_DEVICE_REQUESTEDMIXED_CONTENTTRIGGER_BACKGROUNDEDMEMORY_LIMIT_EXCEEDEDDATA_SAVER_ENABLEDTRIGGER_URL_HAS_EFFECTIVE_URLACTIVATED_BEFORE_STARTEDINACTIVE_PAGE_RESTRICTIONSTART_FAILEDTIMEOUT_BACKGROUNDED)CROSS_SITE_REDIRECT_IN_INITIAL_NAVIGATION+CROSS_SITE_NAVIGATION_IN_INITIAL_NAVIGATION@SAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_INITIAL_NAVIGATIONBSAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_INITIAL_NAVIGATION(ACTIVATION_NAVIGATION_PARAMETER_MISMATCHACTIVATED_IN_BACKGROUNDEMBEDDER_HOST_DISALLOWED.ACTIVATION_NAVIGATION_DESTROYED_BEFORE_SUCCESSTAB_CLOSED_BY_USER_GESTURETAB_CLOSED_WITHOUT_USER_GESTURE+PRIMARY_MAIN_FRAME_RENDERER_PROCESS_CRASHED*PRIMARY_MAIN_FRAME_RENDERER_PROCESS_KILLED&ACTIVATION_FRAME_POLICY_NOT_COMPATIBLEPRELOADING_DISABLEDBATTERY_SAVER_ENABLED&ACTIVATED_DURING_MAIN_FRAME_NAVIGATION&PRELOADING_UNSUPPORTED_BY_WEB_CONTENTS,CROSS_SITE_REDIRECT_IN_MAIN_FRAME_NAVIGATION.CROSS_SITE_NAVIGATION_IN_MAIN_FRAME_NAVIGATIONCSAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONESAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONMEMORY_PRESSURE_ON_TRIGGERMEMORY_PRESSURE_AFTER_TRIGGERED"PRERENDERING_DISABLED_BY_DEV_TOOLSSPECULATION_RULE_REMOVED*ACTIVATED_WITH_AUXILIARY_BROWSING_CONTEXTS,MAX_NUM_OF_RUNNING_EAGER_PRERENDERS_EXCEEDED0MAX_NUM_OF_RUNNING_NON_EAGER_PRERENDERS_EXCEEDED/MAX_NUM_OF_RUNNING_EMBEDDER_PRERENDERS_EXCEEDED"PRERENDERING_URL_HAS_EFFECTIVE_URL-REDIRECTED_PRERENDERING_URL_HAS_EFFECTIVE_URL ACTIVATION_URL_HAS_EFFECTIVE_URLJAVA_SCRIPT_INTERFACE_ADDEDJAVA_SCRIPT_INTERFACE_REMOVEDALL_PRERENDERING_CANCELEDWINDOW_CLOSEDSLOW_NETWORK OTHER_PRERENDERED_PAGE_ACTIVATEDV8_OPTIMIZER_DISABLED PRERENDER_FAILED_DURING_PREFETCHBROWSING_DATA_REMOVEDPRERENDER_HOST_REUSEDr   r*   r   r   r   r   r   ro      s    ro   c                   @  s<   e Zd ZdZdZdZdZdZdZdZ	dd	 Z
ed
d ZdS )PreloadingStatusz
    Preloading status values, see also PreloadingTriggeringOutcome. This
    status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
    PendingRunningReadySuccessFailureNotSupportedc                 C  rI   r   rJ   r   r   r   r   r   S  rL   zPreloadingStatus.to_jsonc                 C  r   r   r   r   r   r   r   r   V  r   zPreloadingStatus.from_jsonN)r&   r'   r(   r)   PENDINGRUNNINGREADYSUCCESSFAILURENOT_SUPPORTEDr   r*   r   r   r   r   r   r  G  s    r  c                   @  s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$d% Z&e'd&d' Z(d(S ))PrefetchStatusz
    TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and
    filter out the ones that aren't necessary to the developers.
    PrefetchAllowed PrefetchFailedIneligibleRedirectPrefetchFailedInvalidRedirectPrefetchFailedMIMENotSupportedPrefetchFailedNetErrorPrefetchFailedNon2XX'PrefetchEvictedAfterBrowsingDataRemoved$PrefetchEvictedAfterCandidateRemovedPrefetchEvictedForNewerPrefetchPrefetchHeldbackPrefetchIneligibleRetryAfterPrefetchIsPrivacyDecoyPrefetchIsStale-PrefetchNotEligibleBrowserContextOffTheRecord#PrefetchNotEligibleDataSaverEnabled PrefetchNotEligibleExistingProxy"PrefetchNotEligibleHostIsNonUnique-PrefetchNotEligibleNonDefaultStoragePartition;PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy#PrefetchNotEligibleSchemeIsNotHttps!PrefetchNotEligibleUserHasCookies'PrefetchNotEligibleUserHasServiceWorker5PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler,PrefetchNotEligibleRedirectFromServiceWorker*PrefetchNotEligibleRedirectToServiceWorker&PrefetchNotEligibleBatterySaverEnabled%PrefetchNotEligiblePreloadingDisabledPrefetchNotFinishedInTimePrefetchNotStartedPrefetchNotUsedCookiesChangedPrefetchProxyNotAvailablePrefetchResponseUsedPrefetchSuccessfulButNotUsedPrefetchNotUsedProbeFailedc                 C  rI   r   rJ   r   r   r   r   r     rL   zPrefetchStatus.to_jsonc                 C  r   r   r   r   r   r   r   r     r   zPrefetchStatus.from_jsonN))r&   r'   r(   r)   PREFETCH_ALLOWED#PREFETCH_FAILED_INELIGIBLE_REDIRECT PREFETCH_FAILED_INVALID_REDIRECT"PREFETCH_FAILED_MIME_NOT_SUPPORTEDPREFETCH_FAILED_NET_ERRORPREFETCH_FAILED_NON2_XX,PREFETCH_EVICTED_AFTER_BROWSING_DATA_REMOVED(PREFETCH_EVICTED_AFTER_CANDIDATE_REMOVED#PREFETCH_EVICTED_FOR_NEWER_PREFETCHPREFETCH_HELDBACKPREFETCH_INELIGIBLE_RETRY_AFTERPREFETCH_IS_PRIVACY_DECOYPREFETCH_IS_STALE4PREFETCH_NOT_ELIGIBLE_BROWSER_CONTEXT_OFF_THE_RECORD(PREFETCH_NOT_ELIGIBLE_DATA_SAVER_ENABLED$PREFETCH_NOT_ELIGIBLE_EXISTING_PROXY(PREFETCH_NOT_ELIGIBLE_HOST_IS_NON_UNIQUE3PREFETCH_NOT_ELIGIBLE_NON_DEFAULT_STORAGE_PARTITIONDPREFETCH_NOT_ELIGIBLE_SAME_SITE_CROSS_ORIGIN_PREFETCH_REQUIRED_PROXY)PREFETCH_NOT_ELIGIBLE_SCHEME_IS_NOT_HTTPS&PREFETCH_NOT_ELIGIBLE_USER_HAS_COOKIES-PREFETCH_NOT_ELIGIBLE_USER_HAS_SERVICE_WORKER>PREFETCH_NOT_ELIGIBLE_USER_HAS_SERVICE_WORKER_NO_FETCH_HANDLER2PREFETCH_NOT_ELIGIBLE_REDIRECT_FROM_SERVICE_WORKER0PREFETCH_NOT_ELIGIBLE_REDIRECT_TO_SERVICE_WORKER+PREFETCH_NOT_ELIGIBLE_BATTERY_SAVER_ENABLED)PREFETCH_NOT_ELIGIBLE_PRELOADING_DISABLEDPREFETCH_NOT_FINISHED_IN_TIMEPREFETCH_NOT_STARTED!PREFETCH_NOT_USED_COOKIES_CHANGEDPREFETCH_PROXY_NOT_AVAILABLEPREFETCH_RESPONSE_USED PREFETCH_SUCCESSFUL_BUT_NOT_USEDPREFETCH_NOT_USED_PROBE_FAILEDr   r*   r   r   r   r   r   r  [  sN    r  c                   @  sF   e Zd ZU dZded< dZded< dZded< dd	 Zed
d Z	dS )PrerenderMismatchedHeaderszS
    Information of headers to be displayed when the header mismatch occurred.
    r   header_nameNr2   initial_valueactivation_valuec                 C  s<   t  }| j|d< | jd ur| j|d< | jd ur| j|d< |S )N
headerNameinitialValueactivationValue)r>   rW  rX  rY  r?   r   r   r   r     s   




z"PrerenderMismatchedHeaders.to_jsonc                 C  sB   | t |d d|v rt |d nd d|v rt |d dS d dS )NrZ  r[  r\  )rW  rX  rY  )r   r   r   r   r   r     s   
z$PrerenderMismatchedHeaders.from_json)
r&   r'   r(   r)   rD   rX  rY  r   r*   r   r   r   r   r   rV    s   
 	rV  r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c                  c      ddi} | V }d S )NmethodzPreload.enabler   cmd_dictr   r   r   r   enable     
rb  c                  c  r^  )Nr_  zPreload.disabler   r`  r   r   r   disable  rc  rd  zPreload.ruleSetUpdatedc                   @  s(   e Zd ZU dZded< ed
ddZd	S )RuleSetUpdatedzF
    Upsert. Currently, it is only emitted when a rule set added.
    r,   rule_setr   r   r   c                 C     | t |d dS )NruleSet)rf  )r,   r   r   r   r   r   r        zRuleSetUpdated.from_jsonN)r   r   r   re  r&   r'   r(   r)   rD   r*   r   r   r   r   r   re    s
   
 re  zPreload.ruleSetRemovedc                   @  s$   e Zd ZU ded< ed	ddZdS )
RuleSetRemovedr   r-   r   r   r   c                 C  rg  )Nr7   )r-   rl   r   r   r   r   r     ri  zRuleSetRemoved.from_jsonN)r   r   r   rk  )r&   r'   r(   rD   r*   r   r   r   r   r   rk    s   
 rk  z"Preload.preloadEnabledStateUpdatedc                   @  sH   e Zd ZU dZded< ded< ded< ded< ded< edddZdS )PreloadEnabledStateUpdatedz8
    Fired when a preload enabled state is updated.
    booldisabled_by_preferencedisabled_by_data_saverdisabled_by_battery_saver/disabled_by_holdback_prefetch_speculation_rules0disabled_by_holdback_prerender_speculation_rulesr   r   r   c                 C  s:   | t |d t |d t |d t |d t |d dS )NdisabledByPreferencedisabledByDataSaverdisabledByBatterySaver*disabledByHoldbackPrefetchSpeculationRules+disabledByHoldbackPrerenderSpeculationRules)rn  ro  rp  rq  rr  )rm  r   r   r   r   r     s   




z$PreloadEnabledStateUpdated.from_jsonN)r   r   r   rl  rj  r   r   r   r   rl    s   
 rl  zPreload.prefetchStatusUpdatedc                   @  sX   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< edddZdS )PrefetchStatusUpdatedz3
    Fired when a prefetch attempt is updated.
    rZ   r_   rn   pipeline_idzpage.FrameIdinitiating_frame_idr   prefetch_urlr  statusr  prefetch_statusznetwork.RequestIdr4   r   r   r   c                 C  s^   | t |d t|d tj|d t|d t|d t|d tj	|d dS )	Nr_   
pipelineIdinitiatingFrameIdprefetchUrlr|  prefetchStatusr;   )r_   ry  rz  r{  r|  r}  r4   )
rZ   r   rn   r	   FrameIdr   r  r  r   rB   r   r   r   r   r     s   
zPrefetchStatusUpdated.from_jsonN)r   r   r   rx  rj  r   r   r   r   rx    s   
 rx  zPreload.prerenderStatusUpdatedc                   @  sP   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< edddZdS )PrerenderStatusUpdatedz4
    Fired when a prerender attempt is updated.
    rZ   r_   rn   ry  r  r|  z%typing.Optional[PrerenderFinalStatus]prerender_statusr2   disallowed_mojo_interfacez8typing.Optional[typing.List[PrerenderMismatchedHeaders]]mismatched_headersr   r   r   c              	   C  sz   | t |d t|d t|d d|v rt|d nd d|v r)t|d nd d|v r9dd |d D d	S d d	S )
Nr_   r~  r|  prerenderStatusdisallowedMojoInterfacemismatchedHeadersc                 S  rk   r   )rV  r   rd   r   r   r   rg     rm   z4PrerenderStatusUpdated.from_json.<locals>.<listcomp>)r_   ry  r|  r  r  r  )rZ   r   rn   r  ro   r   r   r   r   r   r     s   z PrerenderStatusUpdated.from_jsonN)r   r   r   r  rj  r   r   r   r   r    s   
 r  z'Preload.preloadingAttemptSourcesUpdatedc                   @  s0   e Zd ZU dZded< ded< edd	d
ZdS )PreloadingAttemptSourcesUpdatedzK
    Send a list of sources for all preloading attempts in a document.
    r.   r/   z$typing.List[PreloadingAttemptSource]preloading_attempt_sourcesr   r   r   c                 C  s&   | t j|d dd |d D dS )Nr8   c                 S  rk   r   )r^   r   rd   r   r   r   rg   .  rm   z=PreloadingAttemptSourcesUpdated.from_json.<locals>.<listcomp>preloadingAttemptSources)r/   r  )r   r@   r   r   r   r   r   r   *  s   z)PreloadingAttemptSourcesUpdated.from_jsonN)r   r   r   r  rj  r   r   r   r   r  !  s   
 r  )r   r]  )#
__future__r   utilr   r   dataclassesr   enumtyping r   r   r	   r   r   r,   EnumrC   rP   rU   rZ   r^   rn   ro   r  r  rV  rb  rd  re  rk  rl  rx  r  r  r   r   r   r   <module>   sX   H$W0


