
    l9iv&                        S SK Jr  S SKJr  S SKJrJrJrJrJ	r	J
r
JrJrJr  S SKJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJrJr  S S	KJr  S S
K J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)  S SK*J+r+  \(       a  S SK,J-r-   " S S\5      r.g)    )Path)SimpleNamespace)	TYPE_CHECKINGDictListOptionalPatternSequenceSetUnioncast)ClientCertificateGeolocationHttpCredentialsProxySettingsStorageStateViewportSize)Artifact)BrowserContext)
CDPSession)ChannelOwnerfrom_channel)is_target_closed_error)	ColorSchemeContrastForcedColorsHarContentPolicyHarModeReducedMotionServiceWorkersPolicylocals_to_paramsmake_dirs_for_file)Page)BrowserTypec            K         ^  \ rS rSr\" SS9rSSS\S\S\S	S
4
U 4S jjrS	\4S jr	 SHSSS\
\   S	S
4S jjrS\S	S
4S jrS\S	S
4S jrSIS jr\S	\\   4S j5       r\SJS j5       rS	\4S jr                                    SKS\S\S\S\S\S\S\S\S\S \S!\\   S"\\\4   S#\S$\S%\S&\S'\S(\S)\S*\S+\S,\S-\S.\S/\ \!\4   S0\S1\ \!\4   S2\S3\ \"\\!4   S4\S5\S6\#S7\ \$\   \4   S8\%S9\&S:\\'   S	\4JS; jjr(                                    SKS\S\S\S\S\S\S\S\S\S \S!\\   S"\\\4   S#\S$\S%\S&\S'\S(\S*\S+\S)\S,\S-\S.\S/\ \!\4   S0\S1\ \!\4   S2\S3\ \"\\!4   S4\S5\S6\#S7\ \$\   \4   S8\%S9\&S:\\'   S	\)4JS< jjr*SHS=\S	S
4S> jjr+\S	\4S? j5       r,S	\-4S@ jr.    SLSA\)SB\ \\!4   SC\SD\\   S	S
4
SE jjr/S	\04SF jr1SGr2U =r3$ )MBrowser;   disconnected)Disconnectedparentr$   typeguidinitializerreturnNc                   >^  [         TT ]  XX45        S T l        ST l        ST l        S T l        [        5       T l        S T l        T R                  R                  SU 4S j5        T R                  R                  SU 4S j5        S T l        g )NTFcontextc           	      Z   > TR                  [        [        [        U S   5      5      5      $ )Nr0   )_did_create_contextr   r   r   )paramsselfs    S/home/james-whalen/.local/lib/python3.13/site-packages/playwright/_impl/_browser.py<lambda>"Browser.__init__.<locals>.<lambda>M   s$    433^\&2C%DE    closec                 $   > TR                  5       $ N)	_on_close)_r4   s    r5   r6   r7   Q   s    DNN,<r8   )super__init___browser_type_is_connected!_should_close_connection_on_close_cr_tracing_pathset	_contexts_traces_dir_channelon_close_reason)r4   r*   r+   r,   r-   	__class__s   `    r5   r?   Browser.__init__@   s~     	t96:!16./3.1e*.	
 	"<=,0r8   c                 <    SU R                    SU R                   S3$ )Nz<Browser type=z	 version=>)r@   versionr4   s    r5   __repr__Browser.__repr__T   s"     2 239T\\N!LLr8   browser_type
traces_dirc                 d    Xl         X l        U R                   H  nU R                  U5        M     g r;   )r@   rF   rE   _setup_browser_context)r4   rR   rS   r0   s       r5   _connect_to_browser_type Browser._connect_to_browser_typeW   s,     *%~~G''0 &r8   r0   c                     Xl         U R                  R                  U5        U R                  (       a  U R	                  U5        g g r;   )_browserrE   addr@   rU   r4   r0   s     r5   r2   Browser._did_create_contextc   s8    7# ''0 r8   c                     U R                   UR                  l         U R                  c   eU R                  R                  R                  R
                  R                  U5        g r;   )rF   _tracingr@   _playwright	selectors_contexts_for_selectorsrZ   r[   s     r5   rU   Browser._setup_browser_contextk   sN    '+'7'7$!!---&&00HHLLWUr8   c                 f    SU l         U R                  [        R                  R                  U 5        g )NF)rA   emitr&   Eventsr)   rO   s    r5   r<   Browser._on_closep   s"    "		'..--t4r8   c                 ,    [        U R                  5      $ r;   )listrE   rO   s    r5   contextsBrowser.contextst   s    DNN##r8   c                 8    U R                   c   eU R                   $ r;   )r@   rO   s    r5   rR   Browser.browser_typex   s     !!---!!!r8   c                     U R                   $ r;   )rA   rO   s    r5   is_connectedBrowser.is_connected}   s    !!!r8   viewportscreen
noViewportignoreHTTPSErrorsjavaScriptEnabled	bypassCSP	userAgentlocale
timezoneIdgeolocationpermissionsextraHTTPHeadersofflinehttpCredentialsdeviceScaleFactorisMobilehasTouchcolorSchemereducedMotionforcedColorscontrastacceptDownloadsdefaultBrowserTypeproxyrecordHarPathrecordHarOmitContentrecordVideoDirrecordVideoSizestorageStatebaseURLstrictSelectorsserviceWorkersrecordHarUrlFilterrecordHarModerecordHarContentclientCertificatesc%                 V  #    [        [        5       5      n%U R                  c   eU R                  R                  U%5      I S h  vN   U R                  R                  SS U%5      I S h  vN n&[        [        [        U&5      5      n'U'R                  U#U"UUU!S9I S h  vN   U'$  N_ N< N
7f)N
newContext)record_har_contentrecord_har_moderecord_har_omit_contentrecord_har_pathrecord_har_url_filter)
r!   localsr@   _prepare_browser_context_paramsrG   sendr   r   r   _initialize_har_from_options)(r4   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   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   r3   channelr0   s(                                           r5   new_contextBrowser.new_context   s     N "&(+!!---  @@HHH**<vFF~|G'<=22/)$8)"4 3 
 	
 	
  	IF	
s6   AB)B#$B)(B%)3B)B'B)%B)'B)c%                    ^ ^&#    [        [        5       5      m&S[        4U&U 4S jjn%T R                  R	                  U%SS9I S h  vN $  N7f)Nr.   c                     >#    TR                   " S0 TD6I S h  vN n U R                  5       I S h  vN nXl        Xl        U$  N* N7f)N )r   new_page_owned_context_owner_page)r0   pager3   r4   s     r5   innerBrowser.new_page.<locals>.inner   sF      ,,6v66G ))++D")"&K	 7+s   AAAAAAzCreate page)title)r!   r   r#   _connectionwrap_api_call)'r4   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   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   r3   s'   `                                     @r5   r   Browser.new_page   sJ     N "&(+	T 	 	 %%33E3OOOOs   A AA	Areasonc                 *  #    Xl          U R                  (       a#  U R                  R                  5       I S h  vN   g U R                  R                  SS SU05      I S h  vN   g  N- N! [         a  n[        U5      (       d  Ue S nAg S nAff = f7f)Nr9   r   )rI   rB   r   
stop_asyncrG   r   	Exceptionr   )r4   r   es      r5   r9   Browser.close   s~     #	55&&11333mm(($68JKKK 4K 	)!,, -	sZ   B.A* A&A* B"A*  A(!A* %B&A* (A* *
B4BBBBc                      U R                   S   $ )NrN   )_initializerrO   s    r5   rN   Browser.version   s      ++r8   c                 h   #    [        U R                  R                  SS 5      I S h  vN 5      $  N7f)NnewBrowserCDPSession)r   rG   r   rO   s    r5   new_browser_cdp_sessionBrowser.new_browser_cdp_session   s(     $--"4"45KT"RRSSRs   %20	2r   pathscreenshots
categoriesc                    #    [        [        5       5      nU(       a  UR                  US'   U(       a  [        U5      U l        [        U5      US'   U R                  R                  SS U5      I S h  vN   g  N7f)Nr   r   startTracing)r!   r   rG   strrC   r   )r4   r   r   r   r   r3   s         r5   start_tracingBrowser.start_tracing   s[      "&(+!]]F6N$'ID! YF6Nmm  v>>>s   A/A91A72A9c           	        #    [        [        [        U R                  R	                  SS 5      I S h  vN 5      5      nUR                  5       I S h  vN nUR                  5       I S h  vN   U R                  (       aL  [        U R                  5        [        U R                  S5       nUR                  U5        S S S 5        S U l        U$  N N} Ng! , (       d  f       N= f7f)NstopTracingwb)r   r   r   rG   r   read_info_bufferdeleterC   r"   openwrite)r4   artifactbufferfs       r5   stop_tracingBrowser.stop_tracing	  s     l););M4)P#PQ
  0022oo  t445d++T2a 3$(D! $Q2 32sL   /C$CC$CC$)C*A C$*C<C$C$C$
C!C$)r@   rI   rE   rC   rA   rB   rF   r;   )r.   N)r.   r$   )$NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)NNNN)4__name__
__module____qualname____firstlineno__r   re   r   r   r?   rP   r   rV   r   r2   rU   r<   propertyr   ri   rR   boolrn   r   r   r
   r   floatr   r   r   r   r   r   r   r   r    r	   r   r   r   r   r#   r   r9   rN   r   r   r   bytesr   __static_attributes____classcell__)rJ   s   @r5   r&   r&   ;   s   #F1#1+.1691HL1	1(M# M %)
1#
1 SM
1 
	
11> 1d 1Vn V V
5 $$~. $ $ " ""d "
 "&#"&"&#'%)+/+/#'#''+%)! $"&#*.%)+/(,7; $/37;!%-16:K44 4 	4
  4  4 4 4 4 4 !4 c]4 sCx.4 4 )4  !!4" #4$ %4& !'4( %)4* #+4, -4. /40  142 344 T3Y'546 #748 dCi(94: &;4< L#t34=4> ?4@ A4B -C4D "'#,"34E4F G4H +I4J !!23K4L 
M4p "&#"&"&#'%)+/+/#'#'%)!'+ $"&#*.%)+/(,7; $/37;!%-16:K0P0P 0P 	0P
  0P  0P 0P 0P 0P 0P !0P c]0P sCx.0P 0P )0P  !!0P" #0P$ %0P& !'0P( #)0P* +0P, %-0P. /0P0  10P2 30P4 T3Y'50P6 #70P8 dCi(90P: &;0P< L#t34=0P> ?0P@ A0PB -C0PD "'#,"34E0PF G0PH +I0PJ !!23K0PL 
M0Pd	# 	 	 , , ,Tz T
 !% $(?? CI? 	?
 SM? 
?E  r8   r&   N)/pathlibr   typesr   typingr   r   r   r   r	   r
   r   r   r    playwright._impl._api_structuresr   r   r   r   r   r   playwright._impl._artifactr   !playwright._impl._browser_contextr   playwright._impl._cdp_sessionr   playwright._impl._connectionr   r   playwright._impl._errorsr   playwright._impl._helperr   r   r   r   r   r   r    r!   r"   playwright._impl._pager#   playwright._impl._browser_typer$   r&   r   r8   r5   <module>r      s_     !
 
 
  0 < 4 C ;
 
 
 (:Yl Yr8   