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/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_pyexpat.cpython-315.opt-1.pyc
R
>lqj��c��]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]QH$G
s
]QH,Gs]QH4GsGs]QH4Gs]QHGs]QHHGs]QHPGsQQ	\O,2sQ
sQQ\O,2sQ
Q\O,2sQQ\O,2sQQ\O,2sQQ\O,2sQQ\O,2sQQ\O,2sQQ\O,2s QQ\O,2s!QQ\O,2s"QQ \O,2s#Q!Q"\O,2s$Q#Q$\O,2s%Q%Q&\O,2s&Q'Q(\O,2s'Q)Q*\OP2s)\OT\OVQ36Q+2Q,Q-\)\O,22s,\OT\-\O\Q.2%(Q/2Q0Q1\)\O,22s/\0Q26Xc\Ob2P!P!)4�)�BytesIO)�support)�
import_helper�	os_helper)�sortdict)�mock)�expat)�errorsc�F`�\sQs]snQsQsQsQsQsQs	Qs
UsP!)�SetAttributeTestc�@�[OQQ5UmP!��!��namespace_separator)r�ParserCreate�parser��selfs&�&C:\Python315\\Lib\test\test_pyexpat.py�setUp�SetAttributeTest.setUps���(�(�S�A���c���UOUOOP
2QFDBoVOmUOUOO[U22JD	P!�F)r��r)�assertIsr�buffer_text�bool�r�xs& r�test_buffer_text�!SetAttributeTest.test_buffer_textsJ���
�
�d�k�k�-�-�u�5��A�&'�K�K�#��M�M�$�+�+�1�1�4��7�;�rc���UOUOOP
2QFDBoVOmUOUOO[U22JD	P!r)rr�namespace_prefixesrr s& r�test_namespace_prefixes�(SetAttributeTest.test_namespace_prefixes �J���
�
�d�k�k�4�4�e�<��A�-.�K�K�*��M�M�$�+�+�8�8�$�q�'�B�rc���UOUOOP
2QFDBoVOmUOUOO[U22JD	P!r)rr�ordered_attributesrr s& r�test_ordered_attributes�(SetAttributeTest.test_ordered_attributes&r(rc���UOUOOP
2QFDBoVOmUOUOO[U22JD	P!r)rr�specified_attributesrr s& r�test_specified_attributes�*SetAttributeTest.test_specified_attributes,sJ���
�
�d�k�k�6�6��>��A�/0�K�K�,��M�M�$�+�+�:�:�D��G�D�rc�b�UO[29^tt^2]UOmPPP2UO[29^tt^2UOOPPP2UO[[
UO[
]2]2UO[UOO[
]2]2UO[[UO[
]22P!)%fhK�9h)%fhK�9h�r)	�assertRaises�AttributeErrorr�returns_unicode�	TypeError�setattr�range�__setattr__�getattrrs&r�test_invalid_attributes�(SetAttributeTest.test_invalid_attributes2s���
�
�
�~�
.�
.�*+�D�K�K�'�/�
�
�
�~�
.�
.��K�K�'�'�/�	
���)�W�d�k�k�5��:�q�I����)�T�[�[�%<�%<�e�C�j�!�L����)�W�d�k�k�5��:�F�/�
.��
.�
.�s#�D�D�D	�D	�D.	�'D.	)r)�__name__�
__module__�__qualname__�__firstlineno__rr"r&r+r/r;�__static_attributes__�__classdictcell__��
__classdict__s@rrrs.����B�<�C�C�E�	G�	Grrs�<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<?xml-stylesheet href="stylesheet.css"?>
<!-- comment data -->
<!DOCTYPE quotations SYSTEM "quotations.dtd" [
<!ELEMENT root ANY>
<!ATTLIST root attr1 CDATA #REQUIRED attr2 CDATA #IMPLIED>
<!NOTATION notation SYSTEM "notation.jpeg">
<!ENTITY acirc "&#226;">
<!ENTITY external_entity SYSTEM "entity.file">
<!ENTITY unparsed_entity SYSTEM "entity.file" NDATA notation>
%unparsed_entity;
]>

<root attr1="value1" attr2="value2&#8000;">
<myns:subelement xmlns:myns="http://www.python.org/namespace">
     Contents of subelements
</myns:subelement>
<sub2><![CDATA[contents of CDATA section]]></sub2>
&external_entity;
&skipped_entity;
�
</root>
c�``�\sQs]YsnQQ2s,QNNsQsQsQsQs	Qs
Qs\OQ	,Q
MQMQMQ
MQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQMQ MQ!MQ"MQ#MQ$MQ%MQ&MQ'MQ(MQ)MQ*MQ+MQ,MQ-MQ.MQ/MQ0MQ1MQ2MQ3MQ4MQ5MQ6MQ7MQ8MQ9MQ:MQ;MQ<MQ=MQ>MQ?MQ@MQAMQBMQCM2QD2s\OQ	,QON2QE2s\OQ	,QPN2QF2s\OQ	,QQN2QG2s\OQ	QHQI,2QJ2sQKsQLsQMsUsP!)R�	ParseTestc�`�\sQs]ZsnQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsUsP!)�ParseTest.Outputterc��,UmP!�N��outrs&r�__init__�ParseTest.Outputter.__init__[s	���D�Hrc��UOOQ[U2*Q*[U2*2P!)zStart element: � )rL�append�reprr�r�name�attrss&&&r�StartElementHandler�'ParseTest.Outputter.StartElementHandler^s/���H�H�O�O�-��T�
�:�S�@�$�U�O�,�
-rc�^�UOOQ[U2*2P!)z
End element: �rLrQrR�rrTs&&r�EndElementHandler�%ParseTest.Outputter.EndElementHandlerbs���H�H�O�O�O�d�4�j�8�9rc��UO2oU%c.UOOQ[U2*2P!P!)�Character data: )�striprLrQrR�r�datas&&r�CharacterDataHandler�(ParseTest.Outputter.CharacterDataHandleres/���:�:�<�D������� 2�T�$�Z� ?�@�rc��UOOQ[U2*Q*[U2*2P!)zPI: rPrY)r�targetras&&&r�ProcessingInstructionHandler�0ParseTest.Outputter.ProcessingInstructionHandlerjs)���H�H�O�O�F�T�&�\�1�C�7�$�t�*�D�Erc��UOOQ[U2*Q*[U2*2P!)z	NS decl: rPrY)r�prefix�uris&&&r�StartNamespaceDeclHandler�-ParseTest.Outputter.StartNamespaceDeclHandlerms)���H�H�O�O�K�$�v�,�6��<�t�C�y�H�Irc�^�UOOQ[U2*2P!)zEnd of NS decl: rY)rris&&r�EndNamespaceDeclHandler�+ParseTest.Outputter.EndNamespaceDeclHandlerps���H�H�O�O�.��f��=�>rc�>�UOOQ2P!)�Start of CDATA section�rLrQrs&r�StartCdataSectionHandler�,ParseTest.Outputter.StartCdataSectionHandlerss���H�H�O�O�4�5rc�>�UOOQ2P!)�End of CDATA sectionrrrs&r�EndCdataSectionHandler�*ParseTest.Outputter.EndCdataSectionHandlervs���H�H�O�O�2�3rc�^�UOOQ[U2*2P!)z	Comment: rY�r�texts&&r�CommentHandler�"ParseTest.Outputter.CommentHandlerys���H�H�O�O�K�$�t�*�4�5rc�P�Uvq#qEUOOQU802P!)zNotation declared: rr)r�argsrT�base�sysid�pubids&*    r�NotationDeclHandler�'ParseTest.Outputter.NotationDeclHandler|s��'+�$�D���H�H�O�O�d�<�=rc�R�Uvq#qEoUOOQU802P!)zUnparsed entity decl: rr)rr�
entityNamer��systemId�publicId�notationNames&*     r�UnparsedEntityDeclHandler�-ParseTest.Outputter.UnparsedEntityDeclHandler�s!��AE�>�J�h�,��H�H�O�O��?�@rc�>�UOOQ2]!)�Not standalonerrrs&r�NotStandaloneHandler�(ParseTest.Outputter.NotStandaloneHandler�s���H�H�O�O�,�-�rc�^�Uvq#qEUOOQUQ*802]!)zExternal entity ref: :rNNrr)rr�contextr��sysId�pubIds&*    r�ExternalEntityRefHandler�,ParseTest.Outputter.ExternalEntityRefHandler�s&��*.�'�G�5��H�H�O�O��R��B�C�rc�B�UOOQU12]!)�
Start doctyperr�rrs&*r�StartDoctypeDeclHandler�+ParseTest.Outputter.StartDoctypeDeclHandler�s���H�H�O�O�_�d�3�4�rc�>�UOOQ2]!)�End doctyperrrs&r�EndDoctypeDeclHandler�)ParseTest.Outputter.EndDoctypeDeclHandler�s���H�H�O�O�M�*�rc�B�UOOQU12]!)�Entity declarationrrr�s&*r�EntityDeclHandler�%ParseTest.Outputter.EntityDeclHandler�s���H�H�O�O�1�4�8�9�rc�B�UOOQU12]!)�XML declarationrrr�s&*r�XmlDeclHandler�"ParseTest.Outputter.XmlDeclHandler�s���H�H�O�O�.��5�6�rc�B�UOOQU12]!)�Element declarationrrr�s&*r�ElementDeclHandler�&ParseTest.Outputter.ElementDeclHandler�s���H�H�O�O�2�D�9�:�rc�B�UOOQU12]!)�Attribute list declarationrrr�s&*r�AttlistDeclHandler�&ParseTest.Outputter.AttlistDeclHandler�s���H�H�O�O�9�4�@�A�rc�B�UOOQU12]!)�Skipped entityrrr�s&*r�SkippedEntityHandler�(ParseTest.Outputter.SkippedEntityHandler�s���H�H�O�O�-�t�4�5�rc��P!rJ��r�userDatas&&r�DefaultHandler�"ParseTest.Outputter.DefaultHandler����rc��P!rJr�r�s&&r�DefaultHandlerExpand�(ParseTest.Outputter.DefaultHandlerExpand�r�rrK)r=r>r?r@rMrVr[rbrfrkrnrsrwr|r�r�r�r�r�r�r�r�r�r�r�r�r�rArBrCs@r�	OutputterrHZs�����	�	-�	:�	A�
	F�	J�	?�	6�	4�	6�	>�	A�	�	�
	�	�	�	�	�	�	�	�	�	rr�c
�Z�UOFDo[V[V#22J	P!)zc
Set each of the callbacks defined on handler and named in
self.handler_names on the given parser.
)�
handler_namesr7r:)rr�handlerrTs&&& r�_hookup_callbacks�ParseTest._hookup_callbacks�s#��
�&�&�D��F�'�'�"8�9�'rc�2�,QNoUOV2P!)r�))r�)�1.0�
iso-8859-1rz,PI: 'xml-stylesheet' 'href="stylesheet.css"'zComment: ' comment data 'r�)r�)�
quotationszquotations.dtdNr)r�)�root)rrNr�)r�)r��attr1�CDATANr)r�)r��attr2r�Nrz<Notation declared: ('notation', None, 'notation.jpeg', None))r�)�acircr�âNNNN)r�)�external_entityrNNzentity.fileNNzPUnparsed entity decl: ('unparsed_entity', None, 'entity.file', None, 'notation')r�r�u?Start element: 'root' {'attr1': 'value1', 'attr2': 'value2ὀ'}z1NS decl: 'myns' 'http://www.python.org/namespace'z>Start element: 'http://www.python.org/namespace!subelement' {}z)Character data: 'Contents of subelements'z9End element: 'http://www.python.org/namespace!subelement'zEnd of NS decl: 'myns'zStart element: 'sub2' {}rqz+Character data: 'contents of CDATA section'rvzEnd element: 'sub2'z0External entity ref: (None, 'entity.file', None))r�)�skipped_entityruCharacter data: 'µ'�End element: 'root')�assertEqual)r�
operations�expected_operationss&& r�_verify_parse_output�ParseTest._verify_parse_output�s��!
��D	
����9rc��UO2o[OQQ5oUOV!2UO	[
P	2UOoUOU2UO[[UQ2P!)rru�)r�rrr��ParserarLr�r3r4r:�rrLrr�s&   r�test_parse_bytes�ParseTest.test_parse_bytes�se���n�n����#�#��<�����v�+����T�4� ��W�W�
��!�!�*�-����.�'�6�8�Drc��UO2o[OQQ5oUOV!2UO	[
O
Q2P	2UOoUOU2P!)rrr�)	r�rrr�r�ra�decoderLr�r�s&   r�test_parse_str�ParseTest.test_parse_str�sZ���n�n����#�#��<�����v�+����T�[�[��.��5��W�W�
��!�!�*�-rc���UO2o[OQQ5oUOV!2[	[
2oUO
U2UOoUOU2P!r
)	r�rrr�rra�	ParseFilerLr�)rrLr�filer�s&    r�test_parse_file�ParseTest.test_parse_file�sZ���n�n����#�#��<�����v�+��t�}��������W�W�
��!�!�*�-rc��[O2o[[2oUO	U2UO[O29^tt^2oUO	U2PPP2UO[OWOO2[OO2P!)%fhKd9hrJ)
rrrrar�r3�errorr��ErrorString�	exception�coder	�XML_ERROR_FINISHED)rrr��cms&   r�test_parse_again�ParseTest.test_parse_again
s����#�#�%���t�}��������
�
�u�{�{�
+�
+�r����T�"�,�����*�*�2�<�<�+<�+<�=��,�,�9�9�	;�,�
+�s�C�C	�C	�encoding�utf-8�utf-16�utf-16be�utf-16lez	iso8859-1z	iso8859-2z	iso8859-3z	iso8859-4�	iso8859-5z	iso8859-6z	iso8859-7z	iso8859-8z	iso8859-9z
iso8859-10z
iso8859-13z
iso8859-14z
iso8859-15z
iso8859-16�cp437�cp720�cp737�cp775�cp850�cp852�cp855�cp856�cp857�cp858�cp860�cp861�cp862�cp863�cp865�cp866�cp869�cp874�cp1006�cp1125�cp1250�cp1251�cp1252�cp1253�cp1254�cp1255�cp1256�cp1257�cp1258�mac-cyrillicz	mac-greekzmac-icelandz
mac-latin2z	mac-romanzmac-turkishzkoi8-rzkoi8-t�koi8-u�kz1048�ptcp154c�j�UO2o[O2oUOV22QO	UQ2OU2]*oQUQUQ0O	U2oUO
UP	2UOUOQQUP11QQU80Q	,2P!)
u
éπяא،€�ignore�<?xml version="1.0" encoding="z
"?>
<root>z</root>r�r�zStart element: 'root' {}r^r�)	r�rrr��encoder�r�r�rL)rr�rLr�cras&&    r�test_supported_encodings�"ParseTest.test_supported_encodingss����n�n����#�#�%�����v�+�#�*�*�8�X�>�E�E�h�O�PQ�R��0��
�;���7�$�%+�V�H�%5�	
����T�4� �������
���"� 5�6�&��q�e�$�!�	#
�	rc��UO2o[O2oUOV22QUQ0O	U2oUOUP	2UO
UOQQUP11QQQQ,2P!)ruf"?>
<!-- коментар --><корінь атрибут="значення">зміст</корінь>r�r�uComment: ' коментар 'uDStart element: 'корінь' {'атрибут': 'значення'}uCharacter data: 'зміст'uEnd element: 'корінь')r�rrr�rr�r�rL)rr�rLrras&&   r�test_supported_encodings2�#ParseTest.test_supported_encodings23s���
�n�n����#�#�%�����v�+�0��
�;\�\�]c�]c�dl�]m�	
�	���T�4� �������
���"� 5�6�+�R�*�)�#
�	rc���[O2oQUQ0OU2oUO[29^tt^2UOUP	2PPP2[O2oQUQ0O2oUO[29^tt^2UOUP	2PPP2P!)%fhKs9h)%fhP!9h�r�"?>
<root></root>)rrrr3�
ValueErrorr��rr�rras&&  r�test_unsupported_encodings�$ParseTest.test_unsupported_encodingsGs����#�#�%��0��
�; � �!'���!1�	
�
�
�
�z�
*�
*��L�L��t�$�+��#�#�%��0��
�; � �!'���	
�
�
�
�z�
*�
*��L�L��t�$�+�
*�
+�
*��+�
*�
*�s$�	C�*C�C	�C	�C+	�#C+	c��[O2oQUQ0OU2oUO[O29^tt^2UOUP	2PPP2[O2oQUQ0O2oUO
[OQ29^tt^2UOUP	2PPP2P!)%fhK~9h)%fhP!9h)rrzunknown encoding)rrrr3�
ExpatErrorr��assertRaisesRegexr!s&&  r�test_incompatible_encodings�%ParseTest.test_incompatible_encodings^s����#�#�%��0��
�; � �!'���!1�	
�
�
�
�u�/�/�
0�
0��L�L��t�$�1��#�#�%��0��
�; � �!'���	
�
�
#�
#�E�$4�$4�6H�
I�
I��L�L��t�$�J�
I�
1�
0��J�
I�
I�s$�C�?C/�C,	�%C,	�/D	�8D	�	hex_codec�rot_13c���[O2oQUQ0O2oUO[29^tt^2UOUP	2PPP2P!)%fhP!9hr)rrrr3�LookupErrorr�r!s&&  r�test_non_text_encodings�!ParseTest.test_non_text_encodingsps]���#�#�%��0��
�; � �!'���	
�
�
�
�{�
+�
+��L�L��t�$�,�
+�
+�
+�s�A%�%A6	�.A6	c���[O2oQoUO[29^tt^2UO	UP	2PPP2P!)%fhP!9h)s8<?xml version="1.0" encoding="undefined"?>
<root></root>)rrr3�UnicodeErrorr��rrras&  r�test_undefined_encoding�!ParseTest.test_undefined_encodingzsC���#�#�%��K��
�
�
�|�
,�
,��L�L��t�$�-�
,�
,�
,���A�A$	�A$	c���[O2oQoUO[29^tt^2UO	UP	2PPP2P!)%fhP!9h)s2<?xml version="1.0" encoding="xyz"?>
<root></root>)rrr3r,r�r1s&  r�test_unknown_encoding�ParseTest.test_unknown_encoding�sC���#�#�%��E��
�
�
�{�
+�
+��L�L��t�$�,�
+�
+�
+�r4r�)rVr[rbrfr�r�rkrnr|rsrwr�r�r�r�r�r�r�r�r�r�r�)
�UTF-8r�r�r�r�rrrr�r)zUTF-7z
Big5-HKSCS�Big5�cp932�cp949�cp950zEUC_JIS-2004�EUC_JISX0213zEUC-JPzEUC-KR�GB18030�GB2312�GBKzISO-2022-KR�johab�	Shift_JISzShift_JIS-2004�Shift_JISX0213)
�cp037�cp273�cp424�cp500�cp864�cp875�cp1026�cp1140�
mac_arabic�	mac_farsi)r=r>r?r@r�r�r�r�r�r�r�r�r�subTestsrrr"r'r-r2r6rArBrCs@rrFrFYsC����S�S�j

�M�:�#:�J
E�.�
.�
;�
���j�
#��
#��
#�%�
#�'1�
#��
#� �
#�"-�
#�/:�
#�<G�
#�	�
#�!�
#�#.�
#�0;�
#�=I�
#�	�	
#�#�	
#�%1�	
#�3?�	
#�
	�
#�
�
#�
"�
#�
$+�
#�
-4�
#�
6=�
#�	�

#��

#�"�

#�$+�

#�-4�

#�6=�

#�?F�

#�	�
#��
#�"�
#�$+�
#�-4�
#�6>�
#�@H�
#�	�
#��
#�%�
#�'/�
#�19�
#�;C�
#�	�
#��
#�%�
#�	�
#�$�
#�&3�
#�5A�
#�	�
#�#�
#�	�
#��
#�%�
#�'/�
#�1:�
#�
�
�
�
�
���j�#���	�� 
���j�	#�	�%�	�%�
���j�#��
%��
%�
���j��X�#��%��%�%�%�%rrFc�4`�\sQsQsnQsQsQsQsUsP!)�NamespaceSeparatorTest�c��[O2[OPQ5[OQQ5P!)NrrP�rrrs&r�
test_legal�!NamespaceSeparatorTest.test_legal�s,��	����
���t�4�
���s�3rc�b�UO[Q29^tt^2[O]*Q5PPP2[OQQ5UO	2P!)%fhK:9h[
c'oSO
[S2Q2Po=P!Po=hh9h)zPParserCreate\(\) argument (2|'namespace_separator') must be str or None, not intrztoo longzCnamespace_separator must be at most one character, omitted, or None)r&r6rr�failr r��str)r�es& r�test_illegal�#NamespaceSeparatorTest.test_illegal�s���
�
#�
#�I�0�1�1�
���2�6�1�
	W����:�>��I�I�K�1�1���	W����S��V�U�
W�
W��	W�s/�A*�'A=�*A:	�3A:	�=	B.�B.�B)�)B.c�6�[OPQ5P!)�rrSrs&r�test_zero_length�'NamespaceSeparatorTest.test_zero_length�s��	���r�2rr�)	r=r>r?r@rTrZr^rArBrCs@rrPrP�s����4�W�	3�	3rrPc�.`�\sQsQsnQsQsQsUsP!)�
InterningTest�c�`�[O2o,nU1QkoV!mV!mUO	QP	2R]*oUO[
R2]2RFDoUOV4I2J	P!)c�,:�ROU2P!rJ�rQ)rTr�Ls&*�r�	collector�%InterningTest.test.<locals>.collector�s���
�H�H�T�Nrs<e> <e/> <e></e> </e>)rrrVr[r�r��len�
assertTrue)r�prg�tag�entryrfs&    @r�test�InterningTest.test�sk������ ����	� )��'��	���(�$�/���d������Q���#��E��O�O�C�L�)�rc���QQ2o[OQQ5o]UmUU2oUOUmUO	[
P	2UO
UO]2P!)c�.`�\sQsQsnQsQsQsUsP!)�7InterningTest.test_issue9402.<locals>.ExternalOutputter�c�"�VmPUmP!rJ�r�
parser_result�rrs&&rrM�@InterningTest.test_issue9402.<locals>.ExternalOutputter.__init__�s��$��%)��"rc�l�UOOP2oUOQP	2Um]!)r]r)r�ExternalEntityParserCreater�rv)rr�r�r�r��external_parsers&&&&& rr��PInterningTest.test_issue9402.<locals>.ExternalOutputter.ExternalEntityRefHandler�s.��"&�+�+�"H�"H��"L��%4�%:�%:�3��%E��"�rru)r=r>r?r@rMr�rArBrCs@r�ExternalOutputterrr�s����
*�
�
rr}rr)rrrr�r�rar�rv)rr}rrLs&   r�test_issue9402�InterningTest.test_issue9402�sb��	�	��#�#��<�������'��*-�*F�*F��'����T�4� �����*�*�A�.rr�)r=r>r?r@rnr~rArBrCs@rrara�s����
*�/�/rrac�`�\sQsQsnQsQsQsQsQsQs	,1Qks
Q	sQ
sQs
QsQ
sQsQsQsQsQsQsUsP!)�BufferTextTest��c��,Um[O2Um]UOmUO
UOmP!r2)�stuffrrrrrbrs&rr�BufferTextTest.setUp�s7����
��(�(�*���"#�����+/�+D�+D����(rc��UOUOUU8QUO8Q[[U2802P!)z
stuff    = z
expected = )r�r��maprX)r�expected�labels&&&r�check�BufferTextTest.check�s/��������X��$�*�*�c�#�x�&8�:�	;rc�>�UOOU2P!rJ�r�rQrzs&&rrb�#BufferTextTest.CharacterDataHandler�s���
�
���$�rc���UOOQU*2UOQ2oUQ6Xc]UOmP!UQ6Xc]UOmP!P!)z<%s>zbuffer-text�yes�no)r�rQ�getrr)rrTrU�bts&&& rrV�"BufferTextTest.StartElementHandler�sQ���
�
���&�4�-�(�
�Y�Y�}�
%��
��;�&'�D�K�K�#�
�4�Z�&'�D�K�K�#�rc�L�UOOQU*2P!)z</%s>r�rZs&&rr[� BufferTextTest.EndElementHandler�s���
�
���'�D�.�)rc�L�UOOQU*2P!)z	<!--%s-->r�r`s&&rr|�BufferTextTest.CommentHandler�s���
�
���+��,�-rc
�\�SFD#o[UOU[V22J%	P!rJ)r7rr:)r�handlersrTs&& r�setHandlers�BufferTextTest.setHandlers�s!���D��D�K�K��w�t�':�;�rc�h�[O2oUOUO2P!rJ)rr�assertFalserrws& r�test_default_to_disabled�'BufferTextTest.test_default_to_disabled�s$���#�#�%������+�+�,rc���UOUOO2UOOQP	2UO	UO
Q,Q2P!)�<a>1<b/>2<c/>3</a>�123�$buffered text not properly collapsed)rjrrr�r�r�rs&r�test_buffering_enabled�%BufferTextTest.test_buffering_enabled�sI��������/�/�0������/��6�������e�W�?�	Arc��UOQ,2UOOQP	2UOUO,QNQ2P!)rVs9<a>1<b buffer-text='no'/>2
3<c buffer-text='yes'/>4
5</a>z*buffering control not reacting as expected)�<a>�1�<b>�2�
�3�<c>z4
5�r�rr�r�r�rs&r�test1�BufferTextTest.test1�sG��	
���/�0�1������X�Z^�_�������K�E�	Grc�|�UOOQP	2UOUOQ,Q2P!)s&<a>1<b/>&lt;2&gt;<c/>&#32;
&#x20;3</a>z1<2> 
 3r�)rr�r�r�rs&r�test2�BufferTextTest.test2s3�������D�d�K�������k�]�?�	Arc��UOQ,2UOOQP	2UOUO,QNQ2P!)rVr�� buffered text not properly split)r�r�r�r�r�r�r�rs&r�test3�BufferTextTest.test3sC�����/�0�1������/��6�������%I�;�	=rc���UOQQ,2PUOmUOOQP	2UO	UO
,QN2P!)rVr[r�)r�r��</b>r��</c>�</a>)r�rrbr�r�r�rs&r�test4�BufferTextTest.test4sP�����/�1D�E�F�+/����(������/��6�������F�	Hrc��UOQQ,2UOOQP	2UOUO,QN2P!)rVr[s<a>1<b></b>2<c/>3</a>)	r�r�r�r�r�r�r�r�r�r�rs&r�test5�BufferTextTest.test5sD�����/�1D�E�F������2�D�9�������H�	Jrc��UO,QN2UOOQP	2UOUO,QNQ2P!)r|s<a>1<b/>2<c></c>345</a> r��r|r[rV)	r�r�r�r�r�r�r��345r�r�rs&r�test6�BufferTextTest.test6sD�����+�	,������5�t�<�������J�.�	0rc��UO,QN2UOOQP	2UOUO,QNQ2P!)r|�,<a>1<b/>2<c></c>3<!--abc-->4<!--def-->5</a> r�r�)
r�r�r�r�r�r�r�r�z
<!--abc-->�4z
<!--def-->�5r�r�rs&r�test7�BufferTextTest.test7!sG�����+�	,������I�4�P�������H�;�	=rc�`�U1Qko[OUQ5o[O2nURmROQP	2UO
2UORO2P!)c�:�PRmP!rJ)rb)rrs*�rr��NBufferTextTest.test_change_character_data_handler_in_callback.<locals>.handler-s���*.�F�'r)�wrapsr�)r�Mockrrrbr��assert_called_once�assertIsNone)rr��handler_wrapperrs&  @r�.test_change_character_data_handler_in_callback�=BufferTextTest.test_change_character_data_handler_in_callback*s]���	/��)�)�'�2���#�#�%��&5��#����D�d�K��*�*�,����&�5�5�6r)rr�)r=r>r?r@rr�rbrVr[r|r�r�r�r�r�r�r�r�r�r�r�rArBrCs@rr�r��sj����E�;�
 �(�*�.�$&�<�-�A�G�A�
=�H�J�0�=�7�7rr�c�d`�\sQsQsnQsQs\OQ2sQs	Qs
QsQsUs
P!)	�HandlerExceptionTest�9c�"�[QUQ02g)zStartElementHandler: <�>)�RuntimeErrorrSs&&&rrV�(HandlerExceptionTest.StartElementHandler:s���3�D�6��;�<�<rc��UO[OOUO2U2UOUO
U2P!rJ)r��os�path�basename�filenamerT)rrmr��funcnames&&&&r�check_traceback_entry�*HandlerExceptionTest.check_traceback_entry=s9��������)�)�%�.�.�9�8�D�������X�.rc�V�[OQ2oU%c![OO	U2oLP
oU%c;[
OU29^tt^2UOU2PPP2P!UOU2P!)%fhP!9h)�abs_builddir)�	sysconfig�get_config_varr�r��isdirr�
change_cwd�_test_exception)r�src_dir�have_sources&  r�test_exception�#HandlerExceptionTest.test_exceptionAst���*�*�>�:����'�'�-�-��0�K��K���%�%�g�.�.��$�$�[�1�/�.�
� � ��-�/�.�.�s�(B�B(	� B(	c�L�[OOQQ2o[O2oUO
UmUO
QP	2UOQ2UO[W2]U2UOU]*QQ2UOU]*[OO!U2Q2UOU]*QQ2U%cM[OO#U2%c&UO%Q	U]*O&2P!P!P![cPoSOSO]*QS2[OSO2oPo=CK2Po=hh9h)
�Modulesz	pyexpat.cs<a><b><c/></b></a>z%the parser did not raise RuntimeErrorzStartElementHandler: <a>ztest_pyexpat.pyr��StartElementrVzcall_with_frame("StartElement")r�r��joinrrrVr�rWr�r�r�	traceback�
extract_tb�
__traceback__rir�r��exists�assertIn�line)rr��	PYEXPAT_Cr�exc�entriess&&    rr��$HandlerExceptionTest._test_exceptionRsI���G�G�L�L��K�8�	��#�#�%��%)�%=�%=��"�	>��L�L�.��5��I�I�=�>�
	
����W��q�'�2��"�"�7�1�:�#4�6G�	I��"�"�7�1�:�#%�7�7�#3�#3�I�#>�#1�	3�	
�"�"�7�1�:�#4�6K�	M��2�7�7�>�>�)�4�4��M�M�:�!�!�*�/�/�
+�5�;��!�	>����S�X�X�a�[�*D�c�J��*�*�3�+<�+<�=�G��	>�s�	#E	�		F#�F#�AF�F#c��[O2o[OQQ5UmQUmQoUO
[29^tt^2oUOUP	2PPP2UOO2Q,oUOWOOU2P!)%fhKU9h)z	bad value��return_valuec��P!rJr���_1�_2s&&r�<lambda>�AHandlerExceptionTest.test_invalid_NotStandalone.<locals>.<lambda>t���4rsK<!DOCTYPE quotations SYSTEM "quotations.dtd" [<!ELEMENT root ANY>]><root/>
z2invalid 'NotStandalone' event handler return value)
rrrr�r�r�r3r6r�r�r�r��	__notes__)rr�payloadr��notess&    r�test_invalid_NotStandalone�/HandlerExceptionTest.test_invalid_NotStandaloneqs����#�#�%��&*�i�i�[�&I��#�$7��!����
�
�y�
)�
)�R��L�L��$�'�*��#�#�6�6�8�E�F��������/�/��7�*�
)�s�B:�:C
	�C
	c���[O2oUO2UO[O2[
OPQ5UmUO[29^tt^2oUOQP	2PPP2UOO2Q,oUOWOOU2P!)%fhKU9h)Nr�<?xml version='1.0'?><element/>z6invalid 'ExternalEntityRef' event handler return value)rr�
UseForeignDTD�SetParamEntityParsing�XML_PARAM_ENTITY_PARSING_ALWAYSrr�r�r3r6r�r�r�r�r	)rrr�rs&   r�%test_invalid_ExternalEntityRefHandler�:HandlerExceptionTest.test_invalid_ExternalEntityRefHandler�s����#�#�%�������$�$�U�%J�%J�K�*.�)�)��*F��'�
�
�
�y�
)�
)�R��L�L�;�T�B�*��'�'�:�:�<�I�J��������/�/��7�*�
)�s�?C�C/	�(C/	r�)r=r>r?r@rVr�r�cpython_onlyr�r�rrrArBrCs@rr�r�9s=����=�/�
���.��.� +�>
8�8�8rr�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�PositionTest�c�*�UOQ2P!)�s��	check_posrSs&&&rrV� PositionTest.StartElementHandler�������s�rc�*�UOQ2P!)rYrrZs&&rr[�PositionTest.EndElementHandler�rrc��UUOOUOOUOO1oUO	UO
[
UO26Q2UOUO
*oUOV#QU8QU802U9O
]*
tmP!)ztoo many parser eventszExpected position z, got position )	r�CurrentByteIndex�CurrentLineNumber�CurrentColumnNumberrj�uptori�
expected_listr�)r�event�posr�s&&  rr�PositionTest.check_pos�s�����{�{�+�+��{�{�,�,��{�{�.�.�0��	
����	�	�C��(:�(:�$;�;�0�	2��%�%�d�i�i�0������h�:=�x�H�	J��	�	�Q��	rc��[O2UmUOUOmUOUOm]Um,QNUmQoUOOUP	2P!)rs<a>
 <b>
  <c/>
 </b>
</a>))rrrr)r�rr)r��r)rY�r-�)rY��r)rY�r+r)rrrrVr[r%r&r�)r�xmls& rrn�PositionTest.test�sc���(�(�*���*.�*B�*B����'�(,�(>�(>����%���	�Q���0�������#�t�$r)r&rr%)
r=r>r?r@rVr[rrnrArBrCs@rrr�s������
�	%�	%rrc�(`�\sQsQsnQsQsUsP!)�
sf1296433Test�c��`�QQ*oQQ[2nU1Qko[O2oV#mUO	RUO
UO
Q22P!)z1<?xml version='1.0' encoding='iso8859'?><s>%s</s>c��\sQsQsQsP!)�Asf1296433Test.test_parse_only_xml_data.<locals>.SpecificException�r�)r=r>r?r@rAr�rr�SpecificExceptionr:�s��rr<c�
:�RgrJr�)r{r<s&�rr��7sf1296433Test.test_parse_only_xml_data.<locals>.handler�s	���#�#r�iso8859�aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)�	Exceptionrrrbr3r�r)rr3r�rr<s&   @r�test_parse_only_xml_data�&sf1296433Test.test_parse_only_xml_data�sW���B�Z�P��	�	�	�	$��#�#�%��&-�#����+�V�\�\�3�:�:�i�;P�Qrr�)r=r>r?r@rBrArBrCs@rr6r6�s����R�Rrr6c��`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sQ
sQs
\OQ2\OQ
2\O Q]P
Q5Q222sQsUsP!)�ChardataBufferTest�z&
test setting of chardata buffer size
c�J�UOUOQ2]2P!)i�r��small_buffer_testrs&r�test_1025_bytes�"ChardataBufferTest.test_1025_bytes��������/�/��5�q�9rc�J�UOUOQ2]2P!)��rHrs&r�test_1000_bytes�"ChardataBufferTest.test_1000_bytes�rLrc�x�[O2o]UmUO[29^tt^2PUmPPP2UO[29^tt^2]UmPPP2UO[[129^tt^2[O]*UmPPP2UO[29^tt^2QUmPPP2P!)%fhK�9h)%fhK�9h)%fhKe9h)%fhP!9h)rg�@)
rrrr3r �buffer_size�
OverflowError�sys�maxsizer6rws& r�test_wrong_size�"ChardataBufferTest.test_wrong_size�s����#�#�%�����
�
�
�z�
*�
*�!#�F��+�
�
�
�z�
*�
*�!"�F��+�
�
�
�
�M�:�
;�
;�!$���q��F��<�
�
�
�y�
)�
)�!&�F��*�
)�
+�
*��
*�
*��
;�
;��
)�
)�
)�sG�C/�(D�D�D(�/C?	�8C?	�D	�D	�D%	�D%	�(D9	�1D9	c��QoQo[O2oUOUmQUm]Um]UmUOU2UOUO]2UOUmUOUO]2UOU2UOUO]2P!)�+<?xml version='1.0' encoding='iso8859'?><s>�s+<?xml version='1.0' encoding='iso8859'?><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s>)	rr�counting_handlerrbrRr�nr�r��r�xml1�xml2rs&   r�test_unchanged_size�&ChardataBufferTest.test_unchanged_size�s���J��!���#�#�%��&*�&;�&;��#� ������������T���������#�$�/�/����������#�	���T���������#rc�,�QoQoQo[O2oUOUm]UmQUmUO
UO
Q2]UmUOUP
2UO
UO
Q2UO
UO]2]UmUOUO2UO
UO
Q2[]
2FDoUOUP
2J	UO
UO]2]UmUOUO2UO
UO
Q2UOUP	2UO
UO]2P!)s+<?xml version='1.0' encoding='iso8859'?><a>�s+<?xml version='1.0' encoding='iso8859'?><a>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbscccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc</a>)rrr[rbrrRr�r\r�r�r8rj)rr^r_�xml3r�is&     r�test_disabling_buffer�(ChardataBufferTest.test_disabling_buffer�sJ��J����$���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!�����+�+�T�2��������#��������+�+�,�����+�+�T�2��r��A��L�L��u�%���������$��������*�*�+�����+�+�T�2����T�4� ��������$rc�:�U9O]*
tmP!r2�r\rzs&&rr[�#ChardataBufferTest.counting_handler
s�����!��rc���QQU**Q*o[O2oUOUmQUm]Um]UmUOU2UO!)rY�as</s>rc)rrr[rbrRrr\r�)r�
buffer_lenr3rs&&  rrI�$ChardataBufferTest.small_buffer_tests_��<�t�j�?P�P�SZ�Z���#�#�%��&*�&;�&;��#�!������������S���v�v�
rc��QoQo[O2oUOUm]UmQUmUO
UO
Q2]UmUOUP
2U9O
]*tmUO
UO
Q2UOUP	2UO
UO]2P!)s.<?xml version='1.0' encoding='iso8859'?><a><s>rc�s.<?xml version='1.0' encoding='iso8859'?><a><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�aaa</s><s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</s></a>�	rrr[rbrrRr�r\r�r]s&   r�test_change_size_1�%ChardataBufferTest.test_change_size_1s���N��8���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!����a�������+�+�T�2����T�4� ��������#rc��QoQo[O2oUOUm]UmQUmUO
UO
Q2]UmUOUP
2UO
]*UmUO
UO
Q2UOUP	2UO
UO]2P!)s/<?xml version='1.0' encoding='iso8859'?><a>a<s>rprcs.<?xml version='1.0' encoding='iso8859'?><a>a<s>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrrr]s&   r�test_change_size_2�%ChardataBufferTest.test_change_size_2+s���O��8���#�#�%��&*�&;�&;��#����!�������+�+�T�2�������T�5�!�#�/�/�1�4�������+�+�T�2����T�4� ��������#r�cpu�walltime)�size�memuse�dry_runc�
�[O2oP	UmQUmQoUO	V2O2QUmQQU**Q*oUO
UOUP	2]2P!)Tc��P!rJr�)r{s&rr�MChardataBufferTest.test_large_character_data_does_not_crash.<locals>.<lambda>Errs<r>�As</r>i���l�)rrrrR�
assertGreaterrbr�r�)rrzr�N�xml_datas&&   r�(test_large_character_data_does_not_crash�;ChardataBufferTest.test_large_character_data_does_not_crash;sq��
�#�#�%��!���&��� �����1�0�0�1�&7��#��D�1�H�$�w�.��������h��5�q�9rril)r=r>r?r@�__doc__rJrOrVr`rfr[rIrsrvr�requires_resource�
bigmemtestr�rArBrCs@rrErE�s������:�:�
'�$�.%�<�	�$� $� 
���u�%����z�*����U�1�e�<�	:�=�+�&�	:rrEc�`�\sQsQsnQs\OQ2\O2\O2Q222s	Qs
UsP!)�ElementDeclHandlerTest�Ic���[OQ2OQ2o[O2oQUmQUmUO[UOUP	2P!)z�            <!DOCTYPE quotations SYSTEM "quotations.dtd" [
                <!ELEMENT root ANY>
            ]>
            <root/>
        r8c��Q!)gX9��v��?r�r�rrr�:ElementDeclHandlerTest.test_trigger_leak.<locals>.<lambda>Vs��erc��P!rJr�rs&&rrr�Wrr)
�textwrap�dedentrrrr�r�r3r6r�)rrars&  r�test_trigger_leak�(ElementDeclHandlerTest.test_trigger_leakJs]����� �
�
�V�G�_�	
��#�#�%��&3��#�$7��!����)�V�\�\�4��>ri5c	��QoQQU**Q*QU**Q*o[O2oQUm[O29^tt^2UO[29^tt^2UOU2PPP2PPP2P!)%fhK9h)%fhP!9h)i �s <!DOCTYPE root [
<!ELEMENT root s(a, rl�)s
>
]>
<root/>
c��P!rJr�rs&&rr�IElementDeclHandlerTest.test_deeply_nested_content_model.<locals>.<lambda>hrr)rrr�r�infinite_recursionr3�RecursionErrorr�)rr�rars&   r� test_deeply_nested_content_model�7ElementDeclHandlerTest.test_deeply_nested_content_modelZs���
��0���k�
� �
!�#'�!�8�
,�!�
"�	
��#�#�%��$7��!�
�
'�
'�
)�
)��"�"�>�2�2����T�"�3�*�
)�2�2��*�
)�
)�s0�*B?�B,	�B?�,B<
�5B<
�7B?�?C	�C	r�)r=r>r?r@r�r�skip_if_huge_c_stack�skip_emscripten_stack_overflow�skip_wasi_stack_overflowr�rArBrCs@rr�r�IsK����?� 
�!�!�'�*��+�+�-��%�%�'�#�(�.�+�#rr�c�.`�\sQsQsnQsQsQsUsP!)�MalformedInputTest�mc��Qo[O2oUOUP	2UO2P![Oc'oSO[
S2Q2Po=P!Po=hh9h)s
z unclosed token: line 2, column 0)rrr�rWr%r�rX�rr3rrYs&   rr��MalformedInputTest.test1nsb�����#�#�%��	I��L�L��d�#��I�I�K�����	I����S��V�%G�H�H��	I�s�">�A9�A9�A4�4A9c���Qo[O2oQoUO[OU29^tt^2UO	UP	2PPP2P!)%fhP!9h)s<?xml version…='1.0'?>
z3XML declaration not well-formed: line 1, column \d+)rrr&r%r�)rr3r�err_patterns&   rr��MalformedInputTest.test2wsQ��2���#�#�%��L��
�
#�
#�E�$4�$4�k�
B�
B��L�L��d�#�C�
B�
B�
B�s�A � A1	�)A1	r�)r=r>r?r@r�r�rArBrCs@rr�r�ms����I�$�$rr�c�.`�\sQsQsnQsQsQsUsP!)�ErrorMessageTest�c��UO[O[O[O[O**2P!rJ)r�r	�XML_ERROR_SYNTAX�messages�codesrs&r�
test_codes�ErrorMessageTest.test_codes�s4������0�0�������f�6M�6M�)N�O�	Qrc�@�Qo[O2oUOUP	2UO2P![OcKoSOSO[O[O*2Po=P!Po=hh9h)�<)
rrr�rWr%r�r�r	r��XML_ERROR_UNCLOSED_TOKENr�s&   r�test_expaterror� ErrorMessageTest.test_expaterror�sw�����#�#�%��	L��L�L��d�#��I�I�K�����	L����Q�V�V�#�\�\�&�*I�*I�J�
L�
L��	L�s�">�B�B�?B�Br�)r=r>r?r@r�r�rArBrCs@rr�r�s����Q�
L�Lrr�c�2`�\sQsQsnQsQsQsQsUsP!)�ForeignDTDTests�z=
Tests for the UseForeignDTD method of expat parser objects.
c��`�,nU1Qko[O2oUOP	2UO[O2VmUO
Q2UORQ,2,RQ$[O2oUO2UO[O2VmUO
Q2UORQ,2P!)z�
If UseForeignDTD is passed True and a document without an external
entity reference is parsed, ExternalEntityRefHandler is first called
with None for the public and system ids.
c�.:�ROV212]!r2re�r�r��	system_id�	public_id�handler_call_argss&&&&�r�resolve_entity�<ForeignDTDTests.test_use_foreign_dtd.<locals>.resolve_entity������$�$�i�%;�<�rr:NNN)NN�rrrrrr�r�r��rr�rr�s&  @r�test_use_foreign_dtd�$ForeignDTDTests.test_use_foreign_dtd�s������	��#�#�%�����T�"��$�$�U�%J�%J�K�*8�'����7�8����*�\�N�;� "��!���#�#�%�������$�$�U�%J�%J�K�*8�'����7�8����*�\�N�;rc�`�,nU1Qko[O2oUOP	2UO[O2VmUO
Q2UORQ,2P!)z�
If UseForeignDTD is passed True and a document with an external
entity reference is parsed, ExternalEntityRefHandler is called with
the public and system ids from the document.
c�.:�ROV212]!r2rer�s&&&&�rr��CForeignDTDTests.test_ignore_use_foreign_dtd.<locals>.resolve_entity�r�rs@<?xml version='1.0'?><!DOCTYPE foo PUBLIC 'bar' 'baz'><element/>)�bar�bazr�r�s&  @r�test_ignore_use_foreign_dtd�+ForeignDTDTests.test_ignore_use_foreign_dtd�sl�����	��#�#�%�����T�"��$�$�U�%J�%J�K�*8�'����O�	Q����*�^�,<�=rr�)	r=r>r?r@r�r�r�rArBrCs@rr�r��s�����<�8>�>rr�c�>`�\sQsQsnQsQsQsQsQsQs	Us
P!)�ParentParserLifetimeTest��z�
Subparsers make use of their parent XML_Parser inside of Expat.
As a result, parent parsers need to outlive subparsers.

See https://github.com/python/cpython/issues/139400.
c�V�[O2oUOP2o=P!rJ�rrrz)rr�	subparsers&  r�2test_parent_parser_outlives_its_subparsers__single�KParentParserLifetimeTest.test_parent_parser_outlives_its_subparsers__single�s%���#�#�%���5�5�d�;�	�
rc�x�[O2oUOP2oUOP2o=P!rJr�)rr�
subparser_one�
subparser_twos&   r�4test_parent_parser_outlives_its_subparsers__multiple�MParentParserLifetimeTest.test_parent_parser_outlives_its_subparsers__multiple�s5���#�#�%���9�9�$�?�
��9�9�$�?�
�
rc�z�[O2oUOP2oUOP2o==P!rJr�)rrr��subsubparsers&   r�1test_parent_parser_outlives_its_subparsers__chain�JParentParserLifetimeTest.test_parent_parser_outlives_its_subparsers__chain�s8���#�#�%���5�5�d�;�	� �;�;�D�A��
�rc���QFDZo[O2oUOU2UOP2oUO	UO2U2J\	P!)T)TF)rr�SetReparseDeferralEnabledrzr��GetReparseDeferralEnabled)r�enabledrr�s&   r�(test_subparser_inherits_reparse_deferral�AParentParserLifetimeTest.test_subparser_inherits_reparse_deferral�sQ��$�G��'�'�)�F��,�,�W�5��9�9�$�?�I����Y�@�@�B�G�L�	%rr�)r=r>r?r@r�r�r�r�r�rArBrCs@rr�r��s%��������M�Mrr�c�Z`�\sQsQsnQs\Q2s\OQ2s	Qs
UsP!)�#ExternalEntityParserCreateErrorTest��z�ExternalEntityParserCreate error paths should not crash or leak
refcounts on the parent parser.

See https://github.com/python/cpython/issues/144984.
c�>�[OQ2UmP!��	_testcapi)r�
import_module�testcapi)�clss&r�
setUpClass�.ExternalEntityParserCreateErrorTest.setUpClass�s��$�2�2�;�?��rc���[O2oP	Um[OU2oUO
O
]]
2P
oUOP2UO
O2UOUQ2[OU2oUOVB2P![cP	oKdh9hSO
O2h9h)TzMemoryError not raised)rrrrT�getrefcountr��set_nomemoryrz�MemoryError�remove_mem_hooksrjr�)rr�	rc_before�raised�rc_afters&    r�test_error_path_no_crash�<ExternalEntityParserCreateErrorTest.test_error_path_no_crash�s����#�#�%��!����O�O�F�+�	�
	
�
�
�"�"�1�b�)���	-��-�-�d�3�
�M�M�*�*�,����� 8�9��?�?�6�*������-���	��F�	��
�M�M�*�*�,�s*�B9�9	C	�C	�C�C	�	C�C(r�)r=r>r?r@r��classmethodr�r�	nomemtestr�rArBrCs@rr�r��s:������@��@�
���.��.rr�c�4`�\sQsQsnQsQsQsQsUsP!)�ReparseDeferralTestic�\�[O2o[OQ6�oUOUO	2U2UOP
2UOUO	2P
2UOP	2UOUO	2U2P!)r�rr/r)rr�version_inforr�r�)rrr�s&  r�test_getter_setter_round_trip�1ReparseDeferralTest.test_getter_setter_round_trips����#�#�%���%�%��2���
�
�f�6�6�8�'�B��(�(��/��
�
�f�6�6�8�%�@��(�(��.��
�
�f�6�6�8�'�Brc�`�[OQ6c$UOQ[OQ02,nU1Qko[O2oVmUOUO
22QFDoUOUP
2J	UOR,2UOQP	2UORQ,2P!)rzExpat z" does not support reparse deferralc�,:�ROU2P!rJre�rT�_�starteds&&�r�
start_element�HReparseDeferralTest.test_reparse_deferral_enabled.<locals>.start_element'�����N�N�4� rr�docr��s<docs/>)	rr��skipTestrrVrjr�r�r��rrr�chunkrs&   @r�test_reparse_deferral_enabled�1ReparseDeferralTest.test_reparse_deferral_enabled s�������	�)��M�M�F�5�#5�#5�"6�75�5�
6���	!��#�#�%��%2�"�����8�8�:�;�%�E��L�L���&�&�	
����"�%����S�$������5�'�*rc�8`�,nU1Qko[O2oVm[OQ6�cUO	P
2UOUO
22QFDoUOUP
2J	UORQ,2P!)c�,:�ROU2P!rJrers&&�rr�IReparseDeferralTest.test_reparse_deferral_disabled.<locals>.start_element;r	rr
r�r)	rrrVr�r�r�r�r�r�r
s&   @r�test_reparse_deferral_disabled�2ReparseDeferralTest.test_reparse_deferral_disabled8s������	!��#�#�%��%2�"�����*��,�,�U�3�����9�9�;�<�%�E��L�L���&�&�	
����5�'�*rr�)	r=r>r?r@rrrrArBrCs@rr�r�s����C�+�0+�+rr�c�p`�\sQsQsnQs\QQ-Qk2sQsQs\	OQ2s\	OQ	2s\	OQ
2s
\	OQ2s\	OQ2sQ
sQsQs\	OQ2s\	OQ2sQsQsQsQsQsUsP!)�AttackProtectionTestBaseiKz�
Base class for testing protections against XML payloads with
disproportionate amplification.

The protections being tested should detect and prevent attacks
that leverage disproportionate amplification from small inputs.
r{�.c��`�[OQUQUQ02O2oQOU1Qk[	U222o[O
UQ2oUO
UQ5!)z�Create a billion laughs attack payload.

Be careful: the number of total items is pow(n, k), thereby
requiring at least pow(ncols, nrows) * sizeof(text) memory!
z]            <?xml version="1.0"?>
            <!DOCTYPE doc [
                <!ENTITY row0 "zc">
                <!ELEMENT doc (#PCDATA)>
            {body}
            ]>
            <doc>&rowz;</doc>
        r�c3�f:�SF �D!oQU]*QQUQ0R*Q0w�	J#	P!3h)z<!ENTITY rowz "z&row�;z">r�)�.0re�ncolss& �r�	<genexpr>�IAttackProtectionTestBase.exponential_expansion_payload.<locals>.<genexpr>es7��!���!���1�q�5�'��d�1�#�Q�K�%�$7�#8��;�!�s�)1)�bodyz    )r�r��rstripr�r8�indent�format)�nrowsrr{�templater s$d$  r�exponential_expansion_payload�6AttackProtectionTestBase.exponential_expansion_payloadTs�����?�?�( �!%�v�&��W�	�$�
��V�X�	��y�y�
��5�\�
�
�����t�W�-�����D��)�)rc��UO]]Q5oUOU[OQ2O	22P!)r)r$ra'            <?xml version="1.0"?>
            <!DOCTYPE doc [
                <!ENTITY row0 ".">
                <!ELEMENT doc (#PCDATA)>
                <!ENTITY row1 "&row0;&row0;&row0;">
                <!ENTITY row2 "&row1;&row1;&row1;">
            ]>
            <doc>&row2;</doc>
        )r&r�r�r�r!)rr
s& r�test_payload_generation�0AttackProtectionTestBase.test_payload_generationls@���4�4�1�A�4�F������(�/�/�	3�	#
��V�X�		rc�X�QoUO[OVA,UN3-U@P!)z=Check that func(*args, **kwargs) is invalid for a sub-parser.zparser must be a root parser�r&rr%�r�funcr�kwargs�msgs""*, r�assert_root_parser_failure�3AttackProtectionTestBase.assert_root_parser_failurezs'��,�����u�/�/��L�T�L�V�Lrc��P!)z�Assert that func(*args, **kwargs) triggers the attack protection.

Note: this method must ensure that the attack protection being tested
is the one that is actually triggered at runtime, e.g., by matching
the exact error message.
r�)rr.rr/s""*,r�assert_rejected�(AttackProtectionTestBase.assert_rejected��rc��P!)z7Set the activation threshold for the tested protection.r��rr�	thresholds&&&r�set_activation_threshold�1AttackProtectionTestBase.set_activation_threshold�r6rc��P!)z?Set the maximum amplification factor for the tested protection.r��rr�
max_factors&&&r�set_maximum_amplification�2AttackProtectionTestBase.set_maximum_amplification�r6rc��P!)z/Test when the activation threshold is exceeded.r�rs&r�0test_set_activation_threshold__threshold_reached�IAttackProtectionTestBase.test_set_activation_threshold__threshold_reached�r6rc��P!)z3Test when the activation threshold is not exceeded.r�rs&r�4test_set_activation_threshold__threshold_not_reached�MAttackProtectionTestBase.test_set_activation_threshold__threshold_not_reached�r6rc��[O2o[OUOU2oUO[UQ2UO[UQ2UO[UQ2P!)��?g�����)rr�	functools�partialr:r3r6r �rr�setters&  r�5test_set_activation_threshold__invalid_threshold_type�NAttackProtectionTestBase.test_set_activation_threshold__invalid_threshold_type�s^���#�#�%���"�"�4�#@�#@�&�I�����)�V�S�1����)�V�T�2����*�f�b�1rc���[OQ2o[O2o[O
UOU2oUO[V1O]*2P!r�)
rr�rrrJrKr:r3rS�
ULLONG_MAX)rr�rrMs&   r�6test_set_activation_threshold__invalid_threshold_range�OAttackProtectionTestBase.test_set_activation_threshold__invalid_threshold_range�sS��!�/�/��<�	��#�#�%���"�"�4�#@�#@�&�I�����-��1E�1E��1I�Jrc��[O2oUOP2o[OUO
U2oUO
UQ2P!)Ni90)rrrzrJrKr:r1�rrr�rMs&   r�1test_set_activation_threshold__fail_for_subparser�JAttackProtectionTestBase.test_set_activation_threshold__fail_for_subparser�sH���#�#�%���5�5�d�;�	��"�"�4�#@�#@�)�L���'�'���6rc��P!)z/Test when the amplification factor is exceeded.r�rs&r�6test_set_maximum_amplification__amplification_exceeded�OAttackProtectionTestBase.test_set_maximum_amplification__amplification_exceeded�r6rc��P!)z3Test when the amplification factor is not exceeded.r�rs&r�:test_set_maximum_amplification__amplification_not_exceeded�SAttackProtectionTestBase.test_set_maximum_amplification__amplification_not_exceeded�r6rc��[Q2o[O2oUOUO	V!22P!)�inf)�floatrrr�r?)rr_rs&  r�(test_set_maximum_amplification__infinity�AAttackProtectionTestBase.test_set_maximum_amplification__infinity�s2���E�l���#�#�%�����$�8�8��E�Frc���[O2o[OUOU2oUO[UP2UO[UQ2P!)N�abc)rrrJrKr?r3r6rLs&  r�7test_set_maximum_amplification__invalid_max_factor_type�PAttackProtectionTestBase.test_set_maximum_amplification__invalid_max_factor_type�sL���#�#�%���"�"�4�#A�#A�6�J�����)�V�T�2����)�V�U�3rc�6�[O2o[OUOU2o[
OQ2oUO[OV2[Q22UO[OV2Q2P!)z!'max_factor' must be at least 1.0�nang�G�z��?)
rrrJrKr?�re�escaper&r%r`)rrrMr0s&   r�8test_set_maximum_amplification__invalid_max_factor_range�QAttackProtectionTestBase.test_set_maximum_amplification__invalid_max_factor_range�sk���#�#�%���"�"�4�#A�#A�6�J���i�i�;�<�����u�/�/��e�E�l�K����u�/�/��d�Crc��[O2oUOP2o[OUO
U2oUO
UQ2P!)Ng������^@)rrrzrJrKr?r1rUs&   r�2test_set_maximum_amplification__fail_for_subparser�KAttackProtectionTestBase.test_set_maximum_amplification__fail_for_subparser�sH���#�#�%���5�5�d�;�	��"�"�4�#A�#A�9�M���'�'���7rr�)r=r>r?r@r��staticmethodr&r)r1rd�abstractmethodr4r:r?rBrErNrRrVrYr\rarerkrnrArBrCs@rrrKs������*�C�*��*�.�M�
	������	���F��F�	���N��N�	���>��>�	���B��B�2�K�7�	���>��>�	���B��B�G�
4�D�8�8rrzrequires Expat >= 2.4.0c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�ExpansionProtectionTesti�c�X�QoUO[OVA,UN3-U@P!)�;Check that func(*args, **kwargs) hits the allocation limit.z\limit on input amplification factor \(from DTD and entities\) breached: line \d+, column \d+r,r-s""*, rr4�'ExpansionProtectionTest.assert_rejected�s.��
.�	�	
���u�/�/��L�T�L�V�Lrc�&�UOU2!rJ)�3SetBillionLaughsAttackProtectionActivationThresholdr8s&&&rr:�0ExpansionProtectionTest.set_activation_threshold�s���I�I�)�T�Trc�&�UOU2!rJ)�4SetBillionLaughsAttackProtectionMaximumAmplificationr=s&&&rr?�1ExpansionProtectionTest.set_maximum_amplification�s���J�J�:�V�Vrc��[O2oUOU]2UOUO	UQ22UO]
]Q5oUO
UOUP	2P!�r-rH�rr$�rrr:r�r?r&r4r��rrr
s&  rrB�HExpansionProtectionTest.test_set_activation_threshold__threshold_reached��h���#�#�%���%�%�f�a�0�	
���$�8�8���E�F��4�4�2�Q�4�G�����V�\�\�7�D�9rc��[O2oUOU[]
]22UO	UOUQ22UO
]
]Q5oUOUOUP	22P!��
rHr�	rrr:�powr�r?r&�assertIsNotNoner�r�s&  rrE�LExpansionProtectionTest.test_set_activation_threshold__threshold_not_reached��q���#�#�%���%�%�f�c�"�a�j�9�	
���$�8�8���E�F��4�4�2�Q�4�G�����V�\�\�'�4�8�9rc��[O2oUOU]2UOUO	UQ22UO]]Q5oUO
UOUP	2P!�rrHrr�r�s&  rrY�NExpansionProtectionTest.test_set_maximum_amplification__amplification_exceeded��f���#�#�%���%�%�f�a�0����$�8�8���E�F��4�4�1�A�4�F�����V�\�\�7�D�9rc��[O2oUOU]2UOUO	UQ22UO]]Q5oUO
UOUP	22P!�rg��@r�rrr:r�r?r&r�r�r�s&  rr\�RExpansionProtectionTest.test_set_maximum_amplification__amplification_not_exceeded��i���#�#�%���%�%�f�a�0����$�8�8���E�F��4�4�1�A�4�F�����V�\�\�'�4�8�9rr��
r=r>r?r@r4r:r?rBrErYr\rArBrCs@rrsrs�s0����M�U�W�:�:�:�:�:rrs�#SetAllocTrackerMaximumAmplificationz,requires Python compiled with Expat >= 2.7.2c�L`�\sQsQsnQsQsQsQsQsQs	Qs
Q	sUsP!)
�MemoryProtectionTesti
c�X�QoUO[OVA,UN3-U@P!)ruz#out of memory: line \d+, column \d+r,r-s""*, rr4�$MemoryProtectionTest.assert_rejecteds'��4�����u�/�/��L�T�L�V�Lrc�&�UOU2!rJ)�"SetAllocTrackerActivationThresholdr8s&&&rr:�-MemoryProtectionTest.set_activation_thresholds���8�8��C�Crc�&�UOU2!rJ)r�r=s&&&rr?�.MemoryProtectionTest.set_maximum_amplifications���9�9�*�E�Erc��[O2oUOU]2UOUO	UQ22UO]
]Q5oUO
UOUP	2P!r~r�r�s&  rrB�EMemoryProtectionTest.test_set_activation_threshold__threshold_reached r�rc��[O2oUOU[]
]22UO	UOUQ22UO
]
]Q5oUOUOUP	22P!r�r�r�s&  rrE�IMemoryProtectionTest.test_set_activation_threshold__threshold_not_reached*r�rc��[O2oUOU]2UOUO	UQ22UO]]Q5oUO
UOUP	2P!r�r�r�s&  rrY�KMemoryProtectionTest.test_set_maximum_amplification__amplification_exceeded4r�rc��[O2oUOU]2UOUO	UQ22UO]]Q5oUO
UOUP	22P!r�r�r�s&  rr\�OMemoryProtectionTest.test_set_maximum_amplification__amplification_not_exceeded>r�rr�r�rCs@rr�r�
s0����M�
D�F�:�:�:�:�:rr��__main__)rr1r)2rdrJr�rirTr�r��unittestr��iorrnr�test.supportrrrr�xml.parsersr�xml.parsers.expatr	�TestCaserrarFrPrar�r�rr6rEr�r�r�r�r�r�r��ABCr�skipIfr�rs�hasattr�
XMLParserTyper�r=�mainr�rr�<module>r�s.����	�	�
�������1�!���$�%G�x�(�(�%G�P��6k%��!�!�k%�\	3�X�.�.�3�B!/�H�%�%�!/�Hi7�X�&�&�i7�ZR8�8�,�,�R8�l%�8�$�$�%�>R�H�%�%�R�&F:��*�*�F:�P"#�X�.�.�"#�H$��*�*�$�$L�x�(�(�L�"1>�h�'�'�1>�h(M�x�0�0�(M�V#.�(�*;�*;�#.�L3+�(�+�+�3+�lB8�s�w�w�B8�J
����#�#�i�/�1J�K�6:�6��8I�8I�6:�L�6:�r
���W�U�0�0�B�D�D�?�A�9:�3�X�5F�5F�9:�A�9:�x�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit