
    j	              
       .   S r SSKJr  SSKJrJr  SSKJrJrJ	r	J
r
JrJr  Sr/ SQr SS\S\S-  S	\\R"                  S
4   4S jjr SS\\\   -  S\S-  S	\\R"                  SS4   4S jjrSS\S\S-  S\S	\4S jjr SS\S\S-  S\S	\\   4S jjrg)zParse SQL statements.    )	Generator)IOAny)clienginefilters	formattersqltokensz0.6.0Nr
   encodingreturn.c                 *    [        [        X5      5      $ )zParse sql and return a list of statements.

:param sql: A string containing one or more SQL statements.
:param encoding: The encoding of the statement (optional).
:returns: A tuple of :class:`~sqlparse.sql.Statement` instances.
)tupleparsestream)r
   r   s     I/var/www/html/KUNJ/venv/lib/python3.13/site-packages/sqlparse/__init__.pyparser      s     S+,,    streamc                 n    [         R                  " 5       nUR                  5         UR                  X5      $ )zParses sql statements from file-like object.

:param stream: A file-like object.
:param encoding: The encoding of the stream contents (optional).
:returns: A generator of :class:`~sqlparse.sql.Statement` instances.
)r   FilterStackenable_groupingrun)r   r   stacks      r   r   r       s-      E	99V&&r   optionsc                     [         R                  " 5       n[        R                  " U5      n[        R                  " X25      nUR
                  R                  [        R                  " 5       5        SR                  UR                  X5      5      $ )a  Format *sql* according to *options*.

Available options are documented in :ref:`formatting`.

In addition to the formatting options this function accepts the
keyword "encoding" which determines the encoding of the statement.

:returns: The formatted SQL statement as string.
 )r   r   r	   validate_optionsbuild_filter_stackpostprocessappendr   SerializerUnicodejoinr   )r
   r   r   r   s       r   formatr#   .   sg      E((1G((8E	W668977599S+,,r   strip_semicolonc                     [         R                  " US9nUR                  X5       Vs/ s H  n[        U5      R	                  5       PM     sn$ s  snf )a  Split *sql* into single statements.

:param sql: A string containing one or more SQL statements.
:param encoding: The encoding of the statement (optional).
:param strip_semicolon: If True, remove trailing semicolons
    (default: False).
:returns: A list of strings.
)r$   )r   r   r   strstrip)r
   r   r$   r   stmts        r   splitr)   ?   sB     ?E*/))C*BC*B$CIOO*BCCCs   #A)N)NF)__doc__collections.abcr   typingr   r   sqlparser   r   r   r	   r
   r   __version____all__r&   r   	Statementr   r   r#   boollistr)    r   r   <module>r4      s     &  A A
D &*	-		-d
	-
3==#	- 37'"S'M'%(4Z's}}dD()'- -sTz -S -S -$ DID	Dd
D<@D	#YDr   