
    
`i                        d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlZd dl Z d dl!Z!d dl"Z"d dl"m#Z# d dl$m%Z% d dl&m'Z' d d	l(m)Z) d dl*Z*d d
l+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2  e#j3        e4          Z5 e#j6        e5e#j7                  Z8g dZ9d Z:d Z;dej<        dfdZ=d Z>e?dk    r e>             dS dS )    )deepcopy)ABCabstractmethod)
ModuleType)TypeVarGenericTypeTupleListDictIterator
CollectionCallableOptional	FrozenSetAnyUnionIterableIOTYPE_CHECKINGoverloadSequencePatternClassVarSetMappingN)path)defaultdict)partial)ArgumentParser)lalr_argparser
build_lalrmake_warnings_comments)Rule)TerminalDef)ztools/standalone.pyzexceptions.pyzutils.pyztree.pyzvisitors.pyz
grammar.pyzlexer.pyz	common.pyzparse_tree_builder.pyzparsers/lalr_analysis.pyzparsers/lalr_parser_state.pyzparsers/lalr_parser.pyz"parsers/lalr_interactive_parser.pyzparser_frontends.pyzlark.pyzindenter.pyc                    d }g }t          t                    }| D ]}|                    d          rY|d         dk    r|dd                                          }@|d         dk    r||xx         |z  cc<   d }g }at	          |          |r|                    |           d |                                D             S )Nz###   {   }c                 @    i | ]\  }}|d                      |          S ) )join).0nametexts      i/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/lark/tools/standalone.py
<dictcomp>z$extract_sections.<locals>.<dictcomp>\   s(    CCCJD$D"''$--CCC    )r   list
startswithstrip
ValueErrorappenditems)linessectionr0   sectionslines        r1   extract_sectionsr>   K   s    GD4  H  ??5!! 
	Aw#~~qrr(..**aC!!!T)!!! &&& 	KKCC(..2B2BCCCCr3   c                    g }t           j        }d}d}t          j        |           }|D ]\  }}\  }}	\  }
}}||k    rd}|	|k    r|                    d|	|z
  z             |t           j        k    r&|t           j        k    r|                    d           n;|t          j        k    r|                    d           n|                    |           |}|}|
}d                    |          S )z Strip comments and docstrings from a file.
    Based on code from: https://stackoverflow.com/questions/1769332/script-to-remove-python-comments-docstrings
    r    z#--z##
r,   )tokenINDENTtokenizegenerate_tokensr8   STRINGCOMMENTr-   )line_genresprev_toktypelast_linenolast_coltokgentoktypettextslinenoscolelinenoecolltexts                r1   strip_docstringsrU   _   s    C<LKH%h//FCI  ?$'4%[  H(??JJsdXo.///el""|u|'C'CJJu(((JJvJJu773<<r3   Fc                 d   t          t          |          dd ldd ldd lfd}fd} dt
          j        z              dt
          j        z                           t          t                    D ]\  }}t          t          j                            t          |                    5 }t          |          d         }	|rBt          t          t           t#          |	                    d                                        }	 |	           d d d            n# 1 swxY w Y   |                     t(          t*          g          \  }
} d	           |rY d
            ||
            d            |d            d            ||            d            |d           nB d
            |
            d            d            |            d            d            d            d            d           d S )N)filer   c                                          | j                  }                    |          } t                              |                               d S )N)dumpsHIGHEST_PROTOCOLcompressrepr	b64encode)objscbase64outputpicklezlibs      r1   compressed_outputz)gen_standalone.<locals>.compressed_output   sV    LLf566MM!tF$$Q''(()))))r3   c                 <     dt                      z             d S )NzD%(name)s = pickle.loads(zlib.decompress(base64.b64decode(%(name)s))))locals)r/   rb   s    r1   output_decompressz)gen_standalone.<locals>.output_decompress   s&    UX^X`X``aaaaar3   z2# The file was automatically generated by Lark v%sz__version__ = "%s"
standaloneTzimport pickle, zlib, base64zDATA = ()DATAzMEMO = (MEMOz	Shift = 0z
Reduce = 1zdef Lark_StandAlone(**kwargs):z3  return Lark._load_from_dict(DATA, MEMO, **kwargs))r   printrc   rd   ra   lark__version__	enumerateEXTRACT_STANDALONE_FILESopenosr   r-   _larkdirr>   rU   nextiter
splitlinesmemo_serializer%   r$   )	lark_instrb   outr[   re   rh   ipyfilefcodedatamra   rc   rd   s    `          @@@r1   gen_standaloner   ~   s   ~S)))* * * * * * * *
b b b b b F?$BRRSSS
F$"22333
FHHH788  	6"',,x0011 	Q#A&&|4D T'd4??4;P;P6Q6Q(R(RSSF4LLL		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 &&T':;;GD!
F())) z$s&!!!z!s&!!!!ztszq			s F;
F<
F+,,,
F@AAAAAs   ;A%D,,D0	3D0	c                     t                       t          ddt          gd          } |                     ddddd	
           t	          t
          j                  dk    r3|                     t
          j                   t          j	        d           | 
                                }t          |          \  }}t          |||j                   |j                                         |j                                         d S )Nz&prog='python -m lark.tools.standalone'zLark Stand-alone Generator Toolz;Look at the Lark documentation for more info on the options)progdescriptionparentsepilogz-cz
--compress
store_truer   zEnable compression)actiondefaulthelp   )rz   r[   )r#   r    r!   add_argumentlensysargv
print_helpstderrexit
parse_argsr"   r   r[   rz   closegrammar_file)parsernsry   rz   s       r1   mainr      s    !IWx%3$4=z| | |F
l<Qefff
38}}#*%%%					B^^NIs9#<<<<FLLNNNOr3   __main__)@copyr   abcr   r   typesr   typingr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	REPatternr   r   r   r   rB   rD   rs   r   collectionsr   	functoolsr   argparser    rn   
lark.toolsr!   r"   r#   lark.grammarr$   
lark.lexerr%   dirname__file___dirr-   pardirrt   rq   r>   rU   stdoutr   r   __name__ r3   r1   <module>r      s  6       # # # # # # # #                                                      


         				       # # # # # #       # # # # # #  I I I I I I I I I I       " " " " " "t|H49T4;''   &D D D(  > &*szE /B /B /B /Bh  " zDFFFFF r3   