
     f/                    r   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 e G d
 d                      Ze G d d                      Ze G d d                      Z G d dej                  Z G d dej                  Z G d dej                  Ze G d d                      Z G d dej                  Z G d dej                  Ze G d d                      Z G d dej                  Ze G d  d!                      Z G d" d#ej                  Z G d$ d%ej                  Ze G d& d'                      Z G d( d)ej                  Ze G d* d+                      Ze G d, d-                      Z  G d. d/ej                  Z!e G d0 d1                      Z"e G d2 d3                      Z#e G d4 d5                      Z$ G d6 d7ej                  Z% G d8 d9ej                  Z&e G d: d;                      Z'e G d< d=                      Z(e G d> d?                      Z)e G d@ dA                      Z* G dB dCej                  Z+e G dD dE                      Z,e G dF dG                      Z-e G dH dI                      Z.e G dJ dK                      Z/ G dL dMej                  Z0e G dN dO                      Z1 G dP dQej                  Z2e G dR dS                      Z3 G dT dUej                  Z4e G dV dW                      Z5e G dX dY                      Z6 G dZ d[ej                  Z7e G d\ d]                      Z8 G d^ d_ej                  Z9e G d` da                      Z: G db dcej                  Z;e G dd de                      Z< G df dge=          Z>e G dh di                      Z?	 	 dddtZ@ddvZAddwZB	 dddyZCdd{ZD ed|          e G d} d~                                  ZEdS )    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)page)runtimec                  N    e Zd ZU dZded<   ded<   ded<   d Zed             ZdS )	AffectedCookiezL
    Information about a cookie that is affected by an inspector issue.
    strnamepathdomainc                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )Nr   r   r   )dictr   r   r   selfjsons     q/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v126/audits.pyto_jsonzAffectedCookie.to_json   s1    vvyVyVX    c                     | t          |d                   t          |d                   t          |d                             S )Nr   r   r   )r   r   r   r   clsr   s     r   	from_jsonzAffectedCookie.from_json%   sH    sT&\""T&\""tH~&&
 
 
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr    r   r   r   r      sg           IIIIIIKKK   
 
 [
 
 
r   r   c                  H    e Zd ZU dZded<   dZded<   d Zed             ZdS )	AffectedRequestzM
    Information about a request that is affected by an inspector issue.
    network.RequestId
request_idNtyping.Optional[str]urlc                |    t                      }| j                                        |d<   | j        
| j        |d<   |S )N	requestIdr,   )r   r*   r   r,   r   s     r   r   zAffectedRequest.to_json8   s;    vv O3355[8(DKr   c                     | t           j                            |d                   d|v rt          |d                   nd           S )Nr.   r,   )r*   r,   )r	   	RequestIdr   r   r   s     r   r   zAffectedRequest.from_json?   sP    s(2243DEE$)TMMDK   t
 
 
 	
r   )	r    r!   r"   r#   r$   r,   r   r%   r   r&   r   r   r(   r(   .   si           "!!! $C$$$$   
 
 [
 
 
r   r(   c                  :    e Zd ZU dZded<   d Zed             ZdS )AffectedFramezE
    Information about the frame affected by an inspector issue.
    page.FrameIdframe_idc                Z    t                      }| j                                        |d<   |S )NframeId)r   r4   r   r   s     r   r   zAffectedFrame.to_jsonN   s'    vv-//11Yr   c                `     | t           j                            |d                             S )Nr6   )r4   )r
   FrameIdr   r   s     r   r   zAffectedFrame.from_jsonS   s2    s\++DO<<
 
 
 	
r   Nr   r&   r   r   r2   r2   G   sX             
 
 
 [
 
 
r   r2   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 )CookieExclusionReason&ExcludeSameSiteUnspecifiedTreatedAsLaxExcludeSameSiteNoneInsecureExcludeSameSiteLaxExcludeSameSiteStrictExcludeInvalidSameParty!ExcludeSamePartyCrossPartyContextExcludeDomainNonASCII-ExcludeThirdPartyCookieBlockedInFirstPartySetExcludeThirdPartyPhaseoutc                    | j         S Nvaluer   s    r   r   zCookieExclusionReason.to_jsone   
    zr   c                     | |          S rE   r&   r   s     r   r   zCookieExclusionReason.from_jsonh       s4yyr   N)r    r!   r"   ,EXCLUDE_SAME_SITE_UNSPECIFIED_TREATED_AS_LAXEXCLUDE_SAME_SITE_NONE_INSECUREEXCLUDE_SAME_SITE_LAXEXCLUDE_SAME_SITE_STRICTEXCLUDE_INVALID_SAME_PARTY&EXCLUDE_SAME_PARTY_CROSS_PARTY_CONTEXTEXCLUDE_DOMAIN_NON_ASCII5EXCLUDE_THIRD_PARTY_COOKIE_BLOCKED_IN_FIRST_PARTY_SETEXCLUDE_THIRD_PARTY_PHASEOUTr   r%   r   r&   r   r   r:   r:   Z   st        3[0&C#06!:-P*6<k9#>      [  r   r:   c                  Z    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ed             ZdS )CookieWarningReason'WarnSameSiteUnspecifiedCrossSiteContextWarnSameSiteNoneInsecure%WarnSameSiteUnspecifiedLaxAllowUnsafe$WarnSameSiteStrictLaxDowngradeStrict&WarnSameSiteStrictCrossDowngradeStrict#WarnSameSiteStrictCrossDowngradeLax#WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLax WarnAttributeValueExceedsMaxSizeWarnDomainNonASCIIWarnThirdPartyPhaseout.WarnCrossSiteRedirectDowngradeChangesInclusionc                    | j         S rE   rF   rH   s    r   r   zCookieWarningReason.to_json{   rI   r   c                     | |          S rE   r&   r   s     r   r   zCookieWarningReason.from_json~   rK   r   N)r    r!   r"   -WARN_SAME_SITE_UNSPECIFIED_CROSS_SITE_CONTEXTWARN_SAME_SITE_NONE_INSECURE+WARN_SAME_SITE_UNSPECIFIED_LAX_ALLOW_UNSAFE*WARN_SAME_SITE_STRICT_LAX_DOWNGRADE_STRICT,WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_STRICT)WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_LAX)WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_STRICT&WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_LAX%WARN_ATTRIBUTE_VALUE_EXCEEDS_MAX_SIZEWARN_DOMAIN_NON_ASCIIWARN_THIRD_PARTY_PHASEOUT4WARN_CROSS_SITE_REDIRECT_DOWNGRADE_CHANGES_INCLUSIONr   r%   r   r&   r   r   rV   rV   m   s        4]1#= 2Y/1W.3[00U-0U--O*,N)0 8;k8     [  r   rV   c                  2    e Zd ZdZdZd Zed             ZdS )CookieOperation	SetCookie
ReadCookiec                    | j         S rE   rF   rH   s    r   r   zCookieOperation.to_json   rI   r   c                     | |          S rE   r&   r   s     r   r   zCookieOperation.from_json   rK   r   N)r    r!   r"   
SET_COOKIEREAD_COOKIEr   r%   r   r&   r   r   rr   rr      sH        JK     [  r   rr   c                      e Zd ZU dZded<   ded<   ded<   dZd	ed
<   dZded<   dZded<   dZded<   dZ	ded<   d Z
ed             ZdS )CookieIssueDetailsz
    This information is currently necessary, as the front-end has a difficult
    time finding a specific cookie. With this, we can convey specific error
    information without the cookie.
    z typing.List[CookieWarningReason]cookie_warning_reasonsz"typing.List[CookieExclusionReason]cookie_exclusion_reasonsrr   	operationNztyping.Optional[AffectedCookie]cookier+   raw_cookie_linesite_for_cookies
cookie_url typing.Optional[AffectedRequest]requestc                   t                      }d | j        D             |d<   d | j        D             |d<   | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d	<   | j	        | j	                                        |d
<   |S )Nc                6    g | ]}|                                 S r&   r   .0is     r   
<listcomp>z.CookieIssueDetails.to_json.<locals>.<listcomp>   s     'Y'Y'Y		'Y'Y'Yr   cookieWarningReasonsc                6    g | ]}|                                 S r&   r   r   s     r   r   z.CookieIssueDetails.to_json.<locals>.<listcomp>   s     )])])]!!))++)])])]r   cookieExclusionReasonsr}   r~   rawCookieLinesiteForCookies	cookieUrlr   )
r   r{   r|   r}   r   r~   r   r   r   r   r   s     r   r   zCookieIssueDetails.to_json   s    vv'Y'YT=X'Y'Y'Y#$)])]t?\)])])]%& N2244[;"![0022DN+$($8D! ,%)%:D!"?& $D<#"l2244DOr   c                    | d |d         D             d |d         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           S )Nc                B    g | ]}t                               |          S r&   )rV   r   r   s     r   r   z0CookieIssueDetails.from_json.<locals>.<listcomp>   s'    #k#k#k$7$A$A!$D$D#k#k#kr   r   c                B    g | ]}t                               |          S r&   )r:   r   r   s     r   r   z0CookieIssueDetails.from_json.<locals>.<listcomp>   s'    %q%q%qQ&;&E&Ea&H&H%q%q%qr   r   r}   r~   r   r   r   r   )r{   r|   r}   r~   r   r   r   r   )rr   r   r   r   r(   r   s     r   r   zCookieIssueDetails.from_json   s   s#k#kdSiNj#k#k#k%q%qRVWoRp%q%q%q%//[0ABB?G4?O?O>++DN;;;UY:IT:Q:QC_ 5666W[<LPT<T<TS&6!7888Z^1<1D1Ds4,---$BKtBSBSO--d9o>>>Y]	
 	
 	
 		
r   )r    r!   r"   r#   r$   r~   r   r   r   r   r   r%   r   r&   r   r   rz   rz      s          
 =<<<@@@@  /3F2222,0O0000-11111'+J++++04G4444  " 

 

 [

 

 

r   rz   c                  6    e Zd ZdZdZdZd Zed             ZdS )MixedContentResolutionStatusMixedContentBlocked!MixedContentAutomaticallyUpgradedMixedContentWarningc                    | j         S rE   rF   rH   s    r   r   z$MixedContentResolutionStatus.to_json   rI   r   c                     | |          S rE   r&   r   s     r   r   z&MixedContentResolutionStatus.from_json   rK   r   N)	r    r!   r"   MIXED_CONTENT_BLOCKED$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDMIXED_CONTENT_WARNINGr   r%   r   r&   r   r   r   r      sP        1+N(1     [  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dZdZdZdZdZd Z e!d             Z"d S )!MixedContentResourceTypeAttributionSrcAudioBeacon	CSPReportDownloadEventSourceFaviconFontFormFrameImageImportJSONManifestPing
PluginDataPluginResourcePrefetchResourceScriptServiceWorkerSharedWorkerSpeculationRules
StylesheetTrackVideoWorkerXMLHttpRequestXSLTc                    | j         S rE   rF   rH   s    r   r   z MixedContentResourceType.to_json   rI   r   c                     | |          S rE   r&   r   s     r   r   z"MixedContentResourceType.from_json   rK   r   N)#r    r!   r"   ATTRIBUTION_SRCAUDIOBEACON
CSP_REPORTDOWNLOADEVENT_SOURCEFAVICONFONTFORMFRAMEIMAGEIMPORTr   MANIFESTPINGPLUGIN_DATAPLUGIN_RESOURCEPREFETCHRESOURCESCRIPTSERVICE_WORKERSHARED_WORKERSPECULATION_RULES
STYLESHEETTRACKVIDEOWORKERXML_HTTP_REQUESTr   r   r%   r   r&   r   r   r   r      s        &OEFJH LGDDEEFDHDK&OHHF$N"M*JEEF'D     [  r   r   c                  t    e Zd ZU 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 )MixedContentIssueDetailsr   resolution_statusr   insecure_urlmain_resource_urlNz)typing.Optional[MixedContentResourceType]resource_typer   r   typing.Optional[AffectedFrame]framec                T   t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NresolutionStatusinsecureURLmainResourceURLresourceTyper   r   )r   r   r   r   r   r   r   r   r   s     r   r   z MixedContentIssueDetails.to_json  s    vv#'#9#A#A#C#C "/]"&"8)#'#5#=#=#?#?D <#"l2244DO:! J..00DMr   c                    | 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 )Nr   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r(   r2   r   s     r   r   z"MixedContentIssueDetails.from_json$  s    s:DDTJ\E]^^T-011!$'8"9::VdhlVlVl2<<T.=QRRRrvBKtBSBSO--d9o>>>Y]<CtOO-))$w-888QU
 
 
 	
r   )
r    r!   r"   r$   r   r   r   r   r%   r   r&   r   r   r   r      s          4333   @DMCCCC 15G4444 -1E0000   
 
 [
 
 
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 )
BlockedByResponseReasonz
    Enum indicating the reason a response has been blocked. These reasons are
    refinements of the net error BLOCKED_BY_RESPONSE.
     CoepFrameResourceNeedsCoepHeader+CoopSandboxedIFrameCannotNavigateToCoopPageCorpNotSameOrigin1CorpNotSameOriginAfterDefaultedToSameOriginByCoepCorpNotSameSitec                    | j         S rE   rF   rH   s    r   r   zBlockedByResponseReason.to_json;  rI   r   c                     | |          S rE   r&   r   s     r   r   z!BlockedByResponseReason.from_json>  rK   r   N)r    r!   r"   r#   %COEP_FRAME_RESOURCE_NEEDS_COEP_HEADER3COOP_SANDBOXED_I_FRAME_CANNOT_NAVIGATE_TO_COOP_PAGECORP_NOT_SAME_ORIGIN;CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEPCORP_NOT_SAME_SITEr   r%   r   r&   r   r   r   r   0  si          -O):g7.Bu?*     [  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ed             Z	dS )BlockedByResponseIssueDetailsz
    Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
    code. Currently only used for COEP/COOP, but may be extended to include
    some CSP errors in the future.
    r(   r   r   reasonNr   parent_frameblocked_framec                   t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )Nr   r   parentFrameblockedFrame)r   r   r   r   r   r   r   s     r   r   z%BlockedByResponseIssueDetails.to_jsonR  s    vv,..00Y,,..X("&"3";";"="=D)#'#5#=#=#?#?D 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(   r   r   r2   r   s     r   r   z'BlockedByResponseIssueDetails.from_json\  s    s#--d9o>>*44T(^DDIVZ^I^I^00m1DEEEdhKY]aKaKa-11$~2FGGGgk	
 
 
 	
r   )
r    r!   r"   r#   r$   r   r   r   r%   r   r&   r   r   r   r   C  s          
 ####37L777748M8888   
 
 [
 
 
r   r   c                  2    e Zd ZdZdZd Zed             ZdS )HeavyAdResolutionStatusHeavyAdBlockedHeavyAdWarningc                    | j         S rE   rF   rH   s    r   r   zHeavyAdResolutionStatus.to_jsonj  rI   r   c                     | |          S rE   r&   r   s     r   r   z!HeavyAdResolutionStatus.from_jsonm  rK   r   N)r    r!   r"   HEAVY_AD_BLOCKEDHEAVY_AD_WARNINGr   r%   r   r&   r   r   r   r   f  sJ        ''     [  r   r   c                  6    e Zd ZdZdZdZd Zed             ZdS )HeavyAdReasonNetworkTotalLimitCpuTotalLimitCpuPeakLimitc                    | j         S rE   rF   rH   s    r   r   zHeavyAdReason.to_jsonw  rI   r   c                     | |          S rE   r&   r   s     r   r   zHeavyAdReason.from_jsonz  rK   r   N)	r    r!   r"   NETWORK_TOTAL_LIMITCPU_TOTAL_LIMITCPU_PEAK_LIMITr   r%   r   r&   r   r   r  r  r  sN        -%O#N     [  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 )
HeavyAdIssueDetailsr   
resolutionr  r   r2   r   c                    t                      }| j                                        |d<   | j                                        |d<   | j                                        |d<   |S )Nr  r   r   )r   r  r   r   r   r   s     r   r   zHeavyAdIssueDetails.to_json  sV    vv!_4466\,,..X
**,,Wr   c                     | t                               |d                   t                              |d                   t                              |d                             S )Nr  r   r   )r  r   r   )r   r   r  r2   r   s     r   r   zHeavyAdIssueDetails.from_json  s[    s.88l9KLL **4>::))$w-88
 
 
 	
r   Nr    r!   r"   r$   r   r%   r   r&   r   r   r  r    sj          ('''     
 
 [
 
 
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 )
"ContentSecurityPolicyViolationTypekInlineViolationkEvalViolationkURLViolationkTrustedTypesSinkViolationkTrustedTypesPolicyViolationkWasmEvalViolationc                    | j         S rE   rF   rH   s    r   r   z*ContentSecurityPolicyViolationType.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   z,ContentSecurityPolicyViolationType.from_json  rK   r   N)r    r!   r"   K_INLINE_VIOLATIONK_EVAL_VIOLATIONK_URL_VIOLATIONK_TRUSTED_TYPES_SINK_VIOLATION K_TRUSTED_TYPES_POLICY_VIOLATIONK_WASM_EVAL_VIOLATIONr   r%   r   r&   r   r   r  r    sa        +'%O%A"'E$0     [  r   r  c                  X    e Zd ZU ded<   ded<   ded<   dZded<   d	 Zed
             ZdS )SourceCodeLocationr   r,   intline_numbercolumn_numberNz!typing.Optional[runtime.ScriptId]	script_idc                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   |S )Nr,   
lineNumbercolumnNumberscriptId)r   r,   r*  r+  r,  r   r   s     r   r   zSourceCodeLocation.to_json  sU    vvhU!-\#1^>%#~5577Dr   c           	          | t          |d                   t          |d                   t          |d                   d|v r%t          j                            |d                   nd           S )Nr,   r.  r/  r0  )r,   r*  r+  r,  )r   r)  r   ScriptIdr   r   s     r   r   zSourceCodeLocation.from_json  st    sDK  D.//d>233FPTXFXFXg&00j1ABBB^b	
 
 
 	
r   )r    r!   r"   r$   r,  r   r%   r   r&   r   r   r(  r(    sr         HHH37I7777   
 
 [
 
 
r   r(  c                      e Zd ZU 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e	d             Z
dS )!ContentSecurityPolicyIssueDetailsr   violated_directiveboolis_report_onlyr  &content_security_policy_violation_typeNr+   blocked_urlr   frame_ancestor#typing.Optional[SourceCodeLocation]source_code_location"typing.Optional[dom.BackendNodeId]violating_node_idc                v   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NviolatedDirectiveisReportOnly"contentSecurityPolicyViolationType
blockedURLframeAncestorsourceCodeLocationviolatingNodeId)	r   r5  r7  r8  r   r9  r:  r<  r>  r   s     r   r   z)ContentSecurityPolicyIssueDetails.to_json  s    vv$($; !#2^595`5h5h5j5j12'!%!1D*$($7$?$?$A$AD!$0)-)B)J)J)L)LD%&!-&*&<&D&D&F&FD"#r   c                    | 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%t          j                            |d                   nd           S )	Nr@  rA  rB  rC  rD  rE  rF  )r5  r7  r8  r9  r:  r<  r>  )r   r6  r  r   r2   r(  r   BackendNodeIdr   s     r   r   z+ContentSecurityPolicyIssueDetails.from_json  s    s"4(;#<==^ 4553U3_3_`d  fJ  aK  4L  4L3?43G3GD.///TM\`dMdMd=2243HIIIjn]quy]y]y!3!=!=dCW>X!Y!Y!Y  @DVgkoVoVoc/99$?P:QRRRuy
 
 
 	
r   )r    r!   r"   r$   r9  r:  r<  r>  r   r%   r   r&   r   r   r4  r4    s          NNNN )-K,,,,59N9999@DDDDD<@@@@@   	
 	
 [	
 	
 	
r   r4  c                  2    e Zd ZdZdZd Zed             ZdS )SharedArrayBufferIssueTypeTransferIssueCreationIssuec                    | j         S rE   rF   rH   s    r   r   z"SharedArrayBufferIssueType.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   z$SharedArrayBufferIssueType.from_json  rK   r   N)r    r!   r"   TRANSFER_ISSUECREATION_ISSUEr   r%   r   r&   r   r   rJ  rJ    sH        $N$N     [  r   rJ  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 )SharedArrayBufferIssueDetailsz
    Details for a issue arising from an SAB being instantiated in, or
    transferred to a context that is not cross-origin isolated.
    r(  r<  r6  
is_warningrJ  type_c                    t                      }| j                                        |d<   | j        |d<   | j                                        |d<   |S )NrE  	isWarningtype)r   r<  r   rS  rT  r   s     r   r   z%SharedArrayBufferIssueDetails.to_json  sM    vv%)%>%F%F%H%H!" O[z))++Vr   c                     | t                               |d                   t          |d                   t                              |d                             S )NrE  rV  rW  )r<  rS  rT  )r(  r   r6  rJ  r   s     r   r   z'SharedArrayBufferIssueDetails.from_json  sW    s!3!=!=dCW>X!Y!YD-..,66tF|DD
 
 
 	
r   Nr   r&   r   r   rR  rR    sp           -,,,%%%%   
 
 [
 
 
r   rR  c                  r    e Zd ZU 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 )LowTextContrastIssueDetailsdom.BackendNodeIdr>  r   violating_node_selectorfloatcontrast_ratiothreshold_aathreshold_aaa	font_sizefont_weightc                    t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )NrF  violatingNodeSelectorcontrastRatiothresholdAAthresholdAAAfontSize
fontWeight)	r   r>  r   r\  r^  r_  r`  ra  rb  r   s     r   r   z#LowTextContrastIssueDetails.to_json-  sx    vv"&"8"@"@"B"B(,(D$% $ 3_"/]#1^>Z!-\r   c                P    | t           j                            |d                   t          |d                   t	          |d                   t	          |d                   t	          |d                   t          |d                   t          |d                             S )	NrF  rd  re  rf  rg  rh  ri  )r>  r\  r^  r_  r`  ra  rb  )r   rH  r   r   r]  r   s     r   r   z%LowTextContrastIssueDetails.from_json8  s    s!/99$?P:QRR$'-D(E$F$F o!677tM233^ 455$z*++D.//
 
 
 	
r   Nr  r&   r   r   rZ  rZ    s         ((((    NNN	 	 	 	
 	
 [	
 	
 	
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ded<   dZded<   dZded<   d Z	e
d             ZdS )CorsIssueDetailszl
    Details for a CORS related issue, e.g. a warning or error related to
    CORS RFC1918 enforcement.
    znetwork.CorsErrorStatuscors_error_statusr6  rS  r(   r   Nr;  locationr+   initiator_originz'typing.Optional[network.IPAddressSpace]resource_ip_address_spacez,typing.Optional[network.ClientSecurityState]client_security_statec                   t                      }| j                                        |d<   | j        |d<   | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NcorsErrorStatusrV  r   rn  initiatorOriginresourceIPAddressSpaceclientSecurityState)	r   rm  r   rS  r   rn  ro  rp  rq  r   s     r   r   zCorsIssueDetails.to_jsonY  s    vv"&"8"@"@"B"B O[,..00Y=$#}4466D ,&*&;D"#)5-1-K-S-S-U-UD)*%1*.*D*L*L*N*ND&'r   c                    | 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           j                            |d                   nd d|v r%t           j                            |d                   nd           S )	Nrs  rV  r   rn  rt  ru  rv  )rm  rS  r   rn  ro  rp  rq  )	r	   CorsErrorStatusr   r6  r(   r(  r   IPAddressSpaceClientSecurityStater   s     r   r   zCorsIssueDetails.from_jsonh  s   s%5??EV@WXXD-..#--d9o>>GQUYGYGY'11$z2BCCC_c=NRV=V=VS&7!8999\` kC  GK  kK  kKg&<&F&FtLdGe&f&f&f  QUh}  BF  iF  iF'"="G"GMbHc"d"d"d  LP
 
 
 	
r   )r    r!   r"   r#   r$   rn  ro  rp  rq  r   r%   r   r&   r   r   rl  rl  E  s           /...48H8888-11111IMMMMMJNNNNN   	
 	
 [	
 	
 	
r   rl  c                  z    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ed             ZdS )AttributionReportingIssueTypePermissionPolicyDisabledUntrustworthyReportingOriginInsecureContextInvalidHeaderInvalidRegisterTriggerHeaderSourceAndTriggerHeadersSourceIgnoredTriggerIgnoredOsSourceIgnoredOsTriggerIgnoredInvalidRegisterOsSourceHeaderInvalidRegisterOsTriggerHeaderWebAndOsHeadersNoWebOrOsSupport4NavigationRegistrationWithoutTransientUserActivationInvalidInfoHeaderNoRegisterSourceHeaderNoRegisterTriggerHeaderNoRegisterOsSourceHeaderNoRegisterOsTriggerHeaderc                    | j         S rE   rF   rH   s    r   r   z%AttributionReportingIssueType.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   z'AttributionReportingIssueType.from_json  rK   r   N)r    r!   r"   PERMISSION_POLICY_DISABLEDUNTRUSTWORTHY_REPORTING_ORIGININSECURE_CONTEXTINVALID_HEADERINVALID_REGISTER_TRIGGER_HEADERSOURCE_AND_TRIGGER_HEADERSSOURCE_IGNOREDTRIGGER_IGNOREDOS_SOURCE_IGNOREDOS_TRIGGER_IGNORED!INVALID_REGISTER_OS_SOURCE_HEADER"INVALID_REGISTER_OS_TRIGGER_HEADERWEB_AND_OS_HEADERSNO_WEB_OR_OS_SUPPORT9NAVIGATION_REGISTRATION_WITHOUT_TRANSIENT_USER_ACTIVATIONINVALID_INFO_HEADERNO_REGISTER_SOURCE_HEADERNO_REGISTER_TRIGGER_HEADERNO_REGISTER_OS_SOURCE_HEADERNO_REGISTER_OS_TRIGGER_HEADERr   r%   r   r&   r   r   r|  r|  u  s        !;%C"($N&D#!:$N&O)+(G%)I&*-@v=- 8!:#= $?!     [  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 )SharedDictionaryError UseErrorCrossOriginNoCorsRequestUseErrorDictionaryLoadFailure!UseErrorMatchingDictionaryNotUsed)UseErrorUnexpectedContentDictionaryHeader!WriteErrorCossOriginNoCorsRequestWriteErrorDisallowedBySettingsWriteErrorExpiredResponseWriteErrorFeatureDisabledWriteErrorInsufficientResourcesWriteErrorInvalidMatchField!WriteErrorInvalidStructuredHeaderWriteErrorNavigationRequestWriteErrorNoMatchFieldWriteErrorNonListMatchDestFieldWriteErrorNonSecureContextWriteErrorNonStringIdField"WriteErrorNonStringInMatchDestListWriteErrorNonStringMatchFieldWriteErrorNonTokenTypeFieldWriteErrorRequestAbortedWriteErrorShuttingDownWriteErrorTooLongIdFieldWriteErrorUnsupportedTypec                    | j         S rE   rF   rH   s    r   r   zSharedDictionaryError.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   zSharedDictionaryError.from_json  rK   r   N)r    r!   r"   &USE_ERROR_CROSS_ORIGIN_NO_CORS_REQUEST!USE_ERROR_DICTIONARY_LOAD_FAILURE&USE_ERROR_MATCHING_DICTIONARY_NOT_USED.USE_ERROR_UNEXPECTED_CONTENT_DICTIONARY_HEADER'WRITE_ERROR_COSS_ORIGIN_NO_CORS_REQUEST"WRITE_ERROR_DISALLOWED_BY_SETTINGSWRITE_ERROR_EXPIRED_RESPONSEWRITE_ERROR_FEATURE_DISABLED"WRITE_ERROR_INSUFFICIENT_RESOURCESWRITE_ERROR_INVALID_MATCH_FIELD%WRITE_ERROR_INVALID_STRUCTURED_HEADERWRITE_ERROR_NAVIGATION_REQUESTWRITE_ERROR_NO_MATCH_FIELD%WRITE_ERROR_NON_LIST_MATCH_DEST_FIELDWRITE_ERROR_NON_SECURE_CONTEXTWRITE_ERROR_NON_STRING_ID_FIELD)WRITE_ERROR_NON_STRING_IN_MATCH_DEST_LIST"WRITE_ERROR_NON_STRING_MATCH_FIELD WRITE_ERROR_NON_TOKEN_TYPE_FIELDWRITE_ERROR_REQUEST_ABORTEDWRITE_ERROR_SHUTTING_DOWNWRITE_ERROR_TOO_LONG_ID_FIELDWRITE_ERROR_UNSUPPORTED_TYPEr   r%   r   r&   r   r   r  r    s        -O*(G%-P*5`2.Q+)I&#> #> )J&&C#,O)%B"!9,M)%A"&B#0T-)H&'D$"< 8$>!#>      [  r   r  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 ) AttributionReportingIssueDetailsz
    Details for issues around "Attribution Reporting API" usage.
    Explainer: https://github.com/WICG/attribution-reporting-api
    r|  violation_typeNr   r   r=  r>  r+   invalid_parameterc                   t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   |S )NviolationTyper   rF  invalidParameter)r   r  r   r   r>  r  r   s     r   r   z(AttributionReportingIssueDetails.to_json  s    vv $ 3 ; ; = =_<#"l2244DO!-&*&<&D&D&F&FD"#!-'+'=D#$r   c           	     (    | t                               |d                   d|v r t                              |d                   nd d|v r%t          j                            |d                   nd d|v rt          |d                   nd           S )Nr  r   rF  r  )r  r   r>  r  )r|  r   r(   r   rH  r   r   s     r   r   z*AttributionReportingIssueDetails.from_json  s    s8BB4CXYYBKtBSBSO--d9o>>>Y]VgkoVoVoc/99$?P:QRRRuy?QUY?Y?Yc$'9":;;;_c	
 
 
 	
r   )r    r!   r"   r#   r$   r   r>  r  r   r%   r   r&   r   r   r  r    s           211104G4444<@@@@@.22222	 	 	 
 
 [
 
 
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 )QuirksModeIssueDetailszs
    Details for issues about documents in Quirks Mode
    or Limited Quirks Mode that affects page layouting.
    r6  is_limited_quirks_moder[  document_node_idr   r,   r3   r4   znetwork.LoaderId	loader_idc                    t                      }| j        |d<   | j                                        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   |S )NisLimitedQuirksModedocumentNodeIdr,   r6   loaderId)r   r  r  r   r,   r4   r  r   s     r   r   zQuirksModeIssueDetails.to_json  sr    vv&*&A"#!%!6!>!>!@!@hU-//11Y>1133Zr   c           
     @    | t          |d                   t          j                            |d                   t	          |d                   t
          j                            |d                   t          j                            |d                             S )Nr  r  r,   r6   r  )r  r  r,   r4   r  )	r6  r   rH  r   r   r
   r8   r	   LoaderIdr   s     r   r   z QuirksModeIssueDetails.from_json  s    s#'-B(C#D#D .88>N9OPPDK  \++DO<<&00j1ABB
 
 
 	
r   Nr   r&   r   r   r  r    s           !   ''''HHH   
 
 [
 
 
r   r  c                  D    e Zd ZU ded<   dZded<   d Zed             ZdS )NavigatorUserAgentIssueDetailsr   r,   Nr;  rn  c                |    t                      }| j        |d<   | j        | j                                        |d<   |S )Nr,   rn  )r   r,   rn  r   r   s     r   r   z&NavigatorUserAgentIssueDetails.to_json  s;    vvhU=$#}4466Dr   c                     | t          |d                   d|v r t                              |d                   nd           S )Nr,   rn  )r,   rn  )r   r(  r   r   s     r   r   z(NavigatorUserAgentIssueDetails.from_json
  sR    sDK  GQUYGYGY'11$z2BCCC_c
 
 
 	
r   )r    r!   r"   r$   rn  r   r%   r   r&   r   r   r  r    sZ         HHH48H8888   
 
 [
 
 
r   r  c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )SharedDictionaryIssueDetailsr  shared_dictionary_errorr(   r   c                    t                      }| j                                        |d<   | j                                        |d<   |S )NsharedDictionaryErrorr   )r   r  r   r   r   s     r   r   z$SharedDictionaryIssueDetails.to_json  sA    vv(,(D(L(L(N(N$%,..00Yr   c                     | t                               |d                   t                              |d                             S )Nr  r   )r  r   )r  r   r(   r   s     r   r   z&SharedDictionaryIssueDetails.from_json  sG    s$9$C$CDI`Da$b$b#--d9o>>
 
 
 	
r   Nr  r&   r   r   r  r    sX         2222   
 
 [
 
 
r   r  c                  Z    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ed             ZdS )GenericIssueErrorType!CrossOriginPortalPostMessageErrorFormLabelForNameErrorFormDuplicateIdForInputErrorFormInputWithNoLabelError#FormAutocompleteAttributeEmptyError)FormEmptyIdAndNameAttributesForInputError!FormAriaLabelledByToNonExistingId:FormInputAssignedAutocompleteValueToIdOrNameAttributeError$FormLabelHasNeitherForNorNestedInput%FormLabelForMatchesNonExistingIdError6FormInputHasWrongButWellIntendedAutocompleteValueErrorResponseWasBlockedByORBc                    | j         S rE   rF   rH   s    r   r   zGenericIssueErrorType.to_json4  rI   r   c                     | |          S rE   r&   r   s     r   r   zGenericIssueErrorType.from_json7  rK   r   N)r    r!   r"   &CROSS_ORIGIN_PORTAL_POST_MESSAGE_ERRORFORM_LABEL_FOR_NAME_ERROR!FORM_DUPLICATE_ID_FOR_INPUT_ERRORFORM_INPUT_WITH_NO_LABEL_ERROR'FORM_AUTOCOMPLETE_ATTRIBUTE_EMPTY_ERROR1FORM_EMPTY_ID_AND_NAME_ATTRIBUTES_FOR_INPUT_ERROR(FORM_ARIA_LABELLED_BY_TO_NON_EXISTING_IDDFORM_INPUT_ASSIGNED_AUTOCOMPLETE_VALUE_TO_ID_OR_NAME_ATTRIBUTE_ERROR+FORM_LABEL_HAS_NEITHER_FOR_NOR_NESTED_INPUT,FORM_LABEL_FOR_MATCHES_NON_EXISTING_ID_ERROR?FORM_INPUT_HAS_WRONG_BUT_WELL_INTENDED_AUTOCOMPLETE_VALUE_ERRORRESPONSE_WAS_BLOCKED_BY_ORBr   r%   r   r&   r   r   r  r  &  s        -P* 7(F%%@".S+8c5/R, LHH2X/3Z0F~C";     [  r   r  c                  r    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	e
d             ZdS )GenericIssueDetailszL
    Depending on the concrete errorType, different properties are set.
    r  
error_typeNztyping.Optional[page.FrameId]r4   r=  r>  r+   violating_node_attributer   r   c                N   t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   |S )N	errorTyper6   rF  violatingNodeAttributer   )r   r  r   r4   r>  r  r   r   s     r   r   zGenericIssueDetails.to_jsonL  s    vv O3355[=$"m3355DO!-&*&<&D&D&F&FD"#(4-1-JD)*<#"l2244DOr   c           
     |    | t                               |d                   d|v r%t          j                            |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           S )Nr  r6   rF  r  r   )r  r4   r>  r  r   )r  r   r
   r8   r   rH  r   r(   r   s     r   r   zGenericIssueDetails.from_jsonY  s    s,66tK7HII@IT@Q@QT\++DO<<<W[VgkoVoVoc/99$?P:QRRRuyLdhlLlLlS.F)G%H%H%HrvBKtBSBSO--d9o>>>Y]
 
 
 	
r   )r    r!   r"   r#   r$   r4   r>  r  r   r   r%   r   r&   r   r   r  r  <  s           &%%%.2H2222<@@@@@59999904G4444   
 
 [
 
 
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 )DeprecationIssueDetailsz
    This issue tracks information needed to print a deprecation message.
    https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md
    r(  r<  r   rT  Nr   affected_framec                    t                      }| j                                        |d<   | j        |d<   | j        | j                                        |d<   |S )NrE  rW  affectedFrame)r   r<  r   rT  r  r   s     r   r   zDeprecationIssueDetails.to_jsonq  sW    vv%)%>%F%F%H%H!"zV*$($7$?$?$A$AD!r   c                     | t                               |d                   t          |d                   d|v r t                              |d                   nd           S )NrE  rW  r  )r<  rT  r  )r(  r   r   r2   r   s     r   r   z!DeprecationIssueDetails.from_jsony  sh    s!3!=!=dCW>X!Y!Yd6l##M\`dMdMd=2243HIIIjn
 
 
 	
r   )	r    r!   r"   r#   r$   r  r   r%   r   r&   r   r   r  r  d  st           -,,, JJJ59N9999   
 
 [
 
 
r   r  c                  :    e Zd ZU dZded<   d Zed             ZdS )BounceTrackingIssueDetailsa~  
    This issue warns about sites in the redirect chain of a finished navigation
    that may be flagged as trackers and have their state cleared if they don't
    receive a user interaction. Note that in this context 'site' means eTLD+1.
    For example, if the URL ``https://example.test:80/bounce`` was in the
    redirect chain, the site reported would be ``example.test``.
    typing.List[str]tracking_sitesc                J    t                      }d | j        D             |d<   |S )Nc                    g | ]}|S r&   r&   r   s     r   r   z6BounceTrackingIssueDetails.to_json.<locals>.<listcomp>  s     @ @ @q @ @ @r   trackingSites)r   r#  r   s     r   r   z"BounceTrackingIssueDetails.to_json  s+    vv @ @D,? @ @ @_r   c                :     | d |d         D                       S )Nc                ,    g | ]}t          |          S r&   r   r   s     r   r   z8BounceTrackingIssueDetails.from_json.<locals>.<listcomp>  s    BBBqCFFBBBr   r&  )r#  r&   r   s     r   r   z$BounceTrackingIssueDetails.from_json  s1    sBBD,ABBB
 
 
 	
r   Nr   r&   r   r   r!  r!    sX           %$$$  
 
 
 [
 
 
r   r!  c                  X    e Zd ZU dZded<   ded<   ded<   ded	<   d
 Zed             ZdS )%CookieDeprecationMetadataIssueDetailsaa  
    This issue warns about third-party sites that are accessing cookies on the
    current page, and have been permitted due to having a global metadata grant.
    Note that in this context 'site' means eTLD+1. For example, if the URL
    ``https://example.test:80/web_page`` was accessing cookies, the site reported
    would be ``example.test``.
    r"  allowed_sitesr]  opt_out_percentager6  is_opt_out_top_levelrr   r}   c                    t                      }d | j        D             |d<   | j        |d<   | j        |d<   | j                                        |d<   |S )Nc                    g | ]}|S r&   r&   r   s     r   r   zACookieDeprecationMetadataIssueDetails.to_json.<locals>.<listcomp>  s    >>>a>>>r   allowedSitesoptOutPercentageisOptOutTopLevelr}   )r   r+  r,  r-  r}   r   r   s     r   r   z-CookieDeprecationMetadataIssueDetails.to_json  s_    vv>>4+=>>>^#'#: #'#<  N2244[r   c           	          | d |d         D             t          |d                   t          |d                   t                              |d                             S )Nc                ,    g | ]}t          |          S r&   r   r   s     r   r   zCCookieDeprecationMetadataIssueDetails.from_json.<locals>.<listcomp>  s    @@@a3q66@@@r   r0  r1  r2  r}   )r+  r,  r-  r}   )r]  r6  rr   r   r   s     r   r   z/CookieDeprecationMetadataIssueDetails.from_json  si    s@@4+?@@@$T*<%=>>!%d+=&>!?!?%//[0ABB	
 
 
 	
r   Nr   r&   r   r   r*  r*    s|           $###   
 
 [
 
 
r   r*  c                  2    e Zd ZdZdZd Zed             ZdS )ClientHintIssueReasonMetaTagAllowListInvalidOriginMetaTagModifiedHTMLc                    | j         S rE   rF   rH   s    r   r   zClientHintIssueReason.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   zClientHintIssueReason.from_json  rK   r   N)r    r!   r"   "META_TAG_ALLOW_LIST_INVALID_ORIGINMETA_TAG_MODIFIED_HTMLr   r%   r   r&   r   r   r6  r6    sJ        )H&2     [  r   r6  c                  6    e Zd ZU ded<   d Zed             ZdS ) FederatedAuthRequestIssueDetailsFederatedAuthRequestIssueReason#federated_auth_request_issue_reasonc                Z    t                      }| j                                        |d<   |S )NfederatedAuthRequestIssueReason)r   r@  r   r   s     r   r   z(FederatedAuthRequestIssueDetails.to_json  s*    vv262Z2b2b2d2d./r   c                V     | t                               |d                             S )NrB  )r@  )r?  r   r   s     r   r   z*FederatedAuthRequestIssueDetails.from_json  sA    s0O0Y0YZ^  `A  [B  1C  1C
 
 
 	
r   Nr  r&   r   r   r>  r>    sL         HHHH  
 
 
 [
 
 
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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 )-r?  z
    Represents the failure reason when a federated authentication reason fails.
    Should be updated alongside RequestIdTokenStatus in
    third_party/blink/public/mojom/devtools/inspector_issue.mojom to include
    all cases except for success.
    ShouldEmbargoTooManyRequestsWellKnownHttpNotFoundWellKnownNoResponseWellKnownInvalidResponseWellKnownListEmptyWellKnownInvalidContentTypeConfigNotInWellKnownWellKnownTooBigConfigHttpNotFoundConfigNoResponseConfigInvalidResponseConfigInvalidContentTypeClientMetadataHttpNotFoundClientMetadataNoResponseClientMetadataInvalidResponse ClientMetadataInvalidContentTypeDisabledInSettingsErrorFetchingSigninInvalidSigninResponseAccountsHttpNotFoundAccountsNoResponseAccountsInvalidResponseAccountsListEmptyAccountsInvalidContentTypeIdTokenHttpNotFoundIdTokenNoResponseIdTokenInvalidResponseIdTokenIdpErrorResponse IdTokenCrossSiteIdpErrorResponseIdTokenInvalidRequestIdTokenInvalidContentTypeErrorIdTokenCanceledRpPageNotVisibleSilentMediationFailureThirdPartyCookiesBlockedNotSignedInWithIdpMissingTransientUserActivationReplacedByButtonModec                    | j         S rE   rF   rH   s    r   r   z'FederatedAuthRequestIssueReason.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   z)FederatedAuthRequestIssueReason.from_json  rK   r   N)/r    r!   r"   r#   SHOULD_EMBARGOTOO_MANY_REQUESTSWELL_KNOWN_HTTP_NOT_FOUNDWELL_KNOWN_NO_RESPONSEWELL_KNOWN_INVALID_RESPONSEWELL_KNOWN_LIST_EMPTYWELL_KNOWN_INVALID_CONTENT_TYPECONFIG_NOT_IN_WELL_KNOWNWELL_KNOWN_TOO_BIGCONFIG_HTTP_NOT_FOUNDCONFIG_NO_RESPONSECONFIG_INVALID_RESPONSECONFIG_INVALID_CONTENT_TYPECLIENT_METADATA_HTTP_NOT_FOUNDCLIENT_METADATA_NO_RESPONSE CLIENT_METADATA_INVALID_RESPONSE$CLIENT_METADATA_INVALID_CONTENT_TYPEDISABLED_IN_SETTINGSERROR_FETCHING_SIGNININVALID_SIGNIN_RESPONSEACCOUNTS_HTTP_NOT_FOUNDACCOUNTS_NO_RESPONSEACCOUNTS_INVALID_RESPONSEACCOUNTS_LIST_EMPTYACCOUNTS_INVALID_CONTENT_TYPEID_TOKEN_HTTP_NOT_FOUNDID_TOKEN_NO_RESPONSEID_TOKEN_INVALID_RESPONSEID_TOKEN_IDP_ERROR_RESPONSE&ID_TOKEN_CROSS_SITE_IDP_ERROR_RESPONSEID_TOKEN_INVALID_REQUESTID_TOKEN_INVALID_CONTENT_TYPEERROR_ID_TOKENCANCELEDRP_PAGE_NOT_VISIBLESILENT_MEDIATION_FAILURETHIRD_PARTY_COOKIES_BLOCKEDNOT_SIGNED_IN_WITH_IDP!MISSING_TRANSIENT_USER_ACTIVATIONREPLACED_BY_BUTTON_MODEr   r%   r   r&   r   r   r?  r?    s7         %N) 72"<0&C#5*0+5"<%A""<'F$+M(/154/ 9-$@!3. 8";-O*6$?!#NH,7"<1(H%4     [  r   r?  c                  6    e Zd ZU ded<   d Zed             ZdS )(FederatedAuthUserInfoRequestIssueDetails'FederatedAuthUserInfoRequestIssueReason-federated_auth_user_info_request_issue_reasonc                Z    t                      }| j                                        |d<   |S )N'federatedAuthUserInfoRequestIssueReason)r   r  r   r   s     r   r   z0FederatedAuthUserInfoRequestIssueDetails.to_json  s*    vv:>:l:t:t:v:v67r   c                V     | t                               |d                             S )Nr  )r  )r  r   r   s     r   r   z2FederatedAuthUserInfoRequestIssueDetails.from_json  sA    s:a:k:klp  r[  m\  ;]  ;]
 
 
 	
r   Nr  r&   r   r   r  r    sL         ZZZZ  
 
 
 [
 
 
r   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 )r  z
    Represents the failure reason when a getUserInfo() call fails.
    Should be updated alongside FederatedAuthUserInfoRequestResult in
    third_party/blink/public/mojom/devtools/inspector_issue.mojom.
    NotSameOrigin	NotIframeNotPotentiallyTrustworthyNoApiPermissionrj  NoAccountSharingPermissionInvalidConfigOrWellKnownInvalidAccountsResponse"NoReturningUserFromFetchedAccountsc                    | j         S rE   rF   rH   s    r   r   z/FederatedAuthUserInfoRequestIssueReason.to_json0  rI   r   c                     | |          S rE   r&   r   s     r   r   z1FederatedAuthUserInfoRequestIssueReason.from_json3  rK   r   N)r    r!   r"   r#   NOT_SAME_ORIGIN
NOT_IFRAMENOT_POTENTIALLY_TRUSTWORTHYNO_API_PERMISSIONr  NO_ACCOUNT_SHARING_PERMISSIONINVALID_CONFIG_OR_WELL_KNOWNINVALID_ACCOUNTS_RESPONSE'NO_RETURNING_USER_FROM_FETCHED_ACCOUNTSr   r%   r   r&   r   r   r  r     s~         
 &OJ"=)1$@!#=  9.R+     [  r   r  c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	ClientHintIssueDetailsz
    This issue tracks client hints related issues. It's used to deprecate old
    features, encourage the use of new ones, and provide general guidance.
    r(  r<  r6  client_hint_issue_reasonc                    t                      }| j                                        |d<   | j                                        |d<   |S )NrE  clientHintIssueReason)r   r<  r   r  r   s     r   r   zClientHintIssueDetails.to_jsonB  sD    vv%)%>%F%F%H%H!"(,(E(M(M(O(O$%r   c                     | t                               |d                   t                              |d                             S )NrE  r  )r<  r  )r(  r   r6  r   s     r   r   z ClientHintIssueDetails.from_jsonH  sI    s!3!=!=dCW>X!Y!Y%:%D%DTJaEb%c%c
 
 
 	
r   Nr   r&   r   r   r  r  8  sd           -,,,3333   
 
 [
 
 
r   r  c                  N    e Zd ZU ded<   ded<   dZded<   d Zed             ZdS )	FailedRequestInfor   r,   failure_messageNz"typing.Optional[network.RequestId]r*   c                    t                      }| j        |d<   | j        |d<   | j        | j                                        |d<   |S )Nr,   failureMessager.   )r   r,   r  r*   r   r   s     r   r   zFailedRequestInfo.to_jsonZ  sI    vvhU!%!5?& $ 7 7 9 9Dr   c                     | t          |d                   t          |d                   d|v r%t          j                            |d                   nd           S )Nr,   r  r.   )r,   r  r*   )r   r	   r0   r   r   s     r   r   zFailedRequestInfo.from_jsonb  se    sDK  %5 677ITX\I\I\w(2243DEEEbf
 
 
 	
r   )r    r!   r"   r$   r*   r   r%   r   r&   r   r   r  r  P  sj          HHH 59J9999   
 
 [
 
 
r   r  c                  2    e Zd ZdZdZd Zed             ZdS )StyleSheetLoadingIssueReasonLateImportRuleRequestFailedc                    | j         S rE   rF   rH   s    r   r   z$StyleSheetLoadingIssueReason.to_jsono  rI   r   c                     | |          S rE   r&   r   s     r   r   z&StyleSheetLoadingIssueReason.from_jsonr  rK   r   N)r    r!   r"   LATE_IMPORT_RULEREQUEST_FAILEDr   r%   r   r&   r   r   r  r  k  sI        '$N     [  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 )StylesheetLoadingIssueDetailszK
    This issue warns when a referenced stylesheet couldn't be loaded.
    r(  r<  r   style_sheet_loading_issue_reasonNz"typing.Optional[FailedRequestInfo]failed_request_infoc                    t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   |S )NrE  styleSheetLoadingIssueReasonfailedRequestInfo)r   r<  r   r  r  r   s     r   r   z%StylesheetLoadingIssueDetails.to_json  sg    vv%)%>%F%F%H%H!"/3/T/\/\/^/^+,#/(,(@(H(H(J(JD$%r   c                     | t                               |d                   t                              |d                   d|v r t                              |d                   nd           S )NrE  r  r  )r<  r  r  )r(  r   r  r  r   s     r   r   z'StylesheetLoadingIssueDetails.from_json  ss    s!3!=!=dCW>X!Y!Y-I-S-STXYwTx-y-yZmquZuZu 1 ; ;DAT<U V V V{
 
 
 	
r   )	r    r!   r"   r#   r$   r  r   r%   r   r&   r   r   r  r  w  s|           -,,, CBBB ?CBBBB   
 
 [
 
 
r   r  c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )PropertyRuleIssueReasonInvalidSyntaxInvalidInitialValueInvalidInheritsInvalidNamec                    | j         S rE   rF   rH   s    r   r   zPropertyRuleIssueReason.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   z!PropertyRuleIssueReason.from_json  rK   r   N)
r    r!   r"   INVALID_SYNTAXINVALID_INITIAL_VALUEINVALID_INHERITSINVALID_NAMEr   r%   r   r&   r   r   r  r    sT        $N1( L     [  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 )PropertyRuleIssueDetailszp
    This issue warns about errors in property rules that lead to property
    registrations being ignored.
    r(  r<  r  property_rule_issue_reasonNr+   property_valuec                    t                      }| j                                        |d<   | j                                        |d<   | j        
| j        |d<   |S )NrE  propertyRuleIssueReasonpropertyValue)r   r<  r   r  r  r   s     r   r   z PropertyRuleIssueDetails.to_json  sZ    vv%)%>%F%F%H%H!"*.*I*Q*Q*S*S&'*$($7D!r   c                     | t                               |d                   t                              |d                   d|v rt          |d                   nd           S )NrE  r  r  )r<  r  r  )r(  r   r  r   r   s     r   r   z"PropertyRuleIssueDetails.from_json  si    s!3!=!=dCW>X!Y!Y'>'H'HNgIh'i'i9HD9P9P3tO4555VZ
 
 
 	
r   )	r    r!   r"   r#   r$   r  r   r%   r   r&   r   r   r  r    sy          
 -,,, 8777 ,0N////   
 
 [
 
 
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ed             ZdS )InspectorIssueCodez
    A unique identifier for the type of issue. Each type may use one of the
    optional fields in InspectorIssueDetails to convey more specific
    information about the kind of issue.
    CookieIssueMixedContentIssueBlockedByResponseIssueHeavyAdIssueContentSecurityPolicyIssueSharedArrayBufferIssueLowTextContrastIssue	CorsIssueAttributionReportingIssueQuirksModeIssueNavigatorUserAgentIssueGenericIssueDeprecationIssueClientHintIssueFederatedAuthRequestIssueBounceTrackingIssueCookieDeprecationMetadataIssueStylesheetLoadingIssue!FederatedAuthUserInfoRequestIssuePropertyRuleIssueSharedDictionaryIssuec                    | j         S rE   rF   rH   s    r   r   zInspectorIssueCode.to_json  rI   r   c                     | |          S rE   r&   r   s     r   r   zInspectorIssueCode.from_json  rK   r   N)r    r!   r"   r#   COOKIE_ISSUEMIXED_CONTENT_ISSUEBLOCKED_BY_RESPONSE_ISSUEHEAVY_AD_ISSUECONTENT_SECURITY_POLICY_ISSUESHARED_ARRAY_BUFFER_ISSUELOW_TEXT_CONTRAST_ISSUE
CORS_ISSUEATTRIBUTION_REPORTING_ISSUEQUIRKS_MODE_ISSUENAVIGATOR_USER_AGENT_ISSUEGENERIC_ISSUEDEPRECATION_ISSUECLIENT_HINT_ISSUEFEDERATED_AUTH_REQUEST_ISSUEBOUNCE_TRACKING_ISSUE!COOKIE_DEPRECATION_METADATA_ISSUESTYLESHEET_LOADING_ISSUE&FEDERATED_AUTH_USER_INFO_REQUEST_ISSUEPROPERTY_RULE_ISSUESHARED_DICTIONARY_ISSUEr   r%   r   r&   r   r   r  r    s         
 !L- 8#N$@! 84J"=)!:"M*)#> 1(H%7-P*-5     [  r   r  c                  V   e Zd ZU dZ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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 )/InspectorIssueDetailsz
    This struct holds a list of optional fields with additional information
    specific to the kind of issue. When adding a new issue code, please also
    add a new optional field to this type.
    Nz#typing.Optional[CookieIssueDetails]cookie_issue_detailsz)typing.Optional[MixedContentIssueDetails]mixed_content_issue_detailsz.typing.Optional[BlockedByResponseIssueDetails]!blocked_by_response_issue_detailsz$typing.Optional[HeavyAdIssueDetails]heavy_ad_issue_detailsz2typing.Optional[ContentSecurityPolicyIssueDetails]%content_security_policy_issue_detailsz.typing.Optional[SharedArrayBufferIssueDetails]!shared_array_buffer_issue_detailsz,typing.Optional[LowTextContrastIssueDetails]low_text_contrast_issue_detailsz!typing.Optional[CorsIssueDetails]cors_issue_detailsz1typing.Optional[AttributionReportingIssueDetails]#attribution_reporting_issue_detailsz'typing.Optional[QuirksModeIssueDetails]quirks_mode_issue_detailsz/typing.Optional[NavigatorUserAgentIssueDetails]"navigator_user_agent_issue_detailsz$typing.Optional[GenericIssueDetails]generic_issue_detailsz(typing.Optional[DeprecationIssueDetails]deprecation_issue_detailsz'typing.Optional[ClientHintIssueDetails]client_hint_issue_detailsz1typing.Optional[FederatedAuthRequestIssueDetails]$federated_auth_request_issue_detailsz+typing.Optional[BounceTrackingIssueDetails]bounce_tracking_issue_detailsz6typing.Optional[CookieDeprecationMetadataIssueDetails])cookie_deprecation_metadata_issue_detailsz.typing.Optional[StylesheetLoadingIssueDetails] stylesheet_loading_issue_detailsz)typing.Optional[PropertyRuleIssueDetails]property_rule_issue_detailsz9typing.Optional[FederatedAuthUserInfoRequestIssueDetails].federated_auth_user_info_request_issue_detailsz-typing.Optional[SharedDictionaryIssueDetails]shared_dictionary_issue_detailsc                   t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j	        | j	                                        |d<   | 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 )NcookieIssueDetailsmixedContentIssueDetailsblockedByResponseIssueDetailsheavyAdIssueDetails!contentSecurityPolicyIssueDetailssharedArrayBufferIssueDetailslowTextContrastIssueDetailscorsIssueDetails attributionReportingIssueDetailsquirksModeIssueDetailsnavigatorUserAgentIssueDetailsgenericIssueDetailsdeprecationIssueDetailsclientHintIssueDetails federatedAuthRequestIssueDetailsbounceTrackingIssueDetails%cookieDeprecationMetadataIssueDetailsstylesheetLoadingIssueDetailspropertyRuleIssueDetails(federatedAuthUserInfoRequestIssueDetailssharedDictionaryIssueDetails)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InspectorIssueDetails.to_json  s   vv$0)-)B)J)J)L)LD%&+7/3/O/W/W/Y/YD+,1=484Z4b4b4d4dD01&2*.*E*M*M*O*OD&'5A8<8b8j8j8l8lD451=484Z4b4b4d4dD01/;262V2^2^2`2`D./".'+'>'F'F'H'HD#$3?7;7_7g7g7i7iD34)5-1-K-S-S-U-UD)*2>595\5d5d5f5fD12%1*.*D*L*L*N*ND&')5.2.L.T.T.V.VD*+)5-1-K-S-S-U-UD)*4@7;7`7h7h7j7jD34-9151S1[1[1]1]D-.9E<@<j<r<r<t<tD890<484Y4a4a4c4cD01+7/3/O/W/W/Y/YD+,>J?C?r?z?z?|?|D;</;373W3_3_3a3aD/0r   c           	     t    | d+i 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!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 S ),Nr  r'  r  r(  r  r)  r  r*  r  r+  r  r,  r  r-  r  r.  r  r/  r  r0  r  r1  r  r2  r  r3  r  r4  r  r5  r   r6  r!  r7  r"  r8  r#  r9  r$  r:  r%  r;  r&   )rz   r   r   r   r  r4  rR  rZ  rl  r  r  r  r  r  r  r>  r!  r*  r  r  r  r  r   s     r   r   zInspectorIssueDetails.from_jsonG  s   s 
 
 
]quy]y]y!3!=!=dCW>X!Y!Y!Y  @D
 qK  OS  qS  qS(@(J(J4PjKk(l(l(l  Y]
 A`  dh  Ah  Ah.K.U.UVZ[zV{.|.|.|  nr
 bwz~a~a~#6#@#@F[A\#]#]#]  EI	

 Mp  tx  Mx  Mx2S2]2]^b  dG  _H  3I  3I  3I  ~B
 A`  dh  Ah  Ah.K.U.UVZ[zV{.|.|.|  nr
 {X  \`  {`  {`,G,Q,QRVWtRu,v,v,v  fj
 XjmqWqWq/99$?Q:RSSSw{
 Ik  os  Is  Is0P0Z0Z[_  aC  \D  1E  1E  1E  y}
 kC  GK  kK  kK&<&F&FtLdGe&f&f&f  QU
 Dd  hl  Dl  Dl/M/W/WX\]}X~///  rv
 avy}`}`}"5"?"?EZ@["\"\"\  DH
 mF  JN  mN  mN&=&G&GMfHg&h&h&h  TX
 kC  GK  kK  kK&<&F&FtLdGe&f&f&f  QU
 Jl  pt  Jt  Jt1Q1[1[\`  bD  ]E  2F  2F  2F  z~
  wS  W[  w[  w[*D*N*NtTpOq*r*r*r  ae!
" Y@  DH  YH  YH6[6e6efj  lS  gT  7U  7U  7U  NR#
$ @_  cg  @g  @g-J-T-TUYZyUz-{-{-{  mq%
& qK  OS  qS  qS(@(J(J4PjKk(l(l(l  Y]'
( dN  RV  dV  dV;c;m;mnr  t^  o_  <`  <`  <`  \`)
* }[  _c  }c  }c,H,R,RSWXvSw,x,x,x  im+
 	
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         
 AEDDDDMQQQQQX\%\\\\CGGGGG`d)ddddX\%\\\\TX#XXXX<@@@@@]a'aaaaIMMMMMZ^&^^^^BFFFFFJNNNNNIMMMMM^b(bbbbQU!UUUUhl-llllW[$[[[[MQQQQQpt2ttttUY#YYYY, , ,\ 
 
 [
 
 
r   r  c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
IssueIdz
    A unique id for a DevTools inspector issue. Allows other entities (e.g.
    exceptions, CDP message, console messages, etc.) to reference an issue.
    returnr   c                    | S rE   r&   rH   s    r   r   zIssueId.to_jsong  s    r   r   c                     | |          S rE   r&   r   s     r   r   zIssueId.from_jsonj  rK   r   c                j    d                     t                                                                S )NzIssueId({}))formatsuper__repr__)r   	__class__s    r   rE  zIssueId.__repr__n  s'    ##EGG$4$4$6$6777r   )r?  r   )r   r   r?  r>  )	r    r!   r"   r#   r   r%   r   rE  __classcell__)rF  s   @r   r>  r>  b  sv                [8 8 8 8 8 8 8 8 8r   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 )InspectorIssuez8
    An inspector issue reported from the back-end.
    r  coder  detailsNztyping.Optional[IssueId]issue_idc                    t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   |S )NrJ  rK  issueId)r   rJ  r   rK  rL  r   s     r   r   zInspectorIssue.to_json  s]    vvy((**V,..00Y=$"m3355DOr   c                     | t                               |d                   t                              |d                   d|v r t                              |d                   nd           S )NrJ  rK  rN  )rJ  rK  rL  )r  r   r  r>  r   s     r   r   zInspectorIssue.from_json  sj    s#--d6l;;)33DODD;D;L;LW&&tI777RV
 
 
 	
r   )	r    r!   r"   r#   r$   rL  r   r%   r   r&   r   r   rI  rI  r  sw           """" *.H----   
 
 [
 
 
r   rI  r*   r)   encodingr   qualitytyping.Optional[float]	size_onlytyping.Optional[bool]r?  Xtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], int, int]]c              #    K   t                      }|                                 |d<   ||d<   |||d<   |||d<   d|d}|V }d|v rt          |d                   ndt          |d	                   t          |d
                   fS )a  
    Returns the response body and size if it were re-encoded with the specified settings. Only
    applies to images.

    :param request_id: Identifier of the network request to get content for.
    :param encoding: The encoding to use.
    :param quality: *(Optional)* The quality of the encoding (0-1). (defaults to 1)
    :param size_only: *(Optional)* Whether to only return the size information (defaults to false).
    :returns: A tuple with the following items:

        0. **body** - *(Optional)* The encoded body as a base64 string. Omitted if sizeOnly is true.
        1. **originalSize** - Size before re-encoding.
        2. **encodedSize** - Size after re-encoding.
    r.   rP  NrQ  sizeOnlyzAudits.getEncodedResponsemethodparamsbodyoriginalSizeencodedSize)r   r   r   r)  )r*   rP  rQ  rS  rZ  cmd_dictr   s          r   get_encoded_responser_    s      ( &&F$,,..F;!F:#y&z- H >>D#t^^DLD !!D   r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z\
    Disables issues domain, prevents further issues from being reported to the client.
    rY  zAudits.disableNr&   r^  r   s     r   disablerc    s$      
 	"H >>DDDr   c               #     K   ddi} | V }dS )zz
    Enables issues domain, sends the issues collected so far to the client by means of the
    ``issueAdded`` event.
    rY  zAudits.enableNr&   rb  s     r   enablere    s#       	/H >>DDDr   
report_aaac              #  F   K   t                      }| | |d<   d|d}|V }dS )z
    Runs the contrast check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :param report_aaa: *(Optional)* Whether to report WCAG AAA level issues. Default is false.
    N	reportAAAzAudits.checkContrastrX  )r   )rf  rZ  r^  r   s       r   check_contrastri    sB       &&F({( H >>DDDr   Ltyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[GenericIssueDetails]]c               #  :   K   ddi} | V }d |d         D             S )z
    Runs the form issues check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :returns: 
    rY  zAudits.checkFormsIssuesc                B    g | ]}t                               |          S r&   )r  r   r   s     r   r   z&check_forms_issues.<locals>.<listcomp>  s'    III))!,,IIIr   
formIssuesr&   rb  s     r   check_forms_issuesrn    s9       	+H >>DIId<6HIIIIr   zAudits.issueAddedc                  2    e Zd ZU ded<   edd            ZdS )	
IssueAddedrI  issuer   r   r?  c                V     | t                               |d                             S )Nrq  )rq  )rI  r   r   s     r   r   zIssueAdded.from_json  s0    s **4=99
 
 
 	
r   N)r   r   r?  rp  )r    r!   r"   r$   r%   r   r&   r   r   rp  rp    sB          
 
 
 [
 
 
r   rp  )NN)
r*   r)   rP  r   rQ  rR  rS  rT  r?  rU  )r?  r`  rE   )rf  rT  r?  r`  )r?  rj  )F
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r(   r2   Enumr:   rV   rr   rz   r   r   r   r   r   r   r  r  r  r(  r4  rJ  rR  rZ  rl  r|  r  r  r  r  r  r  r  r  r!  r*  r6  r>  r?  r  r  r  r  r  r  r  r  r  r  r   r>  rI  r_  rc  re  ri  rn  rp  r&   r   r   <module>rz     s
   # " " " " " * * * * * * * * ! ! ! ! ! !                           
 
 
 
 
 
 
 
6 
 
 
 
 
 
 
 
0 
 
 
 
 
 
 
 
$    DI   &    $)   ,	 	 	 	 	di 	 	 	 8
 8
 8
 8
 8
 8
 8
 8
v
 
 
 
 
49 
 
 
$ $ $ $ $ty $ $ $N -
 -
 -
 -
 -
 -
 -
 -
`    di   & 
 
 
 
 
 
 
 
D	 	 	 	 	di 	 	 	
 
 
 
 
DI 
 
 
 
 
 
 
 
 
 
 
4         
 
 
 
 
 
 
 
8 *
 *
 *
 *
 *
 *
 *
 *
Z	 	 	 	 	 	 	 	 
 
 
 
 
 
 
 
6 $
 $
 $
 $
 $
 $
 $
 $
N ,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
^    DI   <    DI   B 
 
 
 
 
 
 
 
D "
 "
 "
 "
 "
 "
 "
 "
J 
 
 
 
 
 
 
 
( 
 
 
 
 
 
 
 
&    DI   , $
 $
 $
 $
 $
 $
 $
 $
N 
 
 
 
 
 
 
 
: 
 
 
 
 
 
 
 
, 
 
 
 
 
 
 
 
D	 	 	 	 	DI 	 	 	 
 
 
 
 
 
 
 
5 5 5 5 5di 5 5 5p 
 
 
 
 
 
 
 
    di   0 
 
 
 
 
 
 
 
. 
 
 
 
 
 
 
 
4	 	 	 	 	49 	 	 	 
 
 
 
 
 
 
 
<    di    
 
 
 
 
 
 
 
>! ! ! ! ! ! ! !H v
 v
 v
 v
 v
 v
 v
 v
r8 8 8 8 8c 8 8 8  
 
 
 
 
 
 
 
@ +/+/	$ $ $ $ $N       -1    &J J J J  !!

 
 
 
 
 
 
  "!
 
 
r   