a
    þdP  ã                   @   s  U d dl mZ d dlZd dlmZ d dlmZmZmZm	Z	m
Z
 e
r²ddlmZ ddlmZ d dlmZmZ ejd	kr‚d d
lmZ nd d
lmZ ejdkr¦d dlmZ nd dlmZ ddlmZ ddlmZmZ dZded< dZded< eegef ZG dd„ deƒZG dd„ deƒZdS )é    )ÚdeepcopyN)Ú
ModuleType)ÚCallableÚ
CollectionÚDictÚOptionalÚTYPE_CHECKINGé   )ÚPostLex)ÚLexer)ÚUnionÚType)é   é   )ÚLiteral)r   é
   )Ú	TypeAlias)Ú	Serialize)ÚTerminalDefÚTokenz(Literal["earley", "lalr", "cyk", "auto"]r   Ú_ParserArgTypezYUnion[Literal["auto", "basic", "contextual", "dynamic", "dynamic_complete"], Type[Lexer]]Ú_LexerArgTypec                
   @   s¸   e Zd ZU dZefZee ed< eed< ee	 ed< ded< e
e	ef ed< eed< eed	< eed
< ee ed< dee eee	 dee
e	ef  eeedœdd„Zdd„ Zddd„ZdS )Ú	LexerConf)Ú	terminalsÚignoreÚg_regex_flagsÚ	use_bytesÚ
lexer_typer   Ú	re_moduler   zOptional[PostLex]ÚpostlexÚ	callbacksr   Úskip_validationr   r   © Nr   F)r   r   r   r   r    r   r!   r   c	           	      C   sh   || _ dd„ | j D ƒ| _t| j ƒt| jƒks0J ‚|| _|| _|pBi | _|| _|| _|| _|| _	d | _
d S )Nc                 S   s   i | ]}|j |“qS r"   ©Úname©Ú.0Útr"   r"   úT/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/lark/common.pyÚ
<dictcomp>,   ó    z&LexerConf.__init__.<locals>.<dictcomp>)r   Úterminals_by_nameÚlenr   r   r    r   r   r!   r   r   )	Úselfr   r   r   r   r    r   r!   r   r"   r"   r(   Ú__init__*   s    
zLexerConf.__init__c                 C   s   dd„ | j D ƒ| _d S )Nc                 S   s   i | ]}|j |“qS r"   r#   r%   r"   r"   r(   r)   8   r*   z*LexerConf._deserialize.<locals>.<dictcomp>)r   r+   )r-   r"   r"   r(   Ú_deserialize7   s    zLexerConf._deserializec                 C   sT   t | ƒt| j|ƒ| jt| j|ƒt| j|ƒt| j|ƒt| j|ƒt| j|ƒt| j	|ƒƒS ©N)
Útyper   r   r   r   r   r    r   r!   r   )r-   Úmemor"   r"   r(   Ú__deepcopy__:   s    






øzLexerConf.__deepcopy__)r"   NNr   FF)N)Ú__name__Ú
__module__Ú__qualname__Ú__serialize_fields__r   Z__serialize_namespace__r   Ú__annotations__r   Ústrr   Ú	_CallbackÚintÚboolr   r   r.   r/   r3   r"   r"   r"   r(   r      s   
2r   c                   @   s   e Zd ZdZdd„ ZdS )Ú
ParserConf)ÚrulesÚstartÚparser_typec                 C   s*   t |tƒsJ ‚|| _|| _|| _d | _d S r0   )Ú
isinstanceÚlistr>   r    r?   r@   )r-   r>   r    r?   r"   r"   r(   r.   J   s
    zParserConf.__init__N)r4   r5   r6   r7   r.   r"   r"   r"   r(   r=   G   s   r=   )Úcopyr   ÚsysÚtypesr   Útypingr   r   r   r   r   Zlarkr
   Úlexerr   r   r   Úversion_infor   Ztyping_extensionsr   Úutilsr   r   r   r   r8   r   r:   r   r=   r"   r"   r"   r(   Ú<module>   s(   

+