+
    i  c            
       s    R t ^ RIt^ RIt^ RIt^ RIt^ RIHtHt ]P                  ! R]P                  4      t
RRRRRRRR	R
R	/tR tR t]R8X  d    ]! 4        R# R#   ] d   t]! ]P$                  4      hRtAii ; i)zCommand-line tool to validate and pretty-print JSON

See `json.__main__` for a usage example (invocation as
`python -m json.tool` is supported for backwards compatibility).
N)	get_themecan_colorizez
    (?P<key>"(\\.|[^"\\])*")(?=:)           |
    (?P<string>"(\\.|[^"\\])*")             |
    (?P<number>NaN|-?Infinity|[0-9\-+.Ee]+) |
    (?P<boolean>true|false)                 |
    (?P<null>null)
ZkeyZ
definitionZstringZnumberZbooleanZkeywordZnullc                 sF   a V3R  lp\         P                  ! \        W 4      # )c                 s   < \         P                  4        F9  w  rV P                  V4      ;p'       g   K   SV,           V SP                   2u # 	  V P                  4       # N)_group_to_theme_colorZitemsgroupZreset)Zmatchr   colorZmthemes   &   "/usr/lib64/python3.14/json/tool.py_replace_match_callbackZ/_colorize_json.<locals>._replace_match_callback#   sX    1779LEKK&&q&&,s5;;-88 : {{}    )reZsub_color_pattern)json_strr   r   s   &f r   _colorize_jsonr   "   s     66."9DDr	   c            	      s<   R p \         P                  ! V RR7      pVP                  RRRRR7       VP                  RRR	R
R7       VP                  RRRRR7       VP                  RRRRR7       VP                  RRRRR7       VP                  4       pVP                  R^\        RR7       VP                  RRRRRR7       VP                  R RRR
R!R7       VP                  R"RR#R$7       VP                  4       pR%VP                  RVP                  RVP                  /pVP                  '       d   R
VR&   R.VR&&    VP                  R8X  d   \        P                  pM\        VP                  R'R(7      p VP                  '       d   R) V 4       pM\        P                   ! V4      3pV\        P                  Jd   VP#                  4        TP$                  f   \        P&                  pM\        TP$                  R*R'R(7      pT;_uu_ 4        \)        TR+7      '       dc   \+        TR,7      P,                  pT FE  p	\        P.                  ! T	3/ TB p
TP1                  \3        Y4      4       TP1                  R-4       KG  	  M1T F+  p	\        P4                  ! Y3/ TB  TP1                  R-4       K-  	  R
R
R
4       R
#   T\        P                  Jd   TP#                  4        i i ; i  + '       g   i     R
# ; i  \6         d   p\9        T4      hR
p?ii ; i)/zZA simple command line interface for json module to validate and pretty-print JSON objects.T)descriptionr   infileZ?z-a JSON file to be validated or pretty-printedZ-)Znargshelpdefaultoutfilez%write the output of infile to outfileNz--sort-keysZ
store_trueFz5sort the output of dictionaries alphabetically by key)actionr   r   z--no-ensure-asciiensure_asciiZstore_falsez(disable escaping of non-ASCII characters)destr   r   z--json-linesznparse input using the JSON Lines format. Use with --no-indent or --compact to produce valid JSON Lines output.z--indentzJseparate items with newlines and use this number of spaces for indentation)r   Ztyper   z--tabZstore_constindentZ	z9separate items with newlines and use tabs for indentation)r   r   Zconstr   z--no-indentz/separate items with spaces rather than newlinesz	--compactz1suppress all whitespace separation (most compact))r   r   	sort_keysZ
separatorszutf-8)Zencodingc              3   sN   "   T F  p\         P                  ! V4      x  K  	  R # 5ir   )jsonZloads)Z.0Zlines   & r   Z	<genexpr>Zmain.<locals>.<genexpr>[   s     <VT

4((Vs   #%Zw)Zfile)Ztty_fileZ
)Z,Z:)argparseZArgumentParserZadd_argumentZadd_mutually_exclusive_groupZintZ
parse_argsr   r   r   Zcompactr   sysZstdinZopenZ
json_linesr   ZloadZcloser   Zstdoutr   r    ZsyntaxZdumpsZwriter   ZdumpZ
ValueError
SystemExit)r   Zparserr   ZoptionsZ	dump_argsr   Zobjsr   ZtZobjr   Zes               r   mainr   ,   s   @K$$DIF
L #  % 	D $  & lET  V
+.G  I
|U`  a //1E	z133  4 
w}8! ).  / 
}]!M  O 
{<O  Q!G 	W&&'..,,I
 "	("*	,>>S YYF'..7;F	!!!<V<		&)+SYY&??"jjG7??C'BGW))w/66C#zz#;;HMM."=>MM$'  
  CIIc8i8MM$'   W SYY& ' WW  msV    9L  :K !K -A%L  B&K,8L  'K))L  ,K=	7L  =L   LLLZ__main__)Z__doc__r   r   r
   r   Z	_colorizer    r   ZcompileZVERBOSEr   r   r   r   Z__name__ZBrokenPipeErrorZexcr   Zerrno) r	   r   <module>r      s   
   	 
 -   ZZ 
<hhy
I EFR z$   $##$s   A A;$A66A;