
    i                         d dl mZ ddlmZ ddl ddl ddlmZmZm	Z	 ddl
mZmZmZ 	 g dZ G d d	e      Z G d
 de      Z G d de      Zy)    )absolute_import   )MarkedYAMLError)*)ScannerRoundTripScannerScannerError)utf8nprintnprintf)ParserRoundTripParserParserErrorc                       e Zd Zy)r   N)__name__
__module____qualname__     i/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/srsly/ruamel_yaml/parser.pyr   r   [   s    r   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'y&)+r   !ztag:yaml.org,2002:)r   !!c                     || _         | j                   (t        | j                   dd       | | j                   _        | j                          y )N_parser)loadergetattrr   reset_parser)selfr   s     r   __init__zParser.__init__e   s=    ;;"wt{{It'L'T"&DKKr   c                 ^    d | _         i | _        g | _        g | _        | j                  | _        y N)current_eventtag_handlesstatesmarksparse_stream_startstater   s    r   r   zParser.reset_parserl   s/     "
,,
r   c                 $    | j                          y r"   )r   r)   s    r   disposezParser.disposeu   s    r   c                     t        | j                  d      r| j                  j                  S | j                  j                  S Ntyp)hasattrr   scanner_scannerr)   s    r   r0   zParser.scannery   s2     4;;&;;&&&{{###r   c                     t        | j                  d      r| j                  j                  S | j                  j                  S r-   )r/   r   resolver	_resolverr)   s    r   r3   zParser.resolver   s2     4;;&;;'''{{$$$r   c                     | j                   !| j                  r| j                         | _         | j                   "|sy|D ]  }t        | j                   |      s y y)NTF)r#   r(   
isinstance)r   choiceschoices      r   check_eventzParser.check_event   s^     %zz%)ZZ\")!  d00&9  r   c                 t    | j                   !| j                  r| j                         | _         | j                   S r"   r#   r(   r)   s    r   
peek_eventzParser.peek_event   s1     %zz%)ZZ\"!!!r   c                     | j                   !| j                  r| j                         | _         | j                   }d | _         |S r"   r;   )r   values     r   	get_eventzParser.get_event   s=     %zz%)ZZ\"""!r   c                    | j                   j                         }|j                  | j                   j                                t	        |j
                  |j                  |j                        }| j                  | _	        |S )N)encoding)
r0   	get_tokenmove_comment
peek_tokenStreamStartEvent
start_markend_markrA   parse_implicit_document_startr(   r   tokenevents      r   r'   zParser.parse_stream_start   sd     &&(4<<2245 ennu~~

 77
r   c                 r   | j                   j                  t        t        t              s| j
                  | _        | j                   j                         }|j                  x}}t        ||d      }| j                  j                  | j                         | j                  | _        |S | j                         S )NFexplicit)r0   check_tokenDirectiveTokenDocumentStartTokenStreamEndTokenDEFAULT_TAGSr$   rD   rF   DocumentStartEventr%   appendparse_document_endparse_block_noder(   parse_document_start)r   rJ   rF   rG   rK   s        r   rH   z$Parser.parse_implicit_document_start   s     ||''.
  $00DLL++-E$)$4$44J&z8eLE KKt667..DJL ,,..r   c                     | j                   j                  t              r:| j                   j                          | j                   j                  t              r:| j                   j                  t              s| j                   j                         }|j                  }| j                         \  }}| j                   j                  t              sUt        d d d| j                   j                         j                  z  | j                   j                         j                        | j                   j                         }|j                  }t        ||d||      }| j                  j                  | j                         | j                   | _        |S | j                   j                         }t%        |j                  |j                  |j&                        }| j                  rJ | j(                  rJ d | _        |S )Nz)expected '<document start>', but found %rT)rN   versiontagscomment)r0   rO   DocumentEndTokenrB   rR   rD   rF   process_directivesrQ   r   idrG   rT   r%   rU   rV   parse_document_contentr(   StreamEndEventr]   r&   )r   rJ   rF   rZ   r[   rG   rK   s          r   rX   zParser.parse_document_start   s    ll&&'78LL""$ ll&&'78 ||''7LL++-E))J 335MGT<<++,>?!?ll--/223LL++-88  LL**,E~~H 'HtW4E KKt66744DJ  LL**,E"  %..%--E {{"?zz!>DJr   c                 ~   | j                   j                         }|j                  x}}d}| j                   j                  t              r(| j                   j                         }|j                  }d}t        |||      }| j                  j                  dk(  r| j                  | _        |S | j                  | _        |S )NFTrM   r   r   )r0   rD   rF   rO   r^   rB   rG   DocumentEndEventr3   processing_versionrX   r(   rH   )r   rJ   rF   rG   rN   rK   s         r   rV   zParser.parse_document_end   s     '') % 0 00
X<<##$45LL**,E~~HH XI ==++v522DJ  ;;DJr   c                 &   | j                   j                  t        t        t        t
              rT| j                  | j                   j                         j                        }| j                  j                         | _        |S | j                         S r"   )r0   rO   rP   rQ   r^   rR   process_empty_scalarrD   rF   r%   popr(   rW   )r   rK   s     r   ra   zParser.parse_document_content	  sj    <<##.0@.
 --dll.E.E.G.R.RSE*DJL((**r   c                 R   d }i | _         | j                  j                  t              r| j                  j	                         }|j
                  dk(  rS|t        d d d|j                        |j                  \  }}|dk7  rt        d d d|j                        |j                  }n_|j
                  dk(  rP|j                  \  }}|| j                   v r$t        d d dt        |      z  |j                        || j                   |<   | j                  j                  t              rt        | j                         r|| j                   j                         f}n|d f}| j                  t        | j                  d      ro|| j                  _        | j                  j                  i | j                  _        | j                   D ](  }| j                   |   | j                  j                  |<   * | j                   D ]-  }	|	| j                   vs| j                   |	   | j                   |	<   / |S )NYAMLzfound duplicate YAML directiver   z:found incompatible YAML document (version 1.* is required)TAGzduplicate tag handle %rr[   )r$   r0   rO   rP   rB   namer   rF   r>   r
   boolcopyr   r/   rZ   r[   rS   )
r   yaml_versionrJ   majorminorhandleprefixr>   kkeys
             r   r_   zParser.process_directives  s   ll&&~6LL**,EzzW$+%d$DeFVFV   %{{uA:%W((	   %{{v%!&T---%1DL@((	  ,2  (3 ll&&~64   ! $"2"2"7"7"99E $&E;;"wt{{F'C".DKK{{'#% %% :&*&6&6q&9  #:$$ 	?C$***(,(9(9#(>  %	? r   c                 &    | j                  d      S )NT)block
parse_noder)   s    r   rW   zParser.parse_block_nodeQ  s    T**r   c                 "    | j                         S r"   ry   r)   s    r   parse_flow_nodezParser.parse_flow_nodeU  s      r   c                 (    | j                  dd      S )NT)rx   indentless_sequencery   r)   s    r   'parse_block_node_or_indentless_sequencez.Parser.parse_block_node_or_indentless_sequenceY  s    TtDDr   c                 &    | j                   |   |z   S r"   )r$   r   rs   suffixs      r   transform_tagzParser.transform_tag]  s    '&00r   c           
      ,   | j                   j                  t              rf| j                   j                         }t	        |j
                  |j                  |j                        }| j                  j                         | _
        |S d }d }d x}x}}	| j                   j                  t              r| j                   j                         }|j                  }|j                  }|j
                  }| j                   j                  t              r| j                   j                         }|j                  }	|j                  }|j
                  }n| j                   j                  t              r| j                   j                         }|j                  x}}	|j                  }|j
                  }| j                   j                  t              r@| j                   j                         }|j                  x}}	|j                  }|j
                  }|D|\  }
}|
;|
| j                  vrt        d|dt        |
      z  |	      | j!                  |
|      }n|}|&| j                   j#                         j                  x}}d }|d u xs |dk(  }|r| j                   j                  t$              rd }| j                   j#                         }|j&                  r/|j&                  d   r |j&                  d   g g}d |j&                  d<   | j                   j#                         j                  }t)        |||||d|      }| j*                  | _
        |S | j                   j                  t,              r| j                   j                         }|j                  }|j.                  r||dk(  rd}n|d}nd	}t1        ||||j
                  |||j2                  |j&                  
      }| j                  j                         | _
        |S | j                   j                  t4              rU| j                   j#                         }|j                  }t)        |||||d|j&                        }| j6                  | _
        |S | j                   j                  t8              rU| j                   j#                         }|j                  }t;        |||||d|j&                        }| j<                  | _
        |S |r| j                   j                  t>              r| j                   j#                         j                  }| j                   j#                         }|j&                  }||d   |jA                         }t)        |||||d|      }| jB                  | _
        |S |r| j                   j                  tD              rm| j                   j#                         j                  }| j                   j#                         j&                  }t;        |||||d|      }| jF                  | _
        |S ||3t1        |||dfd||      }| j                  j                         | _
        |S |rd}nd}| j                   j#                         }t        d|z  |d|jH                  z  |j                        )Nzwhile parsing a nodezfound undefined tag handle %rr   r   F)
flow_styler]   TF)FTFF)styler]   Tr    rx   flowzwhile parsing a %s nodez'expected the node content, but found %r)%r0   rO   
AliasTokenrB   
AliasEventr>   rF   rG   r%   ri   r(   AnchorTokenTagTokenr$   r   r
   r   rD   BlockEntryTokenr]   SequenceStartEventparse_indentless_sequence_entryScalarTokenplainScalarEventr   FlowSequenceStartTokenparse_flow_sequence_first_entryFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyBlockSequenceStartTokensplit_comment parse_block_sequence_first_entryBlockMappingStartTokenparse_block_mapping_first_keyr`   )r   rx   r~   rJ   rK   anchortagrF   rG   tag_markrs   r   implicitr]   ptnodes                   r   rz   zParser.parse_nodea  s   <<##J/LL**,EU--u~~E *DJL+//
/X<<##K0LL**,E))J~~H[[F||''1..0 ++ >>kk\\%%h/LL**,E$)$4$44J~~H++C||''4..0(-(8(88
X >>? NFF!!1!11%."7$v,F 	  ((8 $(LL$;$;$=$H$HHJ$;-#+4<<#;#;O#LG((*Bzzbjjm::a="- $

1||..099H& E ==DJL<<##K0LL**,E~~Ht(()kk	E *DJ^ ] \\%%&<=((*B{{H&

E ==DJD C \\%%&;<((*B{{H%

E ::DJj i t||//0GH||..0;;H ((*BjjG'!*"4**,& E >>DJB A t||//0FG||..0;;Hll--/77G% E ;;DJ( ' 3?  h.JE *DJ  LL++-E)D09EHHD  	 r   c                     | j                   j                         }| j                  j                  |j                         | j                         S r"   )r0   rB   r&   rU   rF   parse_block_sequence_entryr   rJ   s     r   r   z'Parser.parse_block_sequence_first_entry  s=    &&( 	

%**+..00r   c                    | j                   j                  t              r| j                   j                         }|j	                  | j                   j                                | j                   j                  t        t              s5| j                  j                  | j                         | j                         S | j                  | _        | j                  |j                        S | j                   j                  t              sL| j                   j                         }t        d| j                  d   d|j                   z  |j"                        | j                   j                         }t%        |j"                  |j                  |j&                        }| j                  j)                         | _        | j                  j)                          |S )Nz while parsing a block collection"expected <block end>, but found %rr\   )r0   rO   r   rB   rC   rD   BlockEndTokenr%   rU   r   rW   r(   rh   rG   r   r&   r`   rF   SequenceEndEventr]   ri   rI   s      r   r   z!Parser.parse_block_sequence_entry  sL   <<##O4LL**,Et||6689<<++O]K""4#B#BC,,..!<<
00@@||''6LL++-E2

24uxx?  	  &&( ennemm
 [[__&


r   c                    | j                   j                  t              r| j                   j                         }|j	                  | j                   j                                | j                   j                  t        t        t        t              s5| j                  j                  | j                         | j                         S | j                  | _        | j                  |j                        S | j                   j                         }t!        |j"                  |j"                  |j$                        }| j                  j'                         | _        |S )Nr\   )r0   rO   r   rB   rC   rD   KeyToken
ValueTokenr   r%   rU   r   rW   r(   rh   rG   r   rF   r]   ri   rI   s      r   r   z&Parser.parse_indentless_sequence_entry>  s    <<##O4LL**,Et||6689<<++:} ""4#G#GH,,..!AA
00@@'') e..
 [[__&
r   c                     | j                   j                         }| j                  j                  |j                         | j                         S r"   )r0   rB   r&   rU   rF   parse_block_mapping_keyr   s     r   r   z$Parser.parse_block_mapping_first_keyW  s;    &&(

%**+++--r   c                    | j                   j                  t              r| j                   j                         }|j	                  | j                   j                                | j                   j                  t        t        t              s5| j                  j                  | j                         | j                         S | j                  | _        | j                  |j                        S | j                  j                   dkD  rc| j                   j                  t              rD| j                  | _        | j                  | j                   j                         j"                        S | j                   j                  t              sL| j                   j                         }t%        d| j&                  d   d|j(                  z  |j"                        | j                   j                         }|j	                  | j                   j                                t+        |j"                  |j                  |j,                        }| j                  j/                         | _        | j&                  j/                          |S )Nrd   zwhile parsing a block mappingr   r   r\   )r0   rO   r   rB   rC   rD   r   r   r%   rU   parse_block_mapping_valuer   r(   rh   rG   r3   rf   rF   r   r&   r`   MappingEndEventr]   ri   rI   s      r   r   zParser.parse_block_mapping_key]  s   <<##H-LL**,Et||6689<<++Hj-P""4#A#ABCCEE!;;
00@@==++f49Q9Q:
 77DJ,,T\\-D-D-F-Q-QRR||''6LL++-E/

24uxx?  	  &&(4<<2245 0 0%..%--X[[__&


r   c                    | j                   j                  t              r| j                   j                         }| j                   j                  t              r*|j	                  | j                   j                                nJ| j                   j                  t              s+|j	                  | j                   j                         d       | j                   j                  t        t        t              s5| j                  j                  | j                         | j                         S | j                  | _        |j                  }|;| j                   j                         }|j                  }|rd |d   g|_        |d   d g}| j                  |j                   |      S | j                  | _        | j                   j                         }| j                  |j"                        S )NT)emptyr   r   r\   )r0   rO   r   rB   rC   rD   r   r   r%   rU   r   r   r(   r]   _commentrh   rG   rF   )r   rJ   r]   s      r   r   z Parser.parse_block_mapping_value|  si   <<##J/LL**,E||''
3""4<<#:#:#<=||//9&&t||'>'>'@&M<<++Hj-P""4#?#?@CCEE!99
--? LL335E#mmG*.
);#*1:t"4000QQ55DJLL++-E,,U-=-=>>r   c                     | j                   j                         }| j                  j                  |j                         | j                  d      S NT)first)r0   rB   r&   rU   rF   parse_flow_sequence_entryr   s     r   r   z&Parser.parse_flow_sequence_first_entry  s@    &&(

%**+--D-99r   c                    | j                   j                  t              sM|s| j                   j                  t              r| j                   j	                          nL| j                   j                         }t        d| j                  d   d|j                  z  |j                        | j                   j                  t              rR| j                   j                         }t        d d d|j                  |j                  d      }| j                  | _        |S | j                   j                  t              s5| j                  j!                  | j"                         | j%                         S | j                   j	                         }t'        |j                  |j                  |j(                        }| j                  j+                         | _        | j                  j+                          |S )Nzwhile parsing a flow sequencer   zexpected ',' or ']', but got %rT)r   r\   )r0   rO   FlowSequenceEndTokenFlowEntryTokenrB   rD   r   r&   r`   rF   r   r   rG   %parse_flow_sequence_entry_mapping_keyr(   r%   rU   r   r|   r   r]   ri   r   r   rJ   rK   s       r   r   z Parser.parse_flow_sequence_entry  sj   ||''(<=<<++N;LL**, LL335E%7

29EHHD((	  ||''1//1)$e&6&6SW "GG
\\--.BC""4#A#AB++--&&( ennemm
 [[__&


r   c                 J   | j                   j                         }| j                   j                  t        t        t
              s5| j                  j                  | j                         | j                         S | j                  | _
        | j                  |j                        S r"   )r0   rB   rO   r   r   r   r%   rU   'parse_flow_sequence_entry_mapping_valuer|   r(   rh   rG   r   s     r   r   z,Parser.parse_flow_sequence_entry_mapping_key  sy    &&(||''(<
 KKtKKL''))EEDJ,,U^^<<r   c                 
   | j                   j                  t              r| j                   j                         }| j                   j                  t        t
              s5| j                  j                  | j                         | j                         S | j                  | _
        | j                  |j                        S | j                  | _
        | j                   j                         }| j                  |j                        S r"   )r0   rO   r   rB   r   r   r%   rU   %parse_flow_sequence_entry_mapping_endr|   r(   rh   rG   rD   rF   r   s     r   r   z.Parser.parse_flow_sequence_entry_mapping_value  s    <<##J/LL**,E<<++N<PQ""4#M#MN++--!GG
00@@CCDJLL++-E,,U-=-=>>r   c                     | j                   | _        | j                  j                         }t	        |j
                  |j
                        S r"   )r   r(   r0   rD   r   rF   r   s     r   r   z,Parser.parse_flow_sequence_entry_mapping_end  s:    33
'')u//1A1ABBr   c                     | j                   j                         }| j                  j                  |j                         | j                  d      S r   )r0   rB   r&   rU   rF   parse_flow_mapping_keyr   s     r   r   z#Parser.parse_flow_mapping_first_key  s@    &&(

%**+***66r   c                 z   | j                   j                  t              s|s| j                   j                  t              r| j                   j	                          nL| j                   j                         }t        d| j                  d   d|j                  z  |j                        | j                   j                  t              r| j                   j	                         }| j                   j                  t        t        t              s5| j                  j                  | j                         | j                         S | j                  | _        | j#                  |j$                        S | j&                  j(                  dkD  rc| j                   j                  t              rD| j                  | _        | j#                  | j                   j                         j$                        S | j                   j                  t              s5| j                  j                  | j*                         | j                         S | j                   j	                         }t-        |j                  |j$                  |j.                        }| j                  j1                         | _        | j                  j1                          |S )Nzwhile parsing a flow mappingr   zexpected ',' or '}', but got %rrd   r\   )r0   rO   FlowMappingEndTokenr   rB   rD   r   r&   r`   rF   r   r   r%   rU   parse_flow_mapping_valuer|   r(   rh   rG   r3   rf   parse_flow_mapping_empty_valuer   r]   ri   r   s       r   r   zParser.parse_flow_mapping_key  s   ||''(;<<<++N;LL**, LL335E%6

29EHHD((	  ||''1..0||//0C KK&&t'D'DE//11!%!>!>DJ44U^^DD11F:t||?W?W@ "::
001H1H1J1S1STT\\--.AB""4#F#FG++--&&( 0 0%..%--X[[__&


r   c                 
   | j                   j                  t              r| j                   j                         }| j                   j                  t        t
              s5| j                  j                  | j                         | j                         S | j                  | _
        | j                  |j                        S | j                  | _
        | j                   j                         }| j                  |j                        S r"   )r0   rO   r   rB   r   r   r%   rU   r   r|   r(   rh   rG   rD   rF   r   s     r   r   zParser.parse_flow_mapping_value  s    <<##J/LL**,E<<++N<OP""4#>#>?++--!88
00@@44DJLL++-E,,U-=-=>>r   c                     | j                   | _        | j                  | j                  j	                         j
                        S r"   )r   r(   rh   r0   rD   rF   r)   s    r   r   z%Parser.parse_flow_mapping_empty_value-  s3    00
(()@)@)B)M)MNNr   Nc           	      &    t        d d dd|||      S )Nr   r   r\   )r   )r   markr]   s      r   rh   zParser.process_empty_scalar2  s    4}b$gVVr   r   )Fr"   )(r   r   r   rS   r    r   r+   propertyr0   r3   r9   r<   r?   r'   rH   rX   rV   ra   r_   rW   r|   r   r   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   r   r   r   r   r   _   s     '<=L- $ $ % %"/(%N(	++z+!E1nf1D2.>?P:B
=?C7$L?O
Wr   r   c                       e Zd ZdZd Zy)r   z?roundtrip is a safe loader, that wants to see the unmangled tagc                 L    |dk(  r|dv rt         j                  | ||      S ||z   S )Nr   )nullrn   intfloatbinary	timestampomappairssetstrseqmap)r   r   r   s      r   r   zRoundTripParser.transform_tag:  s8     T>f )
 
 ''ff==r   N)r   r   r   __doc__r   r   r   r   r   r   7  s
    Ir   r   N)
__future__r   errorr   tokenseventsr0   r   r   r	   compatr
   r   r   typingAnyDictOptionalList__all__r   objectr   r   r   r   r   <module>r      sU    'X #   < < ) ) 7	/ 	UWV UWpf r   