
    Mh                     r    d dgZ ddlmZ ddlT  G d de          Z G d d          Z G d d           Zd	S )
EmitterEmitterError   )	YAMLError)*c                       e Zd ZdS )r   N)__name__
__module____qualname__     L/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/yaml/emitter.pyr   r      s        Dr   c                       e Zd Zd ZdS )ScalarAnalysisc	                 v    || _         || _        || _        || _        || _        || _        || _        || _        d S 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__zScalarAnalysis.__init__   sG     
" 0!2#6 #6 &r   N)r   r	   r
   r   r   r   r   r   r      s#        ' ' ' ' 'r   r   c                      e Zd ZdddZ	 	 dRdZd Zd Zd Zd	 ZdSdZ	d Z
d Zd ZdTdZd Zd Z	 	 dUdZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdTdZd  Zd! ZdTd"Z d# Z!d$ Z"d% Z#d& Z$d' Z%d( Z&d) Z'd* Z(d+ Z)d, Z*d- Z+d. Z,d/ Z-d0 Z.d1 Z/d2 Z0d3 Z1d4 Z2d5 Z3	 dSd6Z4d7 Z5dVd8Z6d9 Z7d: Z8dWd<Z9d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLZ:dWdMZ;dN Z<dO Z=dP Z>dWdQZ?dS )Xr   !z!!)r   ztag:yaml.org,2002:Nc                    || _         d | _        g | _        | j        | _        g | _        d | _        g | _        d | _        d| _	        d| _
        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        || _        || _        d| _        |rd|cxk     rdk     r
n n|| _        d| _        |r|| j        dz  k    r|| _        d| _        |d	v r|| _        d | _        d | _        d | _        d | _        d | _        d S )
N    FT   r   
   P   
)r$   z
)streamencodingstatesexpect_stream_startstateeventseventindentsindent
flow_levelroot_contextsequence_contextmapping_contextsimple_key_contextlinecolumn
whitespace	indention
open_ended	canonicalallow_unicodebest_indent
best_widthbest_line_breaktag_prefixesprepared_anchorprepared_taganalysisstyle)r   r&   r9   r.   widthr:   
line_breaks          r   r   zEmitter.__init__&   sN      -
 
   " %$"' 	   #* 	&a&oooo2ooooo%D 	$UT-a///#DO#---#-D  !  $  


r   c                 "    g | _         d | _        d S r   )r(   r*   r   s    r   disposezEmitter.disposej   s    


r   c                    | j                             |           |                                 sP| j                             d          | _        |                                  d | _        |                                 Nd S d S Nr    )r+   appendneed_more_eventspopr,   r*   r   r,   s     r   emitzEmitter.emito   s    5!!!'')) 	++DJJJLLLDJ '')) 	 	 	 	 	r   c                 .   | j         sdS | j         d         }t          |t                    r|                     d          S t          |t                    r|                     d          S t          |t
                    r|                     d          S dS )NTr    r   r!      F)r+   
isinstanceDocumentStartEventneed_eventsSequenceStartEventMappingStartEventrM   s     r   rK   zEmitter.need_more_eventsx   s    { 	4Ae/00 	##A&&&122 	##A&&&011 	##A&&&5r   c                 (   d}| j         dd          D ]f}t          |t          t          f          r|dz  }n9t          |t          t
          f          r|dz  }nt          |t                    rd}|dk     r dS gt          | j                   |dz   k     S )Nr    r   F)r+   rQ   rR   CollectionStartEventDocumentEndEventCollectionEndEventStreamEndEventlen)r   countlevelr,   s       r   rS   zEmitter.need_events   s    [_ 	 	E%"46J!KLL 
E$46H#IJJ 
E>22 qyyuu DK  57*+r   Fc                     | j                             | j                   | j        |r| j        | _        d S d| _        d S |s| xj        | j        z  c_        d S d S rI   )r-   rJ   r.   r;   )r   flow
indentlesss      r   increase_indentzEmitter.increase_indent   sl    DK(((;  ". 	,KK4++KKKK	, 	,r   c                    t          | j        t                    rT| j        j        r&t	          | j        d          s| j        j        | _        |                                  | j        | _        d S t          d| j        z            )Nr'   z%expected StreamStartEvent, but got %s)
rQ   r,   StreamStartEventr'   hasattrr&   write_stream_startexpect_first_document_startr*   r   rF   s    r   r)   zEmitter.expect_stream_start   s    dj"233 	"z" 474;
+K+K 4 $
 3##%%%9DJJJFj ! " " "r   c                 0    t          d| j        z            )Nzexpected nothing, but got %s)r   r,   rF   s    r   expect_nothingzEmitter.expect_nothing   s    9DJFGGGr   c                 .    |                      d          S NT)first)expect_document_startrF   s    r   rg   z#Emitter.expect_first_document_start   s    )))555r   c                    t          | j        t                    r| j        j        s| j        j        r1| j        r*|                     dd           |                                  | j        j        r4|                     | j        j                  }| 	                    |           | j
                                        | _        | j        j        rt          | j        j                                                  }|D ]^}| j        j        |         }|| j        |<   |                     |          }|                     |          }|                     ||           _|oC| j        j         o6| j         o.| j        j         o!| j        j         o|                                  }|sE|                                  |                     dd           | j        r|                                  | j        | _        d S t          | j        t.                    rS| j        r*|                     dd           |                                  |                                  | j        | _        d S t5          d| j        z            )N...T---z'expected DocumentStartEvent, but got %s)rQ   r,   rR   versiontagsr8   write_indicatorwrite_indentprepare_versionwrite_version_directiveDEFAULT_TAG_PREFIXEScopyr>   sortedkeysprepare_tag_handleprepare_tag_prefixwrite_tag_directiveexplicitr9   check_empty_documentexpect_document_rootr*   r[   write_stream_endri   r   )	r   rl   version_texthandleshandleprefixhandle_textprefix_textimplicits	            r   rm   zEmitter.expect_document_start   s   dj"455 !	"
" $djo $4? $$$UD111!!###z! ;#33DJ4FGG,,\::: $ 9 > > @ @Dz G !5!5!7!788% G GF!Z_V4F06D%f-"&"9"9&"A"AK"&"9"9&"A"AK,,[+FFFF 8dj&9"9 8$.>P 8 J..87;z3F8 55777   (!!###$$UD111> (%%'''2DJJJ
N33 	" $$$UD111!!###!!###,DJJJHj ! " " "r   c                 <   t          | j        t                    rl|                                  | j        j        r*|                     dd           |                                  |                                  | j        | _        d S t          d| j        z            )Nro   Tz%expected DocumentEndEvent, but got %s)
rQ   r,   rY   rt   r~   rs   flush_streamrm   r*   r   rF   s    r   expect_document_endzEmitter.expect_document_end   s    dj"233 		"z" $$$UD111!!###3DJJJFj ! " " "r   c                 p    | j                             | j                   |                     d           d S )NT)root)r(   rJ   r   expect_noderF   s    r   r   zEmitter.expect_document_root   s8    43444d#####r   c                    || _         || _        || _        || _        t	          | j        t                    r|                                  d S t	          | j        t          t          f          rC| 
                    d           |                                  t	          | j        t                    r|                                  d S t	          | j        t                    rZ| j        s'| j        s | j        j        s|                                 r|                                  d S |                                  d S t	          | j        t(                    rZ| j        s'| j        s | j        j        s|                                 r|                                  d S |                                  d S d S t1          d| j        z            )N&zexpected NodeEvent, but got %s)r0   r1   r2   r3   rQ   r,   
AliasEventexpect_aliasScalarEventrX   process_anchorprocess_tagexpect_scalarrT   r/   r9   
flow_stylecheck_empty_sequenceexpect_flow_sequenceexpect_block_sequencerU   check_empty_mappingexpect_flow_mappingexpect_block_mappingr   )r   r   sequencemapping
simple_keys        r   r   zEmitter.expect_node   s     (&",dj*-- 	N
[2F$GHH 	N$$$$*k22 0""$$$$$DJ(:;; 0? 1dn 1
8M 144661--/////..00000DJ(9:: 0? 0dn 0
8M 033550,,.....--/////0 0 ?$*LMMMr   c                     | j         j        t          d          |                     d           | j                                        | _        d S )Nz!anchor is not specified for aliasr   )r,   anchorr   r   r(   rL   r*   rF   s    r   r   zEmitter.expect_alias  sG    :$BCCCC   [__&&


r   c                     |                      d           |                                  | j                                        | _        | j                                        | _        d S )NTr`   )rb   process_scalarr-   rL   r.   r(   r*   rF   s    r   r   zEmitter.expect_scalar
  sW    $'''l&&(([__&&


r   c                     |                      ddd           | xj        dz  c_        |                     d           | j        | _        d S )N[Tr6   r   r   )rs   r/   rb   expect_first_flow_sequence_itemr*   rF   s    r   r   zEmitter.expect_flow_sequence  sR    S$48881$'''9


r   c                    t          | j        t                    rd| j                                        | _        | xj        dz  c_        |                     dd           | j                                        | _	        d S | j
        s| j        | j        k    r|                                  | j                            | j                   |                     d           d S )Nr   ]FTr   )rQ   r,   SequenceEndEventr-   rL   r.   r/   rs   r(   r*   r9   r5   r<   rt   rJ   expect_flow_sequence_itemr   rF   s    r   r   z'Emitter.expect_first_flow_sequence_item  s    dj"233 		,,**,,DKOOq OO  e,,,**DJJJ~ $t!>!>!!###Kt=>>>d+++++r   c                 P   t          | j        t                    r| j                                        | _        | xj        dz  c_        | j        r*|                     dd           | 	                                 |                     dd           | j
                                        | _        d S |                     dd           | j        s| j        | j        k    r| 	                                 | j
                            | j                   |                     d           d S )Nr   ,Fr   Tr   )rQ   r,   r   r-   rL   r.   r/   r9   rs   rt   r(   r*   r5   r<   rJ   r   r   rF   s    r   r   z!Emitter.expect_flow_sequence_item$  s   dj"233 	,,**,,DKOOq OO~ $$$S%000!!###  e,,,**DJJJ  e,,,~ $t!>!>!!###Kt=>>>d+++++r   c                     |                      ddd           | xj        dz  c_        |                     d           | j        | _        d S )N{Tr   r   r   )rs   r/   rb   expect_first_flow_mapping_keyr*   rF   s    r   r   zEmitter.expect_flow_mapping6  sR    S$48881$'''7


r   c                    t          | j        t                    rd| j                                        | _        | xj        dz  c_        |                     dd           | j                                        | _	        d S | j
        s| j        | j        k    r|                                  | j
        sL|                                 r8| j                            | j                   |                     dd           d S |                     dd           | j                            | j                   |                     d           d S )Nr   }FTr   r   ?r   )rQ   r,   MappingEndEventr-   rL   r.   r/   rs   r(   r*   r9   r5   r<   rt   check_simple_keyrJ    expect_flow_mapping_simple_valuer   expect_flow_mapping_valuerF   s    r   r   z%Emitter.expect_first_flow_mapping_key<  s3   dj/22 	/,**,,DKOOq OO  e,,,**DJJJ~ $t!>!>!!###> /d&;&;&=&= /""4#HIII  $ ?????$$S$///""4#ABBB   .....r   c                 "   t          | j        t                    r| j                                        | _        | xj        dz  c_        | j        r*|                     dd           | 	                                 |                     dd           | j
                                        | _        d S |                     dd           | j        s| j        | j        k    r| 	                                 | j        sL|                                 r8| j
                            | j                   |                     dd           d S |                     dd           | j
                            | j                   |                     d           d S )	Nr   r   Fr   Tr   r   r   )rQ   r,   r   r-   rL   r.   r/   r9   rs   rt   r(   r*   r5   r<   r   rJ   r   r   r   rF   s    r   expect_flow_mapping_keyzEmitter.expect_flow_mapping_keyM  s{   dj/22 	/,**,,DKOOq OO~ $$$S%000!!###  e,,,**DJJJ  e,,,~ $t!>!>!!###> /d&;&;&=&= /""4#HIII  $ ?????$$S$///""4#ABBB   .....r   c                     |                      dd           | j                            | j                   |                     d           d S N:FTr   )rs   r(   rJ   r   r   rF   s    r   r   z(Emitter.expect_flow_mapping_simple_valueb  sN    S%(((47888&&&&&r   c                     | j         s| j        | j        k    r|                                  |                     dd           | j                            | j                   |                     d           d S )Nr   Tr   )	r9   r5   r<   rt   rs   r(   rJ   r   r   rF   s    r   r   z!Emitter.expect_flow_mapping_valueg  sx    > 	 T[4?::S$'''47888&&&&&r   c                 j    | j         o| j         }|                     d|           | j        | _        d S )NF)r`   ra   )r2   r7   rb    expect_first_block_sequence_itemr*   )r   ra   s     r   r   zEmitter.expect_block_sequencep  s;    *A4>/A
%J???:


r   c                 .    |                      d          S rk   )expect_block_sequence_itemrF   s    r   r   z(Emitter.expect_first_block_sequence_itemu  s    ..T.:::r   c                 |   |sXt          | j        t                    r>| j                                        | _        | j                                        | _        d S |                                  | 	                    ddd           | j        
                    | j                   |                     d           d S )N-Tr7   r   )rQ   r,   r   r-   rL   r.   r(   r*   rt   rs   rJ   r   r   r   rl   s     r   r   z"Emitter.expect_block_sequence_itemx  s     	,DJ0@AA 	,,**,,DK**DJJJ  dd ;;;Kt>???d+++++r   c                 J    |                      d           | j        | _        d S )NFr   )rb   expect_first_block_mapping_keyr*   rF   s    r   r   zEmitter.expect_block_mapping  s'    %(((8


r   c                 .    |                      d          S rk   )expect_block_mapping_keyrF   s    r   r   z&Emitter.expect_first_block_mapping_key  s    ,,4,888r   c                    |sXt          | j        t                    r>| j                                        | _        | j                                        | _        d S |                                  | 	                                r8| j        
                    | j                   |                     dd           d S |                     ddd           | j        
                    | j                   |                     d           d S )NTr   r   r   r   )rQ   r,   r   r-   rL   r.   r(   r*   rt   r   rJ   !expect_block_mapping_simple_valuer   rs   expect_block_mapping_valuer   s     r   r   z Emitter.expect_block_mapping_key  s     	/DJ@@ 	/,**,,DK**DJJJ$$&& /""4#IJJJ  $ ?????$$S$$$???""4#BCCC   .....r   c                     |                      dd           | j                            | j                   |                     d           d S r   )rs   r(   rJ   r   r   rF   s    r   r   z)Emitter.expect_block_mapping_simple_value  sN    S%(((48999&&&&&r   c                     |                                   |                     ddd           | j                            | j                   |                     d           d S )Nr   Tr   r   )rt   rs   r(   rJ   r   r   rF   s    r   r   z"Emitter.expect_block_mapping_value  se    S$$77748999&&&&&r   c                     t          | j        t                    o&| j        ot          | j        d         t                    S rI   )rQ   r,   rT   r+   r   rF   s    r   r   zEmitter.check_empty_sequence  s<    4:'9:: At{ At{1~/?@@	Br   c                     t          | j        t                    o&| j        ot          | j        d         t                    S rI   )rQ   r,   rU   r+   r   rF   s    r   r   zEmitter.check_empty_mapping  s;    4:'899 @dk @t{1~??	Ar   c                     t          | j        t                    r| j        sdS | j        d         }t          |t                    o#|j        d u o|j        d u o|j        o
|j        dk    S )NFr     )	rQ   r,   rR   r+   r   r   tagr   valuerM   s     r   r   zEmitter.check_empty_document  s}    $*&899 	 	5A5+.. O5<43G OI%O*/.O=B[B=N	Pr   c                 n   d}t          | j        t                    rN| j        j        B| j        $|                     | j        j                  | _        |t          | j                  z  }t          | j        t          t          f          rN| j        j	        B| j
        $|                     | j        j	                  | _
        |t          | j
                  z  }t          | j        t                    rG| j        $|                     | j        j                  | _        |t          | j        j                  z  }|dk     out          | j        t                     p[t          | j        t                    o| j        j         o| j        j         p'|                                 p|                                 S )Nr       )rQ   r,   	NodeEventr   r?   prepare_anchorr\   r   rX   r   r@   prepare_tagrA   analyze_scalarr   r   r   r   r   r   r   )r   lengths     r   r   zEmitter.check_simple_key  s   dj),, 	01B1N#+'+':':4:;L'M'M$c$.///Fdj;0D"EFF 	-JN. ($($4$4TZ^$D$D!c$+,,,Fdj+.. 	0}$ $ 3 3DJ4D E Ec$-.///F J*TZ"D"D #I4:{33 P M//P8<8O4O#I ((**#I /3.F.F.H.H	Kr   c                     | j         j        	d | _        d S | j        $|                     | j         j                  | _        | j        r|                     || j        z   d           d | _        d S )NT)r,   r   r?   r   rs   )r   	indicators     r   r   zEmitter.process_anchor  sv    :$#'D F'#'#6#6tz7H#I#ID  	G  4+?!?FFF#r   c                 X   | j         j        }t          | j         t                    r| j        |                                 | _        | j        r|C| j        dk    r| j         j        d         s| j        dk    r| j         j        d         r	d | _        d S | j         j        d         r|	d}d | _        n| j        r|| j         j        r	d | _        d S |t          d          | j        | 
                    |          | _        | j        r|                     | j        d           d | _        d S )Nr   r    r   r   ztag is not specifiedT)r,   r   rQ   r   rB   choose_scalar_styler9   r   r@   r   r   rs   )r   r   s     r   r   zEmitter.process_tag  s:   jndj+.. 	z!!5577
^ s{*""tz':1'=" J",,1DQ1G,$(!z"1% )#+$(!N cktz7Jk$(!;5666$ $ 0 0 5 5D 	:  !2D999 r   c                 R   | j         $|                     | j        j                  | _         | j        j        dk    s| j        rdS | j        j        sY| j        j        d         rG| j        r| j         j        s4| j         j	        s(| j
        r| j         j        s| j
        s| j         j        rdS | j        j        r4| j        j        dv r&| j
        s| j        s| j         j        r| j        j        S | j        j        r| j        j        dk    r!| j         j        r| j        r| j         j	        sdS dS )N"r    r   z|>')rA   r   r,   r   rB   r9   r   r3   r   r   r/   r   r   r   r   rF   s    r   r   zEmitter.choose_scalar_style  sO   =  //
0@AADM:s""dn"3z 	DJ$7$: 	, ](,0M,C_)-)G !O 150O r: 	(
 0D 8 8O (D,C (1(z''z 	4:#3t#;#;1 059]5Ltsr   c                 d   | j         $|                     | j        j                  | _         | j        |                                 | _        | j         }| j        dk    r!|                     | j         j        |           n| j        dk    r!| 	                    | j         j        |           nv| j        dk    r | 
                    | j         j                   nK| j        dk    r |                     | j         j                   n |                     | j         j        |           d | _         d | _        d S )Nr   r   >|)rA   r   r,   r   rB   r   r3   write_double_quotedr   write_single_quotedwrite_foldedwrite_literalwrite_plain)r   splits     r   r   zEmitter.process_scalar  s!   =  //
0@AADM:1133DJ,, :$$T]%95AAAAZ4$$T]%95AAAAZ3dm23333Z3t}34444T]15999


r   c                 N    |\  }}|dk    rt          d||fz            d||fz  S )Nr   zunsupported YAML version: %d.%dz%d.%dr   )r   rq   majorminors       r   ru   zEmitter.prepare_version  s;    uA::@E5>QRRR%''r   c                 "   |st          d          |d         dk    s|d         dk    rt          d|z            |dd         D ]H}d|cxk    rdk    s9n d	|cxk    rd
k    s*n d|cxk    rdk    sn |dv st          d|d|          I|S )Nztag handle must not be emptyr    r   rW   z*tag handle must start and end with '!': %rr   09AZaz-_invalid character z in the tag handle: r   )r   r   chs      r   r{   zEmitter.prepare_tag_handle!  s     	?=>>>!9vbzS00KfTUUU2, 	( 	(B2$$$$$$$$r(8(8(8(8S(8(8(8(8C2<L<L<L<L<L<L<L<LTzz"l22vv$' ( ( (r   c                 X   |st          d          g }dx}}|d         dk    rd}|t          |          k     r||         }d|cxk    rdk    s$n d|cxk    rdk    sn d	|cxk    rd
k    sn |dv r|dz  }ni||k     r|                    |||                    |dz   x}}|                    d          }|D ]'}|                    dt	          |          z             (|t          |          k     ||k     r|                    |||                    d                    |          S )Nztag prefix must not be emptyr    r   r   r   r   r   r   r   r   z-;/?!:@&=+$,_.~*'()[]utf-8%%%02Xr   )r   r\   rJ   encodeordjoin)r   r   chunksstartendr   datas          r   r|   zEmitter.prepare_tag_prefix-  s    	?=>>>!9CCKKBbC3"#3#3#3#3#3#3#3#3sb7G7G7G7GC7G7G7G7G555q3;;MM&s"3444!!e#yy)) 6 6BMM(SWW"45555 CKK 3;;MM&s+,,,wwvr   c                    |st          d          |dk    r|S d }|}t          | j                                                  }|D ]a}|                    |          rJ|dk    s t          |          t          |          k     r$| j        |         }|t          |          d          }bg }dx}}|t          |          k     r||         }	d|	cxk    rdk    s0n d|	cxk    rdk    s!n d|	cxk    rd	k    sn |	d
v s|	dk    r|dk    r|dz  }n\||k     r|                    |||                    |dz   x}}|	                    d          }
|
D ]}	|                    d|	z             |t          |          k     ||k     r|                    |||                    d                    |          }|r||S d|z  S )Nztag must not be emptyr   r    r   r   r   r   r   r   z-;/?:@&=+$,_.~*'()[]r   r   r  r   z!<%s>)	r   ry   r>   rz   
startswithr\   rJ   r  r  )r   r   r   suffixprefixesr   r  r  r  r   r  suffix_texts               r   r   zEmitter.prepare_tagD  s1    	86777#::J$+002233 	+ 	+F~~f%% +3#f++C*@*@*62S[[\\*CKKBbC3"#3#3#3#3#3#3#3#3sb7G7G7G7GC7G7G7G7G444c		fmmq3;;MM&s"3444!!e#yy)) 1 1BMM(R-0000 CKK 3;;MM&s+,,,ggfoo 	)#V[[11[((r   c                     |st          d          |D ]H}d|cxk    rdk    s9n d|cxk    rdk    s*n d|cxk    rdk    sn |dv st          d	|d
|          I|S )Nzanchor must not be emptyr   r   r   r   r   r   r   r   z in the anchor: r   )r   r   r   s      r   r   zEmitter.prepare_anchorh  s     	;9::: 	( 	(B2$$$$$$$$r(8(8(8(8S(8(8(8(8C2<L<L<L<L<L<L<L<LTzz"l22vv$' ( ( (r   c           
      l   |st          |ddddddd          S d}d}d}d}d}d}d}d}	d}
d}|                    d          s|                    d          rd}d}d}t          |          dk    p	|d         dv }d}d}d}|t          |          k     rN||         }|dk    r|d	v rd}d}|d
v rd}|rd}|dk    r|rd}d}n|dv rd}|dk    rd}|rd}|dk    r|rd}d}|dv rd}|dk    sWd|cxk    rdk    sJn |dk    s.d|cxk    rdk    s!n d|cxk    rdk    sn d|cxk    rdk     rn n|dk    rd}| j        sd}nd}|dk    r)|dk    rd}|t          |          dz
  k    rd}|rd}
d}d}n1|dv r)|dk    rd}|t          |          dz
  k    rd}	|rd}d}d}nd}d}|dz  }|dv }|dz   t          |          k    p||dz            dv }|t          |          k     Nd}d}d}d}d}|s|s|s|	rdx}}|rd}|
rdx}x}}|s|rdx}x}x}}|rdx}}|rd}|rd}t          |d||||||          S )NTFr   rp   ro   r   u     	
  r    z#,[]{}&*!|>'"%@`z?:r   z,?[]{}r   #	   
  r$    ~          ퟿      �u   𐀀u   􏿿   ﻿)r   r
  r\   r:   )r   r   block_indicatorsflow_indicatorsline_breaksspecial_charactersleading_spaceleading_breaktrailing_spacetrailing_breakbreak_spacespace_breakpreceded_by_whitespacefollowed_by_whitespaceprevious_spaceprevious_breakindexr   unicode_charactersr   r   r   r   r   s                           r   r   zEmitter.analyze_scalarr  sn     	'!tu%*d(,$ %' ' ' ' !"  U## 	#v'8'8'?'? 	##"O "& #&f++"2 #9q	88 	  c&kk!!B zz---&*O'+$::&*O- 0+/(99!79&*O'+$ >>&*O99&*O- 0+/(99!79&*O'+$ )))"$JJ&B"8"8"8"8&"8"8"8"8&LLFb$<$<$<$<H$<$<$<$<#r5555X5555'2<<<<<<<<<"..)-&- 2-1*)-& SyyA::$(MCKKM))%)N! '"&K!%!&+++A::$(MCKKM))%)N! '"&K!&!%!&!& QJE&(,G&G"&+AgV&< 'C57O'BB #G c&kk!!N   ""  	9] 	9!	9%3	93880  	 K  	OINNN03F  	6, 	6056 60 6+  	93880  	%$  	& %V{!1"3$7$7') ) ) 	)r   c                 f    t          | j        d          r| j                                         d S d S )Nflush)re   r&   r+  rF   s    r   r   zEmitter.flush_stream  s:    4;(( 	 K	  	 r   c                     | j         rN| j                             d          r6| j                            d                    | j                              d S d S d S )Nzutf-16r  )r'   r
  r&   writer  rF   s    r   rf   zEmitter.write_stream_start  sa    = 	>T]55h?? 	>Khoodm<<=====	> 	> 	> 	>r   c                 .    |                                   d S r   )r   rF   s    r   r   zEmitter.write_stream_end  s    r   c                    | j         s|s|}nd|z   }|| _         | j        o|| _        | xj        t          |          z  c_        d| _        | j        r|                    | j                  }| j                            |           d S )Nr  F)	r6   r7   r5   r\   r8   r'   r  r&   r-  )r   r   need_whitespacer6   r7   r  s         r   rs   zEmitter.write_indicator   s    ? 	!/ 	!DDy=D$5Is4yy = 	.;;t}--D$r   c                 N   | j         pd}| j        r| j        |k    s| j        |k    r| j        s|                                  | j        |k     rXd| _        d|| j        z
  z  }|| _        | j        r|                    | j                  }| j                            |           d S d S )Nr    Tr  )	r.   r7   r5   r6   write_line_breakr'   r  r&   r-  )r   r.   r  s      r   rt   zEmitter.write_indent.  s    !~ 	$v!5!5K6))$/)!!###;"DOt{*+D DK} 2{{4=11Kd#####  r   c                     || j         }d| _        d| _        | xj        dz  c_        d| _        | j        r|                    | j                  }| j                            |           d S )NTr   r    )	r=   r6   r7   r4   r5   r'   r  r&   r-  )r   r  s     r   r2  zEmitter.write_line_break;  sl    <'D		Q		= 	.;;t}--D$r   c                     d|z  }| j         r|                    | j                   }| j                            |           |                                  d S )Nz	%%YAML %sr'   r  r&   r-  r2  )r   r   r  s      r   rv   zEmitter.write_version_directiveF  sW    \)= 	.;;t}--D$r   c                     d|d|}| j         r|                    | j                   }| j                            |           |                                  d S )Nz%TAG r  r5  )r   r   r   r  s       r   r}   zEmitter.write_tag_directiveM  s_      +[[9= 	.;;t}--D$r   Tc                    |                      dd           d}d}dx}}|t          |          k    rDd }|t          |          k     r||         }|r||dk    r|dz   |k    r@| j        | j        k    r0|r.|dk    r(|t          |          k    r|                                  nb|||         }| xj        t          |          z  c_        | j        r|                    | j                  }| j                            |           |}n|rz||dvrs||         dk    r| 	                                 |||         D ]2}	|	dk    r| 	                                 | 	                    |	           3|                                  |}nv|
|d	v s|dk    rj||k     rd|||         }| xj        t          |          z  c_        | j        r|                    | j                  }| j                            |           |}|dk    rRd
}| xj        dz  c_        | j        r|                    | j                  }| j                            |           |dz   }|
|dk    }|dv }|dz  }|t          |          k    D|                      dd           d S )Nr   TFr    r  r   r  r$   
    
  z''r!   )
rs   r\   r5   r<   rt   r'   r  r&   r-  r2  )
r   textr   spacesbreaksr  r  r   r  brs
             r   r   zEmitter.write_single_quotedV  s   T4(((SYYBSYY#Y $:sQw#~~$+*G*GE*G %

sc$ii/?/?))++++#E#Is4yy0= >#';;t}#=#=D))$///E $:+?!?!?E{d**--///"59o 6 6:: 113333 11"5555%%'''E:'<!<!<d

s{{#E#Is4yy0= >#';;t}#=#=D))$/// #Tzzq = 6;;t}55D!!$'''a~) 441HC] SYY^ 	T5)))))r   r   r   btnvfrer   \N_LP) 	r$   r%   r   rD  r  r  u    u    c                 :   |                      dd           dx}}|t          |          k    rd }|t          |          k     r||         }|;|dv s7d|cxk    rdk    sPn | j        r d|cxk    rdk    s9n d	|cxk    rd
k    s)n ||k     rd|||         }| xj        t          |          z  c_        | j        r|                    | j                  }| j                            |           |}||| j        v rd| j        |         z   }nD|dk    rdt          |          z  }n+|dk    rdt          |          z  }ndt          |          z  }| xj        t          |          z  c_        | j        r|                    | j                  }| j                            |           |dz   }d|cxk     rt          |          dz
  k     rn n|dk    s||k    r| j        ||z
  z   | j
        k    r|r|||         dz   }||k     r|}| xj        t          |          z  c_        | j        r|                    | j                  }| j                            |           |                                  d| _        d| _        ||         dk    rZd}| xj        t          |          z  c_        | j        r|                    | j                  }| j                            |           |dz  }|t          |          k    |                      dd           d S )Nr   Tr    u   "\  ﻿r  r  r  r  r  r  rD     ÿz\x%02Xu   ￿z\u%04Xz\U%08Xr   F)rs   r\   r:   r5   r'   r  r&   r-  ESCAPE_REPLACEMENTSr  r<   rt   r6   r7   )r   r9  r   r  r  r   r  s          r   r   zEmitter.write_double_quoted  se   S$'''SYYBSYY#YzR#>>>"b2222F2222 . 3!'2!9!9!9!9!9!9!9!9#+r#=#=#=#=X#=#=#=#=3;;c	?DKK3t99,KK} :#{{4=99K%%d+++E>T555#D$<R$@@v(3r772x(3r772(3r772KK3t99,KK} :#{{4=99K%%d+++EE3$$$$T1$$$$$"))u||SY/$/AAeAE#It+3;;Es4yy(= 6;;t}55D!!$'''!!###"'!&;#%%DKK3t99,KK} :#{{4=99K%%d+++1HCa SYYb 	S%(((((r   c                     d}|rS|d         dv r|t          | j                  z  }|d         dvr|dz  }n"t          |          dk    s
|d         dv r|d	z  }|S )
Nr   r    r8  rW   r  r   r   +)strr;   r\   )r   r9  hintss      r   determine_block_hintszEmitter.determine_block_hints  s{     	Aw///T-...Bx333Ta48/C#C#Cr   c                    |                      |          }|                     d|z   d           |dd          dk    rd| _        |                                  d}d}d}dx}}|t	          |          k    rd }|t	          |          k     r||         }|r||dvr|s(|&|dk    r ||         d	k    r|                                  |dk    }|||         D ]2}	|	d	k    r|                                  |                     |	           3||                                  |}n|r|dk    r|d
z   |k    r%| j        | j        k    r|                                  nb|||         }
| xj        t	          |
          z  c_        | j        r|
	                    | j                  }
| j
                            |
           |}n||dv rz|||         }
| xj        t	          |
          z  c_        | j        r|
	                    | j                  }
| j
                            |
           ||                                  |}|
|dv }|dk    }|d
z  }|t	          |          k    d S d S )Nr   TrW   rU  Fr    r  r  r$   r   r8  )rX  rs   r8   r2  r\   rt   r5   r<   r'   r  r&   r-  )r   r9  rW  r  r:  r;  r  r  r   r<  r  s              r   r   zEmitter.write_folded  s   **400SY---:"DOSYYBSYY#Y " :+?!?!?( 0R^c		 $Ut 3 3--///%'3YM"59o 6 6:: 113333 11"5555~))+++E  99Qw#~~$+*G*G))++++#E#Is4yy0= >#';;t}#=#=D))$///E:'<!<!<c	?DKK3t99,KK} :#{{4=99K%%d+++z--///E~ 44)1HCU SYYr   c                    |                      |          }|                     d|z   d           |dd          dk    rd| _        |                                  d}dx}}|t	          |          k    rd }|t	          |          k     r||         }|r\||dvrU|||         D ]2}|dk    r|                                  |                     |           3||                                  |}nc||dv r]|||         }| j        r|                    | j                  }| j        	                    |           ||                                  |}||dv }|dz  }|t	          |          k    d S d S )	Nr   TrW   rU  r    r  r$   r   )
rX  rs   r8   r2  r\   rt   r'   r  r&   r-  )	r   r9  rW  r;  r  r  r   r<  r  s	            r   r   zEmitter.write_literal  s   **400SY---:"DOSYYBSYY#Y  :+?!?!?"59o 6 6:: 113333 11"5555~))+++E:';!;!;c	?D} :#{{4=99K%%d+++z--///E~ 441HC3 SYYr   c                    | j         rd| _        |sd S | j        sZd}| xj        t	          |          z  c_        | j        r|                    | j                  }| j                            |           d| _        d| _	        d}d}dx}}|t	          |          k    rd }|t	          |          k     r||         }|r|dk    r|dz   |k    r5| j        | j
        k    r%|r#|                                  d| _        d| _	        nb|||         }| xj        t	          |          z  c_        | j        r|                    | j                  }| j                            |           |}n|r|dvr||         dk    r|                                  |||         D ]2}	|	dk    r|                                  |                     |	           3|                                  d| _        d| _	        |}nj||dv rd|||         }| xj        t	          |          z  c_        | j        r|                    | j                  }| j                            |           |}|
|dk    }|dv }|dz  }|t	          |          k    d S d S )	NTr  Fr    r   r  r$   r8  )r0   r8   r6   r5   r\   r'   r  r&   r-  r7   r<   rt   r2  )
r   r9  r   r  r:  r;  r  r  r   r<  s
             r   r   zEmitter.write_plain8  s    	#"DO 	F 	$DKK3t99$KK} 2{{4=11Kd###SYYBSYY#Y ! 99Qw#~~$+*G*GE*G))+++*/).#E#Is4yy0= >#';;t}#=#=D))$///E  111E{d**--///"59o 6 6:: 113333 11"5555%%'''&+DO%*DNE:'<!<!<c	?DKK3t99,KK} :#{{4=99K%%d+++E~) 441HCS SYYr   )NNNNN)FF)F)FFFFr   )T)@r   r	   r
   rw   r   rG   rN   rK   rS   rb   r)   ri   rg   rm   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ru   r{   r|   r   r   r   r   rf   r   rs   rt   r2  rv   r}   r   rR  r   rX  r   r   r   r   r   r   r   r      sK        # 
 CG+/B B B BH  
    , , ,, , , ," " "H H H
6 6 6"" "" "" ""H
" 
" 
"$ $ $ ?DN N N N8' ' '' ' ': : :
, 
, 
,, , ,$8 8 8/ / /"/ / /*' ' '
' ' '; ; ;
; ; ;, , , ,9 9 99 9 9/ / / /' ' '
' ' 'B B BA A AP P PK K K,$ $ $! ! !2  *  0( ( (
 
 
  .") ") ")H  ^) ^) ^)D     > > >
   ).       $ $ $	  	  	  	           4* 4* 4* 4*n  $4) 4) 4) 4)l	 	 	4 4 4l! ! !F9 9 9 9 9 9r   N)__all__errorr   r+   r   r   r   r   r   r   <module>r^     s    n
%          	 	 	 	 	9 	 	 	' ' ' ' ' ' ' 'R R R R R R R R R Rr   