Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_lzma.cpython-311.opt-1.pyc
�

�Ke�`���ddlZddlZddlmZmZmZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
Z
ddlmZmZddlmZddlmZmZed��ZddlmZmZmZmZGd	�d
e
j��ZGd�de
j��ZGd
�d��ZGd�de
j��ZGd�de
j��Z Gd�de
j��Z!dZ"dZ#dZ$dZ%ej&dd�gZ'dZ(ej)dd�ej&ej*ej+zd�gZ,dZ-ej.dd �d!ej&igZ/d"Z0ej)d#d�ej1d$d �ej&d#dd%�gZ2d&Z3d'Z4e5d(kre
j6��dSdS))�N)�BytesIO�UnsupportedOperation�DEFAULT_BUFFER_SIZE)�support)�_4G�
bigmemtest)�
import_module)�TESTFN�unlink�lzma)�LZMACompressor�LZMADecompressor�	LZMAError�LZMAFilec�v�eZdZd�Zd�Zd�Zd�Zd'd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej e!e"dzd� ��d!�����Z#ej e!e"dzd"� ��d#�����Z$d$�Z%ej&d%���Z'd&S)(�CompressorDecompressorTestCasec�8�|�ttg��|�ttd���|�ttd���|�ttd���|�ttd���|�tttj���|�t��5td	d
tjig���ddd��n#1swxYwY|�ttd��|�ttd
���|�t��5ttjd���ddd��n#1swxYwY|�t��5ttjd���ddd��n#1swxYwY|�ttt���|�t��5ttj
t���ddd��n#1swxYwY|�t��5ttjt���ddd��n#1swxYwYt��}|�t|j��|�t|jdd��|�t|j
d��|�
��}|�t|jd��|�t|j
��t��}|�t|j��|�t|jdd��|�|��|�t|jd��dS)Ng������@��format���check�asdf��preset���filters��id�rr�sqw��memlimit�zzz��rr�foo�barsblahsquux)�assertRaises�	TypeErrorr
�
ValueErrorr�FORMAT_AUTO�FILTER_LZMA2r�
FORMAT_RAW�
FILTERS_RAW_1�	FORMAT_XZ�FORMAT_ALONE�compress�flush�
decompress�EOFError)�self�lzc�empty�lzds    �8/usr/local/apps/python3/lib/python3.11/test/test_lzma.py�test_simple_bad_argsz3CompressorDecompressorTestCase.test_simple_bad_argss������)�^�R�8�8�8����)�^�D��A�A�A����)�^�2��>�>�>����)�^�F��C�C�C����)�^�Q��?�?�?����*�n�T�=M��N�N�N�
�
�
�z�
*�
*�	J�	J��!�t�T�5F�.G�-H�I�I�I�I�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�	
���)�%5�r�:�:�:����)�%5���F�F�F�
�
�
�y�
)�
)�	=�	=��T�_�e�<�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=��
�
�z�
*�
*�	B�	B��T�_�y�A�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	
���*�&6�
��N�N�N�
�
�
�z�
*�
*�	K�	K��D�N�M�J�J�J�J�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K����	K�	K�	K�	K�
�
�
�z�
*�
*�	N�	N��D�$5�}�M�M�M�M�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N����	N�	N�	N�	N��������)�S�\�2�2�2����)�S�\�6�6�B�B�B����)�S�Y��8�8�8��	�	�������*�c�l�G�<�<�<����*�c�i�0�0�0�� � �����)�S�^�4�4�4����)�S�^�V�V�D�D�D����u�������(�C�N�G�<�<�<�<�<sZ�0D�D�"D�F+�+F/�2F/�G8�8G<�?G<�!I1�1I5�8I5�!K�K�
Kc���|�ttdg���|�ttddig���|�ttddig���|�t��5ttjdd�g���ddd��n#1swxYwY|�t��5ttjdd�g���ddd��n#1swxYwY|�t��5ttjdd�g���ddd��dS#1swxYwYdS)	N�wobsiter�xyzzyrr �́r�r �foo)r*r+r
r,rr.�FILTER_DELTA�
FILTER_X86�r7s r;�test_bad_filter_specz3CompressorDecompressorTestCase.test_bad_filter_specBs=�����)�^�j�\��J�J�J����*�n���|�n��M�M�M����*�n��e�}�o��N�N�N�
�
�
�z�
*�
*�	J�	J��4�+<�Q�$G�$G�#H�I�I�I�I�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�
�
�
�z�
*�
*�	J�	J��4�+<�Q�$G�$G�#H�I�I�I�I�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�
�
�
�z�
*�
*�	H�	H��4�?�1�$E�$E�#F�G�G�G�G�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H����	H�	H�	H�	H�	H�	Hs6�B3�3B7�:B7�D�D�
D�(E�E�Ec��t��}|�t��|�t|jd��dS)Nsnyan)rr5�
COMPRESSED_XZr*r6�r7r:s  r;�test_decompressor_after_eofz:CompressorDecompressorTestCase.test_decompressor_after_eofMs?��� � �����}�%�%�%����(�C�N�G�<�<�<�<�<�c�v�td���}|�t|jt��tt
jd���}|�t|jt��tt
jd���}|�t|jt��dS)N�r#)	rr*rr5rHrr1r2�COMPRESSED_ALONErIs  r;�test_decompressor_memlimitz9CompressorDecompressorTestCase.test_decompressor_memlimitRs�����-�-�-�����)�S�^�]�C�C�C��t�~��=�=�=�����)�S�^�]�C�C�C��t�0�4�@�@�@�����)�S�^�5E�F�F�F�F�FrKrKc�:�|�|j��|�|��}|�|t��|�|j|��|�|j��|�|j|��dS�N)�assertFalse�eofr5�assertEqual�INPUTr�
assertTrue�unused_data)r7r:�datarrW�outs      r;�_test_decompressorz1CompressorDecompressorTestCase._test_decompressor^s��������!�!�!��n�n�T�"�"������e�$�$�$������E�*�*�*������ � � ������+�6�6�6�6�6rKc���t��}|�|ttj��t��}|�|t
tj��dSrQ)rrZrHr�CHECK_CRC64rN�
CHECK_NONErIs  r;�test_decompressor_autoz5CompressorDecompressorTestCase.test_decompressor_autofsT��� � ������]�D�4D�E�E�E�� � ������%5�t��G�G�G�G�GrKc��ttj��}|�|ttj��dSrQ)rrr1rZrHr\rIs  r;�test_decompressor_xzz3CompressorDecompressorTestCase.test_decompressor_xzms2���t�~�.�.������]�D�4D�E�E�E�E�ErKc��ttj��}|�|ttj��dSrQ)rrr2rZrNr]rIs  r;�test_decompressor_alonez6CompressorDecompressorTestCase.test_decompressor_aloneqs3���t�0�1�1������%5�t��G�G�G�G�GrKc��ttjt���}|�|t
tj��dS�Nr)rrr/r0rZ�COMPRESSED_RAW_1r]rIs  r;�test_decompressor_raw_1z6CompressorDecompressorTestCase.test_decompressor_raw_1u�7���t��
�F�F�F������%5�t��G�G�G�G�GrKc��ttjt���}|�|t
tj��dSrd)rrr/�
FILTERS_RAW_2rZ�COMPRESSED_RAW_2r]rIs  r;�test_decompressor_raw_2z6CompressorDecompressorTestCase.test_decompressor_raw_2yrgrKc��ttjt���}|�|t
tj��dSrd)rrr/�
FILTERS_RAW_3rZ�COMPRESSED_RAW_3r]rIs  r;�test_decompressor_raw_3z6CompressorDecompressorTestCase.test_decompressor_raw_3}rgrKc��ttjt���}|�|t
tj��dSrd)rrr/�
FILTERS_RAW_4rZ�COMPRESSED_RAW_4r]rIs  r;�test_decompressor_raw_4z6CompressorDecompressorTestCase.test_decompressor_raw_4�rgrKc	�*�t��}g}tdtt��d��D]T}|�|j��|�|�t||dz������Ud�|��}|�	|t��|�	|jtj
��|�|j��|�	|jd��dS�Nr�
rK�r�range�lenrHrRrS�appendr5�joinrTrUrrr\rVrW�r7r:rY�is    r;�test_decompressor_chunksz7CompressorDecompressorTestCase.test_decompressor_chunks�s���� � �����q�#�m�,�,�b�1�1�	>�	>�A����S�W�%�%�%��J�J�s�~�~�m�A�a��d�F�&;�<�<�=�=�=�=��h�h�s�m�m������e�$�$�$������D�$4�5�5�5������ � � ������#�.�.�.�.�.rKc	��t��}g}tdtt��d��D]�}|�|j��|�|�d����|�|�d����|�|�d����|�|�t||dz�������d�|��}|�	|t��|�	|jtj
��|�|j��|�	|jd��dSrurwr|s    r;�test_decompressor_chunks_emptyz=CompressorDecompressorTestCase.test_decompressor_chunks_empty�sE��� � �����q�#�m�,�,�b�1�1�	>�	>�A����S�W�%�%�%��J�J�s�~�~�c�*�*�+�+�+��J�J�s�~�~�c�*�*�+�+�+��J�J�s�~�~�c�*�*�+�+�+��J�J�s�~�~�m�A�a��d�F�&;�<�<�=�=�=�=��h�h�s�m�m������e�$�$�$������D�$4�5�5�5������ � � ������#�.�.�.�.�.rKc��t��}d}g}tt��dz}|�|�td|�|�����|�|j��|�t|d��|��|�|�d|�����|�|j��|�t|d��|��|�|�t|d�|�����|�t|d��|��|j	sZ|�|�d|�����|�t|d��|��|j	�Zd�
|��}|�|t��|�|jtj��|�|jd��dS)N�d���
max_length���rK)rryrHrzr5rR�needs_inputrT�assertLessEqualrSr{rUrrr\rW)r7r:r�rY�len_s     r;� test_decompressor_chunks_maxsizez?CompressorDecompressorTestCase.test_decompressor_chunks_maxsize�s	��� � ���
����=�!�!�Q�&���
�
�3�>�>�-����"6�-7�"�9�9�	:�	:�	:������)�)�)�����S��W���z�2�2�2�	�
�
�3�>�>�#�*�>�=�=�>�>�>������)�)�)�����S��W���z�2�2�2�	�
�
�3�>�>�-����"6�-7�"�9�9�	:�	:�	:����S��R��\�\�:�6�6�6��'�	;��J�J�s�~�~�c�j�~�A�A�B�B�B�� � ��S��W���z�:�:�:��'�	;��h�h�s�m�m������e�$�$�$������D�$4�5�5�5������#�.�.�.�.�.rKc��t��}g}|�|�tdd�d���d��|�|�dd����|�|�tdd�d����|�|�tdd�����|�d�|��t��dS)Nr�rr�rKr��i��rrTr5rHrzr{rU�r7r:rYs   r;�test_decompressor_inputbuf_1z;CompressorDecompressorTestCase.test_decompressor_inputbuf_1�s���� � ����	
������
�d�s�d�(;�34�(�6�6�7:�	<�	<�	<�
	�
�
�3�>�>�#�q�)�)�*�*�*�	�
�
�3�>�>�-��C��"8�"�=�=�>�>�>�	�
�
�3�>�>�-����"5�6�6�7�7�7�������#����.�.�.�.�.rKc��t��}g}|�|�tdd�d���d��|�|�d����|�|�tdd�d����|�|�tdd�d����|�|�tdd�����|�d�|��t��dS)N��rr�rKir��,r�r�s   r;�test_decompressor_inputbuf_2z;CompressorDecompressorTestCase.test_decompressor_inputbuf_2�s��� � ����	
������
�d�s�d�(;�34�(�6�6�7:�	<�	<�	<��
�
�3�>�>�#�&�&�'�'�'�	�
�
�3�>�>�-��C��"8�!�<�<�=�=�=�	�
�
�3�>�>�-��C��"8�!�<�<�=�=�=�	�
�
�3�>�>�-����"5�6�6�7�7�7�������#����.�.�.�.�.rKc���t��}g}|�|�tdd�d����|�|�tdd�d����|�|�tdd�����|�d�|��t��dS)Nr��r�rK)rrzr5rHrTr{rUr�s   r;�test_decompressor_inputbuf_3z;CompressorDecompressorTestCase.test_decompressor_inputbuf_3�s���� � ����	�
�
�3�>�>�-����"5�q�9�9�:�:�:�	�
�
�3�>�>�-��C��"8�!�<�<�=�=�=�	�
�
�3�>�>�-����"5�6�6�7�7�7�������#����.�.�.�.�.rKc�|�t��}d}|�|t|ztj|���dS)Ns	fooblibar�rW)rrZrHrr\)r7r:�extras   r;�test_decompressor_unused_dataz<CompressorDecompressorTestCase.test_decompressor_unused_data�sJ��� � ��������]�U�%:�D�<L�,1�	 �	3�	3�	3�	3�	3rKc��t��}|�t|jt��tt
j��}|�t|jt��tt
j��}|�t|jt��tt
j
t���}|�t|jt��dSrd)rr*rr5rerr1rNr2rHr/r0rIs  r;�test_decompressor_bad_inputz:CompressorDecompressorTestCase.test_decompressor_bad_inputs���� � �����)�S�^�5E�F�F�F��t�~�.�.�����)�S�^�5E�F�F�F��t�0�1�1�����)�S�^�]�C�C�C��t��
�F�F�F�����)�S�^�]�C�C�C�C�CrKc��t��}|�t|jt��|�t|jt��dSrQ)rr*rr5rerIs  r;�test_decompressor_bug_28275z:CompressorDecompressorTestCase.test_decompressor_bug_28275sI��� � �����)�S�^�5E�F�F�F����)�S�^�5E�F�F�F�F�FrKc���t��}|�t��|���z}t	��}|�||tj��dSrQ)r
r3rUr4rrZrr\�r7r8�cdatar:s    r;�test_roundtrip_xzz0CompressorDecompressorTestCase.test_roundtrip_xzsW���������U�#�#�c�i�i�k�k�1��� � ������U�D�,<�=�=�=�=�=rKc���ttj��}|�t��|���z}t
��}|�||tj��dSrQ)	r
rr2r3rUr4rrZr]r�s    r;�test_roundtrip_alonez3CompressorDecompressorTestCase.test_roundtrip_alones[���T�.�/�/�����U�#�#�c�i�i�k�k�1��� � ������U�D�O�<�<�<�<�<rKc�&�ttjt���}|�t
��|���z}ttjt���}|�||tj	��dSrd�
r
rr/rqr3rUr4rrZr]r�s    r;�test_roundtrip_rawz1CompressorDecompressorTestCase.test_roundtrip_raw#sh���T�_�m�D�D�D�����U�#�#�c�i�i�k�k�1���t��
�F�F�F������U�D�O�<�<�<�<�<rKc��ttjt���}|�t
��}||�d��z
}||�d��z
}||�d��z
}||���z
}ttjt���}|�||tj	��dS)NrrKr�r�s    r;�test_roundtrip_raw_emptyz7CompressorDecompressorTestCase.test_roundtrip_raw_empty)s����T�_�m�D�D�D�����U�#�#��
����c�"�"�"��
����c�"�"�"��
����c�"�"�"��
���������t��
�F�F�F������U�D�O�<�<�<�<�<rKc	��t��}g}tdtt��d��D]:}|�|�t||dz������;|�|�����d�|��}t��}|�	||tj��dSru�r
rxryrUrzr3r4r{rrZrr\�r7r8r�r}r:s     r;�test_roundtrip_chunksz4CompressorDecompressorTestCase.test_roundtrip_chunks3s����������q�#�e�*�*�b�)�)�	6�	6�A��L�L����e�A�a��d�F�m�4�4�5�5�5�5�
���S�Y�Y�[�[�!�!�!��������� � ������U�D�,<�=�=�=�=�=rKc	��t��}g}tdtt��d��D]�}|�|�t||dz�����|�|�d����|�|�d����|�|�d������|�|�����d�|��}t��}|�	||tj��dSrur�r�s     r;�test_roundtrip_empty_chunksz:CompressorDecompressorTestCase.test_roundtrip_empty_chunks=s���������q�#�e�*�*�b�)�)�	,�	,�A��L�L����e�A�a��d�F�m�4�4�5�5�5��L�L����c�*�*�+�+�+��L�L����c�*�*�+�+�+��L�L����c�*�*�+�+�+�+�
���S�Y�Y�[�[�!�!�!��������� � ������U�D�,<�=�=�=�=�=rKc��t��}|�|ttztjt���dS)Nr�)rrZrHrNrr\rIs  r;�test_decompressor_multistreamz<CompressorDecompressorTestCase.test_decompressor_multistreamLsL��� � ������]�5E�%E� $� 0�>N�	 �	P�	P�	P�	P�	PrKr�r�)�size�memusec�v�t��}|�d|z��|���z}t�|��}	|�t
|��|��|�t
|�d����d��d}dS#d}wxYw)N�xr)r
r3r4rr5rTry�strip)r7r�r8r��ddatas     r;�test_compressor_bigmemz5CompressorDecompressorTestCase.test_compressor_bigmemSs����������T�D�[�)�)�C�I�I�K�K�7������&�&��	����S��Z�Z��.�.�.����S����T�!2�!2�3�3�Q�7�7�7��E�E�E��D�E�L�L�L�Ls
�AB4�4B8rc��t��}d}tj|��}	|||zdzz}t�|��}|�|��}|�||��dx}x}}dS#dx}x}}wxYw)Ni��)r�random�	randbytesrr3r5rT)r7r�r:�	blocksize�block�inputr�r�s        r;�test_decompressor_bigmemz7CompressorDecompressorTestCase.test_decompressor_bigmem_s���� � ��$�	�� ��+�+��	)��T�Y�.��2�3�E��M�M�%�(�(�E��N�N�5�)�)�E����U�E�*�*�*�$(�(�E�(�E�E�E�E��D�(�E�(�E�E�(�(�(�(s�AA>�>Bc��ttjdz��D]�}|�t��5tjt
��|��ddd��n#1swxYwY|�t��5tjt��|��ddd��n#1swxYwY��dS�Nr�)rx�pickle�HIGHEST_PROTOCOLr*r+�dumpsr
r)r7�protos  r;�test_picklez*CompressorDecompressorTestCase.test_pickleos/���6�2�Q�6�7�7�	8�	8�E��"�"�9�-�-�
6�
6���^�-�-�u�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��"�"�9�-�-�
8�
8���-�/�/��7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s#�"A'�'A+	�.A+	�"B:�:B>	�B>	c��tjtd��}t��}|��}t	d��D]}|����|�|��|z
dd���dS)N�gettotalrefcountr�rrv)�delta)r�
get_attribute�sysrrx�__init__�assertAlmostEqual)r7r�r:�refs_beforer}s     r;�&test_refleaks_in_decompressor___init__zECompressorDecompressorTestCase.test_refleaks_in_decompressor___init__vs���"�0��6H�I�I��� � ��&�&�(�(���s���	�	�A��L�L�N�N�N�N����/�/�1�1�K�?��"��M�M�M�M�MrKN�rK)(�__name__�
__module__�__qualname__r<rFrJrOrZr^r`rbrfrkrorsr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�skip_if_pgo_taskrrr�r�r��
refcount_testr�r"rKr;rrs�������&=�&=�&=�P	H�	H�	H�=�=�=�
G�G�G�7�7�7�7�H�H�H�F�F�F�H�H�H�H�H�H�H�H�H�H�H�H�H�H�H�
/�
/�
/�
/�
/�
/�/�/�/�@/�/�/�,/�/�/�*/�/�/� 3�3�3�D�D�D�G�G�G�>�>�>�=�=�=�=�=�=�=�=�=�>�>�>�>�>�>�P�P�P�
���Z�S�3�Y�q�)�)�)���*�)����
���Z�S�3�Y�q�)�)�)�
)�
)�*�)���
)�8�8�8�
��N�N���N�N�NrKrc�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�"CompressDecompressFunctionTestCasec�N�|�ttj��|�ttjg��|�ttjdd���|�ttjdd���|�ttjdd���|�ttjdd�	��|�t��5t�dd
dtjig���ddd��n#1swxYwY|�ttj��|�ttjg��|�ttjdd
���|�ttjdd���|�t��5t�dtji���ddd��n#1swxYwY|�t��5t�dtjd���ddd��n#1swxYwY|�t��5t�dt�	��ddd��n#1swxYwY|�t��5t�dtj	t���ddd��n#1swxYwY|�t��5t�dtj
t���ddd��dS#1swxYwYdS)NrK�xzr�noner�blahrrMrrr r!rg��1�Ar#r'r&�rr$)r*r+rr3r,r.r5r/r0r1r2rEs r;�
test_bad_argsz0CompressDecompressFunctionTestCase.test_bad_args�s������)�T�]�3�3�3����)�T�]�B�7�7�7����)�T�]�C���E�E�E����)�T�]�C�v��F�F�F����)�T�]�C���G�G�G����)�T�]�C���F�F�F�
�
�
�z�
*�
*�	N�	N��M�M�#�a�4��9J�2K�1L�M�M�M�M�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N�	N����	N�	N�	N�	N�	
���)�T�_�5�5�5����)�T�_�b�9�9�9����)�T�_�c�&��I�I�I����)�T�_�c�E��J�J�J�
�
�
�y�
)�
)�	E�	E��O�O�C����O�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E��
�
�z�
*�
*�	M�	M��O�O�C���)�O�L�L�L�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M����	M�	M�	M�	M��
�
�z�
*�
*�	8�	8��O�O�C��O�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�
�
�
�z�
*�
*�	O�	O��O�O�C���
�O�N�N�N�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O����	O�	O�	O�	O�
�
�
�z�
*�
*�	J�	J��O�O��� 1�=�
�
J�
J�
J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�	J�	Jsl�+D=�=E�E�=(H1�1H5�8H5�(J
�
J�J�/"K�K!�$K!�-L;�;L?�L?� -N�N�!Nc�&�|�t��5t�td���ddd��n#1swxYwY|�t��5t�ttjd���ddd��n#1swxYwY|�t��5t�ttjd���ddd��dS#1swxYwYdS)NrMr#r�)r*rrr5rHr1rNr2rEs r;�test_decompress_memlimitz;CompressDecompressFunctionTestCase.test_decompress_memlimit�s���
�
�
�y�
)�
)�	:�	:��O�O�M�D�O�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�
�
�
�y�
)�
)�	I�	I��O�O�!�$�.�4�
�
I�
I�
I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I��
�
�y�
)�
)�	O�	O��O�O�$�T�->��
�
O�
O�
O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O����	O�	O�	O�	O�	O�	Os5�"A	�	A
�A
�.-B'�'B+�.B+�-D�D
�
D
c�b�t�t��}|�|t��t�t
��}|�|t��t�ttj��}|�|t��t�t
tj��}|�|t��t�ttj	t���}|�|t��t�ttj	t���}|�|t��t�ttj	t���}|�|t��t�ttj	t ���}|�|t��dSrd)rr5rHrTrUrNr1r2rer/r0rjrirnrmrrrq�r7r�s  r;�test_decompress_good_inputz=CompressDecompressFunctionTestCase.test_decompress_good_input�s������
�.�.�������&�&�&���� 0�1�1�������&�&�&����
�t�~�>�>�������&�&�&���� 0�$�2C�D�D�������&�&�&���� �$�/�=� �J�J�������&�&�&���� �$�/�=� �J�J�������&�&�&���� �$�/�=� �J�J�������&�&�&���� �$�/�=� �J�J�������&�&�&�&�&rKc��|�ttjtdd���|�ttjt
dd���|�ttjtdd�tjt���|�ttjtdd�tjt���|�ttjtdd�tjt���|�ttjtdd�tjt���dS)N�r')r*rrr5rHrNrer/r0rjrirnrmrrrqrEs r;� test_decompress_incomplete_inputzCCompressDecompressFunctionTestCase.test_decompress_incomplete_input�s9�����)�T�_�m�D�S�D�6I�J�J�J����)�T�_�6F�t��t�6L�M�M�M����)�T�_�6F�t��t�6L�!%��-�	�	I�	I�	I����)�T�_�6F�t��t�6L�!%��-�	�	I�	I�	I����)�T�_�6F�t��t�6L�!%��-�	�	I�	I�	I����)�T�_�6F�t��t�6L�!%��-�	�	I�	I�	I�	I�	IrKc��|�t��5t�t��ddd��n#1swxYwY|�t��5t�t
��ddd��n#1swxYwY|�t��5t�ttj���ddd��n#1swxYwY|�t��5t�ttj	���ddd��n#1swxYwY|�t��5t�ttj
t���ddd��dS#1swxYwYdS�Nrr')r*rrr5�COMPRESSED_BOGUSrerNr1rHr2r/r0rEs r;�test_decompress_bad_inputz<CompressDecompressFunctionTestCase.test_decompress_bad_input�s���
�
�
�y�
)�
)�	.�	.��O�O�,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
�
�y�
)�
)�	.�	.��O�O�,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
�
�y�
)�
)�	E�	E��O�O�,�T�^�O�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�
�
�
�y�
)�
)�	E�	E��O�O�M�$�2C�O�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�
�
�
�y�
)�
)�	3�	3��O�O�M�$�/�$1�
�
3�
3�
3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3sY� A�A�A�, B�B�B�=,C5�5C9�<C9�,E�E�E�72F6�6F:�=F:c��t�t��}t�|��}|�|t��t�ttj��}t�|��}|�|t��t�ttj��}t�|��}|�|t��t�ttjt���}t�|tjt���}|�|t��dSrd)	rr3rUr5rTr1r2r/rq)r7r�r�s   r;�test_roundtripz1CompressDecompressFunctionTestCase.test_roundtrip�s���
�
�e�$�$������&�&�������&�&�&��
�
�e�T�^�4�4������&�&�������&�&�&��
�
�e�T�%6�7�7������&�&�������&�&�&��
�
�e�T�_�m�
�L�L������t��
��N�N�������&�&�&�&�&rKc��t�ttz��}|�|t
dz��dS)Nr�)rr5rHrNrTrUr�s  r;�test_decompress_multistreamz>CompressDecompressFunctionTestCase.test_decompress_multistream�s9�����
�0@� @�A�A��������	�*�*�*�*�*rKc��t�ttz��}|�|t
��dSrQ�rr5rHr�rTrUr�s  r;�test_decompress_trailing_junkz@CompressDecompressFunctionTestCase.test_decompress_trailing_junk�s5�����
�0@� @�A�A�������&�&�&�&�&rKc��t�tdztz��}|�|t
dz��dS)Nrr�r�s  r;�)test_decompress_multistream_trailing_junkzLCompressDecompressFunctionTestCase.test_decompress_multistream_trailing_junks>�����
�� 1�4D� D�E�E��������	�*�*�*�*�*rKN)r�r�r�r�r�r�r�r�r�r�r�r�r"rKr;r�r��s�������J�J�J�:O�O�O�'�'�'�:
I�
I�
I�3�3�3�'�'�'�&+�+�+�'�'�'�+�+�+�+�+rKr�c�&�eZdZdZdd�Zd�Zd�ZdS)�TempFilez=Context manager - creates a file, and deletes it on __exit__.rKc�"�||_||_dSrQ)�filenamerX)r7r�rXs   r;r�zTempFile.__init__
s�� ��
���	�	�	rKc��t|jd��5}|�|j��ddd��dS#1swxYwYdS)N�wb)�openr��writerX�r7�fs  r;�	__enter__zTempFile.__enter__s���
�$�-��
&�
&�	�!�
�G�G�D�I����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�>�A�Ac�.�t|j��dSrQ)rr�)r7�argss  r;�__exit__zTempFile.__exit__s���t�}�����rKNr�)r�r�r��__doc__r�r�rr"rKr;r�r�sL������G�G������������rKr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?S)@�FileTestCasec��ttt����5}	ddd��n#1swxYwYtt��d��5}	ddd��n#1swxYwYtt��d��5}	ddd��n#1swxYwYtt��d��5}	ddd��dS#1swxYwYdS)N�w�x�a)rrrHr�s  r;�	test_initzFileTestCase.test_inits���
�g�m�,�,�
-�
-�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�g�i�i��
%�
%�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�g�i�i��
%�
%�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�g�i�i��
%�
%�	���	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sB�0�4�4�A%�%A)�,A)�B�B�!B�C�C�Cc�n�tjt��}t|t��5t|��5}|�|���t��ddd��n#1swxYwYt|d��5}|�	t��ddd��n#1swxYwYt|��5}|�|���tdz��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr	r�)
�pathlib�Pathr
r�rHrrT�readrUr�)r7r�r�s   r;� test_init_with_PathLike_filenamez-FileTestCase.test_init_with_PathLike_filename"s����<��'�'��
�h�
�
.�
.�	6�	6��(�#�#�
2�q�� � ������5�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2��(�C�(�(�
�A��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��(�#�#�
6�q�� � ������5�1�9�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s|�D*�.A9�-D*�9A=	�=D*�A=	�D*�B;�/D*�;B?	�?D*�B?	�D*�1D�D*�D	�D*�D	�D*�*D.�1D.c�~�ttt��5tt��5}	ddd��n#1swxYwYttd��5}	ddd��n#1swxYwYttd��5}	ddd��n#1swxYwYddd��dS#1swxYwYdS)Nrr	)r�r
rHrr�s  r;�test_init_with_filenamez$FileTestCase.test_init_with_filename,s���
�f�m�
,�
,�	�	��&�!�!�
�Q��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�#�&�&�
�!��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�#�&�&�
�!��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sy�B2�>�B2�A	�B2�A	�B2�A,� B2�,A0	�0B2�3A0	�4B2�B�B2�B	�B2�!B	�"B2�2B6�9B6c��tt��5ttd��5	ddd��n#1swxYwYttd��5	ddd��n#1swxYwYttd��5	ddd��n#1swxYwYttd��5	ddd��n#1swxYwYttd��5	ddd��n#1swxYwYttd��5	ddd��n#1swxYwYddd��dS#1swxYwYdS)N�r�rbrr�r	�ab)r�r
rrEs r;�test_init_modezFileTestCase.test_init_mode5s���
�f�
�
�	�	��&�#�&�&�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�$�'�'�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�#�&�&�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�$�'�'�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�#�&�&�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�$�'�'�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��D7�9�D7�=	�D7�=	�D7�A'�D7�'A+	�+D7�.A+	�/D7�B�	D7�B	�D7�B	�D7�5C�7D7�C	�D7�
C	�D7�#C1�%D7�1C5	�5D7�8C5	�9D7�D�D7�D#	�#D7�&D#	�'D7�7D;�>D;c��|�tt��dD]�}tt��tt|��5	ddd��n#1swxYwY|�t
��5tt|��5	ddd��n#1swxYwYddd��n#1swxYwY��dS)N)r�xb)�
addCleanuprr
rr*�FileExistsError)r7�modes  r;�test_init_with_x_modez"FileTestCase.test_init_with_x_modeDst�������'�'�'��	�	�D��6�N�N�N��&�$�'�'�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�?�3�3�
�
��f�d�+�+����������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��		�	sH�A�A 	�#A 	�B<�B%�B<�%B)�)B<�,B)�-B<�<C	�C	c�@�|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d��ddd��n#1swxYwY|�t��5ttt��d	��ddd��n#1swxYwY|�t��5ttt��d
��ddd��n#1swxYwY|�t��5ttt��d��ddd��dS#1swxYwYdS)N)rrr�xtzx+�rx�wx�rtzr+�wtzw+�rw)r*r,rrrHrEs r;�test_init_bad_modezFileTestCase.test_init_bad_modeNs���
�
�
�z�
*�
*�	7�	7��W�]�+�+�X�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�
�
�z�
*�
*�	1�	1��W�]�+�+�R�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�z�
*�
*�	3�	3��W�]�+�+�T�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s��#A
�
A�A�/#B�B"�%B"�#C2�2C6�9C6�#E�E
�
E
�+#F�F�!F�?#G.�.G2�5G2�#I�I�	I�'#J�J�J�;#K*�*K.�1K.�#L>�>M�M�##N�N�Nc���|�t��5tt��dd���ddd��n#1swxYwY|�t��5tt��dt
j���ddd��n#1swxYwY|�t��5tt��dt
jdz���ddd��n#1swxYwY|�t��5ttt��t
j
���ddd��n#1swxYwY|�t��5ttt��t
j���ddd��n#1swxYwY|�t��5ttt��t
j���ddd��n#1swxYwY|�t��5ttt��t
j
���ddd��n#1swxYwY|�t��5ttt��t
j���ddd��dS#1swxYwYdS)Nrsasdrr)r*r+rrrr�
CHECK_UNKNOWN�CHECK_ID_MAXr,rHr]�CHECK_CRC32r\�CHECK_SHA256rEs r;�test_init_bad_checkz FileTestCase.test_init_bad_checkfs���
�
�
�y�
)�
)�	3�	3��W�Y�Y��6�2�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��
�
�y�
)�
)�	?�	?��W�Y�Y��4�+=�>�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�
�
�
�y�
)�
)�	B�	B��W�Y�Y��4�+<�q�+@�A�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B��
�
�z�
*�
*�	D�	D��W�]�+�+�4�?�C�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�
�
�
�z�
*�
*�	E�	E��W�]�+�+�4�3C�D�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�
�
�
�z�
*�
*�	E�	E��W�]�+�+�4�3C�D�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�
�
�
�z�
*�
*�	F�	F��W�]�+�+�4�3D�E�E�E�E�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�
�
�
�z�
*�
*�	G�	G��W�]�+�+�4�3E�F�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G�	G�	Gs��A�A
�
A
�+)B � B$�'B$�,C=�=D�D�".E�E �#E �.F;�;F?�F?� .H�H�!H�?.I9�9I=�I=�.K�K� Kc�r�|�t��5tt��dd���ddd��n#1swxYwY|�t��5tt��dd���ddd��n#1swxYwY|�t��5tt��dd���ddd��n#1swxYwY|�t
��5tt��dd���ddd��n#1swxYwY|�t
��5tt��dd���ddd��n#1swxYwY|�t��5tt��dd���ddd��n#1swxYwY|�t��5ttt��d	���ddd��dS#1swxYwYdS)
Nrg��(\�@rrv�r�i����rBr)r*r+rrr�
OverflowErrorr,rHrEs r;�test_init_bad_presetz!FileTestCase.test_init_bad_presetzs���
�
�
�y�
)�
)�	2�	2��W�Y�Y��D�1�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
�
�
�y�
)�
)�	0�	0��W�Y�Y��B�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
�
�y�
)�
)�	0�	0��W�Y�Y��B�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
�
�}�
-�
-�	0�	0��W�Y�Y��B�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
�
�}�
-�
-�	0�	0��W�Y�Y��B�/�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
�
�y�
)�
)�	3�	3��W�Y�Y��E�2�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��
�
�z�
*�
*�	7�	7��W�]�+�+�A�6�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s}�A�A
�
A
�+B�B�B�;C&�&C*�-C*�D6�6D:�=D:�F�F
�
F
�+G�G�G�;$H,�,H0�3H0c�*�|�t��5tt��ddg���ddd��n#1swxYwY|�t��5tt��dddig���ddd��n#1swxYwY|�t��5tt��dddig���ddd��n#1swxYwY|�t��5tt��dt
jdd	�g���ddd��n#1swxYwY|�t��5tt��dt
jdd	�g���ddd��n#1swxYwY|�t��5tt��dt
jdd	�g���ddd��dS#1swxYwYdS)
Nrr>rr?rr r@rrA)	r*r+rrr,rr.rCrDrEs r;�test_init_bad_filter_specz&FileTestCase.test_init_bad_filter_spec�s���
�
�
�y�
)�
)�	;�	;��W�Y�Y��j�\�:�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�
�
�
�z�
*�
*�	=�	=��W�Y�Y��w��l�^�<�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�
�
�
�z�
*�
*�	>�	>��W�Y�Y��t�U�m�_�=�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�
�
�
�z�
*�
*�	D�	D��W�Y�Y��%)�%6�q�A�A�B�
D�
D�
D�
D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D��
�
�z�
*�
*�	D�	D��W�Y�Y��%)�%6�q�A�A�B�
D�
D�
D�
D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D��
�
�z�
*�
*�	B�	B��W�Y�Y��%)�_�Q�?�?�@�
B�
B�
B�
B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	Bsk� A�A�A�,"B�B�!B�?"C-�-C1�4C1�-E�E�E�0-F)�)F-�0F-�-H�H�Hc���|�t��5tt��dtjdt���ddd��dS#1swxYwYdS)Nr�)rrr)r*r,rrrr/r0rEs r;�!test_init_with_preset_and_filtersz.FileTestCase.test_init_with_preset_and_filters�s���
�
�
�z�
*�
*�	6�	6��W�Y�Y��D�O��}�
6�
6�
6�
6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�0A�A�Ac�T�tt��5}t|��}|���|�|j��|���|�|j��ddd��n#1swxYwYt
tt��5tt��}|j}|���|�	|j��|���ddd��dS#1swxYwYdSrQ)
rrHr�closerR�closedr�r
�_fprV)r7�srcr��fps    r;�
test_closezFileTestCase.test_close�sk��
�]�
#�
#�	)�s���
�
�A�
�G�G�I�I�I����S�Z�(�(�(�
�G�G�I�I�I����S�Z�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)��f�m�
,�
,�	�	��� � �A���B�
�G�G�I�I�I��O�O�B�I�&�&�&�
�G�G�I�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s%�A,B
�
B�B�2AD�D!�$D!c�h�ttt����}	|�|j��|���|�|j��|���n#|���wxYw|�|j��tt��d��}	|�|j��|���n#|���wxYw|�|j��dS�Nr)rrrHrRr6rr5rVr�s  r;�test_closedzFileTestCase.test_closed�s����W�]�+�+�,�,��	����Q�X�&�&�&�
�F�F�H�H�H����Q�X�&�&�&�
�G�G�I�I�I�I��A�G�G�I�I�I�I���������!�!�!��W�Y�Y��$�$��	����Q�X�&�&�&�
�G�G�I�I�I�I��A�G�G�I�I�I�I���������!�!�!�!�!s�AB�B�C?�?Dc�*�ttt����}	|�t|j��|���n#|���wxYw|�t|j��ttt��5tt��}	|�
|���|j�����|�|���t��|���n#|���wxYw	ddd��n#1swxYwY|�t|j��dSrQ)rrrHr*r�filenor5r,r�r
rTr7�assertIsInstance�intr�s  r;�test_filenozFileTestCase.test_fileno�sn���W�]�+�+�,�,��	����2�A�H�=�=�=�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�h�/�/�/�
�f�m�
,�
,�	�	��� � �A�
�� � ������Q�U�\�\�^�^�<�<�<��%�%�a�h�h�j�j�#�6�6�6����	�	�	�	�����	�	�	�	����	�
	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
���*�a�h�/�/�/�/�/s6� A�A.�+E(�A,E�-E(�E�E(�(E,�/E,c��ttt����}	|�|�����|���|�|�����|���n#|���wxYw|�t|j��tt��d��}	|�	|�����|���n#|���wxYw|�t|j��tt��}d�|_t|��}	|�	|�����|���n#|���wxYw|�t|j��dS)Nrc��dS)NFr"r"rKr;�<lambda>z,FileTestCase.test_seekable.<locals>.<lambda>�s��u�rK)
rrrHrV�seekablerr5r*r,rR)r7r�r8s   r;�
test_seekablezFileTestCase.test_seekable�s����W�]�+�+�,�,��	��O�O�A�J�J�L�L�)�)�)�
�F�F�H�H�H��O�O�A�J�J�L�L�)�)�)�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�j�1�1�1��W�Y�Y��$�$��	����Q�Z�Z�\�\�*�*�*�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�j�1�1�1��m�$�$��$�}����S�M�M��	����Q�Z�Z�\�\�*�*�*�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�j�1�1�1�1�1s$�A"B�B0�0'D,�,E�'G
�
G#c���ttt����}	|�|�����|���|�|�����|���n#|���wxYw|�t|j��tt��d��}	|�	|�����|���n#|���wxYw|�t|j��dSr<)
rrrHrV�readablerr5r*r,rRr�s  r;�
test_readablezFileTestCase.test_readable�s	���W�]�+�+�,�,��	��O�O�A�J�J�L�L�)�)�)�
�F�F�H�H�H��O�O�A�J�J�L�L�)�)�)�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�j�1�1�1��W�Y�Y��$�$��	����Q�Z�Z�\�\�*�*�*�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�j�1�1�1�1�1��A"B�B0�0'D,�,Ec���ttt����}	|�|�����|���|�|�����|���n#|���wxYw|�t|j��tt��d��}	|�	|�����|���n#|���wxYw|�t|j��dSr<)
rrrHrR�writablerr5r*r,rVr�s  r;�
test_writablezFileTestCase.test_writables���W�]�+�+�,�,��	����Q�Z�Z�\�\�*�*�*�
�F�F�H�H�H����Q�Z�Z�\�\�*�*�*�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�j�1�1�1��W�Y�Y��$�$��	��O�O�A�J�J�L�L�)�)�)�
�G�G�I�I�I�I��A�G�G�I�I�I�I�������*�a�j�1�1�1�1�1rKc�X	�ttt����5}|�|���t
��|�|���d��ddd��n#1swxYwYttt����5}|�|���t
��ddd��n#1swxYwYttt��tj���5}|�|���t
��|�|���d��ddd��n#1swxYwYttt��tj	���5}|�|���t
��|�|���d��ddd��n#1swxYwYttt��tjt���5}|�|���t
��|�|���d��ddd��n#1swxYwYttt��tjt���5}|�|���t
��|�|���d��ddd��n#1swxYwYttt��tjt ���5}|�|���t
��|�|���d��ddd��n#1swxYwYttt"��tjt$���5}|�|���t
��|�|���d��ddd��dS#1swxYwYdS)NrKrr')rrrHrTrrUrNrr1r2rer/r0rjrirnrmrrrqr�s  r;�	test_readzFileTestCase.test_reads���
�g�m�,�,�
-�
-�	,�����Q�V�V�X�X�u�-�-�-����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��g�.�/�/�
0�
0�	.�A����Q�V�V�X�X�u�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�g�m�,�,�T�^�
D�
D�
D�	,�����Q�V�V�X�X�u�-�-�-����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��g�.�/�/��8I�
J�
J�
J�	,�a����Q�V�V�X�X�u�-�-�-����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��g�.�/�/�!�_�m�E�E�E�	,�HI����Q�V�V�X�X�u�-�-�-����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��g�.�/�/�!�_�m�E�E�E�	,�HI����Q�V�V�X�X�u�-�-�-����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��g�.�/�/�!�_�m�E�E�E�	,�HI����Q�V�V�X�X�u�-�-�-����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��g�.�/�/�!�_�m�E�E�E�	,�HI����Q�V�V�X�X�u�-�-�-����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s��AB�B�B�0.C*�*C.�1C.�"AF�F�F�<AH�H"�%H"�AJ>�>K�K�<AM�M"�%M"�AO>�>P�P�<AR�R#�&R#c�H�ttt����5}|�|�d��d��ddd��n#1swxYwYttt
����5}|�|�d��d��ddd��n#1swxYwYttt��tj���5}|�|�d��d��ddd��n#1swxYwYttt
��tj���5}|�|�d��d��ddd��dS#1swxYwYdS)NrrKr)	rrrHrTrrNrr1r2r�s  r;�test_read_0zFileTestCase.test_read_0/sB��
�g�m�,�,�
-�
-�	-�����Q�V�V�A�Y�Y��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
�g�.�/�/�
0�
0�	-�A����Q�V�V�A�Y�Y��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
�g�m�,�,�T�^�
D�
D�
D�	-�����Q�V�V�A�Y�Y��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
�g�.�/�/��8I�
J�
J�
J�	-�a����Q�V�V�A�Y�Y��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-sG�*A�A�A�*B:�:B>�B>�2*D(�(D,�/D,� *F�F�Fc�~�ttt����5}g}	|�d��}|sn9|�t|��d��|�|���Q|�d�|��t��ddd��dS#1swxYwYdS�NTrvrK)
rrrHrr�ryrzrTr{rU)r7r��chunks�results    r;�test_read_10zFileTestCase.test_read_109s���
�g�m�,�,�
-�
-�	6���F�
&������������$�$�S��[�[�"�5�5�5��
�
�f�%�%�%�
&�
���S�X�X�f�-�-�u�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�BB2�2B6�9B6c��tttdz����5}|�|���t
dz��ddd��n#1swxYwYttttz����5}|�|���t
dz��ddd��n#1swxYwYtttdz��tj	t���5}|�|���t
dz��ddd��dS#1swxYwYdS)Nr�r��r')rrrHrTrrUrNrnrr/rmr�s  r;�test_read_multistreamz"FileTestCase.test_read_multistreamDs���
�g�m�a�/�0�0�
1�
1�	2�Q����Q�V�V�X�X�u�q�y�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
�g�m�.>�>�?�?�
@�
@�	2�A����Q�V�V�X�X�u�q�y�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
�g�.��2�3�3�!�_�m�E�E�E�	2�HI����Q�V�V�X�X�u�q�y�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s5�1A"�"A&�)A&�1C�C�C�1E�E�Ec�n�tj}tt��t_	t	ttdz����5}|�|���tdz��ddd��n#1swxYwY|t_dS#|t_wxYw�Nr�)	�_compression�BUFFER_SIZEryrHrrrTrrU)r7�saved_buffer_sizer�s   r;�)test_read_multistream_buffer_size_alignedz6FileTestCase.test_read_multistream_buffer_size_alignedMs���)�4��#&�}�#5�#5�� �	9��'�-�1�"4�5�5�6�6�
6�!�� � ������5�1�9�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�(9�L�$�$�$��'8�L�$�8�8�8�8s/�$B&�1B
�B&�
B�B&�B�B&�&B4c���ttttz����5}|�|���t��ddd��dS#1swxYwYdSrQ�rrrHr�rTrrUr�s  r;�test_read_trailing_junkz$FileTestCase.test_read_trailing_junkXs���
�g�m�.>�>�?�?�
@�
@�	.�A����Q�V�V�X�X�u�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�.A%�%A)�,A)c���tttdztz����5}|�|���tdz��ddd��dS#1swxYwYdSr\rbr�s  r;�#test_read_multistream_trailing_junkz0FileTestCase.test_read_multistream_trailing_junk\s���
�g�m�a�/�2B�B�C�C�
D�
D�	2�����Q�V�V�X�X�u�q�y�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s�1A+�+A/�2A/c�n�ttt��5tt��5}|�|���t��|�|���d��ddd��n#1swxYwYddd��dS#1swxYwYdS)NrK)r�r
rHrrTrrUr�s  r;�test_read_from_filez FileTestCase.test_read_from_file`s��
�f�m�
,�
,�	0�	0��&�!�!�
0�Q�� � ������5�1�1�1�� � ������3�/�/�/�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s5�B*�AB�B*�B	�B*�B	�B*�*B.�1B.c���	tjd��}n%#t$r|�d��YnwxYwt	tt
��5t
|��5}|�|���t��|�|���d��ddd��n#1swxYwYddd��dS#1swxYwYdS)N�ascii�%Temporary file name needs to be ASCIIrK)
r
�encode�UnicodeEncodeError�skipTestr�rHrrTrrU)r7�bytes_filenamer�s   r;�'test_read_from_file_with_bytes_filenamez4FileTestCase.test_read_from_file_with_bytes_filenamefsa��	C�#�]�7�3�3�N�N��!�	C�	C�	C��M�M�A�B�B�B�B�B�	C����
�f�m�
,�
,�	0�	0��.�)�)�
0�Q�� � ������5�1�1�1�� � ������3�/�/�/�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0sC��9�9�C �&AC�<C �C	�C �C	�C � C$�'C$c���tttdd�����5}|�t|j��ddd��dS#1swxYwYdS)Nr�)rrrHr*r6rr�s  r;�test_read_incompletez!FileTestCase.test_read_incompleteps���
�g�m�D�S�D�1�2�2�
3�
3�	0�q����h���/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s�!A�A�Ac���tdd�}tt|����5}|�t|j��ddd��n#1swxYwYtt|����5}|�|�tt����t��|�t|jd��ddd��n#1swxYwYtd��D]_}tt|d|�����5}|�t|jd��ddd��n#1swxYwY�`dS)Ni�r��)
rHrrr*r6rrTryrUrx)r7�	truncatedr�r}s    r;�test_read_truncatedz FileTestCase.test_read_truncatedts���"�$�3�$�'�	�
�g�i�(�(�
)�
)�	0�Q����h���/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�g�i�(�(�
)�
)�	3�Q����Q�V�V�C��J�J�/�/��7�7�7����h����2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��r���	7�	7�A��'�)�B�Q�B�-�0�0�1�1�
7�Q��!�!�(�A�F�A�6�6�6�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7����
7�
7�
7�
7��	7�	7s6�!A�A� A�A"C.�.C2�5C2�."E�E 	�#E 	c�&�ttt����}|���|�t
|j��tt��d��5}|�t
|j��ddd��n#1swxYwYttt����5}|�t|jt����ddd��dS#1swxYwYdSr<)	rrrHr5r*r,rr+�floatr�s  r;�test_read_bad_argszFileTestCase.test_read_bad_args�sO���W�]�+�+�,�,��	���	�	�	����*�a�f�-�-�-�
�g�i�i��
%�
%�	2�����j�!�&�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�
�g�m�,�,�
-�
-�	:�����i������9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s$�2!B�B#�&B#�.D�D
�
D
c��ttt����5}|�t|j��ddd��dS#1swxYwYdSrQ)rrr�r*rrr�s  r;�test_read_bad_datazFileTestCase.test_read_bad_data�s���
�g�.�/�/�
0�
0�	1�A����i���0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s�!A�A�Ac��ttt����5}g}	|���}|sn|�|���-|�d�|��t��|�|���d��ddd��dS#1swxYwYdS)NTrK�rrrH�read1rzrTr{rU�r7r��blocksrVs    r;�
test_read1zFileTestCase.test_read1�s���
�g�m�,�,�
-�
-�	-���F�
&�����������
�
�f�%�%�%�	
&�

���S�X�X�f�-�-�u�5�5�5����Q�W�W�Y�Y��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�BB6�6B:�=B:c���ttt����5}|�|�d��d��ddd��dS#1swxYwYdS)NrrK)rrrHrTr}r�s  r;�test_read1_0zFileTestCase.test_read1_0�s���
�g�m�,�,�
-�
-�	.�����Q�W�W�Q�Z�Z��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�*A�A� Ac��ttt����5}g}	|�d��}|sn|�|���.|�d�|��t��|�|���d��ddd��dS#1swxYwYdSrTr|r~s    r;�
test_read1_10zFileTestCase.test_read1_10�s���
�g�m�,�,�
-�
-�	-���F�
&������������
�
�f�%�%�%�	
&�

���S�X�X�f�-�-�u�5�5�5����Q�W�W�Y�Y��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�BB7�7B;�>B;c��tttdz����5}g}	|���}|sn|�|���-|�d�|��tdz��|�|���d��ddd��dS#1swxYwYdS)Nr�TrKr|r~s    r;�test_read1_multistreamz#FileTestCase.test_read1_multistream�s���
�g�m�a�/�0�0�
1�
1�	-�Q��F�
&�����������
�
�f�%�%�%�	
&�

���S�X�X�f�-�-�u�q�y�9�9�9����Q�W�W�Y�Y��,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�B
B<�<C�Cc��ttt����}|���|�t
|j��tt��d��5}|�t
|j��ddd��n#1swxYwYttt����5}|�t|jd��ddd��dS#1swxYwYdSr<)rrrHr5r*r,r}r+r�s  r;�test_read1_bad_argsz FileTestCase.test_read1_bad_args�sK���W�]�+�+�,�,��	���	�	�	����*�a�g�.�.�.�
�g�i�i��
%�
%�	3�����j�!�'�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�g�m�,�,�
-�
-�	8�����i���$�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s$�2!B�B#�&B#�"C:�:C>�C>c�2�ttt����5}|���}|�t|��d��|�t�|����|�	|�
��t��ddd��n#1swxYwYttt����5}|�d��}|�t|��d��|�t�|����|�	|�
��t��ddd��dS#1swxYwYdS)Nrrv)rrrH�peek�
assertGreaterryrVrU�
startswithrTr)r7r�rVs   r;�	test_peekzFileTestCase.test_peek�s���
�g�m�,�,�
-�
-�	.���V�V�X�X�F����s�6�{�{�A�.�.�.��O�O�E�,�,�V�4�4�5�5�5����Q�V�V�X�X�u�-�-�-�		.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�g�m�,�,�
-�
-�	.���V�V�B�Z�Z�F����s�6�{�{�A�.�.�.��O�O�E�,�,�V�4�4�5�5�5����Q�V�V�X�X�u�-�-�-�		.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s%�BC�C�C�,BF�F�Fc��tt��d��5}|�t|j��ddd��dS#1swxYwYdSr<)rrr*r,r�r�s  r;�test_peek_bad_argszFileTestCase.test_peek_bad_args�s���
�g�i�i��
%�
%�	2�����j�!�&�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s�!A�A�Ac��tt��5}|���}ddd��n#1swxYwYttt����5}|�t
t|����|��ddd��n#1swxYwYttt����5}|�t
t|����|��ddd��n#1swxYwYttt��tj
���5}|�t
t|����|��ddd��n#1swxYwYttt��tj���5}|�t
t|����|��ddd��n#1swxYwYttt��tj
t���5}|�t
t|����|��ddd��dS#1swxYwYdSr�)rrU�	readlinesrrH�assertListEqual�list�iterrNrr1r2rjr/ri�r7r��liness   r;�
test_iteratorzFileTestCase.test_iterator�sT��
�U�^�^�	"�q��K�K�M�M�E�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�g�m�,�,�
-�
-�	7��� � ��d�1�g�g����6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�g�.�/�/�
0�
0�	7�A�� � ��d�1�g�g����6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�g�m�,�,�T�^�
D�
D�
D�	7��� � ��d�1�g�g����6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�g�.�/�/��8I�
J�
J�
J�	7�a�� � ��d�1�g�g����6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�g�.�/�/�!�_�m�E�E�E�	7�HI�� � ��d�1�g�g����6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7sf�6�:�:�"1B�B#�&B#�1D�D�D�1E=�=F�F�51G2�2G6�9G6�01I.�.I2�5I2c�V�tt��5}|���}ddd��n#1swxYwYttt����5}|D]*}|�|���|���+	ddd��dS#1swxYwYdSrQ)rrUr�rrHrT�readline)r7r�r��lines    r;�
test_readlinezFileTestCase.test_readline�s��
�U�^�^�	"�q��K�K�M�M�E�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�g�m�,�,�
-�
-�	5���
5�
5��� � ������t�4�4�4�4�
5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s�6�:�:�".B�B"�%B"c�J�tt��5}|���}ddd��n#1swxYwYttt����5}|�|���|��ddd��dS#1swxYwYdSrQ)rrUr�rrHr�r�s   r;�test_readlineszFileTestCase.test_readlines�s��
�U�^�^�	"�q��K�K�M�M�E�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�g�m�,�,�
-�
-�	7��� � �������6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s�6�:�:�")B�B�Bc��t�dtd��zd���}|�t	|��t
j��tt|����}|�	|�
d��d��dtz}|�|j
j���|d��dS)z-Decompressed data buffering should be limited�g��>Ar2rr�z)Excessive amount of data was decompressedN)rr3rA�
assertLessryr]r^rrrTrrr��_buffer�raw�tell)r7�bomb�decomp�
max_decomps    r;�test_decompress_limitedz$FileTestCase.test_decompress_limited�s����}�}�U�S��X�X�-�a�}�8�8������D�	�	�<�#;�<�<�<��'�$�-�-�(�(��������Q����/�/�/��,�,�
����V�^�/�4�4�6�6�
�7�	9�	9�	9�	9�	9rKc�(�t��5}t|d��5}|�t��ddd��n#1swxYwYt�t��}|�|���|��ddd��n#1swxYwYt��5}t|dtj���5}|�t��ddd��n#1swxYwYt�ttj���}|�|���|��ddd��n#1swxYwYt��5}t|dtj	���5}|�t��ddd��n#1swxYwYt�ttj	���}|�|���|��ddd��n#1swxYwYt��5}t|dtj
t���5}|�t��ddd��n#1swxYwYt�ttj
t���}|�|���|��ddd��dS#1swxYwYdS)Nrrr')rrr�rUrr3rT�getvaluer1r2r/ri)r7�dstr��expecteds    r;�
test_writezFileTestCase.test_write�sF��
�Y�Y�	7�#��#�s�#�#�
�q��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��}�}�U�+�+�H����S�\�\�^�^�X�6�6�6�		7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�Y�Y�	7�#��#�s�4�>�:�:�:�
�a��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��}�}�U�4�>�}�B�B�H����S�\�\�^�^�X�6�6�6�		7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�Y�Y�	7�#��#�s�4�+<�=�=�=�
���������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��}�}�U�4�3D�}�E�E�H����S�\�\�^�^�X�6�6�6�		7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�Y�Y�	7�#��#�s�4�?�"/�1�1�1�
�45��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��}�}�U�4�?�-:�%�<�<�H����S�\�\�^�^�X�6�6�6�
	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s��B%�A�B%�A	�B%�A	�A
B%�%B)�,B)�>E,�D�6E,�D	�E,�	D	�
AE,�,E0�3E0�H3�"G	�=H3�	G
	�
H3�G
	�AH3�3H7�:H7�#L�/J�
L�J	�L�J	�AL�L�Lc	���t��5}t|d��5}tdtt��d��D]'}|�t||dz����(	ddd��n#1swxYwYt�t��}|�|�	��|��ddd��dS#1swxYwYdS)Nrrrv)
rrrxryrUr�rr3rTr�)r7r�r��startr�s     r;�
test_write_10zFileTestCase.test_write_10sH��
�Y�Y�	7�#��#�s�#�#�
3�q�"�1�c�%�j�j�"�5�5�3�3�E��G�G�E�%��b��.�1�2�2�2�2�3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3��}�}�U�+�+�H����S�\�\�^�^�X�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s6�C�AA9�-C�9A=	�=C�A=	�A
C�C�Cc��tdd�}tdd�}tdd�}d�d�|||fD����}t��5}t|d��5}|�|��ddd��n#1swxYwYt|d��5}|�|��ddd��n#1swxYwYt|d��5}|�|��ddd��n#1swxYwY|�|���|��ddd��dS#1swxYwYdS)NrM�rKc3�JK�|]}t�|��V��dSrQ�rr3��.0rs  r;�	<genexpr>z1FileTestCase.test_write_append.<locals>.<genexpr>�.����L�L��D�M�M�!�,�,�L�L�L�L�L�LrKrr	)rUr{rrr�rTr�)r7�part1�part2�part3r�r�r�s       r;�test_write_appendzFileTestCase.test_write_appends-���e�t�e����d�4�i� ���d�e�e����8�8�L�L�u�e�U�6K�L�L�L�L�L��
�Y�Y�	7�#��#�s�#�#�
�q��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��#�s�#�#�
�q��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��#�s�#�#�
�q��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
����S�\�\�^�^�X�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s~�E�/B�E�B	�E�B	�E�,C�E�C	�E�C	�E�)D�?E�D	�E�D	�+E�E�Ec���	ttd��5}|�t��ddd��n#1swxYwYt�t��}t
td��5}|�|���|��ddd��n#1swxYwYtt��dS#tt��wxYw)Nrr)
rr
r�rUrr3r�rTrr)r7r�r�s   r;�test_write_to_filezFileTestCase.test_write_to_file"s*��	��&�#�&�&�
�!��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��}�}�U�+�+�H��f�d�#�#�
5�q�� � ������8�4�4�4�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�
�6�N�N�N�N�N��F�6�N�N�N�N���sO�C�>�C�A�C�A�7C�=)B2�&C�2B6�6C�9B6�:C�C)c�D�	tjd��}n%#t$r|�d��YnwxYw	t	|d��5}|�t��ddd��n#1swxYwYt�t��}ttd��5}|�
|���|��ddd��n#1swxYwYtt��dS#tt��wxYw)Nrirjrr)
r
rkrlrmrr�rUrr3r�rTrr)r7rnr�r�s    r;�&test_write_to_file_with_bytes_filenamez3FileTestCase.test_write_to_file_with_bytes_filename,sy��	C�#�]�7�3�3�N�N��!�	C�	C�	C��M�M�A�B�B�B�B�B�	C����	��.�#�.�.�
�!��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��}�}�U�+�+�H��f�d�#�#�
5�q�� � ������8�4�4�4�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�
�6�N�N�N�N�N��F�6�N�N�N�N���s_��9�9�D	�
A4�(D	�4A8�8D	�;A8�<7D	�3)C(�D	�(C,�,D	�/C,�0D	�	Dc�6�tdd�}tdd�}tdd�}d�d�|||fD����}	ttd��5}|�|��ddd��n#1swxYwYttd��5}|�|��ddd��n#1swxYwYttd��5}|�|��ddd��n#1swxYwYttd��5}|�|���|��ddd��n#1swxYwYtt��dS#tt��wxYw)NrMr�rKc3�JK�|]}t�|��V��dSrQr�r�s  r;r�z9FileTestCase.test_write_append_to_file.<locals>.<genexpr>>r�rKrr	r)	rUr{rr
r�r�rTrr)r7r�r�r�r�r�s      r;�test_write_append_to_filez&FileTestCase.test_write_append_to_file:sJ���e�t�e����d�4�i� ���d�e�e����8�8�L�L�u�e�U�6K�L�L�L�L�L��
	��&�#�&�&�
�!��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�#�&�&�
�!��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��&�#�&�&�
�!��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��f�d�#�#�
5�q�� � ������8�4�4�4�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�
�6�N�N�N�N�N��F�6�N�N�N�N���s��F�&B�<F�B�F�B�F�(C
�>F�
C�F�C�F�*D�F�D�F�D�F�,)E!�F�!E%�%F�(E%�)F�Fc��tt��d��}|���|�t|jd��ttt��d��5}|�t|jd��ddd��n#1swxYwYtt��d��5}|�t|jd��|�t|jd��|�t|jd��ddd��dS#1swxYwYdS)Nrr(rr)�texti)rrr5r*r,r�rHr+r�s  r;�test_write_bad_argsz FileTestCase.test_write_bad_argsKs����W�Y�Y��$�$��	���	�	�	����*�a�g�v�6�6�6�
�g�m�,�,�c�
2�
2�	;�a����j�!�'�6�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�
�g�i�i��
%�
%�	7�����i���$�7�7�7����i���&�9�9�9����i���#�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s%�4"B"�"B&�)B&�	A$D:�:D>�D>c���tt��5}|���}ddd��n#1swxYwYt��5}t|d��5}|�|��ddd��n#1swxYwYt
�t��}|�|���|��ddd��dS#1swxYwYdSr<)	rrUr�r�
writelinesrr3rTr�)r7r�r�r�r�s     r;�test_writelineszFileTestCase.test_writelinesVs{��
�U�^�^�	"�q��K�K�M�M�E�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�Y�Y�	7�#��#�s�#�#�
$�q����U�#�#�#�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$�
$����
$�
$�
$�
$��}�}�U�+�+�H����S�\�\�^�^�X�6�6�6�		7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7sC�6�:�:�C!� B�6C!�B	�C!�	B	�
A
C!�!C%�(C%c��ttt����5}|�d��|�|���tdd���ddd��dS#1swxYwYdS)Ni+�rrrH�seekrTrrUr�s  r;�test_seek_forwardzFileTestCase.test_seek_forward_s���
�g�m�,�,�
-�
-�	4��
�F�F�3�K�K�K����Q�V�V�X�X�u�S�T�T�{�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�AA:�:A>�A>c�>�tttdz����5}|�t	t
��dz��|�|���t
dd���ddd��dS#1swxYwYdS)Nr��{)rrrHr�ryrUrTrr�s  r;� test_seek_forward_across_streamsz-FileTestCase.test_seek_forward_across_streamsds���
�g�m�a�/�0�0�
1�
1�	4�Q�
�F�F�3�u�:�:��#�$�$�$����Q�V�V�X�X�u�S�T�T�{�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�A B�B�Bc�:�ttt����5}|�d��|�dd��|�|���tdd���ddd��dS#1swxYwYdS)Nr�i�r�i8�rrrHrr�rTrUr�s  r;�%test_seek_forward_relative_to_currentz2FileTestCase.test_seek_forward_relative_to_currentis���
�g�m�,�,�
-�
-�	5��
�F�F�3�K�K�K�
�F�F�4��O�O�O����Q�V�V�X�X�u�T�U�U�|�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s�A!B�B�Bc��ttt����5}|�dd��|�|���tdd���ddd��dS#1swxYwYdS)Ni���r�r�r�s  r;�!test_seek_forward_relative_to_endz.FileTestCase.test_seek_forward_relative_to_endo���
�g�m�,�,�
-�
-�	5��
�F�F�4��O�O�O����Q�V�V�X�X�u�T�U�U�|�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5��AA;�;A?�A?c�8�ttt����5}|�d��|�d��|�|���tdd���ddd��dS#1swxYwYdS)Ni���r�r�s  r;�test_seek_backwardzFileTestCase.test_seek_backwardts���
�g�m�,�,�
-�
-�	4��
�F�F�4�L�L�L�
�F�F�3�K�K�K����Q�V�V�X�X�u�S�T�T�{�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�A B�B�Bc�x�tttdz����5}|�t	t
��dz��|�d��|�|���t
dd�t
z��ddd��dS#1swxYwYdS)Nr�iMi�)rrrHrryrUr�rTr�s  r;�!test_seek_backward_across_streamsz.FileTestCase.test_seek_backward_across_streamszs���
�g�m�a�/�0�0�
1�
1�	<�Q�
�F�F�3�u�:�:��#�$�$�$�
�F�F�3�K�K�K����Q�V�V�X�X�u�S�T�T�{�U�':�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	<�	<s�A=B/�/B3�6B3c��ttt����5}|�dd��|�|���tdd���ddd��dS#1swxYwYdS)Nij���r�r�r�s  r;�"test_seek_backward_relative_to_endz/FileTestCase.test_seek_backward_relative_to_end�r�r�c��ttt����5}|�t	t
��dz��|�|���t	t
����|�|���d��ddd��dS#1swxYwYdS)N�)#rK)	rrrHr�ryrUrTr�rr�s  r;�test_seek_past_endzFileTestCase.test_seek_past_end�s���
�g�m�,�,�
-�
-�	,��
�F�F�3�u�:�:��$�%�%�%����Q�V�V�X�X�s�5�z�z�2�2�2����Q�V�V�X�X�s�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�B
B<�<C�Cc�N�ttt����5}|�d��|�|���d��|�|���t��ddd��dS#1swxYwYdS)Ni����r)rrrHr�rTr�rrUr�s  r;�test_seek_past_startz!FileTestCase.test_seek_past_start�s���
�g�m�,�,�
-�
-�	.��
�F�F�3�K�K�K����Q�V�V�X�X�q�)�)�)����Q�V�V�X�X�u�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s�A+B�B�!Bc���ttt����}|���|�t
|jd��tt��d��5}|�t
|jd��ddd��n#1swxYwYttt����5}|�t
|jdd��|�tt
f|jdd��|�t|jd��|�t|jd��ddd��dS#1swxYwYdS)Nrrr�	r"sderp)rrrHr5r*r,r�r+r�s  r;�test_seek_bad_argszFileTestCase.test_seek_bad_args�s����W�]�+�+�,�,��	���	�	�	����*�a�f�a�0�0�0�
�g�i�i��
%�
%�	5�����j�!�&�!�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�g�m�,�,�
-�
-�	:�����j�!�&�!�Q�7�7�7����y�*�5�q�v�q�"�E�E�E����i����6�6�6����i����9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s%�3"B!�!B%�(B%�
BE(�(E,�/E,c�\�ttt����5}d}	|�|���|��|�d��}|sn|t
|��z
}�S|�|���t
t����ddd��n#1swxYwYtt��d��5}tdt
t��d��D]O}|�|���|��|�	t||dz����P|�|���t
t����ddd��dS#1swxYwYdS)NrT�r�)
rrrHrTr�rryrUrxr�)r7r��posrVs    r;�	test_tellzFileTestCase.test_tell�s���
�g�m�,�,�
-�
-�	3���C�
#�� � ������3�/�/�/������������s�6�{�{�"��
#�
���Q�V�V�X�X�s�5�z�z�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3��g�i�i��
%�
%�	3���Q��E�
�
�C�0�0�
,�
,��� � ������3�/�/�/�����c�#�c�'�k�*�+�+�+�+����Q�V�V�X�X�s�5�z�z�2�2�2�		3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s%�BB?�?C�C�&B.F!�!F%�(F%c��ttt����}|���|�t
|j��dSrQ)rrrHr5r*r,r�r�s  r;�test_tell_bad_argszFileTestCase.test_tell_bad_args�sB���W�]�+�+�,�,��	���	�	�	����*�a�f�-�-�-�-�-rKc�f�t��}|�td���}|�t	|��d��|�|j��t��}|�td���}|�|j��|�|j��|�d��}|�t	|��d��|�|j��|�||z|��dS)Nr�r�ih3i]3rK�)	rr5�ISSUE_21872_DATrTryrVrSrRr�)r7�d1�entire�d2�out1�out2s      r;�test_issue21872zFileTestCase.test_issue21872�s���
�
������2��>�>������V���e�,�,�,���������
�
�
��
�}�}�_��}�?�?�������(�(�(������ � � ��}�}�S�!�!������T���B�'�'�'���������������f�-�-�-�-�-rKc�n�tjdgd���}t|��|jz}tt	��d��5}|�|�|��|��|�|���|��ddd��dS#1swxYwYdS)N�Q)r�r�rrYr�r)�arrayry�itemsizerrrTr�r�)r7�q�LENGTHr�s    r;�test_issue44439zFileTestCase.test_issue44439�s����K��_�_�_�-�-���Q���!�*�$��
�g�i�i��
%�
%�	/�����Q�W�W�Q�Z�Z��0�0�0����Q�V�V�X�X�v�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s�AB*�*B.�1B.N)Ar�r�r�r
rrrrr$r*r.r0r3r:r=rBrGrJrNrPrRrWrZr`rcrergrorqrurxrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r"rKr;rrs����������6�6�6����
�
�
����3�3�3�0G�G�G�(7�7�7�"B�B�B�"6�6�6�
���("�"�"�"0�0�0� 2�2�2�42�2�2�"2�2�2�",�,�,�:-�-�-�	6�	6�	6�2�2�2�	9�	9�	9�.�.�.�2�2�2�0�0�0�0�0�0�0�0�0�7�7�7�:�:�:�1�1�1�	-�	-�	-�.�.�.�	-�	-�	-�	-�	-�	-�8�8�8�
.�
.�
.�2�2�2�
7�
7�
7�5�5�5�7�7�7�	9�	9�	9�7�7�7�07�7�7�7�7�7����������"	7�	7�	7�7�7�7�4�4�4�
4�4�4�
5�5�5�5�5�5�
4�4�4�<�<�<�5�5�5�
,�,�,�.�.�.�:�:�:�3�3�3� .�.�.�
.�.�.�</�/�/�/�/rKrc�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�OpenTestCasec��t�tt��d��5}|�|���t��ddd��n#1swxYwYt��5}t�|d��5}|�t��ddd��n#1swxYwYt�|�	����}|�|t��t�|d��5}|�t��ddd��n#1swxYwYt�|�	����}|�|tdz��ddd��dS#1swxYwYdS)Nrr�rr�)
rr�rrHrTrrUr�r5r�)r7r��bio�	file_datas    r;�test_binary_modeszOpenTestCase.test_binary_modes�sE��
�Y�Y�w�}�-�-�t�
4�
4�	.�����Q�V�V�X�X�u�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�Y�Y�	3�#����3��%�%�
���������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
���������7�7�I����Y��.�.�.����3��%�%�
���������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
���������7�7�I����Y���	�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3sm�.A(�(A,�/A,�F:�C�8F:�C	�F:�C	�A%F:�1E�F:�E	�F:�E	� A
F:�:F>�F>c�(�t�d��}|�dtj��}t
�tt��dd���5}|�	|�
��|��ddd��n#1swxYwYt��5}t
�|dd���5}|�|��ddd��n#1swxYwYt
�|�
�����d��}|�	||��t
�|dd���5}|�|��ddd��n#1swxYwYt
�|�
�����d��}|�	||dz��ddd��dS#1swxYwYdS)Nri�
r!��encodingr"�atr�)rU�decode�replace�os�lineseprr�rrHrTrr�r5r�)r7�uncompressed�uncompressed_rawr�rrs      r;�test_text_modeszOpenTestCase.test_text_modes�s����|�|�G�,�,��'�/�/��b�j�A�A��
�Y�Y�w�}�-�-�t�g�Y�
F�
F�	5�!����Q�V�V�X�X�|�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�Y�Y�	>�#����3��w��7�7�
&�1�����%�%�%�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&����
&�
&�
&�
&���������7�7�>�>�w�G�G�I����Y�(8�9�9�9����3��w��7�7�
&�1�����%�%�%�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&����
&�
&�
&�
&���������7�7�>�>�w�G�G�I����Y�(8�1�(<�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>sn�*)B�B#�&B#�8H�C8�,H�8C<	�<H�?C<	�A5H�5F�H�F	�H�F	�AH�H�Hc�*�tt��5t�td��5}|�t
��ddd��n#1swxYwYttd��5}t�|�����}|�|t
��ddd��n#1swxYwYt�td��5}|�|���t
��ddd��n#1swxYwYt�td��5}|�t
��ddd��n#1swxYwYt�td��5}|�|���t
dz��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr�rrr�)	r�r
rr�r�rUr5rrT)r7r�rs   r;�
test_filenamezOpenTestCase.test_filename�s���
�f�
�
�	6�	6����6�4�(�(�
�A��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��f�d�#�#�
3�q� �O�O�A�F�F�H�H�5�5�	�� � ��E�2�2�2�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3����6�4�(�(�
2�A�� � ������5�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2����6�4�(�(�
�A��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
����6�4�(�(�
6�A�� � ������5�1�9�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s��!H�A�H�A!	�!H�$A!	�%H�=AC�H�C	�H�C	�#H�<.D6�*H�6D:	�:H�=D:	�>#H�!F�<H�F	�H�F	�#H�31G0�$H�0G4	�4H�7G4	�8H�H�Hc��tjt��}t|��5t�|d��5}|�t��ddd��n#1swxYwYt|d��5}t�|�	����}|�
|t��ddd��n#1swxYwYt�|d��5}|�
|�	��t��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nr�r)rr
r
r�rr�r�rUr5rrT)r7r�r�rs    r;�test_with_pathlike_filenamez(OpenTestCase.test_with_pathlike_filenames���<��'�'��
�h�
�
�	2�	2����8�T�*�*�
�a��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��h��%�%�
3�� �O�O�A�F�F�H�H�5�5�	�� � ��E�2�2�2�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3����8�T�*�*�
2�a�� � ������5�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2�
	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2s~�E�A,� E�,A0	�0E�3A0	�4E�AC�E�C	�E�"C	�#E�.D;�/E�;D?	�?E�D?	�E�E�Ec�H�|�t��5t�td��ddd��n#1swxYwY|�t��5t�td��ddd��n#1swxYwY|�t��5t�tdd���ddd��n#1swxYwY|�t��5t�tdd���ddd��n#1swxYwY|�t��5t�tdd�	��ddd��dS#1swxYwYdS)
Nr�rbtrzutf-8r�ignore)�errorsr)�newline)r*r,rr�r
rEs r;�test_bad_paramszOpenTestCase.test_bad_paramss���
�
�
�z�
*�
*�	"�	"��I�I�f�b�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�z�
*�
*�	%�	%��I�I�f�e�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
�
�z�
*�
*�	6�	6��I�I�f�d�W�I�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�
�
�z�
*�
*�	5�	5��I�I�f�d�8�I�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�
�
�z�
*�
*�	2�	2��I�I�f�d�D�I�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	2�	2sY�!A�A�A�-!B�B�!B�?#C.�.C2�5C2�#E�E�	E�'#F�F�Fc�X�tjtd�}tjt	t
��dfi|��5}|�|���t��ddd��n#1swxYwYt	��5}tj|dfi|��5}|�	t��ddd��n#1swxYwYtj
|���fi|��}|�|t��ddd��dS#1swxYwYdS)Nr'rr�)rr/r0r�rrerTrrUr�r5r�)r7�optionsr�rrs     r;�test_format_and_filtersz$OpenTestCase.test_format_and_filterss���!�_��G�G��
�Y�w�/�0�0�$�
B�
B�'�
B�
B�	.�a����Q�V�V�X�X�u�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�Y�Y�	/�#���3��0�0��0�0�
�A��������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��������B�B�'�B�B�I����Y��.�.�.�		/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/sH�.A4�4A8�;A8�
D�!C�<D�C	�D�C	�AD�D#�&D#c���t�d��}|�dtj��}t��5}t�|dd���5}|�|��ddd��n#1swxYwYt�	|�
�����d��}|�||��|�d��t�|dd���5}|�|�
��|��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nrirr"z	utf-16-lerrr!)rUrr	r
rrrr�r�r5r�rTr�r)r7rr
rr�rs      r;�
test_encodingzOpenTestCase.test_encoding)s����|�|�G�,�,��'�/�/��b�j�A�A��
�Y�Y�	9�#����3��{��;�;�
&�q�����%�%�%�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&����
&�
&�
&�
&���������7�7�>�>�{�K�K�I����Y�(8�9�9�9��H�H�Q�K�K�K����3��{��;�;�
9�q�� � ������<�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�
	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s[�	E(�'B	�=E(�	B
	�
E(�B
	�B
E(�)E�E(�E	�E(�E	�E(�(E,�/E,c�B�tt�d����5}t�|ddd���5}|�|���d��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nsfoo�barr!rir)rr�foobar)rrr3r�rTr)r7rr�s   r;�test_encoding_error_handlerz(OpenTestCase.test_encoding_error_handler6s��
�T�]�]�=�1�1�
2�
2�	5�c����3��w�x��H�H�
5�A�� � ������8�4�4�4�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s5�B�)A<�0B�<B	�B�B	�B�B�Bc��t�d��}t��5}t�|ddd���5}|�|��ddd��n#1swxYwY|�d��t�|ddd���5}|�|���|g��ddd��n#1swxYwYddd��dS#1swxYwYdS)Nrir"r)rrrr!�
)	rUrrrr�r�r�rTr�)r7r�rr�s    r;�test_newlinezOpenTestCase.test_newline<s����|�|�G�$�$��
�Y�Y�	8�#����3��w���E�E�
������
�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��H�H�Q�K�K�K����3��w���E�E�
8��� � ��������7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8�		8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8sY�C6�A*�C6�*A.	�.C6�1A.	�26C6�(*C�C6�C"	�"C6�%C"	�&C6�6C:�=C:c���|�tt��dD]�}tt��d|vrdnd}t�t||���5	ddd��n#1swxYwY|�t��5t�t|��5	ddd��n#1swxYwYddd��n#1swxYwY��dS)N)rrr�trir)rrr
rr�r*r)r7rrs   r;�test_x_modezOpenTestCase.test_x_modeFs��������'�'�'�%�	�	�D��6�N�N�N�"%��+�+�w�w�4�H����6�4�(��;�;�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�?�3�3�
�
��Y�Y�v�t�,�,����������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	sH�#A1�1A5	�8A5	�!C�7C�9C�C	�	C�C	�
C�C 	�#C 	N)
r�r�r�rrrrrrrr r#r&r"rKr;r�r��s�������3�3�3�
>�
>�
>�6�6�6�	2�	2�	2�2�2�2�	/�	/�	/�9�9�9�5�5�5�8�8�8�	�	�	�	�	rKr�c�&�eZdZd�Zd�Zd�Zd�ZdS)�MiscellaneousTestCasec���|�t�tj����|�t�tj����|�t�tjdz����|�t�tj����dSr�)rVr�is_check_supportedr]r(rRr'r&rEs r;�test_is_check_supportedz-MiscellaneousTestCase.test_is_check_supportedTs���	
����/�/���@�@�A�A�A�����/�/��0@�A�A�B�B�B�	
����0�0��1B�Q�1F�G�G�H�H�H�	
����0�0��1C�D�D�E�E�E�E�ErKc�(�|�t��5t�d��ddd��n#1swxYwY|�t��5t�ddi��ddd��n#1swxYwY|�t��5t�tjdd���ddd��n#1swxYwY|�tj��5t�tjdd���ddd��n#1swxYwYt�tjdd	d
dd���}|�	|d
��dS)Ns
not a dictr �rs)r �junkr��r �distr�rr��)r �pb�lp�lc�	dict_size�]�)
r*r+r�_encode_filter_propertiesr,r.rrC�FILTER_LZMA1rT)r7�propss  r;�test__encode_filter_propertiesz4MiscellaneousTestCase.test__encode_filter_properties`s���
�
�
�y�
)�
)�	:�	:��*�*�=�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�
�
�
�z�
*�
*�	:�	:��*�*�D�%�=�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�
�
�
�z�
*�
*�	R�	R��*�*�$�2C�R�+P�+P�Q�Q�Q�	R�	R�	R�	R�	R�	R�	R�	R�	R�	R�	R����	R�	R�	R�	R�
�
�
�t�~�
.�
.�	:�	:��*�*�$�2C�37�,9�,9�
:�
:�
:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�
�.�.��'����$�0�0����	
���� 4�5�5�5�5�5sG�A�A�	A�'B�B�B�5(C)�)C-�0C-�(E�E�Ec���|�t��5t�tjdt
i��ddd��n#1swxYwY|�tj��5t�tjd��ddd��n#1swxYwYt�tjd��}|�	|dtj��|�	|dd��|�	|dd��|�	|d	d
��|�	|dd��dS)
Nz	should bestoo longr6r r2r�r3rr4rr5r1)
r*r+r�_decode_filter_propertiesrD�bytesrrCr8rT)r7�
filterspecs  r;�test__decode_filter_propertiesz4MiscellaneousTestCase.test__decode_filter_propertiesus���
�
�
�y�
)�
)�	R�	R��*�*�4�?�[�%�<P�Q�Q�Q�	R�	R�	R�	R�	R�	R�	R�	R�	R�	R�	R����	R�	R�	R�	R�
�
�
�t�~�
.�
.�	K�	K��*�*�4�+<�k�J�J�J�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K����	K�	K�	K�	K��3�3��!�#7�9�9�
�����D�)�4�+<�=�=�=�����D�)�1�-�-�-�����D�)�1�-�-�-�����D�)�1�-�-�-�����K�0�'�:�:�:�:�:s#�-A�A�A�>&B0�0B4�7B4c��t�tjd��}t�|��}t�tj|��}|�||��dS)Nr6)rr<r8r7rT)r7�spec1�	reencoded�spec2s    r;� test_filter_properties_roundtripz6MiscellaneousTestCase.test_filter_properties_roundtrip�sg���.�.��!�#7�9�9���2�2�5�9�9�	��.�.�t�/@�)�L�L�������&�&�&�&�&rKN)r�r�r�r+r:r?rDr"rKr;r(r(RsS������
F�
F�
F�6�6�6�*
;�
;�
;�'�'�'�'�'rKr(s�
LAERTES

       O, fear me not.
       I stay too long: but here my father comes.

       Enter POLONIUS

       A double blessing is a double grace,
       Occasion smiles upon a second leave.

LORD POLONIUS

       Yet here, Laertes! aboard, aboard, for shame!
       The wind sits in the shoulder of your sail,
       And you are stay'd for. There; my blessing with thee!
       And these few precepts in thy memory
       See thou character. Give thy thoughts no tongue,
       Nor any unproportioned thought his act.
       Be thou familiar, but by no means vulgar.
       Those friends thou hast, and their adoption tried,
       Grapple them to thy soul with hoops of steel;
       But do not dull thy palm with entertainment
       Of each new-hatch'd, unfledged comrade. Beware
       Of entrance to a quarrel, but being in,
       Bear't that the opposed may beware of thee.
       Give every man thy ear, but few thy voice;
       Take each man's censure, but reserve thy judgment.
       Costly thy habit as thy purse can buy,
       But not express'd in fancy; rich, not gaudy;
       For the apparel oft proclaims the man,
       And they in France of the best rank and station
       Are of a most select and generous chief in that.
       Neither a borrower nor a lender be;
       For loan oft loses both itself and friend,
       And borrowing dulls the edge of husbandry.
       This above all: to thine ownself be true,
       And it must follow, as the night the day,
       Thou canst not then be false to any man.
       Farewell: my blessing season this in thee!

LAERTES

       Most humbly do I take my leave, my lord.

LORD POLONIUS

       The time invites you; go; your servants tend.

LAERTES

       Farewell, Ophelia; and remember well
       What I have said to you.

OPHELIA

       'Tis in my memory lock'd,
       And you yourself shall keep the key of it.

LAERTES

       Farewell.
sthis is not a valid lzma streams �7zXZ�ִF!t/����]bX��n�䴝o��
�2h�\������6�(�wd�"u.n�򎍏/�=��/M��ާz-]���rZ����o��#z/��F��M��t�6 BF$�Q����l��,bnԨ��NȆ3�x2�O@Q�/��O��o��z��S�t<�I#�ud�6Y����]��-Pe�e:	��7
�p�J���V���%G��=?�(΂=�I�3R��
�i����sP��X�2j�L��b���c-H�oJl�iQ�k��������?@���x�H12P���uw㾪i�WЀ�#cb5��]�d���Wl�UG��yF�7�v�5��h8W��5:?rD������5@���7��cԗi�tS�k�Kvy���6T�e
�]:k�l��a�4�r�}r���*�z�8h��Ӽl�-��K����Z��L�3Ϝ������!��^�9w �P�PKd��Z}����%$��/��&,�qh{Q�)�q�À����o�!�[Ԋw�t����`^�??\���RԎ��X�a����Ы������S�>ɕH��	
%��$.o��Rb��U�^�S��/���v�r�̢Gkzʀ�Ћ��Ix�y�-0�z^�֏_�P�i��萄ܿ�ky�܁��+���\�����Y�Y�h���w̴� �|�ej��z�`��A叩	�=��_�%voZO��	�M-�<"CM�g~b����|�'��x�!J�F�u8�7y��u�_���@��qc�#��5�)_
�3]o]5�my��K+��b� ��t����0���ȏ׮�+iܹk�>f�
��$�{pƈ0����_���h6�Z%'�
��"�冟7X=mNX[�FUɆ0��a+* �_$��_��ޯ46q�ɒ���`��}������ʮ`w�جVe�Z���#��d{w
����B:�^V�aH��
\X���u#%�*�v��!	4Vj?uLU���tw�P��g�YZs�]���������bX��n�䴝o��
�2h�\������6�(�wd�"u.n�򎍏/�=��/M��ާz-]���rZ����o��#z/��F��M��t�6 BF$�Q����l��,bnԨ��NȆ3�x2�O@Q�/��O��o��z��S�t<�I#�ud�6Y����]��-Pe�e:	��7
�p�J���V���%G��=?�(΂=�I�3R��
�i����sP��X�2j�L��b�pl�jr�=	�3!E�vV�F�״�P~��E�7�ƻ�c%�I�;�砋�Z�(���o>`᪨١�}獃4T���㘼DMA@���ȓ��Sa�śTJE}��g#ZVɝc�>0�S�/y_�(�r���?��@��:�z����BeyX�� :	��xD\&G�Y�J�v{���)A�o5����F?v��VtTf�����'k���\Y��|w��d�d������ �� ,�X��s��v�}���%
ߢ.�6
��h
� �Bl�U}�s�H�pB�8���Z��A��;z��{5!���A���$�qg��/|�r�^����=�n�6{>8
�:�'�.�
���:݂'[�"wD$�w�q�,1��,�2w�$Jdmg��A��&�8i��;�NQrh�eL;�m�Q�����N����[���j�EOli�B^���R]����.��-�e����iN�wbQ�~餈4�kM�)T�3�)��B���^��..��	�H�5�#�NV��$Kk�
�t�'�R��2�-LH��0~?SO�E]��<Z0a*?�r����nG�d^��8�uEI�
Vⳕ���i!�&1F�DP� SO3D!w�_G+�.��]�>�#h;5J�K�^-[��\�ʯ�ԡ�ĸp���r���r.l []��+0�gaKY�I�,
���V�_#���>w�W,�
�63�J�2=kT�Uti�_���lh�f���xr)r rs���]bX��n�cyq���m�'��� �Q��I���VL8_�뼥�
W$=R;�k8	�{��+��c��S3����m����b�4*���+�.�9�b�ZrA�0s"r�G�ސcu�۩.Al�<��Oi�Ŵ��g4t6"��o�?^}�}[:��
[�lg�2���n��7@��6T�u�	��8�[4�PCV�"��x~�N�K���%�k:{6�����è\�@�F_Ȑ�sU��8�7J�Mг;X�﮳eO,�z,dy�jlB�8#�6��PK�P؈ҡC?۔_�"��eޛ��>H�;�#��4�ź%v�9�A�"��2�i���3߾�Dm7���o:J�ہ6�O���	Q펕S/M�S�J�������d�=^B��E�͑��G�.��b&ٟ�j���\Cv�Ҋ?^H��>����IqY��K7�D�W���O���l�5�U�{��ϣk{�����O*��B-�(R�@E��:�V�Y��]�ĥ�gX���3]n콣Y���u�*�T�A$A�A����iw젇�%��=����D���ѻq����Cqp�L��� �"�t����~���c�ix���)l)�@l��ynD�:Җ��?������%_����
h�#�7QD�hnѣ_?q���17��_�|�ʷ�S�W��t�9L�|�W��s�L�_�$����F��kvf�hî�1�Q��G���5��yI�cw�rIp:p_�v�a"�ّ�e����ëH*m}��}>l%΄��d�ӂ��5fOg���^&	@ΟJ����{�����r�z�M�ho�^��������U7�\!��k�Ud~�熊z;��PG��w�^ı����3Sf ��@�売����s�xRD�`W���ϑ
TZ-X�����|�������^��[��7֢		Q5/@S�5�VhAKVC
���M�xO�O�<�e*�Hk6�G+�)͜l�����K}�5��u�*F�2r�r/s����]-Ԩd?ᆵH�2�.�g�����5z���	[}W�mH��g��Q�R�A�5���
v~�:o:J�Cc��*o��\l�E
��2aU{׸wܾ�8���8\����[_9�%�����fs#=�<�\t���=�7ft\��Q��8�Ԫ�آ>-ӎ�#��ArAm�J~��B����(`WK��kaj �����S�%��i�X�B�;E�e����T�bg�
�jу�]"M�r�\�j~PGH�N*Z.�	pE��1�ͩ��H�������P�~��0����JK�]�9���F���_�[�ԋ�6뿻�$kS{��,f:Sjz��殘�Q~r�?��&ˀ	��|x���|�dhh+'Ł�3�q���`Z#܊����I�l{�6���ճx�hz%��ݘ!��RUa���X�1�=R��0㤚�bd�$]B��h2c�L`4�x�Z�
]T^؉�
;�Y�9z�o�)f�]$n
p����������;�Q����K� @�:UcX
!��"=.6�g=�Wn����O���T���D��W3pnt�VOj�M�i��$3�܊f��Y
���K��hwO��2^&�V�
�i=yZ�o�ƶ���
��w�%�c�`]���8�m�Q���h`[q���0g�"N��R�)(�0\��G!���x��z������H�y�M
\A	ar�M��ꄛ!��~
�H��oڇh颾�qN��!WGڡ�A��`j���?5B�~E�!^�ݨy}�)�)����D��2f�uɗ��x4_6�$t�9�=˿v\���8jk�)ff�nĩ�����M����I�E���5��T�p��Ӊ3�/�֏ou;��PR����Fj�$�h��K(�c�7��)ݲ,���.yQi��`h-���	��^��[!�M��.���-S+�8,� �ë~�$e���P]i�o�g^
E�����k`�~�y�+�^D��"!�ҧ�T��5Y�4Z�H���f]όx����3��TUH���y�7��X�� �( /��\����J�vP8��~�4kA�y��P��J�N���aO�����:���e�q�ACmw�	�u���CwUP��8L4w!�L2 ����j�;V��ːlv@E�����Z[��E`>�ޡbZ�Щ`{�;�f��k1.��N��(���u���!L����Г����Bjc_�}d�àY��/��,�bl@�p��8�q�uH�X���}OX�ݾ����e�O`CF=K�$I_�X�J'v�+�.v�Tv�5ṑ�S��"(�x�CX����pS��'J�!��G	��2oS���d��y���,�f�
ߞE��\L��h��}���W#\�o�z�r-)r �start_offsetr s����]bX��n�䴝o��
�2h�\������6�(�wd�"u.n�򎍏/�=��/M��ާz-]���rZ����o��#z/��F��M��t�6 BF$�Q����l��,bnԨ��NȆ3�x2�O@Q�/��O��o��z��S�t<�I#�ud�6Y����]��-Pe�e:	��7
�p�J���V���%G��=?�(΂=�I�3R��
�i����sP��X�2j�L��b���c-H�oJl�iQ�k��������?@���x�H12P���uw㾪i�WЀ�#cb5��]�d���Wl�UG��yF�7�v�5��h8W��5:?rD������5@���7��cԗi�tS�k�Kvy���6T�e
�]:k�l��a�4�r�}r���*�z�8h��Ӽl�-��K����Z��L�3Ϝ������!��^�9w �P�PKd��Z}����%$��/��&,�qh{Q�)�q�À����o�!�[Ԋw�t����`^�??\���RԎ��X�a����Ы������S�>ɕH��	
%��$.o��Rb��U�^�S��/���v�r�̢Gkzʀ�Ћ��Ix�y�-0�z^�֏_�P�i��萄ܿ�ky�܁��+���\�����Y�Y�h���w̴� �|�ej��z�`��A叩	�=��_�%voZO��	�M-�<"CM�g~b����|�'��x�!J�F�u8�7y��u�_���@��qc�#��5�)_
�3]o]5�my��K+��b� ��t����0���ȏ׮�+iܹk�>f�
��$�{pƈ0����_���h6�Z%'�
��"�冟7X=mNX[�FUɆ0��a+* �_$��_��ޯ46q�ɒ���`��}������ʮ`w�جVe�Z���#��d{w
����B:�^V�aH��
\X���u#%�*�v��!	4rY�@)r rr4s��\bW�h��'֐,�vJq l��xB�f=&fx�
>Tn���F��v_�?�V<�#�w�����؞��*�]c�~��]Eg��"8��=~�W��D��Ǚ��1�u�9���hw|��l�k�6o7��{Y_b��$�=��w�Z@�kmE���*ح���{�j,)mB<�ca�(� ���-���c��'B�`װ����]�Bܖ��6D�Ճ1��&5� PZ&j��ŏ�Sӥ�u�$̗o�V~�����xW�p4��HDY�)�t�"��F���ߥ�"�x���Ȓ
�[l*Yر@�o�7r�u�5�$U{	}Q�xN��XX�`���v-f�/\��)B�g�#2B2444q	�93?mPX��a�)d����j���w��2�A\�C3��!��o[�:0�.��@\4��Jv��4�k�kf�ss�^�e�a�=&�r�p�EՀy���k�T�H�oŌ�0��-e\����������>���k���	��!��^�qA�<EG��񶹂��s�a��̒ҶU�نa��TG@	7*�޼]6N�񄞟���'�<ߙsqН���%p4�{����=M�H:��֤�0�D�Ө�S� `���W� 7�N#
�	��1������a���l�	jA�:��\=D�3]����eZ�A��dgFQ����qB�r�����o仴��@����d�Q
�/ظS5�:�g��D��zڐ�5H!	�u�R�l�Q���O����b�	R���A� �-IGE��$���j��Ѫ��I2s�5���3��D0�%�P}JO^h��lV.�o��wඤ�*�r�G+��i[w�@_�y��W.��-��mU6g�SA(��=ޒ�,D�������nE�\��Y��ˌ�����~�
E�uV�ƙ�m<[u�1
�w�%!�[·�B�,%d�f�"�g.�3�XY+4�qA
=9�*�/�s�1b@���FQ\�������,E�7[����!mA}��3R5�F�H�)cc�n{IJB���`w&`�}@Oxe	�����|�e���g@�Y�8����8��N�J�!�q��q��W��k*7��J��m�q��
:�`.�+�)ހX��Qm�cPA�'ɬ��)�t��ZR�������`]�gR�FT��HS��<���P���e�J^��[�����c~']��A���,�K{���Mx�Q�3���=��a��9a�2����s���b�E"��dD�IJ!�d�G��m�_r��NBq�PΧ���eP!|�6ͿIir�e�jP�q�wS7hM�ʆ?�P}y~�I��<Q�8ߔ�>r�k���v⹊�q�I���s���"㩥>D��;��33��'e�.�;�Hq�W�~����2�x
6�	�����;�j[��������-%@������2\ǯ¡Oth�������_��A_
��W&�D�����܅;X�,�>-7S��)p�QBL��d��su�ȕ��*)�v�{FW�l��js]@h3`D��ѻZ^�3+����g�-1F���%-�p��s8�,��|*xТ�b!c�هU�n �VJ�"�8�%_`?@*‚�^�&��g���ɯ'�}F��N�\�Mz-˚�O@�gƥw
nG'���GI������rυy[���/������_�MQ+x�F�]��&,�f���Hgr�v��qxY��F�9��'���F���d<�\�����ka�i� C�"4)֧`�����y�|j�X�!��NDžj�v���]c�5�ՙ�i^�G��l�:�,�'4���$���Y���w���k�kņ>�~����G5��]�0d��w#(3ʡ�bX����������r+m�3qŞ��*����6�s�-�r?��CgJN'M�
Q
�`m�N�q�l�:qG�T�!0�~�4�J8�2���7A���t]��5M�K����,j7��(���l2�ڕ(�0B���hp��J�	�g�o?�?�}���όV:�вk�k��=Ǎ/���`.�X*~�j�"��;V`���t0��d��)�}�\bJ��
+V!�ޘ��K�7����`�
�ā~؍��m�Y�)/����P�m[�z�Z���Ӌ���Pf�0�ЕJ{��W�op��e�]��ڷ5<�g!̱�\72Mc���35
0�L-�˖�U�ʰ̉*��P��.~9o?�
��}��P��
;m���|��#0�3<���^�HiֳTF��q}�&ĮΜU�̶drw�N��z�s�R���l�5^e��VYٟ�*Ĩ6+ֈ[�_rc�f���x|����~L/���ۘ��C��i��O��t����<Q`%5k
7�I�<#)&��C�`!˩��F���M�u�ʕe��b�Xa�Of;�C�r�bٜ�i]<z�T�9pF����Pw堔��a���q�&Wo5q8�t����4-H	�d��Q��J��s.�"�pN����g}�|���d3X[�E�����+W�v�G/I<L\1�O��{�mW�~�^�@
�D@�A��9;�BO���u��tN��J5����Z�O�6[7�o*[�ɷa�'��u��q�+y��a��Mļ�0'pQ�H����K����=n�������F��OY���0	�|�������P�y~�h0��d[_v�c�I3�`W�yrkB���iŊ^�ԁ���>"�v`��$��^�2.�d�d@��Y|��j�}�riV��X4rB�NPS[���I����(�;9�|�^0;.*[�l�_X�f!�������4��3D{����t]�5�Uf��b
�,Q��	�@��<,-�3�7	K�7�*X��~��O�kz"��3sL�;�^��⽪Z�fڦ�:]}�a?���5M�
}M��
2��������Yo�ī�T��U���"���u�n�A̐�i���~4��*J�t��uוZ��G�~ST,�
C���`2�>Q��ś�������hu ��b��VKc�� ޅ-:���*��;`�ݗ�g��S}�5e7�/�!�Y��'��
��C��(��bTD_���E�֘{�\fz��9�˥��bqW!;z~��i�����s+5k�h��t�Uޣ�ˆ��j
���C�?0�Jj;���0d#�;���c�&8?�J��n��cb4����l��h�n�Z����e��,B-�c��|&�LL��8��6�bVi����F�̎4�/^W�?܄(dO�D64�,S�J�c^�0	�D[�憰��n�^븸�)������a ��@�+
/���h�3���`��+���P��-�B���n^�/��w�<M�!��E���Y�<�٦Bǃ�"�D|&��d��œ`�7��0�o��喤��v;]���'hA�&�9�~@��t�<�4���)�=:&�6�A+�������<�k\d�v��^l5C?ԠMCȀ
�3����BPjy���zE�[�oT
'�*H�
�M��7f;����'wM ��帷 D+P�gn��kc�ƐV�UovfZ��3^�翬v��x�J����j�n*o>��_+D{�s��HAG��ݭ�7q+�W�g"X��~��4�`��q)�K�sV��5�s*�;�{�<@�Gj�L�ؒ&�	u5]���\�A|I���C�e�Q�*�~�u�XyP�
��fZEu>��'`����cZ��8j��U��o���e>�R�b#�H-�!ޝ�k�w�{��/K)A���:�UM̻����{9� �((6i��u؞��q��7-�B�Q8�v�A�Cd��!�'�ͮ�ؓ�ިb��2K�l�	�|DU��>�w�7�}W�|g|1�� �m@�6+�	�D� Mҵ'��~Co���	�f��I�1���φ��`������͂�wc�d���C�UE�MJH�=�*I�"
^�S6=�@�,�Gr�[��>n��<�(���}���~4����s�tf�f��	�/)��
ײw����Q�n��s��Ʒ��(G<6�[~H ������~����
:���e����(��_(�c̟gv��S=S�>���
YR�G�A�������O��d�c�P������ܟ�"[Q~䈡#�CϾ�H��ؾm�WFQ(XDK�B�.-՞|��N]�Z�=�)M��LTi���N�?���4�O��&����u7�0�ؓ�BNE����yϘDʚ��L��_�]ܩ1 �cؿ��p�-����N(��#2�I�l�r�__main__)7r]r��iorrrr
rr�r�r��testr�unittest�test.supportrr�test.support.import_helperr	�test.support.os_helperr
rrr
rrr�TestCaserr�r�rr�r(rUr�rHrNr.r0rerC�PRESET_DEFAULT�PRESET_EXTREMErirj�FILTER_IA64rmrnrDrqrrr�r��mainr"rKr;�<module>rSse����������A�A�A�A�A�A�A�A�A�A�	�	�	�	�����
�
�
�
�
�
�
�
�
�
�
�
�����������(�(�(�(�(�(�(�(�4�4�4�4�4�4����������}�V����F�F�F�F�F�F�F�F�F�F�F�F�gN�gN�gN�gN�gN�X�%6�gN�gN�gN�TD+�D+�D+�D+�D+��):�D+�D+�D+�N��������A/�A/�A/�A/�A/�8�$�A/�A/�A/�Hu�u�u�u�u�8�$�u�u�u�p7'�7'�7'�7'�7'�H�-�7'�7'�7'�x>	��@6��+4��`("��X�)�Q�7�7�8�
�*��\�)�1�5�5��)� �/�$�2E�E�G�G�H�
�:&��|�(�%�@�@���)�*�,�
�)��Z�)�1�5�5����>�>��)�Q�a�@�@�B�
�?��HA%��L�z����H�M�O�O�O�O�O��rK