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

�Ke����t�	ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZddlmZ	ddlZn
#e$rdZYnwxYwd�Zd�ZGd�de��ZGd	�d
ejejeje	j��ZGd�de	j��Zed
kre	j��dSdS)�N)�warnings_helper)�support�string_tests)�assert_python_failurec�V�dd�}dd�}dd�}dd�}|dkr||ddfS|dkr||ddfSdS)	N�strictc��dS�N�*���input�errorss  �;/usr/local/apps/python3/lib/python3.11/test/test_unicode.py�decode1z search_function.<locals>.decode1����r�c��dSr
rr
s  r�encode1z search_function.<locals>.encode1 rrc��dS�N)rrrr
s  r�encode2z search_function.<locals>.encode2"����xrc��dSrrr
s  r�decode2z search_function.<locals>.decode2$rr�
test.unicode1�
test.unicode2)rr)�encodingrrrrs     r�search_functionrs��������������������� � ���$��-�-�	�?�	"�	"���$��-�-��trc�P�	|������S�N)�encode�decode)�texts r�duplicate_stringr%-s#����;�;�=�=���!�!�!rc��eZdZdS)�StrSubclassN��__name__�
__module__�__qualname__rrrr'r'7s�������Drr'c�8��eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zejejdkd��d���Zd�Ze j!d���Z"d�Z#d�Z$d�Z%�fd�Z&�fd�Z'�fd �Z(�fd!�Z)e j*d"��d#���Z+�fd$�Z,�fd%�Z-�fd&�Z.d'�Z/�fd(�Z0d)�Z1d*�Z2e j!e j3eje4d+ud,��d-�������Z5d.�Z6d/�Z7d0�Z8d1�Z9d2�Z:d3�Z;�fd4�Z<d5�Z=d6�Z>ej?ejd7kd8��e j!d9�����Z@d:�ZAd;�ZBd<�ZCd=�ZDd>�ZEd?�ZFd@�ZGdA�ZHdB�ZIdC�ZJdD�ZKdE�ZLe j!eje4d+ud,��dF�����ZMdG�ZNdH�ZOe jPdIdJdK��dL���ZQdM�ZRdN�ZSdO�ZTdP�ZUdQ�ZVdR�ZWdS�ZXdT�ZYdU�ZZdV�Z[dW�Z\dX�Z]dY�Z^dZ�Z_d[�Z`d\�Zad]�Zbd^�Zcd_�Zdd`�Zeda�Zfdb�Zgdc�Zhejejdkpeijjdd��dekdf��dg���Zke j!dh���Zldi�Zmdj�Zndk�Zodl�Zpe j!e j3eje4d+ud,��dm�������Zqdn�Zrdo�Zsdp�Zt�xZuS)q�UnicodeTestc��tjt��|�tjt��dSr!)�codecs�registerr�
addCleanup�
unregister��selfs r�setUpzUnicodeTest.setUpAs/�����(�(�(�����)�?�;�;�;�;�;rc��t||��}||�}|�||��|�t|��t|��u��||urbGd�dt��}||��}t||��}||�}|�||��|�||u��dSdS)Nc��eZdZd�ZdS)�)UnicodeTest.checkequalnofix.<locals>.usubc�<�dt�|��zS)Nzusub(%r))�str�__repr__r3s rr;z2UnicodeTest.checkequalnofix.<locals>.usub.__repr__Os��%����T�(:�(:�:�:rN�r)r*r+r;rrr�usubr8Ns#������;�;�;�;�;rr=)�getattr�assertEqual�
assertTrue�typer:)r4�result�object�
methodname�args�method�
realresultr=s        r�checkequalnofixzUnicodeTest.checkequalnofixEs������,�,���V�T�]�
�����V�,�,�,�����Z�(�(�D��L�L�8�9�9�9�����
;�
;�
;�
;�
;�s�
;�
;�
;��T�&�\�\�F��V�Z�0�0�F�����J����Z��0�0�0��O�O�F�*�4�5�5�5�5�5� �rc�V�|�dd��|�dd��|�ttd��|�ttd��|�ttddz��|�dd��dS)	N�ÿ�￿z'\Ufffffffe'z'\Uffffffff'z'\U%08x'�z\u0020� )r?�assertRaises�SyntaxError�eval�assertNotEqualr3s r�
test_literalszUnicodeTest.test_literalsWs��������*�*�*�����<�0�0�0����+�t�->�?�?�?����+�t�->�?�?�?����+�t�]�X�-E�F�F�F����I�s�+�+�+�+�+rc
�X�tj�d���s�|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d	��|�t	d
��d��|�t	d��d
��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��d}t	d�t
ttd��������}|�||��|�t	d��t	d����Gd�d��}|�	tt|����dSdS) N�java�abc�'abc'�ab\c�'ab\\c'�ab\�'ab\\'�\c�'\\c'�\�'\\'�
�'\n'�
�'\r'�	�'\t'��'\x08'�'"�'\'"'�'�"'"�"�'"'a�'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'����0𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀𐀀￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿c��eZdZd�ZdS)�)UnicodeTest.test_ascii.<locals>.WrongReprc��dS�Ns	byte-reprrr3s rr;z2UnicodeTest.test_ascii.<locals>.WrongRepr.__repr__����'�<rNr<rrr�	WrongReprrq��#������(�(�(�(�(rru)�sys�platform�
startswithr?�ascii�join�map�chr�rangerN�	TypeError�r4�
latin1repr�testreprrus    r�
test_asciizUnicodeTest.test_ascii`s\���|�&�&�v�.�.�'	=����U�5�\�\�7�3�3�3����U�7�^�^�[�9�9�9����U�6�]�]�J�7�7�7����U�5�\�\�9�5�5�5����U�4�[�[�(�3�3�3����U�4�[�[�'�2�2�2����U�4�[�[�'�2�2�2����U�4�[�[�'�2�2�2����U�4�[�[�)�4�4�4����U�5�\�\�<�8�8�8����U�5�\�\�<�8�8�8����U�3�Z�Z��3�3�3����U�3�Z�Z��3�3�3�
�
��R�W�W�S��e�C�j�j�%9�%9�:�:�;�;�H����X�z�2�2�2����U�#F�G�G�"�#F�G�G�
I�
I�
I�
(�
(�
(�
(�
(�
(�
(�
(�
���i��	�	���<�<�<�<�<�O'	=�'	=rc
�X�tj�d���s�|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d	��|�t	d
��d��|�t	d��d
��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��|�t	d��d��d}t	d�t
ttd��������}|�||��|�t	d��t	d����Gd�d��}|�	tt|����dSdS) NrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlu%'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0¡¢£¤¥¦§¨©ª«¬\xad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'rmrnroc��eZdZd�ZdS)�(UnicodeTest.test_repr.<locals>.WrongReprc��dSrsrr3s rr;z1UnicodeTest.test_repr.<locals>.WrongRepr.__repr__�rtrNr<rrrrur��rvrru)rwrxryr?�reprr{r|r}r~rNrr�s    r�	test_reprzUnicodeTest.test_repr�s\���|�&�&�v�.�.�'	<����T�%�[�[�'�2�2�2����T�'�]�]�K�8�8�8����T�&�\�\�:�6�6�6����T�%�[�[�)�4�4�4����T�$�Z�Z��2�2�2����T�$�Z�Z��1�1�1����T�$�Z�Z��1�1�1����T�$�Z�Z��1�1�1����T�$�Z�Z��3�3�3����T�%�[�[�,�7�7�7����T�%�[�[�,�7�7�7����T�#�Y�Y�	�2�2�2����T�#�Y�Y�	�2�2�2�
�
��B�G�G�C��U�3�Z�Z�$8�$8�9�9�:�:�H����X�z�2�2�2����T�"E�F�F�!�"E�F�F�
H�
H�
H�
(�
(�
(�
(�
(�
(�
(�
(�
���i��y�y�{�{�;�;�;�;�;�O'	<�'	<rc�B�d���}|�t|��d��|�t|��d��|�t|��d��|�tt|��dS)N�	ᄑ∢㌳uᄑu∢u㌳)�__iter__r?�nextrN�
StopIteration)r4�its  r�test_iteratorszUnicodeTest.test_iterators�s���
!�
*�
*�
,�
,������b���8�,�,�,�����b���8�,�,�,�����b���8�,�,�,����-��r�2�2�2�2�2rc��ttd����ttd����g}|D]K}|�|���5|�t|��ddd��n#1swxYwY�LdS)NrUu🚀)�cls)rA�iter�subTestrNr)r4�casesr�s   r�test_iterators_invocationz%UnicodeTest.test_iterators_invocation�s����d�5�k�k�"�"�D��f���$6�$6�7���	2�	2�C����#��&�&�
2�
2��!�!�)�S�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2��	2�	2s�A;�;A?	�A?	c
���gd�}|D]f}|�|���5|�|d�t|������ddd��n#1swxYwY�gdS)N�rUu🚀🚀🚀r�)�stringrm)r�r?r{r�)r4r��cases   r�test_iterationzUnicodeTest.test_iteration�s���=�=�=���	<�	<�D����T��*�*�
<�
<�� � ��r�w�w�t�D�z�z�':�':�;�;�;�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<����
<�
<�
<�
<��	<�	<s�7A"�"A&	�)A&	c���gd�}|D]o}|�|���5t|��}t|��|�tt
|��ddd��n#1swxYwY�pdS)Nr��r�)r�r��tuplerNr�r�)r4r�r��iterators    r�test_exhausted_iteratorz#UnicodeTest.test_exhausted_iterator�s���=�=�=���	A�	A�D����4��(�(�
A�
A���:�:���h�����!�!�-��x�@�@�@�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A����
A�
A�
A�
A��	A�	As�AA+�+A/	�2A/	c���gd�}|D]�}|�|���5ttjdz��D]�}t	|��}|�|���5d�tjtj||������}|�||��ddd��n#1swxYwY��	ddd��n#1swxYwY��dS)Nr�r��)�protorm)	r�r~�pickle�HIGHEST_PROTOCOLr�r{�loads�dumpsr?)r4r�r�r�r��pickleds      r�test_pickle_iteratorz UnicodeTest.test_pickle_iterator�sf��=�=�=���	8�	8�D����4��(�(�
8�
8�"�6�#:�Q�#>�?�?�8�8�E��d���B����E��2�2�8�8�"$�'�'�&�,�v�|�B��7N�7N�*O�*O�"P�"P���(�(��w�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�	8s7�AC�#AC	�4C�C
�C�C
�C�C	� C	c�@�tj�|��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�ddddd��|�ddddd	��|�d
ddddd��|�dddddd	��|�dddd��|�dd
dd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��dS)N��aaa�count�ar�br����i������
uĂaaaaaaaaaau􀌄aaaaaaaaaau􀌄ĂĂĂĂĂĂĂĂĂĂ�Ă�
aaaaaaaaaa�􀌄uĂĂĂĂĂĂĂĂĂĂuĂa_a_a_a_a_a_a_a_a_a_�a_u􀌄a_a_a_a_a_a_a_a_a_a_u"􀌄Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_Ă_�Ă_�aĂ�a􀌄�Ă􀌄)r�
CommonTest�
test_countrH�
checkequalr3s rr�zUnicodeTest.test_count�s<����*�*�4�0�0�0����Q����5�5�5����Q����5�5�5����Q��w��5�5�5����Q��w��5�5�5����Q��w��5�5�5����Q��w��b�9�9�9����Q��w��c�:�:�:����Q��w��a��<�<�<����Q��w��a��=�=�=�����/��#�>�>�>�����3�W�c�B�B�B�����8�'�8�L�L�L�����8�W�h�7�7�7�����8�W�l�;�;�;�����=�'�<�@�@�@�����0�'�4�@�@�@�����4�g�t�D�D�D�����9�7�I�N�N�N�����8�W�i�8�8�8�����8�W�m�<�<�<�����=�'�3E�F�F�F�F�Frc��tj�|��|�dddd��|�dddd��|�dddd��|�dddd��|�dd	dd
��|�dd	dd��|�dd	dd��|�d
ddd��|�ddddd��|�ddddd��|�d
ddd��|�ddddd��|�dddddd��|�dddd��|�dddd��|�ddddd��|�dddddd��|�ddddd��|�dddddd��|�ddddd��|�dddd��|�tdj��|�tdjd��|�dd dd!��|�dd"dd!��|�dd#dd��|�dd$dd��|�dd$dd
��|�dd%dd
��|�dd&dd'��|�dd(dd'��|�dd)dd*��|�dd$dd+��|�dd$dd,��|�dd%dd-��dS).N�dufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaĂ�findr�r��ȁ�Ġ�Ƞuhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa􀌄r��􀈄�􂀄r�abcdefghiabcrU�	r��def��тестuтr��e�тест тест�ес�r���ec�hellor��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂar���􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă�daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂa_r���􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a_��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă_r�r�r�r�)rr��	test_findr�rHrNrr�r3s rr�zUnicodeTest.test_find�s�����)�)�$�/�/�/�����1�6�8�D�D�D�����0�&�(�C�C�C�����0�&�(�C�C�C�����0�&�(�C�C�C�����5�v�|�L�L�L�����4�f�l�K�K�K�����4�f�l�K�K�K����Q����?�?�?����Q�����B�B�B����R�����B�B�B�	
����:�v�t�4�4�4�����:�v�t�Q�7�7�7�����J���a��;�;�;�����J���4�4�4�����.���?�?�?�����.����B�B�B�����.����1�E�E�E�����.����B�B�B�����/����A�F�F�F�����/����C�C�C�����/���>�>�>����)�W�\�2�2�2����)�W�\�2�6�6�6�����1�6�3�?�?�?�����5�v�s�C�C�C�����:�F�H�M�M�M�����I�v�x�8�8�8�����I�v�|�<�<�<�����N�F�L�A�A�A�����2�F�D�A�A�A�����6���E�E�E�����;�V�Y�O�O�O�����I�v�y�9�9�9�����I�v�}�=�=�=�����N�F�4F�G�G�G�G�Grc��tj�|��|�dddd��|�dddd��|�dddd��|�dddd��|�dd	dd
��|�dd	dd��|�dd	dd��|�d
ddd��|�dddd��|�dddd��|�dddd��|�ddddd��|�ddddd��|�dddd��|�dddd��|�ddddd��|�dddddd��|�ddddd��|�dddddd��|�ddddd��|�dddd��|�dddd��|�dddd��|�dd dd��|�dd!dd��|�dd!dd
��|�dd"dd
��|�dd#dd$��|�dd%dd$��|�dd&dd'��|�dd!dd(��|�dd!dd)��|�dd"dd*��dS)+NrufĂaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�rfindr�r�r�r�r�uh􀌄aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar�r�r�r�r�rU�rmr�r�uеr�r�r�r�r�r�r�r���aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂr���a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄��Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄r�r���_aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ�_a��_a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄��_Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄�_Ă�Ăa�􀌄a�􀌄Ă)rr��
test_rfindr�rHr3s rr�zUnicodeTest.test_rfind!sd����*�*�4�0�0�0�����/�'�8�D�D�D�����0�7�H�E�E�E�����0�7�H�E�E�E�����0�7�H�E�E�E�����3�W�l�K�K�K�����4�g�|�L�L�L�����4�g�|�L�L�L����Q�.�'�5�A�A�A����R�.�'�2�>�>�>����R���2�>�>�>�����:�w��5�5�5�����:�w��a�8�8�8�����J���q�9�9�9�����J���5�5�5�����.���@�@�@�����.����C�C�C�����.����A�F�F�F�����.����C�C�C�����/��&�!�Q�G�G�G�����/��&�!�D�D�D�����/��$�?�?�?�����/��#�>�>�>�����3�W�c�B�B�B�����8�'�8�L�L�L�����I�w��9�9�9�����I�w��=�=�=�����N�G�\�B�B�B�����0�'�4�@�@�@�����4�g�t�D�D�D�����9�7�I�N�N�N�����I�w�	�:�:�:�����I�w�
�>�>�>�����N�G�5G�H�H�H�H�Hrc��tj�|��|�dddd��|�dddd��|�dddd��|�ddddd	��|�t
djd
��|�t
djdd	��|�t
djd
d��|�t
djd
d��|�dddd��|�dddd��|�dddd��|�t
djd��|�t
djd��|�t
djd��|�dddd��|�dddd��|�dddd��|�t
djd��|�t
djd��|�t
djd ��dS)!Nrr��indexrmr�r�rUr�r��hib�abcdefghiab�	abcdefghi�ghi�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)rr��
test_indexrHrN�
ValueErrorr�r�r3s rr�zUnicodeTest.test_indexJs4����*�*�4�0�0�0����Q���"�=�=�=����Q���%�@�@�@����Q���%�@�@�@����Q���%��C�C�C����*�n�&:�E�B�B�B����*�m�&9�E�1�E�E�E����*�k�&7�%��C�C�C����*�k�&7�%��D�D�D�����1�7�C�@�@�@�����5�w��D�D�D�����:�G�X�N�N�N����*�y�&7��B�B�B����*�y�&7��F�F�F����*�~�&<�l�K�K�K�����2�G�T�B�B�B�����6���F�F�F�����;�W�i�P�P�P����*�y�&7��C�C�C����*�y�&7��G�G�G����*�~�&<�>P�Q�Q�Q�Q�Qrc��tj�|��|�dddd��|�dddd��|�dddd��|�d	dddd	d
��|�t
djd��|�t
djdd
��|�t
djdd	d
��|�t
djdd	d��|�t
djdd	d
��|�d	ddd��|�d	ddd��|�d	ddd��|�t
djd��|�t
djd��|�t
djd��|�d	ddd��|�d	ddd��|�d	ddd��|�t
djd��|�t
djd��|�t
djd ��dS)!Nr�r��rindexrmr�r�r�rUrr�r��	defghiabcr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)rr��test_rindexrHrNr�r�r�r3s rr�zUnicodeTest.test_rindexbsY����+�+�D�1�1�1����R���B�?�?�?����Q���E�B�B�B����Q���E�B�B�B����Q���E�1�b�I�I�I����*�n�&;�e�D�D�D����*�k�&8�5�!�D�D�D����*�k�&8�5�!�R�H�H�H����*�k�&8�5�!�Q�G�G�G����*�k�&8�5�!�R�H�H�H�����/��3�?�?�?�����3�X�s�C�C�C�����8�(�H�M�M�M����*�y�&8�(�C�C�C����*�y�&8�,�G�G�G����*�~�&=�|�L�L�L�����0�(�D�A�A�A�����4�h��E�E�E�����9�8�Y�O�O�O����*�y�&8�)�D�D�D����*�y�&8�-�H�H�H����*�~�&=�?Q�R�R�R�R�Rrc���|�dddtd��di��|�dddtd��dtd��td��i��|�dddtd��dtd��td��td	��d
i��|�d	ddtd��dtd��di��|�dd
dtd��di��|�dddddi��|j�ddd���}|�ddd|��|j�ddd��}|�ddd|��|�d�t�dd����d��|�d�t�ddi����d��|�d�t�ddi����d��|�d�t�ddi����d��|�d�t�ddi����d��|�d �t�dd!d�����d"��|�d �t�ddd�����d#��|�d�t�dd$i����d%��|�d�t�ddi����d��|�d�t�ddi����d��|�d�t�dd!i����d&��|�d'�t�dd(i����d)��d*}d+D]D}t�||i��}d,|z}|�t|j|���E|�t|jj��|�t|jjdd-��|�t|jjd.d/��|�t|jjdd.��|�t|jjdd/d.��|�t|jjd0d.i��|�t|jjd1d.i��|�td2j��|�tdjdd��dS)3N�bbbc�abababc�	translater��iiicr��i�iiix�c�xrm�xyyx�xzx�z�yyz<i>�r�r�z
<i><i><i>crU�xyz�d�xyzzy�abdcdcbddddz[a]�Xz[X]�[]�XXXz[XXX]�éu[é]�axb�123�x123uxéu<é>u[<é>]z[123]u[aé]u<€>u	[<€>é]rLu
aé€􏿿z[%s]�defgr�r��xy)r�r�)
rH�ord�	type2test�	maketransr?r�r:rNr�r)r4�tbl�invalid_char�before�mappingr$s      r�test_maketrans_translatez$UnicodeTest.test_maketrans_translate|s������V�Y��!�#�h�h��-�	/�	/�	/����V�Y��!�#�h�h��c�#�h�h��C���A�	C�	C�	C����V�Y��!�#�h�h��c�#�h�h��C���#�c�(�(�C�P�	R�	R�	R����S�)�[�!�#�h�h��c�#�h�h��;�	=�	=�	=����V�U�K�!�#�h�h��-�	/�	/�	/�	
���Y�	�;�!�5�\�	+�	+�	+��n�&�&�T��'>�'>�?�?�����\�9�k�3�G�G�G��n�&�&�u�e�S�9�9�����W�m�[�#�F�F�F�	
���������s�C�)@�)@�A�A��	 �	 �	 �����������S�z�)B�)B�C�C��	 �	 �	 �����������T�{�)C�)C�D�D��	�	�	�����������U�|�)D�)D�E�E� �	"�	"�	"�����������V�}�)E�)E�F�F�!�	#�	#�	#����������T��7N�7N�)O�)O�P�P��	!�	!�	!����������T��7O�7O�)P�)P�Q�Q� �	"�	"�	"�	
����������X��)G�)G�H�H�#�	%�	%�	%�����+�+�C�M�M�6�3�-�,H�,H�I�I��	 �	 �	 �����+�+�C�M�M�6�4�.�,I�,I�J�J��	�	�	�����+�+�C�M�M�6�5�/�,J�,J�K�K� �	"�	"�	"�����,�,�S�]�]�C��;L�-M�-M�N�N�)�	+�	+�	+�"��-�	C�	C�F��m�m�V�\�$:�;�;�G��F�?�D����j�$�.�'�B�B�B�B�	
���)�T�^�%=�>�>�>����*�d�n�&>��v�N�N�N����)�T�^�%=�q�%�H�H�H����)�T�^�%=�u�a�H�H�H����)�T�^�%=�u�e�Q�O�O�O����*�d�n�&>��q�	�J�J�J����)�T�^�%=��a�y�I�I�I����)�W�%6�7�7�7����)�Y�%8�%��G�G�G�G�Grc	��tj�|��dD]�\}}|dz}|dz}dD]�}|�||zg||zd|��|�||g||z|zd|��|�||zg||zd|dz��|�||g||dzz|zd|dz������dS)N��ba�āĀ�𐌁𐌀r��r�r��𐌂�splitr�)rr��
test_splitr��r4�left�right�delims    rr"zUnicodeTest.test_split�s,����*�*�4�0�0�0�J�	M�	M�K�D�%��A�I�D��Q�J�E�6�
M�
M��������� $�u��g�u�>�>�>�����u�
� $�u��u� 4�g�u�F�F�F�������� $�u��g�u�q�y�B�B�B�����u�
� $�u�q�y� 0�5� 8�'�5�!�8�M�M�M�M�
M�	M�	Mrc	��tj�|��dD]�\}}|dz}|dz}dD]�}|�||zg||zd|��|�||g||z|zd|��|�||zg||zd|dz��|�||g||dzz|zd|dz����|�||zg||zdd����dS)N)ruюёrrr�)r�uыr�r �rsplitr�)rr��test_rsplitr�r#s    rr)zUnicodeTest.test_rsplit�sO����+�+�D�1�1�1�Q�	;�	;�K�D�%��A�I�D��Q�J�E�<�
N�
N��������� $�u��h��?�?�?�����u�
� $�u��u� 4�h��G�G�G�������� $�u��h���	�C�C�C�����u�
� $�u�q�y� 0�5� 8�(�E�1�H�N�N�N�N�
�O�O�T�E�\�N�!�E�\�8�T�
;�
;�
;�
;�	;�	;rc	���tj�|��|�dddd��dD]�\}}|dz}|dz}dD]�}|�||zddf||zd|��|�|||f||z|zd|��|�||zddf||zd|d	z��|�||d	z|f||d	zz|zd|d	z������dS)
N)�ABCDEFGHrmrmr+�	partition�䈀rr�rrmr�)r�MixinStrUnicodeUserStringTest�test_partitionr�r#s    rr/zUnicodeTest.test_partition�sY���2�A�A�$�G�G�G����,�j�+�x�P�P�P�I�	R�	R�K�D�%��A�I�D��Q�J�E�6�
R�
R��������r�2� 6� $�u��k�5�B�B�B�����u�e� 4� $�u��u� 4�k�5�J�J�J�������r�2� 6� $�u��k�5�1�9�F�F�F�����u�q�y�%� 8� $�u�q�y� 0�5� 8�+�u�q�y�R�R�R�R�
R�	R�	Rrc	���tj�|��|�dddd��dD]�\}}|dz}|dz}dD]�}|�dd||zf||zd|��|�|||f||z|zd|��|�dd||zf||zd|d	z��|�||d	z|f||d	zz|zd|d	z������dS)
N)rmrmr+r+�
rpartitionr-rr�rrmr�)rr.�test_rpartitionr�r#s    rr2zUnicodeTest.test_rpartition�sZ���2�B�B�4�H�H�H����,�j�,��Q�Q�Q�I�	S�	S�K�D�%��A�I�D��Q�J�E�6�
S�
S������R���� 6� $�u��l�E�C�C�C�����u�e� 4� $�u��u� 4�l�E�K�K�K�����R���� 6� $�u��l�E�A�I�G�G�G�����u�q�y�%� 8� $�u�q�y� 0�5� 8�,��PQ�	�S�S�S�S�
S�	S�	Src
�*�tj�|��Gd�d��}|�dddgd���|�dddd��|�d	ddtjd
����|�dddgd���|�dddgd���|�dddd��|�d	ddtjd
����|�tdddd|d
��g��|�tdddddt��g��|�tddgd���|�tddgd���dS)Nc��eZdZd�Zd�ZdS)�(UnicodeTest.test_join.<locals>.MyWrapperc��||_dSr!��sval)r4r8s  r�__init__z1UnicodeTest.test_join.<locals>.MyWrapper.__init__
s��$�d�i�i�irc��|jSr!r7r3s r�__str__z0UnicodeTest.test_join.<locals>.MyWrapper.__str__s	��d�i�/rN�r)r*r+r9r;rrr�	MyWrapperr5s"������6�6�6�/�/�/�/�/rr=za b c drMr{)r�r�r�r�abcdrmzw x y z�wxyz�1�2�foo�3)r�r�r�)r@rAr�)rr.�	test_joinrH�Sequence�checkraisesr�bytes)r4r=s  rrDzUnicodeTest.test_join	s����2�<�<�T�B�B�B�	0�	0�	0�	0�	0�	0�	0�	0�
	
���Y��V�5I�5I�5I�J�J�J����V�R��1E�F�F�F����Y��V�\�5J�6�5R�5R�S�S�S����Y��V�5I�5I�5I�J�J�J����Y��V�5I�5I�5I�J�J�J����V�R��1E�F�F�F����Y��V�\�5J�6�5R�5R�S�S�S�����C��#�s�I�I�e�<L�<L�1M�N�N�N�����C��#�s�C����1I�J�J�J�����C�����;�;�;�����C�����?�?�?�?�?rlz*needs too much memory on a 64-bit platformc��ttjdz��dz}d|zf|z}|�tdj|��dS)Ng�?r��Arm)�intrw�maxsizerN�
OverflowErrorr{)r4�size�seqs   r�test_join_overflowzUnicodeTest.test_join_overflowsM���3�;��#�$�$�q�(���T�z�m�d�"�����-���#�6�6�6�6�6rc
��tj�|��|�dddddd��|�t
djdd��d	D]�\}}|d
z}|d
z}dD]�}dD]�}|�||z||zd||��|�||z|z||z|zd||��|�||z||zd|d
z|��|�||z|z||d
zz|zd|d
z|��������dS)Nzone@two!three!zone!two!three!�replace�!�@r��rrrr�r)ruău𐌃r�)rr��test_replacerHrNrrQr�)r4r$r%r&�repls     rrUzUnicodeTest.test_replace$s�����,�,�T�2�2�2�	
���-�/?��C�QT�VW�X�X�X����)�Y�%6��R�@�@�@�I�	@�	@�K�D�%��A�I�D��Q�J�E�6�
@�
@��9�
@�
@�D��O�O�D�5�L�$(�5�L�)�U�D�J�J�J��O�O�D�4�K�%�$7�$(�5�L�5�$8�$-�u�d�<�<�<��O�O�D�5�L�$(�5�L�)�U�Q�Y��N�N�N��O�O�D�4�K�%�$7�$(�5�1�9�$4�u�$<�$-�u�q�y�$�@�@�@�@�
@�
@�	@�	@rc�b�d}d}|�|�||��|��dS)NrUzabc def)�assertIsrQ)r4�patternr$s   r�test_replace_idzUnicodeTest.test_replace_id;s4�������
�
�d�l�l�7�G�4�4�d�;�;�;�;�;rc�f�d}d}|�t|��t|����|�t|��t|����|�t|��t|dz����|�t|��t|dz����|�t|��t|dz����|�t|��td|z����|�t|��t|dz����Gd�dt��}|d	��}|�t|��t|����|�t|��t|dz����|�t|��t|dz����|�t|��t|dz����|�t|��td|z����|�t|��t|dz����dS)
Nz123abc1@z456zyx-+���rr�r�c��eZdZdS)�5UnicodeTest.test_repeat_id_preserving.<locals>.SubStrNr(rrr�SubStrr^L��������Drr_zqwerty())r?�idrQr:)r4r�r�r_�ss     r�test_repeat_id_preservingz%UnicodeTest.test_repeat_id_preservingAs/����������A����1���&�&�&����B�q�E�E�2�a�5�5�)�)�)����B�q�E�E�2�a�"�f�:�:�.�.�.����B�q�E�E�2�a�!�e�9�9�-�-�-�����A����1�q�5�	�	�*�*�*�����A����1�q�5�	�	�*�*�*����B�q�E�E�2�a�!�e�9�9�-�-�-�	�	�	�	�	�S�	�	�	�
�F�:��������A����1���&�&�&����B�q�E�E�2�a�"�f�:�:�.�.�.����B�q�E�E�2�a�!�e�9�9�-�-�-����B�q�E�E�2�a�!�e�9�9�-�-�-����B�q�E�E�2�a�!�e�9�9�-�-�-����B�q�E�E�2�a�!�e�9�9�-�-�-�-�-rc��tj��5tjdt��|�ddkd��|�ddkd��|�dt
d��kd��|�dt
d��kd��ddd��dS#1swxYwYdS)N�ignorerU�abcFT)r�check_warnings�warnings�simplefilter�BytesWarningr?�	bytearrayr3s r�test_bytes_comparisonz!UnicodeTest.test_bytes_comparisonWs��
�
+�
-�
-�	?�	?��!�(�L�9�9�9����U�f�_�e�4�4�4����U�f�_�d�3�3�3����U�i��&7�&7�7��?�?�?����U�i��&7�&7�7��>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s�BB>�>C�Cc��������dd����ddk����ddk��	��dd	k��dS)
NrUr>rr��€u��c�:����||k��dSr!)r@)rb�s2r4s  �r�
test_lecmpz/UnicodeTest.test_comparison.<locals>.test_lecmpos�������B��'�'�'�'�'rc����d}�||��d}�||��d}�||��d}�||��d}�||��d}�||��d}�||��d}�||��d	}�||��d
}�||��d}�||��d}�||��d
}�||��d}�||��d}�||��d}�||���d���d��dS)Nu��u��u��u��u��u��u��u��u��u��u��u��u��u��u��u���u。r)rbrp�
test_fixuprqs  ��rrtz/UnicodeTest.test_comparison.<locals>.test_fixuprs����#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!�#���
�1�b�!�!�!��
�8�$�$�$��
�8�$�$�$�$�$ru��)r?r@)r4rtrqs`@@r�test_comparisonzUnicodeTest.test_comparison_sl����������&�&�&�������'�'�'�������'�'�'�0	%�f	
�����7�8�8�8�8�8rc����t�����|�ddd��|�d�����|�d�����|�d�����|�d�����|�d�����|�d	�����|�d
�����|�d�����dS)NF�ῼ�islower�Ⅷ�ⅷ�𐐁�𐐧�𐐩�𐑎�🐍�👯)�super�test_islowerrH�assertFalserxr@�r4�	__class__s �rr�zUnicodeTest.test_islower�s1���
�����������U�H�i�8�8�8�����)�)�+�+�,�,�,�����(�(�*�*�+�+�+�����-�-�/�/�0�0�0�����-�-�/�/�0�0�0�����,�,�.�.�/�/�/�����,�,�.�.�/�/�/�����-�-�/�/�0�0�0�����-�-�/�/�0�0�0�0�0rc�$��t�����tj�d��s|�ddd��|�d�����|�d�����|�d�����|�d�����|�d	�����|�d
�����|�d�����|�d�����dS)
NrTFrw�isupperryrzr{r|r}r~rr�)	r��test_isupperrwrxryrHr@r�r�r�s �rr�zUnicodeTest.test_isupper�sI���
���������|�&�&�v�.�.�	=�� � ���)�<�<�<�����(�(�*�*�+�+�+�����)�)�+�+�,�,�,�����,�,�.�.�/�/�/�����,�,�.�.�/�/�/�����-�-�/�/�0�0�0�����-�-�/�/�0�0�0�����-�-�/�/�0�0�0�����-�-�/�/�0�0�0�0�0rc���t�����|�ddd��|�ddd��|�d�����|�d�����dD]=}|�|���d�|�����>dS)	NTrw�istitleuGreek ῼitlecases ...u𐐁𐐩u𐐧𐑎)r}r~rr�z{!a} is not title)r��test_istitlerHr@r�r��format�r4�chr�s  �rr�zUnicodeTest.test_istitle�s����
�����������T�8�Y�7�7�7����T�#>�	�J�J�J�	
���.�6�6�8�8�9�9�9����.�6�6�8�8�9�9�9�J�	K�	K�B����R�Z�Z�\�\�+>�+E�+E�b�+I�+I�J�J�J�J�	K�	Krc�R��t�����|�ddd��|�ddd��|�ddd��dD]=}|�|���d�|�����>dS)	NTu �isspaceu Fu—�r{r|r}r~rr�z{!a} is not space.)r��test_isspacerHr�r�r�r�s  �rr�zUnicodeTest.test_isspace�s����
�����������T�8�Y�7�7�7����T�8�Y�7�7�7����U�H�i�8�8�8�/�	L�	L�B����R�Z�Z�\�\�+?�+F�+F�r�+J�+J�K�K�K�K�	L�	Lr�cpuc��ttjdz��D]i}t|��}t	j|��}t	j|��}|�|���|dvp|dk���jdS)Nr�)�WS�B�S�Zs)	r~rw�
maxunicoder}�unicodedata�
bidirectional�categoryr?r�)r4�	codepoint�charr�r�s     r�test_isspace_invariantz"UnicodeTest.test_isspace_invariant�s����s�~��1�2�2�	4�	4�I��y�>�>�D�'�5�d�;�;�M�"�+�D�1�1�H����T�\�\�^�^�+�/?�?�2�!)�T�!1�
4�
4�
4�
4�		4�	4rc����t�����dD]=}|�|���d�|�����>dS)N)r{r|r}r~�𝟶�𑁦�𐒠�🄇z{!a} is alnum.)r��test_isalnumr@�isalnumr�r�s  �rr�zUnicodeTest.test_isalnum�sg���
��������K�	G�	G�B��O�O�B�J�J�L�L�*:�*A�*A�"�*E�*E�F�F�F�F�	G�	Grc�J��t�����|�ddd��|�d�����|�d�����|�d�����|�d�����|�d�����|�d	�����dS)
NTrw�isalphar{r|r}r~rr�)r��test_isalpharHr@r�r�r�s �rr�zUnicodeTest.test_isalpha�s����
�����������T�8�Y�7�7�7�����,�,�.�.�/�/�/�����,�,�.�.�/�/�/�����,�,�.�.�/�/�/�����,�,�.�.�/�/�/�����-�-�/�/�0�0�0�����-�-�/�/�0�0�0�0�0rc����t�����|�d�����|�d�����dS)Nrn�􏿿)r��test_isasciir��isasciir�s �rr�zUnicodeTest.test_isascii�s_���
������������)�)�+�+�,�,�,�����-�-�/�/�0�0�0�0�0rc��|�ddd��|�ddd��|�ddd��|�ddd��|�ddd��|�dd	d��|�dd
d��|�ddd��|�tddd
��dD]=}|�|���d�|�����>dD]=}|�|���d�|�����>dS)NFrm�	isdecimalr�T�0�①�¼�٠�
0123456789�0123456789arUr)r{r|r}r~rr��𑁥r�z{!a} is not decimal.)r�r�r�z{!a} is decimal.)rHrFrr�r�r�r@�r4r�s  r�test_isdecimalzUnicodeTest.test_isdecimal�sk�����U�B��4�4�4����U�C��5�5�5����T�3��4�4�4����U�H�k�:�:�:����U�F�K�8�8�8����T�8�[�9�9�9����T�<��=�=�=����U�M�;�?�?�?�����E�;��;�;�;�K�	P�	P�B����R�\�\�^�^�-C�-J�-J�2�-N�-N�O�O�O�O�<�	K�	K�B��O�O�B�L�L�N�N�,>�,E�,E�b�,I�,I�J�J�J�J�	K�	Krc����t�����|�ddd��|�ddd��|�ddd��dD]=}|�|���d�|�����>d	D]=}|�|���d
�|�����>dS)NTr��isdigitFr�r�)r{r|r}r~rr�r�z{!a} is not a digit.)r�r�r�r�z{!a} is a digit.)r��test_isdigitrHr�r�r�r@r�s  �rr�zUnicodeTest.test_isdigits����
�����������T�8�Y�7�7�7����U�F�I�6�6�6����T�8�Y�7�7�7�=�	N�	N�B����R�Z�Z�\�\�+A�+H�+H��+L�+L�M�M�M�M�J�	I�	I�B��O�O�B�J�J�L�L�*<�*C�*C�B�*G�*G�H�H�H�H�	I�	Irc��|�ddd��|�ddd��|�ddd��|�ddd��|�ddd��|�dd	d��|�dd
d��|�ddd��|�tdjd
��dD]=}|�|���d�|�����>dD]=}|�|���d�|�����>dS)NFrm�	isnumericr�Tr�r�r�r�r�r�rUrr�z{!a} is not numeric.)r�r�r�r�r�z{!a} is numeric.)rHrNrr�r�r�r@r�s  r�test_isnumericzUnicodeTest.test_isnumericsl�����U�B��4�4�4����U�C��5�5�5����T�3��4�4�4����T�8�[�9�9�9����T�6�;�7�7�7����T�8�[�9�9�9����T�<��=�=�=����U�M�;�?�?�?����)�U�_�b�9�9�9�/�	P�	P�B����R�\�\�^�^�-C�-J�-J�2�-N�-N�O�O�O�O�/�	K�	K�B��O�O�B�L�L�N�N�,>�,E�,E�b�,I�,I�J�J�J�J�	K�	Krc��|�d�����|�d�����|�d�����|�d�����|�d�����|�d�����|�d�����|�d�����|�d	�����|�d
�����|�d�����|�d�����dS)
Nr��Z�_�b0�bc�b_�µu𝔘𝔫𝔦𝔠𝔬𝔡𝔢rM�[�©r�)r@�isidentifierr�r3s r�test_isidentifierzUnicodeTest.test_isidentifier!sy������(�(�*�*�+�+�+�����(�(�*�*�+�+�+�����(�(�*�*�+�+�+�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,����6�C�C�E�E�F�F�F�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,�����*�*�,�,�-�-�-�����)�)�+�+�,�,�,�,�,rNzneed _testcapi modulec�V�d}|�|�����tj��5t	jdt��|�tj|�������ddd��dS#1swxYwYdS)Nu𝖀𝖓𝖎𝖈𝖔𝖉𝖊re)	r@r�rrgrhri�DeprecationWarning�	_testcapi�unicode_legacy_string)r4�us  r�test_isidentifier_legacyz$UnicodeTest.test_isidentifier_legacy0s���
+��������(�(�)�)�)�
�
+�
-�
-�	O�	O��!�(�,>�?�?�?��O�O�I�;�A�>�>�K�K�M�M�N�N�N�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O�	O����	O�	O�	O�	O�	O�	Os�AB�B"�%B"c���|�d�����|�d�����|�d�����|�d�����|�d�����|�d�����|�d�����|�d�����|�d	�����dS)
NrmrM�abcdefgzabcdefg
�ʹ�͸��r�u󠀠)r@�isprintabler�r3s r�test_isprintablezUnicodeTest.test_isprintable:s��������(�(�)�)�)�������)�)�*�*�*����	�-�-�/�/�0�0�0�����0�0�2�2�3�3�3�����,�,�.�.�/�/�/�����-�-�/�/�0�0�0�����-�-�/�/�0�0�0�����0�0�2�2�3�3�3�����1�1�3�3�4�4�4�4�4rc	��dD]w}|�|�����|�|�����|�|������xdD]w}|�|�����|�|�����|�|������xdD]A}tt|��}dD]'}|�||��|�d|�d����(�BdD]A}tt|��}dD]'}|�||��|�d|�d����(�BdS)	N)�a�b��a�b��	a�b�a�	a�b�a)uA�B�uA�B�u	A�B�Au	A�B�A)rxr�r�)r����������.z() is False)r�r�r�r�r�r�r�r�)r�r�r�r�r�r�r�r�)r@rxr�r�r�r>r:)r4rb�	meth_name�meths    r�test_surrogateszUnicodeTest.test_surrogatesIs���8�	*�	*�A��O�O�A�I�I�K�K�(�(�(����Q�Y�Y�[�[�)�)�)����Q�Y�Y�[�[�)�)�)�)�8�	)�	)�A����Q�Y�Y�[�[�)�)�)��O�O�A�I�I�K�K�(�(�(��O�O�A�I�I�K�K�(�(�(�(�:�	O�	O�I��3�	�*�*�D�I�
O�
O��� � ���a������9�9�9�*M�N�N�N�N�
O�9�	O�	O�I��3�	�*�*�D�<�
O�
O��� � ���a������9�9�9�*M�N�N�N�N�
O�		O�	Orc���tj�|��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d	���d
��|�d���d��|�d
���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��dS)Nr|�𐑏�𐐧𐐧�𐑏𐑏�𐐧𐑏�
X𐐧x𐑏u
x𐑏x𐑏�fi�İ�i̇�Σ�σ�ͅΣuͅσ�AͅΣuaͅς�AͅΣauaͅσa�AΣͅuaςͅ�Σͅ uσͅ �򏿾rz)rr��
test_lowerr?�lowerr3s rr�zUnicodeTest.test_lowerds-����*�*�4�0�0�0�����+�+�-�-�|�<�<�<����/�5�5�7�7�/�	1�	1�	1����/�5�5�7�7�/�	1�	1�	1����1�7�7�9�9�1�	3�	3�	3����������.�.�.�������)�)�>�:�:�:�������)�)�8�4�4�4�����-�-�/�/��@�@�@�����.�.�0�0�/�B�B�B����)�/�/�1�1�3C�D�D�D�����.�.�0�0�/�B�B�B�����.�.�0�0�/�B�B�B�����.�.�0�0�/�B�B�B�����+�+�-�-�|�<�<�<�������)�)�8�4�4�4�4�4rc�6�|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d	���d
��|�d���d��dS)
Nr��hELlo�ß�ssr��fir�r�r�uaισr�uμ)r?�casefoldr3s r�
test_casefoldzUnicodeTest.test_casefoldzs�������)�)�+�+�W�5�5�5�����)�)�+�+�W�5�5�5���������$�/�/�/�������)�)�4�0�0�0�����*�*�,�,�h�7�7�7�����1�1�3�3�_�E�E�E�����*�*�,�,�h�7�7�7�7�7rc��tj�|��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d	��|�d
���d
��|�d���d��|�d���d
��|�d���d��|�d���d��|�d���d��dS)Nr�r|r�r�r�r�u
X𐐧X𐐧r��FIr�r�r��SS�ῒ�Ϊ̀r�rzry)rr��
test_upperr?�upperr3s rrzUnicodeTest.test_upper�s�����*�*�4�0�0�0�����+�+�-�-�|�<�<�<����/�5�5�7�7�/�	1�	1�	1����/�5�5�7�7�/�	1�	1�	1����1�7�7�9�9�1�	3�	3�	3����������-�-�-�������)�)�8�4�4�4�������)�)�8�4�4�4���������t�,�,�,�������)�)�+?�@�@�@�����+�+�-�-�|�<�<�<�������)�)�8�4�4�4�4�4rc��tj�|��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d	��d
}|�d���|��|�d���d
��|�d���d��dS)Nr�r|r�r��𐑏𐐧r�u
X𐑏x𐑏uhİuHi̇u	Ϊ̀i̇uῒİufinnish�Finnishr�uAͅς)rr��test_capitalizer?�
capitalize)r4�exps  rrzUnicodeTest.test_capitalize�sv����/�/��5�5�5�����0�0�2�2�L�A�A�A����/�:�:�<�<�/�	1�	1�	1����/�:�:�<�<�/�	1�	1�	1����/�:�:�<�<�/�	1�	1�	1����1�<�<�>�>�1�	3�	3�	3�����-�-�/�/��A�A�A�.������2�2�4�4�c�:�:�:�����.�.�0�0�)�<�<�<�����3�3�5�5��G�G�G�G�Grc���t�����|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d	��|�d
���d��|�d���d
��|�d���d��dS)Nr�r|r�r�u𐑏𐑏 𐑏𐑏u𐐧𐑏 𐐧𐑏u𐑏𐐧 𐑏𐐧uX𐐧x𐑏 X𐐧x𐑏uX𐑏x𐑏 X𐑏x𐑏ufiNNISHru	AΣ ᾡxyu	Aς ᾩxyuAΣAuAσa)r��
test_titler?�titler�s �rrzUnicodeTest.test_title�s����
������������+�+�-�-�|�<�<�<����/�5�5�7�7�/�	1�	1�	1����D�J�J�L�L�D�	F�	F�	F����D�J�J�L�L�D�	F�	F�	F����D�J�J�L�L�D�	F�	F�	F����H�N�N�P�P�H�	J�	J�	J�����)�)�+�+�Y�7�7�7����+�1�1�3�3�5G�H�H�H�����)�)�+�+�Z�8�8�8�8�8rc���tj�|��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d	���d
��|�d���d��|�d
���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d
���d��|�d���d��|�d���d��dS)Nr�r|r�r�r�rr�u
x𐑏X𐐧r�r�r�r�r�r�r�uΙσr�uaΙςr�uaΙσAr�uaςΙr�uσΙ r�r�rr)rr��
test_swapcaser?�swapcaser3s rrzUnicodeTest.test_swapcase�s�����-�-�d�3�3�3�����.�.�0�0�,�?�?�?�����.�.�0�0�,�?�?�?����/�8�8�:�:�/�	1�	1�	1����/�8�8�:�:�/�	1�	1�	1����/�8�8�:�:�/�	1�	1�	1����1�:�:�<�<�1�	3�	3�	3�������)�)�4�0�0�0�����*�*�,�,�n�=�=�=�����*�*�,�,�h�7�7�7�����0�0�2�2�N�C�C�C�����1�1�3�3�_�E�E�E����)�2�2�4�4�6F�G�G�G�����1�1�3�3�_�E�E�E�����1�1�3�3�_�E�E�E�����1�1�3�3�_�E�E�E�����*�*�,�,�h�7�7�7���������$�/�/�/�����*�*�,�,�.B�C�C�C�C�Crc�@�tj�|��|�d�dd��d��|�d�dd��d��|�d�dd��d��dS)	Nr�r�r�ux􏿿r�u	􏿿x􏿿r�u
􏿿x􏿿􏿿)rr��test_centerr?�centerr3s rrzUnicodeTest.test_center�s�����+�+�D�1�1�1�������A�|�4�4�&�	(�	(�	(�������A�|�4�4�0�	2�	2�	2�������A�|�4�4�:�	<�	<�	<�	<�	<ri���zrequires 32-bit systemc��d}	d|z}n+#t$r|�d|dzz��YnwxYw	|�t|j��~dS#~wxYw)NiVUU�üz$no enough memory (%.0f MiB required)i)�MemoryError�skipTestrNrLr)r4rMrbs   r�test_case_operation_overflowz(UnicodeTest.test_case_operation_overflow�s�����	S��t��A�A���	S�	S�	S��M�M�@�D�5�L�Q�R�R�R�R�R�	S����	����m�Q�W�5�5�5������E�E�E�Es�
�%2�2� A�Ac��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd	��|�dd
��|�dd��|�d
d��|�d
d��|�d
d��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�dd��|�tdj��dD]s}|dz}dD]i}|�||��|�|||z��|�|dz|��|�|dz||dzz���j�tdS)Nr��abdb�bdab�bdaba�bdba�bdb)r�r�N)r�Nr�)r�r��y)r�r�Nr>�abcxxxx�abrU)r�Nr rm�zabczabc�asdf�asd)r��Āu𐌀r�rr�)�assertIn�assertNotInrNr�__contains__)r4�fillr&s   r�
test_containszUnicodeTest.test_contains�s����
�
�c�6�"�"�"��
�
�c�6�"�"�"��
�
�c�7�#�#�#��
�
�c�6�"�"�"�����e�$�$�$��
�
�c�6�"�"�"��
�
�c�<�(�(�(��
�
�c�<�(�(�(��
�
�c�<�(�(�(��
�
�c�<�(�(�(�����k�*�*�*�����l�+�+�+������+�+�+��
�
�d�F�#�#�#��
�
�d�E�"�"�"��
�
�d�M�*�*�*��
�
�b�%� � � ��
�
�b�"�����
�
�b�%� � � �����u�%�%�%��
�
�d�G�$�$�$��
�
�d�G�$�$�$��
�
�c�7�#�#�#��
�
�f�f�%�%�%������'�'�'������$�$�$����)�U�%7�8�8�8�1�	;�	;�D��A�I�D�6�
;�
;��� � ���-�-�-��
�
�e�T�E�\�2�2�2�� � ����D�1�1�1��
�
�e�a�i����	�)9�:�:�:�:�	
;�	;�	;rc�z�d���d���d���d���d���d���d�dd��d�dd��d�dd��dS)Nu𐀀􀀀�􀀀r��𐀀)	r�r�rrrrr�ljust�rjustr3s r�test_issue18183zUnicodeTest.test_issue18183s����$�$�&�&�&��'�'�)�)�)��$�$�&�&�&��)�)�+�+�+��$�$�&�&�&��'�'�)�)�)����A�|�,�,�,����1�l�+�+�+����1�l�+�+�+�+�+rc�>�|�d���d��|�d���d��|�d���d��|�d���d��|�d���d��|�d���d	��|�d
���d��|�d���d
��ddl}|�d�d��d��|�d�td�����d��|�d�d��d��|�ddd��}|�d�|��d��Gd�d��}Gd�d��}Gd�d ��}Gd!�d"��}Gd#�d$��}Gd%�d&|j��}Gd'�d(t
��}	Gd)�d*��}
Gd+�d,��}|�d���d��|�d-���d-��|�d.�d-��d-��|�d/�d-��d-��|�d0�d-��d1��|�d2�d-��d3��|�d4�d-��d5��|�d6�d7d-��d-��|�d8�d7d-��d1��|�d9�d7d-��d3��|�d:�d7d-��d5��|�d.�d;��d<��|�d=�d;d-��d>��|�d?�d;d-��d@��|�dA���dB��|�dC���dD��|�dE���dF��|�dG���dH��|�dI�dJ��dK��|�dL���dM��|�dN���dO��|�dP���dQ��|�dR�dSdTi��dT��|�dU�dVdTi��dT��|�dW�dXdYi��dZ��|�d[�|d\���]��d^��|�d_�|d`��|d\����da��|�db�||d-������d-��|�dc�d-ddg��d-��|�de�d-ddg��dd��|�df�d-ddgg��dd��|�dg�d-|dd��gg��dd��|�dh�d-��d-��|�dh�d��d��|�dh�di��d-��|�dj�di��d��|�dk�d-��d-��|�dl�d-��d-��|�dm�d-��d��|�dn�d-��do��|�dp�dq��dq��|�dr�dq��dq��|�ds�dq��dq��|�dt�dq��du��|�dv�dq��dw��|�dx�dq��dy��|�dz�dq��dy��|�d{�dq��d|��|�d}�dq��d~��|�d�dq��d���|�d��dq��d���|�d��dq��d���|�d��dq��d���|�d��dq��dq��|�d��dq��d���|�d��dq��d���|�d��dq��d���|�d��dq��d���|�d��d��ddXd�zz��|�d��d��dXd�z��|�d��d��dXd�z��|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��dY��d���|�d��dY��d���|�d��dY��d���|�d��dY��d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��|����d-��|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��d���d���|�d��|d�����d���|�d��d���d���|�d��d���d¦�|�d��|d�����dæ�|�dĠd���d���|�dĠd���d���|�dĠd���dŦ�|�dƠd���d���|�dĠ|d�����d���|�dĠ|d�����dǦ�|�d.�i��dF��|�d.�g��dȦ�|�d.�d7g��dɦ�|�dʠ|d˦���d̦�|�d��|d˦���dͦ�|�td�j|d˦���|�td�j|d˦���|�td�j|d˦���|�dР|dddѬҦ���dӦ�|�d.�|	d`����d^��|�d/�d��d��|�dԠd�d֦�dצ�|�dؠd�d֦�dצ�|�d٠d�d֬ڦ�dצ�|�d۠d�d`d֬ܦ�dݦ�|�d۠d�d�d߬ܦ�dݦ�|�tdBj��|�tdDj��|�tdj��|�tdj��|�td�j��|�td�j��|�td.j��|�td6jd-��|�tdHj��|�tdOj��|�td�j��|�td�j��|�td�j��|�td�jd��|�td�j��|�td�jg��|�td�j��|�td�jd��|�td�jd��|�td�jd��|�td�jd��|�td�j��|�td�jd��|�td�jd��|�td�jdY���|�td�jdY��|�td�jd��|�td�jd��|�td�j��|�td�j��|�td�j��|�tdFj��d�}|�tdB|zdDzj��|�td�|zd�zjdg��|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�td�jd���|�t�djdg��|�t�djdg��|�t�dj�d�d��|�t�djd-�dd��|�t�djdd7�ddY�dd֐d	�d
�
�
�d}
|�t|
�djd��|�t|
td�d
���d}|�t|�djd��|�t�djd��|�ttd�d��|�ttd�d��|��d��d�d���d��|�dh��d���d��|�dj��d��d��|��d�dFd�i��dߦ�|��d�dFdi��d��|��d�dBdi��d��|��d�dDdi��d��|��d��ddi��d��|��d��ddi��d��|�t�dj�d��|�t�d j�d��|�t�d!j�d��|��d"�d�d#���d$��|
d˦�}|��d%�|���d&��|�t�d'j|��|�tdFj|��|d˦�}|��d%�|���d(��|��d'�|���d(��|�tdFj|��dS()Nrmr�r �a{{�a{�a}}�a}�{{b�{b�}}b�}b�a{{b�a{brzMy name is {0}�FredzMy name is FredzMy name is {0[name]})�namezMy name is {0} :-{{}}zMy name is Fred :-{}i�r��zThe year is {0.year}zThe year is 2007c��eZdZdd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Cr�c��||_dSr!��_x�r4r�s  rr9z+UnicodeTest.test_format.<locals>.C.__init__1�
������rc��|Sr!r�r4�specs  r�
__format__z-UnicodeTest.test_format.<locals>.C.__format__3����rN�r��r)r*r+r9rHrrr�Cr?0�7������
�
�
�
�
�
�
�
�
rrLc��eZdZd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Dc��||_dSr!�r�rCs  rr9z+UnicodeTest.test_format.<locals>.D.__init__7�
������rc�*�t|j��Sr!)r:r�rFs  rrHz-UnicodeTest.test_format.<locals>.D.__format__9s���4�6�{�{�"rNrKrrr�DrO6s2������
�
�
�
#�
#�
#�
#�
#rrTc��eZdZd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Ec��||_dSr!rQrCs  rr9z+UnicodeTest.test_format.<locals>.E.__init__>rRrc��d|jzdzS)NzE(�)rQr3s rr;z*UnicodeTest.test_format.<locals>.E.__str__@����d�f�}�s�*�*rNr<rrr�ErV=�2������
�
�
�
+�
+�
+�
+�
+rr[c��eZdZd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Fc��||_dSr!rQrCs  rr9z+UnicodeTest.test_format.<locals>.F.__init__ErRrc��d|jzdzS)NzF(rYrQr3s rr;z+UnicodeTest.test_format.<locals>.F.__repr__GrZrN)r)r*r+r9r;rrr�Fr^Dr\rrac� �eZdZd�Zd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Gc��||_dSr!rQrCs  rr9z+UnicodeTest.test_format.<locals>.G.__init__LrRrc��d|jzS)Nz
string is rQr3s rr;z*UnicodeTest.test_format.<locals>.G.__str__Ns��#�d�f�,�,rc�^�|dkr
d|jzdzSt�||��S)NrzG(rY)r�rCrH�r4�format_specs  rrHz-UnicodeTest.test_format.<locals>.G.__format__Ps4���#�%�%��$�&�=�3�.�.��(�(��{�;�;�;rN)r)r*r+r9r;rHrrr�GrcKsA������
�
�
�
-�
-�
-�
<�
<�
<�
<�
<rric��eZdZd�ZdS)�"UnicodeTest.test_format.<locals>.Ic�,�|�|��Sr!)�strftimergs  rrHz-UnicodeTest.test_format.<locals>.I.__format__Vs���}�}�[�1�1�1rN�r)r*r+rHrrr�IrkUs#������
2�
2�
2�
2�
2rroc��eZdZd�ZdS)�"UnicodeTest.test_format.<locals>.Jc�>�t�|dz|��S�Nr�)rJrHrgs  rrHz-UnicodeTest.test_format.<locals>.J.__format__Zs���~�~�d�Q�h��<�<�<rNrnrrr�JrqYs#������
=�
=�
=�
=�
=rrtc��eZdZd�Zd�ZdZdS)�"UnicodeTest.test_format.<locals>.Mc��||_dSr!rQrCs  rr9z+UnicodeTest.test_format.<locals>.M.__init__^rRrc��d|jzdzS)NzM(rYrQr3s rr;z+UnicodeTest.test_format.<locals>.M.__repr__`rZrN)r)r*r+r9r;r;rrr�Mrv]s1������
�
�
�
+�
+�
+��G�G�Grryc��eZdZd�Zd�ZdZdS)�"UnicodeTest.test_format.<locals>.Nc��||_dSr!rQrCs  rr9z+UnicodeTest.test_format.<locals>.N.__init__erRrc��d|jzdzS)NzN(rYrQr3s rr;z+UnicodeTest.test_format.<locals>.N.__repr__grZrN)r)r*r+r9r;rHrrr�Nr{ds1������
�
�
�
+�
+�
+��J�J�Jrr~rU�{0}z{0:}zX{0}�Xabcz{0}X�abcXzX{0}Y�XabcYz{1}r�zX{1}z{1}XzX{1}Yi�z-15z{0}{1}z-15abcz{0}X{1}z-15Xabcz{{�{z}}�}z{{}}�{}z{{x}}z{x}z{{{0}}}�{z{123}z	{{{{0}}}}z{{0}}z}}{{z}{z}}x{{z}x{z{0[foo-bar]}zfoo-bar�bazz{0[foo bar]}zfoo barz{0[ ]}rMr�rC�{foo._x}�)rB�20z{1}{0}r��2010z{0._x.x}z{0[0]}r�z{0[1]}z	{0[1][0]}z{0[1][0].x}z{0:.3s}�abcdefz{0:.0s}z{0:3.3s}z{0:2.3s}z{0:2.2s}z{0:3.2s}zab z{0:x<0s}rBz{0:x<5s}z{0:x<6s}z{0:x<7s}�resultxz{0:x<8s}�resultxxz{0: <7s}zresult z{0:<7s}z{0:>7s}z resultz{0:>8s}z  resultz{0:^8s}z result z{0:^9s}z	 result  z{0:^10s}z
  result  z{0:8s}zresult  z{0:0s}z{0:08s}�result00z{0:<08s}z{0:>08s}�00resultz{0:^08s}�0result0z	{0:10000}i'i'z{0:10000000}i���z{0:<6s}rBzfooz{0:<6s}zfooz{0:^6s}zfooz{0:^6s}z foo  z{0:<6}z3z{0:<6}z3z{0:^6}z3z{0:<6}z3     ���Q�	@z3.14z3.14z3.14z{0:^6}z 3.14 z{0:<12}y@@z(3+2j)z{0:<12}z(3+2j)z{0:^12}z(3+2j)z{0:^12}z   (3+2j)   z{0:abc}z{0!s}�Helloz{0!s:}z{0!s:15}zHello          z	{0!s:15s}z{0!r}z'Hello'z{0!r:}zF(Hello)r�z'\u0378'r�u'ʹ'uF(ʹ)z{0!a}z'\u0374'z{0!a:}z	F(\u0374)r
z[1]z{0:d}�datazG(data)zstring is dataz{0:^10}z{0:>15s}z{0:date: %Y-%m-%d}�)�year�month�dayzdate: 2007-08-27z{0:.{1}}�hello world�r�z	{0:.{1}s}z{0:.{precision}s})�	precisionz{0:{width}.{precision}s})�widthr�z
hello     �10�5�{a�}azabc{0:{}z{0z{0.}z{0[}z{0]}z{0.[]}z{0..foo}z{0[0}z	{0[0:foo}z{c]}z	{{ {{{0}}z{0}}z{foo})�barz{0!x}z{0!}z{0!rs}z{!}z{:}z{:s}�,23098475029384702983476098230754973209482573z{[z]}z{0:x}��?��?z{0:X}z{0:o}z{0:u}z{0:i}z{0[0]x}z
{0[0](10)}z{0[{1}]}r�r�z{0:{1:{2}}}rbz{0:{1:{2:{3:{4:{5:{6}}}}}}}r�r�r�z+Sign not allowed in string format specifierz{0:-s}�-z,Space not allowed in string format specifierz{: }z{0:=s}�#z#20z
{0:s}{1:s}�ABCuАБВu	ABCАБВz{[{}]}z{[{]}z{[}]}z{[[]}r�z{[!]}rRz{a{}b}rz{a{b}z{[}z0x{:0{:d}X}��0x0000000000000000�{!r}zM(data)z{!s}zN(data))r?r��datetime�dict�daterJrNrr��
IndexError�KeyError�assertRaisesRegex)r4r�rrLrTr[rarirortryr~�big�sign_msg�	space_msg�m�ns                 r�test_formatzUnicodeTest.test_formats����������b�)�)�)���������s�+�+�+����������-�-�-����������.�.�.����������.�.�.����������.�.�.����������.�.�.���������%�0�0�0�	�������)�0�0��8�8�:K�L�L�L����/�6�6�t��7H�7H�7H�I�I�*�	,�	,�	,����0�7�7��?�?�/�	1�	1�	1�
�M�M�$��2�&�&�����/�6�6�q�9�9�+�	-�	-�	-�	�	�	�	�	�	�	�	�	#�	#�	#�	#�	#�	#�	#�	#�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	<�	<�	<�	<�	<�	<�	<�	<�	2�	2�	2�	2�	2��
�	2�	2�	2�	=�	=�	=�	=�	=��	=�	=�	=�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
��������b�)�)�)����������/�/�/�������e�,�,�e�4�4�4�������u�-�-�u�5�5�5�������u�-�-�v�6�6�6�������u�-�-�v�6�6�6��������.�.��8�8�8�������a��/�/��7�7�7�������q�%�0�0�&�9�9�9�������q�%�0�0�&�9�9�9��������5�1�1�7�;�;�;�������c�*�*�E�2�2�2��������e�4�4�h�?�?�?�����)�)�#�u�5�5�y�A�A�A����������,�,�,����������,�,�,���������$�/�/�/�������)�)�5�1�1�1�����)�)�#�.�.��8�8�8�����+�+�-�-�w�7�7�7���������$�/�/�/�������)�)�5�1�1�1�	
����.�.�	�%�/@�A�A�5�I�I�I�����.�.�	�%�/@�A�A�5�I�I�I�������#�a��1�1�3�7�7�7�����*�*�q�q��u�u�*�5�5�t�<�<�<���������2�����"���6�6��?�?�?�����*�*�1�1�Q�Q�u�X�X�;�;�7�7��?�?�?�������%���8�8�%�@�@�@�������%���8�8�%�@�@�@�����+�+�U�U�G�,<�=�=�u�E�E�E�����-�-�u�q�q��x�x�j�.A�B�B�E�J�J�J�	
����)�)�%�0�0�%�8�8�8�����)�)�$�/�/��6�6�6�����)�)�(�3�3�U�;�;�;�����)�)�(�3�3�R�8�8�8�����*�*�5�1�1�5�9�9�9�����*�*�5�1�1�5�9�9�9�����*�*�5�1�1�4�8�8�8�����*�*�5�1�1�5�9�9�9�����*�*�8�4�4�h�?�?�?�����*�*�8�4�4�h�?�?�?�����*�*�8�4�4�h�?�?�?�����*�*�8�4�4�i�@�@�@�����*�*�8�4�4�j�A�A�A�����*�*�8�4�4�i�@�@�@�����)�)�(�3�3�Y�?�?�?�����)�)�(�3�3�Y�?�?�?�����)�)�(�3�3�Z�@�@�@�����)�)�(�3�3�Z�@�@�@�����)�)�(�3�3�[�A�A�A�����*�*�8�4�4�l�C�C�C��������2�2�J�?�?�?��������2�2�H�=�=�=�����)�)�(�3�3�Z�@�@�@�����*�*�8�4�4�j�A�A�A�����*�*�8�4�4�j�A�A�A�����*�*�8�4�4�j�A�A�A�����+�+�C�0�0�#��d�
�2B�C�C�C�����+�+�B�/�/��u��=�=�=�����.�.�r�2�2�C�(�N�C�C�C�	
����-�-�e�4�4�6G�H�H�H�����-�-�e�4�4�6G�H�H�H�����-�-�e�4�4�6G�H�H�H�����)�)�%�0�0�(�;�;�;�����,�,�Q�/�/�1H�I�I�I�����,�,�Q�/�/�1H�I�I�I�����,�,�Q�/�/�1H�I�I�I��������+�+�X�6�6�6�����,�,�T�2�2�N�C�C�C�����,�,�T�2�2�N�C�C�C�����,�,�T�2�2�N�C�C�C��������.�.��9�9�9�����-�-�f�5�5�7W�X�X�X�����-�-�f�5�5�7W�X�X�X�����-�-�f�5�5�7W�X�X�X�����)�)�&�1�1�>�B�B�B�	
����)�)�!�!�#�#�.�.��6�6�6�	
�������0�0�'�:�:�:��������1�1�7�;�;�;�����*�*�7�3�3�5F�G�G�G�����+�+�G�4�4�6G�H�H�H��������0�0�)�<�<�<��������1�1�9�=�=�=���������'�
�
�3�3�Z�@�@�@��������1�1�;�?�?�?��������1�1�:�>�>�>���������(���4�4�k�B�B�B��������0�0�)�<�<�<��������1�1�;�?�?�?��������1�1�;�?�?�?��������1�1�9�=�=�=���������'�
�
�3�3�Z�@�@�@���������(���4�4�l�C�C�C�	
������b�)�)�4�0�0�0�������b�)�)�4�0�0�0�������q�c�*�*�E�2�2�2���������&�	�	�2�2�I�>�>�>���������&�	�	�2�2�4D�E�E�E����)�Y�%5�q�q��y�y�A�A�A����)�Z�%6���&�	�	�B�B�B����)�Z�%6���&�	�	�B�B�B����-�4�4�Q�Q�D�=>�;=�6?�6?�6?�@�@�,�	-�	-�	-�	
������a�a��e�e�,�,�d�3�3�3�	
������s�+�+�S�1�1�1�	
����*�*�=�!�<�<�g�F�F�F�����+�+�M�1�=�=�w�G�G�G����,�3�3�M�Q�3�O�O�QX�Y�Y�Y����3�:�:�=�PR�^_�:�`�`�bn�o�o�o����3�:�:�=�PT�`c�:�d�d�fr�s�s�s�	
���*�c�j�1�1�1����*�c�j�1�1�1����*�d�k�2�2�2����*�d�k�2�2�2����*�d�k�2�2�2����*�d�k�2�2�2����*�e�l�3�3�3����*�e�l�E�:�:�:����(�e�l�3�3�3����*�d�k�2�2�2����*�j�&7�8�8�8����*�d�k�2�2�2����*�f�m�4�4�4����*�f�m�Q�7�7�7����*�f�m�4�4�4����*�f�m�R�8�8�8����(�f�m�4�4�4����*�h�o�q�9�9�9����*�j�&7��;�;�;����*�g�n�a�8�8�8����*�k�&8�!�<�<�<����(�f�m�4�4�4����*�k�&8�!�<�<�<����*�f�m�Q�7�7�7����(�g�n�!��<�<�<����*�g�n�a�8�8�8����*�f�m�Q�7�7�7����*�h�o�q�9�9�9����*�e�l�3�3�3����*�e�l�3�3�3����*�f�m�4�4�4����*�d�k�2�2�2�<�����*�s�S�y�3��&>�?�?�?����*�t�c�z�D�'8�&@�1�#�F�F�F�	
���*�g�n�b�9�9�9����*�g�n�c�:�:�:����*�g�n�b�9�9�9����*�g�n�c�:�:�:����*�g�n�b�9�9�9����*�g�n�c�:�:�:����*�g�n�b�9�9�9����*�g�n�c�:�:�:����*�g�n�b�9�9�9����*�g�n�c�:�:�:����*�g�n�b�9�9�9����*�g�n�c�:�:�:�	
���*�i�&6���?�?�?����*�l�&9�D�6�B�B�B�	
���)�Z�%6�	�1�E�E�E�	
���*�m�&:�E�3��K�K�K����*�&C�&J��Q��1�a��A�q�	2�	2�	2�A�����z�8�X�_�b�I�I�I����z�8�V�R��E�E�E�B�	����z�9�f�m�R�H�H�H����*�h�o�r�:�:�:�	
���*�f�b�#�6�6�6����*�f�b�%�8�8�8�	
����,�,�U�4H�I�I�0�	2�	2�	2�����)�)�*A�B�B��	 �	 �	 �����)�)�*A�B�B��	�	�	�	
������$���3�3�S�9�9�9�������$���6�6��<�<�<��������s��4�4�c�:�:�:��������s��4�4�c�:�:�:��������s��4�4�c�:�:�:��������s��4�4�c�:�:�:����*�h�o�r�:�:�:����*�g�n�b�9�9�9����*�e�l�B�7�7�7�����-�-�c�"�5�5�7K�L�L�L�
�A�f�I�I��������q�)�)�9�5�5�5����)�V�]�A�6�6�6����)�T�[�!�4�4�4�
�A�f�I�I��������q�)�)�9�5�5�5�������q�)�)�9�5�5�5����)�T�[�!�4�4�4�4�4rc�N�|�d�i��d��|�d�i��d��|�d�i��d��|�d�i��d��|�d�i��d��|�d�i��d	��|�d
�i��d��|�d�i��d
��Gd�dt��}|�d�|����d��|�d�|d�����d��Gd�d��}|�d�|����d��Gd�d��}|�d�d|d��i��d��|�tdj��|�tdj��|�t
dji��|�t
dji��|�t
dji��|�t
dji��|�t
d ji��|�t
d!ji��|�t
d"jdd#i��|�t
d"jd��|�t
d$jd#d%d&���Gd'�d(��}|�tdji��|�tdjg��|�tdj|����dS))Nrmr�r r1r2r3r4r5r6r7r8r9r:c��eZdZd�ZdS)�,UnicodeTest.test_format_map.<locals>.Mappingc��|Sr!r�r4�keys  r�__missing__z8UnicodeTest.test_format_map.<locals>.Mapping.__missing__ms���
rN)r)r*r+r�rrr�Mappingr�l�#������
�
�
�
�
rr�z{hello}r�z{a} {world})r�r�c��eZdZd�Zd�ZdS)�4UnicodeTest.test_format_map.<locals>.InternalMappingc��ddi|_dS)Nr�r��rr3s rr9z=UnicodeTest.test_format_map.<locals>.InternalMapping.__init__ss�� #�W�~����rc��|j|Sr!r�r�s  r�__getitem__z@UnicodeTest.test_format_map.<locals>.InternalMapping.__getitem__us���|�C�(�(rN)r)r*r+r9r�rrr�InternalMappingr�rs2������
.�
.�
.�
)�
)�
)�
)�
)rr�z{a}c��eZdZdd�Zd�ZdS)�&UnicodeTest.test_format_map.<locals>.Cr�c��||_dSr!rArCs  rr9z/UnicodeTest.test_format_map.<locals>.C.__init__{rDrc��|Sr!rrFs  rrHz1UnicodeTest.test_format_map.<locals>.C.__format__}rIrNrJrKrrrrLr�zrMrrLr�rBr�r�r�r�r�r�r�r�z{a} {}r�rc��eZdZd�ZdS)�/UnicodeTest.test_format_map.<locals>.BadMappingc��ddzS)Nr�rrr�s  rr�z;UnicodeTest.test_format_map.<locals>.BadMapping.__getitem__�s����s�
rN)r)r*r+r�rrr�
BadMappingr��r�rr�)r?�
format_mapr�rNrr�r��ZeroDivisionError)r4r�r�rLr�s     r�test_format_mapzUnicodeTest.test_format_mapas��������r�*�*�B�/�/�/��������+�+�S�1�1�1��������,�,�d�3�3�3�����)�)�"�-�-�t�4�4�4�����)�)�"�-�-�t�4�4�4�����)�)�"�-�-�t�4�4�4�����)�)�"�-�-�t�4�4�4�����*�*�2�.�.��6�6�6�	�	�	�	�	�d�	�	�	�	
����-�-�g�g�i�i�8�8�'�B�B�B�����1�1�'�'�G�2D�2D�2D�E�E�}�U�U�U�	)�	)�	)�	)�	)�	)�	)�	)�
	
����)�)�/�/�*;�*;�<�<�g�F�F�F�	�	�	�	�	�	�	�	�
	
����.�.��q�q��u�u�~�>�>��E�E�E�	
���)�R�]�3�3�3����)�S�^�4�4�4����*�c�n�b�9�9�9����*�c�n�b�9�9�9����*�d�o�r�:�:�:����*�d�o�r�:�:�:����*�d�o�r�:�:�:����*�d�o�r�:�:�:�	
���*�d�o��a�y�A�A�A����*�d�o�s�;�;�;����*�h�&9�!�1�;M�;M�N�N�N�	�	�	�	�	�	�	�	�	
���(�E�$4�b�9�9�9����)�U�%5�r�:�:�:����+�U�-=�z�z�|�|�L�L�L�L�Lrc���d�tjdz��}|�t��5td|��}ddd��dS#1swxYwYdS)Nz.{}fr����Q�@�r�rwrKrNr��r4�
format_stringrBs   r�test_format_huge_precisionz&UnicodeTest.test_format_huge_precision�s����
�
�c�k�A�o�6�6�
�
�
�
�z�
*�
*�	1�	1��D�-�0�0�F�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1��A�A�"Ac���d�tjdz��}|�t��5td|��}ddd��dS#1swxYwYdS)Nz{}fr�r�r�r�s   r�test_format_huge_widthz"UnicodeTest.test_format_huge_width�s������S�[�1�_�5�5�
�
�
�
�z�
*�
*�	1�	1��D�-�0�0�F�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1r�c���d�tjdz��}|�t��5|�d��}ddd��dS#1swxYwYdS)Nz
{{{}:.6f}}r�r�r�r�s   r�test_format_huge_item_numberz(UnicodeTest.test_format_huge_item_number�s���$�+�+�C�K�!�O�<�<�
�
�
�
�z�
*�
*�	0�	0�"�)�)�$�/�/�F�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s�A � A$�'A$c��Gd�d��}|�d�d��d��|�d�d��d��|�d	�d��d
��|�d�|d����d��|�d�d
dg��d��|�d�ddd���d��|�d�dd
��d��|�d�dd��d��|�d�dd��d��|�tdjd
d��|�td jd
d��|�td!jd
d��|�td"jd
d��|�d#�dd$�%��d&��|�d'�dd$�%��d(��|�d)�d
d*d+d�,��d-��|�d.�ddd
d+�/��d0��dS)1Nc��eZdZdd�Zd�ZdS)�1UnicodeTest.test_format_auto_numbering.<locals>.Cr�c��||_dSr!rArCs  rr9z:UnicodeTest.test_format_auto_numbering.<locals>.C.__init__�rDrc��|Sr!rrFs  rrHz<UnicodeTest.test_format_auto_numbering.<locals>.C.__format__�rIrNrJrKrrrrLr��rMrrLr�r�r�z{:5}rbzs    r�z's'z{._x}z{[1]}r�r�rAz{[a]}r�r�4za{}b{}cr�a0b1cza{:{}}br�z^10za    x     bza{:{}x}br�r��a0x14bz{}{1}z{1}{}z{:{1}}z{0:{}}z{f}{}�test)�f�test4z{}{f}�4testz{:{f}}{g}{}r��g)r�r�z 1g3z{f:{}}{}{g})r�r�z 14g)r?r�rNr�)r4rLs  r�test_format_auto_numberingz&UnicodeTest.test_format_auto_numbering�s���	�	�	�	�	�	�	�	�	
������R���$�/�/�/�������s�+�+�W�5�5�5�������s�+�+�U�3�3�3���������"���.�.��5�5�5��������A��/�/��5�5�5�������Q�A���7�7��=�=�=�����)�)�!�Q�/�/��9�9�9�����)�)�#�u�5�5�~�F�F�F�����*�*�2�s�3�3�X�>�>�>�	
���*�g�n�a��;�;�;����*�g�n�a��;�;�;����*�h�o�q�!�<�<�<����*�h�o�q�!�<�<�<�	
�������V��4�4�g�>�>�>��������V��4�4�g�>�>�>�����-�-�a��c�Q�-�?�?��H�H�H�����-�-�a��a�3�-�?�?��H�H�H�H�Hrc��tj�|��|�ddzd��|�ddzd��|�ddzd��|�dd	zd
��|�ddzd��|�dd
zd��tj�d��sK|�ddzd��|�ddzd��|�ddzd��|�dddd�zd��|�dddd�zd��|�dd zd!��|�dd"zd#��|�tdj	d$��|�dd#zd#��|�tdj	d%��|�td&j	d'��|�td(j	d%��|�d)d*dizd+��|�d)d*dizd+��|�d)d*dizd+��|�d)d*dizd+��|�d)dd,d-�zd+��|�d)dd,d-�zd+��|�d.d/zd0��|�d1d/zd2��|�d3dzd+��|�d4d5zd6��|�d4d7zd8��|�d9d:zd;��|�d9d<zd6��|�d=d>zd?��|�d@dAzdB��|�ddCzdC��GdD�dE��}|�dF|��zd!��tdG��}tdH��}|�dI|zdG��|�dJ|zdK��|�dI|zdH��|�dJ|zdL��|�dMdNzdC��|�dOdNzdP��GdQ�dR��}GdS�dT��}|dU��}|dV��}|�dWdXzdY��|�dZd[zd\��|�d]d^zd_��|�ddVzd`��|�dW|zda��|�dZ|zdb��|�d]|zdc��|�d|zd`��|�
tddtjdWde��|�
tdftjdZdg��|�
tdhtjd]di��|�
tdjtjdW|��|�
tdktjdWdl��|�
tdmtjdZdn��|�
tdotjd]dp��|�
tdqtjdrdl��|�
tdstjd(dn��|�
tdttjdudp��|�
tdvtjd|��Gdw�dx��}|��}	|�
t dytjdu|	��|�
t dytjd(|	��|�
t dytjdr|	��|�
t dztjdW|	��|�
t dztjdZ|	��|�
t dztjd]|	��dS){Nz%s, %s)rUrU�abc, abcz%s, %s, %i, %f, %5.2f)rUrUr�r�r�zabc, abc, 1, 2.000000,  3.00)rUrUr����r�zabc, abc, 1, -2.000000,  3.00)rUrUr�r�g@zabc, abc, -1, -2.000000,  3.50)rUrUr�r�g��(\�@zabc, abc, -1, -2.000000,  3.57)rUrUr�r�g�(\�\�@z abc, abc, -1, -2.000000, 1003.57rTz%r, %r)rfrUz
b'abc', 'abc'z%r)�ሴu'ሴ'z%az'\u1234'z%(x)s, %(y)srUr�)r�rzabc, defu
%(x)s, %(ü)s)r�rz%ci4r�i�u𡒃)rL�aau%.1ဲfgUUUUUU�?z%i�
...%(foo)s...rB�	...abc...r��rBr�z...%s...%s...%s...%s...)r�r�r�rUz...1...2...3...abc...z"...%%...%%s...%s...%s...%s...%s...z...%...%s...1...2...3...abc...z...%s...z%*s)r�rUz  abc)���rUzabc  z%*.*s)r�r�rUz   ab)r�r�rUz%i %*.*s)r�r�r�rUz10   abcz
%i%s %*.*s)r�r�r�r�rUz	103   abcr�c��eZdZd�ZdS)�,UnicodeTest.test_formatting.<locals>.Wrapperc��dS)Nr�rr3s rr;z4UnicodeTest.test_formatting.<locals>.Wrapper.__str__�s���xrN�r)r*r+r;rrr�Wrapperr��s#������
 �
 �
 �
 �
 rr��%s�nan�infz%fz%F�NAN�INFz%.1suaé€z%.2suaéc� �eZdZd�Zd�Zd�ZdS)�.UnicodeTest.test_formatting.<locals>.PseudoIntc�.�t|��|_dSr!�rJ�value�r4rs  rr9z7UnicodeTest.test_formatting.<locals>.PseudoInt.__init__s�� ��Z�Z��
�
�
rc��|jSr!�rr3s r�__int__z6UnicodeTest.test_formatting.<locals>.PseudoInt.__int__�
���z�!rc��|jSr!rr3s r�	__index__z8UnicodeTest.test_formatting.<locals>.PseudoInt.__index__rrN)r)r*r+r9rr	rrr�	PseudoIntr�sA������
(�
(�
(�
"�
"�
"�
"�
"�
"�
"�
"rr
c��eZdZd�Zd�ZdS)�0UnicodeTest.test_formatting.<locals>.PseudoFloatc�.�t|��|_dSr!)�floatrrs  rr9z9UnicodeTest.test_formatting.<locals>.PseudoFloat.__init__s��"�5�\�\��
�
�
rc�*�t|j��Sr!rr3s rrz8UnicodeTest.test_formatting.<locals>.PseudoFloat.__int__
s���4�:���&rN)r)r*r+r9rrrr�PseudoFloatrs2������
*�
*�
*�
'�
'�
'�
'�
'rrgo���!	@�mz%xr�2az%X�raz%or��11r��6d�6D�155z,%x format: an integer is required, not floatr�z,%X format: an integer is required, not floatg�z�G�@z,%o format: an integer is required, not floatg�p=
ף�?z2%x format: an integer is required, not PseudoFloatz.%x format: an integer is required, not complexy@z.%X format: an integer is required, not complexy@z.%o format: an integer is required, not complexr�z1%u format: a real number is required, not complexz%uz1%i format: a real number is required, not complexz1%d format: a real number is required, not complexz%dz%c requires int or charc��eZdZd�Zd�ZdS)�2UnicodeTest.test_formatting.<locals>.RaisingNumberc� �td���)NrJ��RuntimeErrorr3s rrz:UnicodeTest.test_formatting.<locals>.RaisingNumber.__int__#s��"�5�)�)�)rc� �td���)Nr�rr3s rr	z<UnicodeTest.test_formatting.<locals>.RaisingNumber.__index__%s��"�7�+�+�+rN)r)r*r+rr	rrr�
RaisingNumberr"s2������
*�
*�
*�
,�
,�
,�
,�
,rrrJr�)rr.�test_formattingr?rwrxryrNrL�__mod__rr�rr��operator�modr)
r4r�r�r�r
r�pi�letter_mr�rns
          rrzUnicodeTest.test_formatting�s����2�B�B�4�H�H�H�����N�2�J�?�?�?����0�3J�J�Lj�k�k�k����0�3K�K�Ml�m�m�m����0�3N�N�Pp�q�q�q����0�3O�O�Qq�r�r�r����0�3R�R�Tv�w�w�w��|�&�&�v�.�.�	>����X��7��I�I�I����T�K�/��<�<�<����T�K�/��=�=�=�����u�%�*@�*@�@�*�M�M�M����*�%��-F�-F�F�
�S�S�S��������1�1�1��������6�6�6����-���{�C�C�C������,�l�;�;�;����)�T�\�4�8�8�8����*�l�&:�U�D�D�D����)�T�\�4�8�8�8�	
����E�%�=�8�+�F�F�F�����E�%�=�8�+�F�F�F�����E�%�=�8�+�F�F�F�����E�%�=�8�+�F�F�F�����%�c�+B�+B�B�[�Q�Q�Q�����%�c�+B�+B�B�K�P�P�P����2�]�B�D[�\�\�\����=�
�M�Oo�p�p�p�����e�+�[�9�9�9������+�W�5�5�5������,�g�6�6�6�����<�/��9�9�9�����<�/��9�9�9�����&6�6�
�C�C�C�����(=�=�{�K�K�K�������S�)�)�)�	 �	 �	 �	 �	 �	 �	 �	 �	
������	�	�)�8�4�4�4��E�l�l���E�l�l��������U�+�+�+�������U�+�+�+�������U�+�+�+�������U�+�+�+�	
����-�/��5�5�5�����-�/��9�9�9�	"�	"�	"�	"�	"�	"�	"�	"�	'�	'�	'�	'�	'�	'�	'�	'�
�[��
 �
 ���9�S�>�>��������D�)�)�)�������C�(�(�(�������4�(�(�(�������S�)�)�)�������$�/�/�/�������$�/�/�/�������%�0�0�0�������#�.�.�.����y�*X�Zb�Zf�hl�nr�s�s�s����y�*X�Zb�Zf�hl�nr�s�s�s����y�*X�Zb�Zf�hl�nr�s�s�s����y�*^�`h�`l�nr�tv�w�w�w����y�*Z�\d�\h�jn�pr�s�s�s����y�*Z�\d�\h�jn�pr�s�s�s����y�*Z�\d�\h�jn�pr�s�s�s����y�*]�_g�_k�mq�su�v�v�v����y�*]�_g�_k�mq�su�v�v�v����y�*]�_g�_k�mq�su�v�v�v����y�*C�X�\�SW�Y[�\�\�\�	,�	,�	,�	,�	,�	,�	,�	,��]�_�_�����|�U�H�L�$��K�K�K����|�U�H�L�$��K�K�K����|�U�H�L�$��K�K�K����|�W�h�l�D�"�M�M�M����|�W�h�l�D�"�M�M�M����|�W�h�l�D�"�M�M�M�M�Mrc
�*�ddl}Gd�dt|j��}Gd�d|j��}Gd�d|j��}|�|j�d|j��d	��|�d
|j|j|j|j|j|j|jfzd��|�dd
|jizd��|�dd
|jizd��|�dd
|jizd��|�dd
|jizd��|�dd
|jizd��|�d|j|jd�zd��|�d|jdd�zd��dS)Nrc��eZdZdZdS)�4UnicodeTest.test_formatting_with_enum.<locals>.FloatgJ�M�!	@N)r)r*r+�PIrrr�Floatr(3s�������B�B�Brr*c��eZdZdZdS)�2UnicodeTest.test_formatting_with_enum.<locals>.IntrN)r)r*r+�IDESrrr�Intr,6s�������D�D�Drr.c��eZdZdZdS)�2UnicodeTest.test_formatting_with_enum.<locals>.StrrUN)r)r*r+r�rrr�Strr09s�������C�C�Crr1z, r�z%s, %s, %d, %i, %u, %f, %5.2fz%abc, abc, 15, 15, 15, 3.141593,  3.14r�rBr�z
...%(foo)r...z...<Int.IDES: 15>...z...15...z
...%(foo)i...z
...%(foo)d...z
...%(foo)u...r�z
...%(foo)f...r�z...3.141593...)	�enumr�Enum�IntEnum�StrEnumr?r�r-r))r4r2r*r.r1s     r�test_formatting_with_enumz%UnicodeTest.test_formatting_with_enum0s>������	�	�	�	�	�E�4�9�	�	�	�	�	�	�	�	�$�,�	�	�	�	�	�	�	�	�$�,�	�	�	�	
���S�W�W�W�c�g�g�6�#�	%�	%�	%����8���#�'���3�8�S�X���5�8�-�-�A�		B�	B�	B�	
����E�#�'�?�:�$�	&�	&�	&�����E�#�(�+;�;�/�	1�	1�	1�����E�#�(�+;�;�#�	%�	%�	%�����E�#�(�+;�;�#�	%�	%�	%�����E�#�(�+;�;�#�	%�	%�	%�����#�(�%�(�+K�+K�K�#�	%�	%�	%�����%�(��+E�+E�E�)�	+�	+�	+�	+�	+rc��d�tjdz��}|�t��5|dz}ddd��dS#1swxYwYdS�Nz%.{}fr�r�r�r�s   r�test_formatting_huge_precisionz*UnicodeTest.test_formatting_huge_precisionUs������s�{�Q��7�7�
�
�
�
�z�
*�
*�	*�	*�"�T�)�F�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*��A�A�Ac�p�Gd�dt��}|�d|d��zd��dS)Nc��eZdZd�ZdS)�BUnicodeTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStrc�,�d�|��S)Nz'Success, self.__rmod__({!r}) was called�r�)r4�others  r�__rmod__zKUnicodeTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStr.__rmod__^s��@�G�G��N�N�NrN)r)r*r+rArrr�
SubclassedStrr=]s(������
O�
O�
O�
O�
OrrBz	lhs %% %r�rhsz.Success, self.__rmod__('lhs %% %r') was called�r:r?)r4rBs  r�test_issue28598_strsubclass_rhsz+UnicodeTest.test_issue28598_strsubclass_rhsZsq��	O�	O�	O�	O�	O�C�	O�	O�	O�	
����}�}�U�';�';�;�I�	K�	K�	K�	K�	Krc��d�tjdz��}|�t��5|dz}ddd��dS#1swxYwYdSr8)r�r��INT_MAXrNr�r�s   r�'test_formatting_huge_precision_c_limitsz3UnicodeTest.test_formatting_huge_precision_c_limitscs��� ���y�'8�1�'<�=�=�
�
�
�
�z�
*�
*�	*�	*�"�T�)�F�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*r:c��d�tjdz��}|�t��5|dz}ddd��dS#1swxYwYdS)Nz%{}fr�r�r�r�s   r�test_formatting_huge_widthz&UnicodeTest.test_formatting_huge_widthjs����
�
�c�k�A�o�6�6�
�
�
�
�z�
*�
*�	*�	*�"�T�)�F�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*r:c�$�djdjfD]�}|�t��5}|dg��ddd��n#1swxYwYt	|j��}|�d|��|�d|����dS)NrBr�r:r�)ry�endswithrNrr:�	exceptionr%)r4r��cm�excs    r�test_startswith_endswith_errorsz+UnicodeTest.test_startswith_endswith_errorsos����%�u�~�6�	(�	(�D��"�"�9�-�-�
����c�U����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��b�l�#�#�C��M�M�%��%�%�%��M�M�'�3�'�'�'�'�	(�	(s�
A�A	�A	�LC_ALL�de_DE�fr_FRc�8�|�dddz��dS)Nz1.0z%.1fr��r?r3s r�test_format_floatzUnicodeTest.test_format_floatws$��	
�������-�-�-�-�-rc	�^�|�td��d��dD]�}t|��}|�t|��|��|�t|��t|����|dkrR|�|�d��d��|�|�d��d����|�td��d��Gd�d��}|�t|d	����d	��|d
��}|�t|��d
��|�t|��d
��dD]?}|�t|��tt|�������@t
j�d��s#|�ttd
dd��|�tddd��d��t
j�d��s2|�ttd��dd��d��|�ttddd��dS)Nzunicode remains unicode)rzrrnr�rzsascii�utf-8z strings are converted to unicodec��eZdZd�Zd�ZdS)�2UnicodeTest.test_constructor.<locals>.StringCompatc��||_dSr!rQrCs  rr9z;UnicodeTest.test_constructor.<locals>.StringCompat.__init__�rRrc��|jSr!rQr3s rr;z:UnicodeTest.test_constructor.<locals>.StringCompat.__str__�s	���v�
rNr<rrr�StringCompatrZ�s2������
�
�
�
�
�
�
�
rr]z)__str__ compatible objects are recognizedz#unicode(obj) is compatible to str())r�g������^@r�rTz!decoding unicode is not supportedrsstrings are decoded to unicodezstrings are decoded to unicodes(character buffers are decoded to unicodez(character buffers are decoded to unicoder)r?r:r'�lenr"rwrxryrNr�
memoryview)r4r$�subclassr]�o�objs      r�test_constructorzUnicodeTest.test_constructor|s���	
����)�*�*�%�	
�	
�	
�
>�	E�	E�D�"�4�(�(�H����S��]�]�D�1�1�1����S��]�]�C��I�I�6�6�6��w���� � �����!9�!9�8�D�D�D�� � �����!9�!9�8�D�D�D������2�3�3�.�	
�	
�	
�
	�	�	�	�	�	�	�	�	
������H�I�I�J�J�7�	
�	
�	
�
�L�>�?�?������Q���!F�G�G�G�����Q���!F�G�G�G�%�	6�	6�C����S��X�X�s�3�s�8�8�}�}�5�5�5�5�
�|�&�&�v�.�.�	������3���
�
�
�	
����1�7�H�E�E�,�	
�	
�	
�
�|�&�&�v�.�.�	������J�K�K�����
;�

�
�
�	
���)�S�"�b�"�5�5�5�5�5rc�.�	|�td���d��|�tdd���d��|�tdd���d��|�tdd���d��dS)	NrB)rCsfoorX)rCrr�r)rCr)r?r:r3s r�test_constructor_keyword_argsz)UnicodeTest.test_constructor_keyword_args�s���L�����E�*�*�*�E�2�2�2�����F�W�=�=�=�u�E�E�E�����V�H�5�5�5�u�=�=�=�����F�8�<�<�<�e�D�D�D�D�Drc�N�	|�t��d��|�td���d��d�d��}|�t|d���d��|�tt|d���dS)Nrmrre�¢rXrz)r)r?r:r"rN�UnicodeDecodeError)r4�	utf8_cents  r�test_constructor_defaultsz%UnicodeTest.test_constructor_defaults�s���6��������#�#�#�����H�-�-�-�r�2�2�2��K�K��(�(�	�����Y�x�8�8�8�$�?�?�?����,�c�9�w��O�O�O�O�Orc��gd�}|D].\}}|�|�d��|���/|�d�d��d��|�d�d��d��|�d�d��d��|�d	�d��d
��|�d�d��d��|�d�d��d��|�d�d��d��|�d
�d��d	��|�d�d��d��|�d�d��d��|�d
�dd��d��d}d}|D]z}|�|�d��|�d����|�|�d���d��|���{|D]>}|�|�d���d��|���?|�td��5d�d��ddd��dS#1swxYwYdS)N))uA≢Α.s	A+ImIDkQ.)u
Hi Mom -☺-!sHi Mom -+Jjo--!)u	日本語s
+ZeVnLIqe-)uItem 3 is £1.sItem 3 is +AKM-1.)�+s+-)z+-s+--�z+?s+-?)z\?s+AFw?rn)z\\?s+AFwAXA?)z\\\?s
+AFwAXABc?)z++--s+-+---)u򫳞s+2m/c3g-)�/�/�utf-7u�s+2AE-u�xs+2AE-xu�s+3AE-u�xs+3AE-xu�򫳞s
+2AHab9ze-s+�rermzGABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?z!"#$%&*;<=>@[]^_`{|}�utf7rzzill-formed sequences+@)r?r"r#r�ri)r4�utfTestsr�r�set_d�set_or�s       r�test_codecs_utf7zUnicodeTest.test_codecs_utf7�s,��
�
�
��"�	3�	3�F�Q�����Q�X�X�g�.�.��2�2�2�2�	
�������1�1�8�<�<�<�����)�)�'�2�2�I�>�>�>��������1�1�8�<�<�<�����)�)�'�2�2�I�>�>�>��������1�1�8�<�<�<�����)�)�'�2�2�I�>�>�>��������1�1�8�<�<�<�����)�)�'�2�2�I�>�>�>����+�2�2�7�;�;�]�K�K�K�����-�-�g�6�6�8J�K�K�K�	
�������(�;�;�R�@�@�@�Z��&���	B�	B�A����Q�X�X�f�-�-�q�x�x��/@�/@�A�A�A����Q�X�X�g�.�.�5�5�f�=�=�q�A�A�A�A��	B�	B�A����Q�X�X�g�.�.�5�5�f�=�=�q�A�A�A�A�
�
#�
#�$6�$9�;�;�	"�	"��L�L��!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s�K:�:K>�K>c�r�|�d�d��d��|�d�d��d��|�d�d��d��|�d�d��d	��|�d
�dd��d��|�d
�dd��d��|�d�d��d��|�d�d��d��|�td	d��d��|�tdd��d��|�tdd��d��dS)NrmrXrrns€u𐀂s𐀂u𣑖s𣑖r��
surrogatepasss�u�s�u(𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂s(𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂𐀂u�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git unds�正確に言うと翻訳はされていません。一部はドイツ語ですが、あとはでたらめです。実際には「Wenn ist das Nunstuck git und)r?r"r:r3s r�test_codecs_utf8zUnicodeTest.test_codecs_utf8	s���������7�+�+�S�1�1�1��������1�1�?�C�C�C�����,�,�W�5�5�7J�K�K�K�����,�,�W�5�5�7J�K�K�K��������/�B�B�O�T�T�T��������/�B�B�O�T�T�T����/�1�1�'�:�:�/�	1�	1�	1����
 �
!'��w���	
9�	
�	
�	
�(	
����0�'�:�:�L�J�J�J�����0�'�:�:�L�J�J�J�����_�g�6�6��B�B�B�B�Brc�p�gd�}|D].\}}|�|�d��|���/dS)N))�r!)�ar�)��)s€�€)s߿u߿)sࠀuࠀ)s퟿u퟿)srs)s￿rK)s𐀀r,)s􏿿r�rX)r?r#)r4�	sequencesrN�ress    r� test_utf8_decode_valid_sequencesz,UnicodeTest.test_utf8_decode_valid_sequences.sW��
�
�
�	�"�	7�	7�H�C�����S�Z�Z��0�0�#�6�6�6�6�	7�	7rc�z�d�tdd��D��}d�tdd��D��}d�tdd��D��}||z|zd	�td
d��D��z}|D]#}|�t|jd���$|D]+}|D]&}|�t||zjd���'�,|D]F}|dd
�D]9}|dd
�D],}	|�t||zdz|	zjd���-�:�Gd�tdd��D��D]P}|�td|zdzjd��|�td|zdzjd���Qd�tdd��D��D]P}|�td|zdzjd��|�td|zdzjd���Qd�tdd��D��D]P}|�td|zdzjd��|�td|zdzjd���Qd�tdd��D��D]P}|�td|zdzjd��|�td|zdzjd���QdS)Nc�.�g|]}t|g����Sr�rG��.0r�s  r�
<listcomp>zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>As ��D�D�D�Q�e�Q�C�j�j�D�D�Dr��c�.�g|]}t|g����Srr�r�s  rr�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>C� ��%L�%L�%L�Q�e�Q�C�j�j�%L�%L�%Lr��c�.�g|]}t|g����Srr�r�s  rr�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>Er�r��c�.�g|]}t|g����Srr�r�s  rr�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>Hs ��)Q�)Q�)Q��%���*�*�)Q�)Q�)Qr�rnrXr���c�.�g|]}t|g����Srr�r�s  rr�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>X� ��9�9�9�!�5�!��:�:�9�9�9r�����c�.�g|]}t|g����Srr�r�s  rr�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>^r�r��c�.�g|]}t|g����Srr�r�s  rr�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>cr�r������s��c�.�g|]}t|g����Srr�r�s  rr�zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>hr�r��)r~rNrir#)
r4�continuation_bytes�invalid_2B_seq_start_bytes�invalid_4B_seq_start_bytes�invalid_start_bytes�byte�sb�cb�cb1�cb3s
          r�"test_utf8_decode_invalid_sequencesz.UnicodeTest.test_utf8_decode_invalid_sequences?s���D�D�%��d�2C�2C�D�D�D��%L�%L�%��d�:K�:K�%L�%L�%L�"�%L�%L�%��d�:K�:K�%L�%L�%L�"��!;�;�&�
'�)Q�)Q�e�D�%�>P�>P�)Q�)Q�)Q�
R�	�
(�	H�	H�D����0�$�+�w�G�G�G�G�,�	O�	O�B�(�
O�
O���!�!�"4�r�"�u�n�g�N�N�N�N�
O�-�	L�	L�B�)�"�1�"�-�
L�
L��-�b�q�b�1�L�L�C��%�%�&8�')�#�v�g�~�c�'9�&A�7�L�L�L�L�L�
L�
:�9�u�T�4�'8�'8�9�9�9�	D�	D�B����0�&�r�z�'�1�9�7�
D�
D�
D����0�&�r�z�'�1�9�7�
D�
D�
D�
D�:�9�u�T�4�'8�'8�9�9�9�	D�	D�B����0�&�r�z�'�1�9�7�
D�
D�
D����0�&�r�z�'�1�9�7�
D�
D�
D�
D�9�9�u�T�4�'8�'8�9�9�9�	H�	H�B����0�&�r�z�+�5�=�w�
H�
H�
H����0�&�r�z�+�5�=�w�
H�
H�
H�
H�9�9�u�T�4�'8�'8�9�9�9�	H�	H�B����0�&�r�z�+�5�=�w�
H�
H�
H����0�&�r�z�+�5�=�w�
H�
H�
H�
H�	H�	Hrc�2�d}gd|f�d|dzf�d|f�d|dzf�d|f�d|dzf�d	|dzf�d
|f�d|dzf�d|d
zf�d|dzf�d|f�d|dzf�d|d
zf�d|dzf�d|f�d|dzf�d|dz|zf�d|dzf�d|dzf�d|dzdzf�d|dz|zf�d|f�d|dzf�d|d
zf�d |dzf�d!|d"zf�d#|f�d$|f�d%|dzf�d&|dzf�d'|dzf�d(|dz|zf�d)|dz|dzzf�d*|dz|zdzf�d+|dz|zf�d,|dz|zf�d-|dz|dzzf�d.|dzdzf�d/|dz|dzzf�d0|f�d1|dzf�d2|dzf�d3|d
zf�d4|dzf�d5|dzdzf�d6|dzdz|zf�d7|dz|dzzdzf�d8|f�d9|dzf�d:|dzf�d;|dzdzf�d<|d"zf�d=|f�d>|dzf�d?|d
zf�d@|dAzf�dB|f�dC|d
zf�dD�dE�dF�dG�}t|��D]�\}\}}|�t|jdHdI��|�|�dHdJ��|��|�|dKz�dHdJ��|dLz��|�|�dHdM��|�ddN������dS)ON��r�r�r���s����s��s����s��s���r�s�ArI��s��s���s����r�s�s�As�A�s�AA�AAs�As��As�A���s��s���s����s�����r�s�s�s�As�AAs�As�A�s�A��s�A�As�AA�s�A�s�A��s��As�A����s��s��s���s����s��As��A�s�A��A��s��s��s��As�������s��s���s������r���s���)s�ABCu�ABC)s�BCu��BC)s�Cu�C)s
a���b�c��dua���b�c��drXrrQ�br�rerm)�	enumeraterNrir#r?rQ)r4�FFFDr�r�rNr�s      r�test_issue8271zUnicodeTest.test_issue8271ns����J
�
�d�O�J
��$�q�&�!�J
��d�O�	J
�
�$�q�&�!�J
��d�O�
J
��$�q�&�!�J
��$�q�&�!�J
��d�O�J
��$�q�&�!�J
��d�1�f�%�J
��$�s�(�#�J
��d�O�J
� �$�q�&�!�!J
�"�d�1�f�%�#J
�$!�$�q�&�)�%J
�&�$��'J
�(�$�s�(�#�)J
�*�d�3�h�t�m�,�+J
�,�d�4�i�(�-J
�.�d�3�h�'�/J
�0!�$�q�&��*�-�1J
�2!�$�s�(�4�-�0�3J
�6�d�O�7J
�8�$�q�&�!�9J
�:�d�1�f�%�;J
�<!�$�q�&�)�=J
�>%�d�1�f�-�?J
�@�$��AJ
�B�d�#�CJ
�D�d�3�h�'�EJ
�F!�$�t�)�,�GJ
�H!�$�s�(�+�IJ
�J�d�3�h�t�m�,�KJ
�L!�$�s�(�4��6�/�2�MJ
�N!�$�s�(�4�-��"3�4�OJ
�P!�$�t�)�D�.�1�QJ
�R!�$�s�(�4�-�0�SJ
�T!�$�s�(�4��6�/�2�UJ
�V!�$�q�&��*�-�WJ
�X!�$�s�(�4��6�/�2�YJ
�\�d�O�]J
�^�$�q�&�!�_J
�`�$�q�&�!�aJ
�b�d�1�f�%�cJ
�d!�$�q�&�)�eJ
�f�d�1�f�S�j�)�gJ
�h!�$�q�&��*�T�/�2�iJ
�j%�d�3�h�t�A�v�o�c�&9�:�kJ
�n�d�O�oJ
�p�$�q�&�!�qJ
�r�$�q�&�!�sJ
�t�d�1�f�s�l�+�uJ
�v%�d�1�f�-�wJ
�z�d�O�{J
�|�$�q�&�!�}J
�~�d�1�f�%�J
�@)�$�q�&�1�AJ
�D�d�O�EJ
�F�d�1�f�%�GJ
�J
<�KJ
�L
>�MJ
�N
8�OJ
�P
E�QJ
�	�V'�y�1�1�	8�	8�M�A�z��S����0�#�*�g�x�P�P�P����S�Z�Z���;�;�S�A�A�A����c�$�h�.�.�w�	�B�B�C��G�L�L�L����S�Z�Z���:�:� �[�[��2�6�6�
8�
8�
8�
8�		8�	8rc��	|�t��5}|�d��ddd��n#1swxYwY|j}|�|t|����|�|�dd��|��|�d|zdz�dd��d|zdz��|�dd��}|�|�dd	��|��|�d|zdz�dd	��d|zdz��dS)
NrXrQsaaaasbbbb�aaaa�bbbbr�rmre)rNrir#rMr%r:r?rQ)r4rNr��errrNrOs      r�assertCorrectUTF8Decodingz%UnicodeTest.assertCorrectUTF8Decoding�s���	�
�
�
�1�
2�
2�	 �b��J�J�w����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��l���
�
�c�3�s�8�8�$�$�$�������G�Y�7�7��=�=�=����'�C�-�'�1�9�9�'�9�M�M��#���.�	0�	0�	0��k�k�(�B�'�'��������G�X�6�6��<�<�<����'�C�-�'�1�9�9�'�8�L�L� �3�,��/�	1�	1�	1�	1�	1s�>�A�Ac�`�	d}dD]'}|�t|g��dd���(dS)Nr�s��������zinvalid start byte)r�rG)r4r�r�s   r�test_invalid_start_bytez#UnicodeTest.test_invalid_start_byte�s[��	���7�	A�	A�D��*�*�5�$��=�=�(�+?�
A�
A�
A�
A�	A�	Arc�|�	gd�}d}|D]1}|�t�|��dd���2dS)N)&�C2�DFzE0 A0zE0 BFzE1 80zE1 BFzEC 80zEC BFzED 80zED 9FzEE 80zEE BFzEF 80zEF BFzF0 90zF0 BFzF0 90 80zF0 90 BFzF0 BF 80zF0 BF BFzF1 80zF1 BFzF1 80 80zF1 80 BFzF1 BF 80zF1 BF BFzF3 80zF3 BFzF3 80 80zF3 80 BFzF3 BF 80zF3 BF BFzF4 80zF4 8FzF4 80 80zF4 80 BFzF4 8F 80zF4 8F BFr�zunexpected end of data�r�rG�fromhex)r4r�r�rNs    r�test_unexpected_end_of_dataz'UnicodeTest.test_unexpected_end_of_data�sp��
	�
�
�
�	����	E�	E�C��*�*�5�=�=��+=�+=�x�+C�
E�
E�
E�
E�	E�	Erc	���	d}|dz}d|dzfd|dzfd|fd|fd	|dzfd
|dzfd|fd|fg}|D]4\}}|�t�|��|d
���5dS)Nr�r�zC2 00r!zC2 7Fr~zC2 C0zC2 FFzDF 00zDF 7FzDF C0zDF FF�invalid continuation byter��r4r��FFFDx2r�rNr�s      r�test_invalid_cb_for_2bytes_seqz*UnicodeTest.test_invalid_cb_for_2bytes_seqs���	�������
�d�6�k�"�W�d�6�k�$:�
�f����0�
�d�6�k�"�W�d�6�k�$:�
�f����0�	
�	�"�	H�	H�H�C���*�*�5�=�=��+=�+=�s�+F�
H�
H�
H�
H�	H�	Hrc��	d}|dz}gd|dzf�d|dzf�d|f�d|f�d	|f�d
|f�d|dzf�d|dzf�d
|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d |dzf�d!|f�d"|f�d#|dzf�d$|dzf�d%|f�d&|f�d'|dzf�d(|dzf�d)|f�d*|f�d+|dzf�d,|dzf�d-|f�d.|f�d/|f�d0|f�d1|dzf�d2|dzf�d3|f�d4|f�d5|dzf�d6|dzf�d7|f�d8|f�d9|dzf�d:|dzf�d;|f�d<|f�d=|dzf�d>|dzf�d?|f�d@|f�dA|dzf�dB|dzf�dC|f�dD|f�dE|dzf�dF|dzf�dG|f�dH|f�dI|dzf�dJ|dzf�dK|f�dL|f�dM|dzf�dN|dzf�dO|f�dP|f�}|D]4\}}|�t�|��|dQ���5dS)RNr�r�zE0 00r!zE0 7Fr~zE0 80zE0 9FzE0 C0zE0 FFzE0 A0 00zE0 A0 7FzE0 A0 C0zE0 A0 FFzE0 BF 00zE0 BF 7FzE0 BF C0zE0 BF FFzE1 00zE1 7FzE1 C0zE1 FFzE1 80 00zE1 80 7FzE1 80 C0zE1 80 FFzE1 BF 00zE1 BF 7FzE1 BF C0zE1 BF FFzEC 00zEC 7FzEC C0zEC FFzEC 80 00zEC 80 7FzEC 80 C0zEC 80 FFzEC BF 00zEC BF 7FzEC BF C0zEC BF FFzED 00zED 7FzED A0zED BFzED C0zED FFzED 80 00zED 80 7FzED 80 C0zED 80 FFzED 9F 00zED 9F 7FzED 9F C0zED 9F FFzEE 00zEE 7FzEE C0zEE FFzEE 80 00zEE 80 7FzEE 80 C0zEE 80 FFzEE BF 00zEE BF 7FzEE BF C0zEE BF FFzEF 00zEF 7FzEF C0zEF FFzEF 80 00zEF 80 7FzEF 80 C0zEF 80 FFzEF BF 00zEF BF 7FzEF BF C0zEF BF FFr�r�r�s      r�test_invalid_cb_for_3bytes_seqz*UnicodeTest.test_invalid_cb_for_3bytes_seqs~��	� ������"
�
�d�6�k�"�"
�%,�d�6�k�$:�"
�=D�f�<M�"
�
�f��"
� '��0�"
�3:�F�2C�"
���f��%�"
�)3�D��K�'@�"
��� �	"
�$.�v�"6�	"
�
��f��%�"
�
)3�D��K�'@�"
��� �
"
�$.�v�"6�
"
�:A�$�v�+�8N�
"
��d�6�k�"�"
�&-�f�$5�"
�9@��7H�"
���f��%�"
�)3�D��K�'@�"
��� �"
�$.�v�"6�"
���f��%�"
�)3�D��K�'@�"
��� �"
�$.�v�"6�"
�:A�$�v�+�8N�"
��d�6�k�"�"
�&-�f�$5�"
�9@��7H�"
���f��%�"
�)3�D��K�'@�"
��� �"
�$.�v�"6�"
���f��%�"
�)3�D��K�'@�"
� �� �!"
� $.�v�"6�!"
� :A�$�v�+�8N�!"
�"�d�6�k�"�#"
�$�f��%"
�$!(��0�%"
�&�f��'"
�&!(��0�'"
�&4>�t�F�{�2K�'"
�(��f��%�)"
�()3�F�';�)"
�*�� �+"
�*$.�t�F�{�";�+"
�,��f��%�-"
�,)3�F�';�-"
�.�� �/"
�.$+�D��K�"8�/"
�0�d�6�k�"�1"
�0&-�f�$5�1"
�09@��7H�1"
�2��f��%�3"
�2)3�D��K�'@�3"
�4�� �5"
�4$.�v�"6�5"
�6��f��%�7"
�6)3�D��K�'@�7"
�8�� �9"
�8$.�v�"6�9"
�8:A�$�v�+�8N�9"
�:�d�6�k�"�;"
�:&-�f�$5�;"
�:9@��7H�;"
�<��f��%�="
�<)3�D��K�'@�="
�>�� �?"
�>$.�v�"6�?"
�@��f��%�A"
�@)3�D��K�'@�A"
�B�� �C"
�B$.�v�"6�C"
�	�F"�	H�	H�H�C���*�*�5�=�=��+=�+=�s�+F�
H�
H�
H�
H�	H�	Hrc�x�	d}|dz}gd|dzf�d|dzf�d|f�d|f�d	|f�d
|f�d|dzf�d|dzf�d
|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d|dzf�d|f�d|f�d|dzf�d |dzf�d!|f�d"|f�d#|dzf�d$|dzf�d%|f�d&|f�d'|dzf�d(|dzf�d)|f�d*|f�d+|dzf�d,|dzf�d-|f�d.|f�d/|dzf�d0|dzf�d1|f�d2|f�d3|dzf�d4|dzf�d5|f�d6|f�d7|dzf�d8|dzf�d9|f�d:|f�d;|dzf�d<|dzf�d=|f�d>|f�d?|dzf�d@|dzf�dA|f�dB|f�dC|dzf�dD|dzf�dE|f�dF|f�dG|dzf�dH|dzf�dI|f�dJ|f�dK|dzf�dL|dzf�dM|f�dN|f�dO|dzf�dP|dzf�dQ|f�dR|f�dS|dzf�dT|dzf�dU|f�dV|f�dW|dzf�dX|dzf�dY|f�dZ|f�d[|dzf�d\|dzf�d]|f�d^|f�d_|f�d`|f�da|dzf�db|dzf�dc|f�dd|f�de|dzf�df|dzf�dg|f�dh|f�di|dzf�dj|dzf�dk|f�dl|f�dm|dzf�dn|dzf�do|f�dp|f�dq|dzf�dr|dzf�ds|f�dt|f�du|dzf�dv|dzf�dw|f�dx|f�}|D]4\}}|�t�|��|dy���5dS)zNr�r�zF0 00r!zF0 7Fr~zF0 80zF0 8FzF0 C0zF0 FFzF0 90 00zF0 90 7FzF0 90 C0zF0 90 FFzF0 BF 00zF0 BF 7FzF0 BF C0zF0 BF FFzF0 90 80 00zF0 90 80 7FzF0 90 80 C0zF0 90 80 FFzF0 90 BF 00zF0 90 BF 7FzF0 90 BF C0zF0 90 BF FFzF0 BF 80 00zF0 BF 80 7FzF0 BF 80 C0zF0 BF 80 FFzF0 BF BF 00zF0 BF BF 7FzF0 BF BF C0zF0 BF BF FFzF1 00zF1 7FzF1 C0zF1 FFzF1 80 00zF1 80 7FzF1 80 C0zF1 80 FFzF1 BF 00zF1 BF 7FzF1 BF C0zF1 BF FFzF1 80 80 00zF1 80 80 7FzF1 80 80 C0zF1 80 80 FFzF1 80 BF 00zF1 80 BF 7FzF1 80 BF C0zF1 80 BF FFzF1 BF 80 00zF1 BF 80 7FzF1 BF 80 C0zF1 BF 80 FFzF1 BF BF 00zF1 BF BF 7FzF1 BF BF C0zF1 BF BF FFzF3 00zF3 7FzF3 C0zF3 FFzF3 80 00zF3 80 7FzF3 80 C0zF3 80 FFzF3 BF 00zF3 BF 7FzF3 BF C0zF3 BF FFzF3 80 80 00zF3 80 80 7FzF3 80 80 C0zF3 80 80 FFzF3 80 BF 00zF3 80 BF 7FzF3 80 BF C0zF3 80 BF FFzF3 BF 80 00zF3 BF 80 7FzF3 BF 80 C0zF3 BF 80 FFzF3 BF BF 00zF3 BF BF 7FzF3 BF BF C0zF3 BF BF FFzF4 00zF4 7FzF4 90zF4 BFzF4 C0zF4 FFzF4 80 00zF4 80 7FzF4 80 C0zF4 80 FFzF4 8F 00zF4 8F 7FzF4 8F C0zF4 8F FFzF4 80 80 00zF4 80 80 7FzF4 80 80 C0zF4 80 80 FFzF4 80 BF 00zF4 80 BF 7FzF4 80 BF C0zF4 80 BF FFzF4 8F 80 00zF4 8F 80 7FzF4 8F 80 C0zF4 8F 80 FFzF4 8F BF 00zF4 8F BF 7FzF4 8F BF C0zF4 8F BF FFr�r�r�s      r�test_invalid_cb_for_4bytes_seqz*UnicodeTest.test_invalid_cb_for_4bytes_seqQs}��	�������8
�
�d�6�k�"�8
�%,�d�6�k�$:�8
�=D�f�<M�8
�
�f��8
� '��0�8
�3:�F�2C�8
���f��%�8
�)3�D��K�'@�8
��� �	8
�$.�v�"6�	8
�
��f��%�8
�
)3�D��K�'@�8
��� �
8
�$.�v�"6�
8
��D��K�(�8
�,9�$�v�+�*F�8
��F�#�8
�'4�V�%<�8
��D��K�(�8
�,9�$�v�+�*F�8
��F�#�8
�'4�V�%<�8
��D��K�(�8
�,9�$�v�+�*F�8
��F�#�8
�'4�V�%<�8
��D��K�(�8
�,9�$�v�+�*F�8
��F�#�8
�'4�V�%<�8
��d�6�k�"�8
�&-�d�6�k�$:�8
�>E�f�<M�8
� �f��!8
� !+�D��K�8�!8
�"��f��%�#8
�")3�F�';�#8
�$�� �%8
�$$.�t�F�{�";�%8
�&��f��%�'8
�&)3�F�';�'8
�(�� �)8
�($1�$�v�+�">�)8
�*�D��K�(�+8
�*,9�&�*A�+8
�,�F�#�-8
�,'4�T�&�[�%A�-8
�.�D��K�(�/8
�.,9�&�*A�/8
�0�F�#�18
�0'4�T�&�[�%A�18
�2�D��K�(�38
�2,9�&�*A�38
�4�F�#�58
�4'4�T�&�[�%A�58
�6�D��K�(�78
�6,9�&�*A�78
�8�F�#�98
�8'.�t�F�{�%;�98
�:�d�6�k�"�;8
�:&-�f�$5�;8
�:9@��7H�;8
�<��f��%�=8
�<)3�D��K�'@�=8
�>�� �?8
�>$.�v�"6�?8
�@��f��%�A8
�@)3�D��K�'@�A8
�B�� �C8
�B$.�v�"6�C8
�D�D��K�(�E8
�D,9�$�v�+�*F�E8
�F�F�#�G8
�F'4�V�%<�G8
�H�D��K�(�I8
�H,9�$�v�+�*F�I8
�J�F�#�K8
�J'4�V�%<�K8
�L�D��K�(�M8
�L,9�$�v�+�*F�M8
�N�F�#�O8
�N'4�V�%<�O8
�P�D��K�(�Q8
�P,9�$�v�+�*F�Q8
�R�F�#�S8
�R'4�V�%<�S8
�T�d�6�k�"�U8
�T&-�d�6�k�$:�U8
�T>E�f�<M�U8
�V�f��W8
�V!(��0�W8
�V4;�F�2C�W8
�X��f��%�Y8
�X)3�D��K�'@�Y8
�Z�� �[8
�Z$.�v�"6�[8
�\��f��%�]8
�\)3�D��K�'@�]8
�^�� �_8
�^$.�v�"6�_8
�`�D��K�(�a8
�`,9�$�v�+�*F�a8
�b�F�#�c8
�b'4�V�%<�c8
�d�D��K�(�e8
�d,9�$�v�+�*F�e8
�f�F�#�g8
�f'4�V�%<�g8
�h�D��K�(�i8
�h,9�$�v�+�*F�i8
�j�F�#�k8
�j'4�V�%<�k8
�l�D��K�(�m8
�l,9�$�v�+�*F�m8
�n�F�#�o8
�n'4�V�%<�o8
�	�r"�	H�	H�H�C���*�*�5�=�=��+=�+=�s�+F�
H�
H�
H�
H�	H�	Hrc�X�|�d�d��d��dS)Nzwww.python.org.�idnaswww.python.org.)r?r"r3s r�test_codecs_idnazUnicodeTest.test_codecs_idna�s.�����*�1�1�&�9�9�;M�N�N�N�N�Nrc�
�|�tdjd��|�tdjdd��|�d�dd��d��|�d�dd��d��|�d�dd��d�dd�����|�d�dd��d�dd�	����|�ttd
d��|�ttd
dd��|�t	d
dd��d��|�t	d
dd��d��|�t	d
dd��d��|�d�dd��d��|�tdjd��|�tdjd��|�ttdd��|�tdjd��|�tdjd��|�tdjddd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��|�ttd��dS)NuAndr‚ xrzrresAndr xrQsAndr? xre)rrsAndr� xzAndr xu	Andr� xs� xu� xs	\N{foo}xxzunicode-escape�xx�\�hellorrr�rr�u�)rN�UnicodeErrorr"r?r:r#rr�rJr�complexr3s r�test_codecs_errorszUnicodeTest.test_codecs_errors�s�����,��(;�W�E�E�E����,��(;�W�X�N�N�N�����,�,�W�X�>�>�	�J�J�J�����,�,�W�Y�?�?��L�L�L�����,�,�W�i�@�@�%�,�,�W�Y�,�G�G�	I�	I�	I�����,�,�W�h�?�?�%�,�,�g�h�,�O�O�	Q�	Q�	Q�	
���,��]�G�D�D�D����,��]�G�X�N�N�N�����]�G�X�>�>��I�I�I�����]�G�Y�?�?��P�P�P�����Y���;�;�Z�H�H�H�	
����-�-�.>��I�I�4�P�P�P�	
���,���6F�G�G�G����)�X�_�o�F�F�F����)�S�(�O�D�D�D����)�W�^�_�E�E�E����)�W�^�_�E�E�E�	
���)�W�^�R��R�@�@�@�	
���*�c�8�4�4�4����*�c�8�4�4�4����*�e�X�6�6�6����*�e�X�6�6�6����*�g�x�8�8�8����*�g�x�8�8�8�8�8rc���|�d�d��d��|�d�d��d��|�d�d��d��|�d�d��d��|�d�d��d��|�d�d��d	��|�d�d
��d��|�d���d��td
��D]M}t|��}dD]9}|�t	|�|��|��|���:�Ntd��D]M}t|��}dD]9}|�t	|�|��|��|���:�Ntd��D]M}t|��}dD]9}|�t	|�|��|��|���:�Ntj��5d}dD]9}|�t	|�|��|��|���:	ddd��n#1swxYwYd�ttttdd����ttdd����z����}dD]9}|�t	|�|��|��|���:dS)Nr�rzr�rqrX�	utf-16-les
hello�	utf-16-bes
hello�latin-1u☃s☃i)rqrX�utf-16r�r��raw_unicode_escape�unicode_escapern)r�r�)rzu𐀁𠀂𰀃񀀄񐀅)rXr�r�r�r�r�rmri�i�rL)rX)
r?r"r~r}r:rh�catch_warningsr{r|�list)r4r�r�rs    r�test_codecszUnicodeTest.test_codecs�s����������0�0�(�;�;�;��������0�0�(�;�;�;��������0�0�(�;�;�;��������0�0�(�;�;�;��������4�4�6R�S�S�S��������4�4�6R�S�S�S�������	�2�2�H�=�=�=�	
������*�*�O�<�<�<��t���	F�	F�A��A���A�/�
F�
F��� � ��Q�X�X�h�%7�%7��!A�!A�1�E�E�E�E�
F��s���	F�	F�A��A���A�(�
F�
F��� � ��Q�X�X�h�%7�%7��!A�!A�1�E�E�E�E�
F��s���	F�	F�A��A���A�&�
F�
F��� � ��Q�X�X�h�%7�%7��!A�!A�1�E�E�E�E�
F��
$�
&�
&�	F�	F�D�A�E�
F�
F��� � ��Q�X�X�h�%7�%7��!A�!A�1�E�E�E�E�
F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�
�G�G�C��T�%��6�"2�"2�3�3�!�%���"9�"9�:�:�;�<�<�
=�
=��"�	B�	B�H����S����(�!3�!3�H�=�=�q�A�A�A�A�	B�	Bs�2?J>�>K�Kc�h�ttd����}dD]9}|�t||���|��|���:ttdd����}dD]9}|�t||���|��|���:dS)Nr�)9�cp037�cp1026�cp273�cp437�cp500�cp720�cp737�cp775�cp850�cp852�cp855�cp858�cp860�cp861�cp862�cp863�cp865�cp866�cp1125�
iso8859_10�
iso8859_13�
iso8859_14�
iso8859_15�	iso8859_2�	iso8859_3�	iso8859_4�	iso8859_5�	iso8859_6�	iso8859_7�	iso8859_9�koi8_r�koi8_t�koi8_u�kz1048�latin_1�mac_cyrillic�
mac_latin2�cp1250�cp1251�cp1252�cp1253�cp1254�cp1255�cp1256�cp1257�cp1258�cp856�cp857�cp864�cp869�cp874�	mac_greek�mac_iceland�	mac_roman�mac_turkish�cp1006�	iso8859_8rn) 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�rrrrrr	r
)rGr~r?r:r")r4rbrs   r�test_codecs_charmapzUnicodeTest.test_codecs_charmap�s����%��*�*�����	C�	C�H�2
���S��H�-�-�4�4�X�>�>��B�B�B�B�
�%��S�/�/�"�"���	C�	C�H�*
���S��H�-�-�4�4�X�>�>��B�B�B�B�+	C�	Crc���|�dd��|�dd��|�dd��|�dd��|�dd��dS)Nr�r�rUr3s r�test_concatenationzUnicodeTest.test_concatenation3	sx�����+��1�1�1����+��1�1�1����+��1�1�1����+�k�:�:�:����+�k�:�:�:�:�:rc�x�d}|�d���d��}|�||��d}|�d���d��}|�||��d}|�d���d��}|�||��	d�d��|�d��dS#t$rA}|�|jd��|�|jd��Yd}~dSd}~wwxYw)	Nr+zraw-unicode-escapes
\U00100000s
\U00010000s
\U11111111z%Should have raised UnicodeDecodeErrorrr�)r"r#r?�failri�start�end)r4r�rr�s    r�	test_ucs4zUnicodeTest.test_ucs4:	sN����
�H�H�)�*�*�1�1�2F�G�G������A������
�H�H�)�*�*�1�1�2F�G�G������A������
�H�H�)�*�*�1�1�2F�G�G������A����	?��!�!�"6�7�7�7�

�I�I�=�>�>�>�>�>��	"�	(�	(�	(����Q�W�a�(�(�(����Q�U�B�'�'�'�'�'�'�'�'�'�����	(���s�C.�.
D9�86D4�4D9c�h�Gd�d��}Gd�dt��}Gd�dt��}|�t|����d��|�t|d����d��t|d����}|�|d	��|�t|��|��t	|d����}|�|d	��|�t|��t��dS)
Nc��eZdZd�ZdS)�0UnicodeTest.test_conversion.<locals>.ObjectToStrc��dS�NrBrr3s rr;z8UnicodeTest.test_conversion.<locals>.ObjectToStr.__str__Q	����urNr�rrr�ObjectToStrr)P	�#������
�
�
�
�
rr-c��eZdZd�ZdS)�5UnicodeTest.test_conversion.<locals>.StrSubclassToStrc��dSr+rr3s rr;z=UnicodeTest.test_conversion.<locals>.StrSubclassToStr.__str__U	r,rNr�rrr�StrSubclassToStrr0T	r.rr2c��eZdZdd�Zd�ZdS)�=UnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclassrmc�>�t�|d|z��Srs)r:�__new__)r��contents  rr6zEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__new__Y	s���{�{�3��'�	�2�2�2rc��|Sr!rr3s rr;zEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__str__[	rIrN)rm)r)r*r+r6r;rrr�StrSubclassToStrSubclassr4X	s7������
3�
3�
3�
3�
�
�
�
�
rr9rBr��foofoo)r:r?rXrAr')r4r-r2r9rbs     r�test_conversionzUnicodeTest.test_conversionN	sg��	�	�	�	�	�	�	�	�	�	�	�	�	�s�	�	�	�	�	�	�	�	�s�	�	�	�	
����[�[�]�]�+�+�U�3�3�3�����-�-�e�4�4�5�5�u�=�=�=��(�(��/�/�0�0������H�%�%�%��
�
�d�1�g�g�7�8�8�8��0�0��7�7�8�8������H�%�%�%��
�
�d�1�g�g�{�+�+�+�+�+rc���Gd�d��}Gd�d��}|�t|����d��|�t|����d��dS)Nc��eZdZd�ZdS)�)UnicodeTest.test_unicode_repr.<locals>.s1c��dS�N�\nrr3s rr;z2UnicodeTest.test_unicode_repr.<locals>.s1.__repr__i	r,rNr<rrr�s1r>h	r.rrBc��eZdZd�ZdS)�)UnicodeTest.test_unicode_repr.<locals>.s2c��dSr@rr3s rr;z2UnicodeTest.test_unicode_repr.<locals>.s2.__repr__m	r,rNr<rrrrprDl	r.rrprA�r?r�)r4rBrps   r�test_unicode_reprzUnicodeTest.test_unicode_reprg	s���	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
����b�b�d�d���U�+�+�+�����b�b�d�d���U�+�+�+�+�+rc��|�td��ddz��|�td��d��dS)Nr,z'%c')�u𔀀z'\U00014000'rFr3s r�test_printable_reprzUnicodeTest.test_printable_reprs	sI������l�+�+�V�j�-@�A�A�A�����l�+�+�_�=�=�=�=�=r�Pr�z only applies to 32-bit platformsc�\�|�tdjtj��dS)Nzt	t	)rNrL�
expandtabsrwrKr3s r�$test_expandtabs_overflows_gracefullyz0UnicodeTest.test_expandtabs_overflows_gracefullyz	s'��	
���-��)<�c�k�J�J�J�J�Jrc�Z�d}|�|���|��dS)NrU)rXrM)r4rbs  r�test_expandtabs_optimizationz(UnicodeTest.test_expandtabs_optimization	s)�����
�
�a�l�l�n�n�a�(�(�(�(�(rc�8�	�
�d}|dz}tj|��}tj|��}dD]�	t�	��}|dkrd}|}n|dkrd}|}n|dkrd}|}nd	}|}tj|z
|z�
�	�
fd
�}|��	||���5|�tj�	dz��||d
zz��|�t|��|�t|��ddd��n#1swxYwY��dS)N�nnbP�nPn)r�rrnr�r�r�rnrIr�r�c�����zSr!r)r��maxlens��r�<lambda>z0UnicodeTest.test_raiseMemError.<locals>.<lambda>�	s���D�6�M�r)r��struct_size�	char_sizer�+)
r�calcobjsizerrwrKr�r?�	getsizeofrNr)r4�asciifields�
compactfields�ascii_struct_size�compact_struct_size�coderXrW�allocr�rUs         @@r�test_raiseMemErrorzUnicodeTest.test_raiseMemError�	s�������#�e�+�
�#�/��<�<��%�1�-�@�@��9�	6�	6�D��t�9�9�D��d�{�{��	�/��������	�1��������	�1����	�1���{�[�0�Y�>�F�)�)�)�)�)�E�����'�#����
6�
6�� � ��M�$��)�,�,��9��#7�8�����!�!�+�u�5�5�5��!�!�+�u�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��'	6�	6s�A(D�D	�D	c���Gd�dt��}|d��}|�d|zd��|�d�|��d��dS)Nc��eZdZd�ZdS)�+UnicodeTest.test_format_subclass.<locals>.Sc��dS)N�__str__ overriddenrr3s rr;z3UnicodeTest.test_format_subclass.<locals>.S.__str__�	s��+�+rNr�rrrr�re�	s#������
,�
,�
,�
,�
,rr��xxxr�rgr�)r:r?r��r4r�rbs   r�test_format_subclassz UnicodeTest.test_format_subclass�	s}��	,�	,�	,�	,�	,��	,�	,�	,�
�A�e�H�H��������#7�8�8�8�������Q���)=�>�>�>�>�>rc���Gd�dt��}|�|d��|d��zd��Gd�dt��}|d��}|dz
}|�|d��dS)Nc��eZdZd�ZdS)�(UnicodeTest.test_subclass_add.<locals>.Sc��dS�NrCr�r4ras  r�__add__z0UnicodeTest.test_subclass_add.<locals>.S.__add__�	����srN)r)r*r+rqrrrr�rm�	r�rr�r�r�rCc��eZdZd�ZdS)rmc��dSrorrps  r�__iadd__z1UnicodeTest.test_subclass_add.<locals>.S.__iadd__�	rrrN)r)r*r+rurrrr�z(UnicodeTest.test_subclass_add.<locals>.S�	r�rr@rDris   r�test_subclass_addzUnicodeTest.test_subclass_add�	s���	�	�	�	�	��	�	�	�	
�����3���!�!�C�&�&��#�.�.�.�	�	�	�	�	��	�	�	�
�A�c�F�F��	�S�������C� � � � � rc���d}|���}|�|d|��|�|d|��|�t|��d��dS)NrUrr�)�__getnewargs__�assertIsNotr?r^)r4r$rEs   r�test_getnewargszUnicodeTest.test_getnewargs�	sn�����"�"�$�$������a��$�'�'�'�����a��$�'�'�'�����T���A�&�&�&�&�&rc���tddd��D]�}d|zdz}|�t��5tj|��}ddd��n#1swxYwY|�||��|dz
}|�t��5tj|��}ddd��n#1swxYwY|�||��|�||����dS)Nr�r�r�r�r�r�)r~�assertWarnsr�r��	getargs_ur?rQ)r4�lengthr$rUr�s     r�test_resizezUnicodeTest.test_resize�	s}���A�s�A�&�&�	+�	+�F���<�#�%�D��!�!�"4�5�5�
0�
0��)�$�/�/��
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0����S�$�'�'�'�
�C�K�D��!�!�"4�5�5�
3�
3�"�,�T�2�2��
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3�����V�,�,�,����V�T�*�*�*�*�	+�	+s#�A�A	�A	�B8�8B<	�?B<	c���d}d|z}d|z}d|z}d|z}d|z}d|z}d|z}d	|z}	||||||||	f}
tj|
d
��D�]\}}||u}
|�||k|
��|�||k|
��|
r�|�||k��|�||k��t	|��}t	|��}|�||��|�||k��|�||k��|�||k��|�||k����
|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||k��|�||	k��|�||k��|�||k��|�||k��|�||	k��dS)Nr�r�rrrJr$rKr+r�r�)�	itertools�combinationsr?r@r%ryr�)r4r~rz�ascii2�latin�latin2�bmp�bmp2�astral�astral2�strings�text1�text2�equal�copy1�copy2s                r�test_comparezUnicodeTest.test_compare�	sv�����a����q�����
���!�����l���!�|����!����"���6��6����G�	��
&�2�7�A�>�>�	0�	0�L�E�5��e�^�E����U�e�^�U�3�3�3����U�e�^��Y�7�7�7��
0�������/�/�/�������/�/�/�
)��/�/��(��/�/��� � ���.�.�.�������/�/�/�� � ��%��0�0�0�������/�/�/�������/�/�/��������'�'�'������
�&�&�&�������$�$�$�������'�'�'�����&��)�)�)�����%��(�(�(�����#��&�&�&�����&��)�)�)�������'�'�'�������'�'�'�������$�$�$�������'�'�'�������'�'�'�����&��)�)�)�����#��&�&�&�����&��)�)�)�����u��%�%�%�����u��%�%�%�����d�
�#�#�#�����f��%�%�%�����u��%�%�%�����u��%�%�%�������%�%�%�������'�'�'�����%��(�(�(�����%��(�(�(�����$��'�'�'������(�)�)�)�����%��(�(�(�����%��(�(�(�����$��'�'�'�����7�*�+�+�+�+�+rc��tj|tt��tj|tt��dSr!)r�check_free_after_iteratingr�r:�reversedr3s r�test_free_after_iteratingz%UnicodeTest.test_free_after_iterating#
s2���*�4��s�;�;�;��*�4��3�?�?�?�?�?rc��d}d}tjd|�d|�d|�d|�d|�d|�d	|�d
���}tddd
|��}|�|jd|��dS)N)rz�utf8�latin1zBoom, Shaka Laka, Boom!z0
            import sys
            encodings = zn

            for data in (b'', b'short string'):
                try:
                    str(data, encoding=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(21)

                try:
                    str(data, errors=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(22)

                for encoding in encodings:
                    try:
                        str(data, encoding, errors=z�)
                    except LookupError:
                        pass
                    else:
                        sys.exit(22)

            for data in ('', 'short string'):
                try:
                    data.encode(encoding=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(23)

                try:
                    data.encode(errors=z�)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

                for encoding in encodings:
                    try:
                        data.encode(encoding, errors=z�)
                    except LookupError:
                        pass
                    else:
                        sys.exit(24)

            sys.exit(10)
        z-X�devz-cr�)�textwrap�dedentrr?�rc)r4�	encodings�invalidr`�procs     r�test_check_encoding_errorsz&UnicodeTest.test_check_encoding_errors'
s���0�	�+����3 �"�3 �3 �)0�
3 �3 �'.�3 �3 �*5<�+3 �3 �:+2�;3 �3 �H)0�I3 �3 �X7>�Y3 �3 �3 �3
�3
��h%�T�5�$��=�=�������"�d�+�+�+�+�+r)vr)r*r+r:rr5rHrRr�r�r�r�r�r�r�r�r�r�r�r�rr"r)r/r2rD�unittest�skipIfrwrKrOrUr�cpython_onlyrZrcrlrur�r�r�r��requires_resourcer�r�r�r�r�r�r�r��requires_legacy_unicode_capir�r�r�r�r�r�rrrrr�
skipUnlessrr)r/r�r�r�r�r�r�rr6r9rErHrJrP�run_with_localerVrcrfrkrvryr�r�r�r�r�r�r�r�r�r�r�r�rr!r&r;rGrJ�struct�calcsizerNrPrbrjrvrzrr�r�r��
__classcell__)r�s@rr-r-:s��������
�I�<�<�<�6�6�6�$,�,�,�(=�(=�(=�T(<�(<�(<�T3�3�3�2�2�2�<�<�<�A�A�A�8�8�8�G�G�G�4+H�+H�+H�Z'I�'I�'I�RR�R�R�0S�S�S�4DH�DH�DH�LM�M�M�";�;�;�(R�R�R�"S�S�S�"@�@�@�(�X�_�S�[�5�(�4�6�6�7�7�6�6�7�
@�@�@�.
��<�<���<�
.�.�.�,?�?�?�99�99�99�v
1�
1�
1�
1�
1�1�1�1�1�1� 
K�
K�
K�
K�
K�L�L�L�L�L��W��u�%�%�4�4�&�%�4�G�G�G�G�G�
1�
1�
1�
1�
1�1�1�1�1�1�
K�K�K�$
I�
I�
I�
I�
I�K�K�K�&
-�
-�
-�
���)��X�_�Y�$�&�(?�@�@�O�O�A�@�*�)���O�
5�
5�
5�O�O�O�65�5�5�,8�8�8�5�5�5�"H�H�H�"9�9�9�9�9�"D�D�D�4<�<�<��X����	�1�3K�L�L���
�
���M�L�
�%;�%;�%;�N	,�	,�	,�F5�F5�F5�P
5M�5M�5M�n1�1�1�
1�1�1�
0�0�0�
I�I�I�<iN�iN�iN�V#+�#+�#+�J*�*�*�
K�K�K�
���X�_�Y�$�&�(?�@�@�*�*�A�@���*�
*�*�*�
(�(�(��W��X�w��8�8�.�.�9�8�.�D6�D6�D6�LE�E�E�	P�	P�	P�1"�1"�1"�fC�C�C�J7�7�7�"-H�-H�-H�^W8�W8�W8�r1�1�1�&A�A�A�E�E�E�4H�H�H�,8H�8H�8H�tMH�MH�MH�^O�O�O�'9�'9�'9�R-B�-B�-B�^5C�5C�5C�n;�;�;�?�?�?�(,�,�,�2
,�
,�
,�>�>�>��X�_�S�[�G�,�I�����0D�0D��0I�7�9�9�K�K�9�9�K�
��)�)���)�$6�$6�$6�L?�?�?�
!�
!�
!�'�'�'�
���)��X�_�Y�$�&�(?�@�@�+�+�A�@�*�)���+�"H,�H,�H,�T@�@�@�:,�:,�:,�:,�:,�:,�:,rr-c� �eZdZd�Zd�Zd�ZdS)�StringModuleTestc��d�}|d��}|�|gd���|d��}|�|ddg��|d��}|�|dg��|d	��}|�|g��|d
��}|�|dg��|�ttjd��dS)
Nc�D�ttj|����Sr!)r��_string�formatter_parserr?s r�parsez5StringModuleTest.test_formatter_parser.<locals>.parsef
s����0��8�8�9�9�9rz2prefix {2!s}xxx{0:^+10.3f}{obj.attr!s} {z[0]!s:10}))�prefix rArmrb)rhr�z^+10.3fN)rmzobj.attrrmrb)rMzz[0]r�rbzprefix {} suffix)r�rmrmN)z suffixNNNr:)r:NNNrmr)rmr�rmNr�)r?rNrr�r�)r4r��	formatters   r�test_formatter_parserz&StringModuleTest.test_formatter_parsere
s+��	:�	:�	:��E�N�O�O�	�����%
�%
�%
�	�	�	��E�,�-�-�	�����%�)�%
�	�	�	�
�E�%�L�L�	�����%�%
�	�	�	��E�"�I�I�	�����B�'�'�'��E�%�L�L�	������%
�	�	�	�	
���)�W�%=�q�A�A�A�A�Arc�h�d�}|�|d��dgg��|�|d��ddgg��|�|d��ddgg��|�|d��dgd�g��|�ttjd	��dS)
Nc�x�ttj|����}t|d��|d<|S)Nr�)r�r��formatter_field_name_split)r<�itemss  rr!z?StringModuleTest.test_formatter_field_name_split.<locals>.split�
s2����;�D�A�A�B�B�E��E�!�H�~�~�E�!�H��Lrrbzobj.arg�T�argzobj[key])Fr�zobj.arg[key1][key2])r�)F�key1)F�key2r�)r?rNrr�r�)r4r!s  r�test_formatter_field_name_splitz0StringModuleTest.test_formatter_field_name_split�
s���	�	�	�	
�����u����r�{�3�3�3������y�)�)�E�M�?�+C�D�D�D������z�*�*�U�^�4D�,E�F�F�F������4�5�5��
�
�
�8�	�	�	�	
���)�W�%G��K�K�K�K�Krc�R�td��}td��}Gd�d��}|��}|�t��5t||��ddd��n#1swxYwYt	||d��|�|jd��d|_|�t|j��|g��|�t��5t||��ddd��n#1swxYwY|�t��5|`	ddd��n#1swxYwYt	||d��|�|j	d��d|_	|�t|j��||g��dS)	Nr<�name2c��eZdZdS)�4StringModuleTest.test_str_subclass_attr.<locals>.BagNr(rrr�Bagr��
r`rr�r�r�r�r�)
r'rN�AttributeError�delattr�setattrr?r<r��__dict__r�)r4r<r�r�ras     r�test_str_subclass_attrz'StringModuleTest.test_str_subclass_attr�
s_���6�"�"���G�$�$��	�	�	�	�	�	�	�	�
�C�E�E��
�
�
�~�
.�
.�	�	��A�t����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���4�����������#�#�#��������a�j�)�)�D�6�2�2�2�
�
�
�~�
.�
.�	�	��A�u����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���5�!���������!�$�$�$��������a�j�)�)�D�%�=�9�9�9�9�9s6�A-�-A1�4A1�.D�D�D�0D?�?E�EN)r)r*r+r�r�r�rrrr�r�d
sH������B�B�B�BL�L�L� :�:�:�:�:rr��__main__) r�r/r�r!r�r�rwr�r�r�rh�test.supportrr�rr�test.support.script_helperrr��ImportErrorrr%r:r'r�r.�MixinStrUnicodeTest�TestCaser-r�r)�mainrrr�<module>r�s��������
�
�
�
���������
�
�
�
�
�
�
�
�
�
�
�
�����������������(�(�(�(�(�(�&�&�&�&�&�&�&�&�<�<�<�<�<�<�������������I�I�I�������� "�"�"�	�	�	�	�	�#�	�	�	�g(,�g(,�g(,�g(,�g(,�,�)��2��(���g(,�g(,�g(,�TQH:�H:�H:�H:�H:�x�(�H:�H:�H:�V�z����H�M�O�O�O�O�O��s�A�A�A