ó
P'—^c           @   s|   d  Z  d d l Z d d l m Z d „  Z e ƒ  Z d d g Z e j d e j e j	 Be j
 Bƒ Z d	 „  Z e pu e Z d S(
   s   JSON token scanner
iÿÿÿÿNi   (   t   JSONDecodeErrorc          C   s1   y d d l  m }  |  SWn t k
 r, d  SXd  S(   Ni   (   t   make_scanner(   t	   _speedupsR   t   ImportErrort   None(   R   (    (    s4   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/scanner.pyt   _import_c_make_scanner   s
    R   R    s)   (-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?c            sµ   |  j  ‰
 |  j ‰ |  j ‰ t j ‰ |  j ‰ |  j ‰ |  j ‰ |  j ‰	 |  j	 ‰ |  j
 ‰ |  j ‰ |  j ‰ ‡  ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡	 ‡
 ‡ ‡ f d †  ‰  ‡  ‡ f d †  } | S(   Nc   	         s{  d } y |  | } Wn# t  k
 r9 t | |  | ƒ ‚ n X| d k r] ˆ |  | d ˆ ˆ ƒ S| d k r ˆ
 |  | d f ˆ ˆ ˆ  ˆ ˆ ˆ ƒ S| d k r² ˆ |  | d f ˆ  ƒ S| d k rã |  | | d !d k rã d  | d f S| d	 k r|  | | d !d
 k rt | d f S| d k rE|  | | d !d k rEt | d f Sˆ |  | ƒ } | d  k	 rÀ| j ƒ  \ } } } | s| r¤ˆ | | pd | pšd ƒ } n ˆ	 | ƒ } | | j ƒ  f S| d k r÷|  | | d !d k r÷ˆ d ƒ | d f S| d k r.|  | | d !d k r.ˆ d ƒ | d f S| d k re|  | | d !d k reˆ d ƒ | d f St | |  | ƒ ‚ d  S(   Ns   Expecting valuet   "i   t   {t   [t   ni   t   nullt   tt   truet   fi   t   falset    t   Ni   t   NaNt   Ii   t   Infinityt   -i	   s	   -Infinity(   t
   IndexErrorR    R   t   Truet   Falset   groupst   end(	   t   stringt   idxt   errmsgt   nextchart   mt   integert   fract   expt   res(   t
   _scan_oncet   encodingt   match_numbert   memot   object_hookt   object_pairs_hookt   parse_arrayt   parse_constantt   parse_floatt	   parse_intt   parse_objectt   parse_stringt   strict(    s4   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/scanner.pyR#   "   s@    #######c            sD   | d k  r! t  d |  | ƒ ‚ n  z ˆ  |  | ƒ SWd  ˆ j ƒ  Xd  S(   Ni    s   Expecting value(   R    t   clear(   R   R   (   R#   R&   (    s4   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/scanner.pyt	   scan_onceH   s
    (   R-   R)   R.   t	   NUMBER_REt   matchR$   R/   R+   R,   R*   R'   R(   R&   (   t   contextR1   (    (   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   s4   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/scanner.pyt   py_make_scanner   s    												3&(   t   __doc__t   ret   errorsR    R   t   c_make_scannert   __all__t   compilet   VERBOSEt	   MULTILINEt   DOTALLR2   R5   R   (    (    (    s4   /tmp/pip-unpacked-wheel-9xjeDh/simplejson/scanner.pyt   <module>   s   			A