
    wBf                         d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
  ee      Z ej                  d      d        Z ej                  d      d	        Zd
 Zd ZddZddZd Zd Zy)z:YAML and JSON serialization and deserialization functions.    N)StringIO)	getLogger   )EntityEncoder)maxsizec                  Z    t        j                  d      } | j                  ddd       | S )Nrt)typr      mappingoffsetsequence)yamlYAMLindentparsers    6lib/python3.12/site-packages/conda/common/serialize.py_yaml_round_tripr      s'    YY4 F
MM!AM2M    c                  x    t        j                  dd      } | j                  ddd       d| _        d| _        | S )NsafeT)r
   purer   r   r   F)r   r   r   default_flow_style sort_base_mapping_type_on_outputr   s    r   
_yaml_safer      s9    YY6-F
MM!AM2 %F.3F+Mr   c                 4    t               j                  |       S N)r   loadstrings    r   yaml_round_trip_loadr#   #   s    ""6**r   c                 4    t               j                  |       S )zV
    Examples:
        >>> yaml_safe_load("key: value")
        {'key': 'value'}

    )r   r    r!   s    r   yaml_safe_loadr%   '   s     <V$$r   c                 x    |xs
 t               }t               j                  | |       |s|j                         S yz Dump object to string or stream.N)r   r   dumpgetvalueobjectstreamostreams      r   yaml_round_trip_dumpr.   1   s8    "
GFG,!! r   c                 x    |xs
 t               }t               j                  | |       |s|j                         S yr'   )r   r   r(   r)   r*   s      r   yaml_safe_dumpr0   9   s7    "
GLfg&!! r   c                 ,    t        j                  |       S r   )jsonloadsr!   s    r   	json_loadr4   A   s    ::fr   c                 >    t        j                  | dddt              S )Nr   T),z: )r   	sort_keys
separatorscls)r2   dumpsr   )r+   s    r   	json_dumpr;   E   s    ::qD[m r   r   )__doc__	functoolsr2   ior   loggingr   ruamel.yamlr   auxlib.entityr   __name__log	lru_cacher   r   r#   r%   r.   r0   r4   r;    r   r   <module>rF      s    A      ) T" # T" #+%""r   