
     f@                      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 dd	l	mZ dd
l	mZ ddl	mZ  G d dej                  Z G d de          Z G d de          Z G d de          Z G d dej                  Z G d de          Z G d de          Z G d de          Z G d dej                  Z G d dej                  Z G d  d!ej                  Z G d" d#ej                  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% G d0 d1ej                  Z& G d2 d3ej                  Z' G d4 d5ej                  Z(e G d6 d7                      Z) G d8 d9ej                  Z*e G d: d;                      Z+ G d< d=ej                  Z, G d> d?ej                  Z- G d@ dAej                  Z.e G dB dC                      Z/e G dD dE                      Z0e G dF dG                      Z1e G dH dI                      Z2e G dJ dK                      Z3e G dL dM                      Z4e G dN dO                      Z5e G dP dQ                      Z6e G dR dS                      Z7 G dT dUej                  Z8 G dV dWej                  Z9 G dX dYej                  Z:e G dZ d[                      Z;e G d\ d]                      Z<e G d^ d_                      Z=e G d` da                      Z>e G db dc                      Z?e G dd de                      Z@ G df dgej                  ZAe G dh di                      ZBe G dj dk                      ZCe G dl dm                      ZD G dn doej                  ZEe G dp dq                      ZFe G dr ds                      ZG G dt duej                  ZH G dv dwej                  ZI G dx dyej                  ZJe G dz d{                      ZKe G d| d}                      ZL G d~ dej                  ZMe G d d                      ZN G d dej                  ZOe G d d                      ZP G d dej                  ZQe G d d                      ZRe G d d                      ZS G d dej                  ZT G d de          ZUe G d d                      ZVe G d d                      ZWe G d d                      ZXe G d d                      ZYdldZZdmdZ[dndZ\dndZ]dndZ^dmdZ_dmdZ`	 	 	 	 	 	 	 dodpdZa	 	 	 	 dqdrdZbdmdZc	 	 	 	 dqdsdǄZd	 	 	 dtdud˄Zedvd̈́ZfdwdЄZg	 dxdydӄZhdzdքZid{d؄Zjd|dلZkd}dۄZld~d܄Zm	 	 dddZnddZoddZpddZq	 	 	 	 	 	 	 	 	 	 	 	 dddZrddZsddZtddZuddZv	 	 	 dtddZwd{dZx	 dxdd	ZyddZz	 	 	 dtddZ{ ed          e G d d                                  Z| ed          e G d d                                  Z} ed          e G d d                                  Z~ ed          e G d d                                  Z ed          e G d d                                  Z ed          e G d d                                   Z ed!          e G d" d#                                  Z ed$          e G d% d&                                  Z ed'          e G d( d)                                  Z ed*          e G d+ d,                                  Z ed-          e G d. d/                                  Z ed0          e G d1 d2                                  Z ed3          e G d4 d5                                  Z ed6          e G d7 d8                                  Z ed9          e G d: d;                                  Z ed<          e G d= d>                                  Z ed?          e G d@ dA                                  Z edB          e G dC dD                                  Z edE          e G dF dG                                  Z edH          e G dI dJ                                  Z edK          e G dL dM                                  Z edN          e G dO dP                                  Z edQ          e G dR dS                                  Z edT          e G dU dV                                  Z edW          e G dX dY                                  Z edZ          e G d[ d\                                  Z ed]          e G d^ d_                                  Z ed`          e G da db                                  Z edc          e G dd de                                  Z edf          e G dg dh                                  Z edi          e G dj dk                                  ZdS (      )annotations   )event_classT_JSON_DICT)	dataclassN)debugger)	emulation)io)page)runtime)securityc                  v    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ed             ZdS )ResourceTypezD
    Resource type as it was perceived by the rendering engine.
    Document
StylesheetImageMediaFontScript	TextTrackXHRFetchPrefetchEventSource	WebSocketManifestSignedExchangePingCSPViolationReport	PreflightOtherc                    | j         S Nvalueselfs    r/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v127/network.pyto_jsonzResourceType.to_json+   
    z    c                     | |          S r#    clsjsons     r(   	from_jsonzResourceType.from_json.       s4yyr+   N)__name__
__module____qualname____doc__DOCUMENT
STYLESHEETIMAGEMEDIAFONTSCRIPT
TEXT_TRACKr   FETCHPREFETCHEVENT_SOURCE
WEB_SOCKETMANIFESTSIGNED_EXCHANGEPINGCSP_VIOLATION_REPORT	PREFLIGHTOTHERr)   classmethodr1   r-   r+   r(   r   r      s          HJEEDFJ
CEH LJH&OD/IE     [  r+   r   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
LoaderIdz#
    Unique loader identifier.
    returnstrc                    | S r#   r-   r&   s    r(   r)   zLoaderId.to_json7       r+   r0   c                     | |          S r#   r-   r.   s     r(   r1   zLoaderId.from_json:   r2   r+   c                j    d                     t                                                                S )NzLoaderId({})formatsuper__repr__r'   	__class__s    r(   rT   zLoaderId.__repr__>   '    $$UWW%5%5%7%7888r+   rK   rL   )r0   rL   rK   rJ   	r3   r4   r5   r6   r)   rH   r1   rT   __classcell__rV   s   @r(   rJ   rJ   3   sv                [9 9 9 9 9 9 9 9 9r+   rJ   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
	RequestIdz$
    Unique request identifier.
    rK   rL   c                    | S r#   r-   r&   s    r(   r)   zRequestId.to_jsonF   rN   r+   r0   c                     | |          S r#   r-   r.   s     r(   r1   zRequestId.from_jsonI   r2   r+   c                j    d                     t                                                                S )NzRequestId({})rQ   rU   s    r(   rT   zRequestId.__repr__M   s'    %%egg&6&6&8&8999r+   rX   )r0   rL   rK   r]   rY   r[   s   @r(   r]   r]   B   sv                [: : : : : : : : :r+   r]   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
InterceptionIdz0
    Unique intercepted request identifier.
    rK   rL   c                    | S r#   r-   r&   s    r(   r)   zInterceptionId.to_jsonU   rN   r+   r0   c                     | |          S r#   r-   r.   s     r(   r1   zInterceptionId.from_jsonX   r2   r+   c                j    d                     t                                                                S )NzInterceptionId({})rQ   rU   s    r(   rT   zInterceptionId.__repr__\   '    #**577+;+;+=+=>>>r+   rX   )r0   rL   rK   rb   rY   r[   s   @r(   rb   rb   Q   v                [? ? ? ? ? ? ? ? ?r+   rb   c                  f    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZd Zed             ZdS )ErrorReasonz-
    Network level fetch failure reason.
    FailedAbortedTimedOutAccessDeniedConnectionClosedConnectionResetConnectionRefusedConnectionAbortedConnectionFailedNameNotResolvedInternetDisconnectedAddressUnreachableBlockedByClientBlockedByResponsec                    | j         S r#   r$   r&   s    r(   r)   zErrorReason.to_jsons   r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zErrorReason.from_jsonv   r2   r+   N)r3   r4   r5   r6   FAILEDABORTED	TIMED_OUTACCESS_DENIEDCONNECTION_CLOSEDCONNECTION_RESETCONNECTION_REFUSEDCONNECTION_ABORTEDCONNECTION_FAILEDNAME_NOT_RESOLVEDINTERNET_DISCONNECTEDADDRESS_UNREACHABLEBLOCKED_BY_CLIENTBLOCKED_BY_RESPONSEr)   rH   r1   r-   r+   r(   ri   ri   `   s          FGI"M*(,,*)2.)-     [  r+   ri   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
TimeSinceEpochz<
    UTC time in seconds, counted from January 1, 1970.
    rK   floatc                    | S r#   r-   r&   s    r(   r)   zTimeSinceEpoch.to_json   rN   r+   r0   c                     | |          S r#   r-   r.   s     r(   r1   zTimeSinceEpoch.from_json   r2   r+   c                j    d                     t                                                                S )NzTimeSinceEpoch({})rQ   rU   s    r(   rT   zTimeSinceEpoch.__repr__   rf   r+   rK   r   )r0   r   rK   r   rY   r[   s   @r(   r   r   {   rg   r+   r   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
MonotonicTimezX
    Monotonically increasing time in seconds since an arbitrary point in the past.
    rK   r   c                    | S r#   r-   r&   s    r(   r)   zMonotonicTime.to_json   rN   r+   r0   c                     | |          S r#   r-   r.   s     r(   r1   zMonotonicTime.from_json   r2   r+   c                j    d                     t                                                                S )NzMonotonicTime({})rQ   rU   s    r(   rT   zMonotonicTime.__repr__   s'    "))%''*:*:*<*<===r+   r   )r0   r   rK   r   rY   r[   s   @r(   r   r      sv                [> > > > > > > > >r+   r   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
HeaderszE
    Request / response headers as keys / values of JSON object.
    rK   dictc                    | S r#   r-   r&   s    r(   r)   zHeaders.to_json   rN   r+   r0   c                     | |          S r#   r-   r.   s     r(   r1   zHeaders.from_json   r2   r+   c                j    d                     t                                                                S )NzHeaders({})rQ   rU   s    r(   rT   zHeaders.__repr__   s'    ##EGG$4$4$6$6777r+   )rK   r   )r0   r   rK   r   rY   r[   s   @r(   r   r      sv                [8 8 8 8 8 8 8 8 8r+   r   c                  R    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ed             ZdS )ConnectionTypezT
    The underlying connection technology that the browser is supposedly using.
    none
cellular2g
cellular3g
cellular4g	bluetoothethernetwifiwimaxotherc                    | j         S r#   r$   r&   s    r(   r)   zConnectionType.to_json   r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zConnectionType.from_json   r2   r+   N)r3   r4   r5   r6   NONE
CELLULAR2G
CELLULAR3G
CELLULAR4G	BLUETOOTHETHERNETWIFIWIMAXrG   r)   rH   r1   r-   r+   r(   r   r      sw          DJJJIHDEE     [  r+   r   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )CookieSameSitezs
    Represents the cookie's 'SameSite' status:
    https://tools.ietf.org/html/draft-west-first-party-cookies
    StrictLaxNonec                    | j         S r#   r$   r&   s    r(   r)   zCookieSameSite.to_json   r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zCookieSameSite.from_json   r2   r+   N)
r3   r4   r5   r6   STRICTLAXr   r)   rH   r1   r-   r+   r(   r   r      sY          F
CD     [  r+   r   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )CookiePriorityzr
    Represents the cookie's 'Priority' status:
    https://tools.ietf.org/html/draft-west-cookie-priority-00
    LowMediumHighc                    | j         S r#   r$   r&   s    r(   r)   zCookiePriority.to_json   r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zCookiePriority.from_json   r2   r+   N)
r3   r4   r5   r6   LOWMEDIUMHIGHr)   rH   r1   r-   r+   r(   r   r      sY          CFD     [  r+   r   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )CookieSourceSchemez
    Represents the source scheme of the origin that originally set the cookie.
    A value of "Unset" allows protocol clients to emulate legacy cookie scope for the scheme.
    This is a temporary ability and it will be removed in the future.
    Unset	NonSecureSecurec                    | j         S r#   r$   r&   s    r(   r)   zCookieSourceScheme.to_json   r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zCookieSourceScheme.from_json   r2   r+   N)
r3   r4   r5   r6   UNSET
NON_SECURESECUREr)   rH   r1   r-   r+   r(   r   r      sY         
 EJF     [  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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ded<   dZded<   d Zed             Z	dS )ResourceTimingz-
    Timing information for the request.
    r   request_timeproxy_start	proxy_end	dns_startdns_endconnect_startconnect_end	ssl_startssl_endworker_startworker_readyworker_fetch_startworker_respond_with_settled
send_startsend_end
push_startpush_endreceive_headers_startreceive_headers_endNtyping.Optional[float]worker_router_evaluation_startworker_cache_lookup_startc                   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j	        |d	<   | j
        |d
<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )NrequestTime
proxyStartproxyEnddnsStartdnsEndconnectStart
connectEndsslStartsslEndworkerStartworkerReadyworkerFetchStartworkerRespondWithSettled	sendStartsendEnd	pushStartpushEndreceiveHeadersStartreceiveHeadersEndworkerRouterEvaluationStartworkerCacheLookupStart)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r'   r0   s     r(   r)   zResourceTiming.to_json7  s,   vv"/]!-\>Z>ZX#1^!-\>ZX"/]"/]#'#: +/+K'( O[-Y O[-Y&*&@"#$($< !.:262UD./)5-1-KD)*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          |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          |d&                   d'd(|v rt          |d(                   nd d)d*|v rt          |d*                   n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   r   r   r   r   r   r   r   r   r   r   r   r-   r   r.   s     r(   r1   zResourceTiming.from_jsonR  sa   s 
 
 
tM2333
d<0111
 D,---
 D,---	

 $x.)))
  ^ 4555
 d<0111
 D,---
 $x.)))
 tM2333
 tM2333
  %T*<%=>>>
 ).d3M.N(O(O(O
 T+.///
 4	?+++
  T+.///!
" 4	?+++#
$ #(-B(C"D"D"D%
& !&d+>&? @ @ @'
( Zwz~Y~Y~56S1T+U+U+U  EI)
* PhkoOoOoeD1I,J&K&K&Kuy+
 	
r+   )
r3   r4   r5   r6   __annotations__r   r   r)   rH   r1   r-   r+   r(   r   r      sq         
     NNN    NNN    '&&&  OOO  OOO !     >B"AAAA 9=<<<<  6 
 
 [
 
 
r+   r   c                  B    e Zd ZdZdZdZdZdZdZd Z	e
d             Zd	S )
ResourcePriorityz1
    Loading priority of a resource request.
    VeryLowr   r   r   VeryHighc                    | j         S r#   r$   r&   s    r(   r)   zResourcePriority.to_jsonw  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zResourcePriority.from_jsonz  r2   r+   N)r3   r4   r5   r6   VERY_LOWr   r   r   	VERY_HIGHr)   rH   r1   r-   r+   r(   r   r   m  sc          H
CFDI     [  r+   r   c                  >    e Zd ZU dZdZded<   d Zed             ZdS )PostDataEntryz*
    Post data entry for HTTP request
    Ntyping.Optional[str]bytes_c                D    t                      }| j        
| j        |d<   |S )Nbytes)r   r	  r   s     r(   r)   zPostDataEntry.to_json  s#    vv;" KDMr+   c                L     | d|v rt          |d                   nd           S )Nr  )r	  rL   r.   s     r(   r1   zPostDataEntry.from_json  s7    s)0D3tG}%%%d
 
 
 	
r+   )	r3   r4   r5   r6   r	  r   r)   rH   r1   r-   r+   r(   r  r    s]           $(F''''   
 
 [
 
 
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ded<   d
Zded<   d Zed             Zd
S )Requestz
    HTTP request data.
    rL   urlmethodr   headersr   initial_priorityreferrer_policyNr  url_fragment	post_datatyping.Optional[bool]has_post_dataz+typing.Optional[typing.List[PostDataEntry]]post_data_entriesz*typing.Optional[security.MixedContentType]mixed_content_typeis_link_preloadz!typing.Optional[TrustTokenParams]trust_token_paramsis_same_sitec                :   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        
| j	        |d<   | j
        d	 | j
        D             |d
<   | j        | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        
| j        |d<   |S )Nr  r  r  initialPriorityreferrerPolicyurlFragmentpostDatahasPostDatac                6    g | ]}|                                 S r-   r)   .0is     r(   
<listcomp>z#Request.to_json.<locals>.<listcomp>  s     &S&S&Sqqyy{{&S&S&Sr+   postDataEntriesmixedContentTypeisLinkPreloadtrustTokenParams
isSameSite)r   r  r  r  r)   r  r  r  r  r  r  r  r  r  r  r   s     r(   r)   zRequest.to_json  s<   vvhUX,..00Y"&"7"?"?"A"A!%!5("&"3D>%#~D)"&"4D!-&S&SD<R&S&S&SD"#".'+'>'F'F'H'HD#$+$($8D!".'+'>'F'F'H'HD#$(!%!2Dr+   c                    | t          |d                   t          |d                   t                              |d                   t                              |d                   t          |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	         D             nd d|v r%t
          j                            |d                   nd d|v rt	          |d                   nd d|v r t                              |d                   nd d|v rt	          |d                   nd           S )Nr  r  r  r  r   r!  r"  r#  r*  c                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  z%Request.from_json.<locals>.<listcomp>  s&    [[[a}66q99[[[r+   r+  r,  r-  r.  )r  r  r  r  r  r  r  r  r  r  r  r  r  )rL   r   r1   r   boolr   MixedContentTypeTrustTokenParamsr.   s     r(   r1   zRequest.from_json  s   sDK  tH~&&%%d9o66-77=N8OPP%5 6775Bd5J5JT-0111PT/9T/A/Ac$z*+++t7D7L7L$tM2333RV_ptx_x_x[[4HYCZ[[[[  C`rvz`z`zx8BB4HZC[\\\  AE;Jd;R;RDo!6777X\WimqWqWq/99$?Q:RSSSw{5AT5I5Id<0111t
 
 
 	
r+   )r3   r4   r5   r6   r   r  r  r  r  r  r  r  r  r)   rH   r1   r-   r+   r(   r  r    s*          HHH KKK  '&&&  *.L---- '+I**** ,0M//// FJIIII FJIIII .2O1111 =A@@@@ +/L....  2 
 
 [
 
 
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ed	<   ded
<   ded<   d Zed             ZdS )SignedCertificateTimestampz:
    Details of a signed certificate timestamp (SCT).
    rL   statusoriginlog_descriptionlog_idr   	timestamphash_algorithmsignature_algorithmsignature_datac                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )	Nr6  r7  logDescriptionlogIdr:  hashAlgorithmsignatureAlgorithmsignatureData)	r   r6  r7  r8  r9  r:  r;  r<  r=  r   s     r(   r)   z"SignedCertificateTimestamp.to_json  ss    vvXX!%!5W N[ $ 3_%)%=!" $ 3_r+   c                X    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   	          S )
Nr6  r7  r?  r@  r:  rA  rB  rC  )r6  r7  r8  r9  r:  r;  r<  r=  )rL   r   r.   s     r(   r1   z$SignedCertificateTimestamp.from_json  s    stH~&&tH~&&%5 677tG}%%D-..tO455 #D)=$> ? ?tO455	
 	
 	
 		
r+   Nr3   r4   r5   r6   r   r)   rH   r1   r-   r+   r(   r5  r5    s           KKK KKK  KKK    
 
 
 

 

 [

 

 

r+   r5  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Zded<   dZded<   dZded<   d Ze	d             Z
dS )SecurityDetailsz+
    Security details about a request.
    rL   protocolkey_exchangecipherzsecurity.CertificateIdcertificate_idsubject_nametyping.List[str]san_listissuerr   
valid_fromvalid_toz'typing.List[SignedCertificateTimestamp]!signed_certificate_timestamp_list!CertificateTransparencyCompliance#certificate_transparency_compliancer1  encrypted_client_helloNr  key_exchange_groupmactyping.Optional[int]server_signature_algorithmc                0   t                      }| j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   d | j        D             |d<   | j        |d<   | j	                                        |d	<   | j
                                        |d
<   d | j        D             |d<   | j                                        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )NrH  keyExchangerJ  certificateIdsubjectNamec                    g | ]}|S r-   r-   r&  s     r(   r)  z+SecurityDetails.to_json.<locals>.<listcomp>a  s    4441444r+   sanListrO  	validFromvalidToc                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z+SecurityDetails.to_json.<locals>.<listcomp>e  s     1n1n1n!!))++1n1n1nr+   signedCertificateTimestampList!certificateTransparencyComplianceencryptedClientHellokeyExchangeGrouprW  serverSignatureAlgorithm)r   rH  rI  rJ  rK  r)   rL  rN  rO  rP  rQ  rR  rT  rU  rV  rW  rY  r   s     r(   r)   zSecurityDetails.to_jsonZ  s2   vv=Z"/]X $ 3 ; ; = =_"/]44dm444YX O3355[-//11Y1n1ntGm1n1n1n-.484\4d4d4f4f01'+'B#$".'+'>D#$8(DK*6/3/ND+,r+   c                    | t          |d                   t          |d                   t          |d                   t          j                            |d                   t          |d                   d |d         D             t          |d                   t                              |d	                   t                              |d
                   d |d         D             t
                              |d                   t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd           S )NrH  r[  rJ  r\  r]  c                ,    g | ]}t          |          S r-   r  r&  s     r(   r)  z-SecurityDetails.from_json.<locals>.<listcomp>x  s    666c!ff666r+   r_  rO  r`  ra  c                B    g | ]}t                               |          S r-   )r5  r1   r&  s     r(   r)  z-SecurityDetails.from_json.<locals>.<listcomp>|  s;      /H  /H  /H[\/I/S/STU/V/V  /H  /H  /Hr+   rc  rd  re  rf  rW  rg  )rH  rI  rJ  rK  rL  rN  rO  rP  rQ  rR  rT  rU  rV  rW  rY  )rL   r   CertificateIdr1   r   rS  r1  intr.   s     r(   r1   zSecurityDetails.from_jsonp  s   sj)**T-011tH~&&#1;;D<QRRT-01166d9o666tH~&&%//[0ABB#--d9o>> /H  /H`d  fF  aG  /H  /H  /H0Q0[0[\`  bE  ]F  1G  1G#'-C(D#E#E@RVZ@Z@Zs4(:#;<<<`d$)TMMDK   tPjnrPrPrs40J+K'L'L'Lx|
 
 
 	
r+   )r3   r4   r5   r6   r   rV  rW  rY  r)   rH   r1   r-   r+   r(   rG  rG  &  s&          MMM  KKK +***   KKK   ONNN KJJJ !    043333 !%C$$$$
 8<;;;;  , 
 
 [
 
 
r+   rG  c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )rS  zL
    Whether the request complied with Certificate Transparency policy.
    unknownznot-compliant	compliantc                    | j         S r#   r$   r&   s    r(   r)   z)CertificateTransparencyCompliance.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z+CertificateTransparencyCompliance.from_json  r2   r+   N)
r3   r4   r5   r6   UNKNOWNNOT_COMPLIANT	COMPLIANTr)   rH   r1   r-   r+   r(   rS  rS    sY          G#MI     [  r+   rS  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dZdZdZdZdZd Zed             ZdS )BlockedReason-
    The reason why request was blocked.
    r   cspzmixed-contentr7  	inspectorzsubresource-filterzcontent-typez%coep-frame-resource-needs-coep-headerz2coop-sandboxed-iframe-cannot-navigate-to-coop-pagezcorp-not-same-originz;corp-not-same-origin-after-defaulted-to-same-origin-by-coepz:corp-not-same-origin-after-defaulted-to-same-origin-by-dipzCcorp-not-same-origin-after-defaulted-to-same-origin-by-coep-and-dipzcorp-not-same-sitec                    | j         S r#   r$   r&   s    r(   r)   zBlockedReason.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zBlockedReason.from_json  r2   r+   N)r3   r4   r5   r6   rG   CSPMIXED_CONTENTORIGIN	INSPECTORSUBRESOURCE_FILTERCONTENT_TYPE%COEP_FRAME_RESOURCE_NEEDS_COEP_HEADER2COOP_SANDBOXED_IFRAME_CANNOT_NAVIGATE_TO_COOP_PAGECORP_NOT_SAME_ORIGIN;CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEP:CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_DIPCCORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEP_AND_DIPCORP_NOT_SAME_SITEr)   rH   r1   r-   r+   r(   rv  rv    s          E
C#MFI-!L,S)9m61B?A}> KPG-     [  r+   rv  c                      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&e'd%             Z(d&S )'	CorsErrorrw  DisallowedByModeInvalidResponseWildcardOriginNotAllowedMissingAllowOriginHeaderMultipleAllowOriginValuesInvalidAllowOriginValueAllowOriginMismatchInvalidAllowCredentialsCorsDisabledSchemePreflightInvalidStatusPreflightDisallowedRedirect!PreflightWildcardOriginNotAllowed!PreflightMissingAllowOriginHeader"PreflightMultipleAllowOriginValues PreflightInvalidAllowOriginValuePreflightAllowOriginMismatch PreflightInvalidAllowCredentialsPreflightMissingAllowExternalPreflightInvalidAllowExternal#PreflightMissingAllowPrivateNetwork#PreflightInvalidAllowPrivateNetwork$InvalidAllowMethodsPreflightResponse$InvalidAllowHeadersPreflightResponse#MethodDisallowedByPreflightResponse#HeaderDisallowedByPreflightResponseRedirectContainsCredentialsInsecurePrivateNetworkInvalidPrivateNetworkAccessUnexpectedPrivateNetworkAccessNoCorsRedirectModeNotFollow&PreflightMissingPrivateNetworkAccessId(PreflightMissingPrivateNetworkAccessName)PrivateNetworkAccessPermissionUnavailable$PrivateNetworkAccessPermissionDeniedc                    | j         S r#   r$   r&   s    r(   r)   zCorsError.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zCorsError.from_json  r2   r+   N))r3   r4   r5   r6   DISALLOWED_BY_MODEINVALID_RESPONSEWILDCARD_ORIGIN_NOT_ALLOWEDMISSING_ALLOW_ORIGIN_HEADERMULTIPLE_ALLOW_ORIGIN_VALUESINVALID_ALLOW_ORIGIN_VALUEALLOW_ORIGIN_MISMATCHINVALID_ALLOW_CREDENTIALSCORS_DISABLED_SCHEMEPREFLIGHT_INVALID_STATUSPREFLIGHT_DISALLOWED_REDIRECT%PREFLIGHT_WILDCARD_ORIGIN_NOT_ALLOWED%PREFLIGHT_MISSING_ALLOW_ORIGIN_HEADER&PREFLIGHT_MULTIPLE_ALLOW_ORIGIN_VALUES$PREFLIGHT_INVALID_ALLOW_ORIGIN_VALUEPREFLIGHT_ALLOW_ORIGIN_MISMATCH#PREFLIGHT_INVALID_ALLOW_CREDENTIALS PREFLIGHT_MISSING_ALLOW_EXTERNAL PREFLIGHT_INVALID_ALLOW_EXTERNAL'PREFLIGHT_MISSING_ALLOW_PRIVATE_NETWORK'PREFLIGHT_INVALID_ALLOW_PRIVATE_NETWORK(INVALID_ALLOW_METHODS_PREFLIGHT_RESPONSE(INVALID_ALLOW_HEADERS_PREFLIGHT_RESPONSE'METHOD_DISALLOWED_BY_PREFLIGHT_RESPONSE'HEADER_DISALLOWED_BY_PREFLIGHT_RESPONSEREDIRECT_CONTAINS_CREDENTIALSINSECURE_PRIVATE_NETWORKINVALID_PRIVATE_NETWORK_ACCESS!UNEXPECTED_PRIVATE_NETWORK_ACCESS NO_CORS_REDIRECT_MODE_NOT_FOLLOW+PREFLIGHT_MISSING_PRIVATE_NETWORK_ACCESS_ID-PREFLIGHT_MISSING_PRIVATE_NETWORK_ACCESS_NAME-PRIVATE_NETWORK_ACCESS_PERMISSION_UNAVAILABLE(PRIVATE_NETWORK_ACCESS_PERMISSION_DENIEDr)   rH   r1   r-   r+   r(   r  r    s         ,("<"<#> !:1 9/7$A!,O),O)-Q*+M(&D#*L''F$'F$.S+.S+/U,/U,.S+.S+$A!7%B"(H%'D$2Z/4^14_1/U,     [  r+   r  c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )CorsErrorStatusr  
cors_errorrL   failed_parameterc                n    t                      }| j                                        |d<   | j        |d<   |S )N	corsErrorfailedParameter)r   r  r)   r  r   s     r(   r)   zCorsErrorStatus.to_json  s6    vv O3355["&"7r+   c                ~     | t                               |d                   t          |d                             S )Nr  r  )r  r  )r  r1   rL   r.   s     r(   r1   zCorsErrorStatus.from_json  sB    s **4+<== &7!899
 
 
 	
r+   Nr3   r4   r5   r   r)   rH   r1   r-   r+   r(   r  r    sX            
 
 [
 
 
r+   r  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	ServiceWorkerResponseSourcez+
    Source of serviceworker response.
    zcache-storagez
http-cachezfallback-codenetworkc                    | j         S r#   r$   r&   s    r(   r)   z#ServiceWorkerResponseSource.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z%ServiceWorkerResponseSource.from_json  r2   r+   N)r3   r4   r5   r6   CACHE_STORAGE
HTTP_CACHEFALLBACK_CODENETWORKr)   rH   r1   r-   r+   r(   r  r    s^          $MJ#MG     [  r+   r  c                  R    e Zd ZU dZded<   ded<   dZded<   d	 Zed
             ZdS )r3  z
    Determines what type of Trust Token operation is executed and
    depending on the type, some additional parameters. The values
    are specified in third_party/blink/renderer/core/fetch/trust_token.idl.
    TrustTokenOperationType	operationrL   refresh_policyN!typing.Optional[typing.List[str]]issuersc                    t                      }| j                                        |d<   | j        |d<   | j        d | j        D             |d<   |S )Nr  refreshPolicyc                    g | ]}|S r-   r-   r&  s     r(   r)  z,TrustTokenParams.to_json.<locals>.<listcomp>  s    777Qq777r+   r  )r   r  r)   r  r  r   s     r(   r)   zTrustTokenParams.to_json  sV    vv N2244[ $ 3_<#77$,777DOr+   c                     | t                               |d                   t          |d                   d|v rd |d         D             nd           S )Nr  r  r  c                ,    g | ]}t          |          S r-   r  r&  s     r(   r)  z.TrustTokenParams.from_json.<locals>.<listcomp>"  s    555SVV555r+   )r  r  r  )r  r1   rL   r.   s     r(   r1   zTrustTokenParams.from_json  sg    s-77[8IJJtO4559Bd9J9J55T)_5555PT
 
 
 	
r+   )	r3   r4   r5   r6   r   r  r)   rH   r1   r-   r+   r(   r3  r3    sy          
 '&&&  26G5555   
 
 [
 
 
r+   r3  c                  6    e Zd ZdZdZdZd Zed             ZdS )r  Issuance
RedemptionSigningc                    | j         S r#   r$   r&   s    r(   r)   zTrustTokenOperationType.to_json+  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z!TrustTokenOperationType.from_json.  r2   r+   N)	r3   r4   r5   ISSUANCE
REDEMPTIONSIGNINGr)   rH   r1   r-   r+   r(   r  r  &  sM        HJG     [  r+   r  c                  N    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dS )AlternateProtocolUsagezV
    The reason why Chrome uses a specific transport protocol for HTTP semantics.
    alternativeJobWonWithoutRacealternativeJobWonRacemainJobWonRacemappingMissingbrokendnsAlpnH3JobWonWithoutRacednsAlpnH3JobWonRaceunspecifiedReasonc                    | j         S r#   r$   r&   s    r(   r)   zAlternateProtocolUsage.to_json@  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z AlternateProtocolUsage.from_jsonC  r2   r+   N)r3   r4   r5   r6    ALTERNATIVE_JOB_WON_WITHOUT_RACEALTERNATIVE_JOB_WON_RACEMAIN_JOB_WON_RACEMAPPING_MISSINGBROKEN DNS_ALPN_H3_JOB_WON_WITHOUT_RACEDNS_ALPN_H3_JOB_WON_RACEUNSPECIFIED_REASONr)   rH   r1   r-   r+   r(   r  r  3  sy          (F$6(&OF'C$4,     [  r+   r  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	ServiceWorkerRouterSourcez*
    Source of service worker router.
    r  cachezfetch-eventzrace-network-and-fetch-handlerc                    | j         S r#   r$   r&   s    r(   r)   z!ServiceWorkerRouterSource.to_jsonQ  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z#ServiceWorkerRouterSource.from_jsonT  r2   r+   N)r3   r4   r5   r6   r  CACHEFETCH_EVENTRACE_NETWORK_AND_FETCH_HANDLERr)   rH   r1   r-   r+   r(   r  r  H  s_          GEK%E"     [  r+   r  c                  V    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	dS )	ServiceWorkerRouterInfoNrX  rule_id_matchedz*typing.Optional[ServiceWorkerRouterSource]matched_source_typeactual_source_typec                    t                      }| j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NruleIdMatchedmatchedSourceTypeactualSourceType)r   r  r  r)   r  r   s     r(   r)   zServiceWorkerRouterInfo.to_jsonf  sl    vv+$($8D!#/(,(@(H(H(J(JD$%".'+'>'F'F'H'HD#$r+   c                     | d|v rt          |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd           S )Nr  r  r  )r  r  r  )rl  r  r1   r.   s     r(   r1   z!ServiceWorkerRouterInfo.from_jsonp  s    s:IT:Q:QC_ 5666W[buy}b}b} 9 C CDI\D] ^ ^ ^  DH`rvz`z`z8BB4HZC[\\\  AE
 
 
 	
r+   )
r3   r4   r5   r  r   r  r  r)   rH   r1   r-   r+   r(   r  r  Y  s          -1O0000 GKJJJJ FJIIII   
 
 [
 
 
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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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ded)<   dZd*ed+<   dZd,ed-<   d. Zed/             ZdS )0Responsez
    HTTP response data.
    rL   r  rl  r6  status_textr   r  	mime_typecharsetr1  connection_reusedr   connection_idencoded_data_lengthzsecurity.SecurityStatesecurity_stateNr  headers_texttyping.Optional[Headers]request_headersrequest_headers_textremote_ip_addressrX  remote_portr  from_disk_cachefrom_service_workerfrom_prefetch_cachefrom_early_hintsz(typing.Optional[ServiceWorkerRouterInfo]service_worker_router_infoztyping.Optional[ResourceTiming]timingz,typing.Optional[ServiceWorkerResponseSource]service_worker_response_sourcetyping.Optional[TimeSinceEpoch]response_timecache_storage_cache_namerH  z'typing.Optional[AlternateProtocolUsage]alternate_protocol_usage typing.Optional[SecurityDetails]security_detailsc                p   t                      }| j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j	        |d<   | j
        |d	<   | j                                        |d
<   | j        
| j        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | 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  r6  
statusTextr  mimeTyper!  connectionReusedconnectionIdencodedDataLengthsecurityStateheadersTextrequestHeadersrequestHeadersTextremoteIPAddress
remotePortfromDiskCachefromServiceWorkerfromPrefetchCachefromEarlyHintsserviceWorkerRouterInfor1  serviceWorkerResponseSourceresponseTimecacheStorageCacheNamerH  alternateProtocolUsagesecurityDetails)r   r  r6  r  r  r)   r   r!  r"  r#  r$  r%  r&  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r4  r5  rH  r6  r8  r   s     r(   r)   zResponse.to_json  ss   vvhUX!-\,..00Y>Z,Y#'#9 #1^$($< ! $ 3 ; ; = =_("&"3D+%)%9%A%A%C%CD!"$0)-)BD%&!-&*&<D"#'!%!1D+$($8D!#/(,(@D$%#/(,(@D$% ,%)%:D!"*6.2.M.U.U.W.WD*+;"![0022DN.:262U2]2]2_2_D./)#'#5#=#=#?#?D (4,0,ID()=$#}D(4-1-J-R-R-T-TD)* ,&*&;&C&C&E&ED"#r+   c           	     N    | d1i 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d|v rt          |d                   nd dd|v r t                              |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt	          |d                   nd dd|v rt	          |d                   nd dd |v rt	          |d                    nd d!d"|v rt	          |d"                   nd d#d$|v r t                              |d$                   nd d%d%|v r t                              |d%                   nd d&d'|v r t                              |d'                   nd d(d)|v r t                              |d)                   nd d*d+|v rt          |d+                   nd d,d,|v rt          |d,                   nd d-d.|v r t                              |d.                   nd d/d0|v r t                              |d0                   nd S )2Nr  r6  r  r:  r  r   r;  r!  r"  r<  r#  r=  r$  r>  r%  r?  r&  r@  r(  rA  r)  rB  r*  rC  r+  rD  r,  rE  r-  rF  r.  rG  r/  rH  r0  rI  r1  r2  rJ  r4  rK  r5  rL  rH  r6  rM  r8  rN  r-   )rL   rl  r   r1   r1  r   r   SecurityStater  r   r  r   r  rG  r.   s     r(   r1   zResponse.from_json  s]   s 
 
 
DK   
tH~&&&
 D.///
 %%d9o666	

 $z*+++
 Y(((
 #4(:#;<<<
  ^ 4555
 !&d+>&? @ @ @
 $1;;D<QRRR
 6Cd5J5JT-0111PT
 JZ]aIaIaG--d3C.DEEEgk
 EY\`D`D`T*>%?!@!@!@fj
 ?PSW>W>Wc$'8"9:::]a
 4@43G3GD.///T
  <Kd;R;RDo!6777X\!
" DWZ^C^C^T*=%> ? ? ?dh#
$ DWZ^C^C^T*=%> ? ? ?dh%
& >NQU=U=UT$'7"8999[_'
( nG  KO  nO  nO'>'H'HNgIh'i'i'i  UY)
* @H4?O?O>++DN;;;UY+
, zW  [_  z_  z_+F+P+PQUVsQt+u+u+u  ei-
. M[^bLbLb.2243GHHHhl/
0 LcfjKjKjS.E)F%G%G%Gpt1
2 /9D.@.@Sj)***d3
4 jB  FJ  jJ  jJ%;%E%EdKcFd%e%e%e  PT5
6 TehlSlSl_66t<M7NOOOrv7
 	
r+   )r3   r4   r5   r6   r   r&  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r4  r5  rH  r6  r8  r)   rH   r1   r-   r+   r(   r  r  y  s          HHH KKK   NNN LLL    +*** *.L---- 15O4444 265555 /32222 )-K,,,, .2O1111 265555 265555 /32222 LPOOOO /3F2222 TX"WWWW 6:M9999 6:9999 &*H)))) IMLLLL :>====. . .` 
 
 [
 
 
r+   r  c                  :    e Zd ZU dZded<   d Zed             ZdS )WebSocketRequestz!
    WebSocket request data.
    r   r  c                Z    t                      }| j                                        |d<   |S )Nr  )r   r  r)   r   s     r(   r)   zWebSocketRequest.to_json+  s'    vv,..00Yr+   c                V     | t                               |d                             S )Nr  )r  )r   r1   r.   s     r(   r1   zWebSocketRequest.from_json0  s0    s%%d9o66
 
 
 	
r+   NrE  r-   r+   r(   rR  rR  #  sX             
 
 
 [
 
 
r+   rR  c                  x    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e	d             Z
dS )WebSocketResponsez"
    WebSocket response data.
    rl  r6  rL   r  r   r  Nr  r&  r'  r(  r)  c                   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        
| j        |d<   |S )Nr6  r:  r  r@  rA  rB  )r   r6  r  r  r)   r&  r(  r)  r   s     r(   r)   zWebSocketResponse.to_jsonN  s    vvX!-\,..00Y("&"3D+%)%9%A%A%C%CD!"$0)-)BD%&r+   c                X    | t          |d                   t          |d                   t                              |d                   d|v rt          |d                   nd d|v r t                              |d                   nd d|v rt          |d                   nd           S )Nr6  r:  r  r@  rA  rB  )r6  r  r  r&  r(  r)  )rl  rL   r   r1   r.   s     r(   r1   zWebSocketResponse.from_json[  s    stH~&&D.//%%d9o665Bd5J5JT-0111PTIY]aIaIaG--d3C.DEEEgkDX\`D`D`T*>%?!@!@!@fj
 
 
 	
r+   )r3   r4   r5   r6   r   r&  r(  r)  r)   rH   r1   r-   r+   r(   rV  rV  7  s           KKK   *.L---- 15O4444 265555   
 
 [
 
 
r+   rV  c                  N    e Zd ZU dZded<   ded<   ded<   d Zed	             Zd
S )WebSocketFramez
    WebSocket message data. This represents an entire WebSocket message, not just a fragmented frame as the name suggests.
    r   opcoder1  maskrL   payload_datac                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )Nr[  r\  payloadData)r   r[  r\  r]  r   s     r(   r)   zWebSocketFrame.to_jsonw  s3    vvXyV"/]r+   c                     | t          |d                   t          |d                   t          |d                             S )Nr[  r\  r_  )r[  r\  r]  )r   r1  rL   r.   s     r(   r1   zWebSocketFrame.from_json~  sI    sh((d6l##T-011
 
 
 	
r+   NrE  r-   r+   r(   rZ  rZ  g  sn           MMM JJJ
    
 
 [
 
 
r+   rZ  c                  \    e Zd ZU dZded<   ded<   ded<   dZd	ed
<   d Zed             ZdS )CachedResourcez0
    Information about the cached resource.
    rL   r  r   type_r   	body_sizeNtyping.Optional[Response]responsec                    t                      }| j        |d<   | j                                        |d<   | j        |d<   | j        | j                                        |d<   |S )Nr  typebodySizerf  )r   r  rc  r)   rd  rf  r   s     r(   r)   zCachedResource.to_json  s^    vvhUz))++V>Z=$#}4466Dr+   c           	          | t          |d                   t                              |d                   t          |d                   d|v r t                              |d                   nd           S )Nr  rh  ri  rf  )r  rc  rd  rf  )rL   r   r1   r   r  r.   s     r(   r1   zCachedResource.from_json  su    sDK  ((f66D,--=G4=O=OX''Z(8999UY	
 
 
 	
r+   )	r3   r4   r5   r6   r   rf  r)   rH   r1   r-   r+   r(   rb  rb    s           HHH   +/H....   
 
 [
 
 
r+   rb  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d	ed<   dZ	ded<   d Z
ed             ZdS )	Initiatorz2
    Information about the request initiator.
    rL   rc  Nz#typing.Optional[runtime.StackTrace]stackr  r  r   line_numbercolumn_numbertyping.Optional[RequestId]
request_idc                (   t                      }| j        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   |S )Nrh  rm  r  
lineNumbercolumnNumber	requestId)r   rc  rm  r)   r  rn  ro  rq  r   s     r(   r)   zInitiator.to_json  s    vvzV:! J..00DM8(DK'!%!1D)#'#5D ?& $ 7 7 9 9Dr+   c                z    | t          |d                   d|v r%t          j                            |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           S )Nrh  rm  r  rs  rt  ru  )rc  rm  r  rn  ro  rq  )rL   r   
StackTracer1   r   r]   r.   s     r(   r1   zInitiator.from_json  s    sd6l##AHD'$..tG}===VZ$)TMMDK   t5AT5I5Id<0111t9G49O9O%^ 4555UYALPTATATy**4+<===Z^
 
 
 	
r+   )r3   r4   r5   r6   r   rm  r  rn  ro  rq  r)   rH   r1   r-   r+   r(   rl  rl    s           JJJ 26E5555 !%C$$$$ +/K.... -1M0000 .2J1111   
 
 [
 
 
r+   rl  c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	CookiePartitionKeyz
    cookiePartitionKey object
    The representation of the components of the key that are created by the cookiePartitionKey class contained in net/cookies/cookie_partition_key.h.
    rL   top_level_siter1  has_cross_site_ancestorc                J    t                      }| j        |d<   | j        |d<   |S )NtopLevelSitehasCrossSiteAncestor)r   rz  r{  r   s     r(   r)   zCookiePartitionKey.to_json  s+    vv#2^'+'C#$r+   c                h     | t          |d                   t          |d                             S )Nr}  r~  )rz  r{  )rL   r1  r.   s     r(   r1   zCookiePartitionKey.from_json  s<    stN344$(.D)E$F$F
 
 
 	
r+   NrE  r-   r+   r(   ry  ry    sf            "!!!   
 
 [
 
 
r+   ry  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Zded<   dZded<   dZded<   d Ze	d             Z
dS )Cookiez
    Cookie object
    rL   namer%   domainpathr   expiresrl  sizer1  	http_onlysecuresessionr   priority
same_partyr   source_schemesource_portNtyping.Optional[CookieSameSite]	same_site#typing.Optional[CookiePartitionKey]partition_keyr  partition_key_opaquec                   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j	        |d	<   | j
                                        |d
<   | j        |d<   | j                                        |d<   | j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   |S )Nr  r%   r  r  r  r  httpOnlyr  r  r  	samePartysourceScheme
sourcePortsameSitepartitionKeypartitionKeyOpaque)r   r  r%   r  r  r  r  r  r  r  r  r)   r  r  r  r  r  r  r   s     r(   r)   zCookie.to_json1  s   vvyV
WXyV,YyV>ZX,Y=0022Z O[#199;;^!-\>%#~5577D)#'#5#=#=#?#?D $0)-)BD%&r+   c           	     J    | 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                              |d                   dt          |d                   dt                              |d                   dt          |d                   dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v rt          |d                   n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-   )	rL   r   rl  r1  r   r1   r   r   ry  r.   s     r(   r1   zCookie.from_jsonH  s   s 
 
 
T&\"""
d7m$$$
 tH~&&&
 T&\"""	

 $y/***
 T&\"""
 4
+,,,
 X'''
 i)))
 $--d:.>???
 D-...
 -66tN7KLLL
 D.///
 EORVDVDVn..tJ/?@@@\`
 Q_bfPfPf,66tN7KLLLlp
  FZ]aEaEad+?&@!A!A!Agk!
 	
r+   )r3   r4   r5   r6   r   r  r  r  r)   rH   r1   r-   r+   r(   r  r    s          III JJJ KKK III NNN III OOO LLL MMM   &%%%
  26I5555 :>M==== 376666  . 
 
 [
 
 
r+   r  c                      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ed             ZdS )SetCookieBlockedReasonzJ
    Types of reasons why a cookie may not be stored from a response.
    
SecureOnlySameSiteStrictSameSiteLaxSameSiteUnspecifiedTreatedAsLaxSameSiteNoneInsecureUserPreferencesThirdPartyPhaseout ThirdPartyBlockedInFirstPartySetSyntaxErrorSchemeNotSupportedOverwriteSecureInvalidDomainInvalidPrefixUnknownErrorSchemefulSameSiteStrictSchemefulSameSiteLax(SchemefulSameSiteUnspecifiedTreatedAsLaxSamePartyFromCrossPartyContext%SamePartyConflictsWithOtherAttributesNameValuePairExceedsMaxSizeDisallowedCharacterNoCookieContentc                    | j         S r#   r$   r&   s    r(   r)   zSetCookieBlockedReason.to_jsony  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z SetCookieBlockedReason.from_json|  r2   r+   N)r3   r4   r5   r6   SECURE_ONLYSAME_SITE_STRICTSAME_SITE_LAX$SAME_SITE_UNSPECIFIED_TREATED_AS_LAXSAME_SITE_NONE_INSECUREUSER_PREFERENCESTHIRD_PARTY_PHASEOUT&THIRD_PARTY_BLOCKED_IN_FIRST_PARTY_SETSYNTAX_ERRORSCHEME_NOT_SUPPORTEDOVERWRITE_SECUREINVALID_DOMAININVALID_PREFIXUNKNOWN_ERRORSCHEMEFUL_SAME_SITE_STRICTSCHEMEFUL_SAME_SITE_LAX.SCHEMEFUL_SAME_SITE_UNSPECIFIED_TREATED_AS_LAX#SAME_PARTY_FROM_CROSS_PARTY_CONTEXT*SAME_PARTY_CONFLICTS_WITH_OTHER_ATTRIBUTES NAME_VALUE_PAIR_EXCEEDS_MAX_SIZEDISALLOWED_CHARACTERNO_COOKIE_CONTENTr)   rH   r1   r-   r+   r(   r  r  ^  s          K'!M+L(4(/-O* L/($N$N"M!:45_2*J'1X.'D$0)     [  r+   r  c                  n    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ed             ZdS )CookieBlockedReasonzG
    Types of reasons why a cookie may not be sent with a request.
    r  	NotOnPathDomainMismatchr  r  r  r  r  r  r  r  r  r  r  r  r  c                    | j         S r#   r$   r&   s    r(   r)   zCookieBlockedReason.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zCookieBlockedReason.from_json  r2   r+   N)r3   r4   r5   r6   r  NOT_ON_PATHDOMAIN_MISMATCHr  r  r  r  r  r  r  r  r  r  r  r  r  r)   rH   r1   r-   r+   r(   r  r    s          KK&O'!M+L(4(/-O*"M!:45_2*J''D$     [  r+   r  c                  V    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ed             ZdS )CookieExemptionReasonzi
    Types of reasons why a cookie should have been blocked by 3PCD but is exempted for the request.
    r   UserSettingTPCDMetadataTPCDDeprecationTrialTPCDHeuristicsEnterprisePolicyStorageAccessTopLevelStorageAccess	CorsOptInSchemec                    | j         S r#   r$   r&   s    r(   r)   zCookieExemptionReason.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zCookieExemptionReason.from_json  r2   r+   N)r3   r4   r5   r6   r   USER_SETTINGTPCD_METADATATPCD_DEPRECATION_TRIALTPCD_HEURISTICSENTERPRISE_POLICYSTORAGE_ACCESSTOP_LEVEL_STORAGE_ACCESSCORS_OPT_INSCHEMEr)   rH   r1   r-   r+   r(   r  r    s          D L"M3&O*$N6KF     [  r+   r  c                  R    e Zd ZU dZded<   ded<   dZded<   d	 Zed
             ZdS )BlockedSetCookieWithReasonzV
    A cookie which was not stored from a response with the corresponding reason.
    z#typing.List[SetCookieBlockedReason]blocked_reasonsrL   cookie_lineNztyping.Optional[Cookie]cookiec                    t                      }d | j        D             |d<   | j        |d<   | j        | j                                        |d<   |S )Nc                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z6BlockedSetCookieWithReason.to_json.<locals>.<listcomp>       !L!L!L!!))++!L!L!Lr+   blockedReasons
cookieLiner  )r   r  r  r  r)   r   s     r(   r)   z"BlockedSetCookieWithReason.to_json  sX    vv!L!Lt7K!L!L!L!-\;"![0022DNr+   c                     | d |d         D             t          |d                   d|v r t                              |d                   nd           S )Nc                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  z8BlockedSetCookieWithReason.from_json.<locals>.<listcomp>  s'    aaaQ3==a@@aaar+   r  r  r  )r  r  r  )rL   r  r1   r.   s     r(   r1   z$BlockedSetCookieWithReason.from_json  sf    saa$O_J`aaaD.//7?47G7G6##DN333T
 
 
 	
r+   )	r3   r4   r5   r6   r   r  r)   rH   r1   r-   r+   r(   r  r    sy           9888 
 '+F****   
 
 [
 
 
r+   r  c                  N    e Zd ZU dZded<   ded<   ded<   d Zed	             Zd
S )ExemptedSetCookieWithReasonz
    A cookie should have been blocked by 3PCD but is exempted and stored from a response with the
    corresponding reason. A cookie could only have at most one exemption reason.
    r  exemption_reasonrL   r  r  r  c                    t                      }| j                                        |d<   | j        |d<   | j                                        |d<   |S )NexemptionReasonr  r  )r   r  r)   r  r  r   s     r(   r)   z#ExemptedSetCookieWithReason.to_json  sN    vv"&"7"?"?"A"A!-\,,..Xr+   c                     | t                               |d                   t          |d                   t                              |d                             S )Nr  r  r  )r  r  r  )r  r1   rL   r  r.   s     r(   r1   z%ExemptedSetCookieWithReason.from_json  sW    s2<<TBS=TUUD.//##DN33
 
 
 	
r+   NrE  r-   r+   r(   r  r    sq          
 ,+++  NNN   
 
 [
 
 
r+   r  c                  R    e Zd ZU dZded<   ded<   dZded<   d	 Zed
             ZdS )AssociatedCookiez
    A cookie associated with the request which may or may not be sent with it.
    Includes the cookies itself and reasons for blocking or exemption.
    r  r  z typing.List[CookieBlockedReason]r  Nz&typing.Optional[CookieExemptionReason]r  c                    t                      }| j                                        |d<   d | j        D             |d<   | j        | j                                        |d<   |S )Nr  c                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z,AssociatedCookie.to_json.<locals>.<listcomp>	  r  r+   r  r  )r   r  r)   r  r  r   s     r(   r)   zAssociatedCookie.to_json  sf    vv,,..X!L!Lt7K!L!L!L ,&*&;&C&C&E&ED"#r+   c                     | t                               |d                   d |d         D             d|v r t                              |d                   nd           S )Nr  c                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  z.AssociatedCookie.from_json.<locals>.<listcomp>  s'    ^^^!0::1==^^^r+   r  r  )r  r  r  )r  r1   r  r.   s     r(   r1   zAssociatedCookie.from_json  sp    s##DN33^^tL\G]^^^YjnrYrYr2<<TBS=TUUUx|
 
 
 	
r+   )	r3   r4   r5   r6   r   r  r)   rH   r1   r-   r+   r(   r  r    sy          
 NNN 6555 @DCCCC   
 
 [
 
 
r+   r  c                      e Zd ZU dZ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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dS )CookieParamz!
    Cookie parameter object
    rL   r  r%   Nr  r  r  r  r  r  r  r  r  r3  r  typing.Optional[CookiePriority]r  r  #typing.Optional[CookieSourceScheme]r  rX  r  r  r  c                   t                      }| j        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | 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  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   s     r(   r)   zCookieParam.to_jsonI  sS   vvyV
W8(DK;"![DN9 9DL;"![DN>%#~D>%#~5577D<#"l2244DO=$#}4466D?& $D)#'#5#=#=#?#?D '!%!1D)#'#5#=#=#?#?D r+   c                F    | t          |d                   t          |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	                   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           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  )	rL   r1  r   r1   r   r   r   rl  ry  r.   s     r(   r1   zCookieParam.from_jsong  s   sT&\""d7m$$$)TMMDK   t*2d*:*:3tH~&&&&,nnT&\"""$+3t+;+;4X'''0:d0B0Bd4
+,,,DNRVDVDVn..tJ/?@@@\`AJdARARN,,T)_===X\CMQUCUCU^--d:.>???[_2=2E2EtD-...4P^bfPfPf,66tN7KLLLlp3?43G3GD.///TP^bfPfPf,66tN7KLLLlp
 
 
 	
r+   )r3   r4   r5   r6   r   r  r  r  r  r  r  r  r  r  r  r  r  r)   rH   r1   r-   r+   r(   r  r    sD          III JJJ !%C$$$$ $(F'''' "&D%%%% %)F(((( (,I++++ 26I5555 04G3333 15H4444 )-J,,,, :>M====
 )-K,,,, :>M====  < 
 
 [
 
 
r+   r  c                  \    e Zd ZU dZded<   ded<   ded<   dZded<   d	 Zed
             ZdS )AuthChallengezB
    Authorization challenge for HTTP status code 401 or 407.
    rL   r7  schemerealmNr  sourcec                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   |S )Nr7  r
  r  r  )r   r7  r
  r  r  r   s     r(   r)   zAuthChallenge.to_json  sD    vvXX
W;"![DNr+   c           	          | t          |d                   t          |d                   t          |d                   d|v rt          |d                   nd           S )Nr7  r
  r  r  )r7  r
  r  r  r  r.   s     r(   r1   zAuthChallenge.from_json  sf    stH~&&tH~&&d7m$$*2d*:*:3tH~&&&	
 
 
 	
r+   )	r3   r4   r5   r6   r   r  r)   rH   r1   r-   r+   r(   r	  r	  {  s~           KKK KKK JJJ $(F''''   
 
 [
 
 
r+   r	  c                  V    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	dS )
AuthChallengeResponsez'
    Response to an AuthChallenge.
    rL   rf  Nr  usernamepasswordc                z    t                      }| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nrf  r  r  )r   rf  r  r  r   s     r(   r)   zAuthChallengeResponse.to_json  sD    vv=Z=$#}D=$#}Dr+   c                     | t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd           S )Nrf  r  r  )rf  r  r  r  r.   s     r(   r1   zAuthChallengeResponse.from_json  si    sj)**.8D.@.@Sj)***d.8D.@.@Sj)***d
 
 
 	
r+   )
r3   r4   r5   r6   r   r  r  r)   rH   r1   r-   r+   r(   r  r    s{           MMM &*H)))) &*H))))   
 
 [
 
 
r+   r  c                  6    e Zd ZdZdZdZd Zed             ZdS )InterceptionStagez
    Stages of the interception to begin intercepting. Request will intercept before the request is
    sent. Response will intercept after the response is received.
    r  HeadersReceivedc                    | j         S r#   r$   r&   s    r(   r)   zInterceptionStage.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zInterceptionStage.from_json  r2   r+   N)	r3   r4   r5   r6   REQUESTHEADERS_RECEIVEDr)   rH   r1   r-   r+   r(   r  r    sU          G(     [  r+   r  c                  Z    e Zd ZU dZdZded<   dZded<   dZded<   d	 Ze	d
             Z
dS )RequestPatternz+
    Request pattern for interception.
    Nr  url_patterntyping.Optional[ResourceType]resource_typez"typing.Optional[InterceptionStage]interception_stagec                    t                      }| j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )N
urlPatternresourceTypeinterceptionStage)r   r  r   r)   r!  r   s     r(   r)   zRequestPattern.to_json  sk    vv'!%!1D)#'#5#=#=#?#?D ".(,(?(G(G(I(ID$%r+   c                     | d|v rt          |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd           S )Nr#  r$  r%  )r  r   r!  )rL   r   r1   r  r.   s     r(   r1   zRequestPattern.from_json  s    s3?43G3GD.///TJX\`J`J`,00n1EFFFfjYlptYtYt0::4@S;TUUUz~
 
 
 	
r+   )r3   r4   r5   r6   r  r   r   r!  r)   rH   r1   r-   r+   r(   r  r    s          
 )-K,,,, 48M7777 >BAAAA   
 
 [
 
 
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ed	<   d
Zded<   d
Zded<   d
Zded<   d Ze	d             Z
d
S )SignedExchangeSignaturez
    Information about a signed exchange signature.
    https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#rfc.section.3.1
    rL   label	signature	integrityvalidity_urlrl  dater  Nr  cert_urlcert_sha256r  certificatesc                   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        d	 | j	        D             |d
<   |S )Nr)  r*  r+  validityUrlr-  r  certUrl
certSha256c                    g | ]}|S r-   r-   r&  s     r(   r)  z3SignedExchangeSignature.to_json.<locals>.<listcomp>#  s    #A#A#A!A#A#A#Ar+   r0  )
r   r)  r*  r+  r,  r-  r  r.  r/  r0  r   s     r(   r)   zSignedExchangeSignature.to_json  s    vv
W N[ N["/]yV,Y=$"mDO'!%!1D(#A#At/@#A#A#AD r+   c                    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   d|v rt          |d                   nd d|v rt          |d                   nd d	|v rd
 |d	         D             nd 	  	        S )Nr)  r*  r+  r2  r-  r  r3  r4  r0  c                ,    g | ]}t          |          S r-   r  r&  s     r(   r)  z5SignedExchangeSignature.from_json.<locals>.<listcomp>1  s    ???Q#a&&???r+   )	r)  r*  r+  r,  r-  r  r.  r/  r0  )rL   rl  r.   s     r(   r1   z!SignedExchangeSignature.from_json&  s    sd7m$$${+,,${+,,T-011T&\""Y((-6$->->Si)))D3?43G3GD.///TCQUYCYCY??$~*>????_c

 

 

 
	
r+   )r3   r4   r5   r6   r   r.  r/  r0  r)   rH   r1   r-   r+   r(   r(  r(    s          
 JJJ NNN NNN  III LLL &*H)))) )-K,,,, 7;L::::    
 
 [
 
 
r+   r(  c                  b    e Zd ZU dZded<   ded<   ded<   ded	<   ded
<   d Zed             ZdS )SignedExchangeHeaderz
    Information about a signed exchange header.
    https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html#cbor-representation
    rL   request_urlrl  response_coder   response_headersz$typing.List[SignedExchangeSignature]
signaturesheader_integrityc                    t                      }| j        |d<   | j        |d<   | j                                        |d<   d | j        D             |d<   | j        |d<   |S )N
requestUrlresponseCoderesponseHeadersc                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z0SignedExchangeHeader.to_json.<locals>.<listcomp>O  s     CCCaaiikkCCCr+   r=  headerIntegrity)r   r:  r;  r<  r)   r=  r>  r   s     r(   r)   zSignedExchangeHeader.to_jsonJ  sl    vv!-\#1^"&"7"?"?"A"ACC4?CCC\"&"7r+   c           
          | t          |d                   t          |d                   t                              |d                   d |d         D             t          |d                             S )Nr@  rA  rB  c                B    g | ]}t                               |          S r-   )r(  r1   r&  s     r(   r)  z2SignedExchangeHeader.from_json.<locals>.<listcomp>Y  s'    YYY/99!<<YYYr+   r=  rD  )r:  r;  r<  r=  r>  )rL   rl  r   r1   r.   s     r(   r1   zSignedExchangeHeader.from_jsonS  sy    sD.//d>233$..t4E/FGGYYd<FXYYY &7!899
 
 
 	
r+   NrE  r-   r+   r(   r9  r9  5  s          
    5444    
 
 [
 
 
r+   r9  c                  F    e Zd ZdZdZdZdZdZdZdZ	d Z
ed	             Zd
S )SignedExchangeErrorFieldz9
    Field type for a signed exchange related error.
    signatureSigsignatureIntegritysignatureCertUrlsignatureCertSha256signatureValidityUrlsignatureTimestampsc                    | j         S r#   r$   r&   s    r(   r)   z SignedExchangeErrorField.to_jsoni  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z"SignedExchangeErrorField.from_jsonl  r2   r+   N)r3   r4   r5   r6   SIGNATURE_SIGSIGNATURE_INTEGRITYSIGNATURE_CERT_URLSIGNATURE_CERT_SHA256SIGNATURE_VALIDITY_URLSIGNATURE_TIMESTAMPSr)   rH   r1   r-   r+   r(   rH  rH  ^  sm          #M.+130     [  r+   rH  c                  V    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	dS )SignedExchangeError7
    Information about a signed exchange response.
    rL   messageNrX  signature_indexz)typing.Optional[SignedExchangeErrorField]error_fieldc                    t                      }| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   |S )NrZ  signatureIndex
errorField)r   rZ  r[  r\  r)   r   s     r(   r)   zSignedExchangeError.to_json  sT    vv,Y+%)%9D!"'!%!1!9!9!;!;Dr+   c                     | t          |d                   d|v rt          |d                   nd d|v r t                              |d                   nd           S )NrZ  r^  r_  )rZ  r[  r\  )rL   rl  rH  r1   r.   s     r(   r1   zSignedExchangeError.from_json  ss    sY((;Kt;S;SC%5 6777Y]R^bfRfRf0::4;MNNNlp
 
 
 	
r+   )
r3   r4   r5   r6   r   r[  r\  r)   rH   r1   r-   r+   r(   rX  rX  q  s|           LLL -1O0000 >BKAAAA   
 
 [
 
 
r+   rX  c                  d    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
dS )SignedExchangeInforY  r  outer_responseNz%typing.Optional[SignedExchangeHeader]headerr7  r8  z1typing.Optional[typing.List[SignedExchangeError]]errorsc                   t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        d | j        D             |d<   |S )NouterResponserd  rN  c                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z.SignedExchangeInfo.to_json.<locals>.<listcomp>  s     ???aaiikk???r+   re  )r   rc  r)   rd  r8  re  r   s     r(   r)   zSignedExchangeInfo.to_json  s    vv $ 3 ; ; = =_;"![0022DN ,&*&;&C&C&E&ED"#;"??4;???DNr+   c                    | t                               |d                   d|v r t                              |d                   nd d|v r t                              |d                   nd d|v rd |d         D             nd           S )Nrg  rd  rN  re  c                B    g | ]}t                               |          S r-   )rX  r1   r&  s     r(   r)  z0SignedExchangeInfo.from_json.<locals>.<listcomp>  s'    MMM'11!44MMMr+   )rc  rd  r8  re  )r  r1   r9  rG  r.   s     r(   r1   zSignedExchangeInfo.from_json  s    s#--d?.CDDEMQUEUEU'11$x.AAA[_SdhlSlSl_66t<M7NOOOrvQY]aQaQaMMd8nMMMMgk	
 
 
 	
r+   )r3   r4   r5   r6   r   rd  r8  re  r)   rH   r1   r-   r+   r(   rb  rb    s            59F8888 :>==== AEFDDDD	 	 	 
 
 [
 
 
r+   rb  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	ContentEncodingz=
    List of content encodings supported by the backend.
    deflategzipbrzstdc                    | j         S r#   r$   r&   s    r(   r)   zContentEncoding.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zContentEncoding.from_json  r2   r+   N)r3   r4   r5   r6   DEFLATEGZIPBRZSTDr)   rH   r1   r-   r+   r(   rl  rl    s^          GD	BD     [  r+   rl  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	PrivateNetworkRequestPolicyAllowBlockFromInsecureToMorePrivateWarnFromInsecureToMorePrivatePreflightBlockPreflightWarnc                    | j         S r#   r$   r&   s    r(   r)   z#PrivateNetworkRequestPolicy.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z%PrivateNetworkRequestPolicy.from_json  r2   r+   N)r3   r4   r5   ALLOW#BLOCK_FROM_INSECURE_TO_MORE_PRIVATE"WARN_FROM_INSECURE_TO_MORE_PRIVATEPREFLIGHT_BLOCKPREFLIGHT_WARNr)   rH   r1   r-   r+   r(   rx  rx    sY        E*J')H&&O$N     [  r+   rx  c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )IPAddressSpaceLocalPrivatePublicUnknownc                    | j         S r#   r$   r&   s    r(   r)   zIPAddressSpace.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zIPAddressSpace.from_json  r2   r+   N)
r3   r4   r5   LOCALPRIVATEPUBLICrr  r)   rH   r1   r-   r+   r(   r  r    sR        EGFG     [  r+   r  c                  6    e Zd ZU ded<   d Zed             ZdS )ConnectTimingr   r   c                6    t                      }| j        |d<   |S )Nr   )r   r   r   s     r(   r)   zConnectTiming.to_json  s    vv"/]r+   c                @     | t          |d                             S )Nr   )r   r   r.   s     r(   r1   zConnectTiming.from_json  s+    stM233
 
 
 	
r+   Nr  r-   r+   r(   r  r    sN         
   
 
 
 [
 
 
r+   r  c                  J    e Zd ZU ded<   ded<   ded<   d Zed             Zd	S )
ClientSecurityStater1  initiator_is_secure_contextr  initiator_ip_address_spacerx  private_network_request_policyc                    t                      }| j        |d<   | j                                        |d<   | j                                        |d<   |S )NinitiatorIsSecureContextinitiatorIPAddressSpaceprivateNetworkRequestPolicy)r   r  r  r)   r  r   s     r(   r)   zClientSecurityState.to_json   sR    vv+/+K'(*.*I*Q*Q*S*S&'.2.Q.Y.Y.[.[*+r+   c                     | t          |d                   t                              |d                   t                              |d                             S )Nr  r  r  )r  r  r  )r1  r  r1   rx  r.   s     r(   r1   zClientSecurityState.from_json  s[    s(,T2L-M(N(N'5'?'?E^@_'`'`+F+P+PQUVsQt+u+u
 
 
 	
r+   Nr  r-   r+   r(   r  r    sd         %%%%....????   
 
 [
 
 
r+   r  c                  B    e Zd ZdZdZdZdZdZdZd Z	e
d             Zd	S )
CrossOriginOpenerPolicyValue
SameOriginSameOriginAllowPopupsRestrictProperties
UnsafeNoneSameOriginPlusCoepRestrictPropertiesPlusCoepc                    | j         S r#   r$   r&   s    r(   r)   z$CrossOriginOpenerPolicyValue.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z&CrossOriginOpenerPolicyValue.from_json  r2   r+   N)r3   r4   r5   SAME_ORIGINSAME_ORIGIN_ALLOW_POPUPSRESTRICT_PROPERTIESUNSAFE_NONESAME_ORIGIN_PLUS_COEPRESTRICT_PROPERTIES_PLUS_COEPr)   rH   r1   r-   r+   r(   r  r    s`        K6.K0$@!     [  r+   r  c                  \    e Zd ZU ded<   ded<   dZded<   dZded<   d Zed	             ZdS )
CrossOriginOpenerPolicyStatusr  r%   report_only_valueNr  reporting_endpointreport_only_reporting_endpointc                    t                      }| j                                        |d<   | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   |S Nr%   reportOnlyValuereportingEndpointreportOnlyReportingEndpointr   r%   r)   r  r  r  r   s     r(   r)   z%CrossOriginOpenerPolicyStatus.to_json*  o    vv
**,,W"&"8"@"@"B"B".(,(?D$%.:262UD./r+   c           	          | t                               |d                   t                               |d                   d|v rt          |d                   nd d|v rt          |d                   nd           S Nr%   r  r  r  )r%   r  r  r  )r  r1   rL   r.   s     r(   r1   z'CrossOriginOpenerPolicyStatus.from_json4  s    s.88gGG:DDTJ[E\]]ATX\A\A\s4(;#<===bfWtx|W|W|3t4Q/R+S+S+S  CG	
 
 
 	
r+   	r3   r4   r5   r   r  r  r)   rH   r1   r-   r+   r(   r  r     s|         ''''3333/33333;?"????   
 
 [
 
 
r+   r  c                  6    e Zd ZdZdZdZd Zed             ZdS )CrossOriginEmbedderPolicyValuer   CredentiallessRequireCorpc                    | j         S r#   r$   r&   s    r(   r)   z&CrossOriginEmbedderPolicyValue.to_jsonC  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z(CrossOriginEmbedderPolicyValue.from_jsonF  r2   r+   N)	r3   r4   r5   r   CREDENTIALLESSREQUIRE_CORPr)   rH   r1   r-   r+   r(   r  r  >  sM        D%N L     [  r+   r  c                  \    e Zd ZU ded<   ded<   dZded<   dZded<   d Zed	             ZdS )
CrossOriginEmbedderPolicyStatusr  r%   r  Nr  r  r  c                    t                      }| j                                        |d<   | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   |S r  r  r   s     r(   r)   z'CrossOriginEmbedderPolicyStatus.to_jsonU  r  r+   c           	          | t                               |d                   t                               |d                   d|v rt          |d                   nd d|v rt          |d                   nd           S r  )r  r1   rL   r.   s     r(   r1   z)CrossOriginEmbedderPolicyStatus.from_json_  s    s0::4=II<FFtL]G^__ATX\A\A\s4(;#<===bfWtx|W|W|3t4Q/R+S+S+S  CG	
 
 
 	
r+   r  r-   r+   r(   r  r  K  s|         ))))5555/33333;?"????   
 
 [
 
 
r+   r  c                  2    e Zd ZdZdZd Zed             ZdS )ContentSecurityPolicySourceHTTPMetac                    | j         S r#   r$   r&   s    r(   r)   z#ContentSecurityPolicySource.to_jsonm  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   z%ContentSecurityPolicySource.from_jsonp  r2   r+   N)r3   r4   r5   r  METAr)   rH   r1   r-   r+   r(   r  r  i  sH        DD     [  r+   r  c                  J    e Zd ZU ded<   ded<   ded<   d Zed             Zd	S )
ContentSecurityPolicyStatusrL   effective_directivesr1  is_enforcedr  r  c                    t                      }| j        |d<   | j        |d<   | j                                        |d<   |S )NeffectiveDirectives
isEnforcedr  )r   r  r  r  r)   r   s     r(   r)   z#ContentSecurityPolicyStatus.to_json}  sB    vv&*&?"#!-\,,..Xr+   c                     | t          |d                   t          |d                   t                              |d                             S )Nr  r  r  )r  r  r  )rL   r1  r  r1   r.   s     r(   r1   z%ContentSecurityPolicyStatus.from_json  sQ    s!$T*?%@!A!AT,/00.88hHH
 
 
 	
r+   Nr  r-   r+   r(   r  r  u  sd         ''''   
 
 [
 
 
r+   r  c                  V    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	dS )
SecurityIsolationStatusNz.typing.Optional[CrossOriginOpenerPolicyStatus]coopz0typing.Optional[CrossOriginEmbedderPolicyStatus]coepz9typing.Optional[typing.List[ContentSecurityPolicyStatus]]rx  c                    t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        d | j        D             |d<   |S )Nr  r  c                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z3SecurityIsolationStatus.to_json.<locals>.<listcomp>  s     9991199;;999r+   rx  )r   r  r)   r  rx  r   s     r(   r)   zSecurityIsolationStatus.to_json  so    vv9 9,,..DL9 9,,..DL899999DKr+   c                     | d|v r t                               |d                   nd d|v r t                              |d                   nd d|v rd |d         D             nd           S )Nr  r  rx  c                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  z5SecurityIsolationStatus.from_json.<locals>.<listcomp>  s'    OOOa,66q99OOOr+   )r  r  rx  )r  r1   r  r.   s     r(   r1   z!SecurityIsolationStatus.from_json  s    sJPTX...88fFFF^bLRVZNN0::4<HHH`dSX\`S`S`OO4;OOOOfj
 
 
 	
r+   )
r3   r4   r5   r  r   r  rx  r)   rH   r1   r-   r+   r(   r  r    ss         ;?D????=ADAAAAEICIIII   
 
 [
 
 
r+   r  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	ReportStatusz/
    The status of a Reporting API report.
    QueuedPendingMarkedForRemovalSuccessc                    | j         S r#   r$   r&   s    r(   r)   zReportStatus.to_json  r*   r+   c                     | |          S r#   r-   r.   s     r(   r1   zReportStatus.from_json  r2   r+   N)r3   r4   r5   r6   QUEUEDPENDINGMARKED_FOR_REMOVALSUCCESSr)   rH   r1   r-   r+   r(   r  r    s_          FG+G     [  r+   r  c                  >     e Zd ZddZedd            Z fdZ xZS )	ReportIdrK   rL   c                    | S r#   r-   r&   s    r(   r)   zReportId.to_json  rN   r+   r0   c                     | |          S r#   r-   r.   s     r(   r1   zReportId.from_json  r2   r+   c                j    d                     t                                                                S )NzReportId({})rQ   rU   s    r(   rT   zReportId.__repr__  rW   r+   rX   )r0   rL   rK   r  )r3   r4   r5   r)   rH   r1   rT   rZ   r[   s   @r(   r  r    sl               [9 9 9 9 9 9 9 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 Zed             ZdS )ReportingApiReportzI
    An object representing a report generated by the Reporting API.
    r  id_rL   initiator_urldestinationrc  znetwork.TimeSinceEpochr:  rl  depthcompleted_attemptsr   bodyr  r6  c                B   t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j	        |d<   | j
                                        |d	<   |S )
NidinitiatorUrlr  rh  r:  r  completedAttemptsr  r6  )r   r  r)   r  r  rc  r:  r  r  r  r6  r   s     r(   r)   zReportingApiReport.to_json  s    vvX%%''T
#1^".]zV N2244[
W$($; !yV,,..Xr+   c                    | t                               |d                   t          |d                   t          |d                   t          |d                   t          j                            |d                   t          |d                   t          |d                   t          |d                   t                              |d	                   
	  	        S )Nr  r  r  rh  r:  r  r  r  r6  )	r  r  r  rc  r:  r  r  r  r6  )r  r1   rL   r  r   rl  r   r  r.   s     r(   r1   zReportingApiReport.from_json  s    s""4:..d>233D/00d6l##,66tK7HIId7m$$"4(;#<==d6l##))$x.99

 

 

 
	
r+   NrE  r-   r+   r(   r  r    s           MMM   JJJ &%%% JJJ JJJ   
 
 [
 
 
r+   r  c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )ReportingApiEndpointrL   r  
group_namec                J    t                      }| j        |d<   | j        |d<   |S )Nr  	groupName)r   r  r   r   s     r(   r)   zReportingApiEndpoint.to_json	  s'    vvhU O[r+   c                h     | t          |d                   t          |d                             S )Nr  r  )r  r   r  r.   s     r(   r1   zReportingApiEndpoint.from_json	  s:    sDK  4,--
 
 
 	
r+   Nr  r-   r+   r(   r  r    sV          HHH OOO   
 
 [
 
 
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d
ed<   dZ	ded<   d Z
ed             ZdS )LoadNetworkResourcePageResultzD
    An object providing the result of a network resource load.
    r1  successNr   	net_errorr  net_error_namehttp_status_codez typing.Optional[io.StreamHandle]streamz typing.Optional[network.Headers]r  c                (   t                      }| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )Nr  netErrornetErrorNamehttpStatusCoder
  r  )r   r  r  r  r	  r
  r)   r  r   s     r(   r)   z%LoadNetworkResourcePageResult.to_json(	  s    vv,Y>%#~D*#'#6D  ,%)%:D!";"![0022DN<#"l2244DOr+   c                    | t          |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          j                            |d                   nd d|v r%t          j                            |d                   nd           S )Nr  r  r  r  r
  r  )r  r  r  r	  r
  r  )r1  r   rL   r
   StreamHandler1   r  r   r.   s     r(   r1   z'LoadNetworkResourcePageResult.from_json7	  s    si))1;t1C1CeD,---8F$8N8N3tN3444TX>NRV>V>VU4(8#9:::\`@HD@P@P2?,,T(^<<<VZBKtBSBSGO--d9o>>>Y]
 
 
 	
r+   )r3   r4   r5   r6   r   r  r  r	  r
  r  r)   rH   r1   r-   r+   r(   r  r  	  s           MMM )-I,,,,+/N/////33333 04F3333 15G4444   
 
 [
 
 
r+   r  c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )LoadNetworkResourceOptionszf
    An options object that may be extended later to better support CORS,
    CORB and streaming.
    r1  disable_cacheinclude_credentialsc                J    t                      }| j        |d<   | j        |d<   |S )NdisableCacheincludeCredentials)r   r  r  r   s     r(   r)   z"LoadNetworkResourceOptions.to_jsonM	  s+    vv#1^%)%=!"r+   c                h     | t          |d                   t          |d                             S )Nr  r  )r  r  r1  r.   s     r(   r1   z$LoadNetworkResourceOptions.from_jsonS	  s<    stN344 $T*>%? @ @
 
 
 	
r+   NrE  r-   r+   r(   r  r  C	  sd              
 
 [
 
 
r+   r  	encodingstyping.List[ContentEncoding]rK   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )z
    Sets a list of content encodings that will be accepted. Empty list means no encoding is accepted.

    **EXPERIMENTAL**

    :param encodings: List of accepted content encodings.
    c                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z*set_accepted_encodings.<locals>.<listcomp>f	  s     :::1199;;:::r+   r  zNetwork.setAcceptedEncodingsr  paramsNr   )r  r   cmd_dictr0   s       r(   set_accepted_encodingsr#  [	  sJ       &&F::	:::F;0 H >>DDDr+   c               #     K   ddi} | V }dS )zU
    Clears accepted encodings set by setAcceptedEncodings

    **EXPERIMENTAL**
    r  z&Network.clearAcceptedEncodingsOverrideNr-   r"  r0   s     r(   !clear_accepted_encodings_overrider&  n	  s$       	:H >>DDDr+   0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool]c               #  @   K   ddi} | V }t          |d                   S )zq
    Tells whether clearing browser cache is supported.

    :returns: True if browser cache can be cleared.
    r  zNetwork.canClearBrowserCacheresultr  r%  s     r(   can_clear_browser_cacher*  z	  s2       	0H >>DXr+   c               #  @   K   ddi} | V }t          |d                   S )zu
    Tells whether clearing browser cookies is supported.

    :returns: True if browser cookies can be cleared.
    r  zNetwork.canClearBrowserCookiesr)  r  r%  s     r(   can_clear_browser_cookiesr,  	  s2       	2H >>DXr+   c               #  @   K   ddi} | V }t          |d                   S )z
    Tells whether emulation of network conditions is supported.

    :returns: True if emulation of network conditions is supported.
    r  z#Network.canEmulateNetworkConditionsr)  r  r%  s     r(   can_emulate_network_conditionsr.  	  s2       	7H >>DXr+   c               #     K   ddi} | V }dS )z
    Clears browser cache.
    r  zNetwork.clearBrowserCacheNr-   r%  s     r(   clear_browser_cacher0  	  s$      
 	-H >>DDDr+   c               #     K   ddi} | V }dS )z!
    Clears browser cookies.
    r  zNetwork.clearBrowserCookiesNr-   r%  s     r(   clear_browser_cookiesr2  	  s$      
 	/H >>DDDr+   interception_iderror_reasontyping.Optional[ErrorReason]raw_responser  r  r  r  r  r'  auth_challenge_response&typing.Optional[AuthChallengeResponse]c              #  4  K   t                      }|                                 |d<   ||                                |d<   |||d<   |||d<   |||d<   |||d<   ||                                |d<   ||                                |d	<   d
|d}	|	V }
dS )as  
    Response to Network.requestIntercepted which either modifies the request to continue with any
    modifications, or blocks it, or completes it with the provided response bytes. If a network
    fetch occurs as a result which encounters a redirect an additional Network.requestIntercepted
    event will be sent with the same InterceptionId.
    Deprecated, use Fetch.continueRequest, Fetch.fulfillRequest and Fetch.failRequest instead.

    **EXPERIMENTAL**

    :param interception_id:
    :param error_reason: *(Optional)* If set this causes the request to fail with the given reason. Passing ```Aborted```` for requests marked with ````isNavigationRequest``` also cancels the navigation. Must not be set in response to an authChallenge.
    :param raw_response: *(Optional)* If set the requests completes using with the provided base64 encoded raw response, including HTTP status line and headers etc... Must not be set in response to an authChallenge.
    :param url: *(Optional)* If set the request url will be modified in a way that's not observable by page. Must not be set in response to an authChallenge.
    :param method: *(Optional)* If set this allows the request method to be overridden. Must not be set in response to an authChallenge.
    :param post_data: *(Optional)* If set this allows postData to be set. Must not be set in response to an authChallenge.
    :param headers: *(Optional)* If set this allows the request headers to be changed. Must not be set in response to an authChallenge.
    :param auth_challenge_response: *(Optional)* Response to a requestIntercepted with an authChallenge. Must not be set otherwise.
    interceptionIdNerrorReasonrawResponser  r  r"  r  authChallengeResponsez"Network.continueInterceptedRequestr  r   r)   )r3  r4  r6  r  r  r  r  r7  r   r"  r0   s              r(   continue_intercepted_requestr?  	  s      8 &&F.6688F , 4 4 6 6} ,}
u!x&z#OO--y**A*I*I*K*K&'6 H >>DDDr+   r  rL   r  r  r  r  c              #     K   t                      }| |d<   |||d<   |||d<   |||d<   ||                                |d<   d|d}|V }dS )	a  
    Deletes browser cookies with matching name and url or domain/path/partitionKey pair.

    :param name: Name of the cookies to remove.
    :param url: *(Optional)* If specified, deletes all the cookies with the given name where domain and path match provided URL.
    :param domain: *(Optional)* If specified, deletes only cookies with the exact domain.
    :param path: *(Optional)* If specified, deletes only cookies with the exact path.
    :param partition_key: **(EXPERIMENTAL)** *(Optional)* If specified, deletes only cookies with the the given name and partitionKey where all partition key attributes match the cookie partition key attribute.
    r  Nr  r  r  r  zNetwork.deleteCookiesr  r>  )r  r  r  r  r  r   r"  r0   s           r(   delete_cookiesrA  	  s        &&FF6N
u!xv !.!6!6!8!8~) H >>DDDr+   c               #     K   ddi} | V }dS )z[
    Disables network tracking, prevents network events from being sent to the client.
    r  zNetwork.disableNr-   r%  s     r(   disablerC  	
  s$      
 	#H >>DDDr+   offliner1  latencyr   download_throughputupload_throughputconnection_typetyping.Optional[ConnectionType]packet_lossr   packet_queue_lengthrX  packet_reorderingr  c              #     K   t                      }| |d<   ||d<   ||d<   ||d<   ||                                |d<   |||d<   |||d<   |||d	<   d
|d}	|	V }
dS )ax  
    Activates emulation of network conditions.

    :param offline: True to emulate internet disconnection.
    :param latency: Minimum latency from request sent to response headers received (ms).
    :param download_throughput: Maximal aggregated download throughput (bytes/sec). -1 disables download throttling.
    :param upload_throughput: Maximal aggregated upload throughput (bytes/sec).  -1 disables upload throttling.
    :param connection_type: *(Optional)* Connection type if known.
    :param packet_loss: **(EXPERIMENTAL)** *(Optional)* WebRTC packet loss (percent, 0-100). 0 disables packet loss emulation, 100 drops all the packets.
    :param packet_queue_length: **(EXPERIMENTAL)** *(Optional)* WebRTC packet queue length (packet). 0 removes any queue length limitations.
    :param packet_reordering: **(EXPERIMENTAL)** *(Optional)* WebRTC packetReordering feature.
    rD  rE  downloadThroughputuploadThroughputNconnectionType
packetLosspacketQueueLengthpacketReorderingz Network.emulateNetworkConditionsr  r>  )rD  rE  rF  rG  rH  rJ  rK  rL  r   r"  r0   s              r(   emulate_network_conditionsrT  
  s      , &&FF9F9#6F !2F"#2#:#:#<#< *|&&9"#$%6!"4 H >>DDDr+   max_total_buffer_sizemax_resource_buffer_sizemax_post_data_sizec              #  b   K   t                      }| | |d<   |||d<   |||d<   d|d}|V }dS )a  
    Enables network tracking, network events will now be delivered to the client.

    :param max_total_buffer_size: **(EXPERIMENTAL)** *(Optional)* Buffer size in bytes to use when preserving network payloads (XHRs, etc).
    :param max_resource_buffer_size: **(EXPERIMENTAL)** *(Optional)* Per-resource buffer size in bytes to use when preserving network payloads (XHRs, etc).
    :param max_post_data_size: *(Optional)* Longest post body size (in bytes) that would be included in requestWillBeSent notification
    NmaxTotalBufferSizemaxResourceBufferSizemaxPostDataSizezNetwork.enabler  r!  )rU  rV  rW  r   r"  r0   s         r(   enabler\  =
  se       &&F('<#$+*B&'%$6 !" H >>DDDr+   ?typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[Cookie]]c               #  :   K   ddi} | V }d |d         D             S )z
    Returns all browser cookies. Depending on the backend support, will return detailed cookie
    information in the ``cookies`` field.
    Deprecated. Use Storage.getCookies instead.

    :returns: Array of cookie objects.
    r  zNetwork.getAllCookiesc                B    g | ]}t                               |          S r-   r  r1   r&  s     r(   r)  z#get_all_cookies.<locals>.<listcomp>c
  &    999AFQ999r+   cookiesr-   r%  s     r(   get_all_cookiesrc  W
  s8       	)H >>D99i9999r+   r7  <typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]]c              #  b   K   t                      }| |d<   d|d}|V }d |d         D             S )z
    Returns the DER-encoded certificate.

    **EXPERIMENTAL**

    :param origin: Origin to get certificate for.
    :returns: 
    r7  zNetwork.getCertificater  c                ,    g | ]}t          |          S r-   r  r&  s     r(   r)  z#get_certificate.<locals>.<listcomp>x
  s    ///qCFF///r+   
tableNamesr!  )r7  r   r"  r0   s       r(   get_certificaterh  f
  sQ       &&FF8* H >>D//D.////r+   urlsr  c              #  z   K   t                      }| d | D             |d<   d|d}|V }d |d         D             S )a  
    Returns all browser cookies for the current URL. Depending on the backend support, will return
    detailed cookie information in the ``cookies`` field.

    :param urls: *(Optional)* The list of URLs for which applicable cookies will be fetched. If not specified, it's assumed to be set to the list containing the URLs of the page and all of its subframes.
    :returns: Array of cookie objects.
    Nc                    g | ]}|S r-   r-   r&  s     r(   r)  zget_cookies.<locals>.<listcomp>
  s    ***!***r+   ri  zNetwork.getCookiesr  c                B    g | ]}t                               |          S r-   r`  r&  s     r(   r)  zget_cookies.<locals>.<listcomp>
  ra  r+   rb  r!  ri  r   r"  r0   s       r(   get_cookiesrn  {
  sc       &&F**T***v& H >>D99i9999r+   rq  Ctyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, bool]]c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   t          |d                   fS )a  
    Returns content served for the given request.

    :param request_id: Identifier of the network request to get content for.
    :returns: A tuple with the following items:

        0. **body** - Response body.
        1. **base64Encoded** - True, if content was sent as base64.
    ru  zNetwork.getResponseBodyr  r  base64Encodedr   r)   rL   r1  rq  r   r"  r0   s       r(   get_response_bodyrt  
  sm       &&F$,,..F;+ H >>DDLT/"## r+   /typing.Generator[T_JSON_DICT, T_JSON_DICT, str]c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   S )a  
    Returns post data sent with the request. Returns an error when no data was sent with the request.

    :param request_id: Identifier of the network request to get content for.
    :returns: Request body string, omitting files from multipart requests
    ru  zNetwork.getRequestPostDatar  r"  r   r)   rL   rs  s       r(   get_request_post_datarx  
  sW       &&F$,,..F;. H >>DtJ   r+   c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   t          |d                   fS )aR  
    Returns content served for the given currently intercepted request.

    **EXPERIMENTAL**

    :param interception_id: Identifier for the intercepted request to get body for.
    :returns: A tuple with the following items:

        0. **body** - Response body.
        1. **base64Encoded** - True, if content was sent as base64.
    r:  z&Network.getResponseBodyForInterceptionr  r  rq  rr  r3  r   r"  r0   s       r(   "get_response_body_for_interceptionr{  
  sn       &&F.6688F: H >>DDLT/"## r+   ;typing.Generator[T_JSON_DICT, T_JSON_DICT, io.StreamHandle]c              #     K   t                      }|                                 |d<   d|d}|V }t          j                            |d                   S )a  
    Returns a handle to the stream representing the response body. Note that after this command,
    the intercepted request can't be continued as is -- you either need to cancel it or to provide
    the response body. The stream only supports sequential read, IO.read will fail if the position
    is specified.

    **EXPERIMENTAL**

    :param interception_id:
    :returns: 
    r:  z/Network.takeResponseBodyForInterceptionAsStreamr  r
  )r   r)   r
   r  r1   rz  s       r(   -take_response_body_for_interception_as_streamr~  
  s_       &&F.6688FC H >>D?$$T(^444r+   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )a5  
    This method sends a new XMLHttpRequest which is identical to the original one. The following
    parameters should be identical: method, url, async, request body, extra headers, withCredentials
    attribute, user, password.

    **EXPERIMENTAL**

    :param request_id: Identifier of XHR to replay.
    ru  zNetwork.replayXHRr  Nr>  rs  s       r(   
replay_xhrr  
  sH       &&F$,,..F;% H >>DDDr+   querycase_sensitiveis_regexMtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[debugger.SearchMatch]]c              #     K   t                      }|                                 |d<   ||d<   |||d<   |||d<   d|d}|V }d |d	         D             S )
az  
    Searches for given string in response content.

    **EXPERIMENTAL**

    :param request_id: Identifier of the network response to search.
    :param query: String to search for.
    :param case_sensitive: *(Optional)* If true, search is case sensitive.
    :param is_regex: *(Optional)* If true, treats string parameter as regex.
    :returns: List of search matches.
    ru  r  NcaseSensitiveisRegexzNetwork.searchInResponseBodyr  c                L    g | ]!}t           j                            |          "S r-   )r   SearchMatchr1   r&  s     r(   r)  z+search_in_response_body.<locals>.<listcomp>!  s)    FFF!H **1--FFFr+   r)  r>  )rq  r  r  r  r   r"  r0   s          r(   search_in_response_bodyr    s      " &&F$,,..F;F7O!"0$y0 H >>DFFtH~FFFFr+   rM  c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )z
    Blocks URLs from loading.

    **EXPERIMENTAL**

    :param urls: URL patterns to block. Wildcards ('*') are allowed.
    c                    g | ]}|S r-   r-   r&  s     r(   r)  z%set_blocked_ur_ls.<locals>.<listcomp>/  s    &&&Aa&&&r+   ri  zNetwork.setBlockedURLsr  Nr!  rm  s       r(   set_blocked_ur_lsr  $  sI       &&F&&&&&F6N* H >>DDDr+   bypassc              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Toggles ignoring of service worker for each request.

    :param bypass: Bypass service worker and load from network.
    r  zNetwork.setBypassServiceWorkerr  Nr!  )r  r   r"  r0   s       r(   set_bypass_service_workerr  7  s<       &&FF82 H >>DDDr+   cache_disabledc              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Toggles ignoring cache for each request. If ``true``, cache will not be used.

    :param cache_disabled: Cache disabled state.
    cacheDisabledzNetwork.setCacheDisabledr  Nr!  )r  r   r"  r0   s       r(   set_cache_disabledr  H  s<       &&F,F?, H >>DDDr+   r%   r  r  r  r  r  r3  r  r  r  r  r  r  c              #    K   t                      }| |d<   ||d<   |||d<   |||d<   |||d<   |||d<   |||d<   ||                                |d	<   ||                                |d
<   |	|	                                |d<   |
|
|d<   ||                                |d<   |||d<   ||                                |d<   d|d}|V }t          |d                   S )a  
    Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.

    :param name: Cookie name.
    :param value: Cookie value.
    :param url: *(Optional)* The request-URI to associate with the setting of the cookie. This value can affect the default domain, path, source port, and source scheme values of the created cookie.
    :param domain: *(Optional)* Cookie domain.
    :param path: *(Optional)* Cookie path.
    :param secure: *(Optional)* True if cookie is secure.
    :param http_only: *(Optional)* True if cookie is http-only.
    :param same_site: *(Optional)* Cookie SameSite type.
    :param expires: *(Optional)* Cookie expiration date, session cookie if not set
    :param priority: **(EXPERIMENTAL)** *(Optional)* Cookie Priority type.
    :param same_party: **(EXPERIMENTAL)** *(Optional)* True if cookie is SameParty.
    :param source_scheme: **(EXPERIMENTAL)** *(Optional)* Cookie source scheme type.
    :param source_port: **(EXPERIMENTAL)** *(Optional)* Cookie source port. Valid values are {-1, [1, 65535]}, -1 indicates an unspecified port. An unspecified port value allows protocol clients to emulate legacy cookie scope for the port. This is a temporary ability and it will be removed in the future.
    :param partition_key: **(EXPERIMENTAL)** *(Optional)* Cookie partition key. If not set, the cookie will be set as not partitioned.
    :returns: Always set to true. If an error occurs, the response indicates protocol error.
    r  r%   Nr  r  r  r  r  r  r  r  r  r  r  r  zNetwork.setCookier  r  )r   r)   r1  )r  r%   r  r  r  r  r  r  r  r  r  r  r  r  r   r"  r0   s                    r(   
set_cookier  Y  sJ     F &&FF6NF7O
u!xv!x&z&..00z#OO--y%--//z({ !.!6!6!8!8~*| !.!6!6!8!8~% H >>DY   r+   rb  typing.List[CookieParam]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )zE
    Sets given cookies.

    :param cookies: Cookies to be set.
    c                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  zset_cookies.<locals>.<listcomp>  s     666666r+   rb  zNetwork.setCookiesr  Nr!  )rb  r   r"  r0   s       r(   set_cookiesr    sJ       &&F66g666F9& H >>DDDr+   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z
    Specifies whether to always send extra HTTP headers with the requests from this page.

    :param headers: Map with extra HTTP headers.
    r  zNetwork.setExtraHTTPHeadersr  Nr>  )r  r   r"  r0   s       r(   set_extra_http_headersr    sF       &&F))F9/ H >>DDDr+   enabledc              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Specifies whether to attach a page script stack id in requests

    **EXPERIMENTAL**

    :param enabled: Whether to attach a page script stack for debugging purpose.
    r  zNetwork.setAttachDebugStackr  Nr!  )r  r   r"  r0   s       r(   set_attach_debug_stackr    s<       &&FF9/ H >>DDDr+   patternstyping.List[RequestPattern]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )a?  
    Sets the requests to intercept that match the provided patterns and optionally resource types.
    Deprecated, please use Fetch.enable instead.

    **EXPERIMENTAL**

    :param patterns: Requests matching any of these patterns will be forwarded and wait for the corresponding continueInterceptedRequest call.
    c                6    g | ]}|                                 S r-   r%  r&  s     r(   r)  z,set_request_interception.<locals>.<listcomp>  s     888!!))++888r+   r  zNetwork.setRequestInterceptionr  Nr!  )r  r   r"  r0   s       r(   set_request_interceptionr    sJ       &&F88x888F:2 H >>DDDr+   
user_agentaccept_languageplatformuser_agent_metadata,typing.Optional[emulation.UserAgentMetadata]c              #     K   t                      }| |d<   |||d<   |||d<   ||                                |d<   d|d}|V }dS )a  
    Allows overriding user agent with the given string.

    :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acceptLanguager  userAgentMetadatazNetwork.setUserAgentOverrider  r>  )r  r  r  r  r   r"  r0   s          r(   set_user_agent_overrider    sz       &&F$F;"#2 %z&&9&A&A&C&C"#0 H >>DDDr+   c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   S )a:  
    Enables streaming of the response for the given requestId.
    If enabled, the dataReceived event contains the data that was received during streaming.

    **EXPERIMENTAL**

    :param request_id: Identifier of the request to stream.
    :returns: Data that has been buffered until streaming is enabled.
    ru  zNetwork.streamResourceContentr  bufferedDatarw  rs  s       r(   stream_resource_contentr    sW       &&F$,,..F;1 H >>DtN#$$$r+   frame_idtyping.Optional[page.FrameId]Ctyping.Generator[T_JSON_DICT, T_JSON_DICT, SecurityIsolationStatus]c              #     K   t                      }| |                                 |d<   d|d}|V }t                              |d                   S )z
    Returns information about the COEP/COOP isolation status.

    **EXPERIMENTAL**

    :param frame_id: *(Optional)* If no frameId is provided, the status of the target is provided.
    :returns: 
    NframeIdz"Network.getSecurityIsolationStatusr  r6  )r   r)   r  r1   )r  r   r"  r0   s       r(   get_security_isolation_statusr    sb       &&F$,,..y6 H >>D",,T(^<<<r+   r\  c              #  B   K   t                      }| |d<   d|d}|V }dS )a*  
    Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client.
    Enabling triggers 'reportingApiReportAdded' for all existing reports.

    **EXPERIMENTAL**

    :param enable: Whether to enable or disable events for the Reporting API
    r\  zNetwork.enableReportingApir  Nr!  )r\  r   r"  r0   s       r(   enable_reporting_apir  1  s<       &&FF8. H >>DDDr+   optionsItyping.Generator[T_JSON_DICT, T_JSON_DICT, LoadNetworkResourcePageResult]c              #     K   t                      }| |                                 |d<   ||d<   |                                |d<   d|d}|V }t                              |d                   S )aM  
    Fetches the resource and returns the content.

    **EXPERIMENTAL**

    :param frame_id: *(Optional)* Frame id to get the resource for. Mandatory for frame targets, and should be omitted for worker targets.
    :param url: URL of the resource to get content for.
    :param options: Options for the request.
    :returns: 
    Nr  r  r  zNetwork.loadNetworkResourcer  resource)r   r)   r  r1   )r  r  r  r   r"  r0   s         r(   load_network_resourcer  E  s       &&F$,,..yF5M))F9/ H >>D(224
3CDDDr+   zNetwork.dataReceivedc                  ^    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            ZdS )DataReceivedz>
    Fired when data chunk was received over the network.
    r]   rq  r   r:  rl  data_lengthr$  r  datar0   r   rK   c           
         | t                               |d                   t                              |d                   t          |d                   t          |d                   d|v rt	          |d                   nd           S )Nru  r:  
dataLengthr>  r  )rq  r:  r  r$  r  )r]   r1   r   rl  rL   r.   s     r(   r1   zDataReceived.from_jsonr  s    s **4+<==#--d;.?@@D.// #D)<$= > >&,nnT&\"""$
 
 
 	
r+   N)r0   r   rK   r  r3   r4   r5   r6   r   rH   r1   r-   r+   r(   r  r  a  s|           
 
 
 [
 
 
r+   r  z"Network.eventSourceMessageReceivedc                  ^    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            ZdS )EventSourceMessageReceivedz5
    Fired when EventSource message is received.
    r]   rq  r   r:  rL   
event_nameevent_idr  r0   r   rK   c           
         | t                               |d                   t                              |d                   t          |d                   t          |d                   t          |d                             S )Nru  r:  	eventNameeventIdr  )rq  r:  r  r  r  r]   r1   r   rL   r.   s     r(   r1   z$EventSourceMessageReceived.from_json  su    s **4+<==#--d;.?@@4,--i))T&\""
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r  }  ss           OOOMMMIII
 
 
 [
 
 
r+   r  zNetwork.loadingFailedc                  r    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            ZdS )LoadingFailedz5
    Fired when HTTP request has failed to load.
    r]   rq  r   r:  r   rc  rL   
error_textr  canceledztyping.Optional[BlockedReason]blocked_reasonz typing.Optional[CorsErrorStatus]cors_error_statusr0   r   rK   c                    | t                               |d                   t                              |d                   t                              |d                   t	          |d                   d|v rt          |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd           S )	Nru  r:  rh  	errorTextr  blockedReasoncorsErrorStatus)rq  r:  rc  r  r  r  r  )r]   r1   r   r   rL   r1  rv  r  r.   s     r(   r1   zLoadingFailed.from_json  s    s **4+<==#--d;.?@@((f664,--/9T/A/AT$z*+++tM\`dMdMd=2243HIIIjnTeimTmTmo77=N8OPPPsw
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    s           OOO####22227777	
 	
 	
 [	
 	
 	
r+   r  zNetwork.loadingFinishedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )LoadingFinishedz7
    Fired when HTTP request has finished loading.
    r]   rq  r   r:  r   r$  r0   r   rK   c                     | t                               |d                   t                              |d                   t          |d                             S )Nru  r:  r>  )rq  r:  r$  )r]   r1   r   r   r.   s     r(   r1   zLoadingFinished.from_json  sX    s **4+<==#--d;.?@@ %d+>&? @ @
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    sd           
 
 
 [
 
 
r+   r  zNetwork.requestInterceptedc                      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<   edd            ZdS ) RequestInterceptedz
    **EXPERIMENTAL**

    Details of an intercepted HTTP request, which must be either allowed, blocked, modified or
    mocked.
    Deprecated, use Fetch.requestPaused instead.
    rb   r3  r  requestzpage.FrameIdr  r   r   r1  is_navigation_requestr  is_downloadr  redirect_urlztyping.Optional[AuthChallenge]auth_challenger5  response_error_reasonrX  response_status_coder'  r<  rp  rq  r0   r   rK   c                    | t                               |d                   t                              |d                   t          j                            |d                   t
                              |d                   t          |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                   nd           S )Nr:  r  r  r$  isNavigationRequest
isDownloadredirectUrlauthChallengeresponseErrorReasonresponseStatusCoderB  ru  )r3  r  r  r   r  r  r  r  r  r  r<  rq  )rb   r1   r  r   FrameIdr   r1  rL   r	  ri   rl  r   r]   r.   s     r(   r1   zRequestIntercepted.from_json  s   s*44T:J5KLL%%d9o66\++DO<<&00n1EFF"&t,A'B"C"C4@D4H4HT,/000d5Bd5J5JT-0111PTM\`dMdMd=2243HIIIjnXmquXuXu+"7"7=R8S"T"T"T{DX\`D`D`T*>%?!@!@!@fjK\`dKdKdW..t4E/FGGGjnALPTATATy**4+<===Z^
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    s           $### '&&&&&&& 3222 8777 /... /... +***
 
 
 [
 
 
r+   r  zNetwork.requestServedFromCachec                  6    e Zd ZU dZded<   ed	d            ZdS )
RequestServedFromCachez7
    Fired if request ended up loading from cache.
    r]   rq  r0   r   rK   c                V     | t                               |d                             S )Nru  )rq  r]   r1   r.   s     r(   r1   z RequestServedFromCache.from_json  s1    s **4+<==
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    sL           
 
 
 [
 
 
r+   r  zNetwork.requestWillBeSentc                      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<   edd            ZdS ) RequestWillBeSentz8
    Fired when page is about to send HTTP request.
    r]   rq  rJ   	loader_idrL   document_urlr  r  r   r:  r   	wall_timerl  	initiatorr1  redirect_has_extra_infore  redirect_responser  rc  r  r  r  has_user_gesturer0   r   rK   c                    | t                               |d                   t                              |d                   t          |d                   t                              |d                   t
                              |d                   t                              |d                   t                              |d                   t          |d                   d	|v r t                              |d	                   nd d
|v r t                              |d
                   nd d|v r%t          j                            |d                   nd d|v rt          |d                   nd           S )Nru  loaderIddocumentURLr  r:  wallTimer  redirectHasExtraInforedirectResponserh  r  hasUserGesture)rq  r  r  r  r:  r  r  r  r  rc  r  r  )r]   r1   rJ   rL   r  r   r   rl  r1  r  r   r   r  r.   s     r(   r1   zRequestWillBeSent.from_json>  sR   s **4+<==((j)9::T-011%%d9o66#--d;.?@@$..tJ/?@@))${*;<<$(.D)E$F$FN`dhNhNhh006H1IJJJnr:@D..,((f666d@IT@Q@QT\++DO<<<W[=MQU=U=UT$'7"8999[_
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    s            "!!!0000((((++++++++
 
 
 [
 
 
r+   r  zNetwork.resourceChangedPriorityc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )ResourceChangedPriorityzO
    **EXPERIMENTAL**

    Fired when resource loading priority is changed
    r]   rq  r   new_priorityr   r:  r0   r   rK   c                     | t                               |d                   t                              |d                   t                              |d                             S )Nru  newPriorityr:  )rq  r  r:  )r]   r1   r   r   r.   s     r(   r1   z!ResourceChangedPriority.from_json_  s]    s **4+<==)33D4GHH#--d;.?@@
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r  P  sd           """"
 
 
 [
 
 
r+   r  zNetwork.signedExchangeReceivedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )SignedExchangeReceivedzZ
    **EXPERIMENTAL**

    Fired when a signed exchange was received over the network
    r]   rq  rb  infor0   r   rK   c                     | t                               |d                   t                              |d                             S )Nru  r  )rq  r  )r]   r1   rb  r.   s     r(   r1   z SignedExchangeReceived.from_jsonu  sF    s **4+<==#--d6l;;
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r  h  sX           
 
 
 [
 
 
r+   r  zNetwork.responseReceivedc                  r    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            ZdS )ResponseReceivedz0
    Fired when HTTP response is available.
    r]   rq  rJ   r  r   r:  r   rc  r  rf  r1  has_extra_infor  r  r0   r   rK   c                    | t                               |d                   t                              |d                   t                              |d                   t                              |d                   t
                              |d                   t          |d                   d|v r%t          j                            |d                   nd           S )	Nru  r  r:  rh  rf  hasExtraInfor  )rq  r  r:  rc  rf  r  r  )	r]   r1   rJ   r   r   r  r1  r   r  r.   s     r(   r1   zResponseReceived.from_json  s    s **4+<==((j)9::#--d;.?@@((f66''Z(899^ 455@IT@Q@QT\++DO<<<W[
 
 
 	
r+   N)r0   r   rK   r
  r  r-   r+   r(   r
  r
  }  s            ++++	
 	
 	
 [	
 	
 	
r+   r
  zNetwork.webSocketClosedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )WebSocketClosedz)
    Fired when WebSocket is closed.
    r]   rq  r   r:  r0   r   rK   c                     | t                               |d                   t                              |d                             S )Nru  r:  )rq  r:  r]   r1   r   r.   s     r(   r1   zWebSocketClosed.from_json  sG    s **4+<==#--d;.?@@
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    sX           
 
 
 [
 
 
r+   r  zNetwork.webSocketCreatedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketCreatedz(
    Fired upon WebSocket creation.
    r]   rq  rL   r  typing.Optional[Initiator]r  r0   r   rK   c                     | t                               |d                   t          |d                   d|v r t                              |d                   nd           S )Nru  r  r  )rq  r  r  )r]   r1   rL   rl  r.   s     r(   r1   zWebSocketCreated.from_json  sf    s **4+<==DK  @Kt@S@Si))${*;<<<Y]
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    sa           HHH))))
 
 
 [
 
 
r+   r  zNetwork.webSocketFrameErrorc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketFrameErrorz4
    Fired when WebSocket message error occurs.
    r]   rq  r   r:  rL   error_messager0   r   rK   c                     | t                               |d                   t                              |d                   t          |d                             S )Nru  r:  errorMessage)rq  r:  r  r  r.   s     r(   r1   zWebSocketFrameError.from_json  sW    s **4+<==#--d;.?@@d>233
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    sd           
 
 
 [
 
 
r+   r  zNetwork.webSocketFrameReceivedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketFrameReceivedz3
    Fired when WebSocket message is received.
    r]   rq  r   r:  rZ  rf  r0   r   rK   c                     | t                               |d                   t                              |d                   t                              |d                             S Nru  r:  rf  )rq  r:  rf  r]   r1   r   rZ  r.   s     r(   r1   z WebSocketFrameReceived.from_json  ]    s **4+<==#--d;.?@@#--d:.>??
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    d           
 
 
 [
 
 
r+   r  zNetwork.webSocketFrameSentc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )WebSocketFrameSentz/
    Fired when WebSocket message is sent.
    r]   rq  r   r:  rZ  rf  r0   r   rK   c                     | t                               |d                   t                              |d                   t                              |d                             S r  r  r.   s     r(   r1   zWebSocketFrameSent.from_json  r   r+   N)r0   r   rK   r#  r  r-   r+   r(   r#  r#    r!  r+   r#  z*Network.webSocketHandshakeResponseReceivedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )"WebSocketHandshakeResponseReceivedzD
    Fired when WebSocket handshake response becomes available.
    r]   rq  r   r:  rV  rf  r0   r   rK   c                     | t                               |d                   t                              |d                   t                              |d                             S r  )r]   r1   r   rV  r.   s     r(   r1   z,WebSocketHandshakeResponseReceived.from_json  s]    s **4+<==#--d;.?@@&00j1ABB
 
 
 	
r+   N)r0   r   rK   r&  r  r-   r+   r(   r&  r&    sd           
 
 
 [
 
 
r+   r&  z)Network.webSocketWillSendHandshakeRequestc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )!WebSocketWillSendHandshakeRequestz>
    Fired when WebSocket is about to initiate handshake.
    r]   rq  r   r:  r   r  rR  r  r0   r   rK   c           	         | t                               |d                   t                              |d                   t                              |d                   t                              |d                             S )Nru  r:  r  r  )rq  r:  r  r  )r]   r1   r   r   rR  r.   s     r(   r1   z+WebSocketWillSendHandshakeRequest.from_json0  sr    s **4+<==#--d;.?@@$..tJ/?@@$..tI??	
 
 
 	
r+   N)r0   r   rK   r)  r  r-   r+   r(   r)  r)  !  sp           
 
 
 [
 
 
r+   r)  zNetwork.webTransportCreatedc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )WebTransportCreatedz+
    Fired upon WebTransport creation.
    r]   transport_idrL   r  r   r:  r  r  r0   r   rK   c           	         | t                               |d                   t          |d                   t                              |d                   d|v r t                              |d                   nd           S )NtransportIdr  r:  r  )r-  r  r:  r  )r]   r1   rL   r   rl  r.   s     r(   r1   zWebTransportCreated.from_jsonI  s|    s",,T--@AADK  #--d;.?@@@Kt@S@Si))${*;<<<Y]	
 
 
 	
r+   N)r0   r   rK   r,  r  r-   r+   r(   r,  r,  :  sm           HHH))))
 
 
 [
 
 
r+   r,  z)Network.webTransportConnectionEstablishedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )!WebTransportConnectionEstablishedz8
    Fired when WebTransport handshake is finished.
    r]   r-  r   r:  r0   r   rK   c                     | t                               |d                   t                              |d                             S Nr/  r:  )r-  r:  r  r.   s     r(   r1   z+WebTransportConnectionEstablished.from_json^  G    s",,T--@AA#--d;.?@@
 
 
 	
r+   N)r0   r   rK   r1  r  r-   r+   r(   r1  r1  S  X           
 
 
 [
 
 
r+   r1  zNetwork.webTransportClosedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )WebTransportClosedz.
    Fired when WebTransport is disposed.
    r]   r-  r   r:  r0   r   rK   c                     | t                               |d                   t                              |d                             S r3  r  r.   s     r(   r1   zWebTransportClosed.from_jsonq  r4  r+   N)r0   r   rK   r7  r  r-   r+   r(   r7  r7  f  r5  r+   r7  z"Network.requestWillBeSentExtraInfoc                  h    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            ZdS )RequestWillBeSentExtraInfoaq  
    **EXPERIMENTAL**

    Fired when additional information about a requestWillBeSent event is available from the
    network stack. Not every requestWillBeSent event will have an additional
    requestWillBeSentExtraInfo fired for it, and there is no guarantee whether requestWillBeSent
    or requestWillBeSentExtraInfo will be fired first for the same request.
    r]   rq  ztyping.List[AssociatedCookie]associated_cookiesr   r  r  connect_timingz$typing.Optional[ClientSecurityState]client_security_stater  "site_has_cookie_in_other_partitionr0   r   rK   c                r    | t                               |d                   d |d         D             t                              |d                   t                              |d                   d|v r t                              |d                   nd d|v rt          |d                   nd           S )	Nru  c                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  z8RequestWillBeSentExtraInfo.from_json.<locals>.<listcomp>  s'    aaa! 0 : :1 = =aaar+   associatedCookiesr  connectTimingclientSecurityStatesiteHasCookieInOtherPartition)rq  r;  r  r<  r=  r>  )r]   r1   r   r  r  r1  r.   s     r(   r1   z$RequestWillBeSentExtraInfo.from_json  s    s **4+<==aatL_G`aaa%%d9o66(2243HII`uy}`}`}"5"?"?EZ@["\"\"\  DH^}  BF  _F  _FtD9X4Y/Z/Z/Z  LP
 
 
 	
r+   N)r0   r   rK   r:  r  r-   r+   r(   r:  r:  y  s            6555!!!!????====
 
 
 [
 
 
r+   r:  z!Network.responseReceivedExtraInfoc                      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<   edd            ZdS )ResponseReceivedExtraInfoa5  
    **EXPERIMENTAL**

    Fired when additional information about a responseReceived event is available from the network
    stack. Not every responseReceived event will have an additional responseReceivedExtraInfo for
    it, and responseReceivedExtraInfo may be fired before or after responseReceived.
    r]   rq  z'typing.List[BlockedSetCookieWithReason]blocked_cookiesr   r  r  resource_ip_address_spacerl  status_coder  r&  r  cookie_partition_keyr  cookie_partition_key_opaquez9typing.Optional[typing.List[ExemptedSetCookieWithReason]]exempted_cookiesr0   r   rK   c                    | t                               |d                   d |d         D             t                              |d                   t                              |d                   t	          |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
         D             nd 	  	        S )Nru  c                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  z7ResponseReceivedExtraInfo.from_json.<locals>.<listcomp>  s'    eee7AA!DDeeer+   blockedCookiesr  resourceIPAddressSpace
statusCoder@  cookiePartitionKeycookiePartitionKeyOpaqueexemptedCookiesc                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  z7ResponseReceivedExtraInfo.from_json.<locals>.<listcomp>  s'    hhh19CCAFFhhhr+   )	rq  rG  r  rH  rI  r&  rJ  rK  rL  )r]   r1   r   r  rl  rL   ry  r1  r.   s     r(   r1   z#ResponseReceivedExtraInfo.from_json  s-   s **4+<==eedScNdeee%%d9o66&4&>&>tD\?]&^&^D.//5Bd5J5JT-0111PT]quy]y]y!3!=!=dCW>X!Y!Y!Y  @DRlptRtRtT2L-M(N(N(Nz~l}  BF  mF  mFhhPTUfPghhhh  LP

 

 

 
	
r+   N)r0   r   rK   rF  r  r-   r+   r(   rF  rF    s            =<<< .---  '&&& >===6666 POOO
 
 
 [
 
 
r+   rF  z"Network.responseReceivedEarlyHintsc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )ResponseReceivedEarlyHintsa  
    **EXPERIMENTAL**

    Fired when 103 Early Hints headers is received in addition to the common response.
    Not every responseReceived event will have an responseReceivedEarlyHints fired.
    Only one responseReceivedEarlyHints may be fired for eached responseReceived event.
    r]   rq  r   r  r0   r   rK   c                     | t                               |d                   t                              |d                             S )Nru  r  )rq  r  )r]   r1   r   r.   s     r(   r1   z$ResponseReceivedEarlyHints.from_json  sF    s **4+<==%%d9o66
 
 
 	
r+   N)r0   r   rK   rW  r  r-   r+   r(   rW  rW    sX           
 
 
 [
 
 
r+   rW  zNetwork.trustTokenOperationDonec                  h    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            ZdS )TrustTokenOperationDonea  
    **EXPERIMENTAL**

    Fired exactly once for each Trust Token operation. Depending on
    the type of the operation and whether the operation succeeded or
    failed, the event is fired before the corresponding request was sent
    or after the response was received.
    rL   r6  r  rc  r]   rq  r  top_level_originissuer_originrX  issued_token_countr0   r   rK   c                X    | t          |d                   t                              |d                   t                              |d                   d|v rt          |d                   nd d|v rt          |d                   nd d|v rt	          |d                   nd           S )Nr6  rh  ru  topLevelOriginissuerOriginissuedTokenCount)r6  rc  rq  r[  r\  r]  )rL   r  r1   r]   rl  r.   s     r(   r1   z!TrustTokenOperationDone.from_json  s    stH~&&)33DLAA **4+<==<LPT<T<TS&6!7888Z^7E7M7M#d>2333SW@RVZ@Z@Zs4(:#;<<<`d
 
 
 	
r+   N)r0   r   rK   rZ  r  r-   r+   r(   rZ  rZ    s           KKK""""****'''',,,,
 
 
 [
 
 
r+   rZ  z,Network.subresourceWebBundleMetadataReceivedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )$SubresourceWebBundleMetadataReceivedz
    **EXPERIMENTAL**

    Fired once when parsing the .wbn file has succeeded.
    The event contains the information about the web bundle contents.
    r]   rq  rM  ri  r0   r   rK   c                x     | t                               |d                   d |d         D                       S )Nru  c                ,    g | ]}t          |          S r-   r  r&  s     r(   r)  zBSubresourceWebBundleMetadataReceived.from_json.<locals>.<listcomp>   s    ///Q#a&&///r+   ri  )rq  ri  r  r.   s     r(   r1   z.SubresourceWebBundleMetadataReceived.from_json  sF    s **4+<==//$v,///
 
 
 	
r+   N)r0   r   rK   rc  r  r-   r+   r(   rc  rc    sX           
 
 
 [
 
 
r+   rc  z)Network.subresourceWebBundleMetadataErrorc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )!SubresourceWebBundleMetadataErrorzQ
    **EXPERIMENTAL**

    Fired once when parsing the .wbn file has failed.
    r]   rq  rL   r  r0   r   rK   c                ~     | t                               |d                   t          |d                             S )Nru  r  )rq  r  r]   r1   rL   r.   s     r(   r1   z+SubresourceWebBundleMetadataError.from_json1  sA    s **4+<==d>233
 
 
 	
r+   N)r0   r   rK   rg  r  r-   r+   r(   rg  rg  $  sX           
 
 
 [
 
 
r+   rg  z/Network.subresourceWebBundleInnerResponseParsedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )'SubresourceWebBundleInnerResponseParsedz
    **EXPERIMENTAL**

    Fired when handling requests for resources within a .wbn file.
    Note: this will only be fired for resources that are requested by the webpage.
    r]   inner_request_idrL   inner_request_urlrp  bundle_request_idr0   r   rK   c                     | t                               |d                   t          |d                   d|v r t                               |d                   nd           S )NinnerRequestIdinnerRequestURLbundleRequestId)rl  rm  rn  ri  r.   s     r(   r1   z1SubresourceWebBundleInnerResponseParsed.from_jsonK  sk    s&006F1GHH!$'8"9::N_cgNgNgi11$7H2IJJJmq
 
 
 	
r+   N)r0   r   rK   rk  r  r-   r+   r(   rk  rk  9  sf             2111
 
 
 [
 
 
r+   rk  z.Network.subresourceWebBundleInnerResponseErrorc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )&SubresourceWebBundleInnerResponseErrorz[
    **EXPERIMENTAL**

    Fired when request for resources within a .wbn file failed.
    r]   rl  rL   rm  r  rp  rn  r0   r   rK   c           	          | t                               |d                   t          |d                   t          |d                   d|v r t                               |d                   nd           S )Nrp  rq  r  rr  )rl  rm  r  rn  ri  r.   s     r(   r1   z0SubresourceWebBundleInnerResponseError.from_jsong  s{    s&006F1GHH!$'8"9::d>233N_cgNgNgi11$7H2IJJJmq	
 
 
 	
r+   N)r0   r   rK   rt  r  r-   r+   r(   rt  rt  T  sr             2111
 
 
 [
 
 
r+   rt  zNetwork.reportingApiReportAddedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ReportingApiReportAddedz
    **EXPERIMENTAL**

    Is sent whenever a new report is added.
    And after 'enableReportingApi' for all existing reports.
    r  reportr0   r   rK   c                V     | t                               |d                             S Nrx  )rx  r  r1   r.   s     r(   r1   z!ReportingApiReportAdded.from_json|  0    s%//X??
 
 
 	
r+   N)r0   r   rK   rw  r  r-   r+   r(   rw  rw  q  sL           
 
 
 [
 
 
r+   rw  z!Network.reportingApiReportUpdatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ReportingApiReportUpdated
    **EXPERIMENTAL**


    r  rx  r0   r   rK   c                V     | t                               |d                             S rz  r{  r.   s     r(   r1   z#ReportingApiReportUpdated.from_json  r|  r+   N)r0   r   rK   r~  r  r-   r+   r(   r~  r~    sL          
 
 
 
 [
 
 
r+   r~  z-Network.reportingApiEndpointsChangedForOriginc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )%ReportingApiEndpointsChangedForOriginr  rL   r7  z!typing.List[ReportingApiEndpoint]	endpointsr0   r   rK   c                b     | t          |d                   d |d         D                       S )Nr7  c                B    g | ]}t                               |          S r-   )r  r1   r&  s     r(   r)  zCReportingApiEndpointsChangedForOrigin.from_json.<locals>.<listcomp>  s'    TTTQ+55a88TTTr+   r  )r7  r  r  r.   s     r(   r1   z/ReportingApiEndpointsChangedForOrigin.from_json  s@    stH~&&TT${BSTTT
 
 
 	
r+   N)r0   r   rK   r  r  r-   r+   r(   r  r    sU           KKK0000
 
 
 [
 
 
r+   r  )r  r  rK   r  )rK   r  )rK   r'  )NNNNNNN)r3  rb   r4  r5  r6  r  r  r  r  r  r  r  r  r'  r7  r8  rK   r  )NNNN)r  rL   r  r  r  r  r  r  r  r  rK   r  )rD  r1  rE  r   rF  r   rG  r   rH  rI  rJ  r   rK  rX  rL  r  rK   r  )NNN)rU  rX  rV  rX  rW  rX  rK   r  )rK   r]  )r7  rL   rK   rd  r#   )ri  r  rK   r]  )rq  r]   rK   ro  )rq  r]   rK   ru  )r3  rb   rK   ro  )r3  rb   rK   r|  )rq  r]   rK   r  )NN)
rq  r]   r  rL   r  r  r  r  rK   r  )ri  rM  rK   r  )r  r1  rK   r  )r  r1  rK   r  )NNNNNNNNNNNN)r  rL   r%   rL   r  r  r  r  r  r  r  r  r  r  r  r  r  r3  r  r  r  r  r  r  r  rX  r  r  rK   r'  )rb  r  rK   r  )r  r   rK   r  )r  r1  rK   r  )r  r  rK   r  )
r  rL   r  r  r  r  r  r  rK   r  )r  r  rK   r  )r\  r1  rK   r  )r  r  r  rL   r  r  rK   r  )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r   Enumr   rL   rJ   r]   rb   ri   r   r   r   r   r   r   r   r   r   r   r   r  r  r5  rG  rS  rv  r  r  r  r3  r  r  r  r  r  rR  rV  rZ  rb  rl  ry  r  r  r  r  r  r  r  r  r	  r  r  r  r(  r9  rH  rX  rb  rl  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r&  r*  r,  r.  r0  r2  r?  rA  rC  rT  r\  rc  rh  rn  rt  rx  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r#  r&  r)  r,  r1  r7  r:  rF  rW  rZ  rc  rg  rk  rt  rw  r~  r  r-   r+   r(   <module>r     s   # " " " " " * * * * * * * * ! ! ! ! ! !                                          49   >9 9 9 9 9s 9 9 9: : : : : : : :? ? ? ? ?S ? ? ?    $)   6? ? ? ? ?U ? ? ?> > > > >E > > >8 8 8 8 8d 8 8 8    TY   ,    TY   "    TY   "       $ w
 w
 w
 w
 w
 w
 w
 w
t    ty   $ 
 
 
 
 
 
 
 
& W
 W
 W
 W
 W
 W
 W
 W
t 4
 4
 4
 4
 4
 4
 4
 4
n [
 [
 [
 [
 [
 [
 [
 [
|    	        DI   6, , , , ,	 , , ,^ 
 
 
 
 
 
 
 
&    $)   " 
 
 
 
 
 
 
 
B
 
 
 
 
di 
 
 
    TY   *    	   " 
 
 
 
 
 
 
 
> f
 f
 f
 f
 f
 f
 f
 f
R 
 
 
 
 
 
 
 
& ,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
^ 
 
 
 
 
 
 
 
>  
  
  
  
  
  
  
  
F 0
 0
 0
 0
 0
 0
 0
 0
f 
 
 
 
 
 
 
 
4 `
 `
 `
 `
 `
 `
 `
 `
F         TY      F    $)   :    DI   . 
 
 
 
 
 
 
 
B 
 
 
 
 
 
 
 
< 
 
 
 
 
 
 
 
@ `
 `
 `
 `
 `
 `
 `
 `
F  
  
  
  
  
  
  
  
F  
  
  
  
  
  
  
  
F    	     
 
 
 
 
 
 
 
B <
 <
 <
 <
 <
 <
 <
 <
~ %
 %
 %
 %
 %
 %
 %
 %
P    ty   & 
 
 
 
 
 
 
 
> "
 "
 "
 "
 "
 "
 "
 "
J    di   "    $)       TY    
 
 
 
 
 
 
 
$ 
 
 
 
 
 
 
 
.    49     
 
 
 
 
 
 
 
:
 
 
 
 
TY 
 
 
 
 
 
 
 
 
 
 
:	 	 	 	 	$) 	 	 	 
 
 
 
 
 
 
 
. 
 
 
 
 
 
 
 
4    49   "	9 	9 	9 	9 	9s 	9 	9 	9 5
 5
 5
 5
 5
 5
 5
 5
p 
 
 
 
 
 
 
 
* +
 +
 +
 +
 +
 +
 +
 +
\ 
 
 
 
 
 
 
 
.   &	 	 	 	
  
  
  
 
  
  
  
 
  
  
  
        6:-1$('+*.,0JN0 0 0 0 0j %)'+%)=A    B    <@.24837' ' ' ' 'V 7;9=37    4: : : :0 0 0 0, 37: : : : :*   2! ! ! !&   65 5 5 50   0 15*.	G G G G G@   &   "   ( %)'+%)(,+/593748,0=A,0=AC! C! C! C! C!L   "   "   &   , 15)-LP	    :% % % %. 37= = = = =,   * 37.2E E E E E8 #$$

 
 
 
 
 
 
  %$
4 122

 
 
 
 
 
 
  32
4 $%%

 
 
 
 
 
 
  &%
@ &''

 
 
 
 
 
 
  ('
( )**
7
 7
 7
 7
 7
 7
 7
  +*7
t -..

 
 
 
 
 
 
  /.
 ())
.
 .
 .
 .
 .
 .
 .
  *).
b .//

 
 
 
 
 
 
  0/
, -..

 
 
 
 
 
 
  /.
& '((

 
 
 
 
 
 
  )(
B &''

 
 
 
 
 
 
  ('
" '((

 
 
 
 
 
 
  )(
( *++

 
 
 
 
 
 
  ,+
( -..

 
 
 
 
 
 
  /.
( )**

 
 
 
 
 
 
  +*
( 9::

 
 
 
 
 
 
  ;:
( 899

 
 
 
 
 
 
  :9
. *++

 
 
 
 
 
 
  ,+
. 899

 
 
 
 
 
 
  :9
" )**

 
 
 
 
 
 
  +*
" 122
 
  
  
  
  
  
  
  32 
F 011
/
 /
 /
 /
 /
 /
 /
  21/
d 122

 
 
 
 
 
 
  32
* .//
 
  
  
  
  
  
  
  0/ 
F ;<<

 
 
 
 
 
 
  =<
( 899

 
 
 
 
 
 
  :9
& >??

 
 
 
 
 
 
  @?
2 =>>

 
 
 
 
 
 
  ?>
6 .//

 
 
 
 
 
 
  0/
  011

 
 
 
 
 
 
  21
 <==

 
 
 
 
 
 
  >=
 
 
r+   