
    R                         S SK Jr  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JrJr   SS/r " S	 S\5      r " S
 S\5      r " S S\5      r " S S\5      rg)    )absolute_import)print_functionN)	YAMLErrorYAMLStreamError)*)utf8	text_typePY2nprintdbg	DBG_EVENTcheck_anchorname_charEmitterEmitterErrorc                       \ rS rSrSrg)r       N)__name__
__module____qualname____firstlineno____static_attributes__r       &lib/third_party/ruamel/yaml/emitter.pyr   r      s    r   c                       \ rS rSrS 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   )r(   r%   r'   r$   r&   r"   r#   r!   N)r   r   r   r   r*   r   r   r   r   r   r   !   s    'r   r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
Indents8   c                     / U l         g r   valuesr)   s    r   r*   Indents.__init__:   s	    r   c                 <    U R                   R                  X45        g r   )r1   append)r)   valseqs      r   r5   Indents.append>   s    C:&r   c                 <    U R                   R                  5       S   $ Nr   )r1   popr2   s    r   r;   Indents.popB   s    {{ ##r   c                 H     U R                   S   S   $ ! [         a     gf = f)N   F)r1   
IndexErrorr2   s    r   last_seqIndents.last_seqF   s,    	;;r?1%% 		s    
!!c                     [        U R                  5      S:  d  U R                  S   S   (       d  gU R                  S   S   b  U R                  S   S   OSnX1-   U-
  S-
  $ )N   r?   r   lenr1   )r)   
seq_indentcolumnbases       r   seq_flow_alignIndents.seq_flow_alignO   s`     t{{at{{2q'9%)[[_Q%7%Ct{{2q! 6)A--r   c                 ,    [        U R                  5      $ r   rF   r2   s    r   __len__Indents.__len__X   s    4;;r   r0   N)r   r   r   r   r*   r5   r;   rA   rK   rN   r   r   r   r   r-   r-   8   s     '$. r   r-   c                   Z   \ rS rSrSSS.rSr          SZS jr\S 5       r\R                  S	 5       r\S
 5       r
\S 5       rS rS rS rS rS[S jrS rS rS rS\S jrS rS rS]S jrS rS rS rS rS rS\S jrS rS rS  r S! r!S" r"S# r#S\S$ jr$S% r%S& r&S\S' jr'S( r(S) r)S* r*S+ r+S, r,S- r-S. r.S/ r/S0 r0S1 r1S2 r2S3 r3S4 r4S5 r5S6 r6S7 r7S8 r8S9 r9S: r:S^S; jr;S< r<S_S= jr=S> r>S? r?S`S@ jr@SASBSCSDSESFSGSHSISJSKSLSMSNSOSP.rAS`SQ jrBSR rCSS rDS_ST jrES`SU jrFS\SV jrGSW rHSX rISYrJg)ar   ]   !z!!)rR   ztag:yaml.org,2002:   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.        g )N_emitterFr   T:i  rD   r?   
   P   
)rY   z
)/dumpergetattrrU   streamencodingallow_space_breakstatesexpect_stream_startstateeventseventr-   indentsindentflow_contextroot_contextsequence_contextmapping_contextsimple_key_contextlinerI   
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)r)   r]   rv   rf   widthrw   
line_breakblock_seq_indentr|   prefix_colonru   r[   s               r   r*   Emitter.__init__g   s    ;;"wt{{J'M'U#'KK  !% --
 
 y  " %$"' 	##   
,8,@djjlU_U_F_ 8 	8
 #*%(^^f%<"8H$4a!%:"$%! &a&o2o(.%#88 U66::#O$00#-  !  $  
r   c                 N     U R                   $ ! [         a    [        S5      ef = f)Nz output stream needs to specified)_streamAttributeErrorr   r2   s    r   r]   Emitter.stream   s/    	F<< 	F!"DEE	F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)   r6   s     r   r]   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   r[   
serializer_serializerr   r2   s    r   r   Emitter.serializer   sL    	t{{E**{{---;;*** 	K	s   0A	 A	 	AAc                 ,    [        U R                  5      $ r   )rG   rg   r2   s    r   
flow_levelEmitter.flow_level   s     4$$%%r   c                      / U l         S U l        g r   )r`   rb   r2   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   rc   r5   need_more_eventsr;   rd   rb   r)   rd   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   r?   rD      F)rc   
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   r?   rE   F)rc   r   r   CollectionStartEventDocumentEndEventCollectionEndEventStreamEndEventrG   )r)   countlevelrd   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:   )re   r5   rf   r~   rA   r}   r   )r)   flowsequence
indentlesss       r   increase_indentEmitter.increase_indent  sv    DKK2;; #33KK-1\\-B-B-D-D))$J^J^K r   c                    [        U R                  [        5      (       a  [        (       aS  U R                  R                  (       a7  [        U R                  SS 5      (       d  U R                  R                  U l        OQU 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)Nr^   z#expected StreamStartEvent, but got )r   rd   StreamStartEventr
   r^   r\   r]   r   write_stream_startexpect_first_document_startrb   r   r2   s    r   ra   Emitter.expect_stream_start8  s    djj"233s::&&wt{{JPT/U/U$(JJ$7$7DM::&&wt{{J/O/O$(JJ$7$7DM##%99DJ$**VWWr   c                 4    [        SU R                  < 35      e)Nzexpected nothing, but got )r   rd   r2   s    r   expect_nothingEmitter.expect_nothingF  s    TZZIJJr   c                      U R                  SS9$ NT)first)expect_document_startr2   s    r   r   #Emitter.expect_first_document_startL  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   rd   r   versiontagsrr   write_indicatorwrite_indentprepare_versionwrite_version_directiveDEFAULT_TAG_PREFIXEScopyr   sortedkeysprepare_tag_handleprepare_tag_prefixwrite_tag_directiveexplicitrv   check_empty_documentexpect_document_rootrb   r   write_stream_endr   r   )	r)   r   version_texthandleshandleprefixhandle_textprefix_textimplicits	            r   r   Emitter.expect_document_startP  s'   djj"455

""djjoo4??$$VT2!!#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  !!#$$VT2>>%%'22DJ

N33$$VT2!!#!!#,,DJDJJXYYr   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   rd   r   r   r   r   flush_streamr   rb   r   r2   s    r   expect_document_endEmitter.expect_document_endy  st    djj"233zz""$$VT2!!#33DJ$**VWWr   c                 l    U R                   R                  U R                  5        U R                  SS9  g )NT)root)r`   r5   r   expect_noder2   s    r   r   Emitter.expect_document_root  s+    4334d#r   c                    Xl         X l        X0l        X@l        [	        U R
                  [        5      (       a  U R                  5         g [	        U R
                  [        [        45      (       Ga@  U R                  S5      (       a7  [	        U R
                  [        5      (       a  U R                  (       a  SU l        U R                  5         [	        U R
                  [        5      (       a  U R                  5         g [	        U R
                  [        5      (       GaE  U R                  U R                  peU R
                  R                   (       a  U R
                  R"                  SL aI  U R
                  R                   (       a.  U R%                  U R
                  5      (       a  SU l        SU l        U R'                  U R
                  5      (       a   XPl        U R                  (       + U l        U R(                  (       dA  U R*                  (       d0  U R
                  R"                  (       d  U R-                  5       (       a  U R/                  5         g U R1                  5         g [	        U R
                  [2        5      (       Ga-  U R
                  R"                  SL a6  U R
                  R                   (       a  U R%                  U R
                  5        U R
                  R                   (       a9  U R
                  R                   S   (       a  U R'                  U R
                  5        U R(                  (       dA  U R*                  (       d0  U R
                  R"                  (       d  U R5                  5       (       a'  U R7                  U R
                  R8                  S:H  S9  g U R;                  5         g g [=        SU R
                  < 35      e)N&FTr?   )singlezexpected NodeEvent, but got )rh   ri   rj   rk   r   rd   
AliasEventexpect_aliasScalarEventr   process_anchorprocess_tagexpect_scalarr   rn   rq   comment
flow_stylewrite_post_commentwrite_pre_commentr   rv   check_empty_sequenceexpect_flow_sequenceexpect_block_sequencer   check_empty_mappingexpect_flow_mappingnr_itemsexpect_block_mappingr   )r)   r   r   mapping
simple_keyi2n2s          r   r   Emitter.expect_node  sg     (&",djj*--

[2F$GHH##D))tzz;77))(-%$**k22""$DJJ(:;;B::%%zz,,5$**:L:L224::>>-2DN.2DO--djj99)+.2nn*<OO~~zz,,0022--/..0DJJ(9::::((E1djj6H6H++DJJ7::%%$***<*<Q*?**4::6OO~~zz,,//11,,DJJ4G4G14L,M--/ ; 4::OPPr   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   )rd   anchorr   r   r`   r;   rb   r2   s    r   r   Emitter.expect_alias  s>    ::$BCCD![[__&
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_scalarre   r;   rf   r`   rb   r2   s    r   r   Emitter.expect_scalar  sE    $'ll&&([[__&
r   c                 
   U R                   R                  U R                  U R                  5      nU R	                  SU-  S-   SSS9  U R                  SSS9  U R                  R                  S5        U R                  U l	        g )N [Trm   r   r   )
re   rK   r}   rI   r   r   rg   r5   expect_first_flow_sequence_itemrb   )r)   inds     r   r   Emitter.expect_flow_sequence  st    ll))$*C*CT[[QTCZ$.F$6  %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                  S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 )Nr  ]Fr   Tr   )r   rd   SequenceEndEventre   r;   rf   rg   r   r   r   r   write_line_breakr`   rb   rv   rI   r   r   r5   expect_flow_sequence_itemr   r)   poppeds     r   r  'Emitter.expect_first_flow_sequence_item  s    djj"233,,**,DK&&**,FS= =  u-zz!!djj&8&8&;''

3A%%%'*DJ~~t!>!!#KKt==>d+r   c                 J   [        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                  SS5        U R                  5         U R                  S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                  S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 )Nr  ,Fr  r   Tr  )r   rd   r  re   r;   rf   rg   rv   r   r   r   r   rq   r`   rb   rI   r   r5   r  r   r  s     r   r  !Emitter.expect_flow_sequence_item  s   djj"233,,**,DK&&**,FS= =~~$$T51!!#  u-zz!!djj&8&8&;''

3"'*DJ  u-~~t!>!!#KKt==>d+r   c                    U R                   R                  U R                  U R                  5      nS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 R                  SSS	9  U R                  U l        g )
N{rE   r   r
  Tr  Fr  )re   rK   r}   rI   r   rg   rv   ru   r   r5   r   expect_first_flow_mapping_keyrb   )r)   r   r  map_inits       r   r   Emitter.expect_flow_mapping	  s    ll))$*C*CT[[Q!!"%,NNDD HTCZ(2DTJ  *$7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                  S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 )	Nr  }Fr   Tr   r   ?r   )r   rd   MappingEndEventre   r;   rf   rg   r   r   r   r   r  r`   rb   rv   rI   r   r   check_simple_keyr5    expect_flow_mapping_simple_valuer   expect_flow_mapping_valuer  s     r   r   %Emitter.expect_first_flow_mapping_key  sL   djj/22,,**,DK&&**,FS= =  u-zz!!djj&8&8&;''

3A%%%'*DJ~~t!>!!#>>d&;&;&=&=""4#H#HI  $ ?$$T40""4#A#AB   .r   c                 2   [        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                  SS5        U R                  5         US:w  a  U R                  S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                  S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)r  r  r  Fr  r$  r   Tr%  r&  r'  )r   rd   r(  re   r;   rf   rg   rv   r   r   r   r   rq   r`   rb   rI   r   r)  r5   r*  r   r+  r  s     r   expect_flow_mapping_keyEmitter.expect_flow_mapping_key3  sy   djj/22 ,,**,DK&&**,F[(((~~$$T51!!#}$$T51zz!!djj&8&8&;''

3"'*DJ  u-~~t!>!!#>>d&;&;&=&=""4#H#HI  $ ?$$T40""4#A#AB   .r   c                     U R                  U R                  S5        U R                  R                  U R                  5        U R                  SS9  g )NFTr'  )r   rt   r`   r5   r.  r   r2   s    r   r*  (Emitter.expect_flow_mapping_simple_valueR  sA    T00%8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 )NTr'  )
rv   rI   r   r   r   rt   r`   r5   r.  r   r2   s    r   r+  !Emitter.expect_flow_mapping_valueX  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   )rj   rn   ro   rI   r  r    expect_first_block_sequence_itemrb   )r)   r   s     r   r   Emitter.expect_block_sequenceb  s^    !^^+JJ''DKK1,<%%'%$:N::
r   c                      U R                  SS9$ r   )expect_block_sequence_itemr2   s    r   r5  (Emitter.expect_first_block_sequence_itemm  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 )
Nr?   Fr   r
  -Trn   rD   r  )r   rd   r  r   r   re   r;   rf   r`   rb   rq   rI   r   r{   r   r}   r5   r8  r   )r)   r   nonlr  s       r   r8  "Emitter.expect_block_sequence_itemq  s9   DJJ0@AAzz!!djj&8&8&;&&tzz2,,**,DK*DJ#DOzz!!djj&8&8&;&&tzz2&*kkQ&64??ED++C  d!2DD I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  )rj   rp   rI   r  r   expect_first_block_mapping_keyrb   r2   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_keyr2   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      (       a  U R*                  R-                  S5        g g U R                  SSSS9  U R                  R#                  U R.                  5        U R'                  SS9  g ! [          a     Nf = f)Nr?   r&  Tr<  r%  r
  r'  )r   rd   r(  r   r   re   r;   rf   r`   rb   r   r)  r   r   r   r   r   r5   !expect_block_mapping_simple_valuer   r   r]   r   expect_block_mapping_value)r)   r   s     r   rC   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tt0L ""4#I#IJ  $ ?djj*55KK%%d+ 6 $$T44$@""4#B#BC   . * s   +H; ;
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   r&  r   r
  FTr'  )r\   rd   rf   r|   rI   rs   rt   r   r`   r5   rC  r   )r)   cs     r   rF  )Emitter.expect_block_mapping_simple_value  s    4::w-4{{aD$>$>$JD66DE

R''  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 )NTr<  r'  )r   r   rt   r`   r5   rC  r   r2   s    r   rG  "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   rd   r   boolrc   r  r2   s    r   r   Emitter.check_empty_sequence  sA     tzz#56 =T[[!=4;;q>+;<	
r   c                     [        U R                  [        5      =(       a9    [        U R                  5      =(       a    [        U R                  S   [
        5      $ r:   )r   rd   r   rO  rc   r(  r2   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   rd   r   rc   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a.    [        U R                  ["        5      =(       Gd    [        U R                  [$        5      =(       a    U R                  R&                  SL =(       d    [        U R                  [(        5      =(       a    U R                  R&                  SL =(       d    [        U R                  [        5      =(       a=    U R                  R*                  (       + =(       a    U R                  R,                  (       + =(       d'    U R/                  5       =(       d    U R1                  5       $ )Nr   T)r   rd   	NodeEventr  r   prepare_anchorrG   r   r   rT  r   prepare_tagr   analyze_scalarrU  r!   MAX_SIMPLE_KEY_LENGTHr   r   r   r   r"   r#   r   r   )r)   lengths     r   r)  Emitter.check_simple_key  s   djj),,1B1B1N##+'+':':4::;L;L'M$c$..//FtzzK1E#FGG

*  ($($4$4TZZ^^$D!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+++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        g)NFT)rd   r  r   rY  r   )r)   	indicators     r   r   Emitter.process_anchor  ss    ::$#'D '#'#6#6tzz7H7H#ID   -A-A!A4H#r   c                    U R                   R                  n[        U R                   [        5      (       a  U R                  c  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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  r   r?   rR   ztag is not specifiedT)rd   rT  r   r   r   choose_scalar_stylerv   r   r   r   rZ  r   ri   r   rq   )r)   rT  s     r   r   Emitter.process_tag  sO   jjnndjj+..zz!!557
NNckr!djj&9&9!&<JJ"$)<)<Q)?$(!zz""1%#+$(!NNcktzz7J7J$(!;566$ $ 0 0 5D  !2!2D9%%tzz;77"& r   c                    U R                   c*  U R                  U R                  R                  5      U l         U R                  R                  S:X  d  U R
                  (       a  gU R                  R                  (       a  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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)
N"r&  r   rD   r  Tz|>'rY   )r   r[  rd   rU  r   rv   r   rk   r"   r#   r   r$   r%   r(   r'   r&   r2   s    r   rc  Emitter.choose_scalar_style3  s   ==  //

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

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

 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        OU R                  S:X  a'  U R                  U R                   R                  U5        OU R                  S:X  a&  U R                  U R                   R                  5        OqU R                  S:X  a;  U R                  U R                   R                  U R                  R                  5        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 )Nrf  rg  >|)r   r[  rd   rU  r   rc  rk   ri   r   r   write_double_quotedr!   write_single_quotedwrite_foldedwrite_literalr   write_plainr   )r)   splits     r   r  Emitter.process_scalarV  sY   ==  //

0@0@ADM::113DJ+++
   ::$$T]]%9%95AZZ3$$T]]%9%95AZZ3dmm223ZZ3t}}33TZZ5G5GHT]]1159
::##DJJ/ r   c                 @    Uu  p#US:w  a  [        SX#4-  5      eSX#4-  $ )Nr?   zunsupported YAML version: %d.%dz%d.%d)r   )r)   r   majorminors       r   r   Emitter.prepare_versiont  s0    A:@E>QRR5.((r   c           	      P   U(       d  [        S5      eUS   S:w  d	  US   S:w  a  [        S[        U5      -  5      eUSS  Ha  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5      < S[        U5      < 35      e   U$ )Nztag handle must not be emptyr   rR   rE   z*tag handle must start and end with '!': %rr?   09AZazz-_invalid character z in the tag handle: )r   r   )r)   r   chs      r   r   Emitter.prepare_tag_handle{  s    =>>!9r
d 2KtTZ|\]]2,B"d"db&8D&8DB<N$<NRTX]R]"DHHdSYl[ 	  r   c                    U(       d  [        S5      e/ nS=p4US   S:X  a  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  US;   a  US-  nOOX4:  a  UR                  XU 5        US-   =p4[        U5      nU H   nUR                  S[	        U5      -  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   rR   r?   rx  ry  rz  r{  r|  r}  z-;/?!:@&=+$,_.~*'()[]%%%02Xr  )r   rG   r5   r   ordjoin)r)   r   chunksstartendr  datas          r   r   Emitter.prepare_tag_prefix  s    =>>!9CCKB"d"2%%2%%11q;MM&s"34!Ag%BxBMM)c"g"56  CK  ;MM&s+,wwvr   c                 4   U(       d  [        S5      e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=pxU[        U5      :  a  X8   n	SU	s=::  a  S::  d2  O  SU	s=::  a  S::  d#  O  SU	s=::  a  S	::  d  O  U	S
;   d  U	S:X  a  US:w  a  US-  nOOXx:  a  UR                  X7U 5        US-   =px[        U	5      n
U
 H   n	UR                  S[        U	5      -  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-  $ )Nztag must not be emptyrR   r   rx  ry  rz  r{  r|  r}  z-;/?:@&=+$,_.~*'()[]r?   r  r  z!<%s>)
r   r   r   r   
startswithrG   r5   r   r  r  )r)   rT  r   suffixprefixesr   r  r  r  r  r  suffix_texts               r   rZ  Emitter.prepare_tag  s   677$;J$++0023F~~f%%6T>S[3s8=S**62S[]+  CKB"d"2%%2%%00$J6T>q;MM&s"34!Ag%BxBMM)c"g"56  CK" ;MM&s+,ggfo$k22k))r   c           	          U(       d  [        S5      eU H8  n[        U5      (       a  M  [        S[        U5      < S[        U5      < 35      e   U$ )Nzanchor must not be emptyr~  z in the anchor: )r   r   r   )r)   r  r  s      r   rY  Emitter.prepare_anchor  sJ    9::B(,,"@DR$v,W  
 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   r?   u     	
  r   z#,[]{}&*!|>'"%@`z?:)r?   r?   r;  z,[]{}r&  rV   #	   
  rY   r
  ~          ퟿      �u   𐀀u   􏿿   ﻿)r   r  rG   r   use_versionrz   rw   r_   )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   r[  Emitter.analyze_scalar  s    !!&"&$($(!	 	 !"  V$$(9(9&(A(A#"O #' "%V!1!^VAYB^5^  c&k!B z--&*O'+$;22f<*.V)*.-+/(:"8&*O'+$ >&*O:$//"="="G&*O:-*.+/(:"9&*O'+$ **"%K7b#;G#;'M"1	1 B3)3228\}8\Io---1*)-& TzA:$(MCK!O+%)N!"&K!%!&,,A:$(MCK!O+%)N!"&K!&!%!&!& QJE&(,H&H#	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   r]   r  r2   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  )r^   r  r]   r   encoder2   s    r   r   Emitter.write_stream_start  sH     ==T]]55h??KKi..t}}=> @=r   c                 $    U R                  5         g r   )r   r2   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)
rm   rn   rI   rG   rr   rO  r^   r  r]   r   )r)   r`  need_whitespacerm   rn   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
  )rf   rn   rI   rm   rO  rq   r  r^   r  r]   r   )r)   rf   r  s      r   r   Emitter.write_indent  s    !{{V#v%dooDOO$$"'%%';;"DO6KK/0D 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 )NTr?   r   )
r   rm   rn   rl   rI   rO  r^   r  r]   r   )r)   r  s     r   r  Emitter.write_line_break  sg    <''D		Q	;;t}}-D$r   c                     SU-  nU R                   (       a  UR                  U R                   5      nU R                  R                  U5        U R	                  5         g )Nz	%%YAML %sr^   r  r]   r   r  )r)   r   r  s      r   r   Emitter.write_version_directive  sC    l*==;;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  sC    !,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   rg  TFr
  r?   r  rY   
    
  z''rD   )rh   r~   r  r   r   rG   rI   r   rO  r^   r  r]   r   )
r)   textrq  spacesbreaksr  r  r  r  brs
             r   rm  Emitter.write_single_quoted  s   $$0%%'((A-%%'T4(SYBSYY:t	S( KK$//9!!QJ3t9,))+##s4y0..#';;t}}#=D))$/E:+@!@{e+--/"o; 113 11"5	 .
 %%'E:'=!=t{##s4y0..#';;t}}#=D))$/ #Tzq &&;;t}}5D!!$'a~t441HCg SYh 	T5)r   rx  r|  btnvfrerf  \N_LP) 	rY   rZ   rf  r  r  r  u    u    c                 T   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bG  US;   dA  SUs=::  a  S::  Gd|  O  U R                  (       a   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aJ  O  GOFUS:X  d  X4:  Ga:  U R                  XC-
  -   U R                  :  Ga  U(       Ga  XU 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  ap  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 )Nr   rf  Tu   "\  ﻿r
  r  r  r  r  r  r     ÿz\x%02Xu   ￿z\u%04Xz\U%08Xr?   F)rh   r~   r  r   r   rG   rw   rI   rO  r^   r  r]   r   ESCAPE_REPLACEMENTSr  r   rm   rn   )r)   r  rq  r  r  r  r  s          r   rl  Emitter.write_double_quoted0  s   $$0%%'((A-%%'T4(SYBSYY
55r,W,**$7i79;Wi;W ;c?DKK3t9,KDMM**#{{4==9KK%%d+E>555$t'?'?'CCw)CG3y)CG3)CG3KK3t9,KDMM**#{{4==9KK%%d+!GEC'#d)a-''4Z5<KK3;/$//A#.;Es4y(&&;;t}}5D!!$'!!#"'!&;$& DKK3t9,KDMM**#{{4==9KK%%d+1HCu SYv 	T5)r   c                    SnSnSnU(       a  US   S;   a  U R                   nU[        U5      -  nOdU R                  (       aS  S H;  nSn UR                  XV5      nUS:X  a  O XS-      S;   a  O US-  nM-  US:  d  M;    O   WS:  a  U R                   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  )z
---z
...rE      z 
r?   r  r;  r>   +)r}   r	   rh   findr@   rG   )r)   r  rf   r`  hintsr  poss          r   determine_block_hintsEmitter.determine_block_hintsv  s   	Aw00226**""-CC"ii1"9!!#!G}7 %  8 q  Rx . 7!66FBx44 	Ta48/D#D 	i''  * ! !s   $C
CCc                    U R                  U5      u  p#nU R                  S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 )Nrj  Tr  Fr   u
   
  r
  rY   r?   u    
  r  rD   z*unexcpected fold indicator \a before spacer  )r  r   rr   r  rG   r   rI   r   rO  r^   r  r]   r   isspacer   )r)   r  r  _indent
_indicatorr  r  r  r  r  r  r  r  s                r   rn  Emitter.write_folded  s   %)%?%?%E"
TE\40"DOSYBSYY:+B!B)N$J K50--/$&$JM"o; 113 11"5	 .
 ~))+E:qyC'DKK$//,I))+##s4y0..#';;t}}#=D))$/E:'?!?c?DKK3t9,KDMM**#{{4==9KK%%d+U{#d)a-0Ag9N9N9P9P 113 --/1HC"./\"]]z--/E~44t1HCk SYr   c                    U R                  U5      u  p4nU R                  SU-   S5         US   S   nU(       a  U R                  R                  U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 ! [        [
        4 a     GNf = f)	Nrk  Tr?   r   r  r  rY   r
  )r  r   r]   r   	TypeErrorr@   rr   r  rG   rh   rf   r   rO  r^   r  )r)   r  r   r  r  r  r  r  r  r  r  idnxr  s                r   ro  Emitter.write_literal  s   %)%?%?%E"
TE\40	ajmG!!'* "DOSYBSYY:+@!@"o; 113 11"5	 .
 ~,,26++2I4;;qD KK--dgn.EF --/E:'<!<c?DDMM**#{{4==9KK%%d+z--/E~441HC; SY :& 		s   *G G*)G*c                 2   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a  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OU(       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OuUb  US;   al  XU n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M  g g !   [        R                  R                  [!        U5      S-   5        e = f)	Nr   Tr
  Fr?   r  rY   r  )rh   r~   r  r   rr   rm   rI   rG   r^   r  r]   r   rn   r   rx   stdoutrepr)
r)   r  rq  r  r  r  r  r  r  r  s
             r   rp  Emitter.write_plain  s   $$0%%'((A-%%'"&DKK3t9$K}}{{4==1KKd#SYBSYY:qyC'DKK$//,Ie))+*/).##s4y0==#';;t}}#=D))$/E22{e+--/"o; 113 11"5	 .
 %%'&+DO%*DNE:'=!=c?DKK3t9,K}}#{{4==9))$/  E~t441HC[ SYL

((dd):;s   %K( (.L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  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   rY   r?   r
  )rU  
start_markrI   r  
ValueErrorstriprO  r^   r  UnicodeDecodeErrorr]   r   r  r  )r)   r   prerU  col	nr_spacess         r   write_commentEmitter.write_commentL  sB   uRyD(#2JE
	"$$++C}}!9!9$!?!? kk{{Q&	 kk)I{{u{{}}Q	)Oe+E&&!LL7E KKe$ !!# %  	"++/C	" &   		sI   AD> 7D> AE- 5E 
E- >EE
E*'E- )E**E- -E9c                    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! [         a:    [        R                  R                  SR                  [        U5      U5      5        e f = f)Nr?   Fpre_doner   T)r  zeventtt {} {})r   r   r   r   r\   rI   r  r  r  r  rx   r  r   formattype)r)   rd   commentsstart_eventsr   s        r   r   Emitter.write_pre_commentp  s    ==#	-/ABL#e22ww
TX7Y7Y;;!#))+""7"5e22'+G$ $   	JJ_33DKGH	s   A3B B ACc                 z    U R                   R                  S   c  gUR                  S   nU R                  U5        g)Nr   FT)rd   r   r  )r)   rd   r   s      r   r   Emitter.write_post_comment  s9    ::a (--"7#r   )*r   r_   rw   r   r   r   r}   r   ru   rv   rs   rI   rp   ro   r[   r^   rd   rc   rg   rf   rn   re   rl   rj   rq   rr   rt   r   r   r~   rh   ri   r{   rk   rb   r`   r]   r   r   r|   rz   rm   )
NNNNNNNNNN)FNF)F)FFFF)FFr   )T)Kr   r   r   r   r   r\  r*   propertyr]   setterr   r   r   r   r   r   r   ra   r   r   r   r   r   r   r   r   r   r  r  r   r   r.  r*  r+  r   r5  r8  r   r@  rC  rF  rG  r   r   r   r)  r   r   rc  r  r   r   r   rZ  rY  r[  r   r   r   r   r   r  r   r   rm  r  rl  r  rn  ro  rp  r  r   r   r   r   r   r   r   r   ]   s    $  
 "48fP F F ]]    & &,6XK6'ZR
X$7Qr'':,&,28$/0/>''	;;,.99/>''



B
!B!F0<)8&*P	q
j 
? $(
   ?*D $D*L(B@D,\CJ"$H(r   )
__future__r   r   rx   ruamel.yaml.errorr   r   ruamel.yaml.eventsruamel.yaml.compatr   r	   r
   r   r   r   r   typingAnyDictListUnionTextTupleOptional
StreamType__all__r   objectr   r-   r   r   r   r   <module>r     sk    ' %  8     	 n
%	9 	'V '." f " Jmf mr   