o
    }!g}                     @   s   d dl Z dd ZdS )    Nc                 C   s6  zt | W S  t jy   Y nw d}g }d}d}| D ][}|r<|dkr(|s(d}nJ|dkr1|s1d}nA|dkr9| }n9d}n6|dkrEd}d}n-|dkrO|d	 n#|d
krY|d n|d	ksa|dkrr|rn|d |krn|  ntd||7 }q|r}|d7 }t|D ]}||7 }qzt |W S  t jy   tdw )zParse an incomplete JSON string into a valid python dictionary.

    NOTE: This is adapted from
    https://github.com/OpenInterpreter/open-interpreter/blob/5b6080fae1f8c68938a1e4fa8667e3744084ee21/interpreter/utils/parse_partial_json.py
     F"
z\n\T{}[]z#Malformed partial JSON encountered.)jsonloadsJSONDecodeErrorappendpop
ValueErrorreversed)snew_sstackis_inside_stringescapedcharclosing_char r   b/mnt/skqttb/ctump_chatbot/chatbot/lib/python3.10/site-packages/llama_index/program/openai/utils.pyparse_partial_json   sN   


r   )r   r   r   r   r   r   <module>   s    