o
    it                     @   s6   d dl Z e jd  dk reZeZeZG dd deZ	dS )    N   c                   @   s  e Zd Zdd Zdd Zdd Zdd Zdnd
dZdd Zdd Z	dd Z
dd Zdd Zdd ZdnddZdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Z d>d? Z!d@dA Z"dBdC Z#dDdE Z$dFdG Z%dHdI Z&dJdK Z'dLdM Z(dNdO Z)dPdQ Z*dRdS Z+dTdU Z,dVdW Z-dXdY Z.dZd[ Z/d\d] Z0d^d_ Z1d`da Z2dbdc Z3ddde Z4dfdg Z5dhdi Z6djdk Z7dldm Z8dndo Z9dpdq Z:drds Z;dtdu Z<dvdw Z=dxdy Z>dzd{ Z?d|d} Z@d~d ZAdd ZBdd ZCdd ZDdd ZEdd ZFdd ZGdd ZHdd ZIdd ZJdd ZKdd ZLdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZdd Z[dd Z\dd Z]dd Z^dd Z_dd Z`dd Zadd ZbddÄ Zcddń ZdddǄ ZeddɄ Zfdd˄ Zgdd̈́ Zhddτ Ziddф Zjddӄ ZkddՄ Zlddׄ Zmddل Znddۄ Zodd݄ Zpdd߄ Zqdd Zrdd Zsdd Ztdd Zudd Zvdd Zwdd Zxdd Zydd Zzdd Z{dd Z|dd Z}dd Z~dd Zdd Zdd Zd d Zdd Zdd Zdd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zd	S (o  Parserc                 C   sD   t || _t| j| _|| _d | _d| _d| _d| _g | _	i | _
d S )Nr   F)strmsglenendfnamevalposfailederrpos_scopes_cache)selfr   r    r   G/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/json5/parser.py__init__   s   

zParser.__init__c                 C   s,   |    | jrd |  | jfS | jd | jfS N)	_grammar_r   _err_strr   r	   r
   r   r   r   r   parse   s   zParser.parsec                 C   sD   |   \}}| jt| jkrd}nd| j| j  }d| j|||f S )Nzend of inputz"%s"z %s:%d Unexpected %s at column %d)_err_offsetsr   r   r   r   )r   linenocolnothingr   r   r   r      s   
zParser._err_strc                 C   sD   d}d}t | jD ]}| j| dkr|d7 }d}q	|d7 }q	||fS )N   
)ranger   r   )r   r   r   ir   r   r   r   (   s   
zParser._err_offsetsNc                 C   s"   || _ d| _|d ur|| _d S d S )NF)r	   r   r
   )r   vnewposr   r   r   _succeed3   s
   
zParser._succeedc                 C   s(   d | _ d| _| j| jkr| j| _d S d S )NT)r	   r   r
   r   r   r   r   r   _fail9   s
   zParser._failc                 C   s   |  d | d S r   r"   )r   r!   r   r   r   _rewind?      zParser._rewindc                 C   s"   |  | j s| || j d S d S r   )r   _setr	   )r   rulevarr   r   r   _bindB   s   zParser._bindc                 C   sD   | j }| j}|  | jr| d | d S | | || _|   d S r   )r
   r   r   r"   r%   r#   )r   r(   pr   r   r   r   _notG   s   
zParser._notc                 C   s4   | j }|  | jr| g | d S | | jg d S r   )r
   r   r"   r	   )r   r(   r+   r   r   r   _optR   s
   zParser._optc                 C   s0   g }|  | | j | jrd S | || d S r   )appendr	   r   _star)r   r(   vsr   r   r   _plusZ   s   zParser._plusc                 C   sL   |pg }| j s| j}|  | j r| | n	|| j | j r| | d S r   )r   r
   r%   r.   r	   r"   )r   r(   r0   r+   r   r   r   r/   b   s   
zParser._starc                 C   s    |D ]}|  | j r d S qd S r   )r   )r   rulesr(   r   r   r   _seqn   s   zParser._seqc                 C   sB   | j }|d d D ]}|  | js d S | | q	|d   d S )N)r
   r   r%   )r   r2   r+   r(   r   r   r   _chooset   s   zParser._choosec                 C   s@   | j }|| jk r| j| |kr| || j d  d S |   d S Nr   )r
   r   r   r"   r#   )r   chr+   r   r   r   _ch}   s   z
Parser._chc                 C   s*   |D ]}|  | | jr d S q|| _d S r   )r8   r   r	   )r   sr7   r   r   r   _str   s   

zParser._strc                 C   sb   | j }|| jkr+t|t| j|   krt|kr+n n| | j| | j d  d S |   d S r6   )r
   r   ordr   r"   r#   )r   r   jr+   r   r   r   _range   s   4zParser._rangec                 C   s   | j |i f d S r   )r   r.   )r   namer   r   r   _push   s   zParser._pushc                 C   s   | j  \}}||ksJ d S r   )r   pop)r   r>   actual_name_r   r   r   _pop   s   zParser._popc                 C   s   | j d d | S Nr4   r   r   )r   r)   r   r   r   _get      zParser._getc                 C   s   || j d d |< d S rD   rE   )r   r)   r	   r   r   r   r'         zParser._setc                 C   s   dd l }|||kS )Nr   )unicodedatacategory)r   r)   catrI   r   r   r   
_is_unicat   s   zParser._is_unicatc                 C   s
   | |S r   )join)r   r9   r0   r   r   r   _join   s   
zParser._joinc                 C   s   t t|ddS )N   )base)chrint)r   r9   r   r   r   _xtou   r&   zParser._xtouc              	      sB     d   j fdd j j fddg  d d S )Ngrammarc                            jdS Nr    r*   _value_r   r   r   r   <lambda>       z"Parser._grammar_.<locals>.<lambda>c                            dS rV   r"   rF   r   r   r   r   rY          )r?   r3   _sp__end_rC   r   r   r   r   r      s
   
zParser._grammar_c                 C   s   |  | j d S r   )r/   _ws_r   r   r   r   r^      r&   zParser._sp_c                 C   s2   |  | j| j| j| j| j| j| j| j| j	g	 d S r   )
r5   _ws__c0__eol_	_comment__ws__c3__ws__c4__ws__c5__ws__c6__ws__c7__ws__c8_r   r   r   r   r`      s   
zParser._ws_c                 C      |  d d S )N r8   r   r   r   r   ra         zParser._ws__c0_c                 C   rj   N	rl   r   r   r   r   rd      rm   zParser._ws__c3_c                 C   rj   Nrl   r   r   r   r   re      rm   zParser._ws__c4_c                 C   rj   Nrl   r   r   r   r   rf      rm   zParser._ws__c5_c                 C   rj   )N    rl   r   r   r   r   rg      rm   zParser._ws__c6_c                 C   rj   )Nu   ﻿rl   r   r   r   r   rh      rm   zParser._ws__c7_c                    :     d   j fdd fddg  d d S )Nws__c8c                      rU   Nxr*   
_anything_r   r   r   r   rY      rZ   z!Parser._ws__c8_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY      r]   )r?   r3   _ws__c8__s0_rC   r   r   r   r   ri      
   

zParser._ws__c8_c                          fdd d S )Nc                            jS r   )r,   _ws__c8__s0_n_n_r   r   r   r   rY          z%Parser._ws__c8__s0_.<locals>.<lambda>r,   r   r   r   r   r{      rH   zParser._ws__c8__s0_c                    s    fdd  d S )Nc                            jgS r   )r5   _ws__c8__s0_n_n_g__c0_r   r   r   r   rY      rZ   z)Parser._ws__c8__s0_n_n_.<locals>.<lambda>r   r   r   r   r   r      rG   zParser._ws__c8__s0_n_n_c                          fdd jg d S )Nc                      rU   rw   ry   r   r   r   r   rY      rZ   z/Parser._ws__c8__s0_n_n_g__c0_.<locals>.<lambda>)r3   _ws__c8__s0_n_n_g__c0__s1_r   r   r   r   r      s   
zParser._ws__c8__s0_n_n_g__c0_c                 C   0   |  | dd}|r| | d S |   d S )Nrx   ZsrL   rF   r"   r#   r   r    r   r   r   r         z!Parser._ws__c8__s0_n_n_g__c0__s1_c                 C   s"   |  | j| j| j| j| jg d S r   )r5   	_eol__c0_	_eol__c1_	_eol__c2_	_eol__c3_	_eol__c4_r   r   r   r   rb      s   
zParser._eol_c                    "      fdd fddg d S )Nc                      
     dS Nrl   r   r   r   r   rY         
 z"Parser._eol__c0_.<locals>.<lambda>c                      r   Nr   rl   r   r   r   r   rY      r   r3   r   r   r   r   r         "zParser._eol__c0_c                 C   rj   r   rl   r   r   r   r   r      rm   zParser._eol__c1_c                 C   rj   r   rl   r   r   r   r   r      rm   zParser._eol__c2_c                 C   rj   )Nu    rl   r   r   r   r   r      rm   zParser._eol__c3_c                 C   rj   )Nu    rl   r   r   r   r   r      rm   zParser._eol__c4_c                 C      |  | j| jg d S r   )r5   _comment__c0__comment__c1_r   r   r   r   rc      rH   zParser._comment_c                    r   )Nc                      r   )Nz//r:   r   r   r   r   rY      r   z&Parser._comment__c0_.<locals>.<lambda>c                      r~   r   )r/   _comment__c0__s1_p_r   r   r   r   rY      r   r   r   r   r   r   r      s   

zParser._comment__c0_c                    r   )Nc                      r~   r   r,   rb   r   r   r   r   rY      r   z,Parser._comment__c0__s1_p_.<locals>.<lambda>)r3   rz   r   r   r   r   r         zParser._comment__c0__s1_p_c                    s&      fdd j fddg d S )Nc                      r   )Nz/*r   r   r   r   r   rY      r   z&Parser._comment__c1_.<locals>.<lambda>c                      r   Nz*/r   r   r   r   r   rY      r   )r3   _comment__c1__s1_r   r   r   r   r      s   

zParser._comment__c1_c                    r}   )Nc                      s      j jgS r   )r3   _comment__c1__s1_p__s0_rz   r   r   r   r   rY     s    z*Parser._comment__c1__s1_.<locals>.<lambda>)r/   r   r   r   r   r     rH   zParser._comment__c1__s1_c                    r}   )Nc                      r   r   r   r   r   r   r   rY     r   z0Parser._comment__c1__s1_p__s0_.<locals>.<lambda>r   r   r   r   r   r     rH   zParser._comment__c1__s1_p__s0_c              	   C   s*   |  | j| j| j| j| j| j| jg d S r   )r5   _value__c0__value__c1__value__c2__value__c3__value__c4__value__c5__value__c6_r   r   r   r   rX     s   
zParser._value_c                    r   )Nc                      r   )Nnullr   r   r   r   r   rY     r   z$Parser._value__c0_.<locals>.<lambda>c                      r   )NNoner$   r   r   r   r   rY     r   r   r   r   r   r   r     r   zParser._value__c0_c                    r   )Nc                      r   )Ntruer   r   r   r   r   rY     r   z$Parser._value__c1_.<locals>.<lambda>c                      r   )NTruer$   r   r   r   r   rY     r   r   r   r   r   r   r     r   zParser._value__c1_c                    r   )Nc                      r   )Nfalser   r   r   r   r   rY     r   z$Parser._value__c2_.<locals>.<lambda>c                      r   )NFalser$   r   r   r   r   rY     r   r   r   r   r   r   r     r   zParser._value__c2_c                    6     d   fdd fddg  d d S )N	value__c3c                      rU   rV   )r*   _object_r   r   r   r   rY     rZ   z$Parser._value__c3_.<locals>.<lambda>c                           d dgS )Nobjectr    r\   r   r   r   r   rY         r?   r3   rC   r   r   r   r   r     
   

zParser._value__c3_c                    r   )N	value__c4c                      rU   rV   )r*   _array_r   r   r   r   rY     rZ   z$Parser._value__c4_.<locals>.<lambda>c                      r   )Narrayr    r\   r   r   r   r   rY     r   r   r   r   r   r   r     r   zParser._value__c4_c                    r   )N	value__c5c                      rU   rV   r*   _string_r   r   r   r   rY   #  rZ   z$Parser._value__c5_.<locals>.<lambda>c                      r   )Nstringr    r\   r   r   r   r   rY   $  r   r   r   r   r   r   r   !  r   zParser._value__c5_c                    r   )N	value__c6c                      rU   rV   r*   _num_literal_r   r   r   r   rY   )  rZ   z$Parser._value__c6_.<locals>.<lambda>c                      r   )Nnumberr    r\   r   r   r   r   rY   *  r   r   r   r   r   r   r   '  r   zParser._value__c6_c                 C   r   r   )r5   _object__c0__object__c1_r   r   r   r   r   -  rH   zParser._object_c              
      R     d   fdd j fdd j fdd fddg  d d S )N
object__c0c                      r   N{rl   r   r   r   r   rY   2  r   z%Parser._object__c0_.<locals>.<lambda>c                      rU   rV   )r*   _member_list_r   r   r   r   rY   3  rZ   c                      r   N}rl   r   r   r   r   rY   4  r   c                      r[   rV   r\   r   r   r   r   rY   4  r]   r?   r3   r^   rC   r   r   r   r   r   0     
zParser._object__c0_c                    0      fdd j fdd fddg d S )Nc                      r   r   rl   r   r   r   r   rY   8  r   z%Parser._object__c1_.<locals>.<lambda>c                      r   r   rl   r   r   r   r   rY   8  r   c                      
     g S r   r$   r   r   r   r   rY   9  r   r3   r^   r   r   r   r   r   7     

zParser._object__c1_c                 C   r   r   )r5   _array__c0__array__c1_r   r   r   r   r   ;  rH   zParser._array_c              
      r   )N	array__c0c                      r   N[rl   r   r   r   r   rY   @  r   z$Parser._array__c0_.<locals>.<lambda>c                      rU   rV   )r*   _element_list_r   r   r   r   rY   A  rZ   c                      r   N]rl   r   r   r   r   rY   B  r   c                      r[   rV   r\   r   r   r   r   rY   B  r]   r   r   r   r   r   r   >  r   zParser._array__c0_c                    r   )Nc                      r   r   rl   r   r   r   r   rY   F  r   z$Parser._array__c1_.<locals>.<lambda>c                      r   r   rl   r   r   r   r   rY   F  r   c                      r   r   r$   r   r   r   r   rY   G  r   r   r   r   r   r   r   E  r   zParser._array__c1_c                 C   r   r   )r5   _string__c0__string__c1_r   r   r   r   r   I  rH   zParser._string_c                    8     d   j j j fddg  d d S )N
string__c0c                            d dS N csr"   rN   rF   r   r   r   r   rY   O      z%Parser._string__c0_.<locals>.<lambda>)r?   r3   _squote__string__c0__s1_rC   r   r   r   r   r   L  
   

zParser._string__c0_c                          fddd d S )Nc                      r~   r   )r/   _sqchar_r   r   r   r   rY   S  r   z)Parser._string__c0__s1_.<locals>.<lambda>r   r*   r   r   r   r   r   R     zParser._string__c0__s1_c                    r   )N
string__c1c                      r   r   r   r   r   r   r   rY   X  r   z%Parser._string__c1_.<locals>.<lambda>)r?   r3   _dquote__string__c1__s1_rC   r   r   r   r   r   U  r   zParser._string__c1_c                    r   )Nc                      r~   r   )r/   _dqchar_r   r   r   r   rY   \  r   z)Parser._string__c1__s1_.<locals>.<lambda>r   r   r   r   r   r   r   [  r   zParser._string__c1__s1_c                 C      |  | j| j| jg d S r   )r5   _sqchar__c0__sqchar__c1__sqchar__c2_r   r   r   r   r   ^     zParser._sqchar_c                    ru   )N
sqchar__c0c                      rU   Ncr*   
_esc_char_r   r   r   r   rY   c  rZ   z%Parser._sqchar__c0_.<locals>.<lambda>c                      r[   r   r\   r   r   r   r   rY   d  r]   r?   r3   _bslash_rC   r   r   r   r   r   a  r|   zParser._sqchar__c0_c                           j j fddg d S )Nc                      r   Nr   r$   r   r   r   r   rY   h  r   z%Parser._sqchar__c1_.<locals>.<lambda>r3   r   rb   r   r   r   r   r   g      zParser._sqchar__c1_c              	      T     d   fdd fdd fdd fdd fddg  d d S )N
sqchar__c2c                      r~   r   r,   r   r   r   r   r   rY   l  r   z%Parser._sqchar__c2_.<locals>.<lambda>c                      r~   r   )r,   r   r   r   r   r   rY   m  r   c                      r~   r   r   r   r   r   r   rY   n  r   c                      rU   r   ry   r   r   r   r   rY   o  rZ   c                      r[   r   r\   r   r   r   r   rY   p  r]   r   r   r   r   r   r   j     




zParser._sqchar__c2_c                 C   r   r   )r5   _dqchar__c0__dqchar__c1__dqchar__c2_r   r   r   r   r   s  r   zParser._dqchar_c                    ru   )N
dqchar__c0c                      rU   r   r   r   r   r   r   rY   x  rZ   z%Parser._dqchar__c0_.<locals>.<lambda>c                      r[   r   r\   r   r   r   r   rY   y  r]   r   r   r   r   r   r  v  r|   zParser._dqchar__c0_c                    r   )Nc                      r   r   r$   r   r   r   r   rY   }  r   z%Parser._dqchar__c1_.<locals>.<lambda>r   r   r   r   r   r  |  r   zParser._dqchar__c1_c              	      r   )N
dqchar__c2c                      r~   r   r   r   r   r   r   rY     r   z%Parser._dqchar__c2_.<locals>.<lambda>c                      r~   r   )r,   r   r   r   r   r   rY     r   c                      r~   r   r   r   r   r   r   rY     r   c                      rU   r   ry   r   r   r   r   rY     rZ   c                      r[   r   r\   r   r   r   r   rY     r]   r   r   r   r   r   r    r  zParser._dqchar__c2_c                 C   rj   N\rl   r   r   r   r   r     rm   zParser._bslash_c                 C   rj   N'rl   r   r   r   r   r     rm   zParser._squote_c                 C   rj   N"rl   r   r   r   r   r     rm   zParser._dquote_c                 C   sB   |  | j| j| j| j| j| j| j| j| j	| j
| j| j| jg d S r   )r5   _esc_char__c0__esc_char__c1__esc_char__c2__esc_char__c3__esc_char__c4__esc_char__c5__esc_char__c6__esc_char__c7__esc_char__c8__esc_char__c9__esc_char__c10__esc_char__c11__esc_char__c12_r   r   r   r   r     s   
zParser._esc_char_c                    r   )Nc                      r   Nbrl   r   r   r   r   rY     r   z'Parser._esc_char__c0_.<locals>.<lambda>c                      r   )Nr$   r   r   r   r   rY     r   r   r   r   r   r   r    r   zParser._esc_char__c0_c                    r   )Nc                      r   Nfrl   r   r   r   r   rY     r   z'Parser._esc_char__c1_.<locals>.<lambda>c                      r   rr   r$   r   r   r   r   rY     r   r   r   r   r   r   r    r   zParser._esc_char__c1_c                    ,      fdd fdd fddg d S )Nc                      r   N0rl   r   r   r   r   rY     r   z(Parser._esc_char__c10_.<locals>.<lambda>c                      r~   r   r,   _digit_r   r   r   r   rY     r   c                      r   )N r$   r   r   r   r   rY     r   r   r   r   r   r   r       

zParser._esc_char__c10_c                    r   )Nesc_char__c11c                      rU   r   )r*   	_hex_esc_r   r   r   r   rY     rZ   z(Parser._esc_char__c11_.<locals>.<lambda>c                      r[   r   r\   r   r   r   r   rY     r]   r   r   r   r   r   r    r   zParser._esc_char__c11_c                    r   )Nesc_char__c12c                      rU   r   )r*   _unicode_esc_r   r   r   r   rY     rZ   z(Parser._esc_char__c12_.<locals>.<lambda>c                      r[   r   r\   r   r   r   r   rY     r]   r   r   r   r   r   r    r   zParser._esc_char__c12_c                    r   )Nc                      r   Nnrl   r   r   r   r   rY     r   z'Parser._esc_char__c2_.<locals>.<lambda>c                      r   r   r$   r   r   r   r   rY     r   r   r   r   r   r   r    r   zParser._esc_char__c2_c                    r   )Nc                      r   )Nrrl   r   r   r   r   rY     r   z'Parser._esc_char__c3_.<locals>.<lambda>c                      r   r   r$   r   r   r   r   rY     r   r   r   r   r   r   r    r   zParser._esc_char__c3_c                    r   )Nc                      r   )Ntrl   r   r   r   r   rY     r   z'Parser._esc_char__c4_.<locals>.<lambda>c                      r   rn   r$   r   r   r   r   rY     r   r   r   r   r   r   r    r   zParser._esc_char__c4_c                    r   )Nc                      r   rV   rl   r   r   r   r   rY     r   z'Parser._esc_char__c5_.<locals>.<lambda>c                      r   rp   r$   r   r   r   r   rY     r   r   r   r   r   r   r    r   zParser._esc_char__c5_c                          j fddg d S )Nc                      r   r	  r$   r   r   r   r   rY     r   z'Parser._esc_char__c6_.<locals>.<lambda>)r3   r   r   r   r   r   r    r   zParser._esc_char__c6_c                    r.  )Nc                      r   r  r$   r   r   r   r   rY     r   z'Parser._esc_char__c7_.<locals>.<lambda>)r3   r   r   r   r   r   r    r   zParser._esc_char__c7_c                    r.  )Nc                      r   r  r$   r   r   r   r   rY     r   z'Parser._esc_char__c8_.<locals>.<lambda>)r3   r   r   r   r   r   r    r   zParser._esc_char__c8_c                    ru   )Nesc_char__c9c                      rU   r   ry   r   r   r   r   rY     rZ   z'Parser._esc_char__c9_.<locals>.<lambda>c                      r[   r   r\   r   r   r   r   rY     r]   )r?   r3   _esc_char__c9__s0_rC   r   r   r   r   r    s   


zParser._esc_char__c9_c                    r}   )Nc                      s      S r   )_esc_char__c9__s0_n_g_r   r   r   r   rY     s    z+Parser._esc_char__c9__s0_.<locals>.<lambda>r   r   r   r   r   r0    rH   zParser._esc_char__c9__s0_c                    s*      j j fdd fddg d S )Nc                      r   r   )r3   r#  r   r   r   r   rY     rZ   z/Parser._esc_char__c9__s0_n_g_.<locals>.<lambda>c                      r   r   )r3   rb   r   r   r   r   rY     rZ   )r5   _esc_char__c9__s0_n_g__c0__esc_char__c9__s0_n_g__c1_r   r   r   r   r1    s
   


zParser._esc_char__c9__s0_n_g_c                          fddg d S )Nc                      r   rw   rl   r   r   r   r   rY     r   z3Parser._esc_char__c9__s0_n_g__c0_.<locals>.<lambda>r   r   r   r   r   r2    r   z!Parser._esc_char__c9__s0_n_g__c0_c                    r4  )Nc                      r   Nurl   r   r   r   r   rY     r   z3Parser._esc_char__c9__s0_n_g__c1_.<locals>.<lambda>r   r   r   r   r   r3    r   z!Parser._esc_char__c9__s0_n_g__c1_c                    J     d   fdd fdd fdd fddg  d d S )Nhex_escc                      r   rw   rl   r   r   r   r   rY     r   z"Parser._hex_esc_.<locals>.<lambda>c                      rU   )Nh1r*   _hex_r   r   r   r   rY     rZ   c                      rU   )Nh2r:  r   r   r   r   rY     rZ   c                      s        d d S )Nr9  r<  r"   rS   rF   r   r   r   r   rY     s     r   r   r   r   r   r'    s   


zParser._hex_esc_c              
      s^     d   fdd fdd fdd fdd fdd fddg  d d S )	Nunicode_escc                      r   r5  rl   r   r   r   r   rY     r   z&Parser._unicode_esc_.<locals>.<lambda>c                      rU   )Nar:  r   r   r   r   rY     rZ   c                      rU   r  r:  r   r   r   r   rY     rZ   c                      rU   r   r:  r   r   r   r   rY     rZ   c                      rU   Ndr:  r   r   r   r   rY     rZ   c                      s4       d d  d  d S )Nr?  r  r   rA  r=  r   r   r   r   rY     s   4 r   r   r   r   r   r)    s   




zParser._unicode_esc_c              	      B     d   fdd j j j fddg  d d S )Nelement_listc                      rU   rV   rW   r   r   r   r   rY     rZ   z'Parser._element_list_.<locals>.<lambda>c                            dg d S )Nr    r0   r\   r   r   r   r   rY         )r?   r3   _element_list__s1_r^   _element_list__s3_rC   r   r   r   r   r        

zParser._element_list_c                    r   )Nc                      r~   r   )r/   _element_list__s1_l_p_r   r   r   r   rY     r   z+Parser._element_list__s1_.<locals>.<lambda>r0   r   r   r   r   r   rF    r   zParser._element_list__s1_c                    $      j fdd j jg d S )Nc                      r   N,rl   r   r   r   r   rY     r   z/Parser._element_list__s1_l_p_.<locals>.<lambda>)r3   r^   rX   r   r   r   r   rI       $zParser._element_list__s1_l_p_c                    r}   )Nc                      r   rK  rl   r   r   r   r   rY     r   z+Parser._element_list__s3_.<locals>.<lambda>r-   r   r   r   r   rG    rH   zParser._element_list__s3_c              	      rB  )Nmember_listc                      rU   )Nm)r*   _member_r   r   r   r   rY     rZ   z&Parser._member_list_.<locals>.<lambda>c                      rD  )NrP  msr\   r   r   r   r   rY     rE  )r?   r3   _member_list__s1_r^   _member_list__s3_rC   r   r   r   r   r     rH  zParser._member_list_c                    r   )Nc                      r~   r   )r/   _member_list__s1_l_p_r   r   r   r   rY     r   z*Parser._member_list__s1_.<locals>.<lambda>rR  r   r   r   r   r   rS    r   zParser._member_list__s1_c                    rJ  )Nc                      r   rK  rl   r   r   r   r   rY     r   z.Parser._member_list__s1_l_p_.<locals>.<lambda>)r3   r^   rQ  r   r   r   r   rU    rM  zParser._member_list__s1_l_p_c                    r}   )Nc                      r   rK  rl   r   r   r   r   rY   	  r   z*Parser._member_list__s3_.<locals>.<lambda>rN  r   r   r   r   rT    rH   zParser._member_list__s3_c                 C   r   r   )r5   _member__c0__member__c1_r   r   r   r   rQ    rH   zParser._member_c              
      r   )N
member__c0c                      rU   Nkr   r   r   r   r   rY     rZ   z%Parser._member__c0_.<locals>.<lambda>c                      r   N:rl   r   r   r   r   rY     r   c                      rU   rV   rW   r   r   r   r   rY     rZ   c                            d dgS NrZ  r    r\   r   r   r   r   rY         r   r   r   r   r   rV       


zParser._member__c0_c              
      r   )N
member__c1c                      rU   rY  )r*   _ident_r   r   r   r   rY     rZ   z%Parser._member__c1_.<locals>.<lambda>c                      r   r[  rl   r   r   r   r   rY     r   c                      rU   rV   rW   r   r   r   r   rY     rZ   c                      r]  r^  r\   r   r   r   r   rY     r_  r   r   r   r   r   rW    r`  zParser._member__c1_c                    :     d   fdd j fddg  d d S )Nidentc                      rU   )Nhd)r*   
_id_start_r   r   r   r   rY      rZ   z Parser._ident_.<locals>.<lambda>c                	      s$      d dg d S )Nr   re  tlr   r   r   r   r   rY   !     $ )r?   r3   _ident__s1_rC   r   r   r   r   rb    r|   zParser._ident_c                    r   )Nc                      r~   r   )r/   _id_continue_r   r   r   r   rY   %  r   z$Parser._ident__s1_.<locals>.<lambda>rg  r   r   r   r   r   ri  $  r   zParser._ident__s1_c                 C   r   r   )r5   _ascii_id_start__other_id_start__id_start__c2_r   r   r   r   rf  '  s   
zParser._id_start_c                 C   r   r   r3   r   r)  r   r   r   r   rm  +  rH   zParser._id_start__c2_c                 C   s   |  | j| j| j| jg d S r   )r5   _ascii_id_start__c0__ascii_id_start__c1__ascii_id_start__c2__ascii_id_start__c3_r   r   r   r   rk  .  s   
zParser._ascii_id_start_c                 C      |  dd d S )Nr?  zr=   r   r   r   r   ro  2  r&   zParser._ascii_id_start__c0_c                 C   rs  )NAZru  r   r   r   r   rp  5  r&   zParser._ascii_id_start__c1_c                 C   rj   )N$rl   r   r   r   r   rq  8  rm   zParser._ascii_id_start__c2_c                 C   rj   )NrB   rl   r   r   r   r   rr  ;  rm   zParser._ascii_id_start__c3_c                 C   &   |  | j| j| j| j| j| jg d S r   )r5   _other_id_start__c0__other_id_start__c1__other_id_start__c2__other_id_start__c3__other_id_start__c4__other_id_start__c5_r   r   r   r   rl  >     
zParser._other_id_start_c                    rc  )Nother_id_start__c0c                      rU   rw   ry   r   r   r   r   rY   E  rZ   z-Parser._other_id_start__c0_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY   G  r]   )r?   r3   _other_id_start__c0__s1_rC   r   r   r   r   rz  C     

zParser._other_id_start__c0_c                 C   r   )Nrx   Llr   r   r   r   r   r  J  r   zParser._other_id_start__c0__s1_c                    rc  )Nother_id_start__c1c                      rU   rw   ry   r   r   r   r   rY   S  rZ   z-Parser._other_id_start__c1_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY   U  r]   )r?   r3   _other_id_start__c1__s1_rC   r   r   r   r   r{  Q  r  zParser._other_id_start__c1_c                 C   r   )Nrx   Lmr   r   r   r   r   r  X  r   zParser._other_id_start__c1__s1_c                    rc  )Nother_id_start__c2c                      rU   rw   ry   r   r   r   r   rY   a  rZ   z-Parser._other_id_start__c2_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY   c  r]   )r?   r3   _other_id_start__c2__s1_rC   r   r   r   r   r|  _  r  zParser._other_id_start__c2_c                 C   r   )Nrx   Lor   r   r   r   r   r  f  r   zParser._other_id_start__c2__s1_c                    rc  )Nother_id_start__c3c                      rU   rw   ry   r   r   r   r   rY   o  rZ   z-Parser._other_id_start__c3_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY   q  r]   )r?   r3   _other_id_start__c3__s1_rC   r   r   r   r   r}  m  r  zParser._other_id_start__c3_c                 C   r   )Nrx   Ltr   r   r   r   r   r  t  r   zParser._other_id_start__c3__s1_c                    rc  )Nother_id_start__c4c                      rU   rw   ry   r   r   r   r   rY   }  rZ   z-Parser._other_id_start__c4_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY     r]   )r?   r3   _other_id_start__c4__s1_rC   r   r   r   r   r~  {  r  zParser._other_id_start__c4_c                 C   r   )Nrx   Lur   r   r   r   r   r    r   zParser._other_id_start__c4__s1_c                    rc  )Nother_id_start__c5c                      rU   rw   ry   r   r   r   r   rY     rZ   z-Parser._other_id_start__c5_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY     r]   )r?   r3   _other_id_start__c5__s1_rC   r   r   r   r   r    r  zParser._other_id_start__c5_c                 C   r   )Nrx   Nlr   r   r   r   r   r    r   zParser._other_id_start__c5__s1_c                 C   s6   |  | j| j| j| j| j| j| j| j| j	| j
g
 d S r   )r5   rk  r#  rl  _id_continue__c3__id_continue__c4__id_continue__c5__id_continue__c6__id_continue__c7__id_continue__c8__id_continue__c9_r   r   r   r   rj    s   
zParser._id_continue_c                    rc  )Nid_continue__c3c                      rU   rw   ry   r   r   r   r   rY     rZ   z*Parser._id_continue__c3_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY     r]   )r?   r3   _id_continue__c3__s1_rC   r   r   r   r   r    r  zParser._id_continue__c3_c                 C   r   )Nrx   Mnr   r   r   r   r   r    r   zParser._id_continue__c3__s1_c                    rc  )Nid_continue__c4c                      rU   rw   ry   r   r   r   r   rY     rZ   z*Parser._id_continue__c4_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY     r]   )r?   r3   _id_continue__c4__s1_rC   r   r   r   r   r    r  zParser._id_continue__c4_c                 C   r   )Nrx   Mcr   r   r   r   r   r    r   zParser._id_continue__c4__s1_c                    rc  )Nid_continue__c5c                      rU   rw   ry   r   r   r   r   rY     rZ   z*Parser._id_continue__c5_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY     r]   )r?   r3   _id_continue__c5__s1_rC   r   r   r   r   r    r  zParser._id_continue__c5_c                 C   r   )Nrx   Ndr   r   r   r   r   r    r   zParser._id_continue__c5__s1_c                    rc  )Nid_continue__c6c                      rU   rw   ry   r   r   r   r   rY     rZ   z*Parser._id_continue__c6_.<locals>.<lambda>c                      r[   rw   r\   r   r   r   r   rY     r]   )r?   r3   _id_continue__c6__s1_rC   r   r   r   r   r    r  zParser._id_continue__c6_c                 C   r   )Nrx   Pcr   r   r   r   r   r    r   zParser._id_continue__c6__s1_c                 C   r   r   rn  r   r   r   r   r    rH   zParser._id_continue__c7_c                 C   rj   )Nu   ‌rl   r   r   r   r   r    rm   zParser._id_continue__c8_c                 C   rj   )Nu   ‍rl   r   r   r   r   r    rm   zParser._id_continue__c9_c                 C   ry  r   )r5   _num_literal__c0__num_literal__c1__num_literal__c2__hex_literal__num_literal__c4__num_literal__c5_r   r   r   r   r     r  zParser._num_literal_c                    @     d   fdd fdd fddg  d d S )Nnum_literal__c0c                      r   N-rl   r   r   r   r   rY     r   z*Parser._num_literal__c0_.<locals>.<lambda>c                      rU   r*  r   r   r   r   r   rY     rZ   c                      s     d d S )Nr  r+  r\   r   r   r   r   rY     r   r   r   r   r   r   r       


zParser._num_literal__c0_c                    r  )Nnum_literal__c1c                      r   N+rl   r   r   r   r   rY     r   z*Parser._num_literal__c1_.<locals>.<lambda>c                      rU   r*  r   r   r   r   r   rY     rZ   c                      r[   r*  r\   r   r   r   r   rY     r]   r   r   r   r   r   r    r  zParser._num_literal__c1_c                    r  )Nnum_literal__c2c                      rU   r@  )r*   _dec_literal_r   r   r   r   rY     rZ   z*Parser._num_literal__c2_.<locals>.<lambda>c                      r~   r   )r,   rf  r   r   r   r   rY     r   c                      r[   r@  r\   r   r   r   r   rY     r]   r   r   r   r   r   r    r  zParser._num_literal__c2_c                 C   rj   )NInfinityr   r   r   r   r   r    rm   zParser._num_literal__c4_c                 C   rj   )NNaNr   r   r   r   r   r    rm   zParser._num_literal__c5_c                 C   ry  r   )r5   _dec_literal__c0__dec_literal__c1__dec_literal__c2__dec_literal__c3__dec_literal__c4__dec_literal__c5_r   r   r   r   r    r  zParser._dec_literal_c                    r7  )Ndec_literal__c0c                      rU   r@  r*   _dec_int_lit_r   r   r   r   rY     rZ   z*Parser._dec_literal__c0_.<locals>.<lambda>c                      rU   r  r*   _frac_r   r   r   r   rY     rZ   c                      rU   Ner*   _exp_r   r   r   r   rY     rZ   c                      s$      d d  d S )NrA  r  r  r\   r   r   r   r   rY   	  rh  r   r   r   r   r   r    s   



zParser._dec_literal__c0_c                    r  )Ndec_literal__c1c                      rU   r@  r  r   r   r   r   rY     rZ   z*Parser._dec_literal__c1_.<locals>.<lambda>c                      rU   r  r  r   r   r   r   rY     rZ   c                            d d S )NrA  r  r\   r   r   r   r   rY     r_  r   r   r   r   r   r    r  zParser._dec_literal__c1_c                    r  )Ndec_literal__c2c                      rU   r@  r  r   r   r   r   rY     rZ   z*Parser._dec_literal__c2_.<locals>.<lambda>c                      rU   r  r  r   r   r   r   rY     rZ   c                      r  )NrA  r  r\   r   r   r   r   rY     r_  r   r   r   r   r   r    r  zParser._dec_literal__c2_c                    r   )Ndec_literal__c3c                      rU   r@  r  r   r   r   r   rY     rZ   z*Parser._dec_literal__c3_.<locals>.<lambda>c                      r[   r@  r\   r   r   r   r   rY     r]   r   r   r   r   r   r    r   zParser._dec_literal__c3_c                    r  )Ndec_literal__c4c                      rU   r  r  r   r   r   r   rY   "  rZ   z*Parser._dec_literal__c4_.<locals>.<lambda>c                      rU   r  r  r   r   r   r   rY   #  rZ   c                      r  )Nr  r  r\   r   r   r   r   rY   $  r_  r   r   r   r   r   r     r  zParser._dec_literal__c4_c                    r   )Ndec_literal__c5c                      rU   r  r  r   r   r   r   rY   )  rZ   z*Parser._dec_literal__c5_.<locals>.<lambda>c                      r[   r  r\   r   r   r   r   rY   *  r]   r   r   r   r   r   r  '  r   zParser._dec_literal__c5_c                 C   r   r   )r5   _dec_int_lit__c0__dec_int_lit__c1_r   r   r   r   r  -  rH   zParser._dec_int_lit_c                    r  )Nc                      r   r   rl   r   r   r   r   rY   1  r   z*Parser._dec_int_lit__c0_.<locals>.<lambda>c                      r~   r   r"  r   r   r   r   rY   1  r   c                      r   r   r$   r   r   r   r   rY   2  r   r   r   r   r   r   r  0  r%  zParser._dec_int_lit__c0_c                    rc  )Ndec_int_lit__c1c                      rU   r@  )r*   _nonzerodigit_r   r   r   r   rY   6  rZ   z*Parser._dec_int_lit__c1_.<locals>.<lambda>c                	      s"      d d d S )NrA  r   dsr"   rF   rN   r   r   r   r   rY   8  s   " )r?   r3   _dec_int_lit__c1__s1_rC   r   r   r   r   r  4  r  zParser._dec_int_lit__c1_c                    r   )Nc                      r~   r   r/   r#  r   r   r   r   rY   <  r   z.Parser._dec_int_lit__c1__s1_.<locals>.<lambda>r  r   r   r   r   r   r  ;  r   zParser._dec_int_lit__c1__s1_c                 C   rs  )Nr!  9ru  r   r   r   r   r#  >  r&   zParser._digit_c                 C   rs  )N1r  ru  r   r   r   r   r  A  r&   zParser._nonzerodigit_c                    4     d   j j fddg  d d S )Nhex_literalc                	           d d d S )N0xr   hsr   r   r   r   r   rY   G  rE  z&Parser._hex_literal_.<locals>.<lambda>)r?   r3   _hex_literal__s0__hex_literal__s1_rC   r   r   r   r   r  D  
   

zParser._hex_literal_c                    r   )Nc                      r   )Nr  r   r   r   r   r   rY   K  r   z*Parser._hex_literal__s0_.<locals>.<lambda>c                      r   )N0Xr   r   r   r   r   rY   K  r   r5   r   r   r   r   r  J  r   zParser._hex_literal__s0_c                    r   )Nc                      r~   r   )r1   r;  r   r   r   r   rY   N  r   z*Parser._hex_literal__s1_.<locals>.<lambda>r  r   r   r   r   r   r  M  r   zParser._hex_literal__s1_c                 C   r   r   )r5   	_hex__c0_	_hex__c1_r#  r   r   r   r   r;  P  r   zParser._hex_c                 C   rs  )Nr?  r  ru  r   r   r   r   r  S  r&   zParser._hex__c0_c                 C   rs  )Nrv  Fru  r   r   r   r   r  V  r&   zParser._hex__c1_c                    rc  )Nfracc                      r   )N.rl   r   r   r   r   rY   [  r   zParser._frac_.<locals>.<lambda>c                	      r  )Nr  r   r  r   r   r   r   r   rY   \  rE  )r?   r3   
_frac__s1_rC   r   r   r   r   r  Y  r|   zParser._frac_c                    r   )Nc                      r~   r   r  r   r   r   r   rY   `  r   z#Parser._frac__s1_.<locals>.<lambda>r  r   r   r   r   r   r  _  r   zParser._frac__s1_c                 C   r   r   )r5   	_exp__c0_	_exp__c1_r   r   r   r   r  b  rH   zParser._exp_c                    s>     d   j fdd j fddg  d d S )Nexp__c0c                      rU   )Nr9   )r*   _exp__c0__s1_l_r   r   r   r   rY   h  rZ   z"Parser._exp__c0_.<locals>.<lambda>c                	      s&     d d  d d S )Nr  r9   r   r  r  r   r   r   r   rY   j  s   & )r?   r3   _exp__c0__s0__exp__c0__s2_rC   r   r   r   r   r  e  s   


zParser._exp__c0_c                    r   )Nc                      r   r  rl   r   r   r   r   rY   n  r   z&Parser._exp__c0__s0_.<locals>.<lambda>c                      r   NErl   r   r   r   r   rY   n  r   r  r   r   r   r   r  m  r   zParser._exp__c0__s0_c                    r   )Nc                      r   r  rl   r   r   r   r   rY   q  r   z(Parser._exp__c0__s1_l_.<locals>.<lambda>c                      r   r  rl   r   r   r   r   rY   q  r   r  r   r   r   r   r  p  r   zParser._exp__c0__s1_l_c                    r   )Nc                      r~   r   r  r   r   r   r   rY   t  r   z&Parser._exp__c0__s2_.<locals>.<lambda>r  r   r   r   r   r   r  s  r   zParser._exp__c0__s2_c                    r  )Nexp__c1c                	      r  )Nr  r   r  r   r   r   r   r   rY   y  rE  z"Parser._exp__c1_.<locals>.<lambda>)r?   r3   _exp__c1__s0__exp__c1__s1_rC   r   r   r   r   r  v  r  zParser._exp__c1_c                    r   )Nc                      r   r  rl   r   r   r   r   rY   }  r   z&Parser._exp__c1__s0_.<locals>.<lambda>c                      r   r  rl   r   r   r   r   rY   }  r   r  r   r   r   r   r  |  r   zParser._exp__c1__s0_c                    r   )Nc                      r~   r   r  r   r   r   r   rY     r   z&Parser._exp__c1__s1_.<locals>.<lambda>r  r   r   r   r   r   r    r   zParser._exp__c1__s1_c                 C   s6   | j | jk r| | j| j  | j d  d S |   d S r6   )r
   r   r"   r   r#   r   r   r   r   rz     s   zParser._anything_c                 C   s&   | j | jkr| d  d S |   d S r   )r
   r   r"   r#   r   r   r   r   r_     s   zParser._end_r   )__name__
__module____qualname__r   r   r   r   r"   r#   r%   r*   r,   r-   r1   r/   r3   r5   r8   r:   r=   r?   rC   rF   r'   rL   rN   rS   r   r^   r`   ra   rd   re   rf   rg   rh   ri   r{   r   r   r   rb   r   r   r   r   r   rc   r   r   r   r   r   rX   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r0  r1  r2  r3  r'  r)  r   rF  rI  rG  r   rS  rU  rT  rQ  rV  rW  rb  ri  rf  rm  rk  ro  rp  rq  rr  rl  rz  r  r{  r  r|  r  r}  r  r~  r  r  r  rj  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r  r  r  r  r;  r  r  r  r  r  r  r  r  r  r  r  r  rz   r_   r   r   r   r   r      sn   						r   )
sysversion_infounichrrQ   xranger   unicoder   r   r   r   r   r   r   <module>   s   