� L�g~!��N�ddlZddlZddlmZddlmZmZGd�de��ZdS)�N)�loads)� LexerError�EmptyExpressionErrorc ���eZdZeejdz��Zeejejzdz��Zeej��Z ed��Z ddddddd d d d d � Z d�Z d�Z d�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�Lexer�_z �dot�star�rbracket�comma�colon�current�lparen�rparen�lbrace�rbrace) �.�*�]�,�:�@�(�)�{�}c#�fK�|�|��|j���|j|jvrA|j|j|j|j|jdzd�V�|����n�|j|jvri|j}|j}|���|jvr%||jz }|���|jv�%d|||t|��zd�V��n0|j|jvr|����n |jdkry|j}|���}|dkr"|���dd||dzd�V��n�|d kr"|���d d ||dzd�V��n�d d||dzd�V��n�|jd kr|� ��V��ne|jdkr|� ddd��V��n?|jdkr|� ddd��V��n|jdkr|� ��V��n�|j|j vrC|j}|� ��}dt|��||t|��zd�V��n�|jdkrk|j}|� ��}t|��dkr(dt|��||t|��zd�V��nDt||d|z����|jdkr|���V��n |jdkr|� ddd��V�n�|jdkr|� ddd ��V�n�|jd!kr|� dd"d#��V�n�|jdkrn|���dkr+d$d%|jdz |jd�V�|���nO|j�|j}n |jdz }t|dd&����t|j|jd'|jz����|j���d(d)|j|jd�V�dS)*N���type�value�start�end�unquoted_identifier�[r�flattenz[]��?�filterz[?�lbracket�'�|�or�pipe�&�and�expref�`�number�-zUnknown token '%s'��lexer_position� lexer_value�message�"�<�=�lte�lt�>�gte�gt�!�ne�not�eqz==zUnknown token '='zUnknown token %s�eof�)�_initialize_for_expression�_current� SIMPLE_TOKENS� _position�_next�START_IDENTIFIER�VALID_IDENTIFIER�len� WHITESPACE�_consume_raw_string_literal�_match_or_else�_consume_literal� VALID_NUMBER�_consume_number�intr�_consume_quoted_identifier�_length)�self� expressionr"�buff� next_char�positions �^/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/jmespath/lexer.py�tokenizezLexer.tokenizesy���� �'�'� �3�3�3��m�'��}�� 2�2�2�#�1�$�-�@� $� � $��t�~��7I�K�K�K�K�K�� � � � � � ���$�"7�7�7�����}���j�j�l�l�d�&;�;�;��D�M�)�D��j�j�l�l�d�&;�;�;�4�t� %�e�c�$�i�i�.?�A�A�A�A�A�A���$�/�1�1�� � � � � � ���#�%�%���� �J�J�L�L� ���#�#��J�J�L�L�L�#,�t�$)�%�!�)�=�=�=�=�=�=��#�%�%��J�J�L�L�L�#+�d�$)�%�!�)�=�=�=�=�=�=�$.��$)�%�!�)�=�=�=�=�=�=���#�%�%��6�6�8�8�8�8�8�8���#�%�%��)�)�#�t�V�<�<�<�<�<�<���#�%�%��)�)�#�u�h�?�?�?�?�?�?���#�%�%��+�+�-�-�-�-�-�-���$�"3�3�3�����+�+�-�-��'�#�d�)�)� %�e�c�$�i�i�.?�A�A�A�A�A�A���#�%�%�����+�+�-�-���t�9�9�q�=�=�#+�c�$�i�i�$)�%�#�d�)�)�2C�E�E�E�E�E�E�%�E�15�-A�D�-H�J�J�J�J���#�%�%��5�5�7�7�7�7�7�7���#�%�%��)�)�#�u�d�;�;�;�;�;�;���#�%�%��)�)�#�u�d�;�;�;�;�;�;���#�%�%��)�)�#�t�U�;�;�;�;�;�;���#�%�%��:�:�<�<�3�&�&�#'�$�!%��!�!3�D�N�L�L�L�L�L��J�J�L�L�L�L��}�,�$(�>���#'�>�A�#5��$�'/�$'� 3�5�5�5�5� !���-1�]�);�d�m�)K�M�M�M�M�_�m�'�d�r�� �T�\�;�;� ;� ;� ;� ;� ;�c��|j}|j}|���|jvr%||jz }|���|jv�%|S)N)rJrHrKrS)rXr"rZs r]rTzLexer._consume_numberqsO������}���j�j�l�l�d�/�/�/� �D�M� !�D��j�j�l�l�d�/�/�/�� r_c���|st���d|_||_t|j��|_|j|j|_t |j��|_dS)Nr)rrJ� _expression�list�_charsrHrNrW)rXrYs r]rGz Lexer._initialize_for_expressionxs]��� )�&�(�(� (����%����4�+�,�,�� �� �D�N�3�� ��4�+�,�,�� � � r_c��|j|jdz krd|_n'|xjdz c_|j|j|_|jS)Nr)rJrWrHrd)rXs r]rKz Lexer._next�sG�� �>�T�\�A�-� -� -� �D�M�M� �N�N�a� �N�N� �K���7�D�M��}�r_c�j�|j}d}|���|j|krv|jdkr|dz }|���|j�"t||j|d�d|z����||jz }|���|j|k�v|���|S)NrF�\zUnclosed %s delimiterr5)rJrKrHrrb)rX� delimiterr"rZs r]�_consume_untilzLexer._consume_until�s�������� � � � � � ��m�y�(�(��}��$�$��� ��� � � � � ��}�$� ��-1�-=�e�f�f�-E�)@�9�)L�N�N�N�N� �D�M� !�D� �J�J�L�L�L��m�y�(�(� � � � � � �� r_c��|j}|�d���dd��} t|��}n�#t$rs td|���z��}t jdt��n0#t$r#t||j |d�d|z����wxYwYnwxYw|j|z }d|||d�S) Nr2z\`z"%s"z deprecated string literal syntaxz Bad token %sr5�literalr) rJri�replacer� ValueError�lstrip�warnings�warn�PendingDeprecationWarningrrb)rXr"�lexeme� parsed_json� token_lens r]rRzLexer._consume_literal�s#������$�$�S�)�)�1�1�%��=�=�� B���-�-�K�K��� B� B� B� B�$�F�V�]�]�_�_�$<�=�=� �� �@�7�9�9�9�9��� B� B� B� ��-1�-=�e�f�f�-E�)7�&�)@�B�B�B�B� B����9�9� B�����N�U�*� �!�K��y�2�2� 2s)�A� B?� >B � B?� -B9�9B?�>B?c��|j}d|�d��zdz} |j|z }dt|��||d�S#t$r?}t |���d��d}t |||����d}~wwxYw)Nr9�quoted_identifierrrrr5)rJrirrm�str�splitr)rXr"rrrt�e� error_messages r]rVz Lexer._consume_quoted_identifier�s�������t�*�*�3�/�/�/�#�5�� 4����.�I�/�%��-�-�"�9�6�6� 6��� 4� 4� 4���F�F�L�L��-�-�a�0�M��E�)/�%2�4�4�4� 4����� 4���s�A� B � :B�B c��|j}|�d���dd��}|j|z }d|||d�S)Nr+z\'rkr)rJrirl)rXr"rrrts r]rPz!Lexer._consume_raw_string_literal�sQ������$�$�S�)�)�1�1�%��=�=���N�U�*� �!�F��y�2�2� 2r_c��|j}|j}|���}||kr!|���|||z||dzd�S||||d�S)Nrr)rJrHrK)rX�expected� match_type� else_typer"rr[s r]rQzLexer._match_or_else�sp������-���J�J�L�L� � �� � � �J�J�L�L�L�&��9�1D�"�5�1�9�6�6� 6�!�G��u�.�.� .r_N)�__name__� __module__� __qualname__�set�string� ascii_lettersrL�digitsrMrSrOrIr^rTrGrKrirRrVrPrQ�r_r]rrs�������s�6�/�#�5�6�6���s�6�/�&�-�?�#�E�F�F���3�v�}�%�%�L���Y���J� � � � � � � � � � � � �M�U;�U;�U;�n���-�-�-�������*2�2�2�* 4� 4� 4�2�2�2� .� .� .� .� .r_r) r�ro�jsonr�jmespath.exceptionsrr�objectrr�r_r]�<module>r�s�� � � � �����������@�@�@�@�@�@�@�@�H.�H.�H.�H.�H.�F�H.�H.�H.�H.�H.r_
Memory