+
    Ĝi                     X   R t ^RIHt  ^ RIt]P                  t]P                  t]P                  t. ROt	 ! R R]P                  4      t ! R R]]P                  4      tR	 t]P                  ! R
4      tR]n        ]]R&    ! R R]P$                  4      tR#   ] d
    ]! R4      hi ; i)zCSS Selectors based on XPath.

This module supports selecting XML/HTML tags based on CSS selectors.
See the `CSSSelector` class for details.

This is a thin wrapper around cssselect 0.7 or later.
)etreeNzPcssselect does not seem to be installed. See https://pypi.org/project/cssselect/CSSSelectorc                   *   a  ] tR t^t o RtR tRtV tR# )LxmlTranslatorzJ
A custom CSS selector to XPath translator with lxml-specific extensions.
c                   VP                  4       R .R.39  d   \        RVP                  ,          4      hVP                  ^ ,          P                  pVP	                  RV P                  VP                  4       4      ,          4      # )STRINGIDENTz9Expected a single string or ident for :contains(), got %rz7contains(__lxml_internal_css:lower-case(string(.)), %s))argument_typesExpressionError	argumentsvalueadd_conditionxpath_literallower)selfxpathfunctionr   s   &&& W/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/lxml/cssselect.pyxpath_contains_function&LxmlTranslator.xpath_contains_function    s     ""$hZ',CC!K$$%& & ""1%++""E  /01 	1     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     
1 
1r   r   c                       ] tR t^-tRtRtR# )LxmlHTMLTranslatorz!
lxml extensions + HTML support.
r   N)r   r   r   r   r   r   r   r   r   r!   r!   -   s    r   r!   c                 "    VP                  4       # )N)r   )contextss   &&r   _make_lower_caser%   3   s    779r   zhttp://codespeak.net/lxml/css/__lxml_internal_cssz
lower-casec                   @   a a ] tR t^;t oRtRV 3R lltR tRtVtV ;t	# )r   aN  A CSS selector.

Usage::

    >>> from lxml import etree, cssselect
    >>> select = cssselect.CSSSelector("a tag > child")

    >>> root = etree.XML("<a><b><c/><tag><child>TEXT</child></tag></b></a>")
    >>> [ el.tag for el in select(root) ]
    ['child']

To use CSS namespaces, you need to pass a prefix-to-namespace
mapping as ``namespaces`` keyword argument::

    >>> rdfns = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    >>> select_ns = cssselect.CSSSelector('root > rdf|Description',
    ...                                   namespaces={'rdf': rdfns})

    >>> rdf = etree.XML((
    ...     '<root xmlns:rdf="%s">'
    ...       '<rdf:Description>blah</rdf:Description>'
    ...     '</root>') % rdfns)
    >>> [(el.tag, el.text) for el in select_ns(rdf)]
    [('{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description', 'blah')]

c                   < VR 8X  d   \        4       pM%VR8X  d   \        4       pMVR8X  d   \        RR7      pVP                  V4      p\        SV `  WBR7       Wn        R# )xmlhtmlxhtmlT)r+   )
namespacesN)r   r!   css_to_xpathsuper__init__css)r   r0   r,   
translatorpath	__class__s   &&&& r   r/   CSSSelector.__init__V   sZ    ')J6!+-J7"+$7J&&s+5r   c                z    R V P                   P                  \        \        V 4      4      V P                  3,          # )z<%s %x for %r>)r3   r   absidr0   )r   s   &r   __repr__CSSSelector.__repr__a   s3    NN##4MHH#  	r   )r0   )Nr)   )
r   r   r   r   r   r/   r8   r   r   __classcell__)r3   r   s   @@r   r   r   ;   s     4	 r   )SelectorSyntaxErrorr
   SelectorErrorr   )r    r   	cssselectexternal_cssselectImportErrorr;   r
   r<   __all__GenericTranslatorr   HTMLTranslatorr!   r%   FunctionNamespacensprefixXPathr   r   r   r   <module>rH      s    3* )<< $44"001'99 1");)J)J  =>!	#< *%++ *]  3
	23 33s   B B)