�
K�g�U �
�� � d dl mZmZmZmZmZmZmZmZm Z m
Z
d dlmZ ddl
mZ ddlmZmZ ddlmZmZ ddlmZ d dlmZmZ d d lmZmZ ed
� � Z ed� � Z ed� � Z ed
� � Z ed� � Z!edef Z"ee"e#f Z$ G d� d� � Z% e%� � Z& G d� d� � Z' G d� de'eeeef � � Z(d<d�Z) G d� de(� � Z* G d� deeef � � Z+ G d� de(eef � � Z, G d� de(eef � � Z- G d � d!e(� � Z. G d"� d#� � Z/ G d$� d%e/eee � � Z0 G d&� d'e/ee � � Z1 G d(� d)e'eeeef � � Z2eee2 ege!f Z3d*e3d+e3fd,�Z4d-� Z5 G d.� d/� � Z6d0� Z7d1� Z8d2� Z9d3� Z:d=d5e;d6e;d7e;d8ee d+ee$ge$f f
d9�Z< G d:� d;e(� � Z=dS )>� )
�TypeVar�Tuple�List�Callable�Generic�Type�Union�Optional�Any�cast)�ABC� ��combine_alternatives)�Tree�Branch)�
VisitError�GrammarError)�Token)�wraps�update_wrapper)�
getmembers�getmro� _Return_T� _Return_V�_Leaf_T�_Leaf_U�_R.c � � e Zd ZdZd� ZdS )�_DiscardTypea� When the Discard value is returned from a transformer callback,
that node is discarded and won't appear in the parent.
Note:
This feature is disabled when the transformer is provided to Lark
using the ``transformer`` keyword (aka Tree-less LALR mode).
Example:
::
class T(Transformer):
def ignore_tree(self, children):
return Discard
def IGNORE_TOKEN(self, token):
return Discard
c � � dS )Nzlark.visitors.Discard� )�selfs �]/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/lark/visitors.py�__repr__z_DiscardType.__repr__( s � �&�&� N)�__name__�
__module__�__qualname__�__doc__r% r"