B VXY @s\dZddlZddlmZddZeZddgZed ejej Bej BZ d d Z epVe Z dS) zJSON token scanner N)JSONDecodeErrorcCs*yddlm}|Stk r$dSXdS)Nr) make_scanner)Z _speedupsr ImportError)rrE/opt/alt/python37/lib64/python3.7/site-packages/simplejson/scanner.py_import_c_make_scanners  rrrz)(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c s~|j |j|j tj|j|j |j|j |j |j |j |j  f ddfdd}|S)Nc sd}y ||}Wn tk r0t|||YnX|dkrL ||d S|dkrp ||df S|dkr||dfS|dkr|||ddkrd|dfS|d kr|||dd krd |dfS|d kr|||d dkrd|d fS||}|dk rf|\}}}|s4|rR||p@d|pJd}n |}||fS|dkr|||ddkrd|dfS|dkr|||ddkrƈd|dfS|dkr|||ddkrd|dfSt|||dS)NzExpecting value"r{[nnullttrueTffalseFNNaNIInfinity- z -Infinity) IndexErrorrgroupsend) stringidxerrmsgnextcharmintegerfracexpres) _scan_onceencoding match_numbermemo object_hookobject_pairs_hook parse_arrayparse_constant parse_float parse_int parse_object parse_stringstrictrrr)"s@             z#py_make_scanner.._scan_oncecs.|dkrtd||z ||SXdS)NrzExpecting value)rclear)r r!)r)r,rr scan_onceHs   z"py_make_scanner..scan_once) r3r/r4 NUMBER_REmatchr*r5r1r2r0r-r.r,)contextr7r) r)r*r+r,r-r.r/r0r1r2r3r4r5rpy_make_scanners$& r;)__doc__reerrorsrrc_make_scanner__all__compileVERBOSE MULTILINEDOTALLr8r;rrrrrs A