403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/xml/etree/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/xml/etree/__pycache__/ElementTree.cpython-315.pyc
R
>lqj�0c�:�Qs,QFNs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]Q	H(GsQ
Q\2s
QsQQ2s-1Q
ksQGQksQGQks\sQQ2sQQ2s\O,Q2sQGQksQs.QHls.QIlsQsQsQ\Q\Q\-sQsQQQQQQQQ Q!Q"Q#Q$Q%Q&-s \ \m Q's!Q(s"Q)s#Q*s$QJQ+PQ,PQ-P	-Q.kks%Q/Q0\OL2s'QJQ+PQ,PQ-P	-Q1kks(Q2s)QKQ3ks*QGQ4ks+QJQ5ks,Q6Q2s-QGQ7ks.QGQ8ks/\.s0QGQ9ks1Q:Q2s2Q;Q2s3QGQ<PQ=P-Q>kks4\OjQ?\Ol2Ons8Q@Q2s9QAs:QBs;\s<]QCH�3]QDH�G>s>\>\\2QEs@P!\?cKh9h)La�Lightweight XML support for Python.

XML is an inherently hierarchical data format, and the most natural way to
represent it is with a tree.  This module has two classes for this purpose:

   1. ElementTree represents the whole XML document as a tree and

   2. Element represents a single node in this tree.

Interactions with the whole document (reading and writing to/from files) are
usually done on the ElementTree level.  Interactions with a single XML
element and its sub-elements are done on the Element level.

Element is a flexible container object designed to store hierarchical data
structures in memory. It can be described as a cross between a list and a
dictionary.  Each Element has a number of properties associated with it:

   'tag' - a string containing the element's name.

   'attributes' - a Python dictionary storing the element's attributes.

   'text' - a string containing the element's text content.

   'tail' - an optional string containing text after the element's end tag.

   And a number of child elements stored in a Python sequence.

To create an element instance, use the Element constructor,
or the SubElement factory function.

You can also use the ElementTree class to wrap an element structure
and convert it to and from XML.

�Element�ElementTree�
ParseError�QName�TreeBuilder�	XMLParser�
XMLPullParser�C14NWriterTarget)�ElementPathc��\sQs]hsQsQsP!)rz�An error when parsing an XML document.

In addition to its exception value, a ParseError contains
two extra attributes:
    'code'     - the specific exception code
    'position' - the line and column of the error

�)�__name__�
__module__�__qualname__�__firstlineno__�__doc__�__static_attributes__r��*C:\Python315\\Lib\xml\etree\ElementTree.pyrrhs���	rc��[UQ2!)z2Return True if *element* appears to be an Element.�tag)�hasattr)�elements&r�	iselementrvs���7�E�"�"rc��`�\sQs]{snQsPsPsPsPs-1Qks	Qs
QsQsQs
QsQsQ	sQ
sQsQsQ
sQsQsQQksQQksQQksQQksQsQQksQsQsQsQQks Qs!Qs"Us#P!)ra8An XML element.

This class is the reference implementation of the Element interface.

An element's length is its number of subelements.  That means if you
want to check if an element is truly empty, you should check BOTH
its length AND its text attribute.

The element tag, attribute names, and attribute values can be either
bytes or strings.

*tag* is the element name.  *attrib* is an optional dictionary containing
element attributes. *extra* are additional element attributes given as
keyword arguments.

Example form:
    <tag attrib>text<child/>...</tag>tail

c��[U[[12%f$[QUOO
802gVm-UAUAUm,UmP!)z'attrib must be dict or frozendict, not )	�
isinstance�dict�
frozendict�	TypeError�	__class__rr�attrib�	_children)�selfrr �extras""&,r�__init__�Element.__init__�sR���&�4��"4�5�5��� � �)�)�,�-�
-���)��)�5�)�����rc�j�QUOOUO[U21*!)z<%s %r at %#x>)rrr�id�r"s&r�__repr__�Element.__repr__�s&���4�>�>�#:�#:�D�H�H�b��h�"O�O�Orc�&�UOV2!)z�Create a new element with the same type.

*tag* is a string containing the element name.
*attrib* is a dictionary containing the element attributes.

Do not call this method, use the SubElement factory function instead.

)r)r"rr s&&&r�makeelement�Element.makeelement�s���~�~�c�*�*rc��UOUOUO2oUOUmUOUmVQ$U!�:NNN)r,rr �text�tail)r"�elems& r�__copy__�Element.__copy__�s>��������$�+�+�6���I�I��	��I�I��	��Q���rc�.�[UO2!�N)�lenr!r(s&r�__len__�Element.__len__�s���4�>�>�"�"rc�n�[OQ[]Q5[UO2]6g!)z�Testing an element's truth value will always return True in future versions.  Use specific 'len(elem)' or 'elem is not None' test instead.��
stacklevel)�warnings�warn�DeprecationWarningr7r!r(s&r�__bool__�Element.__bool__�s1���
�
�
K�
�1�		��4�>�>�"�a�'�'rc�*�UOU*!r6�r!�r"�indexs&&r�__getitem__�Element.__getitem__�s���~�~�e�$�$rc��[U[2%cSFDoUOU2J	LUOU2V OU$P!r6)r�slice�_assert_is_elementr!)r"rEr�elts&&& r�__setitem__�Element.__setitem__�sC���e�U�#�#����'�'��,��
�#�#�G�,� '���u�rc�"�UOUP!r6rCrDs&&r�__delitem__�Element.__delitem__�s���N�N�5�!rc�`�UOU2UOOU2P!)z�Add *subelement* to the end of this element.

The new element will appear in document order after the last existing
subelement (or directly after the text, if it's the first subelement),
but before the end tag for this element.

�rJr!�append�r"�
subelements&&rrS�Element.append�s$��	
���
�+������j�)rc�t�SFD/oUOU2UOOU2J1	P!)z[Append subelements from a sequence.

*elements* is a sequence with zero or more elements.

rR)r"�elementsrs&& r�extend�Element.extend�s.�� �G��#�#�G�,��N�N�!�!�'�*� rc�`�UOU2UOOV2P!)z(Insert *subelement* at position *index*.)rJr!�insert)r"rErUs&&&rr\�Element.insert�s"�����
�+������e�0rc�~�[U[2%f&[Q[U2O*2gP!)�expected an Element, not %s)r�_Element_Pyr�typer)r"�es&&rrJ�Element._assert_is_element�s1���!�[�)�)��9�D��G�<L�<L�L�M�M�*rc��UOOU2P![cb[S[2%f[S2%f'[
Q[	S2O*2Pg[S8QS802Pgh9h)ayRemove matching subelement.

Unlike the find methods, this method compares elements based on
identity, NOT ON tag value or contents.  To remove subelements by
other means, the easiest way is to use a list comprehension to
select what elements to keep, and then use slice assignment to update
the parent element.

ValueError is raised if a matching element could not be found.

r_z not in )r!�remove�
ValueErrorrrarrrrTs&&rre�Element.remove�s���	J��N�N�!�!�*�-���	J��*�d�+�+�9�Z�3H�3H�� =� $�Z� 0� 9� 9�!:�;�@D�E��
�~�X�d�X�>�?�T�I�
	J�s� �	B�B�B�:Bc�2�[OVU2!)z�Find first matching element by tag name or path.

*path* is a string having either an element tag or an XPath,
*namespaces* is an optional mapping from namespace prefix to full
name.

Return the first matching element, or None if no element was found.

)r	�find�r"�path�
namespacess&&&rri�Element.finds������J�7�7rc�2�[OVV#2!)a�Find text for first matching element by tag name or path.

*path* is a string having either an element tag or an XPath,
*default* is the value to return if the element was not found,
*namespaces* is an optional mapping from namespace prefix to full
name.

Return text content of first matching element, or default value if
none was found.  Note that if an element is found having no text
content, the empty string is returned.

)r	�findtext�r"rk�defaultrls&&&&rro�Element.findtext s���#�#�D��D�Drc�2�[OVU2!)z�Find all matching subelements by tag name or path.

*path* is a string having either an element tag or an XPath,
*namespaces* is an optional mapping from namespace prefix to full
name.

Returns list containing all matching elements in document order.

)r	�findallrjs&&&rrt�Element.findall/s���"�"�4�z�:�:rc�2�[OVU2!)aFind all matching subelements by tag name or path.

*path* is a string having either an element tag or an XPath,
*namespaces* is an optional mapping from namespace prefix to full
name.

Return an iterable yielding all matching elements in document order.

)r	�iterfindrjs&&&rrw�Element.iterfind;s���#�#�D�
�;�;rc�f�UOO2,UmP9UmUmP!)z~Reset element.

This function removes all subelements, clears all attributes, and sets
the text and tail attributes to None.

)r �clearr!r0r1r(s&rrz�
Element.clearGs)��	
��������� $�$��	�D�Irc�:�UOOV2!)a7Get element attribute.

Equivalent to attrib.get, but some implementations may handle this a
bit more efficiently.  *key* is what attribute to look for, and
*default* is what to return if the attribute was not found.

Returns a string containing the attribute value, or the default if
attribute was not found.

)r �get)r"�keyrqs&&&rr}�Element.getRs���{�{���s�,�,rc�$�V OU$P!)z�Set element attribute.

Equivalent to attrib[key] = value, but some implementations may handle
this a bit more efficiently.  *key* is what attribute to set, and
*value* is the attribute value to set it to.

)r )r"r~�values&&&r�set�Element.set_s��!���C�rc�8�UOO2!)z�Get list of attribute names.

Names are returned in an arbitrary order, just like an ordinary
Python dict.  Equivalent to attrib.keys()

)r �keysr(s&rr��Element.keysis���{�{���!�!rc�8�UOO2!)z�Get element attributes as a sequence.

The attributes are returned in arbitrary order.  Equivalent to
attrib.items().

Return a list of (name, value) tuples.

)r �itemsr(s&rr��
Element.itemsrs���{�{� � �"�"rc#� �UQ6XcPoUdUOU6XcUw�	UOFDoUOU2FPiw�K
J 	P!K
3h)a�Create tree iterator.

The iterator loops over the element and all subelements in document
order, returning all elements with a matching tag.

If the tree structure is modified during iteration, new or removed
elements may or may not be included.  To get a stable set, use the
list() function on the iterator, and loop over the resulting list.

*tag* is what tags to look for (default is to return all elements)

Return an iterator containing all the matching elements.

�*)rr!�iter)r"rrbs&& rr��Element.iter}sI����#�:��C��;�$�(�(�c�/��J����A��v�v�c�{�"�"� �"�s �A�A�A�*A�A
�
Ac#� �UOo[U[2%fUdP!UOoU%cUw�	SFD8oUO	2FPiw�K
UO
oU%fJ3Uw�	J:	P!K%3h)z}Create text iterator.

The iterator loops over the element and all subelements in document
order, returning all inner text.

)rr�strr0�itertextr1)r"r�trbs&   rr��Element.itertext�sd����h�h���#�s�#�#�����I�I����G��A��z�z�|�#�#����A��q���	�#�s'�#B�B�B�B�B
� B�;B)r!r rr1r0r6�NN)$rr
rrrrr r0r1r$r)r,r3r8r@rFrLrOrSrYr\rJrerirortrwrzr}r�r�r�r�r�r�__classdictcell__��
__classdict__s@rrr{s������(�C��
�F�1��D���D��')��P�	+��#�(�%�(�"�	*�+�1�
N�J�,
8�
E�
;�
<�	%�-�!�"�	#�#�,�rc�X�-UAUAoUOV2oUOU2U!)a|Subelement factory which creates an element instance, and appends it
to an existing parent.

The element tag, attribute names, and attribute values can be either
bytes or Unicode strings.

*parent* is the parent element, *tag* is the subelements name, *attrib* is
an optional directory containing element attributes, *extra* are
additional attributes given as keyword arguments.

)r,rS)�parentrr r#rs""&, r�
SubElementr��s4��!��
 �%�
 �F�� � ��-�G�
�M�M�'���Nrc�2�[[2oVmU!)z�Comment element factory.

This function creates a special element which the standard serializer
serializes as an XML comment.

*text* is a string containing the comment string.

)r�Commentr0)r0rs& rr�r��s���g��G��L��Nrc��[[2oVmU%c UOQ*U*UmU!)aProcessing Instruction element factory.

This function creates a special element which the standard serializer
serializes as an XML comment.

*target* is a string containing the processing instruction, *text* is a
string containing the processing instruction contents, if any.

� )r�ProcessingInstructionr0)�targetr0rs&& rr�r��s1���+�,�G��L���|�|�c�)�D�0����Nrc�``�\sQsQsnQsQ
QksQsQsQsQs	Qs
Q	sQ
sQs
QsUsP!)r��a�Qualified name wrapper.

This class can be used to wrap a QName attribute value in order to get
proper namespace handing on output.

*text_or_uri* is a string containing the QName value either in the form
{uri}local, or if the tag argument is given, the URI part of a QName.

*tag* is an optional argument which if given, will make the first
argument (text_or_uri) be interpreted as a URI, and this argument (tag)
be interpreted as a local name.

c�8�U%cQU8QU80oVmP!)�{�}�r0)r"�text_or_urirs&&&rr$�QName.__init__�s���3�&1�3�7�K��	rc��UO!r6r�r(s&r�__str__�
QName.__str__�s���y�y�rc�V�QUOO8QUO8Q0!)�<r��>)rrr0r(s&rr)�QName.__repr__�s�� �N�N�3�3�T�Y�Y�?�?rc�.�[UO2!r6)�hashr0r(s&r�__hash__�QName.__hash__�s���D�I�I��rc��[U[2%cUOUO6*!UOU6*!r6�rrr0�r"�others&&r�__le__�QName.__le__��1���e�U�#�#��9�9��
�
�*�*��y�y�E�!�!rc��[U[2%cUOUO6!UOU6!r6r�r�s&&r�__lt__�QName.__lt__��1���e�U�#�#��9�9�u�z�z�)�)��y�y�5� � rc��[U[2%cUOUO6�!UOU6�!r6r�r�s&&r�__ge__�QName.__ge__�r�rc��[U[2%cUOUO6�!UOU6�!r6r�r�s&&r�__gt__�QName.__gt__�r�rc��[U[2%cUOUO6H!UOU6H!r6r�r�s&&r�__eq__�QName.__eq__r�rr�r6)rr
rrrr$r�r)r�r�r�r�r�r�rr�r�s@rrr�s=����� ��@��"�!�"�!�"�"rc�`�\sQsQsnQsQQksQsQsQQksQQks	QQks
QQ	ksQQ
ksQQks
QQP	-Q
kksQsQsUsP!)r�
a
An XML element hierarchy.

This class also provides support for serialization to and from
standard XML.

*element* is an optional root element node,
*file* is an optional file handle or file name of an XML file whose
contents will be used to initialize the tree with.

c��Ud7[U2%f&[Q[U2O*2gVmU%cUOU2P!P!)Nr_)rrrar�_root�parse)r"r�files&&&rr$�ElementTree.__init__sM����y��'9�'9��9� ��M�2�2�3�4�
4��
���J�J�t��rc��UO!)z!Return root element of this tree.�r�r(s&r�getroot�ElementTree.getroots���z�z�rc��[U2%f&[Q[U2O*2gVmP!)z�Replace root element of this tree.

This will discard the current contents of the tree and replace it
with the given element.  Use with care!

r_)rrrarr�)r"rs&&r�_setroot�ElementTree._setroot!s6����!�!��9�"�7�m�4�4�5�6�
6��
rc��P
o[UQ2%f[UQ2oP	oUeX[2o[UQ2%c<UOU2UmUOU%cUO2!!UO
Q29o%cUOU2J,UO2UmUOU%cUO2!!S%cSO2hh9h)aLoad external XML document into element tree.

*source* is a file name or file object, *parser* is an optional
parser instance that defaults to XMLParser.

ParseError is raised if the parser fails to parse the document.

Returns the root element of the given source document.

�read�rb�_parse_wholei)r�openrr�r��closer��feed)r"�source�parser�close_source�datas&&&  rr��ElementTree.parse-s������v�v�&�&��&�$�'�F��L�	��~�"����6�>�2�2�
"(�!4�!4�V�!<�D�J��:�:�������!�+�+�e�,�,�$�,����D�!�����D�J��:�:��������|������s(�C&�C&�!C&�C&�3C&�&D�/Dc�:�UOOU2!)z�Create and return tree iterator for the root element.

The iterator loops over all elements in this tree, in document
order.

*tag* is a string with the tag name to iterate over
(default is to return all elements).

)r�r��r"rs&&rr��ElementTree.iterOs���z�z���s�#�#rc��UQ*Q6Xc.QU*o[OQU*[]Q5UOO	V2!)a4Find first matching element by tag name or path.

Same as getroot().find(path), which is Element.find()

*path* is a string having either an element tag or an XPath,
*namespaces* is an optional mapping from namespace prefix to full
name.

Return the first matching element, or None if no element was found.

�N�N�/�.��This search is broken in 1.3 and earlier, and will be fixed in a future version.  If you rely on the current behaviour, change it to %rr;)r=r>�
FutureWarningr�rirjs&&&rri�ElementTree.find\sM����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z���t�0�0rc��UQ*Q6Xc.QU*o[OQU*[]Q5UOO	VU2!)a=Find first matching element by tag name or path.

Same as getroot().findtext(path),  which is Element.findtext()

*path* is a string having either an element tag or an XPath,
*namespaces* is an optional mapping from namespace prefix to full
name.

Return the first matching element, or None if no element was found.

r�r�r�r�r;)r=r>r�r�rorps&&&&rro�ElementTree.findtextssQ����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z�"�"�4�*�=�=rc��UQ*Q6Xc.QU*o[OQU*[]Q5UOO	V2!)a9Find all matching subelements by tag name or path.

Same as getroot().findall(path), which is Element.findall().

*path* is a string having either an element tag or an XPath,
*namespaces* is an optional mapping from namespace prefix to full
name.

Return list containing all matching elements in document order.

r�r�r�r�r;)r=r>r�r�rtrjs&&&rrt�ElementTree.findall�sO����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z�!�!�$�3�3rc��UQ*Q6Xc.QU*o[OQU*[]Q5UOO	V2!)a?Find all matching subelements by tag name or path.

Same as getroot().iterfind(path), which is element.iterfind()

*path* is a string having either an element tag or an XPath,
*namespaces* is an optional mapping from namespace prefix to full name.

Return an iterable yielding all matching elements in document order.

r�r�r�r�r;)r=r>r�r�rwrjs&&&rrw�ElementTree.iterfind�sO����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z�"�"�4�4�4r�short_empty_elementsc
�X�UOe[Q2gU%fQoLU[7c[QU*2gU%f
UQ6XcQoLQo[	V29^tt^2vqxUQ6XcDU%f/Ue8UO2Q6wc#UO2Q7cUQU8Q	02UQ
6Xc[
VpO2L:[UOU2vq�[U*oUVpOV�UQ5PPP2P!)%fhP!9h)
a�Write element tree to a file as XML.

Arguments:
  *file_or_filename* -- file name or a file object opened for
                        writing

  *encoding* -- the output encoding (default: US-ASCII)

  *xml_declaration* -- bool indicating if an XML declaration should
                       be added to the output. If None, an XML
                       declaration is added if encoding IS NOT
                       either of: US-ASCII, UTF-8, or Unicode

  *default_namespace* -- sets the default XML namespace (for
                         "xmlns")

  *method* -- either "xml" (default), "html, "text", or "c14n"

  *short_empty_elements* -- controls the formatting of elements
                            that contain no content.  If True
                            (default) they are emitted as a single
                            self-closed tag, otherwise they are
                            emitted as a pair of start/end tags

zElementTree not initialized�xmlzunknown method %r�c14n�utf-8�us-ascii�unicodez<?xml version='1.0' encoding='z'?>
r0�r�)r�r�)r�r�
_serializerf�_get_writer�lower�_serialize_text�_namespaces)r"�file_or_filename�encoding�xml_declaration�default_namespace�methodr��write�declared_encoding�qnamesrl�	serializes&&&&&&$     rr�ElementTree.write�s���>�:�:���9�:�:���F�
�:�
%��0�6�9�:�:�����"��%��
�)�
4�
4�8R�����O�$�,��^�^�%��2�&�,�,�.�6K�K��%�(�)������z�z�2�%0����=N�%O�"��&�v�.�	��%���V�/C�E�5�
4�
4�
4�s7�*	D�4D�<D�D�D�*D�>AD�D)	�!D)	c�*�UOUQQ5!)r�)r)r)r"r�s&&r�
write_c14n�ElementTree.write_c14n�s���z�z�$�v�z�.�.rr�r�r6)NNNN)rr
rrrr$r�r�r�r�rirortrwrr
rr�r�s@rrr
sT����	���
� �D$�1�.>�.4�.5�,7E�
$(�7E�r/�/rc	#� �UOoUO2Q6XcS[UQP29%fQ1w�	P![O29^tt^2o[U[O2%cSoL�[U[O2%c3[OU2oUOUO2LF[O2oQUmV$mUOUm
UOUm[O UUQQQ5oUOUO2UOU1w�PPP2P![cK]h9h)%fhP!9h[cbSO2Q6XcQo[#SQSQQ59^tt^2oSOS1w�PPP2P!)%fhP!9hh9h3h)	r�rr�c��P	!�Trrrr�<lambda>�_get_writer.<locals>.<lambda>s��Dr�xmlcharrefreplace�
)r�errors�newline�w)rr)rr��getattr�
contextlib�	ExitStackr�io�BufferedIOBase�	RawIOBase�BufferedWriter�callback�detach�writable�seekable�tell�AttributeError�
TextIOWrapperr�)r�rr�stackr�s&&   rr�r��s����-+� �&�&���>�>��y�(���!1�:�t�D�O�O��O�O��%�%�'�'�5��.��0A�0A�B�B�+�D�� 0�"�,�,�?�?��,�,�-=�>�D��N�N�4�;�;�/��,�,�.�D�$0�D�M�!&�J��)9�(A�(A��
�$4�$9�$9��	��'�'��19�/B�04�6�����t�{�{�+��j�j�(�*�*�9(�'��&*�����'(�'�'���'��>�>��y�(��H�
�"�C�(�,�.�.�15��*�*�h�&�&�.�.�.�.��	'�s��H�F�H�H�&H�! E>�"E>�%AE>�;"E-�AE>�#
H�-	E;�7E;�8E>�:E;�;E>�>F	�F	�		H�	G>�G>�2G>�G(�G>�%H�(G:�1G:�3G>�7H�:G>�>Hc�@```�PP-n-nR%cPRR$UUU1QkoUO2FCDfoUOo[U[2%c%UOR7cUUO2LI[U[
2%cUR7c	UU2L#Ud U[IcU[Ic[U2UO2FDsvqE[U[2%c
UOoUR7c	UU2[U[2%fJNUOR7fJaUUO2Ju	UOo[U[2%fCJ@UOR7fCJTUUO2CJi	RR1!)Nc�:�UQ*Q6Xc�UQ*OQ]2vqROU2oUe8[OU2oUeQ[R2*oUQ6wcURU$U%cU8QU80RU$P!URU$P!R%c[	Q2gURU$P![
c[
S2P!h9h)r�r��r�NNr�zns%dr��:z<cannot use non-qualified names with default_namespace option)�rsplitr}�_namespace_mapr7rfr�_raise_serialization_error)�qname�urir�prefixrrlrs&   ���r�	add_qname�_namespaces.<locals>.add_qname4s����	.��R�y�C�� ��9�+�+�C��3���#����,���>�+�/�/��4�F��~�!'�#�j�/�!9�����*0�
�3���/5�s�$;�F�5�M�$'�F�5�M�$�$�3���!&��u�
���	.�&�u�-�	.�sF�
B0�/B0�B0�B0�4B0�B0�B0�B0�B0�0	C
�:C
�	C
)
r�rrrr0r�r��PIr+r�)	r2rr/rr~r�r0rlrs	&f     @@rr�r�)s9����D�\�F��J��(*�
�$�%�.�8�	�	�����h�h���c�5�!�!��x�x�v�%��#�(�(�#��
��S�
!�
!��&� ��#���
�_��G�!3��2�
�&�s�+��*�*�,�J�C��#�u�%�%��h�h���&� ��#���%��'�'�E�J�J�f�,D��%�*�*�%�
'��y�y���d�E�"�"�t�y�y��'>��d�i�i� �'�(�:��rc
��UOoUOoU[IcUQU*2CL�U[IcUQU*2CL�V&*oUe5U%cU[	U22SFDo[VUPUQ5J	CL�UQU*2[
UO22o	U	%f	U%c�U%cR[UO2QQ5FD0vq�U%c
QU*oUQU8Q[U
28Q	02J2	S	FDrvq�[U[2%c
UOo[U
[2%cV*O*o
L[U
2o
UQ
V+*8QU
8Q	02Jt	U%f[U2%f	U%fRUQ2U%cU[	U22SFDo[VUPUQ5J	UQU*Q*2LUQ
2UO%cU[	UO22P!P!)�	<!--%s-->�<?%s?>r�r�c��U]*!�r�r��xs&rr� _serialize_xml.<locals>.<lambda>|���Q�q�Tr�r~r(� xmlns�="�"r�r��</z />)rr0r�r��
_escape_cdata�_serialize_xml�listr��sorted�_escape_attribrrr7r1)rr2rrlr��kwargsrr0rbr��v�ks&&&&&,      rrArAfs���
�(�(�C��9�9�D�
�g�~�
�k�D� �!�	�%�	%�
�h��o���k���;���m�D�)�*����u���4H�J��
�#��)�������&�E��
�� &�z�'7�'7�'9�+9�!;�!;���� #�a��A���*�1�-���	!;�"�D�A�!�!�U�+�+��F�F��!�!�U�+�+�"�6�6�N��*�1�-���&�)�)�Q�7�8�"��s�4�y�y�(<��c�
���-��-�.��A�"�5�V�T�8L�N���d�S�j�3�&�'��e���y�y�y�
�m�D�I�I�&�'�rc
��UOoUOoU[IcUQU*2CL�U[IcUQU*2CL�V%*oUe3U%cU[	U22SFDo[VUP2J	CL�UQU*2[
UO22oU%f	U%c�U%cR[UO2QQ5FD0vq�U
%c
QU
*o
UQU
8Q[U	28Q02J2	SFD�vq�[U
[2%c
U
Oo
V**o
U	eUQ	U
*2JD[U	[2%cV)O*o	L[U	2o	UQ
U
8QU	8Q02J�	UQ2UO2oU%c&U[7c
UU2LU[	U22SFDo[VUP2J	U[7cUQU*Q*2UO %cU[	UO 22P!P!)
r3r4r�c��U]*!r6rr7s&rr�!_serialize_html.<locals>.<lambda>�r:rr;r(r<r=r>z %sr�r�r?)rr0r�r�r@�_serialize_htmlrBr�rCrDrr�_escape_attrib_htmlr��_CDATA_CONTENT_ELEMENTS�
HTML_EMPTYr1)rr2rrlrErr0rbr�rFrG�ltags&&&&,       rrKrK�s���
�(�(�C��9�9�D�
�g�~�
�k�D� �!�	�%�	%�
�h��o���k���;���m�D�)�*�����&�$�7��
�#��)�������&�E��
�� &�z�'7�'7�'9�+9�!;�!;���� #�a��A���*�1�-���	!;�"�D�A�!�!�U�+�+��F�F���	�A��y��e�a�i�(�%�a��/�/� &�v�v��A� 3�A� 6�A��a��3�4�"�
�#�J��9�9�;�D���2�2��$�K��-��-�.�����&�$�7���:�%��d�S�j�3�&�'��y�y�y�
�m�D�I�I�&�'�rc��UO2FDoUU2J
	UO%cUUO2P!P!r6)r�r1)rr2�parts&& rr�r��s3���
�
���
�d�� ��y�y�y�
�d�i�i��rr��htmlr0c���[OQU2%c[Q2g[[O22FDvq#V!6Xf	V06XfJ[UJ	U[U$P!)a\Register a namespace prefix.

The registry is global, and any existing mapping for either the
given prefix or the namespace URI will be removed.

*prefix* is the namespace prefix, *uri* is a namespace uri. Tags and
attributes in this namespace will be serialized with prefix if possible.

ValueError is raised if prefix is reserved or is invalid.

zns\d+$z'Prefix format reserved for internal use)�re�matchrfrBr*r�)r.r-rGrFs&&  r�register_namespacerV�sX��
�x�x�	�6�"�"��B�C�C��^�)�)�+�,����8�q�{��q�!�-�!�N�3�r�$http://www.w3.org/XML/1998/namespacezhttp://www.w3.org/1999/xhtmlz+http://www.w3.org/1999/02/22-rdf-syntax-ns#�rdfz http://schemas.xmlsoap.org/wsdl/�wsdlz http://www.w3.org/2001/XMLSchema�xsz)http://www.w3.org/2001/XMLSchema-instance�xsiz http://purl.org/dc/elements/1.1/�dcc�R�[QU8Q[U2O8Q02g)zcannot serialize z (type �))rrarr�s&rr+r+s!��
�+/��d��1D�1D�E�
�
rc���QU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oU![[1c[S2P!h9h)�&�&amp;r��&lt;r��&gt;��replacerr"r+r�s&rr@r@
so��)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��V�,�D�����~�&�)�"�4�(�)��&�A�A�A�A�A0� A0�/A0c��QU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ	2oQ
U7cUOQ
Q2oQU7cUOQQ
2oU![[1c[S2P!h9h)r`rar�rbr�rcr>�&quot;�
z&#13;rz&#10;�	z&#09;rdr�s&rrDrDs���)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��V�,�D��4�<��<�<��h�/�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D�����~�&�)�"�4�(�)�s>�B4�B4�B4�B4�B4�.B4�B4� B4�4C�C�Cc���QU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oU![[1c[S2P!h9h)r`rar�rcr>rhrdr�s&rrLrL6sm��	)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��4�<��<�<��h�/�D�����~�&�)�"�4�(�)�rfrrr�c	���UQ6Xc[O2L[O2o[U2O	VaUUUUQ5UO2!)a�Generate string representation of XML element.

All subelements are included.  If encoding is "unicode", a string
is returned. Otherwise a bytestring is returned.

*element* is an Element instance, *encoding* is an optional output
encoding defaulting to US-ASCII, *method* is an optional output which
can be one of "xml" (default), "html", "text" or "c14n",
*default_namespace* sets the default XML namespace (for "xmlns").

Returns an (optionally) encoded string containing the XML data.

r��rrrr�)r�StringIO�BytesIOrr�getvalue)rrrrrr��streams&&&$$$ r�tostringrrEsT�� '�)�3�R�[�[�]�����F������v�/>�1B�&,�4H�	�J�
�?�?��rc�D`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�_ListDataStreami]z7An auxiliary stream accumulating into a list reference.c��VmP!r6��lst)r"rws&&rr$�_ListDataStream.__init___s���rc��P	!rrr(s&rr�_ListDataStream.writableb���rc��P	!rrr(s&rr �_ListDataStream.seekableer{rc�>�UOOU2P!r6)rwrS)r"�bs&&rr�_ListDataStream.writehs��������rc�.�[UO2!r6)r7rwr(s&rr!�_ListDataStream.tellks���4�8�8�}�rrv)rr
rrrr$rr rr!rr�r�s@rrtrt]s&����A������rrtc	�`�,o[U2o[U2OVqUUUUQ5U!)rm)rtrr)rrrrrr�rwrqs&&&$$$  r�tostringlistr�nsA��
�C�
�S�
!�F������v�/>�1B�&,�4H�	�J�
�Jrc�.�[U[2%f[U2oUO[OQQ5UO2OoU%cUP*Q6wc"[OOQ2P!P!)aWrite element tree or element structure to sys.stdout.

This function should be used for debugging only.

*elem* is either an ElementTree, or a single Element.  The exact output
format is implementation dependent.  In this version, it's written as an
ordinary XML file.

r�)rr)rrr�sys�stdoutr�r1)r2r1s& r�dumpr�{se���d�K�(�(��4� ���J�J�s�z�z�I�J�.��<�<�>���D��4��8�t�#��
�
�����$rc��```�[U[2%cUO2oU]6c[QU02g[	U2%fP!QUR**,nUUU1QknRU]2P!)a�Indent an XML document by inserting newlines and indentation space
after elements.

*tree* is the ElementTree or Element to modify.  The (root) element
itself will not be changed, but the tail text of all elements in its
subtree will be adapted.

*space* is the whitespace to insert for each indentation level, two
space characters by default.

*level* is the initial indentation level. Setting this to a higher
value than 0 can be used for indenting subtrees that are more deeply
nested inside of a document.
z,Initial indentation level must be >= 0, got rc�:�U]*oRU*oUO%c!UOO2%fV0mSFDVo[	U2%c	RVB2UO
%c#UO
O2%cJPV4mJX	WO
O2%fRU*UmP!P![c%RS*R*oROS2K�h9hr6)�
IndexErrorrSr0�stripr7r1)r2�level�child_level�child_indentation�child�_indent_children�indentations�spaces&&   ���rr�� indent.<locals>._indent_children�s�����a�i��	3� ,�[� 9��
�y�y�y��	�	��� 1� 1�)�I��E��5�z�z� ��4��:�:�:�U�Z�Z�%5�%5�%7�%7�.�
�	��z�z���!�!�%�e�,�E�J�"���	3� ,�U� 3�e� ;����� 1�2�	3�s�	C�	D�'"D�D)rrr�rfr7)�treer�r�r�r�s&f&@@r�indentr��sg����$��$�$��|�|�~���q�y��G��w�O�P�P��t�9�9���5�5�=�(�)�L�-�,�T�1�rc�>�[2oUOV2U!)z�Parse XML document into element tree.

*source* is a filename or file object containing XML data,
*parser* is an optional parser instance defaulting to XMLParser.

Return an ElementTree instance.

)rr�)r�r�r�s&& rr�r��s���=�D��J�J�v���Krc�(`````	�[VQ5n[RQ2%f[RQ2nP	nLP
nUUU	1QkoUR2nUUU1QkQ[OO
2oU2oPUm[OU2n	U!)a&Incrementally parse XML document into ElementTree.

This class also reports what's going on to the user based on the
*events* it is initialized with.  The supported events are the strings
"start", "end", "start-ns" and "end-ns" (the "ns" events are used to get
detailed namespace information).  If *events* is omitted, only
"end" events are reported.

*source* is a filename or file object containing XML data, *events* is
a list of events to report back, *parser* is an optional parser
instance.

Returns an iterator providing (event, elem) pairs.

)�events�_parserr�r�c3�: �RO2FPiw�K
UOQ2oU%fLROU2JHRO2oRO2FPiw�K
R2oUdV#mR%cUO2P!P!K�K3R%cSO2hh9h3h)Ti@)�read_eventsr�r��_close_and_return_root�rootr�)r�r�r��itr��
pullparser�wrs&   ���r�iterator�iterparse.<locals>.iterator�s�����	��%�1�1�3�3�3��{�{�9�-��������%��4�4�6�D�!�-�-�/�/�/���B��~���������4�
0��
������sU�C�B)�B%�B)�8B)�2B'�3B)�B)�	C�C�%B)�'B)�)C�2C�Cc�v:`�\sQsQsnYOsUUU1Qks\O1UU1QkksQs	Us
P!)�$iterparse.<locals>.IterParseIteratori�c�^:�R%cRO2P
nRO2P!)F)r�)r"r��genr�s&���rr��*iterparse.<locals>.IterParseIterator.closes��������$���I�I�Krc�:�R%c1UQRO80[]Q5RO2P!P!RO2h9h)zunclosed iterparse iterator r;)�name�ResourceWarningr�)r"�_warnr�r�s&&��r�__del__�,iterparse.<locals>.IterParseIterator.__del__	s?����#��8�����H�/�fg�h��L�L�N�	���L�L�N�s	�=�Ar)rr
rr�__next__r�r=r>r�rr�)r�r�r�r�s@���r�IterParseIteratorr��s&�����<�<��	�!)�
�
�	#�	#rr�)	rrr��collections�abc�Iteratorr��weakref�ref)
r�r�r�r�r�r�r�r�r�r�s
f&&   @@@@r�	iterparser��s����$�f�=�J��6�6�"�"��f�d�#�������$�6�
�C�#�#�K�O�O�4�4�#�"
�	�B��B�G�	���R��B�
�Irc�R`�\sQsQsnQ
QP-QkksQsQsQsQsQs	Q	s
UsP!)rir�c���[O2UmS9%f[[	2Q5UmUeQoUO
O
UOU2P!)�r�)�end)r��deque�
_events_queuerrr��
_setevents)r"r�r�s&&$rr$�XMLPullParser.__init__sO��
)�.�.�0����A�A�)�;�=�"A����>��F������� 2� 2�F�;rc���UOe[Q2gU%cUOOU2P!P![c'oSOOS2Po=P!Po=hh9h)�Feed encoded data to parser.z!feed() called after end of stream)r�rfr��SyntaxErrorr�rS)r"r��excs&& rr��XMLPullParser.feed$s`���<�<���@�A�A��
/����!�!�$�'����
/��"�"�)�)�#�.�.��
/�s�A�	A4�
A4�A/�/A4c�J�UOO2oPUmU!r6)r�r�)r"r�s& rr��$XMLPullParser._close_and_return_root.s ���|�|�!�!�#������rc�(�UO2P!)z�Finish feeding data to parser.

Unlike XMLParser, does not return the root element. Use
read_events() to consume elements from XMLPullParser.
)r�r(s&rr��XMLPullParser.close4s��	
�#�#�%rc#� �UOoU%c0UO2o[U[2%cUgUw�	J7P!3h)z�Return an iterator over currently available (event, elem) pairs.

Events are consumed from the internal event queue as they are
retrieved from the iterator.
)r��popleftr�	Exception)r"r��events&  rr��XMLPullParser.read_events<s=����#�#����N�N�$�E��%��+�+������s�A	�%A	�A	c�n�UOe[Q2gUOO2P!)Nz"flush() called after end of stream)r�rf�flushr(s&rr��XMLPullParser.flushJs(���<�<���A�B�B������r)r�r�r6)rr
rrr$r�r�r�r�r�rr�r�s@rrrs/����
<�t�
<�/��&���rc�~�U%f[[2Q5oUOU2UO2!)aParse XML document from string constant.

This function can be used to embed "XML Literals" in Python code.

*text* is a string containing XML data, *parser* is an
optional parser instance, defaulting to the standard XMLParser.

Returns an Element instance.

r��rrr�r�)r0r�s&&r�XMLr�Ps+����+�-�0��
�K�K����<�<�>�rc��U%f[[2Q5oUOU2UO2o-oUO	2FD"oUOQ2oU%fJVCU$J$	V#1!)aParse XML document from string constant for its IDs.

*text* is a string containing XML data, *parser* is an
optional parser instance, defaulting to the standard XMLParser.

Returns an (Element, dict) tuple, in which the
dict maps element id:s to elements.

r�r')rrr�r�r�r})r0r�r��idsr2r's&&    r�XMLIDr�asb����+�-�0��
�K�K����<�<�>�D�
�C��	�	���
�X�X�d�^��
�2���G���9�rc��U%f[[2Q5oSFDoUOU2J	UO2!)z�Parse XML document from sequence of string fragments.

*sequence* is a list of other sequence, *parser* is an optional parser
instance, defaulting to the standard XMLParser.

Returns an Element instance.

r�r�)�sequencer�r0s&& r�fromstringlistr�ys5����+�-�0�������D����<�<�>�rc	�x`�\sQsQsnQsQQPQPQP
QP
-QkksQsQ	sQ
sQs	Qs
Q
sQQksQs
QsUsP!)ri�aGeneric element structure builder.

This builder converts a sequence of start, data, and end method
calls to a well-formed element structure.

You can use this class to build an element structure using a custom XML
parser, or a parser for some other XML-like format.

*element_factory* is an optional element factory which is called
to create new Element instances, as necessary.

*comment_factory* is a factory to create comments to be used instead of
the standard factory.  If *insert_comments* is false (the default),
comments will not be inserted into the tree.

*pi_factory* is a factory to create processing instructions to be used
instead of the standard factory.  If *insert_pis* is false (the default),
processing instructions will not be inserted into the tree.
�comment_factory�
pi_factory�insert_comments�
insert_pisc���,Um,UmPUmPUmPUmUe[
oV mV@mUe[oV0m	VPm
Ue[oVmP!r6)
�_data�_elem�_lastr��_tailr��_comment_factoryr�r��_pi_factoryr�r�_factory)r"�element_factoryr�r�r�r�s&&$$$$rr$�TreeBuilder.__init__�sd����
���
���
���
���
��"�%�O� /��.����.�J�%��$���"�%�O�'�
rc��[UO2]6XfPQ2gUOePQ2gUO!)z;Flush builder buffers and return toplevel document Element.zmissing end tagszmissing toplevel element)r7r�r�r(s&rr��TreeBuilder.close�s>���4�:�:��!�#�7�%7�7�#��z�z�%�A�'A�A�%��z�z�rc�r�UO%c�UOd�POUO2oUO%c1UOOdPQ2gVOmL/UOO
dPQ2gVOm,UmP!P!)Nzinternal error (tail)zinternal error (text))r�r��joinr�r1r0�r"r0s& r�_flush�TreeBuilder._flush�s����:�:�:��z�z�%��w�w�t�z�z�*���:�:�:��:�:�?�?�2�K�4K�K�2�&*�J�J�O��:�:�?�?�2�K�4K�K�2�&*�J�J�O��D�J�rc�>�UOOU2P!)zAdd text to current element.)r�rS�r"r�s&&rr��TreeBuilder.data�s���
�
���$�rc�.�UO2UOV29UmoUO%c$UOP*O	U2LUO
eV0mUOO	U2]UmU!)znOpen new element and return it.

*tag* is the element name, *attrs* is a dict containing element
attributes.

)r�r�r�r�rSr�r�)r"r�attrsr2s&&& r�start�TreeBuilder.start�sn��	
���
� �M�M�#�5�5��
�T��:�:�:��J�J�r�N�!�!�$�'�
�Z�Z�
��J��
�
���$����
��rc��UO2UOO2UmUOOU6Xf%PQUOO8QU8Q02g]UmUO!)z?Close and return current Element.

*tag* is the element name.

zend tag mismatch (expected z, got r^)r�r��popr�rr�r�s&&rr��TreeBuilder.end�sa��	
���
��Z�Z�^�^�%��
��z�z�~�~��$�	(��:�:�>�>�3�(�	(�$���
��z�z�rc�R�UOUOUOU2!)zPCreate a comment using the comment_factory.

*text* is the text of the comment.
)�_handle_singler�r�r�s&&r�comment�TreeBuilder.comment�s*��
�"�"��!�!�4�#7�#7��?�	?rc�R�UOUOUOV2!)z�Create a processing instruction using the pi_factory.

*target* is the target name of the processing instruction.
*text* is the data of the processing instruction, or ''.
)r�r�r�)r"r�r0s&&&r�pi�TreeBuilder.pi�s(���"�"����d�o�o�v�=�	=rc���UUoU%cRUO2V@mUO%c#UOP*OU2]UmU!r6)r�r�r�rSr�)r"�factoryr\�argsr2s&&&* rr��TreeBuilder._handle_single�sG����~����K�K�M��J��z�z�z��
�
�2��%�%�d�+��D�J��r)
r�r�r�r�r�r�r�r�r�r�r6)rr
rrrr$r�r�r�r�r�r�r�r�rr�r�s@rrr�s\�����&(�!%�(�26�(�!&�(�38�(�(�
� ��"�?�=��rc�z`�\sQsQsnQsQPQP-QksQsQsQsQ	s	Q
s
QsQsQ
s
QsQsQsQsUsP!)riaMElement structure builder for XML source data based on the expat parser.

*target* is an optional target object which defaults to an instance of the
standard TreeBuilder class, *encoding* is an optional encoding string
which if given, overrides the encoding specified in the XML file:
http://www.iana.org/assignments/character-sets

r�rc��]QHGoUO	UQ2oUe[2oU9UmUmU9UmUm	UOUm-UmUOUm[UQ2%cUO Um[UQ2%cUO$Um[UQ2%cUO(Um[UQ2%cUO,Um[UQ2%cUO0Um[UQ	2%cUO4Um[UQ
2%cUO8Um]Um]UmPUm -Um!QUOD*Um#P![c$]PHoCK�[c
[Q2gh9hh9h[HcP!h9h)���expatz7No module named expat; use SimpleXMLTreeBuilder insteadr�r�r��start_ns�end_nsr�r�r�zExpat %d.%d.%d)%�xml.parsersr�ImportError�pyexpat�ParserCreaterr�r�r��_target�error�_error�_names�_default�DefaultHandlerExpandr�_start�StartElementHandler�_end�EndElementHandler�	_start_ns�StartNamespaceDeclHandler�_end_ns�EndNamespaceDeclHandlerr��CharacterDataHandlerr��CommentHandlerr��ProcessingInstructionHandler�buffer_text�ordered_attributes�_doctype�entity�version_info�versionr")r"r�rrr�s&$$  rr$�XMLParser.__init__s���	�)��#�#�H�c�2���>� �]�F�%+�+���d�l�%+�+���d�l��k�k������&*�m�m��#��6�7�#�#�)-���F�&��6�5�!�!�'+�y�y�F�$��6�:�&�&�/3�~�~�F�,��6�8�$�$�-1�\�\�F�*��6�6�"�"�*0�+�+�F�'��6�9�%�%�$*�N�N�F�!��6�4� � �28�)�)�F�/����$%��!���
����	�+�e�.@�.@�@�D�L��M�	�
�'���
�!�M���
��	��N�	��	�sA�F�G�	G�$G�&F-�-	G�7
G�G�	G�G�Gc�`�UOoUOoSFCDoUQ6Xc!]UmVTUO1QkoVcmJ+UQ6XcVTUO
1QkoVcmJKUQ6Xc=[UOQ2%cVTUO1QkoLVT1QkoVcm
J�UQ6Xc=[UOQ	2%cVTUO1Q
koLVT1QkoVcmJ�UQ6XcVTU1Q
koVcm
J�UQ6XcVTU1QkoVcmJ�[QU*2g	P!)r�c�&�UV$V212P!r6r)r�	attrib_inr�rSr�s&&&&&r�handler�%XMLParser._setevents.<locals>.handlerHs���E�5��#8�9�:rr�c�&�UVU212P!r6r)rr�rSr�s&&&&rr*r+Ms���E�3�s�8�,�-rzstart-nsr	c�&�UV$V212P!r6r)r.r-r�rSr	s&&&&&rr*r+Ts����x��'<�=�>rc�F�SX 9%fPS9%fP112P!��r)r.r-r�rSs&&&&rr*r+Xs������"�c�i�i�R�'@�A�Brzend-nsr
c�&�UVU212P!r6r)r.r�rSr
s&&&&rr*r+^s����v�f�~�6�7rc��UUP12P!r6r)r.r�rSs&&&rr*r+bs����t�}�-rr�c�L�UVOOU212P!r6)r�r�)r0r�rSr"s&&&&rr*r+fs���E�;�;�#6�#6�t�#<�=�>rr�c�L�UV$OOV212P!r6)r�r�)�	pi_targetr�r�rSr"s&&&&&rr*r+js���E�;�;�>�>�)�#B�C�Drzunknown event %r)r�rSr!rrrrrr�rrrrrrrf)r"�events_queue�events_to_reportr�rS�
event_namer*s&&&    rr��XMLParser._setevents<s�������$�$��*�J��W�$�,-��)�2<�"&�+�+�;�.5�*��u�$�'1� $�	�	�.�,3�(��z�)��4�;�;�
�3�3�3=�)-���?�4>�C�3:�0��x�'��4�;�;��1�1�.8�'+�|�|�8�/9�.�18�.��y�(�(2��?�(/�%��t�#�3=�!%�E�7>�3� �!3�j�!@�A�A�U+rc�z�[U2oUOUmUOUO1UmUgr6)r�code�lineno�offset�position)r"r��errs&& r�_raiseerror�XMLParser._raiseerrorqs0�������:�:����|�|�U�\�\�1����	rc��UOU*oU![c%SoQS7c
QS*oX OS$S!h9h)r�r�)r�KeyError)r"r~r�s&& r�_fixname�XMLParser._fixnamewsS��	$��;�;�s�#�D�����	$��D��d�{��T�z��#�K�K�����	$�s��	A�	A�A�Ac�d�UOOS9%fPS9%fP2!r/)r�r	�r"r.r-s&&&rr�XMLParser._start_ns�s%���{�{�#�#�F�L�L�b�#�)�)��<�<rc�N�UOOS9%fP2!r/)r�r
)r"r.s&&rr�XMLParser._end_ns�s���{�{�!�!�&�,�,�B�/�/rc���UOoUU2o-oU%c<[][U2]2FD oV%]**VCV%*2$J"	UOO	V2!)r)rD�ranger7r�r�)r"r�	attr_list�fixnamer �is&&&   rr�XMLParser._start�sa���-�-���c�l������1�c�)�n�a�0��09�A�#���w�y�|�,�-�1��{�{� � ��-�-rc�X�UOOUOU22!r6)r�r�rDr�s&&rr�XMLParser._end�s���{�{���t�}�}�S�1�2�2rc��UQ*oUQ6Xc7UOOoUUOU]P*2P!UQ6XcUQ*Q6Xc
,UmP!UOCd6UQ6Xc
PUmP!UO2oU%fP!UOO!U2[#UO2oU]6�c�UO]*oUQ6Xc%U]6XcUOvq�q�U	%cU	]Po	L"UQ	6XcU]6XcUOvq�o
Po	LP![%UOQ
2%c!UOO'V�U
]P2L-[%UQ
2%c[(O*Q[,2PUmP!P!P![cP!h9h[c�]QHGoSOQXOOSOO1*2o]SmSOOSmSOOSm
Sgh9h)r�r`rz'undefined entity %s: line %d, column %dr�:N�	Nz	<!DOCTYPEr��PUBLIC�SYSTEM�doctypezaThe doctype() method of XMLParser is ignored.  Define doctype() method on the TreeBuilder target.)r�r�r"r#rCrrrr��ErrorLineNumber�ErrorColumnNumberr;r<r=r"r�rSr7rrWr=r>�RuntimeWarning)r"r0r.�data_handlerrr?�nrar��pubid�systems&&         rr�XMLParser._default�s����b����S�=�
�#�{�{�/�/��
��T�[�[��a���4�5��s�]�t�B�x�;�6��D�M�
�]�]�
&���}� $��
���:�:�<�D����M�M� � ��&��D�M�M�"�A��1�u��}�}�Q�'���8�#��Q��04�
�
�-�D��� %�a������X�%�!�q�&�)-���&�D�� �E���4�;�;�	�2�2��K�K�'�'��V�A�b�\�B��T�9�-�-��M�M�M�&�(�
!%��
�'�'��#"�
��
���

�-��k�k�=��;�;�6�6��K�K�1�1�3�3���
���!�[�[�8�8��
�!�[�[�:�:��
��	�

�s)�F,�F>�,	F;�6F;�:F;�>	I�B	Ic��UOOUP
2P!SOcoSOS2Po=P!Po=hh9h)r�)r��Parserr@)r"r�rFs&& rr��XMLParser.feed�s@��	 ��K�K���d�E�*���{�{�	 ����Q����	 �s�!�A�A�A	�	Ac�:�UOOQP	2UOO
oU2U;U;U;U;!SOcoSOS2Po=KMPo=hh9h[cLh9hS;S;S;S;P!S;S;S;S;h9h)z;Finish feeding data to parser and return element structure.r)	r�rarr@r�r�r�rr")r"rF�
close_handlers&  rr��XMLParser.close�s���	 ��K�K���c�4�(�		*� �K�K�-�-�M�!�?���T�\���T�\���{�{�	 ����Q����	 ���	��	���
��T�\���T�\����T�\���T�\�sK�A�A4�B�A1�A1�A,�,A1�4	B�>B�?B�B�B�
Bc��UOO2oUOOP
2UOOQP
2UOOU2P!SOcoSOS2Po=KDPo=hh9hSOOS2h9h)Fr)r��GetReparseDeferralEnabled�SetReparseDeferralEnabledrarr@)r"�was_enabledrFs&  rr��XMLParser.flush�s����k�k�;�;�=��	?��K�K�1�1�%�8��K�K���c�5�)�
�K�K�1�1�+�>���{�{�	 ����Q����	 ��
�K�K�1�1�+�>�s/�7A1�1B�B�B�B �B�B � B=)	r"rrr�rr#r�r�r%)rr
rrrr$r�r@rDrrrrrr�r�r�rr�r�s@rrrs]�����+��+��+�Z3B�j�	�=�0�
.�3�4%�l �*�"?�?r�out�	from_filec�<�UeUe[Q2gPoUe[O29qA[[	UO
1-U@Q5oUd#UO
U2UO2LUd
[V%Q5UdUO2!P!)aConvert XML to its C14N 2.0 serialised form.

If *out* is provided, it must be a file or file-like object that
receives the serialised canonical XML output (text, not bytes) through
its ``.write()`` method.  To write to a file, open it in text mode with
encoding "utf-8".  If *out* is not provided, this function returns the
output as text string.

Either *xml_data* (an XML string) or *from_file* (a file path or
file-like object) must be provided as input.

The configuration options are the same as for the ``C14NWriterTarget``.
z:Either 'xml_data' or 'from_file' must be provided as inputr�)r�)
rfrrnrrrr�r�r�rp)�xml_datarkrl�options�sior�s&$$,  r�canonicalizerq�s�����I�-��U�V�V�
�C�
�{��K�K�M�!��
�.�s�y�y�D�G�D�
E�F������H������	�	�
�i�'� �_�3�<�<�>�6�$�6rz	^\w+:\w+$c�`�\sQsQsnQsQP
QP
QP
QPQPQPQ	P-Q
ks\1QksQsQQ
ks	Qs
PO1QksQs
QsQQksQsQsQsQsUsP!)ria�
Canonicalization writer target for the XMLParser.

Serialises parse events to XML C14N 2.0.

The *write* function is used for writing out the resulting data stream
as text (not bytes).  To write to a file, open it in text mode with
encoding "utf-8" and pass its ``.write`` method.

Configuration options:

- *with_comments*: set to true to include comments
- *strip_text*: set to true to strip whitespace before and after text
                content
- *rewrite_prefixes*: set to true to replace namespace prefixes by
                      "n{number}"
- *qname_aware_tags*: a set of qname aware tag names in which prefixes
                      should be replaced in text content
- *qname_aware_attrs*: a set of qname aware attribute names in which
                       prefixes should be replaced in text content
- *exclude_attrs*: a set of attribute names that should not be
                   serialised
- *exclude_tags*: a set of tag names that should not be serialised
�
with_comments�
strip_text�rewrite_prefixes�qname_aware_tags�qname_aware_attrs�
exclude_attrs�exclude_tagsc�j�Vm,UmV mV0mU%c[	U2LPUmU%c[	U2LPUmV@mU%c[	U2UmLPUmU%c[	U2OUm
LPUm
Q,,Um,UmU%f7UOO[[O!222UOO,2-UmP
,UmPUmP
UmP
Um]UmP!)N)rWr�)�_writer��_with_comments�_strip_textr��_exclude_attrs�
_exclude_tags�_rewrite_prefixes�_qname_aware_tags�intersection�_find_qname_aware_attrs�_declared_ns_stack�	_ns_stackrSrBr*r��_prefix_map�_preserve_space�_pending_start�
_root_seen�
_root_done�_ignored_depth)	r"rrsrtrurvrwrxrys	&&$$$$$$$rr$�C14NWriterTarget.__init__-s�������
�+��%��4A�c�-�0�t���2>�S��.�D���!1���%(�)9�%:�D�"�%)�D�"��+.�/@�+A�+N�+N�D�(�+/�D�(�
<�$
�#��������N�N�!�!�$�~�';�';�'=�">�?������b�!���� %�w���"�����������rc#�` �UU2FDoU%fJ
SFPiw�K
J	P!K
3hr6r)r"�ns_stack�	_reversedrls&&& r�_iter_namespaces�!C14NWriterTarget._iter_namespacesRs%���#�H�-�J��z�%�%�%�.�%�s�.�.�,
�.c��UOQ]2vq#UOUO2FDvqEVR6XfJ
QUQU0t!	[QUQUQ02g)r(r�r�zPrefix z of QName "�" is not declared in scope)�splitr�r�rf)r"�
prefixed_namer.r�r-�ps&&    r�_resolve_prefix_name�%C14NWriterTarget._resolve_prefix_nameWsf��$�*�*�3��2����+�+�D�N�N�;�F�C��{��C�5��4�&�)�)�<��7�6�(�+�m�_�D^�_�`�`rc�d�Ue/UQ*Q6XcUQ*OQ]2LPU1vq#LSo[2oUOUO2FD8vqVVR6XcVd7cU%cUQU0LSV21t!UO	U2J:	UO
%cwV O7cUOU*oL&Q[UO209p`OU$UOP*OV&12UQU0V21!U%fPU7cV3U1!UOUO2FDDvqVVR6XfJ
UOP*OV&12U%cUQU0LSV21t!	U%fV3U1![QUQ02g)	Nr�r�r'r�r(r\zNamespace "r�)r)r�r�r��addr�r�r7rSr�rf)r"r,r-r�
prefixes_seen�ur.s&&&    r�_qname�C14NWriterTarget._qname^s����;�38��9��3C�u�R�y�'�'��Q�/�"�e��H�C���C���
��.�.�t�/F�/F�G�I�A��x�F�7�,2�&���3�%�(��S�E�E����f�%�H��!�!�!��&�&�&��)�)�#�.��34�S��9I�9I�5J�4K�1L�L��)�)�#�.��#�#�B�'�.�.��}�=��X�Q�s�e�$�c�.�.��r��.��S�=� ��.�.�t�~�~�>�I�A��x��'�'��+�2�2�C�=�A�,2�&���3�%�(��S�E�E�?�
��S�=� ��;�s�e�+E�F�G�Grc�f�UO%fUOOU2P!P!r6)r�r�rSr�s&&rr��C14NWriterTarget.data�s%���"�"�"��J�J���d�#�#rc���UUO2oUOQUO%c*UOP*%fUO2oUOdMUOPtp0mU%c[U2%cSLPoUO,UNUM3UdP!U%c1UO%cUO[U22P!P!P!r/)
r�r}r�r�r��_looks_like_prefix_namerr�r{�_escape_cdata_c14n)r"�
_join_textr�r�
qname_texts&&   rr��C14NWriterTarget._flush�s����$�*�*�%���J�J�q�M�����D�$8�$8��$<�$<��:�:�<�D����*�(,�(;�(;�T�%�D�%�!%�*A�$�*G�*G��T�J��K�K�*��*�z�*��%���D�O�O�O��K�K�*�4�0�1�$�4rc��UO%cP!UO%cUO2UOP*O	V!12P!r6)r�r�r�r�rSrGs&&&rr	�C14NWriterTarget.start_ns�s<��������:�:�:��K�K�M����r��!�!�3�-�0rc��UOd>UO%fVO7cU9O]*
tmP!UO%cUO2,oUOOU2UOdVO7cVU1UmP!UOVU2P!r6)	rr�r�r�r�rSr�r�r)r"rr��new_namespacess&&& rr��C14NWriterTarget.start�s������)��#�#�#�s�.@�.@�'@����1�$����:�:�:��K�K�M������&�&�~�6��!�!�-�#�9O�9O�2O�#&�~�">�D������C��/rc� �UOd?U%c7UO2TTt-tFDvqVVPO7fJVVaJ	oooU.Ulo-oUd'UOU29p�U$UOU	2UOdqU%ciUO	U2o
U
%cMS
FDDoV+*o[U2%fJUOU29p�U$UOU	2JF	LPo
LPo
UOo
[UQQ5Tt-tFDp�U
U2aJ
	ooU%c<STTt,tFDvooU%c
QU*LQU1MJ	oooUO2L,oU%cs[UO22FDTvqVU
d#VZ7cVh7cV�U**]*oV�*voooSOU%cSLSU12JV	UOQ2oUOOU%cUQ6HLUOP*2UOoUQV�*]**2U%c=SPOSTTt,tFDvqVQUQ	[U2Q
0MJ	too22UQ2Ud&U[V�U**]*22P	UmUO"O,2P!ttoohttohttoohttooh)Nc�(�UOQ]2!)r�)r�)r\s&rr�)C14NWriterTarget._start.<locals>.<lambda>�s��!�'�'�#�q�/rr;zxmlns:�xmlnsz+{http://www.w3.org/XML/1998/namespace}space�preserver�r�r=r>r�)r~r�r�r�r�r�r�rC�sortrSr}r�r{r��_escape_attrib_c14nr�r�r�)r"rr�r�r�rGrFr�resolved_namesr,�qattrs�	attr_namer��parse_qnamer\�
parsed_qnamesr-r.rM�
attr_qname�space_behaviourrs&&&&&                 rr�C14NWriterTarget._start�s������*�u�&+�k�k�m�T�m�d�a�q�@S�@S�7S�T�Q�T�m�E�T���������!�15�1J�1J�:�1V�V�E�:�.��J�J�u���'�'�3���1�1�%�8�F��!'�I�!�,�E�.�u�5�5�8<�8Q�8Q�RW�8X�X��u� 5��
�
�5�)�	"(����F��k�k��4:��1�53�4�53�q�K��N�*�53�
�4��$2��#1�K�C��'-��F�"�'�3�?�#1�
��
�N�N���I���u�{�{�}�-����%�!�+�!�:M�%�Q�&7�8��;�A�-:�-=�*�
�I�s�� � ��*��A�!F�G�.� �)�)�$Q�R�����#�#�-<�O�z�)��%�%�b�)�	+�
����
�c�M�&�q�)�)�*���"�'�'�)�T�)�$�!�Q�q�c��$7��$:�#;�1�=�)�T�U�V�
�c�
��!��$�]�*�3M�%N�q�%Q�R�S���������b�!��CU��04��
��8Us#�K9�K9�K?�;L�
L�9L
c���UO%cU9O]*tmP!UO%cUO2UOQUO	U2]*Q02UO
O
2[UO
2]6HUmUOO
2UOO
2P!)r�r?r�)r�r�r�r{r�r�r�r7r�r�r�r�s&&rr��C14NWriterTarget.end�s����������1�$����:�:�:��K�K�M����b����S�)�!�,�-�Q�/�0���� � �"��d�2�2�3�q�8������#�#�%������rc��UO%fP!UO%cP!UO%cUOQ2L4UO%c#UO
%cUO
2UOQ[U2Q02UO%fUOQ2P!P!)Nrz<!--z-->)r|r�r�r{r�r�r�r�r�s&&rr��C14NWriterTarget.comment�s����"�"�"��������?�?�?��K�K���
�_�_�_������K�K�M����d�-�d�3�4�C�8�9������K�K���rc��UO%cP!UO%cUOQ2L4UO%c#UO%cUO2SOU%cQUQ[
U2Q0LQUQ02UO%fUOQ2P!P!)Nrz<?r�z?>)r�r�r{r�r�r�r�)r"r�r�s&&&rr��C14NWriterTarget.pis���������?�?�?��K�K���
�_�_�_������K�K�M����:>�b����,�T�2�3�2�6�b���PR�O�	U������K�K���r)r�r�r~rr�r�r�r�r�r�r�r�r�r�r}r|r{r6)rr
rrrr$�reversedr�r�r�r�r�r�r	r�rr�r�r�rr�r�s@rrrs������0# �$�# �16�# �IN�# �"&�# �:>�# � $�# �37�# �J4<�&�
a�#H�J$�!#���2�1�0�"C"�J
��
�
rc��QU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oU![[1c[S2P!h9h)r`rar�rbr�rcri�&#xD;rdr�s&rr�r�s���)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��V�,�D��4�<��<�<��g�.�D�����~�&�)�"�4�(�)�s,�A)�A)�A)�A)�A)�)B	�9B	�B	c�|�QU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ2oQU7cUOQQ	2oQ
U7cUOQ
Q2oU![[1c[S2P!h9h)r`rar�rbr>rhrjz&#x9;rz&#xA;rir�rdr�s&rr�r�,s���)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��X�.�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D�����~�&�)�"�4�(�)�s8�B�B�B�B�B�.B�B�B;�+B;�:B;)r�)�_set_factoriesc�d�UQ6Xc]QHGoUQQQ5Q![Q[8QU802g)�VERSION)�_deprecated)rez1.3.0zmodule z has no attribute )��)r=r�r"r)r�r�s& r�__getattr__r�Ts3���y��(��I�g�.��
�7�8�,�.@���I�
J�Jr)r�r�rr�
fromstringr�r�rr�r�rr1r�rr�rrr�rr�r�rrrVrqrr6>�xmp�style�iframe�script�noembed�noframes�	plaintext>�br�hr�col�img�wbr�area�base�link�meta�embed�frame�input�param�trackr��isindex�basefontr�r�)z  r)Ar�__all__r�rTr=rr��collections.abcrr�r0r	r�rrrr�r�r�r1rr�contextmanagerr�r�rArMrNrKr�r�rVr*r+r@rDrLrrrrtr�r�r�r�r�rr�r�r�r�rrrq�compile�UNICODErUr�rr�r�r`�_elementtreer�rr�rrr�<module>r�sI��!�P��&�	��	������		��		�#�
i�i�X	')��$�� ��+"�+"�`h/�h/�Z���/+��/+�b;�z0(�d4��+�
�3(�j�
�>�
�O�
�O��
�!�*+�E�"�F�1�5�&��&��/��&����%3��!�
�
)� )�8)��!��59��"&��0�b�'�'��"
�!%�
�9=�
�&*�
��&/�l�A�H7�7�t�"�,�
�
�$v�v�th?�h?�Z7�t�7�t�7�>�*�*�\�2�:�:�>�D�D��B�B�J)�&)�.3��K��+��7�1�2�
K���	��	�s�5
F�F�F�F

Youez - 2016 - github.com/yon3zu
LinuXploit