
    Ng*                         d dl Z  e j        d          ZddZd Zd Zd Zd Zd	 Zd
 Z	eeeeee	dZ
i ZddZddZddZddZddZdS )    NzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+Tc              #     K   |r*|                     d           p|                     d          nd }d}t                              |           D ]}|\  }}|r|d         dk    rtd|v rX|rV|                    dd          \  }}		 |st          |d||         d|	fV  n5# t          $ r t          d|z            w xY w|r|s|d|d|fV  n|V  d}|V  |d	k    }d S )
N Fr   {:   }z!prefix %r not found in prefix map@)getxpath_tokenizer_refindallsplitKeyErrorSyntaxError)
pattern
namespaceswith_prefixesdefault_namespaceparsing_attributetokenttypetagprefixuris
             M/var/www/html/ai-engine/env/lib/python3.11/site-packages/lxml/_elementpath.pyxpath_tokenizerr   I   sj     HR\--C1C1CX\#++G44 - -
s 	-3q6S==czzmz!iiQ//T% '&%Z-?-?-?!EEEEEE T T T%&IF&RSSST" +< e):):):CC@@@@@@ %KKK %%- -s   BB;c                 "    |d         fd}|S )Nr   c              3   L   K   | D ]}|                               E d {V  d S Niterchildrenresultelemr   s     r   selectzprepare_child.<locals>.selectd   sI       	. 	.D((----------	. 	.     nextr   r$   r   s      @r   prepare_childr)   b   s,    
(C. . . . . Mr%   c                     d }|S )Nc              3   J   K   | D ]}|                     d          E d {V  d S )N*r   )r"   r#   s     r   r$   zprepare_star.<locals>.selectj   sH       	. 	.D((----------	. 	.r%   r&   r(   r   r$   s      r   prepare_starr.   i   s    . . . Mr%   c                     d }|S )Nc                     | S r   r&   )r"   s    r   r$   zprepare_self.<locals>.selectp   s    r%   r&   r-   s      r   prepare_selfr1   o   s      Mr%   c                      |             }|d         dk    rdn |d         s	|d         nt          d          fd}|S )Nr   r,   r   zinvalid descendantc              3   L   K   | D ]}|                               E d {V  d S r   )iterdescendantsr!   s     r   r$   z"prepare_descendant.<locals>.select|   sI       	1 	1D++C0000000000	1 	1r%   )r   r'   s      @r   prepare_descendantr5   t   sh    DFFEQx31X 0Ah.///1 1 1 1 1 Mr%   c                     d }|S )Nc              3   H   K   | D ]}|                                 }||V  d S r   )	getparent)r"   r#   parents      r   r$   zprepare_parent.<locals>.select   s>       	 	D^^%%F!	 	r%   r&   r-   s      r   prepare_parentr:      s      
 Mr%   c                    d}g }	  |             }|d         dk    rn\|dk    r|d         r$|d         d d         dv rd|d         dd         f}||d         pd	z  }|                     |d                    s|d
k    r|d         fd}|S |dk    r|d         |d         fd}|S |d	k    r*t          j        d|d                   s|d         fd}|S |dk    s!|dk    r;t          j        d|d                   s |d         |d         rfd}nfd}|S |d	k    s|dk    s|dk    r|d	k    rCt          |d                   dz
  dk     r$dk    rt	          d          t	          d          nZ|d         dk    rt	          d          |dk    r7	 t          |d                   dz
  n# t
          $ r t	          d          w xY wdfd}|S t	          d          )Nr   r   r   ])r   r   z'"'-z@-c              3   H   K   | D ]}|                               |V  d S r   r
   )r"   r#   keys     r   r$   z!prepare_predicate.<locals>.select   s:        88C==,JJJ r%   z@-='c              3   P   K   | D ]}|                               k    r|V   d S r   rA   )r"   r#   rB   values     r   r$   z!prepare_predicate.<locals>.select   s?        88C==E))JJJ r%   z-?\d+$c              3   N   K   | D ]}|                               D ]}|V   d S r   r   )r"   r#   _r   s      r   r$   z!prepare_predicate.<locals>.select   sJ        **3//  AJJJ r%   z.='z-='c              3      K   | D ]K}|                               D ]3}d                    |                                          k    r|V   n4Ld S Nr   )r    joinitertext)r"   r#   er   rD   s      r   r$   z!prepare_predicate.<locals>.select   sp      " " "D!..s33 " "771::<<00E99"&JJJ!E :" "r%   c              3   t   K   | D ]1}d                     |                                          k    r|V  2d S rH   )rI   rJ   )r"   r#   rD   s     r   r$   z!prepare_predicate.<locals>.select   sI      " # #Dwwt}}//588"


# #r%   z-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expectedlastzunsupported function   zunsupported expressionc              3      K   | D ]_}|                                 }|	 t          |                    |j                            }|         |u r|V  P# t          $ r Y \w xY wd S r   )r8   listr    r   
IndexError)r"   r#   r9   elemsindexs       r   r$   z!prepare_predicate.<locals>.select   s       
 
))> !4!4TX!>!>??EU|t++"


!   D
 
s   5A
A#"A#zinvalid predicate)appendrematchintr   
ValueError)	r(   r   	signature	predicater$   rS   rB   r   rD   s	        @@@@r   prepare_predicater[      s    II
#8s??H8 	(a!--q!B$'EU1X_$	q"""
# Dl	 	 	 	 	 Fl"	 	 	 	 	 	 CIaL A Al	 	 	 	 	
 Ei500)YWX\9Z9Z0l" 	#" " " " " " "# # # # # C9--f1D1D	!%%)EqyyB;;%MO O O &&@AAA  |v%%!"8999F""@	!--1EE! @ @ @%&>???@ 	 	 	 	 	 
)
*
**s   $F= =G)r   r,   .z..z//[c           	      ^   | dd         dk    r| dz  } | f}|rd|v r}d|v r3|d         |d         k    r!t          d|d         d|d                   ||d         ft          t          d |                                D                                 z   z  }n1|t          t          |                                                    z  }	 t          |         S # t
          $ r Y nw xY wt          t                    d	k    rt                                           | dd
         dk    rt          d          t          t          | ||                    }	 |j        }n# t          $ r
 |j        }Y nw xY w	  |            }n# t          $ r t          d          w xY wg }	 	 |                    t!          |d                  ||                     n# t          $ r t          d          w xY w	  |            }|d         dk    r
 |            }n# t          $ r Y nw xY w|t          |<   |S )zcompile selector patternr>   N/r,   r   z&Ambiguous default namespace provided: z versus c              3   *   K   | ]}|d          
|V  dS )r   Nr&   ).0items     r   	<genexpr>z'_build_path_iterator.<locals>.<genexpr>  s8       <L <LtAw7J7J7J7J7J<L <Lr%   d   r   z#cannot use absolute path on elementr   zempty path expressionr   zinvalid path)rX   tuplesorteditems_cacher   lenclearr   iterr   r(   AttributeError__next__StopIterationrT   ops)pathr   r   	cache_keystream_nextr   selectors           r   _build_path_iteratorrv      s   BCCyCI ; :ZJt$4
2$F$F jt$$$jnn"6 7 7 7*T*,uV <L <L!+!1!1!3!3<L <L <L 6L 6L 0M 0M M MII vj&6&6&8&899:::Ii     
6{{SBQBx3?@@@/$
-PPPQQF        3 3 3 312223H
	.OOCaM%778888 	. 	. 	.n---	.	EGGEQx3 	 	 	E	
 !F9OsN   C 
C&%C&E E32E37
F F#/G G-1 H 
HHc                 j    t          |||          }t          | f          }|D ]} ||          }|S Nre   )rv   rl   )r#   rq   r   r   ru   r"   r$   s          r   iterfindry   3  sF    #D*MRRRH4']]F    Mr%   c                 j    t          | |||          }	 t          |          S # t          $ r Y d S w xY wrx   )ry   r(   ro   )r#   rq   r   r   its        r   findr|   >  sJ    	$j	F	F	FBBxx   tts   $ 
22c                 >    t          t          | ||                    S r   )rP   ry   )r#   rq   r   r   s       r   r   r   I  s    tZ00111r%   c                 B    t          | |||          }||S |j        pdS )Nre   r   )r|   text)r#   rq   defaultr   r   els         r   findtextr   P  s.    	dD*M	B	B	BB	zw}"r%   )NT)T)NNT)rU   compiler   r   r)   r.   r1   r5   r:   r[   rp   ri   rv   ry   r|   r   r   r&   r%   r   <module>r      s2  v 
			RZ
 
 - - - -2      
    `+ `+ `+F 			

	  
3 3 3 3r      2 2 2 2     r%   