File: //lib64/python3.9/json/__pycache__/decoder.cpython-39.opt-1.pyc
a
    �DOg�0  �                	   @   s  d Z ddlZddlmZ zddlmZ W n ey>   dZY n0 ddgZej	ej
B ejB Ze
d�Ze
d�Ze
d	�ZG d
d� de�Zeeed�Ze�de�Zd
dddddddd�Zdd� Zdeejfdd�Zep�eZe�de�ZdZdejefdd�Zejefdd �ZG d!d� de�ZdS )"zImplementation of JSONDecoder
�    N)�scanner)�
scanstring�JSONDecoder�JSONDecodeError�nan�infz-infc                   @   s    e Zd ZdZdd� Zdd� ZdS )r   a   Subclass of ValueError with the following additional properties:
    msg: The unformatted error message
    doc: The JSON document being parsed
    pos: The start index of doc where parsing failed
    lineno: The line corresponding to pos
    colno: The column corresponding to pos
    c                 C   sb   |� dd|�d }||�dd|� }d||||f }t�| |� || _|| _|| _|| _|| _d S )N�
r   �   z%s: line %d column %d (char %d))	�count�rfind�
ValueError�__init__�msg�doc�pos�lineno�colno)�selfr   r   r   r   r   �errmsg� r   �$/usr/lib64/python3.9/json/decoder.pyr
      s    zJSONDecodeError.__init__c                 C   s   | j | j| j| jffS )N)�	__class__r   r   r   )r   r   r   r   �
__reduce__*   s    zJSONDecodeError.__reduce__N)�__name__�
__module__�__qualname__�__doc__r
   r   r   r   r   r   r      s   
)z	-InfinityZInfinity�NaNz(.*?)(["\\\x00-\x1f])�"�\�/��r   �
�	)r   r   r    �b�f�n�r�tc                 C   s`   | |d |d � }t |�dkrL|d dvrLzt|d�W S  tyJ   Y n0 d}t|| |��d S )Nr	   �   �   ZxX�   zInvalid \uXXXX escape)�len�intr   r   )�sr   �escr   r   r   r   �
_decode_uXXXX;   s    r1   Tc                 C   s�  g }|j }|d }|| |�}|du r0td| |��|�� }|�� \}	}
|	rP||	� |
dkr^�q�n.|
dkr�|r�d�|
�}t|| |��n
||
� qz| | }W n  ty�   td| |�d�Y n0 |dk�rz|| }
W n( ty�   d�|�}t|| |��Y n0 |d7 }n�t| |�}|d	7 }d
|  k�r.dk�r�n n`| ||d � d
k�r�t| |d �}d|  k�rndk�r�n n d|d
 d>