
     hr                         d dl mZ d dlT d dlT d dlmZmZmZ d dlmZ d dl	m
Z
mZmZ d dlmZmZmZ 	 g d	Zd
 Z G d de          Z G d d          Z G d de          Z G d de          ZdS )    )MarkedYAMLError)*)ScannerRoundTripScannerScannerError)BlankLineComment)C_PREC_POSTC_SPLIT_ON_FIRST_BLANK)_FnprintnprintfF)AnyDictOptionalListr   )ParserRoundTripParserParserErrorc                      t          | i |S N)r   )argskws     N/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/ruamel/yaml/parser.pyxprintfr   [   s    DB    c                       e Zd ZdS )r   N)__name__
__module____qualname__ r   r   r   r   a   s        Dr   r   c                      e Zd ZdddZd Zd Z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 Zd Zd Zd*dZd Zd Zd Zd Zd Zd Zd Zd+dZd  Z d! Z!d" Z"d# Z#d+d$Z$d% Z%d& Z&d,d(Z'd-d)Z(d'S ).r   !ztag:yaml.org,2002:)r#   !!c                     || _         | j         "t          | j         dd           | | j         _        |                                  d S )N_parser)loadergetattrr&   reset_parser)selfr'   s     r   __init__zParser.__init__k   sF    ;"wt{It'L'L'T"&DKr   c                 d    d x| _         | _        i | _        g | _        g | _        | j        | _        d S r   )current_event
last_eventtag_handlesstatesmarksparse_stream_startstater*   s    r   r)   zParser.reset_parserr   s7     043T_
,


r   c                 .    |                                   d S r   )r)   r4   s    r   disposezParser.dispose{   s    r   c                 \    t          | j        d          r| j        j        S | j        j        S Ntyp)hasattrr'   scanner_scannerr4   s    r   r;   zParser.scanner   s.     4;&& 	';&&{##r   c                 \    t          | j        d          r| j        j        S | j        j        S r8   )r:   r'   resolver	_resolverr4   s    r   r>   zParser.resolver   s.     4;&& 	(;''{$$r   c                     | j          | j        r|                                 | _         | j         !|sdS |D ]}t          | j         |          r dS dS )NTF)r-   r3   
isinstance)r*   choiceschoices      r   check_eventzParser.check_event   sr     %z 2%)ZZ\\") t!    d0&99  44 ur   c                 ^    | j          | j        r|                                 | _         | j         S r   )r-   r3   r4   s    r   
peek_eventzParser.peek_event   s0     %z 2%)ZZ\\"!!r   c                     | j          | j        r|                                 | _         t          dt          | j                   |                                 j        j                   | j         x| _        }d | _         |S )N	get_event)r-   r3   r   reprrF   
start_markliner.   )r*   values     r   rH   zParser.get_event   sr     %z 2%)ZZ\\" 	T$"455t7H7H7S7XYYY"&"44%!r   c                     | j                                         }|                     |           t          |j        |j        |j                  }| j        | _        |S )N)encoding)	r;   	get_tokenmove_token_commentStreamStartEventrJ   end_markrN   parse_implicit_document_startr3   r*   tokenevents      r   r2   zParser.parse_stream_start   sW     &&((&&& !15>EN[[[ 7
r   c                 Z   | j                             t          t          t                    sm| j        | _        | j                                         }|j        x}}t          ||d          }| j
                            | j                   | j        | _        |S |                                 S )NFexplicit)r;   check_tokenDirectiveTokenDocumentStartTokenStreamEndTokenDEFAULT_TAGSr/   
peek_tokenrJ   DocumentStartEventr0   appendparse_document_endparse_block_noder3   parse_document_start)r*   rU   rJ   rR   rV   s        r   rS   z$Parser.parse_implicit_document_start   s     |''8JN[[ 	/#0DL++--E$)$44J&z8eLLLE Kt6777.DJL ,,...r   c           	         | j                             t                    r8| j                                          | j                             t                    8| j                             t                    s|                                 \  }}| j                             t                    sYt          d d t          d| j         	                                j
                  | j         	                                j                  | j                                         }|j        }|j        }t          ||d|||j                  }| j                            | j                   | j        | _        nS| j                                         }t)          |j        |j        |j                  }| j        rJ | j        rJ d | _        |S )Nz-expected '<document start>', but found {pt!r})ptT)rY   versiontagscommentri   )r;   rZ   DocumentEndTokenrO   r]   process_directivesr\   r   r   r_   idrJ   rR   r`   ri   r0   ra   rb   parse_document_contentr3   StreamEndEventr1   )r*   rg   rh   rU   rJ   rR   rV   s          r   rd   zParser.parse_document_start   s    l&&'788 	%L""$$$ l&&'788 	% |''77 	 3355MGT<++,>?? 	!G<22447   L++--8   L**,,E)J~H 'HtW4  E Kt67774DJJ L**,,E"5#3U^U][[[E{""?z!!>DJr   c                 F   | j                                         }|j        x}}d}| j                             t                    r"| j                                         }|j        }d}t          |||          }| j        j	        dk    r| j
        | _        n| j        | _        |S )NFTrX      rr   )r;   r_   rJ   rZ   rk   rO   rR   DocumentEndEventr>   processing_versionrd   r3   rS   )r*   rU   rJ   rR   rY   rV   s         r   rb   zParser.parse_document_end   s     '')) % 00
X<##$455 	L**,,E~HH XIII =+v552DJJ;DJr   c                 .   | j                             t          t          t          t
                    rQ|                     | j                                         j                  }| j	        
                                | _        |S |                                 S r   )r;   rZ   r[   r\   rk   r]   process_empty_scalarr_   rJ   r0   popr3   rc   )r*   rV   s     r   rn   zParser.parse_document_content  sw    <##.0@.
 
 	+ --dl.E.E.G.G.RSSE**DJL((***r   c                    d }i | _         | j                            t                    r| j                                        }|j        dk    rH|t          d d d|j                  |j        \  }}|dk    rt          d d d|j                  |j        }nN|j        dk    rC|j        \  }}|| j         v r&t          d d t          d|          |j                  || j         |<   | j                            t                    t          | j                   r|| j                                         f}n|d f}| j        ]t          | j        d          rH|| j        _        | j        j        i | j        _        | j         D ]}| j         |         | j        j        |<   | j        D ] }	|	| j         vr| j        |	         | j         |	<   !|S )	NYAMLzfound duplicate YAML directiverr   z:found incompatible YAML document (version 1.* is required)TAGzduplicate tag handle {handle!r}handlerh   )r/   r;   rZ   r[   rO   namer   rJ   rL   r   boolcopyr'   r:   rg   rh   r^   )
r*   yaml_versionrU   majorminorr|   prefixrL   kkeys
             r   rl   zParser.process_directives  s   l&&~66 	2L**,,EzV##+%d$DeFV    %{uA::%T(	    %{u$$!&T---%<VLLL(	   ,2 (3 l&&~66 	24  !! 	' $"2"7"7"9"99EE $&E;"wt{F'C'C"".DK{'#% % : :&*&6q&9 ##$ 	? 	?C$***(,(9#(> %r   c                 .    |                      d          S )NT)block
parse_noder4   s    r   rc   zParser.parse_block_nodeV  s    T***r   c                 *    |                                  S r   r   r4   s    r   parse_flow_nodezParser.parse_flow_nodeZ  s       r   c                 0    |                      dd          S )NT)r   indentless_sequencer   r4   s    r   'parse_block_node_or_indentless_sequencez.Parser.parse_block_node_or_indentless_sequence^  s    TtDDDr   c                 "    | j         |         |z   S r   )r/   r*   r|   suffixs      r   transform_tagzParser.transform_tagb  s    '&00r   Fc           
         | j                             t                    rY| j                                         }t	          |j        |j        |j                  }| j        	                                | _
        |S d }d }d x}x}}	| j                             t                    r| j                                         }|                     |           |j        }|j        }|j        }| j                             t                    r.| j                                         }|j        }	|j        }|j        }n| j                             t                    r| j                                         }|j        x}}	|j        }|j        }| j                             t                    r0| j                                         }|j        x}}	|j        }|j        }|J|\  }
}|
A|
| j        vr!t          d|t!          d|
          |	          |                     |
|          }n|}| | j                                         j        x}}d }|d u p|dk    }|r| j                             t&                    rd }| j                                         }| j        r:| j        j        .|j        r&|j        d         r|j        d         g g}d |j        d<   n| j        r|j        r|j        }| j                                         j        }t/          |||||d|          }| j        | _
        |S | j                             t2                    r| j                                         }|j        }|j        r||dk    rd}n|d	}nd
}t7          ||||j        |||j        |j                  }| j        	                                | _
        n| j                             t:                    rI| j                                         }|j        }t/          |||||d|j                  }| j        | _
        n| j                             t>                    rI| j                                         }|j        }tA          |||||d|j                  }| j!        | _
        n|r| j                             tD                    r| j                                         j        }| j                                         }|j        }||d         |#                                }t/          |||||d|          }| j$        | _
        n|r~| j                             tJ                    r_| j                                         j        }| j                                         j        }tA          |||||d|          }| j&        | _
        n||5t7          |||dfd||          }| j        	                                | _
        nZ|rd}nd}| j                                         }t          t!          d|          |t!          d|j'                  |j                  |S )Nzwhile parsing a nodez%found undefined tag handle {handle!r}r{   r#   r   F)
flow_styleri   TF)FTFF)styleri   Trr    r   flowzwhile parsing a {node!s} node)nodez1expected the node content, but found {token_id!r}token_id)(r;   rZ   
AliasTokenrO   
AliasEventrL   rJ   rR   r0   rw   r3   AnchorTokenrP   TagTokenr/   r   r   r   r_   BlockEntryTokenr'   comment_handlingri   SequenceStartEventparse_indentless_sequence_entryScalarTokenplainScalarEventr   FlowSequenceStartTokenparse_flow_sequence_first_entryFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyBlockSequenceStartTokensplit_old_comment parse_block_sequence_first_entryBlockMappingStartTokenparse_block_mapping_first_keyrm   )r*   r   r   rU   rV   anchortagrJ   rR   tag_markr|   r   implicitri   rf   r   s                   r   r   zParser.parse_nodef  ss   <##J// 	L**,,Eu{E,<enMME**DJL+//
/X<##K00 	%L**,,E##E***)J~H[F|''11 "..00 + >k\%%h// 		%L**,,E$)$44J~H+C|''44 %..00(-(88
X >? NFF!!111%."B6RRR 	   ((88 $(L$;$;$=$=$HHJ$;,#* 	4<#;#;O#L#L 	G((**B{ )t{;C: )"*Q- )!z!}b1G$(BJqM ): ) jG|..009H&Xz8W^  E =DJL<##K00 U	L**,,E~H *s

(()k	 	 	E **DJJ\%%&<== ?	((**B{H&
  E =DJJ\%%&;<< 2	((**B{H%
  E :DJJ %	t|//0GHH %	|..00;H ((**BjG'!*"4..00&Xz8W^  E >DJJ 	t|//0FGG 	|..00;Hl--//7G%Xz8W^  E ;DJJ3?  h->JPXYYE**DJJ L++--E2>>>FQVQYZZZ 	   r   c                     | j                                         }| j                            |j                   |                                 S r   )r;   rO   r1   ra   rJ   parse_block_sequence_entryr*   rU   s     r   r   z'Parser.parse_block_sequence_first_entry  sB    &&(( 	
%*+++..000r   c                 Z   | j                             t                    r| j                                         }|                     |           | j                             t          t
                    s3| j                            | j                   | 	                                S | j        | _
        |                     |j                  S | j                             t
                    sO| j                                         }t          d| j        d         t!          d|j                  |j                  | j                                         }t'          |j        |j        |j                  }| j                                        | _
        | j                                         |S )Nz while parsing a block collection,expected <block end>, but found {token_id!r}r   rj   )r;   rZ   r   rO   rP   BlockEndTokenr0   ra   r   rc   r3   rv   rR   r_   r   r1   r   rm   rJ   SequenceEndEventri   rw   rT   s      r   r   z!Parser.parse_block_sequence_entry  sd   <##O44 	AL**,,E##E***<++O]KK A""4#BCCC,,...!<
00@@@|''66 	L++--E2
2AEHUUU 	   &&(( !15>5=YYY[__&&

r   c                    | j                             t                    r| j                                         }|                     |           | j                             t          t
          t          t                    s3| j        	                    | j
                   |                                 S | j
        | _        |                     |j                  S | j                                         }d }| j        r| j        j        |j        }|j        }n,| j        j        }|                     |j        |j                  }t/          |||          }| j                                        | _        |S )Nrj   )r;   rZ   r   rO   rP   KeyToken
ValueTokenr   r0   ra   r   rc   r3   rv   rR   r_   r'   r   ri   rJ   r.   distribute_commentrK   r   rw   )r*   rU   crJ   rV   s        r   r   z&Parser.parse_indentless_sequence_entry0  s@   <##O44 
	AL**,,E##E***<++:}  A ""4#GHHH,,...!A
00@@@'')); 	H4;7?A)JJ1J''zGGA ZCCC[__&&
r   c                     | j                                         }| j                            |j                   |                                 S r   )r;   rO   r1   ra   rJ   parse_block_mapping_keyr   s     r   r   z$Parser.parse_block_mapping_first_keyN  s@    &&((
%*+++++---r   c                 h   | j                             t                    r| j                                         }|                     |           | j                             t          t
          t                    s3| j                            | j	                   | 
                                S | j	        | _        |                     |j                  S | j        j        dk    r\| j                             t
                    r=| j	        | _        |                     | j                                         j                  S | j                             t                    sO| j                                         }t%          d| j        d         t)          d|j                  |j                  | j                                         }|                     |           t-          |j        |j        |j                  }| j                                        | _        | j                                         |S )Nrq   zwhile parsing a block mappingr   r   r   rj   )r;   rZ   r   rO   rP   r   r   r0   ra   parse_block_mapping_valuer   r3   rv   rR   r>   rt   r_   rJ   r   r1   r   rm   MappingEndEventri   rw   rT   s      r   r   zParser.parse_block_mapping_keyT  s   <##H-- 	AL**,,E##E***<++Hj-PP A""4#ABBBCCEEE!;
00@@@=+f449Q9QR\9]9]47DJ,,T\-D-D-F-F-QRRR|''66 	L++--E/
2AEHUUU 	   &&((&&& 0%.%-XXX[__&&

r   c                 \   | j                             t                    rN| j                                         }| j                             t                    r|                     |           n6| j                             t
                    s|                     |d           | j                             t
          t          t                    s3| j                            | j	                   | 
                                S | j	        | _        |j        }|;| j                                         }|j        }|rd |d         g|_        |d         d g}|                     |j        |          S | j	        | _        | j                                         }|                     |j                  S )NTemptyrr   r   rj   )r;   rZ   r   rO   rP   r   r   r0   ra   r   r   r3   ri   r_   _commentrv   rR   rJ   )r*   rU   ri   s      r   r   z Parser.parse_block_mapping_valueq  sz   <##J// 	?L**,,E|''
33 ?''....|//99 ?++E+>>><++Hj-PP R""4#?@@@CCEEE!9
-? L3355E#mG 5*.
);#*1:t"4000QQQ5DJL++--E,,U-=>>>r   c                     | j                                         }| j                            |j                   |                     d          S NT)first)r;   rO   r1   ra   rJ   parse_flow_sequence_entryr   s     r   r   z&Parser.parse_flow_sequence_first_entry  sE    &&((
%*+++--D-999r   c                    | j                             t                    sA|s| j                             t                    r| j                                          nO| j                                         }t          d| j        d         t          d|j	                  |j
                  | j                             t                    rF| j                                         }t          d d d|j
        |j        d          }| j        | _        |S | j                             t                    s3| j                            | j                   |                                 S | j                                         }t)          |j
        |j        |j                  }| j                                        | _        | j                                         |S )Nzwhile parsing a flow sequencer   z)expected ',' or ']', but got {token_id!r}r   T)r   rj   )r;   rZ   FlowSequenceEndTokenFlowEntryTokenrO   r_   r   r1   r   rm   rJ   r   r   rR   %parse_flow_sequence_entry_mapping_keyr3   r0   ra   r   r   r   ri   rw   r*   r   rU   rV   s       r   r   z Parser.parse_flow_sequence_entry  s   |''(<== 	. 
<++N;; 	L**,,,, L3355E%7
2FQVQYZZZ(	   |''11 	.//11)$e&6SW   "G
\--.BCC .""4#ABBB++---&&(( !15>5=YYY[__&&

r   c                 <   | j                                         }| j                             t          t          t
                    s3| j                            | j                   | 	                                S | j        | _
        |                     |j                  S r   )r;   rO   rZ   r   r   r   r0   ra   'parse_flow_sequence_entry_mapping_valuer   r3   rv   rR   r   s     r   r   z,Parser.parse_flow_sequence_entry_mapping_key  s}    &&((|''
NDXYY 	=KtKLLL'')))EDJ,,U^<<<r   c                    | j                             t                    r| j                                         }| j                             t          t
                    s3| j                            | j                   | 	                                S | j        | _
        |                     |j                  S | j        | _
        | j                                         }|                     |j                  S r   )r;   rZ   r   rO   r   r   r0   ra   %parse_flow_sequence_entry_mapping_endr   r3   rv   rR   r_   rJ   r   s     r   r   z.Parser.parse_flow_sequence_entry_mapping_value  s    <##J// 	?L**,,E<++N<PQQ A""4#MNNN++---!G
00@@@CDJL++--E,,U-=>>>r   c                     | j         | _        | j                                        }t	          |j        |j                  S r   )r   r3   r;   r_   r   rJ   r   s     r   r   z,Parser.parse_flow_sequence_entry_mapping_end  s5    3
''))u/1ABBBr   c                     | j                                         }| j                            |j                   |                     d          S r   )r;   rO   r1   ra   rJ   parse_flow_mapping_keyr   s     r   r   z#Parser.parse_flow_mapping_first_key  sE    &&((
%*+++***666r   c                 0   | j                             t                    s|s| j                             t                    r| j                                          nO| j                                         }t          d| j        d         t          d|j	                  |j
                  | j                             t                    r| j                                         }| j                             t          t          t                    s3| j                            | j                   |                                 S | j        | _        |                     |j                  S | j        j        dk    r\| j                             t                    r=| j        | _        |                     | j                                         j                  S | j                             t                    s3| j                            | j                   |                                 S | j                                         }t/          |j
        |j        |j                  }| j                                        | _        | j                                         |S )Nzwhile parsing a flow mappingr   z*expected ',' or '}}', but got {token_id!r}r   rq   rj   )r;   rZ   FlowMappingEndTokenr   rO   r_   r   r1   r   rm   rJ   r   r   r0   ra   parse_flow_mapping_valuer   r3   rv   rR   r>   rt   parse_flow_mapping_empty_valuer   ri   rw   r   s       r   r   zParser.parse_flow_mapping_key  s4   |''(;<< 	. 
<++N;; 	L**,,,, L3355E%6
2GRWRZ[[[(	   |''11 ...00|//0C  E K&&t'DEEE//111!%!>DJ44U^DDD1F::t|?W?W@ @: ":
001H1H1J1J1STTT\--.ABB .""4#FGGG++---&&(( 0%.%-XXX[__&&

r   c                    | j                             t                    r| j                                         }| j                             t          t
                    s3| j                            | j                   | 	                                S | j        | _
        |                     |j                  S | j        | _
        | j                                         }|                     |j                  S r   )r;   rZ   r   rO   r   r   r0   ra   r   r   r3   rv   rR   r_   rJ   r   s     r   r   zParser.parse_flow_mapping_value  s    <##J// 	?L**,,E<++N<OPP A""4#>???++---!8
00@@@4DJL++--E,,U-=>>>r   c                 |    | j         | _        |                     | j                                        j                  S r   )r   r3   rv   r;   r_   rJ   r4   s    r   r   z%Parser.parse_flow_mapping_empty_value  s1    0
(()@)@)B)B)MNNNr   Nc           	      .    t          d d dd|||          S )Nr   r   rj   )r   )r*   markri   s      r   rv   zParser.process_empty_scalar#  s    4}b$gVVVVr   c                     d S r   r!   r*   rU   ntr   s       r   rP   zParser.move_token_comment'  s    r   r   )Fr   NF))r   r   r    r^   r+   r)   r6   propertyr;   r>   rD   rF   rH   r2   rS   rd   rb   rn   rl   rc   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   rP   r!   r   r   r   r   e   s        $899L  - - -   $ $ X$ % % X%  " " "  $
 
 
/ / /$% % %N  (	+ 	+ 	++ + +z+ + +! ! !E E E1 1 1] ] ] ]D1 1 1  @  <. . .  :? ? ?P: : :   >= = =? ? ?C C C7 7 7$ $ $ $L? ? ?O O O
W W W W     r   r   c                        e Zd ZdZd ZddZdS )r   ?roundtrip is a safe loader, that wants to see the unmangled tagc                 X    |dk    r |dv rt                               | ||          S ||z   S )Nr$   )nullr~   intfloatbinary	timestampomappairssetstrseqmap)r   r   r   s      r   r   zRoundTripParser.transform_tag/  sB     T>>f )
 
 
 ''ff===r   NFc                 j    |                     || j                                        n||           d S Nr   )move_old_commentr;   r_   r   s       r   rP   z"RoundTripParser.move_token_commentC  9    BJt|66888BV[\\\\\r   r   )r   r   r    __doc__r   rP   r!   r   r   r   r   ,  sC        II  (] ] ] ] ] ]r   r   c                        e Zd ZdZddZd ZdS )RoundTripParserSCr   NFc                 j    |                     || j                                        n||           d S r   )move_new_commentr;   r_   r   s       r   rP   z$RoundTripParserSC.move_token_commentN  r   r   c                    |d S |d         sd S |d         d         |dz   k    rt          d||           |d         d         |dz   k    sJ | j        j        dz  }|t          k    rd S |t          k    rd d |d         g}d |d<   |S t          |d                   D ],\  }}t          | j        j        |         t                    r n-d S |dk    rd S |t          k    r(d d |d         d |         g}|d         |d          |d<   |S t          )Nr   rr   z>>>dcxxx   )r   r'   r   r
   r	   	enumeraterA   r;   commentsr   r   NotImplementedError)r*   ri   rK   r9   r   _idxcmntidxs          r   r   z$RoundTripParserSC.distribute_commentR  sL    ?4qz 	41:a=D1H$$J...qz!}q(((( k*T1&==4%<<tWQZ(AGAJH&wqz22 	 	MD'$,/8:JKK  41994(((tWQZ./A DEE*GAJH!!r   r   )r   r   r    r   rP   r   r!   r   r   r   r   H  sA        II
] ] ] ]"" "" "" "" ""r   r   N)ruamel.yaml.errorr   ruamel.yaml.tokensruamel.yaml.eventsruamel.yaml.scannerr   r   r   r   ruamel.yaml.commentsr	   r
   r   ruamel.yaml.compatr   r   r   typingr   r   r   r   __all__r   r   r   r   r   r!   r   r   <module>r     s  Z . - - - - -                 G G G G G G G G G G 0 0 0 0 0 0 F F F F F F F F F F 2 2 2 2 2 2 2 2 2 2; 7
6
6	 	 		 	 	 	 	/ 	 	 	D D D D D D D DN] ] ] ] ]f ] ] ]8," ," ," ," ," ," ," ," ," ,"r   