
     h                          d dl Z d dlmZmZ d dlmZmZmZ d dl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          ZdS )    N)MarkedYAMLErrorReusedAnchorWarning)_Fnprintnprintf)StreamStartEventStreamEndEventMappingStartEventMappingEndEventSequenceStartEventSequenceEndEvent
AliasEventScalarEvent)MappingNode
ScalarNodeSequenceNodeF)AnyDictOptionalListComposerComposerErrorc                       e Zd ZdS )r   N)__name__
__module____qualname__     P/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/ruamel/yaml/composer.pyr   r      s        Dr   c                   ~    e Zd ZddZed             Zed             Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd ZdS )r   Nc                 t    || _         | j         "t          | j         dd           | | j         _        i | _        d S )N	_composer)loadergetattrr"   anchors)selfr#   s     r   __init__zComposer.__init__   s9    ;"wt{K'N'N'V$(DK!r   c                 \    t          | j        d          r| j        j         | j        j        S Ntyp)hasattrr#   parser_parserr&   s    r   r,   zComposer.parser&   s.     4;&& 	K{""r   c                 \    t          | j        d          r| j        j         | j        j        S r)   )r+   r#   resolver	_resolverr.   s    r   r0   zComposer.resolver-   s.     4;&& 	!K  {$$r   c                     | j                             t                    r| j                                          | j                             t                     S N)r,   check_eventr   	get_eventr	   r.   s    r   
check_nodezComposer.check_node5   sL     ;""#344 	$K!!### ;**>::::r   c                 l    | j                             t                    s|                                 S d S r3   )r,   r4   r	   compose_documentr.   s    r   get_nodezComposer.get_node>   s8     {&&~66 	+((***	+ 	+r   c                 |   | j                                          d }| j                             t                    s|                                 }| j                             t                    s5| j                                         }t          d|j        d|j                  | j                                          |S )Nz(expected a single document in the streamzbut found another document)r,   r5   r4   r	   r8   r   
start_mark)r&   documentevents      r   get_single_nodezComposer.get_single_nodeD   s     	 {&&~66 	/,,..H {&&~66 	K))++E:#, 	   	r   c                     | j                                          |                     d d           }| j                                          i | _        |S r3   )r,   r5   compose_noder%   )r&   nodes     r   r8   zComposer.compose_document]   sQ     	   t,, 	r   c                     |S r3   r   )r&   as     r   return_aliaszComposer.return_aliask   s    r   c                    | j                             t                    ro| j                                         }|j        }|| j        vr&t          d d t          d|          |j                  | 	                    | j        |                   S | j         
                                }|j        }|O|| j        v rFd                    || j        |         j        |j                  }t          j        |t                     | j                            ||           | j                             t"                    r|                     |          }ni| j                             t&                    r|                     |          }n4| j                             t*                    r|                     |          }| j                                         |S )Nzfound undefined alias {alias!r})aliaszE
found duplicate anchor {!r}
first occurrence {}
second occurrence {})r,   r4   r   r5   anchorr%   r   r   r;   rD   
peek_eventformatwarningswarnr   r0   descend_resolverr   compose_scalar_noder   compose_sequence_noder
   compose_mapping_nodeascend_resolver)r&   parentindexr=   rF   rG   wsrA   s           r   r@   zComposer.compose_nodeo   s   ;"":.. 
	:K))++ELEDL((#8FFF$	   $$T\%%8999&&((%%$,v*>*I5K[\\  b"5666&&vu555;"";// 	5++F33DD[$$%788 	5--f55DD[$$%677 	5,,V44D%%'''r   c           	      "   | j                                         }|j        }||dk    r+| j                            t
          |j        |j                  }t          ||j        |j        |j	        |j
        |j        |          }|
|| j        |<   |S )N!)stylecommentrG   )r,   r5   tagr0   resolver   valueimplicitr;   end_markrV   rW   r%   )r&   rG   r=   rX   rA   s        r   rM   zComposer.compose_scalar_node   s    %%''i;#**-''
EKPPCKN+M
 
 
 #'DL r   c           	         | j                                         }|j        }||dk    r&| j                            t
          d |j                  }t          |g |j        d |j        |j	        |          }|
|| j
        |<   d}| j                             t                    sR|j                            |                     ||                     |dz  }| j                             t                    R| j                                         }|j        du rA|j	        :|j	        't!          d                    |j                             |j	        |_	        |j        |_        |                     ||           |S )NrU   
flow_stylerW   rG   r      Tz:Warning: unexpected end_event commment in sequence node {})r,   r5   rX   r0   rY   r   r[   r;   r_   rW   r%   r4   r   rZ   appendr@   r   rI   r\   check_end_doc_comment)r&   rG   start_eventrX   rA   rR   	end_events          r   rN   zComposer.compose_sequence_node   s|   k++--o;#**-''dK<PQQC""-'
 
 
 #'DL +))*:;; 	Jd//e<<===QJE +))*:;; 	 K))++	?d""y'8'D|'$fT_55   %,DL!*""9d333r   c           	         | j                                         }|j        }||dk    r&| j                            t
          d |j                  }t          |g |j        d |j        |j	        |          }|
|| j
        |<   | j                             t                    sg|                     |d           }|                     ||          }|j                            ||f           | j                             t                    g| j                                         }|j        du r|j	        |j	        |_	        |j        |_        |                     ||           |S )NrU   r^   T)r,   r5   rX   r0   rY   r   r[   r;   r_   rW   r%   r4   r   r@   rZ   ra   r\   rb   )r&   rG   rc   rX   rA   item_key
item_valuerd   s           r   rO   zComposer.compose_mapping_node   s]   k++--o;#**-''T;;OPPC""-'
 
 
 #'DL +))/:: 		6((t44H
 **4::JJx4555 +))/:: 		6 K))++	?d""y'8'D$,DL!*""9d333r   c                     |j         re|j         d         rZ|j         	d d g|_         t          |t                    rJ |j                             |j         d                    d |j         d<   d S d S d S )Nr`   )rW   
isinstancer   ra   )r&   rd   rA   s      r   rb   zComposer.check_end_doc_comment   s     	(!21!5 	(|# $d|!$44444 L	 1! 4555#'Ia   	( 	( 	( 	(r   r3   )r   r   r   r'   propertyr,   r0   r6   r9   r>   r8   rD   r@   rM   rN   rO   rb   r   r   r   r   r      s            # # X# % % X%; ; ;+ + +  2    " " "H  &  B     D
( 
( 
( 
( 
(r   )rJ   ruamel.yaml.errorr   r   ruamel.yaml.compatr   r   r   ruamel.yaml.eventsr   r	   r
   r   r   r   r   r   ruamel.yaml.nodesr   r   r   typingr   r   r   r   __all__r   r   r   r   r   <module>rq      sB    B B B B B B B B 2 2 2 2 2 2 2 2 2 2	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 D C C C C C C C C C1 
'	 	 	 	 	O 	 	 	U( U( U( U( U( U( U( U( U( U(r   