Your IP : 3.133.153.224


Current Path : /opt/alt/python312/lib64/python3.12/xml/etree/__pycache__/
Upload File :
Current File : //opt/alt/python312/lib64/python3.12/xml/etree/__pycache__/ElementTree.cpython-312.opt-2.pyc

�

�Q�f!!����	gd�ZdZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZGd�de�Z
d�ZGd	�d
�Zifd�ZdBd�ZdBd
�ZeZGd�d�ZGd�d�Zej,d��ZdBd�Zd�Zhd�Zd�Zd�Zeeed�Zd�Zddddddd d!�Zee_d"�Z d#�Z!d$�Z"d%�Z#dCddd&d'�d(�Z$Gd)�d*ejJ�Z&dCddd&d'�d+�Z'd,�Z(dDd-�Z)dBd.�Z*dCd/�Z+Gd0�d1�Z,dBd2�Z-dBd3�Z.e-Z/dBd4�Z0Gd5�d6�Z1Gd7�d8�Z2dBddd9�d:�Z3ejhd;ejj�jlZ7Gd<�d=�Z8d>�Z9d?�Z:	eZ;dd@l<�ddAl<m=Z=e=ee�y#e>$rYywxYw)E)�Comment�dump�Element�ElementTree�
fromstring�fromstringlist�indent�	iselement�	iterparse�parse�
ParseError�PI�ProcessingInstruction�QName�
SubElement�tostring�tostringlist�TreeBuilder�VERSION�XML�XMLID�	XMLParser�
XMLPullParser�register_namespace�canonicalize�C14NWriterTargetz1.3.0�N�)�ElementPathc��eZdZ	y)rN)�__name__�
__module__�__qualname__���</opt/alt/python312/lib64/python3.12/xml/etree/ElementTree.pyrrks���	r$rc��	t|d�S)N�tag)�hasattr)�elements r%r	r	ys��<��7�E�"�"r$c���eZdZ	dZ	dZ	dZ	dZ	ifd�Zd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zdd�Zdd�Zdd�Zdd�Zd�Zdd�Zd�Zd�Zd�Zdd�Zd�Zy)rNc��t|t�s"td|jj����||_i|�|�|_g|_y)Nzattrib must be dict, not )�
isinstance�dict�	TypeError�	__class__r r'�attrib�	_children)�selfr'r0�extras    r%�__init__zElement.__init__�sL���&�$�'��� � �)�)�,�-�
-����)��)�5�)�����r$c�`�d|jj|jt|�fzS)Nz<%s %r at %#x>)r/r r'�id�r2s r%�__repr__zElement.__repr__�s&���4�>�>�#:�#:�D�H�H�b��h�"O�O�Or$c�(�	|j||�S�N)r/)r2r'r0s   r%�makeelementzElement.makeelement�s��	��~�~�c�6�*�*r$c��|j|j|j�}|j|_|j|_||dd|Sr:)r;r'r0�text�tail)r2�elems  r%�__copy__zElement.__copy__�s@��������$�+�+�6���I�I��	��I�I��	���Q���r$c�,�t|j�Sr:)�lenr1r7s r%�__len__zElement.__len__�s���4�>�>�"�"r$c�j�tjdtd��t|j�dk7S)Nz�Testing an element's truth value will always return True in future versions.  Use specific 'len(elem)' or 'elem is not None' test instead.���
stacklevelr)�warnings�warn�DeprecationWarningrBr1r7s r%�__bool__zElement.__bool__�s1���
�
�
K�
�1�		��4�>�>�"�a�'�'r$c� �|j|Sr:�r1�r2�indexs  r%�__getitem__zElement.__getitem__�s���~�~�e�$�$r$c��t|t�r|D]}|j|��n|j|�||j|<yr:)r,�slice�_assert_is_elementr1)r2rOr)�elts    r%�__setitem__zElement.__setitem__�sB���e�U�#����'�'��,��
�#�#�G�,� '����u�r$c��|j|=yr:rMrNs  r%�__delitem__zElement.__delitem__�s���N�N�5�!r$c�^�	|j|�|jj|�yr:�rSr1�append�r2�
subelements  r%rZzElement.append�s)��	�	
���
�+������j�)r$c�l�	|D].}|j|�|jj|��0yr:rY)r2�elementsr)s   r%�extendzElement.extend�s3��	�
 �G��#�#�G�,��N�N�!�!�'�*� r$c�`�	|j|�|jj||�yr:)rSr1�insert)r2rOr\s   r%razElement.insert�s'��6����
�+������e�Z�0r$c�f�t|t�s!tdt|�jz��y)Nzexpected an Element, not %s)r,�_Element_Pyr.�typer )r2�es  r%rSzElement._assert_is_element�s.���!�[�)��9�D��G�<L�<L�L�M�M�*r$c�<�	|jj|�yr:)r1�remover[s  r%rgzElement.removes��
	�	
�����j�)r$c�2�	tj|||�Sr:)r�find�r2�path�
namespacess   r%rizElement.finds��	�����d�J�7�7r$c�4�	tj||||�Sr:)r�findtext�r2rk�defaultrls    r%rnzElement.findtexts ��
	��#�#�D�$���D�Dr$c�2�	tj|||�Sr:)r�findallrjs   r%rrzElement.findall)s��	��"�"�4��z�:�:r$c�2�	tj|||�Sr:)r�iterfindrjs   r%rtzElement.iterfind4s��	��#�#�D�$�
�;�;r$c�d�	|jj�g|_dx|_|_yr:)r0�clearr1r=r>r7s r%rvz
Element.clear?s.��	�	
��������� $�$��	�D�Ir$c�<�	|jj||�Sr:)r0�get)r2�keyrps   r%rxzElement.getJs��		��{�{���s�G�,�,r$c�$�	||j|<yr:)r0)r2ry�values   r%�setzElement.setWs��	�!����C�r$c�8�	|jj�Sr:)r0�keysr7s r%r~zElement.keysas��	��{�{���!�!r$c�8�	|jj�Sr:)r0�itemsr7s r%r�z
Element.itemsjs��	��{�{� � �"�"r$c#�K�	|dk(rd}|�|j|k(r|��|jD]}|j|�Ed{����y7��w)N�*)r'r1�iter)r2r'res   r%r�zElement.iterusO����
	��#�:��C��;�$�(�(�c�/��J����A��v�v�c�{�"�"� �"�s�AA
�A�A
c#��K�	|j}t|t�s|�y|j}|r|��|D]-}|j	�Ed{���|j
}|s�*|���/y7��wr:)r'r,�strr=�itertextr>)r2r'�tres    r%r�zElement.itertext�se����	��h�h���#�s�#�����I�I����G��A��z�z�|�#�#����A����	�#�s�AA*�
A(�A*�!A*r:�NN) r r!r"r'r0r=r>r4r8r;r@rCrKrPrUrWrZr_rarSrgrirnrrrtrvrxr|r~r�r�r�r#r$r%rr~s����(�C��
�F�1��D���D��$&��P�	+��#�(�%�(�"�	*�+�1�
N�
*�	8�E�	;�	<�	%�-�!�"�	#�#�,r$rc�Z�	i|�|�}|j||�}|j|�|Sr:)r;rZ)�parentr'r0r3r)s     r%rr�s;��
�!��
 �%�
 �F�� � ��f�-�G�
�M�M�'���Nr$c�4�	tt�}||_|Sr:)rrr=)r=r)s  r%rr�s����g��G��G�L��Nr$c�f�	tt�}||_|r|jdz|z|_|S)N� )rrr=)�targetr=r)s   r%rr�s8����+�,�G��G�L���|�|�c�)�D�0����Nr$c�F�eZdZ	dd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zy)rNc�&�|rd|�d|��}||_y)N�{�}�r=)r2�text_or_urir's   r%r4zQName.__init__�s���&1�3�7�K���	r$c��|jSr:r�r7s r%�__str__z
QName.__str__�s���y�y�r$c�P�d|jj�d|j�d�S)N�<r��>)r/r r=r7s r%r8zQName.__repr__�s�� �N�N�3�3�T�Y�Y�?�?r$c�,�t|j�Sr:)�hashr=r7s r%�__hash__zQName.__hash__�s���D�I�I��r$c�r�t|t�r|j|jkS|j|kSr:�r,rr=�r2�others  r%�__le__zQName.__le__��.���e�U�#��9�9��
�
�*�*��y�y�E�!�!r$c�r�t|t�r|j|jkS|j|kSr:r�r�s  r%�__lt__zQName.__lt__��.���e�U�#��9�9�u�z�z�)�)��y�y�5� � r$c�r�t|t�r|j|jk\S|j|k\Sr:r�r�s  r%�__ge__zQName.__ge__�r�r$c�r�t|t�r|j|jkDS|j|kDSr:r�r�s  r%�__gt__zQName.__gt__�r�r$c�r�t|t�r|j|jk(S|j|k(Sr:r�r�s  r%�__eq__zQName.__eq__�r�r$r:)r r!r"r4r�r8r�r�r�r�r�r�r#r$r%rr�s5��� ��@��"�!�"�!�"r$rc�n�eZdZ	dd�Zd�Zd�Zdd�Zdd�Zdd�Zdd�Z	dd	�Z
dd
�Z				ddd�d
�Zd�Z
y)rNc�:�||_|r|j|�yyr:)�_rootr)r2r)�files   r%r4zElementTree.__init__
s����
���J�J�t��r$c��	|jSr:�r�r7s r%�getrootzElementTree.getroots��/��z�z�r$c��	||_yr:r�)r2r)s  r%�_setrootzElementTree._setroots��	���
r$c���	d}t|d�st|d�}d}	|�Kt�}t|d�r5|j|�|_|j|r|j�SS|j
d�x}r%|j|�|j
d�x}r�%|j�|_|j|r|j�SS#|r|j�wwxYw)NF�read�rbT�_parse_wholei)r(�openrr�r��closer��feed)r2�source�parser�close_source�datas     r%rzElementTree.parse!s���		����v�v�&��&�$�'�F��L�	��~�"����6�>�2�
"(�!4�!4�V�!<�D�J��:�:�������!�+�+�e�,�,�$�,����D�!�!�+�+�e�,�,�$�,�����D�J��:�:��������|������s�9C�,7C�$ C�C-c�:�	|jj|�Sr:)r�r��r2r's  r%r�zElementTree.iterCs��	��z�z���s�#�#r$c��	|dddk(r$d|z}tjd|ztd��|jj	||�S�Nr�/�.z�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 %rrErF)rHrI�
FutureWarningr�rirjs   r%rizElementTree.findOsV��		����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z���t�Z�0�0r$c��	|dddk(r$d|z}tjd|ztd��|jj	|||�Sr�)rHrIr�r�rnros    r%rnzElementTree.findtextesZ��		����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z�"�"�4��*�=�=r$c��	|dddk(r$d|z}tjd|ztd��|jj	||�Sr�)rHrIr�r�rrrjs   r%rrzElementTree.findall{sX��		����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z�!�!�$�
�3�3r$c��	|dddk(r$d|z}tjd|ztd��|jj	||�Sr�)rHrIr�r�rtrjs   r%rtzElementTree.iterfind�sX��		����8�s�?���:�D��M�M�-�/3�4��!�	
��z�z�"�"�4��4�4r$T��short_empty_elementsc��	|sd}n|tvrtd|z��|s
|dk(rd}nd}t||�5\}}|dk(r5|s'|�1|j�dk7r|j�dvr|d|�d	��|d
k(rt	||j
�n9t
|j
|�\}	}
t|}|||j
|	|
|��ddd�y#1swYyxYw)N�xmlzunknown method %r�c14n�utf-8�us-ascii�unicode)r�r�z<?xml version='1.0' encoding='z'?>
r=r�)�
_serialize�
ValueError�_get_writer�lower�_serialize_textr��_namespaces)r2�file_or_filename�encoding�xml_declaration�default_namespace�methodr��write�declared_encoding�qnamesrl�	serializes            r%r�zElementTree.write�s���	�.��F�
�:�
%��0�6�9�:�:�����"��%��
�)�8�
4�8R��@Q����O�$�,��^�^�%��2�&�,�,�.�6K�K��%�(�)������t�z�z�2�%0����=N�%O�"��
�&�v�.�	��%����V�Z�/C�E�5�
4�
4�s�BC�Cc�(�|j|d��S)Nr�)r�)r�)r2r�s  r%�
write_c14nzElementTree.write_c14n�s���z�z�$�v�z�.�.r$r�r:)NNNN)r r!r"r4r�r�rr�rirnrrrtr�r�r#r$r%rrsZ��	���� �D
$�1�,>�,4�,5�.�"� $��	3E�
$(�3E�j/r$rc#�~K�	|j}|j�dk(r|t|dd�xsdf��ytj�5}t|tj�r|}n�t|tj�r1t
j|�}|j|j�nFt
j�}d�|_||_	|j|_
|j|_t
j ||dd��}|j|j�|j|f��ddd�y#t$rY�XwxYw#1swYyxYw#t$rM|j�dk(rd}t#|d|d�	�5}|j|f��ddd�Yy#1swYYyxYwwxYw�w)
Nr�r�r�c��y�NTr#r#r$r%�<lambda>z_get_writer.<locals>.<lambda>s��Dr$�xmlcharrefreplace�
)r��errors�newline�w)r�r�)r�r��getattr�
contextlib�	ExitStackr,�io�BufferedIOBase�	RawIOBase�BufferedWriter�callback�detach�writable�seekable�tell�AttributeError�
TextIOWrapperr�)r�r�r��stackr�s     r%r�r��s�����-+� �&�&���>�>��y�(���!1�:�t�D�O��O�O��%�%�'�5��.��0A�0A�B�+�D�� 0�"�,�,�?��,�,�-=�>�D��N�N�4�;�;�/��,�,�.�D�$0�D�M�!&�D�J��)9�(A�(A��
�$4�$9�$9��	��'�'��19�/B�04�6�����t�{�{�+��j�j�(�*�*�9(�'��&*�����'(�'���'��>�>��y�(��H�
�"�C�(�,�.�15��*�*�h�&�&�.�.�.��	'�s��F=�E$�=F=�
BE�"E	�<AE�	F=�		E�E�E�E�E!�F=�$-F:�F,�"F:�*F=�,F6	�1F:�4F=�6F:�:F=c�����ddi�i��rd��<���fd�}|j�D�],}|j}t|t�r!|j�vrM||j�n:t|t
�r
|�vr&||�n|�|tur|turt|�|j�D]_\}}t|t�r|j}|�vr||�t|t�s�?|j�vs�N||j��a|j}t|t�s��|j�vs��||j���/��fS)N�c�J��	|dddk(rm|ddjdd�\}}�j|�}|�/tj|�}|�dt��z}|dk7r|�|<|r|�d|���|<y|�|<y�rt	d��|�|<y#t
$rt
|�YywxYw)Nrr�r�zns%dr��:z<cannot use non-qualified names with default_namespace option)�rsplitrx�_namespace_maprBr�r.�_raise_serialization_error)�qname�urir'�prefixr�rlr�s    ���r%�	add_qnamez_namespaces.<locals>.add_qname s����	.��R�a�y�C�� ���9�+�+�C��3���S�#����,���>�+�/�/��4�F��~�!'�#�j�/�!9�����*0�
�3���/5�s�$;�F�5�M�$'�F�5�M�$�$�3���!&��u�
���	.�&�u�-�	.�s�A.B�2B�8B�B"�!B")
r�r'r,rr=r�rr
rr�)	r?r�rr'ryr{r=rlr�s	 `     @@r%r�r�s(����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� �'�(�:��r$c	��|j}|j}|tur
|d|z��np|tur
|d|z��n[||}|�,|r|t	|��|D]}t|||d|����n(|d|z�t
|j��}	|	s|r�|rCt|j�d���D]$\}
}|rd|z}|d|�d	t|
��d
���&|	D]^\}}
t|t�r|j}t|
t�r||
j}
nt|
�}
|d||�d	|
�d
���`|s
t|�s|sA|d�|r|t	|��|D]}t|||d|���|d
|zdz�n|d�|jr|t	|j��yy)N�	<!--%s-->�<?%s?>r�r�c��|dS�Nrr#��xs r%r�z _serialize_xml.<locals>.<lambda>h���Q�q�Tr$�ryr�� xmlns�="�"r�r��</z />)r'r=rr�
_escape_cdata�_serialize_xml�listr��sorted�_escape_attribr,rrBr>)r�r?r�rlr��kwargsr'r=rer��v�ks            r%rrRs���
�(�(�C��9�9�D�
�g�~�
�k�D� �!�	�%�	%�
�h��o���S�k���;���m�D�)�*����u�a���4H�J��
�#��)�������&�E��
�� &�z�'7�'7�'9�+9�!;���1�� #�a��A���*�1�-���	!;�"�D�A�q�!�!�U�+��F�F��!�!�U�+�"�1�6�6�N��*�1�-���&��)�Q�7�8�"��s�4�y�(<��c�
���-��-�.��A�"�5�!�V�T�8L�N���d�S�j�3�&�'��e���y�y�
�m�D�I�I�&�'�r$>�br�hr�col�img�wbr�area�base�link�meta�embed�frame�input�param�trackr��isindex�basefontc	���|j}|j}|tur|dt|�z��n�|tur|dt|�z��nj||}|�*|r|t|��|D]}t|||d���n9|d|z�t
|j��}|s|r�|rCt|j�d���D]$\}	}
|
rd|
z}
|d|
�dt|	��d	���&|D]^\}
}	t|
t�r|
j}
t|	t�r||	j}	nt|	�}	|d
||
�d|	�d	���`|d�|j�}|r$|dk(s|d
k(r	||�n|t|��|D]}t|||d��|tvr|d|zdz�|jr|t|j��yy)Nrrr�c��|dSr
r#rs r%r�z!_serialize_html.<locals>.<lambda>�r
r$rr�rrrr�r��script�styler)r'r=rrr�_serialize_htmlrr�rrr,r�_escape_attrib_htmlr��
HTML_EMPTYr>)r�r?r�rlrr'r=rer�rr�ltags            r%r/r/�s���
�(�(�C��9�9�D�
�g�~�
�k�M�$�/�/�0�	�%�	%�
�h��t�,�,�-��S�k���;���m�D�)�*�����q�&�$�7��
�#��)�������&�E��
�� &�z�'7�'7�'9�+9�!;���1�� #�a��A���*�1�-���	!;�"�D�A�q�!�!�U�+��F�F��!�!�U�+�"�1�6�6�N��/��2���&��)�Q�7�8�"�
�#�J��9�9�;�D���8�#�t�w���$�K��-��-�.�����q�&�$�7���:�%��d�S�j�3�&�'��y�y�
�m�D�I�I�&�'�r$c�|�|j�D]
}||��|jr||j�yyr:)r�r>)r�r?�parts   r%r�r��s1���
�
���
�d�� ��y�y�
�d�i�i��r$)r��htmlr=c���	tjd|�rtd��ttj��D]\}}||k(s||k(s�t|=�|t|<y)Nzns\d+$z'Prefix format reserved for internal use)�re�matchr�rrr�)rrrrs    r%rr�s`��
�
�x�x�	�6�"��B�C�C��^�)�)�+�,���1���8�q�F�{��q�!�-�!�N�3�r$r�r5�rdf�wsdl�xs�xsi�dc)�$http://www.w3.org/XML/1998/namespacezhttp://www.w3.org/1999/xhtmlz+http://www.w3.org/1999/02/22-rdf-syntax-ns#z http://schemas.xmlsoap.org/wsdl/z http://www.w3.org/2001/XMLSchemaz)http://www.w3.org/2001/XMLSchema-instancez http://purl.org/dc/elements/1.1/c�L�td|�dt|�j�d���)Nzcannot serialize z (type �))r.rdr r�s r%rr�s!��
�+/��d��1D�1D�E�
�
r$c���	d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}|S#ttf$rt|�YywxYw)N�&�&amp;r��&lt;r��&gt;��replacer.r�rr�s r%rr�so��)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��V�,�D�����~�&�)�"�4�(�)���AA�A#�"A#c�|�	d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}d	|vr|jd	d
�}d|vr|jdd�}d
|vr|jd
d�}|S#ttf$rt|�YywxYw)NrBrCr�rDr�rEr�&quot;�
z&#13;r�z&#10;�	z&#09;rFr�s r%rrs���)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��V�,�D��4�<��<�<��h�/�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D�����~�&�)�"�4�(�)�s�BB�B;�:B;c���	d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}|S#ttf$rt|�YywxYw)NrBrCr�rErrJrFr�s r%r0r0sm��	)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��4�<��<�<��h�/�D�����~�&�)�"�4�(�)�rHT)r�r�r�c��	|dk(rtj�ntj�}t|�j	||||||��|j�S)Nr��r�r�r�r�)r��StringIO�BytesIOrr��getvalue)r)r�r�r�r�r��streams       r%rr+s[���'�)�3�R�[�[�]�����F������v�x�/>�1B�&,�4H�	�J�
�?�?��r$c�,�eZdZ	d�Zd�Zd�Zd�Zd�Zy)�_ListDataStreamc��||_yr:)�lst)r2rWs  r%r4z_ListDataStream.__init__Es	����r$c��yr�r#r7s r%r�z_ListDataStream.writableH���r$c��yr�r#r7s r%r�z_ListDataStream.seekableKrYr$c�:�|jj|�yr:)rWrZ)r2�bs  r%r�z_ListDataStream.writeNs��������r$c�,�t|j�Sr:)rBrWr7s r%r�z_ListDataStream.tellQs���4�8�8�}�r$N)r r!r"r4r�r�r�r�r#r$r%rUrUCs��A�����r$rUc�`�g}t|�}t|�j||||||��|S)NrO)rUrr�)r)r�r�r�r�r�rWrSs        r%rrTsC��
�C�
�S�
!�F������v�x�/>�1B�&,�4H�	�J�
�Jr$c��	t|t�st|�}|jtjd��|j�j}|r|ddk7r tjjd�yy)Nr�)r����r�)r,rr��sys�stdoutr�r>)r?r>s  r%rrasg����d�K�(��4� ���J�J�s�z�z�I�J�.��<�<�>���D��4��8�t�#��
�
�����$r$c�����	t|t�r|j�}|dkrtd|����t	|�syd|�zzg����fd���|d�y)Nrz,Initial indentation level must be >= 0, got r�c���|dz}	�|}|jr|jj�s||_|D]D}t	|�r	�||�|j
r|j
j�r�>||_�Fj
j�s�||_yy#t$r�|�z}�j|�Y��wxYwr
)�
IndexErrorrZr=�striprBr>)r?�level�child_level�child_indentation�child�_indent_children�indentations�spaces     ���r%rkz indent.<locals>._indent_children�s�����a�i��	3� ,�[� 9��
�y�y��	�	��� 1�)�D�I��E��5�z� ���4��:�:�U�Z�Z�%5�%5�%7�.��
�	��z�z���!�%�e�,�E�J�"���	3� ,�U� 3�e� ;����� 1�2�	3�s�B)�)"C�
C)r,rr�r�rB)�treermrgrkrls ` @@r%rrtsg���
��$��$��|�|�~���q�y��G��w�O�P�P��t�9���5�5�=�(�)�L�-�,�T�1�r$c�@�	t�}|j||�|Sr:)rr)r�r�rns   r%rr�s#����=�D��J�J�v�v���Kr$c�������	t||���t�d�st�d��d�nd����fd��G���fd�dtjj
�}|�}d|_tj|��|S)	N)�events�_parserr�r�TFc3�\�K�		�j�Ed{���|jd�}|sn�j|��>�j�}�j�Ed{�����}|�||_�r|j�yy7�v7�*#�r|j�wwxYw�w)Ni@)�read_eventsr�r��_close_and_return_root�rootr�)r�r�rv�itr��
pullparser�wrs    ���r%�iteratorziterparse.<locals>.iterator�s������	��%�1�1�3�3�3��{�{�9�-��������%�
��4�4�6�D�!�-�-�/�/�/���B��~����������4��
0��
������s?�B,�B�B�A
B�'B�(B�<B,�B�B�B)�)B,c�B��eZdZW�W��jZ��fd�Zy)�$iterparse.<locals>.IterParseIteratorc�,���r�j�yyr:)r�)r2r�r�s ��r%�__del__z,iterparse.<locals>.IterParseIterator.__del__�s��������r$N)r r!r"�__next__r~)r�rzr�s���r%�IterParseIteratorr|�s����F�#�,�,��	r$r�)	rr(r��collections�abc�Iteratorrv�weakref�ref)	r�rqr�r�rwr�rzrxrys	`    @@@@r%r
r
�sy���
� �f�f�=�J��6�6�"��f�d�#�������$��K�O�O�4�4��
�	�B��B�G�	���R��B�
�Ir$c�8�eZdZd	dd�d�Zd�Zd�Zd�Zd�Zd�Zy)
rN)rrc���tj�|_|xstt	���|_|�d}|j
j
|j|�y)N�r�)�end)r��deque�
_events_queuerrrr�
_setevents)r2rqrrs   r%r4zXMLPullParser.__init__�sL��
)�.�.�0����A�)�;�=�"A����>��F������� 2� 2�F�;r$c���	|j�td��|r	|jj|�yy#t$r%}|jj|�Yd}~yd}~wwxYw)Nz!feed() called after end of stream)rrr�r��SyntaxErrorr�rZ)r2r��excs   r%r�zXMLPullParser.feed�sc��*��<�<���@�A�A��
/����!�!�$�'����
/��"�"�)�)�#�.�.��
/�s�9�	A'�A"�"A'c�H�|jj�}d|_|Sr:)rrr�)r2rvs  r%ruz$XMLPullParser._close_and_return_roots ���|�|�!�!�#������r$c�&�	|j�yr:)rur7s r%r�zXMLPullParser.closes��	�
	
�#�#�%r$c#�~K�	|j}|r*|j�}t|t�r|�|��|r�)yy�wr:)r��popleftr,�	Exception)r2rq�events   r%rtzXMLPullParser.read_eventss@����	�
�#�#����N�N�$�E��%��+������s�8=�=c�f�|j�td��|jj�y)Nz"flush() called after end of stream)rrr��flushr7s r%r�zXMLPullParser.flush$s(���<�<���A�B�B������r$r:)	r r!r"r4r�rur�rtr�r#r$r%rr�s'��
<�t�
<�/��&��r$rc�r�	|stt���}|j|�|j�S�Nr��rrr�r�)r=r�s  r%rr*s0��	���+�-�0��
�K�K����<�<�>�r$c���	|stt���}|j|�|j�}i}|j	�D]}|jd�}|s�|||<�||fS)Nr�r6)rrr�r�r�rx)r=r�rn�idsr?r6s      r%rr;si�����+�-�0��
�K�K����<�<�>�D�
�C��	�	���
�X�X�d�^��
��C��G����9�r$c��	|stt���}|D]}|j|��|j�Sr�r�)�sequencer�r=s   r%rrSs:�����+�-�0�������D����<�<�>�r$c�T�eZdZ	d
ddddd�d�Zd�Zd�Zd�Zd�Zd	�Zd
�Z	d
d�Z
d�Zy)rNF)�comment_factory�
pi_factory�insert_comments�
insert_pisc��g|_g|_d|_d|_d|_|�t
}||_||_|�t}||_	||_
|�t}||_yr:)
�_data�_elem�_lastr��_tailr�_comment_factoryr�r�_pi_factoryr�r�_factory)r2�element_factoryr�r�r�r�s      r%r4zTreeBuilder.__init__ysn����
���
���
���
���
��"�%�O� /���.�����.�J�%���$����"�%�O�'��
r$c��	|jSr:r�r7s r%r�zTreeBuilder.close�s��I��z�z�r$c���|jr^|j�Jdj|j�}|jr||j_n||j_g|_yy�Nr�)r�r��joinr�r>r=�r2r=s  r%�_flushzTreeBuilder._flush�sP���:�:��z�z�%��w�w�t�z�z�*���:�:�&*�D�J�J�O�'+�D�J�J�O��D�J�r$c�<�	|jj|�yr:)r�rZ�r2r�s  r%r�zTreeBuilder.data�s��*��
�
���$�r$c��	|j�|j||�x|_}|jr|jdj	|�n|j
�||_|jj	|�d|_|S)Nr`r)r�r�r�r�rZr�r�)r2r'�attrsr?s    r%�startzTreeBuilder.start�su��	�	
���
� �M�M�#�u�5�5��
�T��:�:��J�J�r�N�!�!�$�'�
�Z�Z�
��D�J��
�
���$����
��r$c��	|j�|jj�|_d|_|jSr
)r�r��popr�r�r�s  r%r�zTreeBuilder.end�s7��	�
	
���
��Z�Z�^�^�%��
���
��z�z�r$c�R�	|j|j|j|�Sr:)�_handle_singler�r�r�s  r%�commentzTreeBuilder.comment�s/��	��"�"��!�!�4�#7�#7��?�	?r$c�T�	|j|j|j||�Sr:)r�r�r�)r2r�r=s   r%�pizTreeBuilder.pi�s/��	�
�"�"����d�o�o�v�t�=�	=r$c��||�}|rH|j�||_|jr|jdj|�d|_|S)Nr`r)r�r�r�rZr�)r2�factoryra�argsr?s     r%r�zTreeBuilder._handle_single�sG����~����K�K�M��D�J��z�z��
�
�2��%�%�d�+��D�J��r$r:)r r!r"r4r�r�r�r�r�r�r�r�r#r$r%rresC���&(�!%�$�!&�5�(�(�
� ��"�?�=�r$rc�^�eZdZ	ddd�d�Zd�Zd�Zd�Zd�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
d�Zy)rN)r�r�c�J�	ddlm}|j	|d�}|�
t�}|x|_|_|x|_|_	|j|_i|_|j|_t|d�r|j |_t|d�r|j$|_t|d�r|j(|_t|d�r|j,|_t|d	�r|j0|_t|d
�r|j4|_t|d�r|j8|_d|_d|_d|_ i|_!	d
|jDz|_#y#t$r"	ddl}n#t$rtd��wxYwY���wxYw#tH$rYywxYw)Nr��expatz7No module named expat; use SimpleXMLTreeBuilder insteadr�r�r��start_ns�end_nsr�r�r�rzExpat %d.%d.%d)%�xml.parsersr��ImportError�pyexpat�ParserCreaterr�rrr��_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�)r2r�r�r�r�s     r%r4zXMLParser.__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�	��	�s;�E(�F�(	F�2E7�6F�7F�F�F�	F"�!F"c��|j}|j}|D]�}|dk(r d|_|||jfd�}||_�(|dk(r|||j
fd�}||_�F|dk(r6t|jd�r|||jfd�}n||fd	�}||_
��|d
k(r6t|jd�r|||jfd�}n||fd
�}||_��|dk(r|||fd�}||_
��|dk(r|||fd�}||_��td|z��y)Nr�rc�&�|||||�f�yr:r#)r'�	attrib_inr�rZr�s     r%�handlerz%XMLParser._setevents.<locals>.handler"s���E�5��i�#8�9�:r$r�c�$�||||�f�yr:r#)r'r�rZr�s    r%r�z%XMLParser._setevents.<locals>.handler's���E�3�s�8�,�-r$zstart-nsr�c�&�|||||�f�yr:r#)rrr�rZr�s     r%r�z%XMLParser._setevents.<locals>.handler.s����x���'<�=�>r$c�,�|||xsd|xsdff�yr�r#)rrr�rZs    r%r�z%XMLParser._setevents.<locals>.handler2s������"�c�i�R�'@�A�Br$zend-nsr�c�$�||||�f�yr:r#)rr�rZr�s    r%r�z%XMLParser._setevents.<locals>.handler8s����v�f�~�6�7r$c��||df�yr:r#)rr�rZs   r%r�z%XMLParser._setevents.<locals>.handler<s����t�}�-r$r�c�J�|||jj|�f�yr:)r�r�)r=r�rZr2s    r%r�z%XMLParser._setevents.<locals>.handler@s���E�4�;�;�#6�#6�t�#<�=�>r$r�c�L�|||jj||�f�yr:)r�r�)�	pi_targetr�r�rZr2s     r%r�z%XMLParser._setevents.<locals>.handlerDs���E�4�;�;�>�>�)�T�#B�C�Dr$zunknown event %r)rrrZr�r�r�r�r�r(r�r�r�r�r�r�r�r�)r2�events_queue�events_to_reportr�rZ�
event_namer�s       r%r�zXMLParser._seteventss5�������$�$��*�J��W�$�,-��)�2<�V�"&�+�+�;�.5��*��u�$�'1�&� $�	�	�.�,3��(��z�)��4�;�;�
�3�3=�f�)-���?�4>�f�C�3:��0��x�'��4�;�;��1�.8��'+�|�|�8�/9��.�18��.��y�(�(2�6��?�(/��%��t�#�3=�f�!%�E�7>��3� �!3�j�!@�A�A�U+r$c�x�t|�}|j|_|j|jf|_|�r:)r�code�lineno�offset�position)r2r{�errs   r%�_raiseerrorzXMLParser._raiseerrorKs0�������:�:����|�|�U�\�\�1����	r$c�z�	|j|}|S#t$r|}d|vrd|z}||j|<Y|SwxYw)Nr�r�)r��KeyError)r2ry�names   r%�_fixnamezXMLParser._fixnameQsU��	$��;�;�s�#�D�����	$��D��d�{��T�z��#�D�K�K�����	$�s��#:�:c�J�|jj|xsd|xsd�Sr�)r�r��r2rrs   r%r�zXMLParser._start_ns\s!���{�{�#�#�F�L�b�#�)��<�<r$c�@�|jj|xsd�Sr�)r�r�)r2rs  r%r�zXMLParser._end_ns_s���{�{�!�!�&�,�B�/�/r$c���|j}||�}i}|r/tdt|�d�D]}||dz||||�<�|jj	||�S)NrrEr)r��rangerBr�r�)r2r'�	attr_list�fixnamer0�is      r%r�zXMLParser._startbsg���-�-���c�l������1�c�)�n�a�0��09�!�A�#���w�y��|�,�-�1��{�{� � ��f�-�-r$c�V�|jj|j|��Sr:)r�r�r�r�s  r%r�zXMLParser._endns���{�{���t�}�}�S�1�2�2r$c��|dd}|dk(r1	|jj}	||j|dd�y|dk(r|dd	d
k(rg|_y|j��|dk(rd|_y|j�}|sy|jj!|�t#|j�}|dkDr�|jd}|d
k(r|dk(r|j\}}}	}
|	r$|	dd}	n|dk(r|dk(r|j\}}}
d}	nyt%|jd�r!|jj'||	|
dd�n&t%|d�rt)j*dt,�d|_yyy#t$rYywxYw#t$r�ddlm}|jd||jj|jjfz�}d|_|jj|_|jj|_
|�wxYw)NrrBr`rr�z'undefined entity %s: line %d, column %d�r��	z	<!DOCTYPEr�rE�PUBLIC��SYSTEM��doctypezaThe doctype() method of XMLParser is ignored.  Define doctype() method on the TreeBuilder target.)r�r�r�r�r�r�r�r�r��ErrorLineNumber�ErrorColumnNumberr�r�r�r�rfrZrBr(r
rHrI�RuntimeWarning)r2r=r�data_handlerr�r��nrdr��pubid�systems           r%r�zXMLParser._defaultqs���b�q����S�=�
�#�{�{�/�/��
��T�[�[��a���4�5��s�]�t�B�Q�x�;�6��D�M�
�]�]�
&���}� $��
���:�:�<�D����M�M� � ��&��D�M�M�"�A��1�u��}�}�Q�'���8�#��Q��04�
�
�-�D�$��v�� %�a�����X�%�!�q�&�)-���&�D�$�� �E���4�;�;�	�2��K�K�'�'��e�V�A�b�\�B��T�9�-��M�M�M�&�(�
!%��
�'�'��#"�
��
���

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

�s�E*�E9�*	E6�5E6�9BHc��		|jj|d�y#|j$r}|j|�Yd}~yd}~wwxYw)NF)r��Parser�r�)r2r�rs   r%r�zXMLParser.feed�sC��*�	 ��K�K���d�E�*���{�{�	 ����Q����	 �s� �A
�A�A
c�0�		|jjdd�	|jj
}|�|`|`|`|`S#|j$r}|j|�Yd}~�Kd}~wwxYw#t$rYnwxYw	|`|`|`|`y#|`|`|`|`wxYw)Nr$T)	r�rr�r�r�r�rrr�r�)r2r�
close_handlers   r%r�zXMLParser.close�s���I�	 ��K�K���c�4�(�		*� �K�K�-�-�M�!�?���T�\���T�\���{�{�	 ����Q����	 ���	��	���
��T�\���T�\����T�\���T�\�s?�A�A2�B�A/�A*�*A/�2	A>�;B�=A>�>B�
Bc�x�|jj�}	|jjd�|jjdd�|jj|�y#|j$r}|j|�Yd}~�Ad}~wwxYw#|jj|�wxYw)NFr$)r��GetReparseDeferralEnabled�SetReparseDeferralEnabledrr�r�)r2�was_enabledrs   r%r�zXMLParser.flush�s����k�k�;�;�=��	?��K�K�1�1�%�8��K�K���c�5�)�
�K�K�1�1�+�>���{�{�	 ����Q����	 ��
�K�K�1�1�+�>�s)�7A/�/B�>B�B�B�B�B9)r r!r"r4r�r�r�r�r�r�r�r�r�r�r�r#r$r%rr�sN���"&��+�Z3B�j�	�=�0�
.�3�4%�l �*�"?r$r)�out�	from_filec�$�	|�
|�td��d}|�tj�x}}tt	|j
fi|����}|�"|j
|�|j�n|�
t||��|�|j�SdS)Nz:Either 'xml_data' or 'from_file' must be provided as inputr�)r�)
r�r�rPrrr�r�r�rrR)�xml_datarr�options�sior�s      r%rr�s������I�-��U�V�V�
�C�
�{��K�K�M�!��c�
�.�s�y�y�D�G�D�
E�F������H������	�	�
�i��'� �_�3�<�<�>�6�$�6r$z	^\w+:\w+$c��eZdZ	dddddddd�d�Zefd�Zd�Zdd�Zd�Zd	jfd
�Z
d�Zd�Zdd
�Z
d�Zd�Zd�Zy)rFN)�
with_comments�
strip_text�rewrite_prefixes�qname_aware_tags�qname_aware_attrs�
exclude_attrs�exclude_tagsc�2�||_g|_||_||_|rt	|�nd|_|rt	|�nd|_||_|rt	|�|_nd|_|rt	|�j|_
nd|_
dgg|_g|_|s6|jjttj!���|jjg�i|_dg|_d|_d|_d|_d|_y)N)r>r�Fr)�_writer��_with_comments�_strip_textr|�_exclude_attrs�
_exclude_tags�_rewrite_prefixes�_qname_aware_tags�intersection�_find_qname_aware_attrs�_declared_ns_stack�	_ns_stackrZrrr��_prefix_map�_preserve_space�_pending_start�
_root_seen�
_root_done�_ignored_depth)	r2r�r$r%r&r'r(r)r*s	         r%r4zC14NWriterTarget.__init__s�������
�+���%���4A�c�-�0�t���2>�S��.�D���!1����%(�)9�%:�D�"�%)�D�"��+.�/@�+A�+N�+N�D�(�+/�D�(�
<�$
�#��������N�N�!�!�$�~�';�';�'=�">�?������b�!���� %�w���"�����������r$c#�DK�||�D]}|s�|Ed{����y7��wr:r#)r2�ns_stack�	_reversedrls    r%�_iter_namespacesz!C14NWriterTarget._iter_namespaces(s$����#�H�-�J��%�%�%�.�%�s� � �� c��|jdd�\}}|j|j�D]\}}||k(s�d|�d|��cStd|�d|�d���)Nr�rr�r�zPrefix z of QName "�" is not declared in scope)�splitr@r6r�)r2�
prefixed_namerr�r�ps      r%�_resolve_prefix_namez%C14NWriterTarget._resolve_prefix_name-sl��$�*�*�3��2�����+�+�D�N�N�;�F�C���F�{��C�5��4�&�)�)�<��7�6�(�+�m�_�D^�_�`�`r$c���|�%|dddk(r|ddjdd�nd|f\}}n|}t�}|j|j�D]/\}}||k(r||vr|r|�d|��n|||fcS|j	|��1|j
ro||jvr|j|}n'dt|j���x}|j|<|jdj||f�|�d|��||fS|s	d|vr|||fS|j|j�D]:\}}||k(s�|jdj||f�|r|�d|��n|||fcS|s|||fStd|�d	���)
Nrr�r�r�r�rr`zNamespace "rB)r�r|r@r5�addr1r7rBrZr6r�)r2rrr'�
prefixes_seen�urs       r%�_qnamezC14NWriterTarget._qname4s����;�38��!�9��3C�u�Q�R�y�'�'��Q�/�"�e��H�C���C���
��.�.�t�/F�/F�G�I�A�v��C�x�F�-�7�,2�&���3�%�(��S�#�E�E����f�%�H��!�!��d�&�&�&��)�)�#�.��34�S��9I�9I�5J�4K�1L�L���)�)�#�.��#�#�B�'�.�.��V�}�=��X�Q�s�e�$�c�3�.�.��r��.���S�=� ��.�.�t�~�~�>�I�A�v��C�x��'�'��+�2�2�C��=�A�,2�&���3�%�(��S�#�E�E�?�
���S�=� ��;�s�e�+E�F�G�Gr$c�T�|js|jj|�yyr:)r<r�rZr�s  r%r�zC14NWriterTarget.dataYs"���"�"��J�J���d�#�#r$r�c��||j�}|jdd�=|jr|jds|j�}|j�<|jdc}|_|r
t|�r|nd}|jg|�|���|�y|r(|jr|jt|��yyy�Nr`)
r�r.r8rfr9�_looks_like_prefix_namer�r:r,�_escape_cdata_c14n)r2�
_join_textr�r��
qname_texts     r%r�zC14NWriterTarget._flush]s����$�*�*�%���J�J�q�M����D�$8�$8��$<��:�:�<�D����*�(,�(;�(;�T�%�D�$�%�!%�*A�$�*G��T�J��D�K�K�*��*�z�*��%���D�O�O��K�K�*�4�0�1�$�4r$c��|jry|jr|j�|jdj	||f�yrN)r<r�r�r6rZr�s   r%r�zC14NWriterTarget.start_nsks9�������:�:��K�K�M����r��!�!�3��-�0r$c�^�|j�0|js||jvr|xjdz
c_y|jr|j�g}|jj|�|j�||jvr|||f|_y|j|||�yr
)	r0r<r�r�r5rZr2r9r�)r2r'r��new_namespacess    r%r�zC14NWriterTarget.startss������)��#�#�s�d�.@�.@�'@����1�$����:�:��K�K�M������&�&�~�6��!�!�-�#��9O�9O�2O�#&��~�">�D������C���/r$c��|j�4|r2|j�D��cic]\}}||jvs�||��}}}|h|�}i}|�'|j|�x}	||<|j|	�|j�X|rV|j	|�}
|
r@|
D]:}||}t|�s�|j|�x}	||<|j|	��<nd}
nd}
|j}
t|d���D�cic]}||
|���
}}|r.|D��cgc]\}}|rd|znd|f��}}}|j�ng}|rVt|j��D]:\}}|
�||
vr||vr|||d}||\}}}|j|r|n||f��<|jd�}|jj|r|dk(n|jd�|j}|d	||dz�|r:|d
j|D��cgc]\}}d|�dt|��d
���c}}��|d�|�|t|||d��d|_|j"jg�ycc}}wcc}wcc}}wcc}}w)Nc�&�|jdd�S)Nr�r)rC)rs r%r�z)C14NWriterTarget._start.<locals>.<lambda>�s��!�'�'�#�q�/r$rzxmlns:�xmlnsrz+{http://www.w3.org/XML/1998/namespace}space�preserver`r�r�r�rrr�T)r/r�rFrHr4rOrKr�sortrZrxr8r,r��_escape_attrib_c14nrPr:r6)r2r'r�rUrRrrr��resolved_namesr�qattrs�	attr_namer{�parse_qnamer�
parsed_qnamesrrr�
attr_qname�space_behaviourr�s                      r%r�zC14NWriterTarget._start�s������*�u�&+�k�k�m�T�m�d�a��q��@S�@S�7S�Q��T�m�E�T���������!�15�1J�1J�:�1V�V�E�N�:�.��J�J�u���'�'�3���1�1�%�8�F��!'�I�!�)�,�E�.�u�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�{�{�}�-���1��%�!�v�+�!�~�:M�%�n�Q�&7�8��;�A�-:�1�-=�*�
�I�s�� � ��*��A�!F�G�.� �)�)�$Q�R�����#�#�-<�O�z�)��%�%�b�)�	+�
����
�c�M�#�&�q�)�)�*���"�'�'�)�T�)�$�!�Q�Q�q�c��$7��$:�#;�1�=�)�T�U�V�
�c�
��!��$�]�>�*�3M�%N�q�%Q�R�S���������b�!��CU��04��
��8Us�I/�I/�3I5�I:�Jc��|jr|xjdzc_y|jr|j�|jd|j	|�d�d��|j
j
�t|j
�dk(|_|jj
�|jj
�y)Nrrrr�)r<r�r�r,rKr8r�rBr;r5r6r�s  r%r�zC14NWriterTarget.end�s���������1�$����:�:��K�K�M����b����S�)�!�,�-�Q�/�0���� � �"��d�2�2�3�q�8������#�#�%������r$c�<�|jsy|jry|jr|jd�n(|jr|j
r|j
�|jdt|��d��|js|jd�yy)Nr�z<!--z-->)r-r<r;r,r:r�r�rPr�s  r%r�zC14NWriterTarget.comment�sw���"�"�������?�?��K�K���
�_�_�����K�K�M����d�-�d�3�4�C�8�9�����K�K���r$c�8�|jry|jr|jd�n(|jr|jr|j�|j|rd|�dt
|��d�nd|�d��|js|jd�yy)Nr�z<?r�z?>)r<r;r,r:r�r�rP)r2r�r�s   r%r�zC14NWriterTarget.pi�s��������?�?��K�K���
�_�_�����K�K�M����:>�b����,�T�2�3�2�6�b���PR�O�	U�����K�K���r$r:)r r!r"r4�reversedr@rFrKr�r�r�r�r�r�r�r�r�r#r$r%rr�sj���, %���"&�$�#�$�# �J4<�&�
a�#H�J$�!#���2�1�0�"C"�J
��
r$rc��	d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}|S#ttf$rt|�YywxYw)	NrBrCr�rDr�rErK�&#xD;rFr�s r%rPrP�s���)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��V�,�D��4�<��<�<��g�.�D�����~�&�)�"�4�(�)�s�AA�A9�8A9c�P�	d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}d|vr|jdd�}d	|vr|jd	d
�}d|vr|jdd�}|S#ttf$rt|�YywxYw)
NrBrCr�rDrrJrLz&#x9;r�z&#xA;rKrhrFr�s r%r[r[s���)��$�;��<�<��W�-�D��$�;��<�<��V�,�D��$�;��<�<��X�.�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D��4�<��<�<��g�.�D�����~�&�)�"�4�(�)�s�BB�B%�$B%)r�)�_set_factoriesr:r�)z  r)?�__all__rrar7rHr�r��collections.abcr�r�r�rr�rr	rrrrr
rr�contextmanagerr�r�rr1r/r�r�rrrrrr0rr�rUrrrrr
rrrrrrrr�compile�UNICODEr8rOrrPr[rc�_elementtreerjr�r#r$r%�<module>rqs��!�P��(��
�	��	������		��		�#�
^�^�B	$&��$�� ��+"�+"�`\/�\/�B���/+��/+�b;�z0(�d�
�0(�d�����
�!�*-2�$*�38�(.�(,�16�(,���%3��!�
�
)� )�8)��!�T�"&��0�b�'�'��"
�!%��&*�
��&/�l�5�p7�7�t�"�,�
�
�$v�v�th?�h?�Z7�t�t�7�<%�"�*�*�\�2�:�:�>�D�D����D)�&)�.3��K��+��7�1�2���	��	�s�
E+�+E3�2E3

?>