a
    $ñ»j']  ã                   @  sÜ  d dl mZ d dlZd dlZd dlmZ ddlmZm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jƒZG dd„ dejƒZG dd„ dejƒZeG dd„ dƒƒZdd œd!d"„Zdd œd#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d.ƒeG d/d0„ d0ƒƒƒZed1ƒeG d2d3„ d3ƒƒƒZ ed4ƒeG d5d6„ d6ƒƒƒZ!dS )7é    )ÚannotationsN)Ú	dataclassé   )Úevent_classÚT_JSON_DICT)Údom)Únetwork)Úpagec                      sB   e Zd ZdZddœdd„Zedd dœdd„ƒZ‡ fd	d
„Z‡  ZS )Ú	RuleSetIdz	Unique idÚstr©Úreturnc                 C  s   | S ©N© ©Úselfr   r   ú3E:\soccer\ml_env\Lib\site-packages\mycdp/preload.pyÚto_json   s    zRuleSetId.to_json©Újsonr   c                 C  s   | |ƒS r   r   ©Úclsr   r   r   r   Ú	from_json   s    zRuleSetId.from_jsonc                   s   d  tƒ  ¡ ¡S )NzRuleSetId({}))ÚformatÚsuperÚ__repr__r   ©Ú	__class__r   r   r      s    zRuleSetId.__repr__)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r   Ú__classcell__r   r   r   r   r
      s
   r
   c                   @  s”   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Z
ded< ddœdd„Zedd dœdd„ƒZdS )ÚRuleSetz!Corresponds to SpeculationRuleSetr
   Ú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_messageÚtagr   r   c                 C  s´   t ƒ }| j ¡ |d< | j ¡ |d< | j|d< | jd urD| j ¡ |d< | jd urX| j|d< | jd urp| j ¡ |d< | jd urˆ| j ¡ |d< | j	d urœ| j	|d< | j
d ur°| j
|d	< |S )
NÚidÚloaderIdÚ
sourceTextÚbackendNodeIdr+   Ú	requestIdÚ	errorTypeÚerrorMessager/   )Údictr%   r   r'   r(   r)   r+   r,   r-   r.   r/   ©r   r   r   r   r   r   ;   s"    









zRuleSet.to_jsonr   c                 C  sþ   | t  | d¡¡tj | d¡¡t| d¡ƒ| dd ¡d urNtj | d¡¡nd | dd ¡d urnt| d¡ƒnd | dd ¡d ur’tj | d¡¡nd | dd ¡d ur´t	 | d¡¡nd | dd ¡d urÔt| d¡ƒnd | d	d ¡d urôt| d	¡ƒnd fd
�	S )Nr0   r1   r2   r3   r+   r4   r5   r6   r/   )	r%   r'   r(   r)   r+   r,   r-   r.   r/   )
r
   r   Úgetr   ÚLoaderIdr   r   ÚBackendNodeIdÚ	RequestIdÚRuleSetErrorTyper   r   r   r   r   N   s0    ÿÿÿÿÿÿýãzRuleSet.from_json)r   r   r    r!   Ú__annotations__r)   r+   r,   r-   r.   r/   r   r"   r   r   r   r   r   r$       s   
r$   c                   @  s:   e Zd ZdZdZdZddœdd„Zedd dœd	d
„ƒZdS )r=   ZSourceIsNotJsonObjectZInvalidRulesSkippedZInvalidRulesetLevelTagr   r   c                 C  s   | j S r   ©Úvaluer   r   r   r   r   z   s    zRuleSetErrorType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   }   s    zRuleSetErrorType.from_jsonN)	r   r   r    ZSOURCE_IS_NOT_JSON_OBJECTZINVALID_RULES_SKIPPEDZINVALID_RULESET_LEVEL_TAGr   r"   r   r   r   r   r   r=   u   s   r=   c                   @  s>   e Zd ZdZdZdZdZddœdd„Zedd d	œd
d„ƒZ	dS )ÚSpeculationActionz´
    The type of preloading attempted.
    It corresponds to mojom::SpeculationAction
    (although PrefetchWithSubresources is omitted as it
    isn't being used by clients).
    ZPrefetchZ	PrerenderZPrerenderUntilScriptr   r   c                 C  s   | j S r   r?   r   r   r   r   r   �   s    zSpeculationAction.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   �   s    zSpeculationAction.from_jsonN)
r   r   r    r!   ZPREFETCHZ	PRERENDERZPRERENDER_UNTIL_SCRIPTr   r"   r   r   r   r   r   rA   ‚   s   rA   c                   @  s:   e Zd ZdZdZdZddœdd„Zedd dœd	d
„ƒZdS )ÚSpeculationTargetHintz�
    Corresponds to mojom::SpeculationTargetHint. See
    https://github.com/WICG/nav-speculation/blob/main/
    triggers.md#window-name-targeting-hints
    ZBlankÚSelfr   r   c                 C  s   | j S r   r?   r   r   r   r   r   ž   s    zSpeculationTargetHint.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ¡   s    zSpeculationTargetHint.from_jsonN)	r   r   r    r!   ZBLANKZSELFr   r"   r   r   r   r   r   rB   •   s   rB   c                   @  sd   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dœdd„Zedd dœdd„ƒZ	dS )ÚPreloadingAttemptKeyaG  
    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'   rA   Úactionr   r+   Nztyping.Optional[bool]Úform_submissionz&typing.Optional[SpeculationTargetHint]Útarget_hintr   r   c                 C  s\   t ƒ }| j ¡ |d< | j ¡ |d< | j|d< | jd ur@| j|d< | jd urX| j ¡ |d< |S )Nr1   rE   r+   ÚformSubmissionÚ
targetHint)r7   r'   r   rE   r+   rF   rG   r8   r   r   r   r   µ   s    



zPreloadingAttemptKey.to_jsonr   c              
   C  st   | t j | d¡¡t | d¡¡t| d¡ƒ| dd ¡d urJt| d¡ƒnd | dd ¡d urlt | d¡¡nd d�S )Nr1   rE   r+   rH   rI   )r'   rE   r+   rF   rG   )r   r:   r   r9   rA   r   ÚboolrB   r   r   r   r   r   À   s    ÿÿôzPreloadingAttemptKey.from_json)
r   r   r    r!   r>   rF   rG   r   r"   r   r   r   r   r   rD   ¦   s   
rD   c                   @  sL   e Zd ZU dZded< ded< ded< dd	œd
d„Zedd dœ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.
    rD   Úkeyztyping.List[RuleSetId]Úrule_set_idsztyping.List[dom.BackendNodeId]Únode_idsr   r   c                 C  s@   t ƒ }| j ¡ |d< dd„ | jD ƒ|d< dd„ | jD ƒ|d< |S )NrL   c                 S  s   g | ]}|  ¡ ‘qS r   ©r   ©Ú.0Úir   r   r   Ú
<listcomp>ã   ó    z3PreloadingAttemptSource.to_json.<locals>.<listcomp>Ú
ruleSetIdsc                 S  s   g | ]}|  ¡ ‘qS r   rO   rP   r   r   r   rS   ä   rT   ÚnodeIds)r7   rL   r   rM   rN   r8   r   r   r   r   à   s
    zPreloadingAttemptSource.to_jsonr   c                 C  s6   | t  | d¡¡dd„ |d D ƒdd„ |d D ƒd�S )NrL   c                 S  s   g | ]}t  |¡‘qS r   )r
   r   rP   r   r   r   rS   ë   rT   z5PreloadingAttemptSource.from_json.<locals>.<listcomp>rU   c                 S  s   g | ]}t j |¡‘qS r   )r   r;   r   rP   r   r   r   rS   ì   rT   rV   )rL   rM   rN   )rD   r   r9   r   r   r   r   r   ç   s
    ýz!PreloadingAttemptSource.from_jsonN)r   r   r    r!   r>   r   r"   r   r   r   r   r   rK   Ó   s   
rK   c                   @  sb  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@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNdOœdPdQ„ZPeQdNd dRœdSdT„ƒZRdUS )VÚPrerenderFinalStatusz+List of FinalStatus reasons for Prerender2.Z	ActivatedZ	DestroyedZLowEndDeviceZInvalidSchemeRedirectZInvalidSchemeNavigationZNavigationRequestBlockedByCspZMainFrameNavigationZMojoBinderPolicyZRendererProcessCrashedZRendererProcessKilledZDownloadZTriggerDestroyedZNavigationNotCommittedZNavigationBadHttpStatusZClientCertRequestedZNavigationRequestNetworkErrorZCancelAllHostsForTestingZDidFailLoadZStopZSslCertificateErrorZLoginAuthRequestedZUaChangeRequiresReloadZBlockedByClientZAudioOutputDeviceRequestedZMixedContentZTriggerBackgroundedZMemoryLimitExceededZDataSaverEnabledZTriggerUrlHasEffectiveUrlZActivatedBeforeStartedZInactivePageRestrictionZStartFailedZTimeoutBackgroundedZ$CrossSiteRedirectInInitialNavigationZ&CrossSiteNavigationInInitialNavigationZ6SameSiteCrossOriginRedirectNotOptInInInitialNavigationZ8SameSiteCrossOriginNavigationNotOptInInInitialNavigationZ%ActivationNavigationParameterMismatchZActivatedInBackgroundZEmbedderHostDisallowedZ*ActivationNavigationDestroyedBeforeSuccessZTabClosedByUserGestureZTabClosedWithoutUserGestureZ&PrimaryMainFrameRendererProcessCrashedZ%PrimaryMainFrameRendererProcessKilledZ"ActivationFramePolicyNotCompatibleZPreloadingDisabledZBatterySaverEnabledZ"ActivatedDuringMainFrameNavigationZ"PreloadingUnsupportedByWebContentsZ&CrossSiteRedirectInMainFrameNavigationZ(CrossSiteNavigationInMainFrameNavigationZ8SameSiteCrossOriginRedirectNotOptInInMainFrameNavigationZ:SameSiteCrossOriginNavigationNotOptInInMainFrameNavigationZMemoryPressureOnTriggerZMemoryPressureAfterTriggeredZPrerenderingDisabledByDevToolsZSpeculationRuleRemovedZ&ActivatedWithAuxiliaryBrowsingContextsZ&MaxNumOfRunningEagerPrerendersExceededZ)MaxNumOfRunningNonEagerPrerendersExceededZ)MaxNumOfRunningEmbedderPrerendersExceededZPrerenderingUrlHasEffectiveUrlZ(RedirectedPrerenderingUrlHasEffectiveUrlZActivationUrlHasEffectiveUrlZJavaScriptInterfaceAddedZJavaScriptInterfaceRemovedZAllPrerenderingCanceledZWindowClosedZSlowNetworkZOtherPrerenderedPageActivatedZV8OptimizerDisabledZPrerenderFailedDuringPrefetchZBrowsingDataRemovedZPrerenderHostReusedZFormSubmitWhenPrerenderingr   r   c                 C  s   | j S r   r?   r   r   r   r   r   g  s    zPrerenderFinalStatus.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   j  s    zPrerenderFinalStatus.from_jsonN)Sr   r   r    r!   Z	ACTIVATEDZ	DESTROYEDZLOW_END_DEVICEZINVALID_SCHEME_REDIRECTZINVALID_SCHEME_NAVIGATIONZ!NAVIGATION_REQUEST_BLOCKED_BY_CSPZMAIN_FRAME_NAVIGATIONZMOJO_BINDER_POLICYZRENDERER_PROCESS_CRASHEDZRENDERER_PROCESS_KILLEDZDOWNLOADZTRIGGER_DESTROYEDZNAVIGATION_NOT_COMMITTEDZNAVIGATION_BAD_HTTP_STATUSZCLIENT_CERT_REQUESTEDZ NAVIGATION_REQUEST_NETWORK_ERRORZCANCEL_ALL_HOSTS_FOR_TESTINGZDID_FAIL_LOADÚSTOPZSSL_CERTIFICATE_ERRORZLOGIN_AUTH_REQUESTEDZUA_CHANGE_REQUIRES_RELOADZBLOCKED_BY_CLIENTZAUDIO_OUTPUT_DEVICE_REQUESTEDZMIXED_CONTENTZTRIGGER_BACKGROUNDEDZMEMORY_LIMIT_EXCEEDEDZDATA_SAVER_ENABLEDZTRIGGER_URL_HAS_EFFECTIVE_URLZACTIVATED_BEFORE_STARTEDZINACTIVE_PAGE_RESTRICTIONZSTART_FAILEDZTIMEOUT_BACKGROUNDEDZ)CROSS_SITE_REDIRECT_IN_INITIAL_NAVIGATIONZ+CROSS_SITE_NAVIGATION_IN_INITIAL_NAVIGATIONZ@SAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_INITIAL_NAVIGATIONZBSAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_INITIAL_NAVIGATIONZ(ACTIVATION_NAVIGATION_PARAMETER_MISMATCHZACTIVATED_IN_BACKGROUNDZEMBEDDER_HOST_DISALLOWEDZ.ACTIVATION_NAVIGATION_DESTROYED_BEFORE_SUCCESSZTAB_CLOSED_BY_USER_GESTUREZTAB_CLOSED_WITHOUT_USER_GESTUREZ+PRIMARY_MAIN_FRAME_RENDERER_PROCESS_CRASHEDZ*PRIMARY_MAIN_FRAME_RENDERER_PROCESS_KILLEDZ&ACTIVATION_FRAME_POLICY_NOT_COMPATIBLEZPRELOADING_DISABLEDZBATTERY_SAVER_ENABLEDZ&ACTIVATED_DURING_MAIN_FRAME_NAVIGATIONZ&PRELOADING_UNSUPPORTED_BY_WEB_CONTENTSZ,CROSS_SITE_REDIRECT_IN_MAIN_FRAME_NAVIGATIONZ.CROSS_SITE_NAVIGATION_IN_MAIN_FRAME_NAVIGATIONZCSAME_SITE_CROSS_ORIGIN_REDIRECT_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONZESAME_SITE_CROSS_ORIGIN_NAVIGATION_NOT_OPT_IN_IN_MAIN_FRAME_NAVIGATIONZMEMORY_PRESSURE_ON_TRIGGERZMEMORY_PRESSURE_AFTER_TRIGGEREDZ"PRERENDERING_DISABLED_BY_DEV_TOOLSZSPECULATION_RULE_REMOVEDZ*ACTIVATED_WITH_AUXILIARY_BROWSING_CONTEXTSZ,MAX_NUM_OF_RUNNING_EAGER_PRERENDERS_EXCEEDEDZ0MAX_NUM_OF_RUNNING_NON_EAGER_PRERENDERS_EXCEEDEDZ/MAX_NUM_OF_RUNNING_EMBEDDER_PRERENDERS_EXCEEDEDZ"PRERENDERING_URL_HAS_EFFECTIVE_URLZ-REDIRECTED_PRERENDERING_URL_HAS_EFFECTIVE_URLZ ACTIVATION_URL_HAS_EFFECTIVE_URLZJAVA_SCRIPT_INTERFACE_ADDEDZJAVA_SCRIPT_INTERFACE_REMOVEDZALL_PRERENDERING_CANCELEDZWINDOW_CLOSEDZSLOW_NETWORKZ OTHER_PRERENDERED_PAGE_ACTIVATEDZV8_OPTIMIZER_DISABLEDZ PRERENDER_FAILED_DURING_PREFETCHZBROWSING_DATA_REMOVEDZPRERENDER_HOST_REUSEDZFORM_SUBMIT_WHEN_PRERENDERINGr   r"   r   r   r   r   r   rW   ð   sÈ   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿrW   c                   @  sJ   e Zd ZdZdZdZdZdZdZdZ	dd	œd
d„Z
edd dœdd„ƒZdS )ÚPreloadingStatusz˜
    Preloading status values, see also PreloadingTriggeringOutcome. This
    status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
    ZPendingZRunningZReadyZSuccessZFailureZNotSupportedr   r   c                 C  s   | j S r   r?   r   r   r   r   r   {  s    zPreloadingStatus.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ~  s    zPreloadingStatus.from_jsonN)r   r   r    r!   ZPENDINGZRUNNINGZREADYÚSUCCESSÚFAILUREZNOT_SUPPORTEDr   r"   r   r   r   r   r   rY   o  s   rY   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!d"œd#d$„Z#e$d!d d%œ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.
    ZPrefetchAllowedZ PrefetchFailedIneligibleRedirectZPrefetchFailedInvalidRedirectZPrefetchFailedMIMENotSupportedZPrefetchFailedNetErrorZPrefetchFailedNon2XXZ"PrefetchFailedPerPageLimitExceededZ$PrefetchEvictedAfterCandidateRemovedZPrefetchEvictedForNewerPrefetchZPrefetchHeldbackZPrefetchIneligibleRetryAfterZPrefetchIsPrivacyDecoyZPrefetchIsStaleZ-PrefetchNotEligibleBrowserContextOffTheRecordZ#PrefetchNotEligibleDataSaverEnabledZ PrefetchNotEligibleExistingProxyZ"PrefetchNotEligibleHostIsNonUniqueZ-PrefetchNotEligibleNonDefaultStoragePartitionZ;PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxyZ#PrefetchNotEligibleSchemeIsNotHttpsZ!PrefetchNotEligibleUserHasCookiesZ'PrefetchNotEligibleUserHasServiceWorkerZ&PrefetchNotEligibleBatterySaverEnabledZ%PrefetchNotEligiblePreloadingDisabledZPrefetchNotFinishedInTimeZPrefetchNotStartedZPrefetchNotUsedCookiesChangedZPrefetchProxyNotAvailableZPrefetchResponseUsedZPrefetchSuccessfulButNotUsedZPrefetchNotUsedProbeFailedr   r   c                 C  s   | j S r   r?   r   r   r   r   r   À  s    zPrefetchStatus.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   Ã  s    zPrefetchStatus.from_jsonN)&r   r   r    r!   ZPREFETCH_ALLOWEDZ#PREFETCH_FAILED_INELIGIBLE_REDIRECTZ PREFETCH_FAILED_INVALID_REDIRECTZ"PREFETCH_FAILED_MIME_NOT_SUPPORTEDZPREFETCH_FAILED_NET_ERRORZPREFETCH_FAILED_NON2_XXZ'PREFETCH_FAILED_PER_PAGE_LIMIT_EXCEEDEDZ(PREFETCH_EVICTED_AFTER_CANDIDATE_REMOVEDZ#PREFETCH_EVICTED_FOR_NEWER_PREFETCHZPREFETCH_HELDBACKZPREFETCH_INELIGIBLE_RETRY_AFTERZPREFETCH_IS_PRIVACY_DECOYZPREFETCH_IS_STALEZ4PREFETCH_NOT_ELIGIBLE_BROWSER_CONTEXT_OFF_THE_RECORDZ(PREFETCH_NOT_ELIGIBLE_DATA_SAVER_ENABLEDZ$PREFETCH_NOT_ELIGIBLE_EXISTING_PROXYZ(PREFETCH_NOT_ELIGIBLE_HOST_IS_NON_UNIQUEZ3PREFETCH_NOT_ELIGIBLE_NON_DEFAULT_STORAGE_PARTITIONZDPREFETCH_NOT_ELIGIBLE_SAME_SITE_CROSS_ORIGIN_PREFETCH_REQUIRED_PROXYZ)PREFETCH_NOT_ELIGIBLE_SCHEME_IS_NOT_HTTPSZ&PREFETCH_NOT_ELIGIBLE_USER_HAS_COOKIESZ-PREFETCH_NOT_ELIGIBLE_USER_HAS_SERVICE_WORKERZ+PREFETCH_NOT_ELIGIBLE_BATTERY_SAVER_ENABLEDZ)PREFETCH_NOT_ELIGIBLE_PRELOADING_DISABLEDZPREFETCH_NOT_FINISHED_IN_TIMEZPREFETCH_NOT_STARTEDZ!PREFETCH_NOT_USED_COOKIES_CHANGEDZPREFETCH_PROXY_NOT_AVAILABLEZPREFETCH_RESPONSE_USEDZ PREFETCH_SUCCESSFUL_BUT_NOT_USEDZPREFETCH_NOT_USED_PROBE_FAILEDr   r"   r   r   r   r   r   r\   ƒ  s^   ÿÿÿÿÿÿÿÿÿÿÿÿr\   c                   @  sT   e Zd ZU dZded< dZded< dZded< dd	œd
d„Zedd dœdd„ƒZ	dS )ÚPrerenderMismatchedHeaderszBInfo of headers to be displayed when the header mismatch occurred.r   Úheader_nameNr*   Úinitial_valueÚactivation_valuer   r   c                 C  s<   t ƒ }| j|d< | jd ur$| j|d< | jd ur8| j|d< |S )NÚ
headerNameÚinitialValueÚactivationValue)r7   r^   r_   r`   r8   r   r   r   r   Ï  s    




z"PrerenderMismatchedHeaders.to_jsonr   c                 C  sT   | t | d¡ƒ| dd ¡d ur,t | d¡ƒnd | dd ¡d urLt | d¡ƒnd d�S )Nra   rb   rc   )r^   r_   r`   )r   r9   r   r   r   r   r   Ø  s    ÿÿöz$PrerenderMismatchedHeaders.from_json)
r   r   r    r!   r>   r_   r`   r   r"   r   r   r   r   r   r]   È  s   
	r]   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]r   c                  c  s   ddi} | V }d S )NÚmethodzPreload.enabler   ©Zcmd_dictr   r   r   r   Úenableé  s    ÿrf   c                  c  s   ddi} | V }d S )Nrd   zPreload.disabler   re   r   r   r   Údisableð  s    ÿrg   zPreload.ruleSetUpdatedc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	ÚRuleSetUpdatedz<Upsert. Currently, it is only emitted when a rule set added.r$   Úrule_setr   r   c                 C  s   | t  | d¡¡d�S )NZruleSet)ri   )r$   r   r9   r   r   r   r   r   ý  s    zRuleSetUpdated.from_jsonN©r   r   r    r!   r>   r"   r   r   r   r   r   rh   ÷  s   
rh   zPreload.ruleSetRemovedc                   @  s*   e Zd ZU ded< edd dœdd„ƒZdS )ÚRuleSetRemovedr
   r%   r   r   c                 C  s   | t  | d¡¡d�S )Nr0   )r%   )r
   r   r9   r   r   r   r   r     s    zRuleSetRemoved.from_jsonN)r   r   r    r>   r"   r   r   r   r   r   rk     s   
rk   z"Preload.preloadEnabledStateUpdatedc                   @  sN   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	œd
d„ƒZdS )ÚPreloadEnabledStateUpdatedz.Fired when a preload enabled state is updated.rJ   Údisabled_by_preferenceÚdisabled_by_data_saverÚdisabled_by_battery_saverÚ/disabled_by_holdback_prefetch_speculation_rulesÚ0disabled_by_holdback_prerender_speculation_rulesr   r   c                 C  s@   | t | d¡ƒt | d¡ƒt | d¡ƒt |d ƒt |d ƒd�S )NZdisabledByPreferenceZdisabledByDataSaverZdisabledByBatterySaverZ*disabledByHoldbackPrefetchSpeculationRulesZ+disabledByHoldbackPrerenderSpeculationRules)rm   rn   ro   rp   rq   )rJ   r9   r   r   r   r   r     s    ÿÿùz$PreloadEnabledStateUpdated.from_jsonNrj   r   r   r   r   rl     s   
rl   zPreload.prefetchStatusUpdatedc                   @  sV   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œdd„ƒZdS )ÚPrefetchStatusUpdatedz)Fired when a prefetch attempt is updated.rD   rL   zpage.FrameIdÚinitiating_frame_idr   Úprefetch_urlrY   Ústatusr\   Úprefetch_statusznetwork.RequestIdr,   r   r   c                 C  s\   | t  | d¡¡tj |d ¡t| d¡ƒt | d¡¡t | d¡¡tj	 | d¡¡d�S )NrL   ZinitiatingFrameIdZprefetchUrlru   ZprefetchStatusr4   )rL   rs   rt   ru   rv   r,   )
rD   r   r9   r	   ZFrameIdr   rY   r\   r   r<   r   r   r   r   r   1  s    ÿÿözPrefetchStatusUpdated.from_jsonNrj   r   r   r   r   rr   %  s   
rr   zPreload.prerenderStatusUpdatedc                   @  sN   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œdd„ƒZdS )ÚPrerenderStatusUpdatedz*Fired when a prerender attempt is updated.rD   rL   rY   ru   z%typing.Optional[PrerenderFinalStatus]Úprerender_statusr*   Údisallowed_mojo_interfacez8typing.Optional[typing.List[PrerenderMismatchedHeaders]]Úmismatched_headersr   r   c              	   C  sŠ   | t  | d¡¡t | d¡¡| dd ¡d ur>t | d¡¡nd | dd ¡d ur^t| d¡ƒnd | dd ¡d ur‚dd„ |d D ƒnd d�S )	NrL   ru   ZprerenderStatusZdisallowedMojoInterfaceZmismatchedHeadersc                 S  s   g | ]}t  |¡‘qS r   )r]   r   rP   r   r   r   rS   `  s   ÿz4PrerenderStatusUpdated.from_json.<locals>.<listcomp>)rL   ru   rx   ry   rz   )rD   r   r9   rY   rW   r   r   r   r   r   r   P  s    ÿÿüþíz PrerenderStatusUpdated.from_jsonNrj   r   r   r   r   rw   A  s   
rw   z'Preload.preloadingAttemptSourcesUpdatedc                   @  s6   e Zd ZU dZded< ded< edd dœdd	„ƒZd
S )ÚPreloadingAttemptSourcesUpdatedzASend a list of sources for all preloading attempts in a document.r&   r'   z$typing.List[PreloadingAttemptSource]Úpreloading_attempt_sourcesr   r   c                 C  s(   | t j | d¡¡dd„ |d D ƒd�S )Nr1   c                 S  s   g | ]}t  |¡‘qS r   )rK   r   rP   r   r   r   rS   u  s   ÿz=PreloadingAttemptSourcesUpdated.from_json.<locals>.<listcomp>ZpreloadingAttemptSources)r'   r|   )r   r:   r   r9   r   r   r   r   r   q  s    þþz)PreloadingAttemptSourcesUpdated.from_jsonNrj   r   r   r   r   r{   j  s
   
r{   )"Ú
__future__r   ÚenumÚtypingÚdataclassesr   Úutilr   r   Ú r   r   r	   r   r
   r$   ÚEnumr=   rA   rB   rD   rK   rW   rY   r\   r]   rf   rg   rh   rk   rl   rr   rw   r{   r   r   r   r   Ú<module>   sT   T,E 	'