
    ic	              	           d dl Z d dlZd dlmZmZ dedefdZdedefdZdedefdZ	 ddeeee         f         d	e	d
e	defdZ
	 ddeeef         d	e	defdZdS )    N)PatternUnionpatternreturnc                    d}| j         dk    rd}| j         t          t          j                  z  dk    r|dz  }| j         t          t          j                  z  dk    r|dz  }| j         t          t          j                  z  dk    r|dz  }| j         t          t          j                  t          t          j                  z  t          t          j                  z  t          t          j                  z   z  dk    s
J d            |S )N r   ismzPUnexpected re.Pattern flag, only MULTILINE, IGNORECASE and DOTALL are supported.)flagsintre
IGNORECASEDOTALL	MULTILINEUNICODE)r   r   s     [/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/playwright/_impl/_str_utils.pyescape_regex_flagsr      s    E}BM***q00BI&1,,BL)))a//BM 2 22S^^Cc"*ooU
V	W	 	 	 Z	 	 	 L    textc                 .    t          j        dd|           S )Nz[.*+?^>${}()|[\]\\]z\$&)r   subr   s    r   escape_for_regexr   &   s    6(&$777r   c                     dt          j        dd| j                                      dd          z   dz   t	          |           z   S )N/z(^|[^\\])(\\\\)*(["\'`])z\1\2\\\3z>>z\>\>)r   r   r   replacer   r   s    r   escape_regex_for_selectorr   *   sV     	
&,k4<
H
H
P
P(
 
	
 		
 T
"
"	#r   exactcase_sensitivec                     t          | t                    rt          |           S t          j        |           |rdndz   S )Nr
   r	   )
isinstancer   r   jsondumps)r   r   r    s      r   escape_for_text_selectorr%   6   sB     $   /(...:de4ss55r   valuec                     t          | t                    rt          |           S d|                     dd                              dd          z   dz   |rdndz   S )N"\z\\z\"r
   r	   )r"   r   r   r   )r&   r   s     r   escape_for_attribute_selectorr*   >   so     %!! 0(/// 	
--f
%
%
-
-c5
9
9	:
	  33S	"r   )NN)N)r#   r   typingr   r   strr   r   r   boolr%   r*    r   r   <module>r/      s.    				 ! ! ! ! ! ! ! ! C    $83 83 8 8 8 8	G 	 	 	 	 	 PT6 6
WS\!
"6+/6HL66 6 6 6 /3 g'+     r   