
    r3                        S SK 7  S SK7  S SK7  S SK7  S SK7  S SK7  Sr S SK7  SrSSK
r
SS0rS)S jr " S	 S\5      rS
 r\4S jr\4S jr\4S jr\4S jrS)S jrS)S jrS rS rS rS rS rS rS\SSSSS4S jrS\SSSSSSSSSS4S jrS\4S jr S\SSSSSSSSSSSSS4S jr!S\4S jr"S)S jr#S)S jr$SS\4S jr%SS\4S jr&S)S  jr'S)S! jr(\4S" jr)\4S# jr* " S$ S%\+5      r, " S& S'\,S(9r-g! \	 a    Sr Nf = f)*   )*z5.4.1TF    NYAMLLoadWarningc                 |    U c  [         $ [        U 5      [        L a!  U  H  nU[         ;   d  M  X   [         U'   M     g g N)_warnings_enabledtypedict)settingskeys     -platform/bq/third_party/yaml/lib3/__init__.pywarningsr      s?      H~C'')1!#&      c                       \ rS rSrSrg)r   (    N)__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r   r   (   s    r   c                 Z    [         S   SL a  g SS KnSU -  nUR                  U[        SS9  g )Nr   Fr   zcalling yaml.%s() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.   )
stacklevel)r   r   warnr   )methodr   messages      r   load_warningr   +   s;    *+u4	8 		G MM'?qM9r   c              #      #    U" U 5      n UR                  5       (       a)  UR                  5       v   UR                  5       (       a  M)  UR                  5         g! UR                  5         f = f7f)z1
Scan a YAML stream and produce scanning tokens.
N)check_token	get_tokendisposestreamLoaderloaders      r   scanr'   :   Z      F^F  """"$$   "" 	   	A0<A 
A0A--A0c              #      #    U" U 5      n UR                  5       (       a)  UR                  5       v   UR                  5       (       a  M)  UR                  5         g! UR                  5         f = f7f)z1
Parse a YAML stream and produce parsing events.
N)check_event	get_eventr"   r#   s      r   parser-   E   r(   r)   c                 ~    U" U 5      n UR                  5       UR                  5         $ ! UR                  5         f = f)z^
Parse the first YAML document in a stream
and produce the corresponding representation tree.
)get_single_noder"   r#   s      r   composer0   P   s3    
 F^F%%'s   * <c              #      #    U" U 5      n UR                  5       (       a)  UR                  5       v   UR                  5       (       a  M)  UR                  5         g! UR                  5         f = f7f)zV
Parse all YAML documents in a stream
and produce corresponding representation trees.
N)
check_nodeget_noder"   r#   s      r   compose_allr4   [   sX     
 F^F!!//## !! 	r)   c                     Uc  [        S5        [        nU" U 5      n UR                  5       UR                  5         $ ! UR                  5         f = f)zX
Parse the first YAML document in a stream
and produce the corresponding Python object.
load)r   
FullLoaderget_single_datar"   r#   s      r   r6   r6   g   sE    
 ~VF^F%%'s	   > Ac              #     #    Uc  [        S5        [        nU" U 5      n UR                  5       (       a)  UR                  5       v   UR                  5       (       a  M)  UR	                  5         g! UR	                  5         f = f7f)zP
Parse all YAML documents in a stream
and produce corresponding Python objects.
Nload_all)r   r7   
check_dataget_datar"   r#   s      r   r:   r:   v   sj     
 ~Z F^F!!//## !! 	s   B<A/ B/BBc                 "    [        U [        5      $ )z
Parse the first YAML document in a stream
and produce the corresponding Python object.

Resolve all tags except those known to be
unsafe on untrusted input.
)r6   r7   r$   s    r   	full_loadr?           
##r   c                 "    [        U [        5      $ )z
Parse all YAML documents in a stream
and produce corresponding Python objects.

Resolve all tags except those known to be
unsafe on untrusted input.
)r:   r7   r>   s    r   full_load_allrB           FJ''r   c                 "    [        U [        5      $ )z
Parse the first YAML document in a stream
and produce the corresponding Python object.

Resolve only basic YAML tags. This is known
to be safe for untrusted input.
)r6   
SafeLoaderr>   s    r   	safe_loadrF      r@   r   c                 "    [        U [        5      $ )z
Parse all YAML documents in a stream
and produce corresponding Python objects.

Resolve only basic YAML tags. This is known
to be safe for untrusted input.
)r:   rE   r>   s    r   safe_load_allrH      rC   r   c                 "    [        U [        5      $ )z
Parse the first YAML document in a stream
and produce the corresponding Python object.

Resolve all tags, even those known to be
unsafe on untrusted input.
)r6   UnsafeLoaderr>   s    r   unsafe_loadrK      s     %%r   c                 "    [        U [        5      $ )z
Parse all YAML documents in a stream
and produce corresponding Python objects.

Resolve all tags, even those known to be
unsafe on untrusted input.
)r:   rJ   r>   s    r   unsafe_load_allrM      s     FL))r   c           	          SnUc!  [         R                  " 5       nUR                  nU" XXEXgS9n	 U  H  n
U	R                  U
5        M     U	R	                  5         U(       a  U" 5       $ g! U	R	                  5         f = f)z`
Emit YAML parsing events into a stream.
If stream is None, return the produced string instead.
N)	canonicalindentwidthallow_unicode
line_break)ioStringIOgetvalueemitr"   )eventsr$   DumperrO   rP   rQ   rR   rS   rV   dumperevents              r   rW   rW      sy     H~??F'@FEKK  	z  	s   A) )A;c                 t   SnUc:  Uc  [         R                  " 5       nO[         R                  " 5       nUR                  nU" XXEXgXUXS9n UR	                  5         U  H  nUR                  U5        M     UR                  5         UR                  5         U(       a  U" 5       $ g! UR                  5         f = f)zy
Serialize a sequence of representation trees into a YAML stream.
If stream is None, return the produced string instead.
N)
rO   rP   rQ   rR   rS   encodingversiontagsexplicit_startexplicit_end)rT   rU   BytesIOrV   open	serializecloser"   )nodesr$   rY   rO   rP   rQ   rR   rS   r]   r`   ra   r^   r_   rV   rZ   nodes                   r   serialize_allrh      s     H~[[]FZZ\F??F'T)FFDT" z  	s   :B% %B7c                 "    [        U /U4SU0UD6$ )zl
Serialize a representation tree into a YAML stream.
If stream is None, return the produced string instead.
rY   )rh   )rg   r$   rY   kwdss       r   rd   rd      s    
 $??$??r   c                 z   SnUc:  U
c  [         R                  " 5       nO[         R                  " 5       nUR                  nU" XUXVUXXUXUS9n UR	                  5         U  H  nUR                  U5        M     UR                  5         UR                  5         U(       a  U" 5       $ g! UR                  5         f = f)zs
Serialize a sequence of Python objects into a YAML stream.
If stream is None, return the produced string instead.
N)default_styledefault_flow_stylerO   rP   rQ   rR   rS   r]   r^   r_   r`   ra   	sort_keys)rT   rU   rb   rV   rc   	representre   r"   )	documentsr$   rY   rl   rm   rO   rP   rQ   rR   rS   r]   r`   ra   r^   r_   rn   rV   rZ   datas                      r   dump_allrr      s     H~[[]FZZ\F??F1e'T)PY[FDT" z  	s   :B( (B:c                 "    [        U /U4SU0UD6$ )zf
Serialize a Python object into a YAML stream.
If stream is None, return the produced string instead.
rY   )rr   )rq   r$   rY   rj   s       r   dumprt     s    
 TFF:6:T::r   c                 &    [        X4S[        0UD6$ )z
Serialize a sequence of Python objects into a YAML stream.
Produce only basic YAML tags.
If stream is None, return the produced string instead.
rY   rr   
SafeDumper)rp   r$   rj   s      r   safe_dump_allrx   $  s     IAjADAAr   c                 *    [        U /U4S[        0UD6$ )z
Serialize a Python object into a YAML stream.
Produce only basic YAML tags.
If stream is None, return the produced string instead.
rY   rv   )rq   r$   rj   s      r   	safe_dumprz   ,  s     TFF>:>>>r   c                    Uca  [         R                  R                  XU5        [         R                  R                  XU5        [         R                  R                  XU5        OUR                  XU5        UR                  XU5        g)z
Add an implicit scalar detector.
If an implicit scalar value matches the given regexp,
the corresponding tag is assigned to the scalar.
first is a sequence of possible initial characters or None.
N)r&   r%   add_implicit_resolverr7   rJ   )tagregexpfirstr%   rY   s        r   r|   r|   4  si     ~++C?//UC11#uE$$S%8
  e4r   c                    Uca  [         R                  R                  XU5        [         R                  R                  XU5        [         R                  R                  XU5        OUR                  XU5        UR                  XU5        g)z
Add a path based resolver for the given tag.
A path is a list of keys that forms a path
to a node in the representation tree.
Keys can be string values, integers, or None.
N)r&   r%   add_path_resolverr7   rJ   )r}   pathkindr%   rY   s        r   r   r   D  si     ~''48++Ct<--c>  D1
S-r   c                     Uc^  [         R                  R                  X5        [         R                  R                  X5        [         R                  R                  X5        gUR                  X5        g)z
Add a constructor for the given tag.
Constructor is a function that accepts a Loader instance
and a node object and produces the corresponding Python object.
N)r&   r%   add_constructorr7   rJ   )r}   constructorr%   s      r   r   r   S  sQ     ~%%c7))#;++C=s0r   c                     Uc^  [         R                  R                  X5        [         R                  R                  X5        [         R                  R                  X5        gUR                  X5        g)z
Add a multi-constructor for the given tag prefix.
Multi-constructor is called for a node if its tag starts with tag_prefix.
Multi-constructor accepts a Loader instance, a tag suffix,
and a node object and produces the corresponding Python object.
N)r&   r%   add_multi_constructorr7   rJ   )
tag_prefixmulti_constructorr%   s      r   r   r   `  sQ     ~++JJ//
N11*P$$ZCr   c                 &    UR                  X5        g)z
Add a representer for the given type.
Representer is a function accepting a Dumper instance
and an instance of the given data type
and producing the corresponding representation node.
N)add_representer)	data_typerepresenterrY   s      r   r   r   n  s     92r   c                 &    UR                  X5        g)z
Add a representer for the given type.
Multi-representer is a function accepting a Dumper instance
and an instance of the given data type or subtype
and producing the corresponding representation node.
N)add_multi_representer)r   multi_representerrY   s      r   r   r   w  s       >r   c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )YAMLObjectMetaclassi  z
The metaclass for YAMLObject.
c                   > [         [        U ]  XU5        SU;   a  US   b  [        U R                  [
        5      (       a:  U R                   H)  nUR                  U R                  U R                  5        M+     O0U R                  R                  U R                  U R                  5        U R                  R                  X R                  5        g g g )Nyaml_tag)superr   __init__
isinstanceyaml_loaderlistr   r   	from_yamlyaml_dumperr   to_yaml)clsnamebasesrj   r&   	__class__s        r   r   YAMLObjectMetaclass.__init__  s    !30dC$z"2">#//400!ooF**3<<G . //cmmLOO++C= #?r   r   )r   r   r   r   __doc__r   r   __classcell__)r   s   @r   r   r     s    	> 	>r   r   c                   R    \ rS rSrSrSr\\\/r	\
rSrSr\S 5       r\S 5       rSrg)
YAMLObjecti  zU
An object that can dump itself to a YAML stream
and load itself from a YAML stream.
r   Nc                 $    UR                  X 5      $ )z3
Convert a representation node to a Python object.
)construct_yaml_object)r   r&   rg   s      r   r   YAMLObject.from_yaml  s    
 ++D66r   c                 L    UR                  U R                  X U R                  S9$ )z3
Convert a Python object to a representation node.
)
flow_style)represent_yaml_objectr   yaml_flow_style)r   rZ   rq   s      r   r   YAMLObject.to_yaml  s-    
 ++CLL$.. , 0 	0r   )r   r   r   r   r   	__slots__r%   r7   rJ   r   rY   r   r   r   classmethodr   r   r   r   r   r   r   r     sO    
 I:|4KKHO7 7 0 0r   r   )	metaclassr   ).errortokensrX   rf   r&   rZ   __version__cyaml__with_libyaml__ImportErrorrT   r   r   RuntimeWarningr   r   r%   r'   r-   r0   r4   r6   r:   r?   rB   rF   rH   rK   rM   rY   rW   rh   rd   rr   rt   rx   rz   r|   r   r   r   r   r   r	   r   r   r   r   r   <module>r      s         
 t 
7	n 	:  	   	 " 	  & 
 $($(&* Vt4t* !%Vt4td4	<   @  $Fut4td44B 6 ;B? .2F5  '+4 .1D 4: 3 @F ?>$ >0. 0A  s   C< <DD