
    siW                    >   S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJrJr  SSKr\(       a  SS	KJr  SS
KJr  SSKJr   " S S\R(                  R*                  R,                  5      r\R1                  S\R2                  5        \SS j5       r\SS j5       r\S S j5       r\S!S j5       rSSS.       S"S jjrS S jrSS jr\S#S j5       r\S$S j5       r\S%S j5       rSSSS.       S&S jjrS$S jrS'S jr \R(                  RB                  r!g)(z'YAML serialization utilities for conda.    )annotations)Enum)cache)StringIO)Path)TYPE_CHECKINGoverloadN)IO)Any   )PathTypec                      \ rS rSrSS jrSrg)CondaYAMLRepresenter   c                n   [        U[        5      (       a  U R                  UR                  5      $ [        U[        5      (       a  U R                  [        U5      5      $ S H.  n[        XS 5      =n(       d  M  U R                  U" 5       5      s  $    [        SUR                  R                   S35      e)N)dump__json__to_jsonas_jsonzObject of type z is not YAML serializable)
isinstancer   represent_strvaluer   strgetattrrepresent_data	TypeError	__class____name__)selfdataattrmethods       ;lib/python3.13/site-packages/conda/common/serialize/yaml.pydefaultCondaYAMLRepresenter.default   s    dD!!%%djj11d##%%c$i00 ?D T22v2**6844 ?
 dnn5566OP
 	
     N)r    r   returnr   )r   
__module____qualname____firstlineno__r$   __static_attributes__r'   r&   r#   r   r      s    
r&   r   c                     [         R                  R                  SS9n [        U l        U R                  SSSS9  SU l        SU l        U $ )Nrt)typr      )mappingoffsetsequenceF)ruamelyamlYAMLr   Representerindentdefault_flow_style sort_base_mapping_type_on_output)parsers    r#   _yamlr<   ,   sH    [[$'F-F
MM!AM2 %F.3F+Mr&   c                    g Nr'   objs    r#   writerA   6   s    r&   c                   g r>   r'   r@   fps     r#   rA   rA   :   s    -0r&   c                   g r>   r'   )r@   paths     r#   rA   rA   >   s    03r&   )rD   rF   c                  U(       a  U(       a  [        S5      eUb  [        5       R                  X5        g [        5       n[        5       R                  XS9  UR	                  5       nUb  [        U5      R                  U5        g U$ )Nz*At most one of fp or path must be provided)stream)
ValueErrorr<   r   r   getvaluer   
write_text)r@   rD   rF   rH   texts        r#   rA   rA   B   sn     
dEFF	~SS( J!!$'Kr&   c                    [        XS9  g NrD   rA   rC   s     r#   r   r   V   s
    	#r&   c                    [        U 5      $ r>   rP   r?   s    r#   dumpsrR   Z   s    :r&   c                    g r>   r'   rL   s    r#   readrU   ^   s    "r&   c                    g r>   r'   rO   s    r#   rU   rU   b   s    !$r&   c                    g r>   r'   )rF   s    r#   rU   rU   f   s    $'r&   rL   rD   rF   c                    XU4R                  S 5      S:w  a  [        S5      eUb  UR                  5       n OUb  [        U5      R	                  5       n [        5       R                  U 5      $ )Nr   z0Exactly one of text, fp or path must be provided)countrI   rU   r   	read_textr<   loadrX   s      r#   rU   rU   j   sa     	$d#q(KLL	~wwy		Dz##%7<<r&   c                    [        U S9$ rN   rU   rO   s    r#   r\   r\   w   s    2;r&   c                    [        U S9$ )NrT   r^   )ss    r#   loadsra   {   s    Q<r&   )r(   zruamel.yaml.YAML)r@   r   r(   r   )r@   r   rD   IO[str]r(   None)r@   r   rF   r   r(   rc   )r@   r   rD   IO[str] | NonerF   PathType | Noner(   z
None | str)rL   r   r(   r   )rD   rb   r(   r   )rF   r   r(   r   )rL   z
str | NonerD   rd   rF   re   r(   r   )r`   r   r(   r   )"__doc__
__future__r   enumr   	functoolsr   ior   pathlibr   typingr   r	   ruamel.yamlr4   r
   r   rF   r   r5   representerRoundTripRepresenterr   add_representerr$   r<   rA   r   rR   rU   r\   ra   	YAMLErrorr'   r&   r#   <module>rr      sT   . "     * 
6;;22GG 
&  $ $T+?+G+G H   
  
  
 0 
 0 
 3 
 3 '+D	#2A( 
 " 
 " 
 $ 
 $ 
 ' 
 ' TSW

$2
AP

 KK!!	r&   