§
    òŽ’jå•  ã                   óf  — d dl mZmZ d dlmZmZ ddlmZmZ ddl	m
Z
 ddlmZ ddlmZmZ ddlmZ erdd	lmZ  e¦   «         Zd
dddœZ ee¦  «        ZdZe G d„ d¦  «        ¦   «         Zdedefd„Zdedefd„Zdedefd„Zdeddfd„Z deddfd„Z!dddedz  fd„Z"dddedededz  fd„Z#dededdfd„Z$dddedefd „Z%deddfd!„Z&	 d=ddded"ee'e         z  d#e(de(f
d$„Z)dddeedz  ef         fd%„Z*ddded&edeeedz  f         fd'„Z+ddded(e(defd)„Z,d*edefd+„Z-ddd,e(defd-„Z.ddd.e(defd/„Z/ddd#e(defd0„Z0ddd#e(de(dz  fd1„Z1ddd#e(de(fd2„Z2ddd3e(defd4„Z3ddd5e(defd6„Z4ddded&edeeedz  ef         fd7„Z5dddededz  fd8„Z6ddded&edz  defd9„Z7dddefd:„Z8ddd;e(defd<„Z9dS )>é    )Ú	dataclassÚfield)ÚTYPE_CHECKINGÚcasté   )Úclassify_object_value_commaÚupdate_inline_container_stack)Úparse_boolean_or_null)Úparse_json_llm_block)ÚSTRING_DELIMITERSÚJSONReturnType)ÚContextValues)Ú
JSONParserú]Ú}ú))ú[Ú{ú(ú c                   ó(  — e Zd ZU dZeed<   dZeed<   dZeed<   dZ	eed<   dZ
eed<   dZeed	<   dZeed
<    ee¬¦  «        Zee         ed<   dZeed<    ee¬¦  «        Zeeedf         eeedz  f         f         ed<   dZeed<   dZedz  ed<   dS )ÚStringParseStateFÚmissing_quotesÚdoubled_quotesú"Úlstring_delimiterÚrstring_delimiterÚ Ú
string_accÚunmatched_delimiterÚpending_inline_container)Údefault_factoryÚinline_container_stackÚ$object_value_has_no_future_delimiter.NÚlookahead_cacher   Ú%object_value_unmatched_opening_bracesÚregex_character_class_start)Ú__name__Ú
__module__Ú__qualname__r   ÚboolÚ__annotations__r   r   Ústrr   r   r    r!   r   Úlistr#   r$   Údictr%   ÚtupleÚintr&   r'   © ó    úFC:\Projects\DSCons\.venv\Lib\site-packages\json_repair\parse_string.pyr   r      s  € € € € € € à €N�DÐ Ð Ñ Ø €N�DÐ Ð Ñ Ø Ð�sÐ Ð Ñ Ø Ð�sÐ Ð Ñ Ø€J�ÐÐÑØ %Ð˜Ð%Ð%Ñ%Ø%*Ð˜dÐ*Ð*Ñ*Ø(-¨¸dÐ(CÑ(CÔ(CÐ˜D œIÐCÐCÑCØ16Ð(¨$Ð6Ð6Ñ6ØEJÀUÐ[_ÐE`ÑE`ÔE`€O�T˜%  S œ/¨5°°c¸D±j°Ô+AÐAÔBÐ`Ð`Ñ`Ø12Ð)¨3Ð2Ð2Ñ2Ø.2Ð  t¡Ð2Ð2Ñ2Ð2Ð2r3   r   ÚstateÚreturnc                 ó   — | j         d         S )Nr   ©r   ©r5   s    r4   Ú_outer_rstring_delimiterr:   $   s   € ØÔ" 1Ô%Ð%r3   c                 ó   — | j         d         S ©Néÿÿÿÿr8   r9   s    r4   Ú_active_rstring_delimiterr>   (   s   € ØÔ" 2Ô&Ð&r3   c                 ó2   — t          | ¦  «        t          k    S ©N)r>   ÚLOW_SMART_QUOTE_SENTINELr9   s    r4   Ú_in_low_smart_quote_spanrB   ,   s   € Ý$ UÑ+Ô+Õ/GÒGÐGr3   Nc                 ó0   — | xj         t          z  c_         d S r@   )r   rA   r9   s    r4   Ú_push_low_smart_quote_spanrD   0   s   € Ø	ÐÔÕ7Ñ7ÐÔÐÐr3   c                 ó.   — | j         d d…         | _         d S r<   r8   r9   s    r4   Ú_pop_low_smart_quote_spanrF   4   s   € Ø#Ô5°c°r°cÔ:€EÔÐÐr3   Úselfr   c                 ó8  — |                       ¦   «         dk    rd S | j        dz   }| j        }t          |t          ¦  «        r7|                     d|¦  «        }|dk    rd S |||…         }d|v sd|v sd|v rd S nI|}t          |¦  «        }||k     r ||         }|dk    rn|dv rd S |dz  }||k     ° ||k    rd S |||…         }|dz   }t          |¦  «        }||k     rI| j        |                              ¦   «         r*|dz  }||k     r| j        |                              ¦   «         °*||k     r| j        |         nd }| j        j	        }	|	t          j        k    r	|dk    rd S n2|	t          j        k    r|d	vrd S n|	t          j        k    r|d
vrd S n|�d S |dz   | _        |S )Nr   r   r=   ú\ú
ú>   rJ   rK   rI   ú:>   Nr   ú,>   NrM   r   )Úget_char_atÚindexÚjson_strÚ
isinstancer-   ÚfindÚlenÚisspaceÚcontextÚcurrentr   Ú
OBJECT_KEYÚOBJECT_VALUEÚARRAY)
rG   ÚstartrP   ÚendÚvalueÚlimitÚcharÚ
next_indexÚ	next_charÚcurrent_contexts
             r4   Ú_try_parse_simple_quoted_stringrb   8   s  € Ø×ÒÑÔ˜SÒ Ð ØˆtàŒJ˜‰N€EØŒ}€HÝ�(�CÑ Ô ð $Ø�mŠm˜C Ñ'Ô'ˆØ�"Š9ˆ9Ø�4Ø˜˜s˜Ô#ˆØ�5ˆ=ˆ=˜D E˜M˜M¨T°U¨]¨]Ø�4ð .;ð ˆÝ�H‘”ˆØ�EŠkˆkØ˜C”=ˆDØ�sŠ{ˆ{ØØÐ)Ð)Ð)Ø�tØ�1‰HˆCð �EŠkˆkð �%Š<ˆ<Ø�4Ø˜˜s˜Ô#ˆà�q‘€JÝ�‰MŒM€EØ
�uÒ
Ð
 ¤¨zÔ!:×!BÒ!BÑ!DÔ!DÐ
Ø�a‰ˆ
ð �uÒ
Ð
 ¤¨zÔ!:×!BÒ!BÑ!DÔ!DÐ
à-7¸%Ò-?Ð-?�”˜jÔ)Ð)ÀT€Ià”lÔ*€OØ�-Ô2Ò2Ð2Ø˜ÒÐØ�4ð à	�MÔ6Ò	6Ð	6ØÐ,Ð,Ð,Ø�4ð -à	�MÔ/Ò	/Ð	/ØÐ,Ð,Ð,Ø�4ð -à	Ð	Øˆtà�q‘€D„JØ€Lr3   Úcurrent_charc                 ój   — t          ||¦  «         | xj        dz  c_        |                      ¦   «         S )Nr   )Ú_append_string_contentrO   rN   )rG   r5   rc   s      r4   Ú_append_literal_charrf   j   s5   € õ
 ˜5 ,Ñ/Ô/Ð/Ø€J„J�!�O€J„JØ×ÒÑÔÐr3   Úcontentc                 ó$  — t          | j        ¦  «        }| xj        |z  c_        t          |¦  «        D ][\  }}|dk    r| xj        dz  c_        Œ|dk    r| j        r| xj        dz  c_        Œ:|dk    r||z   dz   | _        ŒN|dk    rd | _        Œ\d S )Nr   r   r   r   r   )rS   r   Ú	enumerater&   r'   )r5   rg   Ústart_indexÚoffsetr^   s        r4   re   re   t   sÂ   € Ý�eÔ&Ñ'Ô'€KØ	ÐÔ˜ÑÐÔÝ! 'Ñ*Ô*ð 5ð 5‰ˆ�Ø�3Š;ˆ;ØÐ7Ô7¸1Ñ<Ð7Ô7Ð7Ø�SŠ[ˆ[˜UÔHˆ[ØÐ7Ô7¸1Ñ<Ð7Ô7Ð7Ø�SŠ[ˆ[Ø0;¸fÑ0DÀqÑ0HˆEÔ-Ð-Ø�SŠ[ˆ[Ø04ˆEÔ-øð5ð 5r3   c                 óÄ   — |j         }|�&t          d„ |j        |d…         D ¦   «         ¦  «        rdS |                      dd¬¦  «        }|                      |¦  «        dk    S )zOReturn whether the current quote is inside a compact ``[...]`` character class.Nc              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r@   )rT   )Ú.0r^   s     r4   ú	<genexpr>z:_quote_belongs_to_regex_character_class.<locals>.<genexpr>ˆ   s*   è è € ÐPÐP¨t˜DŸLšL™NœNÐPÐPÐPÐPÐPÐPr3   Fr   r   ©Úidx)r'   Úanyr   Úskip_to_characterrN   )rG   r5   rZ   Úclosing_bracket_idxs       r4   Ú'_quote_belongs_to_regex_character_classru   ‚   sp   € ð
 Ô-€EØ€}�ÐPÐP°uÔ7GÈÈÈÔ7OÐPÑPÔPÑPÔP€}Øˆuà×0Ò0°¸!Ð0Ñ<Ô<ÐØ×ÒÐ/Ñ0Ô0°CÒ7Ð7r3   c                 óü   — d| _         d | _        t          | j        ¦  «        D ]X\  }}|dk    r| xj         dz  c_         Œ|dk    r| j         r| xj         dz  c_         Œ:|dk    r|dz   | _        ŒK|dk    rd | _        ŒYd S )Nr   r   r   r   r   r   )r&   r'   ri   r   )r5   rO   r^   s      r4   Ú!_rebuild_unmatched_opening_bracesrw   �   s«   € Ø23€EÔ/Ø(,€EÔ%Ý  Ô!1Ñ2Ô2ð 5ð 5‰ˆˆtØ�3Š;ˆ;ØÐ7Ô7¸1Ñ<Ð7Ô7Ð7Ø�SŠ[ˆ[˜UÔHˆ[ØÐ7Ô7¸1Ñ<Ð7Ô7Ð7Ø�SŠ[ˆ[Ø05¸±	ˆEÔ-Ð-Ø�SŠ[ˆ[Ø04ˆEÔ-øð5ð 5r3   Ú	characterrq   c                 ó   — t          |t          ¦  «        r|fnt          |¦  «        }| j        |z   }|j                             |¦  «        }|�E|\  }}|€"||k    rt          | j        ¦  «        | j        z
  S |�||cxk    r|k    rn n
|| j        z
  S |                      ||¦  «        }	|  	                    |	¦  «        }
|
s|d f|j        |<   |	S | j        |	z   }|dk    s| j        |dz
           dk    r||f|j        |<   |	S )Nr   r   rI   )
rQ   r-   r0   rO   r%   ÚgetrS   rP   rs   rN   )rG   r5   rx   rq   Útargetsrj   ÚcachedÚcached_startÚcached_matchÚmatch_offsetÚmatchÚmatch_indexs               r4   Ú_cached_skip_to_characterr‚   �   s?  € õ )¨µCÑ8Ô8ÐNˆyˆlˆl½eÀIÑ>NÔ>N€GØ”*˜sÑ"€KØÔ"×&Ò& wÑ/Ô/€FØÐØ%+Ñ"ˆ�lØÐ K°<Ò$?Ð$?Ý�t”}Ñ%Ô%¨¬
Ñ2Ð2ØÐ#¨¸Ð(SÐ(SÒ(SÐ(SÀ|Ò(SÐ(SÐ(SÐ(SÐ(SØ $¤*Ñ,Ð,à×)Ò)¨)°SÑ9Ô9€LØ×Ò˜\Ñ*Ô*€EØð Ø*5°tÐ)<ˆÔ˜gÑ&ØÐà”*˜|Ñ+€KØ�aÒÐ˜4œ=¨°q©Ô9¸TÒAÐAØ*5°{Ð)CˆÔ˜gÑ&ØÐr3   c                 ó¼  — |                       ¦   «         }|dv rd |                      ¦   «         fS |r`|t          vrW|                     ¦   «         sC| xj        dz  c_        |                       ¦   «         }|r|t          vr|                     ¦   «         ¯C|sdS t          | ¦  «        }|�d |fS t          ¦   «         }|dk    rdx|_        |_        n�|dk    rd|_        d|_        nx|                     ¦   «         rd| 	                    ¦   «         dv r2| j
        j        t          j        k    rt          | ¦  «        \  }}|r||fS |                      d¦  «         d	|_        |j        s| xj        dz  c_        |                       ¦   «         d
k    r,t#          | ¦  «        }|dur||fS |                      d¦  «         |                       ¦   «         |j        k    �r| j
        j        t          j        k    r|                       d¦  «        dk    sb| j
        j        t          j        k    r|                       d¦  «        dv s1| j
        j        t          j        k    r+|                       d¦  «        dv r| xj        dz  c_        |dfS |                       d¦  «        |j        k    r/|                      d¦  «         | j        rt+          d¦  «        ‚|dfS |                      |j        d¬¦  «        }|                       |dz   ¦  «        |j        k    r-|                      d¦  «         d	|_        | xj        dz  c_        n¢|                      d¬¦  «        }|                       |¦  «        }|g t          ¢d‘d‘v r?|                      d¦  «         | j        rt+          d¦  «        ‚| xj        dz  c_        |dfS |dvr%|                      d¦  «         | xj        dz  c_        |t2          fS )N)ú#ú/r   )Nr   ú'õ   â€œõ   â€�)ÚtÚfÚnz=While parsing a string, we found a literal instead of a quoteTú`FzoWhile parsing a string, we found code fences but they did not enclose valid JSON, continuing parsing the stringrL   ©rM   r   )rM   r   r   zTWhile parsing a string, we found a doubled quote and then a quote again, ignoring itz/Found doubled quotes followed by another quote.©rx   rq   z?While parsing a string, we found a valid starting doubled quoterp   r   r   z_While parsing a string, we found a doubled quote but also another quote afterwards, ignoring itzFFound doubled quotes followed by another quote while parsing a string.©rM   r   r   zYWhile parsing a string, we found a doubled quote but it was a mistake, removing one quote)rN   Úparse_commentr   ÚisalnumrO   rb   r   r   r   ÚlowerrU   rV   r   rW   r
   Úlogr   r   rX   rY   ÚstrictÚ
ValueErrorrs   r   Úscroll_whitespacesÚNO_DIRECT_RESULT)	rG   r^   Úfast_path_valuer5   Úfound_literalr\   Úret_valÚiÚnext_cs	            r4   Ú_prepare_string_entryr�   ¹   sR  € ð ×ÒÑÔ€DØˆzÐÐØ�T×'Ò'Ñ)Ô)Ð)Ð)à
ð "�4Õ0Ð0Ð0¸¿º¹¼Ð0Øˆ
Œ
�a‰ˆ
Œ
Ø×ÒÑ!Ô!ˆð ð "�4Õ0Ð0Ð0¸¿º¹¼Ð0ð ð Øˆxå5°dÑ;Ô;€OØÐ"Ø�_Ð$Ð$åÑÔ€Eàˆs‚{€{Ø<?Ð?ˆÔ %Ô"9Ð"9Ø	�ŠˆØ"'ˆÔØ"'ˆÔÐØ	�Š‰Œð $Ø�:Š:‰<Œ<˜?Ð*Ð*¨t¬|Ô/CÅ}ÔG_Ò/_Ð/_Ý#8¸Ñ#>Ô#>Ñ ˆM˜5Øð $Ø˜e�|Ð#Ø�ŠØKñ	
ô 	
ð 	
ð  $ˆÔàÔð Øˆ
Œ
�a‰ˆ
Œ
Ø×ÒÑÔ˜SÒ Ð Ý& tÑ,Ô,ˆØ˜%ÐÐØ˜'�>Ð!Ø�ŠØ}ñ	
ô 	
ð 	
ð ×ÒÑÔ˜UÔ4Ò4Ñ4àŒ\Ô!¥]Ô%=Ò=Ð=À$×BRÒBRÐSTÑBUÔBUÐY\ÒB\ÐB\Ø”Ô$­Ô(BÒBÐBÀt×GWÒGWÐXYÑGZÔGZÐ^hÐGhÐGhØ”Ô$­Ô(;Ò;Ð;À×@PÒ@PÐQRÑ@SÔ@SÐWaÐ@aÐ@aàˆJŒJ˜!‰OˆJŒJØ˜"�9ÐØ×Ò˜AÑÔ %Ô"9Ò9Ð9Ø�HŠHØfñô ð ð Œ{ð TÝ Ð!RÑSÔSÐSØ˜"�9ÐØ×"Ò"¨UÔ-DÈ!Ð"ÑLÔLˆØ×Ò˜A ™EÑ"Ô" eÔ&=Ò=Ð=Ø�HŠHØQñô ð ð $(ˆEÔ ØˆJŒJ˜!‰OˆJŒJˆJà×'Ò'¨AÐ'Ñ.Ô.ˆAØ×%Ò% aÑ(Ô(ˆFØÐ7Õ,Ð7¨cÐ7°3Ð7Ð7Ð7Ø—’Øuñô ð ð ”;ð Ý$Ø`ñô ð ð �
”
˜a‘�
”
Ø˜b�yÐ Ø˜_Ð,Ð,Ø—’Øoñô ð ð �
”
˜a‘�
”
àÕ"Ð"Ð"r3   r^   c                 óÂ  — |                       d¦  «         t          |¦  «        }t          |¦  «        ra|dk    r[|j        d d…         |z   |_        t	          |¦  «         t          |¦  «         | xj        dz  c_        d|                      ¦   «         fS |dk    rå| j        dz
  }| j        dz   }|t          | j	        ¦  «        k     r?| j	        |         dk    r.|dz  }|t          | j	        ¦  «        k     r| j	        |         dk    °.||z
  }|                      || j        z
  ¦  «        }|dz  dk    rO||k    rI|j        d d…         d|dz  z  z   |_        t	          |¦  «         || _        d|                      ¦   «         fS ||d	d
dddfv �r |j        d d…         |_        dddddœ}|xj        | 
                    ||¦  «        z  c_        t	          |¦  «         | xj        dz  c_        |                      ¦   «         }|rˆ|j        r�|j        d         dk    rp||dfv rj|j        d d…         |z   |_        t	          |¦  «         | xj        dz  c_        |                      ¦   «         }|r|j        r|j        d         dk    r||dfv °jd|fS |dv rØ|dk    rdnd}	| j	        | j        dz   | j        dz   |	z   …         }
t          |
¦  «        |	k    r˜t          d„ |
D ¦   «         ¦  «        r|                       d¦  «         |j        d d…         t          t          |
d¦  «        ¦  «        z   |_        t	          |¦  «         | xj        d|	z   z  c_        d|                      ¦   «         fS nv|dk    s|t          v rg||k    ra|                       d¦  «         |j        d d…         |z   |_        t	          |¦  «         | xj        dz  c_        d|                      ¦   «         fS d|fS )Nz-Found a stray escape sequence, normalizing itr   r=   r   TrI   é   r   r‰   r‹   ÚrÚbú	rJ   rK   ú)r‰   r‹   r    r¡   )ÚuÚxr¤   é   c              3   ó   K  — | ]}|d v V — Œ	dS )Ú0123456789abcdefABCDEFNr2   )rn   Úcs     r4   ro   z-_normalize_escape_sequence.<locals>.<genexpr>@  s)   è è € Ð/bÐ/bÐRS°Ð5MÐ0MÐ/bÐ/bÐ/bÐ/bÐ/bÐ/br3   z/Found a unicode escape sequence, normalizing ité   õ   â€žzPFound a delimiter that was escaped but shouldn't be escaped, removing the escapeF)r“   r>   rB   r   rw   rF   rO   rN   rS   rP   rz   ÚallÚchrr1   r   )rG   r5   r^   Úactive_rstring_delimiterÚ	run_startÚrun_endÚ
run_lengthr`   Úescape_seqsÚ	num_charsÚ
next_charss              r4   Ú_normalize_escape_sequencerµ     s\  € ð
 	‡H‚HÐ<Ñ=Ô=Ð=Ý8¸Ñ?Ô?ÐÝ Ñ&Ô&ð (¨4°3ª;¨;Ø Ô+¨C¨R¨CÔ0°4Ñ7ˆÔÝ)¨%Ñ0Ô0Ð0Ý! %Ñ(Ô(Ð(Øˆ
Œ
�a‰ˆ
Œ
Ø�T×%Ò%Ñ'Ô'Ð'Ð'Øˆt‚|€|Ø”J ‘Nˆ	Ø”*˜q‘.ˆØ�˜DœMÑ*Ô*Ò*Ð*¨t¬}¸WÔ/EÈÒ/MÐ/MØ�q‰LˆGð �˜DœMÑ*Ô*Ò*Ð*¨t¬}¸WÔ/EÈÒ/MÐ/Mà˜yÑ(ˆ
Ø×$Ò$ W¨t¬zÑ%9Ñ:Ô:ˆ	Ø˜‰>˜QÒÐ 9Ð0HÒ#HÐ#HØ$Ô/°°°Ô4¸À
ÈaÁÑ8PÑQˆEÔÝ-¨eÑ4Ô4Ð4Ø ˆDŒJØ˜×)Ò)Ñ+Ô+Ð+Ð+ØÐ(¨#¨s°C¸¸dÐCÐCÑCØ Ô+¨C¨R¨CÔ0ˆÔØ  t°$¸TÐBÐBˆØÐÔ˜KŸOšO¨D°$Ñ7Ô7Ñ7ÐÔÝ)¨%Ñ0Ô0Ð0Øˆ
Œ
�a‰ˆ
Œ
Ø×$Ò$Ñ&Ô&ˆ	àð		+àÔ ð		+ð Ô  Ô$¨Ò,Ð,ØÐ6¸Ð=Ð=Ð=à$Ô/°°°Ô4°yÑ@ˆEÔÝ-¨eÑ4Ô4Ð4ØˆJŒJ˜!‰OˆJŒJØ×(Ò(Ñ*Ô*ˆIð ð		+àÔ ð		+ð Ô  Ô$¨Ò,Ð,ØÐ6¸Ð=Ð=Ð=ð �YˆÐØˆzÐÐØ š˜�A�A¨!ˆ	Ø”] 4¤:°¡>°D´JÀ±NÀYÑ4NÐ#NÔOˆ
Ýˆz‰?Œ?˜iÒ'Ð'­CÐ/bÐ/bÐWaÐ/bÑ/bÔ/bÑ,bÔ,bÐ'Ø�HŠHÐFÑGÔGÐGØ$Ô/°°°Ô4µs½3¸zÈ2Ñ;NÔ;NÑ7OÔ7OÑOˆEÔÝ-¨eÑ4Ô4Ð4ØˆJŒJ˜!˜i™-Ñ'ˆJŒJØ˜×)Ò)Ñ+Ô+Ð+Ð+øØ	�Šˆ˜$Õ"3Ð3Ð3¸Ð@XÒ8XÐ8XØ�ŠÐcÑdÔdÐdØ Ô+¨C¨R¨CÔ0°4Ñ7ˆÔÝ)¨%Ñ0Ô0Ð0Øˆ
Œ
�a‰ˆ
Œ
Ø�T×%Ò%Ñ'Ô'Ð'Ð'Ø�$ˆ;Ðr3   Ú	fence_idxc                 ó  — |dz   }t          | |¦  «        }d}|                      |¦  «        t          v r(t          | |¦  «        }|�t	          | |¦  «        rdS d}|}t          |¦  «        }|                      ||¬¦  «        }|                      |¦  «        |k    rp|                      |dz   ¬¦  «        }	|                      |	¦  «        }
|
dv r|rd|_        dS |                      ||dz   ¬¦  «        }|                      |¦  «        |k    °pdS )Né   FTrŽ   r   rp   )rM   r   r   N)	Ú%_scroll_comment_prefixed_member_startrN   ÚINLINE_CONTAINER_OPENERSÚ_skip_inline_containerÚ(_post_fence_container_starts_next_memberr:   rs   r–   r!   )rG   r5   r¶   Úquote_search_idxÚnext_content_idxÚkeep_post_fence_containerÚcontainer_end_idxÚouter_rstring_delimiterÚ	quote_idxÚafter_quote_idxÚafter_quotes              r4   Ú*_brace_before_code_fence_belongs_to_stringrÅ   O  sN  € ð ! 1‘}ÐÝ<¸TÐCSÑTÔTÐØ %ÐØ×ÒÐ(Ñ)Ô)Õ-EÐEÐEÝ2°4Ð9IÑJÔJÐØÐ(Ý7¸Ð>OÑPÔPð Ø�uØ(,Ð%Ø0Ðå6°uÑ=Ô=ÐØ×&Ò&Ð1HÐN^Ð&Ñ_Ô_€IØ
×
Ò
˜9Ñ
%Ô
%Ð)@Ò
@Ð
@Ø×1Ò1°iÀ!±mÐ1ÑDÔDˆØ×&Ò& Ñ7Ô7ˆØÐ/Ð/Ð/Ø(ð 6Ø15�Ô.Ø�4Ø×*Ò*Ð5LÐR[Ð^_ÑR_Ð*Ñ`Ô`ˆ	ð ×
Ò
˜9Ñ
%Ô
%Ð)@Ò
@Ð
@ð ˆ5r3   Ú	delimiterc                 ó   — | dk    rdn| S )Nr‡   rˆ   r2   )rÆ   s    r4   Ú_matching_string_delimiterrÈ   m  s   € Ø Ò&Ð&ˆ5ˆ5¨IÐ5r3   Úkey_idxc                 ó4  — |                       |¦  «        }|r|                     ¦   «         s|dk    sdS 	 |                       |¦  «        }|r|                     ¦   «         s|dv sn|dz  }Œ6|                      |¬¦  «        }|                       |¦  «        dk    S )NÚ_FT)rË   ú-r   rp   rL   )rN   r‘   r–   )rG   rÉ   Úkey_chars      r4   Ú_bare_key_is_followed_by_colonrÎ   q  s¾   € ð ×Ò Ñ(Ô(€HØð ˜H×,Ò,Ñ.Ô.ð °(¸c²/°/ØˆuðØ×#Ò# GÑ,Ô,ˆØð 	 × 0Ò 0Ñ 2Ô 2ð 	°hÀ*Ð6LÐ6LØØ�1‰ˆð	ð ×%Ò%¨'Ð%Ñ2Ô2€GØ×Ò˜GÑ$Ô$¨Ò+Ð+r3   rÀ   c                 óè   — |                       |¬¦  «        }|                      |¦  «        }|dv rdS |dk    rdS t          | |dz   ¦  «        }|                      |¦  «        dv pt          | |¦  «        S )Nrp   ©r   NTrM   Fr   ©r–   rN   r¹   Ú_object_member_starts_at)rG   rÀ   Úafter_container_idxÚafter_containerÚnext_member_idxs        r4   r¼   r¼   ƒ  s‘   € ð ×1Ò1Ð6GÐ1ÑHÔHÐØ×&Ò&Ð':Ñ;Ô;€OØ˜+Ð%Ð%ØˆtØ˜#ÒÐØˆuå;¸DÐBUÐXYÑBYÑZÔZ€OØ×Ò˜OÑ,Ô,°Ð;ÐnÕ?WÐX\Ð^mÑ?nÔ?nÐnr3   c                 óü  — |                       |¦  «        }|dz
  }|dk    rÛ|                       |¦  «        }|€dS |                     ¦   «         s£|t          v rdS |dvrdS |                      |dz   ¬¦  «        }|                       |¦  «        }|dv r4|dd	gt          ¢d
‘t          ¢d‘d‘d‘v p|d uo|                     ¦   «         S |dk    rdS |dgt          ¢v rdS |dk    ot          | |¦  «        S |dz  }|dk    °ÛdS )Nr   r   T)rM   rL   Frp   )r   r   r   r   rÌ   r‰   rŠ   r‹   r   r   rL   )rN   rT   rº   r–   r   ÚisdigitrÎ   )rG   rq   Úopening_delimiterÚprev_idxÚ	prev_charÚnext_idxr`   s          r4   Ú_starts_nested_inline_containerrÜ   ’  sj  € ð ×(Ò(¨Ñ-Ô-ÐØ�Q‰w€HØ
�aŠ-ˆ-Ø×$Ò$ XÑ.Ô.ˆ	ØÐØ�4Ø× Ò Ñ"Ô"ð 	WØÕ4Ð4Ð4Ø�tØ 
Ð*Ð*Ø�uà×.Ò.°3¸±7Ð.Ñ;Ô;ˆHØ×(Ò(¨Ñ2Ô2ˆIØ  JÐ.Ð.Ø  S¨#Ð$qÕ0AÐ$qÀ3Ð$qÕIaÐ$qÐcfÐ$qÐhkÐ$qÐmpÐ$qÐqð Ø TÐ)ÐA¨i×.?Ò.?Ñ.AÔ.Aðð ! CÒ'Ð'Ø�uØ˜SÐ5Õ#4Ð5Ð5Ð5Ø�tØ Ò#ÐVÕ(FÀtÈXÑ(VÔ(VÐVØ�A‰ˆð+ �aŠ-ˆ-ð, ˆ4r3   c                 ó  — |                       |¦  «        }|t          vr|S t          |         g}|dz   }|rÏ|                       |¦  «        }|sd S |t          v rEt          |¦  «        }|                      ||dz   ¬¦  «        }|                       |¦  «        |k    rd S na|t          v r1t          | |¦  «        r!|                     t          |         ¦  «         n'||d         k    r|                     ¦   «          |s|dz   S |dz  }|°Ïd S )Nr   rŽ   r=   )rN   Ú#INLINE_CONTAINER_CLOSING_DELIMITERSr   rÈ   rs   rÜ   ÚappendÚpop)rG   rq   rØ   Ústackr›   r^   Úend_delimiters          r4   r»   r»   ±  s@  € ð ×(Ò(¨Ñ-Ô-ÐØÕ CÐCÐCØˆ
å0Ð1BÔCÐD€EØˆa‰€AØ
ð Ø×Ò Ñ"Ô"ˆØð 	Ø�4ØÕ$Ð$Ð$Ý6°tÑ<Ô<ˆMØ×&Ò&°ÀAÈÁEÐ&ÑJÔJˆAØ×Ò Ñ"Ô" mÒ3Ð3Ø�tð 4àÕ8Ð8Ð8Õ=\Ð]aÐcdÑ=eÔ=eÐ8Ø�LŠLÕ<¸TÔBÑCÔCÐCÐCØ�U˜2”YÒÐØ�IŠI‰KŒKˆKØð Ø˜1‘u�Ø	ˆQ‰ˆð ð ð" ˆ4r3   c                 ó°  — |                       |¬¦  «        }	 |                      |¦  «        }|dk    r=|r$|dvr |dz  }|                      |¦  «        }|r|dv° |                       |¬¦  «        }ŒY|dk    rà|                      |dz   ¦  «        }|dk    rW|dz  }|                      |¦  «        }|r$|dvr |dz  }|                      |¦  «        }|r|dv° |                       |¬¦  «        }ŒÔ|dk    re|dz  }	 |                      |¦  «        }|s|S |dk    r"|                      |dz   ¦  «        dk    r|dz  }n|dz  }ŒG|                       |¬¦  «        }�Œ?|S )	Nrp   Tr„   )rJ   rK   r   r…   rŸ   Ú*)r–   rN   )rG   rq   r^   r`   s       r4   r¹   r¹   Ï  sÔ  € ð ×
!Ò
! cÐ
!Ñ
*Ô
*€CðØ×Ò Ñ$Ô$ˆØ�3Š;ˆ;Øð -˜4 |Ð3Ð3Ø�q‘�Ø×'Ò'¨Ñ,Ô,�ð ð -˜4 |Ð3Ð3ð ×)Ò)¨cÐ)Ñ2Ô2ˆCØØ�3Š;ˆ;Ø×(Ò(¨¨q©Ñ1Ô1ˆIØ˜CÒÐØ�q‘�Ø×'Ò'¨Ñ,Ô,�Øð 1˜t¨<Ð7Ð7Ø˜1‘H�CØ×+Ò+¨CÑ0Ô0�Dð ð 1˜t¨<Ð7Ð7ð ×-Ò-°#Ð-Ñ6Ô6�ØØ˜CÒÐØ�q‘�ðØ×+Ò+¨CÑ0Ô0�DØð #Ø"˜
Ø˜s’{�{ t×'7Ò'7¸¸a¹Ñ'@Ô'@ÀCÒ'GÐ'GØ˜q™˜ØØ˜1‘H�Cðð ×-Ò-°#Ð-Ñ6Ô6�ÙØˆ
r3   rÂ   c                 ó°   — |                       |dz   ¬¦  «        }|                      |¦  «        dk    rdS t          | |dz   ¦  «        }t          | |¦  «        S )Nr   rp   rM   FrÑ   )rG   rÂ   Ú	comma_idxrÕ   s       r4   Ú_quoted_object_member_followsrç   õ  s_   € ð ×'Ò'¨I¸©MÐ'Ñ:Ô:€IØ×Ò˜	Ñ"Ô" cÒ)Ð)Øˆuå;¸DÀ)ÈaÁ-ÑPÔP€OÝ# D¨/Ñ:Ô:Ð:r3   rÕ   c                 ó¸  — |                       |¦  «        dv rdS |                       |¦  «        }|t          v rvt          |¦  «        }|                      ||dz   ¬¦  «        }|                       |¦  «        |k    rdS |                      |dz   ¬¦  «        }|                       |¦  «        dk    S |r*|                     ¦   «         s|dk    rt          | |¦  «        S dS )NrÐ   Fr   rŽ   rp   rL   rË   )rN   r   rÈ   rs   r–   r‘   rÎ   )rG   rÕ   Únext_memberÚkey_end_delimiterÚkey_end_idxÚafter_key_idxs         r4   rÒ   rÒ     sü   € ð ×Ò˜Ñ(Ô(¨KÐ7Ð7Øˆuà×"Ò" ?Ñ3Ô3€KØÕ'Ð'Ð'Ý6°{ÑCÔCÐØ×,Ò,Ð7HÈoÐ`aÑNaÐ,ÑbÔbˆØ×Ò˜KÑ(Ô(Ð,=Ò=Ð=Ø�5Ø×/Ò/°KÀ!±OÐ/ÑDÔDˆØ×Ò Ñ.Ô.°#Ò5Ð5àð E˜×+Ò+Ñ-Ô-ð E°ÀÒ1CÐ1CÝ-¨d°OÑDÔDÐDàˆ5r3   c                 ó"  — t          |¦  «        }|j        rC|                      d¦  «        |k    r*|                      d¦  «         | xj        dz  c_        d|dfS |j        rÞ| j        j        t          j	        k    rÄd}|                      |¦  «        }|r2|||j
        fvr'|dz  }|                      |¦  «        }|r|||j
        fv°'|rr|dz  }|                      |¬¦  «        }|                      |¦  «        dk    r>| xj        dz  c_        |                      ¦   «         }|                      d¦  «         d|dfS d|dfS |j        rd|_        t          | ||¦  «        }d|dfS d}|                      |¦  «        }d}|rÃ|||j
        fvr¸|r|                     ¦   «         rd}t          j        | j        j        v r|dv s\t          j	        | j        j        v r|d	k    s>t          j        | j        j        v r|d
v s"|r!| j        j        t          j	        k    r|dk    rn'|dz  }|                      |¦  «        }|r|||j
        fv°¸|dk    r¬| j        j        t          j	        k    r’|dz  }|                      ||¬¦  «        }|                      |¦  «        }|dz  }|                      |¬¦  «        }|                      |¦  «        }|dv r+|                      d¦  «         t          | ||¦  «        }d|dfS �n™||k    �r’|                      |dz
  ¦  «        dk    �rut%          | |¦  «        r/| j        j        t          j	        k    rt'          | |¦  «        sd|dfS | j        j        t          j	        k    �r t'          | |¦  «        r+|                      d¦  «         t          | ||¦  «        }d|dfS |                      ||dz   ¬¦  «        }|dz  }|                      |¦  «        }|rO|dk    rI|dv s"||k    r|                      |dz
  ¦  «        dk    rn"|dz  }|                      |¦  «        }|r|dk    °I|dk    r8|                      d¦  «         |j         |_        t          | ||¦  «        }d|dfS �n| j        j        t          j        k    r¼||k    }||k    rq|                      |dg|dz   ¬¦  «        }|                      |¦  «        }||k    rd}n7|                      |dg|dz   ¬¦  «        }|                      |¦  «        }||k    °q|r8|                      d¦  «         |j         |_        t          | ||¦  «        }d|dfS d|dfS | j        j        t          j        k    r+|                      d¦  «         t          | ||¦  «        }d|dfS d|dfS )Nr   z=While parsing a string, we found a doubled quote, ignoring itTFrp   rL   z“In a string with missing quotes and object value context, I found a delimeter but it turns out it was the beginning on the next key. Stopping here.)rL   r   r   ©r   rM   rM   rŽ   )r   rM   z‚While parsing a string, we found a misplaced quote that would have closed the string but has a different meaning here, ignoring itrI   r�   r   z•While parsing a string in Array context, we detected a quoted section that would have closed the string but has a different meaning here, ignoring itzšWhile parsing a string in Object Key context, we detected a quoted section that would have closed the string but has a different meaning here, ignoring it)r:   r   rN   r“   rO   r   rU   rV   r   rX   r   r–   r    rf   ÚisalpharW   rY   rs   Ú_only_whitespace_untilrç   )	rG   r5   r^   rÁ   r›   rœ   r`   Úcheck_comma_in_object_valueÚeven_delimiterss	            r4   Ú!_handle_right_delimiter_candidateró     s  € õ
 7°uÑ=Ô=ÐàÔð ! × 0Ò 0°Ñ 3Ô 3Ð7NÒ NÐ NØ�ŠÐPÑQÔQÐQØˆ
Œ
�a‰ˆ
Œ
Ø�T˜5Ð Ð àÔð " ¤Ô 4½Ô8RÒ RÐ RØˆØ×!Ò! !Ñ$Ô$ˆØð 	)˜Ø#ØÔ#ð(
ð 
ð 
ð �‰FˆAØ×%Ò% aÑ(Ô(ˆFð ð 	)˜Ø#ØÔ#ð(
ð 
ð 
ð ð 		.Ø�‰FˆAØ×'Ò'¨AÐ'Ñ.Ô.ˆAØ×Ò Ñ"Ô" cÒ)Ð)Ø�
”
˜a‘�
”
Ø ×,Ò,Ñ.Ô.�	Ø—’ð jñô ð ð ˜i¨Ð-Ð-Ø�d˜EÐ!Ð!àÔ ð &Ø$)ˆÔ!Ý(¨¨u°dÑ;Ô;ˆ	Ø�Y Ð%Ð%à	€AØ×Ò˜aÑ Ô €FØ"&ÐØ
ð %�VØØÔð$ð ð ð 'ð 	0¨6¯>ª>Ñ+;Ô+;ð 	0Ø*/Ð'åÔ%¨¬Ô)=Ð=Ð=À&ÈJÐBVÐBVÝÔ*¨d¬lÔ.BÐBÐBÀvÐQTÂ}À}ÝÔ# t¤|Ô';Ð;Ð;ÀÈ*Ð@TÐ@TØ+ð AUØ04´Ô0DÍÔHbÒ0bÐ0bÐgmÐqtÒgtÐgtàØ	ˆQ‰ˆØ×!Ò! !Ñ$Ô$ˆð ð %�VØØÔð$ð ð ð �‚}€}˜œÔ-µÔ1KÒKÐKØ	ˆQ‰ˆØ×"Ò"Ð-DÈ!Ð"ÑLÔLˆØ×!Ò! !Ñ$Ô$ˆØ	ˆQ‰ˆØ×#Ò#¨Ð#Ñ*Ô*ˆØ×!Ò! !Ñ$Ô$ˆØ�ZÐÐØ�HŠHð Uñô ð õ -¨T°5¸$Ñ?Ô?ˆIØ˜ EÐ)Ð)ñ  ð 
Ð*Ò	*Ñ	*¨t×/?Ò/?ÀÀAÁÑ/FÔ/FÈ$Ò/NÑ/NÝ! $¨Ñ*Ô*ð 	%ØŒLÔ ¥MÔ$>Ò>Ð>ÕC`ÐaeÐghÑCiÔCiÐ>à˜$ Ð$Ð$ØŒ<Ô¥=Ô#=Ò=Ñ=Ý,¨T°1Ñ5Ô5ð .Ø—’ð Yñô ð õ 1°°u¸dÑCÔC�	Ø˜Y¨Ð-Ð-Ø×&Ò&Ð1HÈaÐRSÉeÐ&ÑTÔTˆAØ�‰FˆAØ×%Ò% aÑ(Ô(ˆFØð -˜V sš]˜]Ø˜_Ð,Ð,°Ð;RÒ1RÐ1RÐW[×WgÒWgÐhiÐlmÑhmÑWnÔWnÐrvÒWvÐWvØØ�Q‘�Ø×)Ò)¨!Ñ,Ô,�ð	 ð -˜V sš]˜]ð
 ˜Š}ˆ}Ø—’ð Yñô ð ð 16Ô0IÐ,I�Ô)Ý0°°u¸dÑCÔC�	Ø˜Y¨Ð-Ð-ñ ð Œ\Ô!¥]Ô%8Ò8Ð8Ø$Ð(?Ò?ˆOØÐ3Ò3Ð3Ø×*Ò*Ð6MÈsÐ5SÐYZÐ]^ÑY^Ð*Ñ_Ô_�Ø×)Ò)¨!Ñ,Ô,�ØÐ4Ò4Ð4Ø&+�OØØ×*Ò*Ð6MÈsÐ5SÐYZÐ]^ÑY^Ð*Ñ_Ô_�Ø×)Ò)¨!Ñ,Ô,�ð Ð3Ò3Ð3ð ð .Ø—’ð lñô ð ð 16Ô0IÐ,I�Ô)Ý0°°u¸dÑCÔC�	Ø˜Y¨Ð-Ð-Ø˜$ Ð$Ð$ØŒ\Ô!¥]Ô%=Ò=Ð=Ø�HŠHð mñô ð õ -¨T°5¸$Ñ?Ô?ˆIØ˜ EÐ)Ð)à�$˜ÐÐr3   c                 óh  ‡ ‡— t          ‰¦  «        }d*dt          t          t                   z  dt          dt          fˆ ˆfd„}‰                      ¦   «         }|�rÙ||k    st          ‰¦  «        �rÃ‰j        r€‰ j        j        t          j
        k    r1|dk    s|                     ¦   «         r‰                      d¦  «         �nq‰ j        j        t          j        k    r|dv r‰                      d	¦  «         �n<|d
k    r9‰j        r‰j        d         dk    r!t          ‰¦  «         t!          ‰ ‰|¦  «        }Œßt          ‰¦  «        r(|dk    r"t#          ‰¦  «         t!          ‰ ‰|¦  «        }�Œ‰j        s]‰ j        j        t          j        k    rû|dk    rõ‰                      d¦  «        dk    rÜt)          ‰ ‰                      d¬¦  «        ¦  «        r¸|t,          v r¯‰j        r‰j        d         dk    r—t/          ‰ d¦  «        }|�…‰                      d¦  «         d‰_        ‰j                             ¦   «          t5          ‰‰ j        ‰ j        ‰ j        |z   …         ¦  «         ‰ xj        |z  c_        ‰                      ¦   «         }�Œ2‰ j        s¤‰ j        j        t          j        k    rŠ|dk    r„‰j        s}‰j        sv‰j        rdnt?          ‰ |¦  «        }|dk    r‰                      d¦  «         �n?|dk    rd‰_        |dk    ‰_        ‰                      d¦  «         t!          ‰ ‰|¦  «        }�ŒÝtA          |‰j        ‰j        ¦  «        \  ‰_        }|rt!          ‰ ‰|¦  «        }�Œ‰ j        �sÙ‰ j        j        t          j        k    �r¾|dk    �r·‰j        r‰j        d         |k    �rž‰j!        rt!          ‰ ‰|¦  «        }�Œrd}‰  "                    ¦   «          ‰                      d¦  «        dk    rd}tG          ‰ ‰|d¬¦  «        }	‰                      |	¦  «        }
|
r¨|	dz  }	‰                      |	¬¦  «        }	‰                      |	¦  «        }
|
r|
dv rd}n×‰  $                    ‰j%        |	¬¦  «        }	‰                      |	¦  «        }
|
sd}n¡‰                      |	dz   ¬¦  «        }	‰                      |	¦  «        }
|
r|
dk    rd}nh‰  $                    dd¬¦  «        }	‰                      |	¦  «        }
|
r�n7‰                      d¬¦  «        }	‰  $                    d|	¬¦  «        }||	z
  dk    rd}|r‰                      d¦  «         �næ‰ j        sb|dk    r\t          j        ‰ j        j        v rD‰j        r‰j        d         |k    r,‰  $                    |¦  «        }	‰                      |	¦  «        s�n}‰ j        j        t          j        k    rØ|dk    rÒ‰                      d¬¦  «        }	‰                      |	¦  «        }
|
d k    rˆ‰                      |	dz   ¦  «        d k    rl‰                      |	d!z   ¦  «        d k    rPtM          ‰ ‰|	¦  «        r(‰                      d"¦  «         t!          ‰ ‰|¦  «        }�Œ!‰                      d#¦  «         �n¤|
s‰                      d$¦  «         �n‹|€J ‚t5          ‰|¦  «         ‰ xj        dz  c_        ‰                      ¦   «         }|€D‰ j        r;‰j        r4‰j        d         dk    r#‰j        d d…         ‰_        tO          ‰¦  «         �n‰j        r)‰j        d         dk    rtQ          ‰ ‰|¦  «        \  }}|r�Œÿ|dk    rí‰j        sæ‰ j        j        t          j
        k    rÌ‰  $                    ‰j%        d¬¦  «        }	‰                      |	¦  «        }
|
rƒ|	dz  }	‰  $                    ||	¬¦  «        }	‰                      |	¦  «        }
|
rO|	dz  }	‰                      |	¬¦  «        }	‰                      |	¦  «        }|dv r‰                      d%|› d&�¦  «         �nn‰                      d'¦  «         nêt          ‰¦  «        r(|d(k    r"t#          ‰¦  «         t!          ‰ ‰|¦  «        }�Œ)||k    rV‰ j        j        t          j        k    r<tS          ‰ ‰¦  «        r,‰                      d)¦  «         |€J ‚t!          ‰ ‰|¦  «        }�Œ…||k    r8‰j        r1‰j        d         dk    r |€J ‚tU          ‰ ‰|¦  «        \  }}}|rn|r�ŒÃ|r||k    �°³t          ‰¦  «        �°Ã|S )+Nr   rx   rq   r6   c                 ó(   •— t          ‰‰| |¦  «        S r@   )r‚   )rx   rq   rG   r5   s     €€r4   Úcached_skip_to_characterz3_scan_string_body.<locals>.cached_skip_to_character™  s   ø€ Ý(¨¨u°iÀÑEÔEÐEr3   rL   zdWhile parsing a string missing the left delimiter in object key context, we found a :, stopping hererî   zdWhile parsing a string missing the left delimiter in array context, we found a ] or ,, stopping herer«   r=   rI   rˆ   r   r   rp   z{While parsing a string in object value context, we found a balanced inline container that belongs to the string, keeping itFrM   ÚstringÚmemberzŽWhile parsing a string missing the right delimiter in object value context, we found a comma that starts the next object member. Stopping hereÚstring_no_future_delimiterTÚ	containerzgWhile parsing a string in object value context, we found a comma that belongs to the string, keeping itr   r�   rŽ   z¨While parsing a string missing the left delimiter in object value context, we found a , or } and we couldn't determine that a right delimiter was present. Stopping herer   rŒ   rŸ   zsWhile parsing a string in object value context, we found a literal fenced snippet after }, keeping it in the stringzuWhile parsing a string in object value context, we found a } that closes the object before code fences, stopping herezbWhile parsing a string in object value context, we found a } that closes the object, stopping herezUWhile parsing a string missing the right delimiter in object key context, we found a z stopping herezeWhile parsing a string missing the right delimiter in object key context, we found a :, stopping herer   zXWhile parsing a string, we found a bare quote inside a regex character class, keeping it©r   )+r:   r-   r.   r1   rN   rB   r   rU   rV   r   rW   rT   r“   rY   r   rD   rf   rF   r!   rX   rÎ   r–   rº   r»   r#   Úclearre   rP   rO   Ústream_stabler$   r   r	   r&   Úskip_whitespacesr‚   rs   r   rÅ   rw   rµ   ru   ró   )rG   r5   rÁ   rö   r^   rÀ   Úcomma_classificationÚkeep_inline_container_charÚrstring_delimiter_missingr›   rœ   ÚjÚhandled_escapeÚchÚhandled_delimiterÚshould_breaks   ``              r4   Ú_scan_string_bodyr  “  sþ
  øø€ õ 7°uÑ=Ô=ÐðFð F­Cµ$µs´)©Oð FÅ#ð FÍcð Fð Fð Fð Fð Fð Fð Fð ×ÒÑÔ€DØ
ñ P�DÐ3Ò3Ð3Õ7OÐPUÑ7VÔ7VÑ3ØÔð 
	ØŒ|Ô#¥}Ô'?Ò?Ð?ÀTÈSÂ[À[ÐTX×T`ÒT`ÑTbÔTbÀ[Ø—’Øzñô ð ñ ØŒ|Ô#¥}Ô':Ò:Ð:¸tÀzÐ?QÐ?QØ—’Øzñô ð ñ Ø�5Š=ˆ= %Ô"2ˆ=°eÔ6FÀrÔ6JÈdÒ6RÐ6RÝ& uÑ-Ô-Ð-Ý'¨¨e°TÑ:Ô:ˆDØÝ# EÑ*Ô*ð 	¨t°uª}¨}Ý% eÑ,Ô,Ð,Ý'¨¨e°TÑ:Ô:ˆDÙð Ô.ð	ð ”LÔ(­MÔ,FÒFÐFØ š˜Ø×(Ò(¨Ñ,Ô,°Ò4Ð4Ý6°t¸T×=TÒ=TÐYZÐ=TÑ=[Ô=[Ñ\Ô\ð 5ð Õ0Ð0Ð0ØÔ%ð 1Ø).Ô)9¸"Ô)=ÀÒ)EÐ)Eå 6°t¸QÑ ?Ô ?ÐØ Ð,Ø—’ð Rñô ð ð 27�Ô.ØÔ,×2Ò2Ñ4Ô4Ð4Ý& u¨d¬m¸D¼JÈÌÐVgÑIgÐ<gÔ.hÑiÔiÐiØ�
”
Ð/Ñ/�
”
Ø×'Ò'Ñ)Ô)�ÙàÔ"ð	à”Ô$­Ô(BÒBÐBØ˜’�ØÔ2ð àÔ0ð ð Ô=ð��å0ØØ,ñô ð !ð $ xÒ/Ð/Ø—’ð eñô ð ñ Ø#Ð'CÒCÐCØ=A�Ô:Ø-AÀ[Ò-PˆEÔ*Ø�HŠHØyñô ð õ (¨¨e°TÑ:Ô:ˆDÙÝEbØØÔ*ØÔ(ñF
ô F
ÑBˆÔ&Ð(Bð
 &ð 	Ý'¨¨e°TÑ:Ô:ˆDÙàÔ"ñ,	à”Ô$­Ô(BÒBÑBØ˜’‘ØÔ%ð Ø).Ô)9¸"Ô)=ÐAXÒ)XÑ)XàÔ:ð Ý+¨D°%¸Ñ>Ô>�ÙØ(,Ð%Ø×!Ò!Ñ#Ô#Ð#Ø×Ò Ñ"Ô" dÒ*Ð*Ø,1Ð)Ý)¨$°Ð7NÐTUÐVÑVÔVˆAØ×%Ò% aÑ(Ô(ˆFØð 6Ø�Q‘�Ø×+Ò+°Ð+Ñ2Ô2�Ø×)Ò)¨!Ñ,Ô,�Øð > ¨:Ð!5Ð!5Ø05Ð-Ð-à×.Ò.¸Ô9PÐVWÐ.ÑXÔX�AØ!×-Ò-¨aÑ0Ô0�FØ!ð >Ø49Ð1Ð1à ×3Ò3¸¸A¹Ð3Ñ>Ô>˜Ø!%×!1Ò!1°!Ñ!4Ô!4˜Ø!ð > f°¢m mØ8=Ð5øà×*Ò*°S¸aÐ*Ñ@Ô@�Ø×)Ò)¨!Ñ,Ô,�Øð ÙØ×+Ò+°Ð+Ñ2Ô2�Ø×*Ò*°S¸aÐ*Ñ@Ô@�Ø�q‘5˜1’9�9Ø05Ð-Ø(ð Ø—’ð ñô ð ñ àÔ"ð	à˜’�ÝÔ# t¤|Ô';Ð;Ð;ØÔ%ð <Ø).Ô)9¸"Ô)=ÐAXÒ)XÐ)Xà×&Ò&Ð'>Ñ?Ô?ˆAØ×#Ò# AÑ&Ô&ð ÙØŒ<Ô¥=Ô#=Ò=Ð=À$È#Â+À+Ø×'Ò'¨AÐ'Ñ.Ô.ˆAØ×%Ò% aÑ(Ô(ˆFØ˜Š}ˆ} ×!1Ò!1°!°a±%Ñ!8Ô!8¸CÒ!?Ð!?ÀD×DTÒDTÐUVÐYZÑUZÑD[ÔD[Ð_bÒDbÐDbÝ=¸dÀEÈ1ÑMÔMð Ø—H’Hð Nñô ð õ 0°°e¸TÑBÔB�DÙØ—’ð Lñô ð ñ Øð Ø—’Øxñô ð ñ ØÐÐÐÝ˜u dÑ+Ô+Ð+Øˆ
Œ
�a‰ˆ
Œ
Ø×ÒÑ!Ô!ˆØˆ<ØÔ!ð 9 eÔ&6ð 9¸5Ô;KÈBÔ;OÐSWÒ;WÐ;WØ#(Ô#3°C°R°CÔ#8�Ô Ý1°%Ñ8Ô8Ð8ÙØÔð 	 Ô 0°Ô 4¸Ò <Ð <Ý#=¸dÀEÈ4Ñ#PÔ#PÑ ˆN˜DØð ÙØ�3Š;ˆ;˜uÔ3ˆ;¸¼Ô8LÕP]ÔPhÒ8hÐ8hØ×&Ò&°Ô1HÈaÐ&ÑPÔPˆAØ×%Ò% aÑ(Ô(ˆFØð Ø�Q‘�Ø×*Ò*Ð5LÐRSÐ*ÑTÔT�Ø×)Ò)¨!Ñ,Ô,�Øð Ø˜‘F�AØ×/Ò/°AÐ/Ñ6Ô6�AØ×)Ò)¨!Ñ,Ô,�BØ˜ZÐ'Ð'ØŸšð GÐtvð  Gð  Gð  Gñô ð ñ øà—’Ø{ñô ð ð Ý# EÑ*Ô*ð 	¨t°sª{¨{Ý% eÑ,Ô,Ð,Ý'¨¨e°TÑ:Ô:ˆDÙàÐ+Ò+Ð+Ø”Ô$­Ô(BÒBÐBÝ7¸¸eÑDÔDð Cð �HŠHØjñô ð ð Ð#Ð#Ð#Ý'¨¨e°TÑ:Ô:ˆDÙØÐ*Ò*Ð*¨uÔ/?Ð*ÀEÔDTÐUWÔDXÐ\`ÒD`ÐD`ØÐ#Ð#Ð#Ý4UÐVZÐ\aÐcgÑ4hÔ4hÑ1Ð˜t \Øð ØØ ð Ùða ð P�DÐ3Ò3Ñ3Õ7OÐPUÑ7VÔ7VÑ3ðb €Kr3   c                 óH  — t          |¦  «        }|rv|j        ro| j        j        t          j        k    rU|                     ¦   «         rA|                      d¦  «         |                      ¦   «          |  	                    ¦   «         dvrdS ||k    r;| j
        s3|                      d¦  «         |j                             ¦   «         |_        n| xj        dz  c_        | j
        s=|j        s|j        r/|j        d         dk    r|j                             ¦   «         |_        |j        S )Nz¡While parsing a string, handling an extreme corner case in which the LLM added a comment instead of valid string, invalidate the string and return an empty value)rL   rM   r   z=While parsing a string, we missed the closing quote, ignoringr   r=   rJ   )r:   r   rU   rV   r   rW   rT   r“   rþ   rN   rý   r   ÚrstriprO   )rG   r5   r^   rÁ   s       r4   Ú_finalize_string_resultr
  q  sA  € õ
 7°uÑ=Ô=ÐØð �Ô$ð ¨¬Ô)=ÅÔAYÒ)YÐ)YÐ^b×^jÒ^jÑ^lÔ^lÐ)YØ�Šð pñ	
ô 	
ð 	
ð 	×ÒÑÔÐØ×ÒÑÔ ZÐ/Ð/Ø�2àÐ&Ò&Ð&ØÔ!ð 	9Ø�HŠHØOñô ð ð  %Ô/×6Ò6Ñ8Ô8ˆEÔøàˆ
Œ
�a‰ˆ
Œ
àÔð 5 5Ô#7ð 5¸EÔ<Lð 5ÐQVÔQaÐbdÔQeÐimÒQmÐQmØ Ô+×2Ò2Ñ4Ô4ˆÔàÔÐr3   c                 ó¢   — t          | ¦  «        \  }}|t          urt          d|¦  «        S |€J ‚t          | |¦  «        }t	          | ||¦  «        S )Nr   )r�   r—   r   r  r
  )rG   r5   Údirect_resultr^   s       r4   Úparse_stringr  Ž  s^   € Ý0°Ñ6Ô6Ñ€Eˆ=ØÕ,Ð,Ð,ÝÐ$ mÑ4Ô4Ð4ØÐÐÐå˜T 5Ñ)Ô)€DÝ" 4¨°Ñ5Ô5Ð5r3   r[   c                 óˆ   — t          d|¦  «        D ]0}|                      |¦  «        }|�|                     ¦   «         s dS Œ1dS )Nr   FT)ÚrangerN   rT   )rG   r[   r  r©   s       r4   rð   rð   ˜  sJ   € Ý�1�c‰]Œ]ð ð ˆØ×Ò˜QÑÔˆØˆ= §¢¡¤ˆ=Ø�5�5øØˆ4r3   rû   ):Údataclassesr   r   Útypingr   r   Ú)parse_string_helpers.object_value_contextr   r	   Ú*parse_string_helpers.parse_boolean_or_nullr
   Ú)parse_string_helpers.parse_json_llm_blockr   Úutils.constantsr   r   Úutils.json_contextr   Újson_parserr   Úobjectr—   rÞ   r0   rº   rA   r   r-   r:   r>   r+   rB   rD   rF   rb   rf   re   ru   rw   r.   r1   r‚   r�   rµ   rÅ   rÈ   rÎ   r¼   rÜ   r»   r¹   rç   rÒ   ró   r  r
  r  rð   r2   r3   r4   ú<module>r     sK  ðØ (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à qÐ qÐ qÐ qÐ qÐ qÐ qÐ qØ MÐ MÐ MÐ MÐ MÐ MØ KÐ KÐ KÐ KÐ KÐ KØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø -Ð -Ð -Ð -Ð -Ð -àð (Ø'Ð'Ð'Ð'Ð'Ð'ð �6‘8”8Ð Ø,/°cÀÐ&DÐ&DÐ #Ø ˜5Ð!DÑEÔEÐ ØÐ ð ð3ð 3ð 3ð 3ð 3ñ 3ô 3ñ „ð3ð&Ð$4ð &¸ð &ð &ð &ð &ð'Ð%5ð '¸#ð 'ð 'ð 'ð 'ðHÐ$4ð H¸ð Hð Hð Hð Hð8Ð&6ð 8¸4ð 8ð 8ð 8ð 8ð;Ð%5ð ;¸$ð ;ð ;ð ;ð ;ð/¨,ð /¸3À¹:ð /ð /ð /ð /ðdØ
ðàðð ðð 	ˆ4�Zð	ð ð ð ð5Ð"2ð 5¸Sð 5ÀTð 5ð 5ð 5ð 5ð
8Ø
ð
8àð
8ð 
ð
8ð 
8ð 
8ð 
8ð5Ð-=ð 5À$ð 5ð 5ð 5ð 5ð$ ð	ð Ø
ðàðð �T˜#”Y‰ðð 
ð	ð
 	ðð ð ð ð8V#Ø
ðV#à
Ð˜dÑ" FÐ*Ô+ðV#ð V#ð V#ð V#ðr:Ø
ð:àð:ð ð:ð ˆ4��t‘ÐÔð	:ð :ð :ð :ðzØ
ðàðð ðð 
ð	ð ð ð ð<6¨#ð 6°#ð 6ð 6ð 6ð 6ð,Ø
ð,àð,ð 
ð,ð ,ð ,ð ,ð$oØ
ðoàðoð 
ðoð oð oð oðØ
ðà	ðð 
ðð ð ð ð>Ø
ðà	ðð 	ˆ4�Zðð ð ð ð<#Ø
ð#à	ð#ð 	ð#ð #ð #ð #ðL	;Ø
ð	;àð	;ð 
ð	;ð 	;ð 	;ð 	;ðØ
ðàðð 
ðð ð ð ð,yØ
ðyàðyð ðyð ˆ4��t‘˜TÐ!Ô"ð	yð yð yð yðx[Ø
ð[àð[ð 	ˆ4�Zð[ð [ð [ð [ð|Ø
ðàðð �‰*ðð 	ð	ð ð ð ð:6�|ð 6¨ð 6ð 6ð 6ð 6ð ð °Cð ¸Dð ð ð ð ð ð r3   