§ |<ˆjk ã ó — d Z ddlZddlZddlZddlZddlZddlZddlmZ ddlm Z ddlm Z ddlmZ ddlmZ ddlm Z ej d k rej Znej Zd dgZ G d„ d ej ¦ « Z ej d¬¦ « G d„ d¦ « ¦ « Z G d„ de¦ « Z G d„ d¦ « ZdZdedej fd„Zdedej fd„Zdedej fd„Zdedej fd„Z G d„ de e e!f ¦ « Z" G d„ d ¦ « ZdS )aÍ Evaluate match expressions, as used by `-k` and `-m`. The grammar is: expression: expr? EOF expr: and_expr ('or' and_expr)* and_expr: not_expr ('and' not_expr)* not_expr: 'not' not_expr | '(' expr ')' | ident ident: (\w|:|\+|-|\.|\[|\]|\\|/)+ The semantics are: - Empty expression evaluates to False. - ident evaluates to True of False according to a provided matcher function. - or/and/not evaluate according to the usual boolean semantics. é N)ÚCallable)ÚIterator)ÚMapping)ÚNoReturn)ÚOptional)ÚSequence)é é Ú ExpressionÚ ParseErrorc ó* — e Zd ZdZdZdZdZdZdZdZ dS ) Ú TokenTypezleft parenthesiszright parenthesisÚorÚandÚnotÚ identifierzend of inputN) Ú__name__Ú __module__Ú__qualname__ÚLPARENÚRPARENÚORÚANDÚNOTÚIDENTÚEOF© ó úi/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/_pytest/mark/expression.pyr r * s1 € € € € € Ø €FØ €FØ €BØ €CØ €CØ€EØ €C€C€Cr r T)Úfrozenc ó2 — e Zd ZU dZeed<