ó
jš¤Mc           @   si   d  Z  d d l Z d „  Z e ƒ  Z d g Z e j d e j e j Be j Bƒ Z	 d „  Z
 e pb e
 Z d S(   s   JSON token scanner
iÿÿÿÿNc          C   s1   y d d l  m }  |  SWn t k
 r, d  SXd  S(   Niÿÿÿÿ(   t   make_scanner(   t   simplejson._speedupsR    t   ImportErrort   None(   R    (    (    s6   /usr/lib/python2.7/dist-packages/simplejson/scanner.pyt   _import_c_make_scanner   s
    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]  y |  | } Wn t  k
 r' t ‚ n X| d k rK ˆ |  | 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 r3|  | | d !d k r3t | d f Sˆ |  | ƒ } | d  k	 r®| j ƒ  \ } } } | so| 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 rS|  | | d !d k rSˆ	 d ƒ | d f St ‚ d  S(   Nt   "i   t   {t   [t   ni   t   nullt   tt   truet   fi   t   falset    t   Ni   t   NaNt   Ii   t   Infinityt   -i	   s	   -Infinity(   t
   IndexErrort   StopIterationR   t   Truet   Falset   groupst   end(   t   stringt   idxt   nextchart   mt   integert   fract   expt   res(   t   encodingt   object_pairs_hookt	   parse_intt   parse_floatt   strictt   parse_arrayt   match_numbert   object_hookt   memot   parse_constantt   parse_objectt
   _scan_oncet   parse_string(    s6   /usr/lib/python2.7/dist-packages/simplejson/scanner.pyR-       s>    
#######c            s#   z ˆ  |  | ƒ SWd  ˆ j  ƒ  Xd  S(   N(   t   clear(   R   R   (   R-   R*   (    s6   /usr/lib/python2.7/dist-packages/simplejson/scanner.pyt	   scan_onceE   s    (   R,   R'   R.   t	   NUMBER_REt   matchR"   R&   R%   R$   R+   R)   R#   R*   (   t   contextR0   (    (   R,   R$   R%   R)   R(   R*   R"   R+   R-   R.   R&   R'   R#   s6   /usr/lib/python2.7/dist-packages/simplejson/scanner.pyt   py_make_scanner   s    												3%(   t   __doc__t   reR   t   c_make_scannert   __all__t   compilet   VERBOSEt	   MULTILINEt   DOTALLR1   R4   R    (    (    (    s6   /usr/lib/python2.7/dist-packages/simplejson/scanner.pyt   <module>   s   				;