U mÃfã@sFddgZddlmZddlTddlTGdd„deƒZGdd„dƒZdS)ÚComposerÚ ComposerErroré)ÚMarkedYAMLError)Ú*c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú=/opt/hc_python/lib64/python3.8/site-packages/yaml/composer.pyrsc@sTeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dS)rcCs i|_dS©N)Úanchors©Úselfr r r Ú__init__ szComposer.__init__cCs| t¡r| ¡| t¡ Sr )Ú check_eventZStreamStartEventÚ get_eventÚStreamEndEventr r r r Ú check_nodes zComposer.check_nodecCs| t¡s| ¡SdSr )rrÚcompose_documentr r r r Úget_nodes zComposer.get_nodecCsN| ¡d}| t¡s| ¡}| t¡sB| ¡}td|jd|jƒ‚| ¡|S)Nz(expected a single document in the streamzbut found another document)rrrrrÚ start_mark)rZdocumentÚeventr r r Úget_single_nodes  þzComposer.get_single_nodecCs&| ¡| dd¡}| ¡i|_|Sr )rÚ compose_noder )rÚnoder r r r2s  zComposer.compose_documentcCsÔ| t¡r@| ¡}|j}||jkr6tddd||jƒ‚|j|S| ¡}|j}|dk r|||jkr|td||j|jd|jƒ‚| ||¡| t ¡rž|  |¡}n*| t ¡r´|  |¡}n| t ¡rÈ| |¡}| ¡|S)Nzfound undefined alias %rz+found duplicate anchor %r; first occurrencezsecond occurrence)rZ AliasEventrÚanchorr rrZ peek_eventZdescend_resolverZ ScalarEventÚcompose_scalar_nodeZSequenceStartEventÚcompose_sequence_nodeZMappingStartEventÚcompose_mapping_nodeZascend_resolver)rÚparentÚindexrrrr r r r?s<  ÿÿ  ÿ þ       zComposer.compose_nodecCs`| ¡}|j}|dks|dkr0| t|j|j¡}t||j|j|j|jd}|dk r\||j |<|S)Nú!)Ústyle) rÚtagÚresolveZ ScalarNodeÚvalueÚimplicitrÚend_markr"r )rrrr#rr r r rXsÿ zComposer.compose_scalar_nodecCs–| ¡}|j}|dks|dkr.| td|j¡}t|g|jd|jd}|dk rV||j|<d}| t ¡s‚|j   |  ||¡¡|d7}qZ| ¡}|j |_ |S)Nr!©Ú flow_styleér)rr#r$Z SequenceNoder&rr)r rZSequenceEndEventr%Úappendrr')rrÚ start_eventr#rr Ú end_eventr r r rcs$þ   zComposer.compose_sequence_nodecCsž| ¡}|j}|dks|dkr.| td|j¡}t|g|jd|jd}|dk rV||j|<| t ¡sŠ|  |d¡}|  ||¡}|j   ||f¡qV| ¡}|j |_ |S)Nr!r()rr#r$Z MappingNoder&rr)r rZMappingEndEventrr%r+r')rrr,r#rZitem_keyZ item_valuer-r r r rus$þ    zComposer.compose_mapping_nodeN) rrrrrrrrrrrrr r r r r s  N)Ú__all__ÚerrorrÚeventsZnodesrrr r r r Ús