
    9i                       S SK Jr  S SKrS SKJrJr  S SK7  S SKJrJ	r	J
r
JrJr   SS/r " S S\5      r " S	 S
5      r " S S5      r " S S5      r " S S\5      rg)    )annotationsN)	YAMLErrorYAMLStreamError)*)nprintdbg	DBG_EVENTcheck_anchorname_charnprintfEmitterEmitterErrorc                      \ rS rSrSrg)r       N)__name__
__module____qualname____firstlineno____static_attributes__r       S/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/ruamel/yaml/emitter.pyr   r      s    r   c                  L    \ rS rSr                  SS jrSS jrSrg)ScalarAnalysis    c	                d    Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        g Nscalarempty	multilineallow_flow_plainallow_block_plainallow_single_quotedallow_double_quotedallow_block)	selfr   r   r    r!   r"   r#   r$   r%   s	            r   __init__ScalarAnalysis.__init__!   s1     
" 0!2#6 #6 &r   c                    SU R                   < SU R                   SU R                   SU R                   SU R                   SU R
                   SU R                   SU R                   3$ )	Nzscalar=z, empty=z, multiline=z, allow_flow_plain=z, allow_block_plain=z, allow_single_quoted=z, allow_double_quoted=z, allow_block=r   r&   s    r   __repr__ScalarAnalysis.__repr__5   s    x

|<GWWjko  lA  lA  kB  BV  W[  Wm  Wm  Vn  nD  EI  E]  E]  D^  ^t  uy  uM  uM  tN  N\  ]a  ]m  ]m  \n  o  	or   )r%   r"   r$   r!   r#   r   r    r   N)r   Anyr   r-   r    r-   r!   boolr"   r.   r#   r.   r$   r.   r%   r.   returnNone)r/   str)r   r   r   r   r'   r+   r   r   r   r   r   r       se    '' ' 	'
 '  ' "' "' ' 
'(or   r   c                  n    \ rS rSrSS jrSS jrSS jrSS jrSS jr S       SS jjr	SS jr
S	rg
)Indents9   c                    / U l         g r   valuesr*   s    r   r'   Indents.__init__;   s	    .0r   c                <    U R                   R                  X45        g r   )r7   append)r&   valseqs      r   r:   Indents.append>   s    C:&r   c                <    U R                   R                  5       S   $ Nr   )r7   popr*   s    r   r@   Indents.popA   s    {{ ##r   c                     U R                   S   S   (       a  U R                   S   S   (       a  gg! [         a     gf = f)N   TFr7   
IndexErrorr*   s    r   seq_seqIndents.seq_seqD   sE    	{{2q!dkk"oa&8   		s   .2 
??c                H     U R                   S   S   $ ! [         a     gf = f)NrC   rD   FrF   r*   s    r   last_seqIndents.last_seqL   s,    	;;r?1%% 		s    
!!c                   [        U R                  5      S:  d  U R                  S   S   (       d!  [        U R                  5      S:X  d  U(       d  gU R                  S   S   b  U R                  S   S   OSnU(       a  XA-   $ XA-   U-
  S-
  $ )N   rE   rD   r   lenr7   )r&   
seq_indentcolumnpre_commentbases        r   seq_flow_alignIndents.seq_flow_alignT   s    
 t{{at{{2q'94;;1$K%)[[_Q%7%Ct{{2q!$$  6)A--r   c                ,    [        U R                  5      $ r   rO   r*   s    r   __len__Indents.__len__c   s    4;;r   r6   Nr/   r0   )r;   r-   r<   r-   r/   r0   r/   r-   r/   r.   F)rQ   intrR   r^   rS   Optional[bool]r/   r^   r/   r^   )r   r   r   r   r'   r:   r@   rH   rK   rU   rX   r   r   r   r   r3   r3   9   sL    1'$ KP..'*.9G.	. r   r3   c                     \ rS rSrSSSS.rSrSrSrSrS	r	S
r
Sr          S_                       S`S jjr\SaS j5       r\R                  SbS j5       r\SaS j5       r\ScS j5       rSdS jrSeS jrSfS jrSgS jr Sh       SiS jjrSdS jrSdS jrSaS jrSjSkS jjrSdS jrSdS jr    Sl         SmS jjrSdS jrSdS jrSjSnS jjr SdS  jr!SdS! jr" So     SpS" jjr#SdS# jr$SdS$ jr%SdS% jr&SdS& jr'SdS' jr(SaS( jr)SjSkS) jjr*SdS* jr+SdS+ jr,SjSqS, jjr-SdS- jr.SdS. jr/SfS/ jr0SfS0 jr1SfS1 jr2SfS2 jr3SrS3 jr4SdS4 jr5SaS5 jr6SdS6 jr7SsS7 jr8StS8 jr9SuS9 jr:SvS: jr;SwS; jr<SxS< jr=SdS= jr>SdS> jr?SdS? jr@  So         SyS@ jjrASdSA jrBSzS{SB jjrCS|SC jrDS}SD jrES~SSE jjrFSFSGSHSISJSKSLSMSNSOSPSQSRSSSTSU.rGS~SSV jjrHSSW jrISSX jrJSzSSY jjrKS~SSZ jjrLSjSS[ jjrMSS\ jrNSS] jrOS^rPg)r   g   !!!)rc   ztag:yaml.org,2002:rd      [],{}Nc                   Xl         U R                   b(  [        U R                   SS 5      c  X R                   l        Xl        S U l        S U l        / U l        U R                  U l        / U l	        S U l
        [        5       U l        S U l        / U l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        S U l        SU l        SU l        U	c  U R6                  OXR6                  -   U l        U
U l        X l        XPl        [@        RB                  S:  U l"        U(       a  UOSU l#        Xl$        SU l%        X0l&        U(       a  SUs=:  a  S	:  a	  O  OX0l%        U RJ                  U l'        S
U l(        U(       a  X@RJ                  S-  :  a  X@l(        SU l)        US;   a  X`l)        S U l*        S U l+        S U l,        S U l-        S U l.        SU l/        SU l0        g )N_emitterFr   T:i  rN   rD   
   P   
)rp   z
null)1dumpergetattrrl   streamencodingallow_space_breakstatesexpect_stream_startstateeventseventr3   indentsindentflow_contextroot_contextsequence_contextmapping_contextsimple_key_contextlinerR   
whitespace	indentioncompact_seq_seqcompact_seq_map
no_newline
open_endedcolonprefixed_colon+brace_single_entry_mapping_in_flow_sequence	canonicalallow_unicodesys
maxunicodeunicode_supplementarysequence_dash_offsettop_level_colon_alignbest_sequence_indentrequested_indentbest_map_indent
best_widthbest_line_breaktag_prefixesprepared_anchorprepared_taganalysisstylescalar_after_indicatoralt_null)r&   ru   r   r~   widthr   
line_breakblock_seq_indentr   prefix_colonr   rs   s               r   r'   Emitter.__init__x   s    ;;"wt{{J'M'U#'KK  )-!% "$22
 "$
 y%) )+ " %$"' 	##*.   
,8,@djjlU_U_F_ 8 	8
 #*%(^^f%<"8H$4a!%:"$%! &a&o2o(.%#88 U66::#O$(--#-  "& %)!% "
&*#r   c                N     U R                   $ ! [         a    [        S5      ef = f)Nz#output stream needs to be specified)_streamAttributeErrorr   r*   s    r   ru   Emitter.stream   s/    	I<< 	I!"GHH	Is    $c                P    Uc  g [        US5      (       d  [        S5      eXl        g )Nwritez.stream argument needs to have a write() method)hasattrr   r   )r&   r;   s     r   ru   r      s(    ;sG$$!"RSSr   c                     [        U R                  S5      (       a  U R                  R                  $ U R                  R                  $ ! [         a    U s $ f = f)Ntyp)r   rs   
serializer_serializerr   r*   s    r   r   Emitter.serializer   sL    	t{{E**{{---;;*** 	K	s   0A	 A	 	AAc                ,    [        U R                  5      $ r   )rP   r   r*   s    r   
flow_levelEmitter.flow_level   s    4$$%%r   c                     / U l         S U l        g r   )rx   rz   r*   s    r   disposeEmitter.dispose   s    
r   c                @   [        [        5      (       a  [        U5        U R                  R	                  U5        U R                  5       (       dO  U R                  R                  S5      U l        U R                  5         S U l        U R                  5       (       d  MN  g g r?   )	r   r	   r   r{   r:   need_more_eventsr@   r|   rz   r&   r|   s     r   emitEmitter.emit  sh    y>>5M5!''))+DJJJLDJ ''))r   c                *   U R                   (       d  gU R                   S   n[        U[        5      (       a  U R                  S5      $ [        U[        5      (       a  U R                  S5      $ [        U[
        5      (       a  U R                  S5      $ g)NTr   rD   rN      F)r{   
isinstanceDocumentStartEventneed_eventsSequenceStartEventMappingStartEventr   s     r   r   Emitter.need_more_events  sy    {{Ae/00##A&&122##A&&011##A&&r   c                *   SnU R                   SS   Hd  n[        U[        [        45      (       a  US-  nO8[        U[        [
        45      (       a  US-  nO[        U[        5      (       a  SnUS:  d  Md    g   [        U R                   5      US-   :  $ )Nr   rD   rE   F)r{   r   r   CollectionStartEventDocumentEndEventCollectionEndEventStreamEndEventrP   )r&   countlevelr|   s       r   r   Emitter.need_events  s    [[_E%"46J!KLL
E$46H#IJJ
E>22qy % 4;;%!)++r   c                P   U R                   R                  U R                  U5        U R                  c!  U(       a  U R                  U l        g SU l        g U(       dK  U =R                  U R                   R	                  5       (       a  U R
                  OU R                  -  sl        g g r?   )r}   r:   r~   r   rK   r   r   )r&   flowsequence
indentlesss       r   increase_indentEmitter.increase_indent*  sx     	DKK2;; #33KK-1\\-B-B-D-D))$J^J^K r   c                X   [        U R                  [        5      (       as  U R                  R                  (       a6  [	        U R
                  S5      (       d  U R                  R                  U l        U R                  5         U R                  U l        g [        SU R                  < 35      e)Nrv   z#expected StreamStartEvent, but got )
r   r|   StreamStartEventrv   r   ru   write_stream_startexpect_first_document_startrz   r   r*   s    r   ry   Emitter.expect_stream_startF  sr    djj"233zz""74;;
+K+K $

 3 3##%99DJ!DTZZNSTTr   c                4    [        SU R                  < 35      e)Nzexpected nothing, but got )r   r|   r*   s    r   expect_nothingEmitter.expect_nothingO  s    7

~FGGr   c                     U R                  SS9$ NT)first)expect_document_startr*   s    r   r   #Emitter.expect_first_document_startT  s    )))55r   c                T   [        U R                  [        5      (       Ga|  U R                  R                  (       d  U R                  R                  (       a3  U R
                  (       a"  U R                  SS5        U R                  5         U R                  R                  (       a6  U R                  U R                  R                  5      nU R                  U5        U R                  R                  5       U l        U R                  R                  (       a  [        U R                  R                  R                  5       5      nU H]  nU R                  R                  U   nX@R                  U'   U R                  U5      nU R!                  U5      nU R#                  Xg5        M_     U=(       a    U R                  R$                  (       + =(       aq    U R&                  (       + =(       aY    U R                  R                  (       + =(       a7    U R                  R                  (       + =(       a    U R)                  5       (       + nU(       dC  U R                  5         U R                  SS5        U R&                  (       a  U R                  5         U R*                  U l        g [        U R                  [.        5      (       aU  U R
                  (       a"  U R                  SS5        U R                  5         U R1                  5         U R2                  U l        g [5        SU R                  < 35      e)N...T---z%expected DocumentStartEvent, but got )r   r|   r   versiontagsr   write_indicatorwrite_indentprepare_versionwrite_version_directiveDEFAULT_TAG_PREFIXEScopyr   sortedkeysprepare_tag_handleprepare_tag_prefixwrite_tag_directiveexplicitr   check_empty_documentexpect_document_rootrz   r   write_stream_endr   r   )	r&   r   version_texthandleshandleprefixhandle_textprefix_textimplicits	            r   r   Emitter.expect_document_startW  s,   djj"455

""djjoo4??$$UD1!!#zz!!#33DJJ4F4FG,,\: $ 9 9 > > @Dzz !5!5!78%F!ZZ__V4F06%%f-"&"9"9&"AK"&"9"9&"AK,,[F &  4

+++4&4 

***4 

'	4
 1133  !!#$$UD1>>%%'22DJ

N33$$UD1!!#!!#,,DJ!FtzznUVVr   c                P   [        U R                  [        5      (       ao  U R                  5         U R                  R                  (       a"  U R                  SS5        U R                  5         U R                  5         U R                  U l        g [        SU R                  < 35      e)Nr   Tz#expected DocumentEndEvent, but got )
r   r|   r   r   r   r   flush_streamr   rz   r   r*   s    r   expect_document_endEmitter.expect_document_end  sy    djj"233zz""$$UD1!!#33DJ!DTZZNSTTr   c                l    U R                   R                  U R                  5        U R                  SS9  g )NT)root)rx   r:   r   expect_noder*   s    r   r   Emitter.expect_document_root  s+    4334d#r   c                
   Xl         X l        SnX0l        X@l        [	        U R
                  [        5      (       a  U R                  5         g [	        U R
                  [        [        45      (       Gax  U R                  S5      (       a7  [	        U R
                  [        5      (       a  U R                  (       a  SU l        U(       a@  [	        U R
                  [        5      (       a!  U R                  (       d  U R                  5         U R                  5         [	        U R
                  [        5      (       a  U R                  5         g [	        U R
                  [        5      (       Ga  U R                   U R"                  pvU R
                  R$                  (       Ga  U R
                  R&                  SL a.  U R)                  U R
                  5      (       a  SU l        SU l        U R
                  R&                  (       a  U R*                  nU R-                  U R
                  5      (       aX  U R
                  R&                  (       a!  U R.                  R0                  S   S   (       + nX`l        U R                   (       + U l        U R
                  R&                  (       a  WU l        U R2                  (       dA  U R4                  (       d0  U R
                  R&                  (       d  U R7                  5       (       a  U R9                  U5        OU R;                  5         U R.                  R=                  5       (       a  SU l        SU l        g g [	        U R
                  [>        5      (       Ga  U R
                  R&                  SL a6  U R
                  R$                  (       a  U R)                  U R
                  5        U R
                  R$                  (       a  U R
                  R$                  S   (       ar  U R-                  U R
                  5        U R
                  R&                  (       a<  U R.                  R0                  (       a!  U R.                  R0                  S   S   (       + nU R2                  (       dA  U R4                  (       d0  U R
                  R&                  (       d  U RA                  5       (       a(  U RC                  U R
                  RD                  S:H  US9  g U RG                  5         g g [I        SU R
                  < 35      e)NF&TrE   rD   )singleforce_flow_indentzexpected NodeEvent, but got )%r   r   r   r   r   r|   
AliasEventexpect_aliasScalarEventr   process_anchorr   r   process_tagexpect_scalarr   r   r   comment
flow_stylewrite_post_commentrR   write_pre_commentr}   r7   r   r   check_empty_sequenceexpect_flow_sequenceexpect_block_sequencerH   r   check_empty_mappingexpect_flow_mappingnr_itemsexpect_block_mappingr   )	r&   r  r   mapping
simple_keyr  i2n2rR   s	            r   r  Emitter.expect_node  sP    ! (!&",djj*--

[2F$GHH##C((tzz;77))(-%tzz;7733!!#$**k22""$DJJ(:;;B::%%%zz,,5224::>>-2DN.2DOzz,,!%--djj99::0048LL4G4G4KA4N0N-)+.2nn*<zz,,&,OO~~zz,,0022--.?@..0<<''))%)DN&+DO * DJJ(9::::((E1djj6H6H++DJJ7::%%$***<*<Q*?**4::6zz,,1D1D040C0CB0G0J,J)OO~~zz,,//11,,#zz22a7K\ -  --/# ;& !=djj^LMMr   c                    U R                   R                  c  [        S5      eU R                  S5        U R                  R                  5       U l        g )Nz!anchor is not specified for aliasr   )r|   anchorr   r  rx   r@   rz   r*   s    r   r	  Emitter.expect_alias  s>    ::$BCCC [[__&
r   c                    U R                  SS9  U R                  5         U R                  R                  5       U l        U R
                  R                  5       U l        g )NT)r   )r   process_scalarr}   r@   r~   rx   rz   r*   s    r   r  Emitter.expect_scalar  sE    $'ll&&([[__&
r   c                \   U(       a  U R                  SSS9  U R                  R                  U R                  U R                  U5      nU R                  SU-  U R                  -   SSS9  U(       d  U R                  SSS9  U R                  R                  S5        U R                  U l
        g )NTr   r    r   rf   )r   r}   rU   r   rR   r   flow_seq_startr   r:   expect_first_flow_sequence_itemrz   )r&   r  inds      r   r  Emitter.expect_flow_sequence  s      dT :ll))%%t{{4E
 	S3Y)<)<<dtT   dT :  %99
r   c                   [        U R                  [        5      (       a  U R                  R	                  5       U l        U R                  R	                  5       nUS:X  d   eU R                  U R                  S5        U R                  R                  (       a:  U R                  R                  S   (       a  U R                  U R                  5        O U R                  S:X  a  U R                  5         U R                  R	                  5       U l        g U R                  (       d  U R                   U R"                  :  a  U R%                  5         U R                  R'                  U R(                  5        U R+                  SS9  g Nrf   Fr   Tr   )r   r|   SequenceEndEventr}   r@   r~   r   r   flow_seq_endr  r  r   write_line_breakrx   rz   r   rR   r   r   r:   expect_flow_sequence_itemr  r&   poppeds     r   r)  'Emitter.expect_first_flow_sequence_item  s   djj"233,,**,DK&&**,FS= =  !2!2E:zz!!djj&8&8&;''

3A%%%'*DJ~~t!>!!#KKt==>d+r   c                   [        U R                  [        5      (       Ga  U R                  R	                  5       U l        U R                  R	                  5       nUS:X  d   eU R                  (       a,  U R                  U R                  S5        U R                  5         U R                  U R                  S5        U R                  R                  (       a:  U R                  R                  S   (       a  U R                  U R                  5        OSU l        U R                  R	                  5       U l        g U R                  U R                  S5        U R                  (       d  U R"                  U R$                  :  a  U R                  5         U R                  R'                  U R(                  5        U R+                  SS9  g r-  )r   r|   r/  r}   r@   r~   r   r   r   flow_seq_separatorr   r0  r  r  r   rx   rz   rR   r   r:   r2  r  r3  s     r   r2  !Emitter.expect_flow_sequence_item  s3   djj"233,,**,DK&&**,FS= =~~ $$T%<%<eD!!#  !2!2E:zz!!djj&8&8&;''

3"'*DJ  !8!8%@~~t!>!!#KKt==>d+r   c                   U(       a  U R                  SSS9  U R                  R                  U R                  U R                  U5      nU R
                  nU(       aH  U R                  (       a7  U R                  S   S:X  a$  U R                  (       d  U R                  (       d  SnU R                  SU-  U-   SSS9  U R                  R                  U5        U(       d  U R                  SSS9  U R                  U l        g )	NTFr%  rE   rf    r&  r'  )r   r}   rU   r   rR   flow_map_startr   r   r   r   r   r:   expect_first_flow_mapping_keyrz   )r&   r  r  r*  map_inits        r   r  Emitter.expect_flow_mapping)  s       dU ;ll))%%t{{4E
 &&!!"%,NNDD HS3Y14DI  *   dU ;77
r   c                   [        U R                  [        5      (       a  U R                  R	                  5       U l        U R                  R	                  5       nUS:X  d   eU R                  U R                  S5        U R                  R                  (       a:  U R                  R                  S   (       a  U R                  U R                  5        O U R                  S:X  a  U R                  5         U R                  R	                  5       U l        g U R                  (       d  U R                   U R"                  :  a  U R%                  5         U R                  (       dK  U R'                  5       (       a6  U R                  R)                  U R*                  5        U R-                  SSS9  g U R                  SS5        U R                  R)                  U R.                  5        U R-                  SS9  g )Nri   Fr   Tr  r  ?r  )r   r|   MappingEndEventr}   r@   r~   r   r   flow_map_endr  r  r   r1  rx   rz   r   rR   r   r   check_simple_keyr:    expect_flow_mapping_simple_valuer  expect_flow_mapping_valuer3  s     r   r<  %Emitter.expect_first_flow_mapping_keyA  sR   djj/22,,**,DK&&**,FS= =  !2!2E:zz!!djj&8&8&;''

3A%%%'*DJ~~t!>!!#>>d&;&;&=&=""4#H#HI  $ ?$$S$/""4#A#AB   .r   c                n   [        U R                  [        5      (       Ga  U R                  R	                  5       U l        U R                  R	                  5       nUS;   d   eU R                  (       a,  U R                  U R                  S5        U R                  5         US:w  a  U R                  U R                  S5        U R                  R                  (       a:  U R                  R                  S   (       a  U R                  U R                  5        OSU l        U R                  R	                  5       U l        g U R                  U R                  S5        U R                  (       d  U R"                  U R$                  :  a  U R                  5         U R                  (       dK  U R'                  5       (       a6  U R                  R)                  U R*                  5        U R-                  SSS9  g U R                  SS5        U R                  R)                  U R.                  5        U R-                  SS9  g )	N)ri   r:  Fr:  r   Tr@  rA  rB  )r   r|   rC  r}   r@   r~   r   r   r   flow_map_separatorr   rD  r  r  r   rx   rz   rR   r   rE  r:   rF  r  rG  r3  s     r   expect_flow_mapping_keyEmitter.expect_flow_mapping_keyX  s   djj/22 ,,**,DK&&**,FY&&&~~$$T%<%<eD!!#|$$T%6%6>zz!!djj&8&8&;''

3"'*DJ  !8!8%@~~t!>!!#>>d&;&;&=&=""4#H#HI  $ ?$$S$/""4#A#AB   .r   c                    [        U R                  SS5      S:w  a  U R                  U R                  S5        U R                  R                  U R                  5        U R                  SS9  g )Nr   rA  -FTrB  )rt   r|   r   r   rx   r:   rK  r  r*   s    r   rF  (Emitter.expect_flow_mapping_simple_valuev  sV    4::w,3  !4!4e<4778&r   c                   U R                   (       d  U R                  U R                  :  a  U R                  5         U R	                  U R
                  S5        U R                  R                  U R                  5        U R                  SS9  g )NTrB  )
r   rR   r   r   r   r   rx   r:   rK  r  r*   s    r   rG  !Emitter.expect_flow_mapping_value|  sc    >>T[[4??:T00$74778&r   c                    U R                   (       a  U R                  (       + nO3SnU R                  (       d   U R                  S:w  a  U R	                  5         U R                  SSUS9  U R                  U l        g )NFr   T)r   r   r   )r   r   r   rR   r1  r    expect_first_block_sequence_itemrz   )r&   r   s     r   r  Emitter.expect_block_sequence  s^    !^^+JJ''DKK1,<%%'%$:N::
r   c                     U R                  SS9$ r   )expect_block_sequence_itemr*   s    r   rS  (Emitter.expect_first_block_sequence_item  s    ..T.::r   c                   U(       d  [        U R                  [        5      (       a  U R                  R                  (       a9  U R                  R                  S   (       a  U R	                  U R                  5        U R
                  R                  5       U l        U R                  R                  5       U l	        SU l
        g U R                  R                  (       a9  U R                  R                  S   (       a  U R	                  U R                  5        U R                  S:X  a  U R                  OSnU R                  5         U R                  nU R                  SU-  S-   SSS9  U(       d  U R                  S-   U R                  :  a  SU l
        U R                  R!                  U R"                  5        U R%                  SS	9  g )
NrD   Fr   r&  rN  Tr   rN   r.  )r   r|   r/  r  r  r}   r@   r~   rx   rz   r   rR   r   r   r   r   r:   rV  r  )r&   r   nonlr*  s       r   rV  "Emitter.expect_block_sequence_item  s8   DJJ0@AAzz!!djj&8&8&;&&tzz2,,**,DK*DJ#DOzz!!djj&8&8&;&&tzz2&*kkQ&64??ED++C  sS$$ Gt0014t7P7PP"&KKt>>?d+r   c                    U R                   (       d1  U R                  (       d   U R                  S:X  d  U R                  5         U R	                  SSS9  U R
                  U l        g )Nr   Fr%  )r   r   rR   r1  r   expect_first_block_mapping_keyrz   r*   s    r   r  Emitter.expect_block_mapping  sK    ##T-A-AT[[TUEU!!#%%888
r   c                     U R                  SS9$ r   )expect_block_mapping_keyr*   s    r   r]  &Emitter.expect_first_block_mapping_key  s    ,,4,88r   c                   U(       d  [        U R                  [        5      (       a  U R                  R                  (       a9  U R                  R                  S   (       a  U R	                  U R                  5        U R
                  R                  5       U l        U R                  R                  5       U l	        g U R                  R                  (       a9  U R                  R                  S   (       a  U R	                  U R                  5        U R                  5         U R                  5       (       a  [        U R                  [        [        45      (       d,   U R                  R                  S:X  a  U R                  SSSS9  U R                  R#                  U R$                  5        U R'                  SSS9  [        U R                  [(        5      (       a7  U R                  R                  S:X  d  U R*                  R-                  S5        g g g U R                  SSSS9  U R                  R#                  U R.                  5        U R'                  SS9  g ! [          a     Nf = f)NrD   rA  TrY  r@  r&  rB  )r   r|   rC  r  r  r}   r@   r~   rx   rz   r   rE  r   r   r   r   r   r:   !expect_block_mapping_simple_valuer  r  ru   r   expect_block_mapping_value)r&   r   s     r   r`   Emitter.expect_block_mapping_key  s   DJJ@@zz!!djj&8&8&;&&tzz2,,**,DK*DJzz!!djj&8&8&;&&tzz2$$&&!JJ!35F G ::++s2 00dd0K ""4#I#IJ  $ ?djj*55djj>N>NRU>UKK%%c* ?V5 $$S$$$?""4#B#BC   . * s   +I 
I#"I#c                l   [        U R                  SS 5      S:w  ae  U R                  S:X  a7  U R                  b*  SU R                  U R                  -
  -  U R
                  -   nOU R                  nU R                  US5        U R                  R                  U R                  5        U R                  SS9  g )Nr   rA  r   r&  FTrB  )rt   r|   r~   r   rR   r   r   r   rx   r:   r`  r  )r&   cs     r   rc  )Emitter.expect_block_mapping_simple_value  s    4::w-4{{aD$>$>$J455CDtzzQ''  E*4889&r   c                    U R                  5         U R                  U R                  SSS9  U R                  R	                  U R
                  5        U R                  SS9  g )NTrY  rB  )r   r   r   rx   r:   r`  r  r*   s    r   rd  "Emitter.expect_block_mapping_value  sR    T00$$G4889&r   c                    [        U R                  [        5      =(       a9    [        U R                  5      =(       a    [        U R                  S   [
        5      $ r?   )r   r|   r   r.   r{   r/  r*   s    r   r  Emitter.check_empty_sequence  s?    tzz#56 =T[[!=4;;q>+;<	
r   c                    [        U R                  [        5      =(       a9    [        U R                  5      =(       a    [        U R                  S   [
        5      $ r?   )r   r|   r   r.   r{   rC  r*   s    r   r  Emitter.check_empty_mapping  s>    tzz#45 <T[[!<4;;q>?;	
r   c                H   [        U R                  [        5      (       a  U R                  (       d  gU R                  S   n[        U[        5      =(       aL    UR
                  S L =(       a7    UR                  S L =(       a"    UR                  =(       a    UR                  S:H  $ )NFr   r:  )	r   r|   r   r{   r
  r  tagr   valuer   s     r   r   Emitter.check_empty_document  s|    $**&899Auk* "$"		T!" " r!	
r   c                   Sn[        U R                  [        5      (       af  U R                  R                  bO  U R                  c*  U R                  U R                  R                  5      U l        U[        U R                  5      -  n[        U R                  [        [        45      (       af  U R                  R                  bO  U R                  c*  U R                  U R                  R                  5      U l
        U[        U R                  5      -  n[        U R                  [        5      (       aY  U R                  c*  U R                  U R                  R                  5      U l        U[        U R                  R                   5      -  nXR"                  :  =(       GaW    [        U R                  [$        5      =(       Gd5    [        U R                  [&        5      =(       a    U R                  R(                  SL =(       d    [        U R                  [*        5      =(       a    U R                  R(                  SL =(       d    [        U R                  [        5      =(       af    U R                  R,                  =(       a"    U R.                  =(       a    U R.                  S;  (       + =(       a    U R                  R0                  (       + =(       d'    U R3                  5       =(       d    U R5                  5       $ )Nr   Tz'")r   r|   	NodeEventr  r   prepare_anchorrP   r
  r   rp  r   prepare_tagctagr   analyze_scalarrq  r   MAX_SIMPLE_KEY_LENGTHr  r   r  r   r   r   r    r  r  )r&   lengths     r   rE  Emitter.check_simple_key  s   djj),,1B1B1N##+'+':':4::;L;L'M$c$..//FtzzK1E#FGG

*  ($($4$4TZZ__$E!c$++,,Fdjj+..}}$ $ 3 3DJJ4D4D Ec$--..//F222 
 
tzz:. 
* 
*4::'9:\tzz?T?TX\?\
*4::'89[djj>S>SW[>[
* 4::{3 0,,WW

RW@WX0 ///
* ((*
* '')	
r   c                *   U R                   R                  c  S U l        gU R                  c*  U R                  U R                   R                  5      U l        U R                  (       a%  U R	                  XR                  -   S5        SU l        S U l        g)NFT)r|   r  r   ru  r   r   )r&   	indicators     r   r  Emitter.process_anchor  sz    ::$#'D '#'#6#6tzz7H7H#ID   -A-A!A4H#DO#r   c                   U R                   R                  n[        U R                   [        5      (       Ga9  U R                  c  U R                  5       U l        U R                   R                  S:X  aZ  U R                  S:X  aJ  US:X  aD  U R                  b7  U R                  U R                   l        S U l        U R                  5       U l        U R                  (       a  Ucd  U R                  S:X  a  U R                   R                  S   (       d.  U R                  S:w  a&  U R                   R                  S   (       a  S U l        g U R                   R                  S   (       a  Uc	  SnS U l        O7U R                  (       a  Uc#  U R                   R                  (       a  S U l        g Uc  [        S5      eU R                  c*  U R                  U R                   R                  5      U l        U R                  (       ad  U R                  U R                  S5        U R                   (       a7  U R"                  (       d&  [        U R                   [        5      (       a  SU l        S U l        g )	Nr:  'ztag:yaml.org,2002:nullr   rD   rc   ztag is not specifiedT)r|   rp  r   r
  r   choose_scalar_stylerq  r   r   r   r   r   r   rv  rw  r   r   r   r   )r&   rp  s     r   r  Emitter.process_tag,  s   jjnndjj+..zz!!557
JJ$$*

c)771'+}}DJJ$$(DM!%!9!9!;DJNNckr!djj&9&9!&<JJ"$)<)<Q)?$(!zz""1%#+$(!NNcktzz7J7J$(!;566$ $ 0 0 AD  !2!2D9%%tzz;77"& r   c                   U R                   R                  S:X  a%  U R                   R                  R                  S:X  a  g U R                  c*  U R                  U R                   R                  5      U l        U R                   R                  S:X  d  U R                  (       a  gU R                   R                  (       a4  U R                   R                  S:X  d  U R                   R                  S:X  a  U R                   R                  S   (       d  U R                   R                  S   (       d  U R                  (       a6  U R                  R                  (       dt  U R                  R                  (       dY  U R                  (       a  U R                  R                  (       d,  U R                  (       d  U R                  R                  (       a  gU R                   R                  S:X  a  gSU R                  l        U R                   R                  (       am  U R                   R                  S	;   aS  U R                  (       dB  U R                  (       d1  U R                  R                  (       a  U R                   R                  $ U R                   R                  (       dP  U R                  R                   (       a5  S
U R                   R                  ;   d  SU R                   R                  ;   a  gU R                   R                  (       a  U R                   R                  S
:X  aH  U R                  R"                  (       a-  U R                  (       a  U R                  R                  (       d  g
g)Nr:  rd   "rA  rN  r   rN   Tz|>r  rp   )r|   rq  rw  r   r   rx  r   r   r   r   r   r    r   r!   r"   r%   r$   r#   r*   s    r   r  Emitter.choose_scalar_styleU  s   ::r!djjoo&<&<&D==  //

0@0@ADM::s"dnn

  DJJ$4$4$;tzz?O?OSV?VJJ"$***=*=a*@ ''T]]-@-@DMMD[D[MM22DMM,K,Kzz3&$(!::

 0 0D 8OO//MM--zz'''zzDMM$E$Edjj&&&$$**2B2B*Bzz4::#3#3s#:}}00''DMM,C,Cr   c                
   U R                   c*  U R                  U R                  R                  5      U l         U R                  c  U R                  5       U l        U R                  (       + nU R                  (       a!  U R                  (       d  U R                  5         U R                  S:X  a(  U R                  U R                   R                  U5        GO1U R                  S:X  a(  U R                  U R                   R                  U5        GOU R                  S:X  a   U R                  R                  S   S   nU R!                  U R                   R                  U5        U R                  R                  (       az  U R                  R                  S   (       a\  U R                  R                  S   R"                  U R$                  :  a+  U R$                  S-
  U R                  R                  S   l        GOU R                  S:X  a   U R                  R                  S   S   nU R'                  U R                   R                  U5        U R                  R                  (       az  U R                  R                  S   (       a\  U R                  R                  S   R"                  U R$                  :  a+  U R$                  S-
  U R                  R                  S   l        O&U R)                  U R                   R                  U5        S U l         S U l        U R                  R                  (       a  U R+                  U R                  5        g g ! [        [        4 a  nSn S nAGN*S nAff = f! [        [        4 a    Sn GN]f = f)Nr  r  >rD   r   r:  |)r   rx  r|   rq  r   r  r   r   r   r   write_double_quotedr   write_single_quotedr  rG   	TypeErrorwrite_foldedrR   r~   write_literalwrite_plainr  )r&   splitcmxes       r   r"  Emitter.process_scalar|  s   ==  //

0@0@ADM::113DJ+++
   ::$$T]]%9%95AZZ3$$T]]%9%95AZZ3jj((+A. dmm22C8

""JJ&&q)JJ&&q)00DKK? 04{{Q

""1%,ZZ3jj((+A. t}}33S9

""JJ&&q)JJ&&q)00DKK? 04{{Q

""1%,T]]1159
::##DJJ/ 9 	*  	* s*   M M, M)M$$M),NNc                N    Uu  p#US:w  a  [        SUS SUS 35      eUS SUS 3$ )NrD   zunsupported YAML version: d.r   )r&   r   majorminors       r   r   Emitter.prepare_version  sB    A:!;E!9AeAYOPP!E!9%%r   c                   U(       d  [        S5      eUS   S:w  d	  US   S:w  a  [        SU< 35      eUSS  HO  nSUs=::  a  S::  a  M  O  S	Us=::  a  S
::  a  M#  O  SUs=::  a  S::  a  M4  O  US;   a  M>  [        SU< SU< 35      e   U$ )Nztag handle must not be emptyr   rc   rE   z(tag handle must start and end with '!': rD   09AZazz-_invalid character z in the tag handle: r  )r&   r   chs      r   r   Emitter.prepare_tag_handle  s    =>>!9vbzS0!I&TUU2,B2$$r(8S(8C2<L<LPRVZPZ"%7v=QRXQ[#\]]  r   c                N   U(       d  [        S5      e/ nS=p4US   S:X  a  SnSnU R                  (       a%  [        U R                  SS5      nUb  US:  a  US-  nU[        U5      :  a  X   nS	Us=::  a  S
::  d%  O  SUs=::  a  S::  d  O  SUs=::  a  S::  d  O  Xu;   a  US-  nOGX4:  a  UR	                  XU 5        US-   =p4UnU H!  nUR	                  S[        U5      S 35        M#     U[        U5      :  a  M  X4:  a  UR	                  XU 5        SR                  U5      $ )Nztag prefix must not be emptyr   rc   rD   -;/?:@&=+$,_.~*'()[]r   rD   rN   #r  r  r  r  r  r  %02Xr:  )r   rs   rt   rP   r:   ordjoin)	r&   r   chunksstartendch_setr   r  datas	            r   r   Emitter.prepare_tag_prefix  s$   =>>!9C';;dkk9f=G'V"3#CKBbC3"#3#3sb7GC7G2<q;MM&s"34!Ag%BMMAc"gc]"34  CK ;MM&s+,wwvr   c                   U(       d  [        S5      e[        U5      nUS:X  d  US:X  a  U$ S nUn[        U R                  R	                  5       5      nU HX  nUR                  U5      (       d  M  US:X  d  [        U5      [        U5      :  d  M;  U R                  U   nU[        U5      S  nMZ     / nS=pxSn	U R                  (       a%  [        U R                  SS5      n
U
b  U
S:  a  U	S-  n	U[        U5      :  a  X8   nS	Us=::  a  S
::  d1  O  SUs=::  a  S::  d"  O  SUs=::  a  S::  d  O  X;   d  US:X  a  US:w  a  US-  nOGXx:  a  UR                  X7U 5        US-   =pxUnU H!  nUR                  S[        U5      S 35        M#     U[        U5      :  a  M  Xx:  a  UR                  X7U 5        SR                  U5      nU(       a  U< U< 3$ SU< S3$ )Ntag must not be emptyrc   rd   r   r  r   r  r  r  r  r  r  r  r  rD   r  r  r:  !<r  )r   r1   r   r   r   
startswithrP   rs   rt   r:   r  r  )r&   rp  r   suffixprefixesr   r  r  r  r  r   r  r  suffix_texts                 r   rv  Emitter.prepare_tag  s   677#h#:J$++0023F~~f%%6S=CK#c(<R**62S[]+  ';;dkk9f=G'V"3#CKBr S "##"##<#I&C-q;MM&s"34!Ag%BMMAc"gc]"34  CK" ;MM&s+,ggfoZ//a((r   c                    U(       d  [        S5      eU H&  n[        U5      (       a  M  [        SU< SU< 35      e   U$ )Nzanchor must not be emptyr  z in the anchor: )r   r
   )r&   r  r  s      r   ru  Emitter.prepare_anchor  sG    9::B(,,"%7v=MfZ#XYY  r   c                   U(       d  [        USSSSSSSS9$ SnSnSnSnSnSnSnSn	Sn
SnUR                  S5      (       d  UR                  S5      (       a  SnSnSn[        U5      S:H  =(       d    US   S;   nSnSnSnU[        U5      :  Ga  UU   nUS:X  aY  US	;   a  SnSnUS
;   a7  U R                  R                  S:X  a  SnO[        U5      S:X  a  SnU(       a  SnUS:X  a  U(       a  SnSnOLUS;   a  SnUS:X  a  U R                  R                  S:X  a  SnUS:X  a  U(       a  SnSnUS:X  a  U(       a  SnSnUS;   a  SnUS:X  dp  SUs=::  a  S::  dc  O  US:X  d?  SUs=::  a  S::  d2  O  SUs=::  a  S::  d#  O  U R
                  (       a*  SUs=::  a  S::  a  O  OUS:w  a  U R                  (       d  SnOSnUS:X  a*  US:X  a  SnU[        U5      S-
  :X  a  SnU(       a  Sn
SnSnO4US;   a*  US:X  a  SnU[        U5      S-
  :X  a  Sn	U(       a  SnSnSnOSnSnUS-  nUS;   nUS-   [        U5      :  =(       d    UUS-      S;   nU[        U5      :  a  GM  SnSnSnSnSnU(       d  U(       d  U(       d  U	(       a  S=nnU(       a  SnU
(       a  S=n=nnU(       a	  S=n=n=nnO U(       a  S=n=nnU R                  (       d  SnU(       a  S=nnU(       a  SnU(       a  Sn[        USUUUUUUS9$ )NTFr   r   r   rD   u     	
  r   z#,[]{}&*!|>'"%@`z?:)rD   rD   rN  z,[]{}rA  rm   r  	   
  rp   r&  ~          ퟿      �   𐀀   􏿿   ﻿)r   r  rP   r   use_versionr   r   rw   )r&   r   block_indicatorsflow_indicatorsline_breaksspecial_charactersleading_spaceleading_breaktrailing_spacetrailing_breakbreak_spacespace_breakpreceeded_by_whitespacefollowed_by_whitespaceprevious_spaceprevious_breakindexr  r!   r"   r#   r$   r%   s                          r   rx  Emitter.analyze_scalar  s   !!&"&$($(!	 	 !"  U##v'8'8'?'?#"O #' "%V!1!]VAYB]5]  c&k!B z,,&*O'+$:22f<*.V)*.-+/(9!7&*O'+$ =&*O9!<!<!F&*O9-*.+/(9!8&*O'+$ ))"$J&B"8&"8&L/x/211228Zl8ZHn---1*)-& SyA:$(MCK!O+%)N!"&K!%!&++A:$(MCK!O+%)N!"&K!&!%!&!& QJE&(,G&G#	S[(\F519,=A\,\ #W c&k!`   "" M^~3880 K INNN03F W\\\0\3FINNN03F))# 3880 $  %!-/ 3 3#	
 		
r   c                p    [        U R                  S5      (       a  U R                  R                  5         g g )Nflush)r   ru   r  r*   s    r   r   Emitter.flush_stream  s(    4;;((KK )r   c                    U R                   (       aV  U R                   R                  S5      (       a5  U R                  R                  SR	                  U R                   5      5        g g g )Nzutf-16r  )rv   r  ru   r   encoder*   s    r   r   Emitter.write_stream_start  sD    ==T]]55h??KKhoodmm<= @=r   c                $    U R                  5         g r   )r   r*   s    r   r   Emitter.write_stream_end  s    r   c                n   U R                   (       d  U(       d  UnOSU-   nX0l         U R                  =(       a    UU l        U =R                  [        U5      -  sl        SU l        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        g )Nr&  F)
r   r   rR   rP   r   r.   rv   r  ru   r   )r&   r}  need_whitespacer   r   r  s         r   r   Emitter.write_indicator  s|     ??/D?D$5Is4y ;;t}}-D$r   c                   U R                   =(       d    SnU R                  (       a1  U R                  U:  d!  U R                  U:X  aC  U R                  (       d2  [	        U R
                  5      (       a  SU l        OU R                  5         U R                  U:  af  SU l        SXR                  -
  -  nXl        U R                  (       a  UR                  U R                  5      nU R                  R                  U5        g g )Nr   FTr&  )r~   r   rR   r   r.   r   r1  rv   r  ru   r   )r&   r~   r  s      r   r   Emitter.write_indent  s    !{{V#v%dooDOO$$"'%%';;"DO&;;./D K}}{{4==1KKd#  r   c                   Uc  U R                   nSU l        SU l        U =R                  S-  sl        SU l        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        g )NTrD   r   )
r   r   r   r   rR   r.   rv   r  ru   r   )r&   r  s     r   r1  Emitter.write_line_break  sg    <''D		Q	;;t}}-D$r   c                    SU< 3nU R                   (       a  UR                  U R                   5      nU R                  R                  U5        U R	                  5         g )Nz%YAML rv   r  ru   r   r1  )r&   r   r  s      r   r   Emitter.write_version_directive  sF    \,-==;;t}}-D$r   c                    SU< SU< 3nU R                   (       a  UR                  U R                   5      nU R                  R                  U5        U R	                  5         g )Nz%TAG r&  r  )r&   r   r   r  s       r   r   Emitter.write_tag_directive  sK    K?!K?;==;;t}}-D$r   c                   U R                   (       a=  U R                  b0  U R                  5         U R                  S:w  a  U R                  5         U R	                  SS5        SnSnS=pVU[        U5      ::  Gaw  S nU[        U5      :  a  X   nU(       a  Ub  US:w  a  US-   U:X  aG  U R                  U R                  :  a-  U(       a&  US:w  a   U[        U5      :w  a  U R                  5         OrXU nU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        UnOU(       ah  Ub  US;  a^  X   S:X  a  U R                  5         XU  H,  n	U	S:X  a  U R                  5         M  U R                  U	5        M.     U R                  5         UnOUb  US	;   d  US:X  ay  XV:  at  XU nU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        UnUS:X  al  S
nU =R                  S-  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        US-   nUb
  US:H  nUS;   nUS-  nU[        U5      ::  a  GMw  U R	                  SS5        g )Nr   r  TFr&  rD   r  rp   
    
  z''rN   )r   r   r1  r   r   rP   rR   r   r.   rv   r  ru   r   )
r&   textr  spacesbreaksr  r  r  r  brs
             r   r  Emitter.write_single_quoted  s   $$0%%'((A-%%'S$'SYBSYY:s	S( KK$//9!!QJ3t9,))+##s4y0..#';;t}}#=D))$/E:+?!?{d*--/"o: 113 11"5	 .
 %%'E:'<!<c	{##s4y0..#';;t}}#=D))$/ #Syq &&;;t}}5D!!$'a~s331HCg SYh 	S%(r   r  r  btnvfrr  r  \N_LP) 	rp   rq   r  r  r  r  u    u    c                	   U R                   (       a=  U R                  b0  U R                  5         U R                  S:w  a  U R                  5         U R	                  SS5        S=p4U[        U5      ::  Ga  SnU[        U5      :  a  X   nUbW  US;   dQ  SUs=::  a  S::  Gd  O  U R                  (       a0  SUs=::  a  S	::  Gdk  O  S
Us=::  a  S::  Gd[  O  SUs=::  a  S::  GdK  O  X4:  at  XU nU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        UnUb  XPR                  ;   a  SU R                  U   -   nO8US::  a  S[        U5      -  nO#US::  a  S[        U5      -  nOS[        U5      -  nU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        US-   nSUs=:  a  [        U5      S-
  :  Ga  O  GOUS:X  d  X4:  Ga  U R                  XC-
  -   U R                  :  Ga  U(       Ga  Sn[        U5      U:  aj   UR!                  SU5      n UR!                  SXH5      nX   S:X  a  XS-      S:w  a  O0SXU ;  a(  SXU ;  a   XS-      S;  a  XS-
  US-    S:w  a  X4:w  a  SnXU U(       a  SOS-   nX4:  a  UnU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        U R                  5         SU l        SU l        X   S:X  a  U(       d  US-  nU(       a  SOSnU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        US-  nU[        U5      ::  a  GM  U R	                  SS5        g! ["        [$        4 a     GNf = f! ["        [$        4 a     GNf = f)z
a newline, as written by self.write_indent(), might need to be escaped with a backslash
as on reading this will produce a possibly unwanted space.
Nr   r  Tu   "\  ﻿r&  r  r  r  r  r  r  r  r     ÿz\x%02Xu   ￿z\u%04Xz\U%08XrD   rp   r  z 
z  Fr:  )r   r   r1  r   r   rP   r   rR   r.   rv   r  ru   r   ESCAPE_REPLACEMENTSr  r   r  
ValueErrorrG   r   r   )	r&   r  r  r  r  r  r  need_backslash	space_poss	            r   r  Emitter.write_double_quotedc  s   
 $$0%%'((A-%%'S$'SYBSYY
44b*F***#r5X5 (B :( : , Bl B
 ;c?DKK3t9,KDMM**#{{4==9KK%%d+E>555#d&>&>r&BBv(3r72x(3r72(3r72KK3t9,KDMM**#{{4==9KK%%d+!GEC'#d)a-''3Y%,KK3;/$//A "&t9s?$(JJsC$8	!(,

4(HI !Ot3]8Ks8R t	':: #4I+> > $] 35 @ $1WsQw 74 ? %-2N #.$bI;Es4y(&&;;t}}5D!!$'!!#"'!&;#%)
#14rDKK3t9,KDMM**#{{4==9KK%%d+1HCu SYv 	S%(K !+J7 ! ! '
3 s<   Q* #Q 5Q* 	0Q* Q'#Q* &Q''Q* *Q>=Q>c                   SnSnSnU(       a  US   S;   a  SnU[        U5      -  nOU R                  (       ay  S Hk  nSnSnUS:X  aV  UR                  XW5      nUS:X  a  O>US:w  a  XS-
     S:w  a  US-  nM6   X[        U5      -      S	;   a  UnO US-  nUS:X  a  MV  US:w  d  Mk    O   WS:w  a  SnUS   S
;  a  SnO[        U5      S:X  d	  US   S
;   a  SnXC-  nXBU4$ ! [         a     N[f = f)Nr   r:  r  rN   )r   r   rE   rD   rp   z 
r  rN  rC   +)r1   r   findrP   rG   )r&   r  r~   r}  hintsr  positionposs           r   determine_block_hintsEmitter.determine_block_hints  s9   	Aw//V$"")C!HC"b."ii1"9!!8#!G}4 #q (!##c(N3w>+. %  ?
 q #b.  2~' *( r>FBx33	Ta48/C#C	i''  * ! !s   9C  
C-,C-c                   U R                  U5      u  p4n[        U[        5      (       d  SnU R                  SU-   U-   S5        US:X  a  SU l        U R                  5         SnSnSnS=pU
[        U5      ::  Gak  S nU
[        U5      :  a  X   nU(       a  Ub  US;  av  U(       d!  Ub  US:w  a  X   S	:X  a  U R                  5         US:H  nXU
  H,  nUS	:X  a  U R                  5         M  U R                  U5        M.     Ub  U R                  5         U
n	GOU(       a  US:w  a  U	S
-   U
:X  a+  U R                  U R                  :  a  U R                  5         OrXU
 nU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        U
n	OUb  US;   a  XU
 nU =R                  [        U5      -  sl        [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        US:X  a]  U
[        U5      S
-
  :  a@  XS-      R                  5       (       d&  U R                  5         U R                  5         U
S-  n
O[!        S5      eUc  U R                  5         U
n	Ub
  US;   nUS:H  nU
S
-  n
U
[        U5      ::  a  GMj  g g )Nr:  r  Tr  Fr   u
   
  r&  rp   rD   u    
  r  rN   z*unexcpected fold indicator \a before spacer  )r  r   r1   r   r   r1  rP   r   rR   r   r.   rv   r  ru   r   isspacer   )r&   r  r  r  _indent
_indicatorr  r  r  r  r  r  r  r  s                 r   r  Emitter.write_folded  s   %)%?%?%E"
'3''GS5[72D9"DOSYBSYY:+A!A)N#I K4/--/$&#IM"o: 113 11"5	 .
 ~))+E9qyC'DKK$//,I))+##s4y0..#';;t}}#=D))$/E:'>!>c?DKK3t9,KDMM**#{{4==9KK%%d+Tz#d)a-0Ag9N9N9P9P 113 --/1HC"./\"]]z--/E~33s1HCk SYr   c                   U R                  U5      u  p4n[        U[        5      (       d  SnU R                  SU-   U-   S5        US:X  a  SU l        U R                  5         SnS=pxU[        U5      ::  GaN  S n	U[        U5      :  a  X   n	U(       a  U	b  U	S;  a  XU  H,  n
U
S:X  a  U R                  5         M  U R                  U
5        M.     U	b]  U R                  (       a<  U R                  b  U R                  OSnU R                  R                  SXK-   -  5        OU R                  5         UnOrU	b  U	S;   ai  XU n[        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        U	c  U R                  5         UnU	b  U	S;   nUS	-  nU[        U5      ::  a  GMM  g g )
Nr:  r  Tr  r   r  rp   r&  rD   )r  r   r1   r   r   r1  rP   r   r~   ru   r   r   r.   rv   r  )r&   r  r  r  r  r  r  r  r  r  r  idnxr  s                r   r  Emitter.write_literal5  s   %)%?%?%E"
 '3''GS5[72D9 "DOSYBSYY:+?!?"o: 113 11"5	 .
 ~,,26++2I4;;qD KK--cW^.DE --/E:';!;c?DDMM**#{{4==9KK%%d+z--/E~331HC; SYr   c                   U R                   (       aE  U R                  b1  U R                  5         U R                  S:w  a  U R                  5         OSU l        U(       d  g U R
                  (       dg  SnU =R                  [        U5      -  sl        U R                  (       a  UR                  U R                  5      nU R                  R                  U5        SU l        SU l        SnSnS=pgU[        U5      ::  GaI  S nU[        U5      :  a  X   nU(       a  US:w  a  US-   U:X  a@  U R                  U R                  :  a&  U(       a  U R                  5         SU l        SU l        OiXU nU =R                  [        U5      -  sl        U R                  (       a  UR                  U R                  5      nU R                  R                  U5        UnGOLU(       as  US;  al  X   S:X  a  U R                  5         XU  H,  n	U	S:X  a  U R                  5         M  U R                  U	5        M.     U R                  5         SU l        SU l        UnOUb  US;   a  XU n[        U5      U R                  -   U R                  :  a7  U R                  b*  U R                  U R                  :  a  U R                  5         U =R                  [        U5      -  sl        U R                  (       a  UR                  U R                  5      n U R                  R                  U5        UnUb
  US:H  nUS;   nUS-  nU[        U5      ::  a  GMH  g g !   [        R                   R                  [#        U5      S-   5        e = f)	Nr   Tr&  FrD   r  rp   r  )r   r   r1  r   r   r   rR   rP   rv   r  ru   r   r   r   r~   r   stdoutrepr)
r&   r  r  r  r  r  r  r  r  r  s
             r   r  Emitter.write_plainj  s   $$0%%'((A-%%'"&DKK3t9$K}}{{4==1KKd#SY BSYY9qyC'DKK4??,Ju))+*/).##s4y0==#';;t}}#=D))$/E11{d*--/"o: 113 11"5	 .
 %%'&+DO%*DNE:'<!<c?DTT[[0DOOC KK3 KK$++5 ))+KK3t9,K}}#{{4==9))$/  E~s331HCm SY^

((dd):;s   M .M4c                
   UR                   nU(       d  US   S:X  a  US S n UR                  R                  nUR                   (       a-  UR                   R                  S5      (       a  U R                  nOX@R                  S-   :  a  [           X@R                  -
  nU R                  (       a&  UR                  5       (       a  US:  a  US   S:w  a  SnSU-  U-   n [        U R                  5      (       a  UR                  U R                  5      nU R                  R                  U5        U(       d  U R                  5         g g ! [         a    U R                  S-   n Nf = f! [         a     N_f = f! [         a    e f = f)NrE   rp   rD   r   r&  )rq  
start_markrR   r  r  stripr.   rv   r  UnicodeDecodeErrorru   r   r  r1  )r&   r  prerq  col	nr_spacess         r   write_commentEmitter.write_comment  sM   uRyD(#2JE
	"$$++C}}!9!9$!?!? kk{{Q&	 kk)I{{u{{}}Q58tCS	)Oe+E&&!LL7E KKe$ !!# %  	"++/C	" &   		sI   AE 7E AE6 5E& E6 E#"E#&
E30E6 2E33E6 6Fc                   UR                   c  gUR                   S   nUc  g [        [        4nU Hp  n[        X5      (       a  [	        USS 5      (       a  M'  U R
                  S:w  a  U R                  5         U R                  USS9  [        X5      (       d  Mi  SUl        Mr     g! [         a0    [        R                  R                  S[        U5       SU 35        e f = f)	NFrD   pre_doner   T)r$  zeventtt r&  )r  r   r   r   rt   rR   r1  r'  r*  r  r   r  r   type)r&   r|   commentsstart_eventsr  s        r   r  Emitter.write_pre_comment  s    == ==#	-/ABL#e22ww
TX7Y7Y;;!#))+""7"5e22'+G$ $   	JJxU}AeW=>	s   A3B& B& &:C c                z    U R                   R                  S   c  gUR                  S   nU R                  U5        g)Nr   FT)r|   r  r'  )r&   r|   r  s      r   r  Emitter.write_post_comment  s9    ::a (--"7#r   ),r   rw   r   r   r   r   r   r   r   r   r   r   rR   r   r   rs   rv   r|   r{   r   r~   r   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   rz   rx   ru   r   r   r   r   r   )
NNNNNNNNNN)ru   
StreamTyper   r-   r~   Optional[int]r   r2  r   r_   r   r-   r   r2  r   r_   r   r-   r   r_   rs   r-   r/   r0   r[   )r;   r-   r/   r0   r`   rZ   )r|   r-   r/   r0   r\   )r   r^   r/   r.   )FNF)r   r.   r   r_   r   r.   r/   r0   r]   )r   r.   r/   r0   )FFFF)
r  r.   r   r.   r  r.   r  r.   r/   r0   )r  r_   r/   r0   )FF)r  r_   r  r_   r/   r0   )r   r-   r/   r0   )r}  r-   r/   r.   )r   r-   r/   r-   )r   r-   r/   r-   )r   r-   r/   r-   )rp  r-   r/   r-   )r  r-   r/   r-   )r   r-   r/   r-   )
r}  r-   r  r-   r   r.   r   r.   r/   r0   r   )r  r-   r/   r0   )r   r-   r/   r0   )r   r-   r   r-   r/   r0   )T)r  r-   r  r-   r/   r0   )r  r-   r/   r-   )r  r-   r  r-   r/   r0   )r  r-   r$  r.   r/   r0   )r|   r-   r/   r.   )Qr   r   r   r   r   ry  r(  r0  r7  r;  rD  rJ  r'   propertyru   setterr   r   r   r   r   r   r   ry   r   r   r   r   r   r  r	  r  r  r)  r2  r  r<  rK  rF  rG  r  rS  rV  r  r]  r`  rc  rd  r  r  r   rE  r  r  r  r"  r   r   r   rv  ru  rx  r   r   r   r   r   r1  r   r   r  r  r  r  r  r  r  r'  r  r  r   r   r   r   r   r   g   s    "  NLNL
  $#(,*.04 FJjj j 	j
 j &j j (j  .j j 6Dj j 
jX I I ]]    & &
, W\,:OS	8UH
6&WP	U$  PNPN PN 	PN
 PN 
PNd''
:,$,8 SX8$8AO8	80/./<'';;,,99/>
''




B'!R%N00h&6+)Zp
h >
 !     	 
   
 &$&	   >)B $g)R$(LAF3jKZ!$F*r   c                      \ rS rSrSS jrSrg)RoundTripEmitteri  c                   U(       d  [        S5      e[        U5      nUS:X  d  US:X  a  U$ UR                  nUR                  n[	        U R
                  R                  5       5      nUc^  U HX  nUR                  U5      (       d  M  US:X  d  [        U5      [        U5      :  d  M;  U R
                  U   nU[        U5      S  nMZ     U(       a  U< U< 3$ SU< S3$ )Nr  rc   rd   r  r  )	r   r1   r   r  r   r   r   r  rP   )r&   rw  rp  r   r  r  r   s          r   rv  RoundTripEmitter.prepare_tag  s    677$i#:J$++0023>">>&))v}FcRUh@V!..v6F#CKM2F # Zz**z##r   r   N)rw  r-   r/   r-   )r   r   r   r   rv  r   r   r   r   r6  r6    s    $r   r6  )
__future__r   r   ruamel.yaml.errorr   r   ruamel.yaml.eventsruamel.yaml.compatr   r   r	   r
   r   typingr-   DictListUnionTextTupleOptionalr1  __all__r   r   r3   r   r6  r   r   r   <module>rE     sj    "  8  # #
 	 n
%	9 	o o2+  + \M M`4$w $r   