
    龙hm                        d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZm Z m!Z! d d
l"m#Z# d dl$m%Z% d dl&m'Z'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? d dl@mAZAmBZBmCZCmDZDmEZEmFZF d dlGmHZHmIZImJZJ d dlKmLZL d dlMmNZN d dlOmPZP d dlQmRZR erd dlSmTZT  G d de      ZUy)    N)Path)SimpleNamespace)TYPE_CHECKINGAnyCallableDictListLiteralOptionalPatternSequenceSetUnioncast)CookieGeolocationSetCookieParamStorageState)Artifact)
CDPSession)Clock)ChannelOwnerfrom_channelfrom_nullable_channel)ConsoleMessage)Dialog)ErrorTargetClosedError)EventContextManagerImpl)APIRequestContext)Frame)	HarRouter)HarContentPolicyHarModeHarRecordingMetadataRouteFromHarNotFoundPolicyRouteHandlerRouteHandlerCallbackTimeoutSettingsURLMatchWebSocketRouteHandlerCallbackasync_readfileasync_writefilelocals_to_paramsparse_errorto_impl)RequestResponseRouteWebSocketRouteWebSocketRouteHandlerserialize_headers)BindingCallPageWorker)escape_regex_flags)Tracing)Waiter)WebError)Browserc                   f    e Zd Z eddddddddd	d
d      Zdededededdf
 fdZdefdZ	de
ddfdZdeddfdZdeddfdZdeddfdZdeddfdZdee   ddfdZdeddfdZdee   ddfd Zedee
   fd!       Zeded"   fd#       Zd$eeeef      d%ee   d&ee   d'eee e   ef      d(ee!   ddfd)Z"de
fd*Z#d{d+eee$e   f   dee%   fd,Z&d-e$e'   ddfd.Z(	 	 	 d|d/eee e   f   d0eee e   f   d1eee e   f   ddfd2Z)	 d{d3e$e   d4eddfd5Z*d}d6Z+d{d7e,ddfd8Z-d9eeef   ddfd:Z.d;eddfd<Z/	 d~d=ed1eeef   ddfd>Z0	 d{d/ed?e1d@eddfdAZ2d/ed?e1ddfdBZ3	 d{dCe4dDe5dEe6ddfdFZ7	 d{dCe4dDee5   ddfdGZ8	 d{dHee9   dIee9   dJe:dK   ddfdLZ;dCe4dDe<ddfdMZ=d}dNZ>	 d{dJe:dK   ddfdOZ?	 	 	 	 ddPeeef   dee
   dCee e   ef   dQedRe!ddfdSZ@	 	 	 	 	 ddPeeef   dCee e   ef   dTeAdUedVe:dW   dXe!ddfdYZBd}dZZCd}d[ZD	 	 d~d\ed]e1dedeEfd^ZFd}d_ZGd{d`eddfdaZH	 d~d1eeef   dbedeIfdcZJdee   fddZK	 d~d\ed]e1dedeLfdeZM	 	 d~d]e1eNgef   dedeEeN   fdfZO	 	 d~d]e1e
gef   dedeEe
   fdgZPde
ddfdhZQdieRddfdjZSdeTdkedlee   dee
   ddf
dmZUdeTd	eeV   dkedee
   ddf
dnZWd\eddfdoZXdeYddfdpZZdqe[dee
   ddfdrZ\deTdee
   ddfdsZ]d	eVdee
   ddfdtZ^edee
   fdu       Z_edeeR   fdv       Z`dee
eaf   debfdwZcededfdx       Zeeddy       Zfedegfdz       Zh xZiS )BrowserContextbackgroundpagecloseconsoledialogpageweberrorserviceworkerrequestresponserequestfailedrequestfinished)BackgroundPageCloseConsoler   r8   r=   ServiceWorkerr1   r2   RequestFailedRequestFinishedparenttypeguidinitializerreturnNc                     t            ||||       d  _        |j                  j                  dk(  rt        d|       _        g  _        g  _        g  _        i  _	        t        d        _        d  _        |d    _        t                _        t                _         j                  j#                  d       _         j                  j#                  d       _        t        t(        t+        |d                _        i  _        t+        |d          _        t3                _         j6                  j9                  d fd        j6                  j9                  d	 fd
        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd        j6                  j9                  d fd         j6                  j9                  d! fd"       t;        j<                          _         jA                   jB                  jD                   fd#       d  _#        g  _$         jK                  tL        jB                  jN                  dtL        jB                  jP                  dtL        jB                  jR                  dtL        jB                  jT                  dtL        jB                  jV                  d!tL        jB                  jX                  di       d$ _-        y )%Nr>   optionsbaseURLrecordVideotracingrequestContextbindingCallc                 >    j                  t        | d               S )Nbinding)_on_bindingr   paramsselfs    ]/var/www/Befach/backend/env/lib/python3.12/site-packages/playwright/_impl/_browser_context.py<lambda>z)BrowserContext.__init__.<locals>.<lambda>   s    4++L	9J,KL    rB   c                 $    j                         S N)	_on_close)_rc   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s    DNN,<rf   rE   c                 >    j                  t        | d               S NrE   )_on_pager   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s    4==fVn1M#Nrf   routec           	          j                   j                  j                  t        | j	                  d                        S )Nrn   )_loopcreate_task	_on_router   getra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s1    4::11 G!45rf   webSocketRoutec                 p    j                   j                  j                  t        | d                     S )Nrt   )rp   rq   _on_web_socket_router   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s0    4::11)) (8!9:rf   backgroundPagec                 >    j                  t        | d               S rl   )_on_background_pager   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s    433L4PQrf   serviceWorkerc                 >    j                  t        | d               S )Nworker)_on_service_workerr   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s    422<x@P3QRrf   rC   c                 &    j                  |       S rh   )_on_console_message)eventrc   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s    $2259rf   rD   c                 >    j                  t        | d               S )NrD   )
_on_dialogr   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s    T__\&BR5S%Trf   	pageErrorc                 ^    j                  t        | d   d         t        | d               S )NerrorrE   )_on_page_errorr/   r   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s-    4..F7OG45%fVn5rf   rH   c                 p    j                  t        | d         t        | j                  d                  S )NrH   rE   )_on_requestr   r   rs   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s.    4++VI./%fjj&89rf   rI   c                 p    j                  t        | d         t        | j                  d                  S )NrI   rE   )_on_responser   r   rs   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s.    4,,VJ/0%fjj&89rf   requestFailedc           
          j                  t        | d         | d   | j                  d      t        | j                  d                  S )NrH   responseEndTimingfailureTextrE   )_on_request_failedr   rs   r   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   sC    422VI./*+

=)%fjj&89	rf   requestFinishedc           
          j                  t        | d         t        | j                  d            | d   t        | j                  d                  S )NrH   rI   r   rE   )_on_request_finishedr   r   rs   ra   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   sH    444VI./%fjj&<=*+%fjj&89	rf   c                 :    j                   j                  d      S NT)_closed_future
set_result)contextrc   s    rd   re   z)BrowserContext.__init__.<locals>.<lambda>   s    t/B/B/M/Md/Srf   F).super__init___browser	__class____name__r   _pages_routes_web_socket_routes	_bindingsr)   _timeout_settings_owner_page_optionsset_background_pages_service_workersrs   	_base_url_videos_dirr;   r   _tracing_har_recorders_requestr   _clock_channelonasyncioFuturer   onceEventsrM   _close_reason_har_routers"_set_event_to_subscription_mappingr@   rN   r   r1   r2   rQ   rP   _closing_or_closed)rc   rR   rS   rT   rU   r   s   `    rd   r   zBrowserContext.__init__h   s5    	t[9 .2$$	1 F3DM"$+-?A)+!0!6+/(3I(>,/E-0U(,(9(9)(D*.--*;*;M*JWl;y3I&JK?A+7DT8U+VDkL	
 	"<=N	
 		
 		
 	Q	

 	R	
 	9	

 	T	
 		
 		
 		
 		
 		
 /6nn.>		KKS	
 -1-///%%--y%%,,h%%--y%%..
%%557H%%33_		
 #(rf   c                 "    d| j                    dS )Nz<BrowserContext browser=>)browserrc   s    rd   __repr__zBrowserContext.__repr__   s    )$,,q99rf   c                 F   | j                   j                  |       | j                  t        j                  j
                  |       |j                  rP|j                  j                         s5|j                  j                  t
        j                  j                  |       y y y rh   )	r   appendemitr@   r   r8   _opener	is_closedPopuprc   rE   s     rd   rm   zBrowserContext._on_page   si    4 		.'',,d3<< 6 6 8LLdkk//6 !9<rf   rn   c           	      N   K    |_         |j                  j                         } j                  j	                         }|D ]  }|r|j
                  s j                  r y |j                  |j                  j                        sE| j                  vrT|j                  r j                  j                  |       	 |j                  |       d {   }t         j                        dk(  r3t        j                   j                  j!                   fdd             	 |s y  	 |j#                  d       d {    y 7 p# t         j                        dk(  r3t        j                   j                  j!                   fdd             w w xY w7 W# t$        $ r Y y w xY ww)Nr   c                  $     j                         S rh   )_update_interception_patternsr   s   rd   re   z*BrowserContext._on_route.<locals>.<lambda>   s    D$F$F$Hrf   T)_contextrH   
_safe_pager   copy_close_was_calledr   matchesurlwill_expireremovehandlelenr   rq   _connectionwrap_api_call_inner_continue	Exception)rc   rn   rE   route_handlersroute_handlerhandleds   `     rd   rr   zBrowserContext._on_route   sd    }}'')**,+M//D4K4K (():):;DLL0((##M2 - 4 4U ;;t||$)''((66H$
 ) ,*	 ''--- <t||$)''((66H$ * . 		sn   B9F%=EEEAF%$F%(F <F=F F%EAFF%F 	F"F%!F""F%web_socket_routec                    K   t        fd| j                  D        d       }|r|j                         d {    y j                          y 7 w)Nc              3   X   K   | ]!  }|j                  j                        r| # y wrh   )r   r   ).0r   r   s     rd   	<genexpr>z6BrowserContext._on_web_socket_route.<locals>.<genexpr>  s.      ! (()9)=)=> s   '*)nextr   r   connect_to_server)rc   r   r   s    ` rd   rv   z#BrowserContext._on_web_socket_route  sT     %)%<%<
 
 &&'7888..0 9s   6AAAbinding_callc                     | j                   j                  |j                  d         }|y t        j                  |j                  |             y )Nname)r   rs   _initializerr   rq   call)rc   r   funcs      rd   r`   zBrowserContext._on_binding  sB    ~~!!,";";F"CD<L--d34rf   timeoutc                 $    | j                  |      S rh   )$_set_default_navigation_timeout_implrc   r   s     rd   set_default_navigation_timeoutz-BrowserContext.set_default_navigation_timeout  s    88AArf   c                 :    | j                   j                  |       y rh   )r   r   r   s     rd   r   z3BrowserContext._set_default_navigation_timeout_impl"  s    ==gFrf   c                 $    | j                  |      S rh   )_set_default_timeout_implr   s     rd   set_default_timeoutz"BrowserContext.set_default_timeout%  s    --g66rf   c                 :    | j                   j                  |       y rh   )r   r   r   s     rd   r   z(BrowserContext._set_default_timeout_impl(  s    227;rf   c                 6    | j                   j                         S rh   )r   r   r   s    rd   pageszBrowserContext.pages+  s    {{!!rf   r>   c                     | j                   S rh   )r   r   s    rd   r   zBrowserContext.browser/      }}rf   record_har_pathrecord_har_contentrecord_har_omit_contentrecord_har_url_filterrecord_har_modec                    K   |sy t        |      }|j                  d      rdnd}|xs |du rdn|}| j                  |d |||xs d       d {    y 7 w)N.zipattachembedTomitfullharrE   r   update_contentupdate_mode)strendswith_record_into_har)rc   r   r   r   r   r   default_policycontent_policys           rd   _initialize_har_from_optionsz+BrowserContext._initialize_har_from_options3  s}      o.'008Hg 	 ,> ,
-5F> 	 ##%)(2F $ 
 	
 	
s   AAAAc                    K   | j                   rt        d      t        | j                  j	                  dd        d {         S 7 w)Nz Please use browser.new_context()newPage)r   r   r   r   sendr   s    rd   new_pagezBrowserContext.new_pageL  s=     :;;$--"4"4Y"EEFFEs   <A	A	A	urlsc                    K   |g }t        |t              r|g}| j                  j                  dd t	        |             d {   S 7 w)Ncookies)r  )
isinstancer  r   r	  dict)rc   r  s     rd   r  zBrowserContext.cookiesQ  sD     <DdC 6D]]''	44IIIIs   AAA	Ar  c                 n   K   | j                   j                  dd t        |             d {    y 7 w)N
addCookies)r  r   r	  r  )rc   r  s     rd   add_cookieszBrowserContext.add_cookiesX  '     mm  tT'5JKKK   +535r   domainpathc                 $  K   | j                   j                  dd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd d	       d {    y 7 w)NclearCookies)	r   nameRegexSourcenameRegexFlagsr  domainRegexSourcedomainRegexFlagsr  pathRegexSourcepathRegexFlags)r   r	  r  r  r   patternr:   )rc   r   r  r  s       rd   clear_cookieszBrowserContext.clear_cookies[  s      mm   *4 543=dG3L4<<RV0:40I&t,t$.vs$;&&0&AFNNt 3=VW2M&v.SW *4 543=dG3L4<<RV0:40I&t,t!
 	
 	
s   DDD	Dpermissionsoriginc                 |   K   | j                   j                  dd t        t                            d {    y 7 w)NgrantPermissionsr   r	  r.   locals)rc   r"  r#  s      rd   grant_permissionsz BrowserContext.grant_permissionsy  s-      mm  !3T;KFH;UVVV   2<:<c                 X   K   | j                   j                  dd        d {    y 7 w)NclearPermissions)r   r	  r   s    rd   clear_permissionsz BrowserContext.clear_permissions~  s!     mm  !3T:::s    *(*geolocationc                 |   K   | j                   j                  dd t        t                            d {    y 7 w)NsetGeolocationr&  )rc   r-  s     rd   set_geolocationzBrowserContext.set_geolocation  s+     mm  !149I&(9STTTr)  headersc           	         K   | j                   j                  dd t        t        |                   d {    y 7 w)NsetExtraHTTPHeaders)r1  )r   r	  r  r6   )rc   r1  s     rd   set_extra_http_headersz%BrowserContext.set_extra_http_headers  s4     mm  !46G6P)Q
 	
 	
s   4><>offlinec                 n   K   | j                   j                  dd t        |             d {    y 7 w)N
setOffline)r5  r  )rc   r5  s     rd   set_offlinezBrowserContext.set_offline  r  r  scriptc                    K   |r!t        |       d {   j                         }t        |t              st	        d      | j
                  j                  dd t        |             d {    y 7 ]7 w)Nz1Either path or script parameter must be specifiedaddInitScript)source)r,   decoder  r  r   r   r	  r  )rc   r9  r  s      rd   add_init_scriptzBrowserContext.add_init_script  sd      *40088:F&#&KLLmm  $F8KLLL 1 	Ms"   A5A1AA5+A3,A53A5callbackr   c           	      ,  K   | j                   D ]  }||j                  v st        d| d       || j                  v rt        d| d      || j                  |<   | j                  j	                  dd t        ||xs d             d {    y 7 w)Nz
Function "z1" has been already registered in one of the pagesz" has been already registeredexposeBindingF)r   needsHandle)r   r   r   r   r	  r  )rc   r   r?  r   rE   s        rd   expose_bindingzBrowserContext.expose_binding  s      KKDt~~% &WX   
 4>>!*TF*GHII'tmm  T4Tv#O
 	
 	
s   BA+BBBc                 L   K   | j                  |fd       d {    y 7 w)Nc                      | S rh    )r<  argsr?  s     rd   re   z0BrowserContext.expose_function.<locals>.<lambda>  s	    horf   )rC  )rc   r   r?  s     `rd   expose_functionzBrowserContext.expose_function  s     !!$(MNNNs   $"$r   handlertimesc           
         K   | j                   j                  dt        | j                  ||| j                  rdnd|             | j                          d {    y 7 w)Nr   TF)r   insertr'   r   _dispatcher_fiberr   )rc   r   rI  rJ  s       rd   rn   zBrowserContext.route  sV      	..E		
 00222s   AAAAc                    K   g }g }| j                   D ]E  }|j                  |k7  s|r!|j                  |k7  r|j                  |       5|j                  |       G | j	                  ||d       d {    y 7 w)Ndefault)r   r   rI  r   _unroute_internal)rc   r   rI  removed	remainingrn   s         rd   unroutezBrowserContext.unroute  sm      	\\EyyCG0H  'u%	 "
 $$WiCCCs   A/A91A72A9rQ  rR  behavior)rO  ignoreErrorswaitc                    K   || _         ,dk7  r't        j                  t        fd|        d {    | j	                          d {    y 7 7 w)NrO  c                 &    | j                        S rh   )stop)routerrT  s    rd   re   z2BrowserContext._unroute_internal.<locals>.<lambda>  s    V[[5Jrf   )r   r   gathermapr   )rc   rQ  rR  rT  s      `rd   rP  z BrowserContext._unroute_internal  sS      !H	$9..#&JG"TUUU00222 V2s!   1AAAAAAc                    K   | j                   j                  dt        | j                  ||             | j	                          d {    y 7 w)Nr   )r   rL  r5   r   (_update_web_socket_interception_patterns)rc   r   rI  s      rd   route_web_socketzBrowserContext.route_web_socket  sC      	&&!$..#w?	
 ;;===s   AAAAc                 T    | j                   D ]  }|j                           g | _         y rh   )r   dispose)rc   rZ  s     rd   _dispose_har_routersz#BrowserContext._dispose_har_routers  s$    ''FNN (rf   c                 z   K   | j                  | j                  g |       d {    | j                          y 7 wrh   )rP  r   rb  )rc   rT  s     rd   unroute_allzBrowserContext.unroute_all  s6      $$T\\2x@@@!!# 	As   !;9;r   r   r   c           	        K   |xs d}dt        |      j                  d      |t        |t               r|nd t        |t              r|j                  nd t        |t              rt        |      nd |xs ddi}|r|j                  |d<   | j                  j                  dd |       d {   }t        |      |d| j                  |<   y 7  w)	Nr   rX   r   minimal)zipcontenturlGloburlRegexSourceurlRegexFlagsmoderE   harStart)r  rh  )	r  r  r  r   r   r:   r   r	  r   )rc   r   rE   r   r   r   rb   har_ids           rd   r  zBrowserContext._record_into_har  s      (383x((0)",S#"63D1;C1I#++t/9#w/G&s+T#0y	"
 !]]F6N}}))*dFCCH%'
F# Ds   B(C*C+!CnotFoundupdateupdateContent)r   r   
updateModec                 F  K   |r| j                  |d |||       d {    y t        j                  | j                  j                  t        |      |xs d|       d {   }| j                  j                  |       |j                  |        d {    y 7 |7 ;7 	w)Nr   abort)local_utilsfilenot_found_actionurl_matcher)	r  r"   creater   ru  r  r   r   add_context_route)rc   r   r   ro  rp  rq  rr  rZ  s           rd   route_from_harzBrowserContext.route_from_har  s      '',& (     ''((44S%0	
 
 	  (&&t,,,
 	-s4   B!BAB!!B"3B!BB!B!B!c                    K   t        j                  | j                        }| j                  j	                  dd d|i       d {    y 7 w)NsetNetworkInterceptionPatternspatterns)r'   prepare_interception_patternsr   r   r	  rc   r~  s     rd   r   z,BrowserContext._update_interception_patterns  sB     ==dllKmm  ,dZ4J
 	
 	
   AAA
Ac                    K   t        j                  | j                        }| j                  j	                  dd d|i       d {    y 7 w)N setWebSocketInterceptionPatternsr~  )r5   r  r   r   r	  r  s     rd   r^  z7BrowserContext._update_web_socket_interception_patterns  sI     (FF##
 mm  .z86L
 	
 	
r  r   	predicatec                 v   || j                   j                         }t        | d| d      }|j                  |d| d| d       |t        j
                  j                  k7  r,|j                  | t        j
                  j                  d        |j                  | ||       t        |j                               S )Nzbrowser_context.expect_event()zTimeout z%ms exceeded while waiting for event ""c                      t               S rh   )r   rF  rf   rd   re   z-BrowserContext.expect_event.<locals>.<lambda>5  s    ;L;Nrf   )r   r   r<   reject_on_timeoutr@   r   rM   reject_on_eventwait_for_eventr   result)rc   r   r  r   waiters        rd   expect_eventzBrowserContext.expect_event'  s     ?,,446G =eWAFG  xy(MeWTUV	
 N))///""n++113N 	dE95&v}}77rf   c                 n   d| _         | j                  r| | j                  j                  v r%| j                  j                  j                  |        | j                  j                  J | | j                  j                  j
                  j                  j                  v rC| j                  j                  j
                  j                  j                  j                  |        | j                          | j                  j                          | j                  t        j                  j                  |        y r   )r   r   	_contextsr   _browser_type_playwright	selectors_contexts_for_selectorsrb  r   _reset_stack_counterr   r@   r   rM   r   s    rd   ri   zBrowserContext._on_close:  s    "&==t}}...''..t4==..:::==..::DD\\] ++77AAYY`` 	!!#**,		.''--t4rf   reasonc                 z   K    j                   ry | _        d _          j                  j                  |       d {    d fd} j                  j
                  j                  |d       d {     j                  j                  dd d|i       d {     j                   d {    y 7 t7 B7 7 w)NT)r  c                  z  K   j                   j                         D ]  \  } }t        t        t	        j
                  j                  dd d| i       d {               }|j                  d      dk(  xs |d   j                  d      }|d   j                  d      }|rV|sT|d   dz   }|j                  |       d {    j                  j                  j                  ||d          d {    n|j                  |d          d {    |j                          d {     y 7 7 q7 A7 &7 w)	N	harExportharIdrh  r   r  r   z.tmp)zipFileharFile)r   itemsr   r   r   r   r	  rs   r  save_asr   ru  	har_unzipdelete)rn  rb   r   is_compressedneed_compressedtmp_pathrc   s         rd   _inner_closez*BrowserContext.close.<locals>._inner_closeT  s:    "&"5"5";";"= "mm00dWfDUVV !'

9 5 A !#VF(6"  #)."9"9&"A %f~6H++h///**66@@ (&. A    ++fVn555jjl"") #> W 0 6"s[   AD;D1A*D;D31D;3D54D;D7D;(D9)	D;3D;5D;7D;9D;rB   r  rV   N)	r   r   rH   ra  r   r   r   r	  r   )rc   r  r  s   `  rd   rB   zBrowserContext.closeL  s     ""#"&ll""&"111	#. mm''55lDIIImm  $60BCCC!!!!7 	22 	JC!sE   ;B;B33B;2B53&B;B7B;-B9.B;5B;7B;9B;	indexedDBc                    K   | j                   j                  dd d|i       d {   }|r't        |t        j                  |             d {    |S 7 /7 w)NstorageStater  )r   send_return_as_dictr-   jsondumps)rc   r  r  r  s       rd   storage_statezBrowserContext.storage_stateo  s[      }}88D;	":
 
 !$

6(:;;;
 <s!   #AA(AAAAc                 x    | j                   r| j                   S | j                  r| j                  j                   S y rh   )r   r   r   s    rd   _effective_close_reasonz&BrowserContext._effective_close_reasony  s1    %%%====...rf   c                    K   | j                  |||      4 d {   }	 d d d       d {     d {   S 7 7 # 1 d {  7  sw Y    xY w7 wrh   )r  )rc   r   r  r   
event_infos        rd   r  zBrowserContext.wait_for_event  s[      $$UIw? 	 	:	 		 	 	 	 	sF   A:A>A<	AAAAAAAAc                 X    | j                  t        j                  j                  ||      S rh   )r  r8   r   rN   rc   r  r   s      rd   expect_console_messagez%BrowserContext.expect_console_message  s#    
   !4!4iIIrf   c                 X    | j                  t        j                  j                  ||      S rh   )r  r@   r   r8   r  s      rd   expect_pagezBrowserContext.expect_page  s%    
   !6!6!;!;YPPrf   c                     | j                   j                  |       | j                  t        j                  j
                  |       y rh   )r   addr   r@   r   rL   r   s     rd   ry   z"BrowserContext._on_background_page  s0    ""4(		.''66=rf   r|   c                     | |_         | j                  j                  |       | j                  t        j
                  j                  |       y rh   )r   r   r  r   r@   r   rO   )rc   r|   s     rd   r}   z!BrowserContext._on_service_worker  s7    !!&)		.''55v>rf   response_end_timingfailure_textc                     ||_         |j                  |       | j                  t        j                  j
                  |       |r+|j                  t        j                  j
                  |       y y rh   )_failure_text_set_response_end_timingr   r@   r   rP   r8   )rc   rH   r  r  rE   s        rd   r   z!BrowserContext._on_request_failed  sU     !-(()<=		.''55w?IIdkk//9 rf   c                    |j                  |       | j                  t        j                  j                  |       |r*|j                  t
        j                  j                  |       |r|j                  j                  d       y y r   )r  r   r@   r   rQ   r8   _finished_futurer   )rc   rH   rI   r  rE   s        rd   r   z#BrowserContext._on_request_finished  sd     	(()<=		.''77AIIdkk117;%%006 rf   c                    t        || j                  | j                        }| j                  t        j
                  j                  |       |j                  }|r+|j                  t        j
                  j                  |       y y rh   )	r   rp   rM  r   r@   r   rN   rE   r8   )rc   r   messagerE   s       rd   r   z"BrowserContext._on_console_message  s]     

D4J4JK		.''//9||IIdkk))73 rf   c                    | j                  t        j                  j                  |      }|j                  }|r.|j                  t
        j                  j                  |      xs |}|sW|j                  dk(  r$t        j                  |j                                y t        j                  |j                                y y )Nbeforeunload)r   r@   r   r   rE   r8   rS   r   rq   acceptdismiss)rc   rD   has_listenersrE   s       rd   r   zBrowserContext._on_dialog  s    		."7"7">">G{{ IIdkk&8&8&AR]M
 {{n,##FMMO4##FNN$45 rf   r   c           	          | j                  t        j                  j                  t        | j                  | j
                  ||             |r+|j                  t        j                  j                  |       y y rh   )r   r@   r   r=   rp   rM  r8   	PageError)rc   r   rE   s      rd   r   zBrowserContext._on_page_error  sW    		!!**TZZ!7!7uE	
 IIdkk++U3 rf   c                     | j                  t        j                  j                  |       |r+|j                  t        j                  j                  |       y y rh   )r   r@   r   r1   r8   )rc   rH   rE   s      rd   r   zBrowserContext._on_request  s<    		.''//9IIdkk))73 rf   c                     | j                  t        j                  j                  |       |r+|j                  t        j                  j                  |       y y rh   )r   r@   r   r2   r8   )rc   rI   rE   s      rd   r   zBrowserContext._on_response  s<    		.''00(;IIdkk**H5 rf   c                 ,    t        | j                        S rh   )listr   r   s    rd   background_pageszBrowserContext.background_pages  s    D**++rf   c                 ,    t        | j                        S rh   )r  r   r   s    rd   service_workerszBrowserContext.service_workers  s    D))**rf   c                   K   t        |      }i }t        |t              r|j                  |d<   n+t        |t              r|j                  |d<   nt        d      t        | j                  j                  dd |       d {         S 7 w)NrE   framezpage: expected Page or FramenewCDPSession)r0   r  r8   r   r!   r   r   r	  )rc   rE   rb   s      rd   new_cdp_sessionzBrowserContext.new_cdp_session  sr     t}dD!!]]F6Ne$"mmF7O677$--"4"4_dF"SSTTSs   A>B B		Bc                     | j                   S rh   )r   r   s    rd   r[   zBrowserContext.tracing  r   rf   c                     | j                   S rh   )r   r   s    rd   rH   zBrowserContext.request  r   rf   c                     | j                   S rh   )r   r   s    rd   clockzBrowserContext.clock  s    {{rf   rh   )NNNr  )NN)NNNN)NNNNN)rV   r    )jr   
__module____qualname__r   r   r   r  r   r   r   r8   rm   r3   rr   r4   rv   r7   r`   floatr   r   r   r   r   propertyr	   r   r   r   r   r#   boolr   r$   r  r
  r   r   r  r   r  r!  r(  r,  r   r0  r4  r8  r>  r   rC  rH  r*   r(   intrn   rS  r'   r
   rP  r+   r_  rb  rd  r  r&   r{  r   r^  r   r  ri   rB   r   r  r  r   r  r   r  r  ry   r9   r}   r1   r   r2   r   r   r   r   r   r   r   r   r  r  r!   r   r  r;   r[   rH   r   r  __classcell__)r   s   @rd   r@   r@   Y   s'   '%%)Fx("x(*-x(58x(GKx(	x(t:# :7T 7d 7U t @1> 1d 15 5 5Be B BGHUO GPT G75 7T 7<% <T < "tDz " " ),  
!%c	"23
 %%56
 "*$	

  (gclC.?(@A
 "'*
 

2G G
J%Xc](:"; JtF| JL.)A Ld L
 *.+/)-	
C%&
 c73<'(
 C%&	

 

> 9=W#C=W25W	W
;U U U
DcN 
t 

L L$ L <@MM(-c4i(8M	M =A

#+
59
	
O# O Od O JN33&:3CF3	3  HL
D
D&./C&D
D	
D  @D		3l#	3 %	3 ;<		3
 
	3>>&C>	> FJ$ AB$	$  $(,+/#
49
 tn
 73<$%	

 )
 
 

@ )-/348"-49- 73<$%- -	-
 - 01- - 
-6

 #	88 8 	8
 
!8&5$!"# !" !"H @D#t)$8<	#  HL  %- ?D 	  7;J^,d23J J 
!	0	J -1QTFDL)Q Q 
!	&	Q> > >? ?D ?
:: #: sm	:
 tn: 
:77 8$7 #	7
 tn7 
74 4$ 46 6D 64E 4$ 4D 447 4(4. 4T 4
6X 6Xd^ 6 6
 ,$t* , , +f + +	U%e*< 	U 	U      u  rf   r@   )Vr   r  pathlibr   typesr   typingr   r   r   r   r	   r
   r   r   r   r   r   r    playwright._impl._api_structuresr   r   r   r   playwright._impl._artifactr   playwright._impl._cdp_sessionr   playwright._impl._clockr   playwright._impl._connectionr   r   r   !playwright._impl._console_messager   playwright._impl._dialogr   playwright._impl._errorsr   r   'playwright._impl._event_context_managerr   playwright._impl._fetchr    playwright._impl._framer!   playwright._impl._har_routerr"   playwright._impl._helperr#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   playwright._impl._networkr1   r2   r3   r4   r5   r6   playwright._impl._pager7   r8   r9   playwright._impl._str_utilsr:   playwright._impl._tracingr;   playwright._impl._waiterr<   playwright._impl._web_errorr=   playwright._impl._browserr>   r@   rF  rf   rd   <module>r     s       !     0 4 ) 
 = + = K 5 ) 2      = < : - + 01e
\ e
rf   