
    iS!                         d dl mZ ddlmZ ddlmZmZmZmZm	Z	 ddl
mZ ddlmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZ 	 dd	gZ" G d
 d	e      Z# G d de$      Z%d Z&y)    )absolute_import   )	YAMLError)nprintDBG_NODEdbgstring_typesnprintf)RegExp)
StreamStartEventStreamEndEventMappingStartEventMappingEndEventSequenceStartEventSequenceEndEvent
AliasEventScalarEventDocumentStartEventDocumentEndEvent)MappingNode
ScalarNodeSequenceNode
SerializerSerializerErrorc                       e Zd Zy)r   N)__name__
__module____qualname__     m/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/srsly/ruamel_yaml/serializer.pyr   r      s    r    c                   x    e Zd ZdZ ed      Z	 	 	 	 	 	 ddZed        Zed        Z	d Z
d Zd	 Zd
 Zd Zd Zy)r   zid%03dzid(?!000$)\d{3,}Nc                 T   || _         | j                   | | j                   _        || _        || _        || _        t        |t              r.t        t        t        |j                  d                  | _        n|| _        || _        i | _        i | _        d| _        d | _        d | _        y )N.r   )dumper_serializeruse_encodinguse_explicit_startuse_explicit_end
isinstancer	   tuplemapintsplituse_versionuse_tagsserialized_nodesanchorslast_anchor_idclosed_templated_id)selfencodingexplicit_startexplicit_endversiontagsr%   s          r!   __init__zSerializer.__init__(   s     ;;"&*DKK#$"0 ,g|,$SgmmC.@%ABD&D "!r    c                     t        | j                  d      r| j                  j                  S | j                  j                  S Ntyp)hasattrr%   emitter_emitterr6   s    r!   rA   zSerializer.emitterC   s2     4;;&;;&&&{{###r    c                     t        | j                  d      r| j                  j                   | j                  j                  S r>   )r@   r%   resolver	_resolverrC   s    r!   rE   zSerializer.resolverJ   s/     4;;&KK  {{$$$r    c                     | j                   7| j                  j                  t        | j                               d| _         y | j                   rt        d      t        d      )N)r7   Fserializer is closedzserializer is already opened)r4   rA   emitr   r'   r   rC   s    r!   openzSerializer.openQ   sP    ;;LL.8I8IJKDK[[!"899!"@AAr    c                     | j                   t        d      | j                   s+| j                  j                  t	                      d| _         y y )Nserializer is not openedT)r4   r   rA   rI   r   rC   s    r!   closezSerializer.close[   s@    ;;!"<==LLn./DK r    c                    t        t              rt        d       |j                          | j                  t        d      | j                  rt        d      | j                  j                  t        | j                  | j                  | j                               | j                  |       | j                  |d d        | j                  j                  t        | j                               i | _        i | _        d| _        y )NzSerializing nodesrL   rH   )explicitr:   r;   )rO   r   )r   r   r   dumpr4   r   rA   rI   r   r(   r/   r0   anchor_nodeserialize_noder   r)   r1   r2   r3   )r6   nodes     r!   	serializezSerializer.serializef   s    x=&'IIK;;!"<==[[!"89900((]]	
 	D$-*D4I4IJK "r    c                    || j                   v r/| j                   |   | j                  |      | j                   |<   y y d }	 |j                  j                  r|j                  j                  }|| j                   |<   t        |t              r#|j                  D ]  }| j                  |        y t        |t              r7|j                  D ]'  \  }}| j                  |       | j                  |       ) y y #  Y xY wN)	r2   generate_anchoranchoralways_dumpvaluer*   r   rQ   r   )r6   rS   rX   itemkeyrZ   s         r!   rQ   zSerializer.anchor_node}   s    4<<||D!)%)%9%9$%?T" * F;;**![[..F "(DLL$- JJ +D$$T*+D+."&** ,JC$$S)$$U+, /s   ,C7 7C;c                     	 |j                   j                  }|.| xj                  dz  c_        | j                  | j                  z  S |S #  d }Y 8xY w)Nr   )rX   rZ   r3   ANCHOR_TEMPLATE)r6   rS   rX   s      r!   rW   zSerializer.generate_anchor   sV    	[[&&F >1$''$*=*===	Fs   A
 
Ac                    | j                   |   }|| j                  v r%| j                  j                  t	        |             y d| j                  |<   | j
                  j                  ||       t        |t              r| j
                  j                  t        |j                  d      }| j
                  j                  t        |j                  d      }|j                  |k(  |j                  |k(  |j                  j                  d      f}| j                  j                  t        ||j                  ||j                  |j                  |j                               n`t        |t               r|j                  | j
                  j                  t         |j                  d      k(  }|j                  }d }	d }
|j"                  du r|r|d   }
|rt%        |      dkD  r|d   }	nd }	| j                  j                  t'        ||j                  ||j"                  |j                               d}|j                  D ]  }| j)                  |||       |d	z  } | j                  j                  t+        |
|	g
             n?t        |t,              r.|j                  | j
                  j                  t,        |j                  d      k(  }|j                  }d }	d }|j"                  du r|r|d   }|rt%        |      dkD  r|d   }	| j                  j                  t/        ||j                  ||j"                  |j                  t%        |j                                     |j                  D ]+  \  }}| j)                  ||d        | j)                  |||       - | j                  j                  t1        ||	g
             | j
                  j3                          y )NT)TF)FTztag:yaml.org,2002:)stylecommentr      )
flow_stylera   r   )ra   )rc   ra   nr_items)r2   r1   rA   rI   r   rE   descend_resolverr*   r   resolverZ   tag
startswithr   r`   ra   r   rc   lenr   rR   r   r   r   r   ascend_resolver)r6   rS   parentindexaliasdetected_tagdefault_tagimplicitra   end_commentseq_commentr[   map_commentr\   rZ   s                  r!   rR   zSerializer.serialize_node   sB   T"4(((LLj/0*.D!!$'MM**659$
+  $}}44

M  #mm33

M XX-XX,HH''(<=
 !! 

"jj $	 D,/88t}}'<'< $**d(  ,,""??d*&-ajs7|a/")!*K"&K!!& #'?? $  JJ D''dE:QJE !!"2K;U"VWD+.88t}}'<'<T(  ,,""??d*&-ajs7|a/")!*K!!% #'?? $!$TZZ	 #'** :JC''T48''tS9: !!/;:T"UVMM))+r    )NNNNNN)r   r   r   r^   r   	ANCHOR_REr<   propertyrA   rE   rJ   rM   rT   rQ   rW   rR   r   r    r!   r   r   "   su      O+,I "6 $ $ % %B .,*	X,r    c                 @    t         j                  j                  |       S rV   )r   rt   match)ss    r!   templated_idry      s    %%a((r    N)'
__future__r   errorr   compatr   r   r   r	   r
   utilr   eventsr   r   r   r   r   r   r   r   r   r   nodesr   r   r   typingAnyDictUnionTextOptionalVersionType__all__r   objectr   ry   r   r    r!   <module>r      s]    '  @ @    9 8 *
+	i 	S, S,l)r    