HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/__pycache__/test_unicode.cpython-311.opt-2.pyc
�

��Vc	.���	ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddlm
Z
ddlmZmZddlmZ	ddlZn
#e$rdZYnwxYwd�Zd�ZGd�d	e��ZGd
�dejejeje	j��ZGd�d
e	j��ZGd�de	j��Ze dkre	j!��dSdS)�N)�
import_helper)�warnings_helper)�support�string_tests)�assert_python_failurec�V�dd�}dd�}dd�}dd�}|dkr||ddfS|dkr||ddfSdS)	N�strictc��dS�N�*���input�errorss  �%D:\Python311\Lib\test\test_unicode.py�decode1z search_function.<locals>.decode1����r�c��dSrr
rs  r�encode1z search_function.<locals>.encode1!rrc��dS�N)rrr
rs  r�encode2z search_function.<locals>.encode2#����xrc��dSrr
rs  r�decode2z search_function.<locals>.decode2%rr�
test.unicode1�
test.unicode2)r	r
)�encodingrrrrs     r�search_functionr s��������������������� ����$��-�-�	�?�	"����$��-�-��trc�P�	|������S�N)�encode�decode)�texts r�duplicate_stringr&.s#����;�;�=�=���!�!�!rc��eZdZdS)�StrSubclassN��__name__�
__module__�__qualname__r
rrr(r(8s�������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.setUpBs/�����(�(�(�����)�?�;�;�;�;�;rc��t||��}||�}|�||��|�t|��t|��u��||urbGd�dt��}||��}t||��}||�}|�||��|�||u��dSdS)Nc��eZdZd�ZdS)�)UnicodeTest.checkequalnofix.<locals>.usubc�<�dt�|��zS)Nzusub(%r))�str�__repr__r4s rr<z2UnicodeTest.checkequalnofix.<locals>.usub.__repr__Ps��%����T�(:�(:�:�:rN�r*r+r,r<r
rr�usubr9Os#������;�;�;�;�;rr>)�getattr�assertEqual�
assertTrue�typer;)r5�result�object�
methodname�args�method�
realresultr>s        r�checkequalnofixzUnicodeTest.checkequalnofixFs������,�,���V�T�]�
�����V�,�,�,�����Z�(�(�D��L�L�8�9�9�9����	6�
;�
;�
;�
;�
;�s�
;�
;�
;��T�&�\�\�F��V�Z�0�0�F�����J����Z��0�0�0��O�O�F�*�4�5�5�5�5�5�	6�	6rc�V�|�dd��|�dd��|�ttd��|�ttd��|�ttddz��|�dd��dS)	N�ÿ�￿z'\Ufffffffe'z'\Uffffffff'z'\U%08x'�z\u0020� )r@�assertRaises�SyntaxError�eval�assertNotEqualr4s r�
test_literalszUnicodeTest.test_literalsXs��������*�*�*�����<�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
r4s rr<z2UnicodeTest.test_ascii.<locals>.WrongRepr.__repr__����'�<rNr=r
rr�	WrongReprrr��#������(�(�(�(�(rrv)�sys�platform�
startswithr@�ascii�join�map�chr�rangerO�	TypeError�r5�
latin1repr�testreprrvs    r�
test_asciizUnicodeTest.test_asciias\���|�&�&�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) NrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmu%'\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®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ'rnrorpc��eZdZd�ZdS)�(UnicodeTest.test_repr.<locals>.WrongReprc��dSrtr
r4s rr<z1UnicodeTest.test_repr.<locals>.WrongRepr.__repr__�rurNr=r
rrrvr��rwrrv)rxryrzr@�reprr|r}r~rrOr�r�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@�nextrO�
StopIteration)r5�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)NrVu🚀)�cls)rB�iter�subTestrOr�)r5�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�rVu🚀🚀🚀r�)�stringrn)r�r@r|r�)r5r��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��tuplerOr�r�)r5r�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��)�protorn)	r�r�pickle�HIGHEST_PROTOCOLr�r|�loads�dumpsr@)r5r�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_countrI�
checkequalr4s 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��|�tdj��|�tdjd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd
��|�dddd
��|�dddd��|�dddd��|�dddd ��|�dddd!��|�dddd"��|�dddd#��dS)$N�dufaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaĂ�findr�r��ȁ�Ġ�Ƞuhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa􀌄r��􀈄�􂀄r�abcdefghiabcrV�	r��def��hellor��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂar���􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă�daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ��ĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂa_r���􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄a_��􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄Ă_r�r�r�r�)rr��	test_findr�rIrOr�r�r4s rr�zUnicodeTest.test_find�sy����)�)�$�/�/�/�����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����)�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�d�tj�|��|�dddd��|�dddd��|�dddd��|�dddd��|�dd	dd
��|�dd	dd��|�dd	dd��|�d
ddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd
��|�dddd
��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��|�dddd��dS) NrufĂaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�rfindr�r�r�r�r�uh􀌄aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar�r�r�r�r�rV�rn��aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂr���a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄��Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄r�r���_aĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂĂ�_a��_a􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄��_Ă􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄􀌄�_Ă�Ăa�􀌄a�􀌄Ă)rr��
test_rfindr�rIr4s rr�zUnicodeTest.test_rfindsC����*�*�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�>�>�>�����/��#�>�>�>�����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��indexrnr�r�rVr�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_indexrIrO�
ValueErrorr�r�r4s rr�zUnicodeTest.test_index0s4����*�*�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��rindexrnr�r�r�rVrr�r��	defghiabcr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�)rr��test_rindexrIrOr�r�r�r4s rr�zUnicodeTest.test_rindexHsY����+�+�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�xrn�xyyx�xzx�z�yyz<i>�r�r�z
<i><i><i>crV�xyz�d�xyzzy�abdcdcbddddz[a]�Xz[X]�[]�XXXz[XXX]�éu[é]�axb�123�x123uxéu<é>u[<é>]z[123]u[aé]u<€>u	[<€>é]rMu
aé€􏿿z[%s]�defgr�r��xy)r�r�)
rI�ord�	type2test�	maketransr@r�r;rOr�r�)r5�tbl�invalid_char�before�mappingr%s      r�test_maketrans_translatez$UnicodeTest.test_maketrans_translatebs������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��bauāĀu𐌁𐌀r��r�r�u𐌂�splitr�)rr��
test_splitr��r5�left�right�delims    rrzUnicodeTest.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������dS)Nrr�r�rsplitr�)rr��test_rsplitr�rs    rr zUnicodeTest.test_rsplit�s)����+�+�D�1�1�1�I�	N�	N�K�D�%��A�I�D��Q�J�E�6�
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�
N�	N�	Nrc	���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)�ABCDEFGHrnrnr"�	partition�䈀rr�rrnr�)r�MixinStrUnicodeUserStringTest�test_partitionr�rs    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)rnrnr"r"�
rpartitionr$rr�rrnr�)rr%�test_rpartitionr�rs    rr)zUnicodeTest.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)r5r/s  r�__init__z1UnicodeTest.test_join.<locals>.MyWrapper.__init__�s��$�d�i�i�irc��|jSr"r.r4s r�__str__z0UnicodeTest.test_join.<locals>.MyWrapper.__str__�s	��d�i�/rN�r*r+r,r0r2r
rr�	MyWrapperr,�s"������6�6�6�/�/�/�/�/rr4za b c drNr|)r�r�r�r�abcdrnzw x y z�wxyz�1�2�foo�3)r�r�r�)r7r8r�)rr%�	test_joinrI�Sequence�checkraisesr��bytes)r5r4s  rr;zUnicodeTest.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��Arn)�intrx�maxsizerO�
OverflowErrorr|)r5�size�seqs   r�test_join_overflowzUnicodeTest.test_join_overflow�sM���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��rrrr�r)ruău𐌃r�)rr��test_replacerIrOr�rHr�)r5rrr�repls     rrLzUnicodeTest.test_replaces�����,�,�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)NrVzabc def)�assertIsrH)r5�patternr%s   r�test_replace_idzUnicodeTest.test_replace_ids4�������
�
�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�SubStrrU.��������DrrVzqwerty())r@�idrRr;)r5r�r�rV�ss     r�test_repeat_id_preservingz%UnicodeTest.test_repeat_id_preserving#s/����������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�ignorerV�abcFT)r�check_warnings�warnings�simplefilter�BytesWarningr@�	bytearrayr4s r�test_bytes_comparisonz!UnicodeTest.test_bytes_comparison9s��
�
+�
-�
-�	?�	?��!�(�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)
NrVr5rr��€���c�:����||k��dSr")rA)rY�s2r5s  �r�
test_lecmpz/UnicodeTest.test_comparison.<locals>.test_lecmpQs�������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
)rYrh�
test_fixupris  ��rrlz/UnicodeTest.test_comparison.<locals>.test_fixupTs����#���
�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@rA)r5rlris`@@r�test_comparisonzUnicodeTest.test_comparisonAsl����������&�&�&�������'�'�'�������'�'�'�0	%�f	
�����7�8�8�8�8�8rc����t�����|�ddd��|�d�����|�d�����|�d�����|�d�����|�d�����|�d	�����|�d
�����|�d�����dS)NF�ῼ�islower�Ⅷ�ⅷ�𐐁�𐐧�𐐩�𐑎�🐍�👯)�super�test_islowerrI�assertFalserprA�r5�	__class__s �rrzzUnicodeTest.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)
NrUFro�isupperrqrrrsrtrurvrwrx)	ry�test_isupperrxryrzrIrArr{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)	NTro�istitleuGreek ῼitlecases ...u𐐁𐐩u𐐧𐑎)rurvrwrxz{!a} is not title)ry�test_istitlerIrAr�r{�format�r5�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—�rsrtrurvrwrxz{!a} is not space.)ry�test_isspacerIr{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)	rrx�
maxunicoder~�unicodedata�
bidirectional�categoryr@r�)r5�	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)rsrtrurv�𝟶�𑁦�𐒠�🄇z{!a} is alnum.)ry�test_isalnumrA�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)
NTro�isalpharsrtrurvrwrx)ry�test_isalpharIrAr�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)Nre�􏿿)ry�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)NFrn�	isdecimalr�T�0�①�¼�٠�
0123456789�0123456789arVr)rsrtrurvrwrx�𑁥r�z{!a} is not decimal.)r�r�r�z{!a} is decimal.)rIr=r�r{r�r�rA�r5r�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�)rsrtrurvrwrxr�z{!a} is not a digit.)r�r�r�r�z{!a} is a digit.)ry�test_isdigitrIr{r�r�rAr�s  �rr�zUnicodeTest.test_isdigit�s����
�����������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)NFrn�	isnumericr�Tr�r�r�r�r�r�rVrr�z{!a} is not numeric.)r�r�r�r�r�z{!a} is numeric.)rIrOr�r�r{r�rAr�s  r�test_isnumericzUnicodeTest.test_isnumeric�sl�����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𝔘𝔫𝔦𝔠𝔬𝔡𝔢rN�[�©r�)rA�isidentifierr{r4s r�test_isidentifierzUnicodeTest.test_isidentifiersy������(�(�*�*�+�+�+�����(�(�*�*�+�+�+�����(�(�*�*�+�+�+�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,����6�C�C�E�E�F�F�F�����)�)�+�+�,�,�,�����)�)�+�+�,�,�,�����*�*�,�,�-�-�-�����)�)�+�+�,�,�,�,�,rN�need _testcapi modulec�V�d}|�|�����tj��5t	jdt��|�tj|�������ddd��dS#1swxYwYdS)Nu𝖀𝖓𝖎𝖈𝖔𝖉𝖊r\)	rAr�rr^r_r`�DeprecationWarning�	_testcapi�unicode_legacy_string)r5�us  r�test_isidentifier_legacyz$UnicodeTest.test_isidentifier_legacys���
+��������(�(�)�)�)�
�
+�
-�
-�	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)
NrnrN�abcdefgzabcdefg
�ʹ�͸��rxu󠀠)rA�isprintabler{r4s r�test_isprintablezUnicodeTest.test_isprintables��������(�(�)�)�)�������)�)�*�*�*����	�-�-�/�/�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)rprr�)r����������.z() is False)r�r�r�r�r�r�r�r�)r�r�r�r�r�r�r�r�)rArpr{rr�r?r;)r5rY�	meth_name�meths    r�test_surrogateszUnicodeTest.test_surrogates+s���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)Nrt�𐑏�𐐧𐐧�𐑏𐑏�𐐧𐑏�
X𐐧x𐑏u
x𐑏x𐑏�fi�İ�i̇�Σ�σ�ͅΣuͅσ�AͅΣuaͅς�AͅΣauaͅσa�AΣͅuaςͅ�Σͅ uσͅ �򏿾rr)rr��
test_lowerr@�lowerr4s rr�zUnicodeTest.test_lowerFs-����*�*�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@�casefoldr4s r�
test_casefoldzUnicodeTest.test_casefold\s�������)�)�+�+�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�rtr�r�r�r�u
X𐐧X𐐧r��FIr�r�r��SS�ῒ�Ϊ̀r�rrrq)rr��
test_upperr@�upperr4s rr�zUnicodeTest.test_upperes�����*�*�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�rtr�r��𐑏𐐧r�u
X𐑏x𐑏uhİuHi̇u	Ϊ̀i̇uῒİufinnish�Finnishr�uAͅς)rr��test_capitalizer@�
capitalize)r5�exps  rrzUnicodeTest.test_capitalizevsv����/�/��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�rtr�r�u𐑏𐑏 𐑏𐑏u𐐧𐑏 𐐧𐑏u𐑏𐐧 𐑏𐐧uX𐐧x𐑏 X𐐧x𐑏uX𐑏x𐑏 X𐑏x𐑏ufiNNISHr�u	AΣ ᾡxyu	Aς ᾩxyuAΣAuAσa)ry�
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�rtr�r�r�r�r�u
x𐑏X𐐧r�r�r�r�r�r�r�uΙσr�uaΙςr�uaΙσAr�uaςΙr�uσΙ r�r�r�r�)rr��
test_swapcaser@�swapcaser4s 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@�centerr4s rr
zUnicodeTest.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)�)�MemoryError�skipTestrOrCr�)r5rDrYs   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�Nr5�abcxxxx�abrV)r�Nrrn�zabc�abc�asdf�asd)r��Āu𐌀r�rr�)�assertIn�assertNotInrOr��__contains__)r5�fillrs   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)N�𐀀􀀀�􀀀r��𐀀)	r�r�r�rrrr�ljust�rjustr4s r�test_issue18183zUnicodeTest.test_issue18183�s����$�$�&�&�&��'�'�)�)�)��$�$�&�&�&��)�)�+�+�+��$�$�&�&�&��'�'�)�)�)����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�jdg��|�td�jdg��|�td�jd�d���|�td�jd-d�d��|�t�djdd7�ddYd�d֐d�d�
�
�d}
|�t|
�djd��|�t|
td�d���d}|�t|�djd��|�t�d	jd��|�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�dj�d��|�t�dj�d��|��d�d�d���d��|
d˦�}|��d�|���d��|�t�d j|��|�tdFj|��|d˦�}|��d�|���d!��|��d �|���d!��|�tdFj|��dS("Nrnr�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�r5r�s  rr0z+UnicodeTest.test_format.<locals>.C.__init__�
������rc��|Sr"r
�r5�specs  r�
__format__z-UnicodeTest.test_format.<locals>.C.__format__����rN�r��r*r+r,r0rDr
rr�Cr;�7������
�
�
�
�
�
�
�
�
rrHc��eZdZd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Dc��||_dSr"�r�r?s  rr0z+UnicodeTest.test_format.<locals>.D.__init__�
������rc�*�t|j��Sr")r;r�rBs  rrDz-UnicodeTest.test_format.<locals>.D.__format__s���4�6�{�{�"rNrGr
rr�DrKs2������
�
�
�
#�
#�
#�
#�
#rrPc��eZdZd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Ec��||_dSr"rMr?s  rr0z+UnicodeTest.test_format.<locals>.E.__init__ rNrc��d|jzdzS)NzE(�)rMr4s rr2z*UnicodeTest.test_format.<locals>.E.__str__"����d�f�}�s�*�*rNr3r
rr�ErR�2������
�
�
�
+�
+�
+�
+�
+rrWc��eZdZd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Fc��||_dSr"rMr?s  rr0z+UnicodeTest.test_format.<locals>.F.__init__'rNrc��d|jzdzS)NzF(rUrMr4s rr<z+UnicodeTest.test_format.<locals>.F.__repr__)rVrN)r*r+r,r0r<r
rr�FrZ&rXrr]c� �eZdZd�Zd�Zd�ZdS)�"UnicodeTest.test_format.<locals>.Gc��||_dSr"rMr?s  rr0z+UnicodeTest.test_format.<locals>.G.__init__.rNrc��d|jzS)Nz
string is rMr4s rr2z*UnicodeTest.test_format.<locals>.G.__str__0s��#�d�f�,�,rc�^�|dkr
d|jzdzSt�||��S)NrzG(rU)r�rDrD�r5�format_specs  rrDz-UnicodeTest.test_format.<locals>.G.__format__2s6���#�%�/��$�&�=�3�.�.��(�(��{�;�;�;rN)r*r+r,r0r2rDr
rr�Gr_-sA������
�
�
�
-�
-�
-�
<�
<�
<�
<�
<rrec��eZdZd�ZdS)�"UnicodeTest.test_format.<locals>.Ic�,�|�|��Sr")�strftimercs  rrDz-UnicodeTest.test_format.<locals>.I.__format__8s���}�}�[�1�1�1rN�r*r+r,rDr
rr�Irg7s#������
2�
2�
2�
2�
2rrkc��eZdZd�ZdS)�"UnicodeTest.test_format.<locals>.Jc�>�t�|dz|��S�Nr�)rArDrcs  rrDz-UnicodeTest.test_format.<locals>.J.__format__<s���~�~�d�Q�h��<�<�<rNrjr
rr�Jrm;s#������
=�
=�
=�
=�
=rrpc��eZdZd�Zd�ZdZdS)�"UnicodeTest.test_format.<locals>.Mc��||_dSr"rMr?s  rr0z+UnicodeTest.test_format.<locals>.M.__init__@rNrc��d|jzdzS)NzM(rUrMr4s rr<z+UnicodeTest.test_format.<locals>.M.__repr__BrVrN)r*r+r,r0r<r2r
rr�Mrr?s1������
�
�
�
+�
+�
+��G�G�Grruc��eZdZd�Zd�ZdZdS)�"UnicodeTest.test_format.<locals>.Nc��||_dSr"rMr?s  rr0z+UnicodeTest.test_format.<locals>.N.__init__GrNrc��d|jzdzS)NzN(rUrMr4s rr<z+UnicodeTest.test_format.<locals>.N.__repr__IrVrN)r*r+r,r0r<rDr
rr�NrwFs1������
�
�
�
+�
+�
+��J�J�JrrzrV�{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[ ]}rNr�r:�{foo._x}�)r9�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}rCz{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}r9zfooz{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)rz[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[0]x}z
{0[0](10)}z{0[{1}]}r�r�z{0:{1:{2}}}rYz{0:{1:{2:{3:{4:{5:{6}}}}}}}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{[!]}rIz{a{}b}rz{a{b}z{[}z0x{:0{:d}X}��0x0000000000000000�{!r}zM(data)z{!s}zN(data))r@r��datetime�dict�daterArOr�r��
IndexError�KeyError�assertRaisesRegex)r5r�rrHrPrWr]rerkrprurz�big�sign_msg�	space_msg�m�ns                 r�test_formatzUnicodeTest.test_format�s�����������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�	
���*�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))Nrnr�rr-r.r/r0r1r2r3r4r5r6c��eZdZd�ZdS)�,UnicodeTest.test_format_map.<locals>.Mappingc��|Sr"r
�r5�keys  r�__missing__z8UnicodeTest.test_format_map.<locals>.Mapping.__missing__As���
rN)r*r+r,r�r
rr�Mappingr�@�#������
�
�
�
�
rr�z{hello}r�z{a} {world})r�r�c��eZdZd�Zd�ZdS)�4UnicodeTest.test_format_map.<locals>.InternalMappingc��ddi|_dS)Nr�r��rr4s rr0z=UnicodeTest.test_format_map.<locals>.InternalMapping.__init__Gs�� #�W�~����rc��|j|Sr"r�r�s  r�__getitem__z@UnicodeTest.test_format_map.<locals>.InternalMapping.__getitem__Is���|�C�(�(rN)r*r+r,r0r�r
rr�InternalMappingr�Fs2������
.�
.�
.�
)�
)�
)�
)�
)rr�z{a}c��eZdZdd�Zd�ZdS)�&UnicodeTest.test_format_map.<locals>.Cr�c��||_dSr"r=r?s  rr0z/UnicodeTest.test_format_map.<locals>.C.__init__Or@rc��|Sr"r
rBs  rrDz1UnicodeTest.test_format_map.<locals>.C.__format__QrErNrFrGr
rrrHr�NrIrrHr�r9r�r�rr�r�r�r�r�z{a} {}r�r�c��eZdZd�ZdS)�/UnicodeTest.test_format_map.<locals>.BadMappingc��ddzS)Nr�rr
r�s  rr�z;UnicodeTest.test_format_map.<locals>.BadMapping.__getitem__fs����s�
rN)r*r+r,r�r
rr�
BadMappingr�er�rr�)r@�
format_mapr�rOr�r�r��ZeroDivisionError)r5r�r�rHr�s     r�test_format_mapzUnicodeTest.test_format_map5s��������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�rxrBrOr��r5�
format_stringrCs   r�test_format_huge_precisionz&UnicodeTest.test_format_huge_precisionls����
�
�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_widthqs������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_numbervs���$�+�+�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"r=r?s  rr0z:UnicodeTest.test_format_auto_numbering.<locals>.C.__init__}r@rc��|Sr"r
rBs  rrDz<UnicodeTest.test_format_auto_numbering.<locals>.C.__format__rErNrFrGr
rrrHr�|rIrrHr�r�r�z{:5}rYzs    r�z's'z{._x}z{[1]}r�r�r8z{[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�rOr�)r5rHs  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��f|�
tdftjdZdg��f|�
tdhtjd]di��f|�
tdjtjdW|��f|�ttjd|��fdS)kNz%s, %s)rVrV�abc, abcz%s, %s, %i, %f, %5.2f)rVrVr�r�r�zabc, abc, 1, 2.000000,  3.00)rVrVr����r�zabc, abc, 1, -2.000000,  3.00)rVrVr�r�g@zabc, abc, -1, -2.000000,  3.50)rVrVr�r�g��(\�@zabc, abc, -1, -2.000000,  3.57)rVrVr�r�g�(\�\�@z abc, abc, -1, -2.000000, 1003.57rUz%r, %r)r]rVz
b'abc', 'abc'z%r)�ሴu'ሴ'z%az'\u1234'z%(x)s, %(y)srVr�)r�rzabc, defu
%(x)s, %(ü)s)r�r
z%ci4r�i�u𡒃)rM�aau%.1ဲfgUUUUUU�?z%i�
...%(foo)s...r9�	...abc...r��r9r�z...%s...%s...%s...%s...)r�r�r�rVz...1...2...3...abc...z"...%%...%%s...%s...%s...%s...%s...z...%...%s...1...2...3...abc...z...%s...z%*s)r�rVz  abc)���rVzabc  z%*.*s)r�r�rVz   ab)r�r�rVz%i %*.*s)r�r�r�rVz10   abcz
%i%s %*.*s)r�r�r�r�rVz	103   abcr�c��eZdZd�ZdS)�,UnicodeTest.test_formatting.<locals>.Wrapperc��dS)Nr�r
r4s rr2z4UnicodeTest.test_formatting.<locals>.Wrapper.__str__�s���xrN�r*r+r,r2r
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"�rA�value�r5r�s  rr0z7UnicodeTest.test_formatting.<locals>.PseudoInt.__init__�s�� ��Z�Z��
�
�
rc��|jSr"�r�r4s r�__int__z6UnicodeTest.test_formatting.<locals>.PseudoInt.__int__��
���z�!rc��|jSr"rr4s r�	__index__z8UnicodeTest.test_formatting.<locals>.PseudoInt.__index__�rrN)r*r+r,r0rrr
rr�	PseudoIntr��sA������
(�
(�
(�
"�
"�
"�
"�
"�
"�
"�
"rrc��eZdZd�Zd�ZdS)�0UnicodeTest.test_formatting.<locals>.PseudoFloatc�.�t|��|_dSr")�floatr�r�s  rr0z9UnicodeTest.test_formatting.<locals>.PseudoFloat.__init__�s��"�5�\�\��
�
�
rc�*�t|j��Sr"r�r4s rrz8UnicodeTest.test_formatting.<locals>.PseudoFloat.__int__�s���4�:���&rN)r*r+r,r0rr
rr�PseudoFloatr�s2������
*�
*�
*�
'�
'�
'�
'�
'rrgo���!	@�mz%xr�2az%X�r]z%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 PseudoFloat)rr%�test_formattingr@rxryrzrOrC�__mod__r�r�r
r��operator�mod)r5r�r�r�rr�pi�letter_ms        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�t�t����y�*X�Zb�Zf�hl�nr�s�s�t�t����y�*X�Zb�Zf�hl�nr�s�s�t�t����y�*^�`h�`l�nr�tv�w�w�x�x����)�X�\�4��<�<�=�=�=�=rc
�*�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�s�������B�B�Brrc��eZdZdZdS)�2UnicodeTest.test_formatting_with_enum.<locals>.IntrN)r*r+r,�IDESr
rr�Intr �s�������D�D�Drr"c��eZdZdZdS)�2UnicodeTest.test_formatting_with_enum.<locals>.StrrVN)r*r+r,r�r
rr�Strr$�s�������C�C�Crr%z, r�z%s, %s, %d, %i, %u, %f, %5.2fz%abc, abc, 15, 15, 15, 3.141593,  3.14r�r9r�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)r5r&rr"r%s     r�test_formatting_with_enumz%UnicodeTest.test_formatting_with_enum�s>������	�	�	�	�	�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_precisions������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�)r5�others  r�__rmod__zKUnicodeTest.test_issue28598_strsubclass_rhs.<locals>.SubclassedStr.__rmod__s��@�G�G��N�N�NrN)r*r+r,r5r
rr�
SubclassedStrr1s(������
O�
O�
O�
O�
Orr6z	lhs %% %r�rhsz.Success, self.__rmod__('lhs %% %r') was called�r;r@)r5r6s  r�test_issue28598_strsubclass_rhsz+UnicodeTest.test_issue28598_strsubclass_rhssq��	O�	O�	O�	O�	O�C�	O�	O�	O�	
����}�}�U�';�';�;�I�	K�	K�	K�	K�	Krc��d�tjdz��}|�t��5|dz}ddd��dS#1swxYwYdSr,)r�r��INT_MAXrOr�r�s   r�'test_formatting_huge_precision_c_limitsz3UnicodeTest.test_formatting_huge_precision_c_limits#s��� ���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_width*s����
�
�c�k�A�o�6�6�
�
�
�
�z�
*�
*�	*�	*�"�T�)�F�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*r.c�$�djdjfD]�}|�t��5}|dg��ddd��n#1swxYwYt	|j��}|�d|��|�d|����dS)Nr9r�r;r�)rz�endswithrOr�r;�	exceptionr )r5r��cm�excs    r�test_startswith_endswith_errorsz+UnicodeTest.test_startswith_endswith_errors/s����%�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%.1fg�?�r@r4s r�test_format_floatzUnicodeTest.test_format_float7s$��	
�������-�-�-�-�-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)r{rrer�r{sascii�utf-8z strings are converted to unicodec��eZdZd�Zd�ZdS)�2UnicodeTest.test_constructor.<locals>.StringCompatc��||_dSr"rMr?s  rr0z;UnicodeTest.test_constructor.<locals>.StringCompat.__init__RrNrc��|jSr"rMr4s rr2z:UnicodeTest.test_constructor.<locals>.StringCompat.__str__Ts	���v�
rNr3r
rr�StringCompatrNQs2������
�
�
�
�
�
�
�
rrQz)__str__ compatible objects are recognizedz#unicode(obj) is compatible to str())r�g������^@r�rUz!decoding unicode is not supportedr	sstrings are decoded to unicodezstrings are decoded to unicodes(character buffers are decoded to unicodez(character buffers are decoded to unicoder)r@r;r(�lenr#rxryrzrOr��
memoryview)r5r%�subclassrQ�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��
E�� � �����!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)	Nr9)rDsfoorL)rDrr	�r)rDr)r@r;r4s 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)Nrnr	rY�¢rLr{)r)r@r;r#rO�UnicodeDecodeError)r5�	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?rb)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+�r\rnzGABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'(),-./:?z!"#$%&*;<=>@[]^_`{|}�utf7r{zill-formed sequences+@)r@r#r$r�r])r5�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)NrnrLrres€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;r4s 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rk)�￿rL)s𐀀r()�􏿿r�rL)r@r$)r5�	sequencesrE�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
�r>��.0r�s  r�
<listcomp>zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>s ��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>� ��%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>r�r��c�.�g|]}t|g����Sr
r{r|s  rr~zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>s ��)Q�)Q�)Q��%���*�*�)Q�)Q�)Qr�rorLr���c�.�g|]}t|g����Sr
r{r|s  rr~zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>� ��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>#r�r������s��c�.�g|]}t|g����Sr
r{r|s  rr~zBUnicodeTest.test_utf8_decode_invalid_sequences.<locals>.<listcomp>(r�r��)rrOr]r$)
r5�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�Ar@��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��drLr	rH�br�r\rn)�	enumeraterOr]r$r@rH)r5�FFFDrvr�rErws      r�test_issue8271zUnicodeTest.test_issue8271.s����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)
NrLrHsaaaasbbbb�aaaa�bbbbr�rnr\)rOr]r$rAr r;r@rH)r5rErw�errrBrCs      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�r>)r5r�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�r>�fromhex)r5rvr�rEs    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 00rzC2 7FrrzC2 C0zC2 FFzDF 00zDF 7FzDF C0zDF FF�invalid continuation byter��r5r��FFFDx2rvrErws      r�test_invalid_cb_for_2bytes_seqz*UnicodeTest.test_invalid_cb_for_2bytes_seq�s���	�������
�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 00rzE0 7FrrzE0 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_seq�s~��	� ������"
�
�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 00rzF0 7FrrzF0 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_seqs}��	�������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#r4s 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‚ xr{r	r\sAndr xrHsAndr? xrY)rrsAndr� xzAndr xu	Andr� xs� xu� xs	\N{foo}xxzunicode-escape�xx�\�hellorrr�rr�u�)rO�UnicodeErrorr#r@r;r$r�r�rAr
�complexr4s r�test_codecs_errorszUnicodeTest.test_codecs_errorsds�����,��(;�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�r{r�rerL�	utf-16-les
hello�	utf-16-bes
hello�latin-1u☃s☃i)rerL�utf-16r�r��raw_unicode_escape�unicode_escapero)r�r)r{u𐀁𠀂𰀃񀀄񐀅)rLr�r�r�r�r�rnri�i�rM)rL)
r@r#rr~r;r_�catch_warningsr|r}�list)r5r�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_8ro) 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>rr@r;r#)r5rYrs   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�rIr4s r�test_concatenationzUnicodeTest.test_concatenation�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@�failr]�start�end)r5r�r�es    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�Nr9r
r4s rr2z8UnicodeTest.test_conversion.<locals>.ObjectToStr.__str__	����urNr�r
rr�ObjectToStrr 	�#������
�
�
�
�
rr$c��eZdZd�ZdS)�5UnicodeTest.test_conversion.<locals>.StrSubclassToStrc��dSr"r
r4s rr2z=UnicodeTest.test_conversion.<locals>.StrSubclassToStr.__str__	r#rNr�r
rr�StrSubclassToStrr'	r%rr)c��eZdZdd�Zd�ZdS)�=UnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclassrnc�>�t�|d|z��Sro)r;�__new__)r��contents  rr-zEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__new__	s���{�{�3��'�	�2�2�2rc��|Sr"r
r4s rr2zEUnicodeTest.test_conversion.<locals>.StrSubclassToStrSubclass.__str__	rErN)rn)r*r+r,r-r2r
rr�StrSubclassToStrSubclassr+	s7������
3�
3�
3�
3�
�
�
�
�
rr0r9r��foofoo)r;r@rOrBr()r5r$r)r0rYs     r�test_conversionzUnicodeTest.test_conversion	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
r4s rr<z2UnicodeTest.test_unicode_repr.<locals>.s1.__repr__)	r#rNr=r
rr�s1r5(	r%rr9c��eZdZd�ZdS)�)UnicodeTest.test_unicode_repr.<locals>.s2c��dSr7r
r4s rr<z2UnicodeTest.test_unicode_repr.<locals>.s2.__repr__-	r#rNr=r
rrrhr;,	r%rrhr8�r@r�)r5r9rhs   r�test_unicode_reprzUnicodeTest.test_unicode_repr'	s���	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
����b�b�d�d���U�+�+�+�����b�b�d�d���U�+�+�+�+�+rc��|�td��ddz��|�td��d��dS)Nr(z'%c')�u𔀀z'\U00014000'r=r4s r�test_printable_reprzUnicodeTest.test_printable_repr3	sI������l�+�+�V�j�-@�A�A�A�����l�+�+�_�=�=�=�=�=r�Pr�z only applies to 32-bit platformsc�\�|�tdjtj��dS)Nzt	t	)rOrC�
expandtabsrxrBr4s r�$test_expandtabs_overflows_gracefullyz0UnicodeTest.test_expandtabs_overflows_gracefully:	s'��	
���-��)<�c�k�J�J�J�J�Jrc�Z�d}|�|���|��dS)NrV)rOrD)r5rYs  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�rrer�rr�ror@r�r�c�����zSr"r
)r��maxlens��r�<lambda>z0UnicodeTest.test_raiseMemError.<locals>.<lambda>\	s���D�6�M�r)r��struct_size�	char_sizer�+)
r�calcobjsizerrxrBr�r@�	getsizeofrOr)r5�asciifields�
compactfields�ascii_struct_size�compact_struct_size�coderOrN�allocr�rLs         @@r�test_raiseMemErrorzUnicodeTest.test_raiseMemErrorD	s�������#�e�+�
�#�/��<�<��%�1�-�@�@��9�	6�	6�D��t�9�9�D��d�{�
2��	�/������
2��	�1������
2��	�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
r4s rr2z3UnicodeTest.test_format_subclass.<locals>.S.__str__l	s��+�+rNr�r
rrr�r\k	s#������
,�
,�
,�
,�
,rr��xxxr�r^r�)r;r@r��r5r�rYs   r�test_format_subclassz UnicodeTest.test_format_subclassj	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�Nr:r
�r5rUs  r�__add__z0UnicodeTest.test_subclass_add.<locals>.S.__add__t	����srN)r*r+r,rhr
rrr�rds	r�rr�r�r�r:c��eZdZd�ZdS)rdc��dSrfr
rgs  r�__iadd__z1UnicodeTest.test_subclass_add.<locals>.S.__iadd__x	rirN)r*r+r,rlr
rrr�z(UnicodeTest.test_subclass_add.<locals>.Sw	r�rr7r8r`s   r�test_subclass_addzUnicodeTest.test_subclass_addr	s���	�	�	�	�	��	�	�	�	
�����3���!�!�C�&�&��#�.�.�.�	�	�	�	�	��	�	�	�
�A�c�F�F��	�S�������C� � � � � rc���d}|���}|�|d|��|�|d|��|�t|��d��dS)NrVrr�)�__getnewargs__�assertIsNotr@rR)r5r%rFs   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@rR)r5�lengthr%rVr�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�r�rsrKrrLr'r�r�)�	itertools�combinationsr@rAr&rpr{)r5rzr{�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;�reversedr4s 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)r{�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)r5�	encodings�invalidrW�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;r
r6rIrSr�r�r�r�r�r�r�r�r�r�r�r�rrr r&r)r;�unittest�skipIfrxrBrFrLr�cpython_onlyrQrZrcrmrzr�r�r��requires_resourcer�r�r�r�r�r�r�r��requires_legacy_unicode_capir�r�r�r�r�r�r�rrrr
�
skipUnlessrr$r+r�r�r�r�r�r�rr*r-r9r<r>rD�run_with_localerJrWrZr_rjrmrxr�r�r�r�r�r�r�r�r�r�r�rrrr2r>rA�struct�calcsizerErGrYrarmrqrvr�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�4H�H�H�>I�I�I�8R�R�R�0S�S�S�4DH�DH�DH�LM�M�M�"N�N�N� 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	,�	,�	,�x5�x5�x5�t	5M�5M�5M�n1�1�1�
1�1�1�
0�0�0�
I�I�I�<U>�U>�U>�n#+�#+�#+�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�Zejejedud��d�����Z	ejejedud��d�����Z
ejejedud��d�����Zejejedud��d�����Zejejedud��d�����Z
ejejedud��d	�����Zejejedud��d
�����Zejejedud��d�����ZdS)�CAPITestc�z�����tjd��ddlm}m}m�m}m}m}m	}m
}m}m}	m
}
m}m}d}
t!||
���|f�_��_��fd����fd�}|ddd	����t(d
�dd��|d
d|d����|dd|d������t,��5�d|d����ddd��n#1swxYwY|dd|d��|d����|dd��|dd��|dd��|dd��|ddd ��|d!d"d#��|d$d%d&�d'����|d(d)d*��|d+d,d-��|d.d/d*��|d0d1d-��|d2d3d-��|d2d4d-��|d2d5d-d��|d$d6dd&�d'����|d7d8d!��|d9d:d!��|d;d<d!��|d=d>d!��|d?d@d!��|dAdBd!��|d=dCd!��|d?dDd!��|dAdEd!��|d7dFd ��|d9dGd ��|d;dHd ��|d7dId!��|d9dJd!��|d;dKd!��|d7dLd!dM��|d9dNd!dM��|d;dOd!dM��|dPdLddM��|dQdNddM��|dRdOddM��|dSdT|dU����|dVdW|dU����|dXdY|dZ����|dXd[|dZ����|dXd\|dZ����|dXd]|dZ����|dXd^|dZ����|dXd_|dZ����|dXd`|dZ����|dXda|dZ����|dbdc|dd����|dbde|	dd����|dbdf|
dd����|dbdg|dd����dhdi||��zdjz
z}|djz
}|t1|��d`||����|t1|��d`||����dhdi||
��zzdjz
}|t1|��df|
|�����dk|dl����|db�dUdm��dn|dd����|db�do��dp|dd����|db�dodm��dq|dd����|db�drdm���do��ds|dd����|db�dUdm��dt|dd����|db�do��du|dd����|db�dodm��dv|dd����|db�drdm���do��dw|dd����|db�dUdm��dx|dy����|db�do��dz|dy����|db�dodm��d{|dy����|db�drdm���do��d||dy����|d}d~d��|d�d�d!d���|d�d�dd���|d�d�dd���|dd�d ��|d�d���|d�d�|dU����|d�d�d ��|d�d���|d�d�d���dS)�N�ctypesr)
�c_char_p�	pythonapi�	py_object�sizeof�c_int�c_long�
c_longlong�	c_ssize_t�c_uint�c_ulong�c_ulonglong�c_size_t�c_void_p�PyUnicode_FromFormatc�L��t�fd�|D����}�|g|�R�S)Nc3�\�K�|]&}t|t��r�|��n|V��'dSr")�
isinstancer;)r}�argr�s  �r�	<genexpr>zJCAPITest.test_from_format.<locals>.PyUnicode_FromFormat.<locals>.<genexpr>4
sR�����!�!��#-�S�#�"6�"6�?�	�	�#����C�!�!�!�!�!�!r)r�)r�rF�cargs�_PyUnicode_FromFormatr�s   ��rr�z7CAPITest.test_from_format.<locals>.PyUnicode_FromFormat3
sS����!�!�!�!��!�!�!�!�!�E�)�(��8�%�8�8�8�8rc�F���|g|�R�}��||��dSr"rI)�expectedr�rFr%r�r5s    ��r�check_formatz/CAPITest.test_from_format.<locals>.check_format9
s7���'�'��6��6�6�6�D����X�t�,�,�,�,�,ruascii=unicodeés	ascii=%Uu	unicodeéz^^PyUnicode_FromFormatV\(\) expects an ASCII-encoded format string, got a non-ASCII byte: 0xe9$sunicode�=%sr{uꯍs%ciͫr��rMr&s%c%cr@r�%�%s%%r�s%%sz[%]s[%%]z%abcs%%%sr]rVs%.3ssabcdefuabc[�s%.5suabc[€]r�z'\u20acABC's%Au€ABCz'\u20s%.5Au	€ABCDEFu'€ABC's%Ru'€As%.3Ru€ABs%.3Ss%.3Us%.3Vs%.5Vz
repr=  abcsrepr=%5Szrepr=abs	repr=%.2Sz
repr=   abs
repr=%5.2Sz
repr=   'abc'srepr=%8Rzrepr='abs	repr=%.3Rz
repr=  'abs
repr=%5.3Rsrepr=%8As	repr=%.3As
repr=%5.3Asrepr=%5ss	repr=%.2ss
repr=%5.2ssrepr=%5Us	repr=%.2Us
repr=%5.2Usrepr=%5Vs123s	repr=%.2Vs
repr=%5.2Vz
repr=  123zrepr=12z
repr=   12�010s%03ir��0010s%0.4iz-123s%ii����s%lis%llis%zis%ds%lds%llds%zdrs%ur�s%lus%llus%zur�r�r�s%pr�r�s%010ir�s%100is%.100i�Ps%100.80is%010us%100us%.100us%100.80us%010xi#s%100xs%.100xs%100.80xz%A:'abc\xe9\uabcd\U0010ffff's%%A:%Auabcéꯍ􏿿zrepr=abcsrepr=%Vsxyzurepr=人民s人民urepr=abc�sabc�s%1%sz%1abcs%1abcz%+is%+iz%.%ss%.%srnrs%s)r�
import_moduler�r�r�r�r�r�r�r�r�r�r�r�r�r�r?�argtypes�restyper�r�rOrCr#r;r*)r5r�r�r�r�r�r�r�r�r�r�r�r�r8r��min_longlong�max_longlong�
max_ulonglongr�r�r�s`                 @@@r�test_from_formatzCAPITest.test_from_format'
s��������#�H�-�-�-�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�
&�� '�	�4� 8� 8��*2���&�(1��%�	9�	9�	9�	9�	9�	9�	-�	-�	-�	-�	-�	-�
	��,�$�m�	5�	5�	5�
	
���z�
2� �"3�W�	>�	>�	>�	��X��E�E�&�M�M�	+�	+�	+���\��E�E�(�O�O�	-�	-�	-�
�
�
�}�
-�
-�	9�	9� � ����h���8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	��+��e�e�G�n�n�e�e�H�o�o�	?�	?�	?�	��S��	�	�	���S��	�	�	���T��	�	�	���U��	�	�	���V��f�	&�	&�	&�	��U��i�	)�	)�	)���\��m�2�2�6�:�:�	<�	<�	<���^��K�	)�	)�	)���X��n�	.�	.�	.���]��K�	)�	)�	)���Z��n�	.�	.�	.���Z��n�	.�	.�	.���Z��n�	.�	.�	.���Z��n�d�	4�	4�	4���\��d�M�$8�$8��$@�$@�	B�	B�	B�
	��\� �%�	)�	)�	)���Y�!�5�	*�	*�	*���\�"�E�	+�	+�	+�	��_� �%�	)�	)�	)���Z�!�5�	*�	*�	*���\�"�E�	+�	+�	+�	��_� �%�	)�	)�	)���Z�!�5�	*�	*�	*���\�"�E�	+�	+�	+�	��\� �&�	*�	*�	*���Y�!�6�	+�	+�	+���\�"�F�	,�	,�	,�	��\� �%�	)�	)�	)���Y�!�5�	*�	*�	*���\�"�E�	+�	+�	+�	��\� �%��	1�	1�	1���Y�!�5�&�	2�	2�	2���\�"�E�6�	3�	3�	3���\� �$��	0�	0�	0���Y�!�4��	1�	1�	1���\�"�D�&�	2�	2�	2�	��U��e�e�B�i�i�	)�	)�	)���V��u�u�R�y�y�	*�	*�	*���V��E�E�$�K�K�	)�	)�	)���V��V�V�D�\�\�	+�	+�	+���V��j�j��.�.�	0�	0�	0���V��Y�Y�t�_�_�	.�	.�	.�	��V��E�E�$�K�K�	)�	)�	)���V��V�V�D�\�\�	+�	+�	+���V��j�j��.�.�	0�	0�	0���V��Y�Y�t�_�_�	.�	.�	.�	��U��F�F�3�K�K�	)�	)�	)���U��W�W�S�\�\�	+�	+�	+���U��k�k�#�.�.�	0�	0�	0���U��X�X�c�]�]�	,�	,�	,��q�6�6�*�#5�#5�5��9�:�;��$�}�q�(����S��&�&��j�j��6�6�	8�	8�	8���S��&�&��j�j��6�6�	8�	8�	8��a�&�&��"5�"5�5�6��:�
���S��'�'��k�k�-�8�8�	:�	:�	:���U�H�H�R�L�L�1�1�1�	��U�[�[��S�)�)��u�u�S�z�z�	+�	+�	+���U�[�[��%�%��u�u�S�z�z�	+�	+�	+���U�[�[��c�*�*����c�
�
�	,�	,�	,���U�[�[��S�)�)�/�/��4�4� �%�%��*�*�	.�	.�	.�	��U�[�[��S�)�)��v�v�c�{�{�	,�	,�	,���U�[�[��%�%��v�v�c�{�{�	,�	,�	,���U�[�[��c�*�*����s���	-�	-�	-���U�[�[��S�)�)�/�/��4�4� �&�&��+�+�	/�	/�	/�	��U�[�[��S�)�)��u�u�U�|�|�	-�	-�	-���U�[�[��%�%��u�u�U�|�|�	-�	-�	-���U�[�[��c�*�*����e���	.�	.�	.���U�[�[��S�)�)�/�/��4�4� �%�%��,�,�	0�	0�	0�	��4�� 9�	;�	;�	;�	��Z����	0�	0�	0�	��(���'B�	D�	D�	D�	��%���z�	3�	3�	3�
	��T��f�	&�	&�	&���W��	�	�	���U��U�U�2�Y�Y�	(�	(�	(���V��f�	&�	&�	&�	��R��	�	�	���R��C�	!�	!�	!�	!�	!s�C7�7C;�>C;Nr�c�b�ddlm}tjd��ddlm}m}|dd��\}}|�|d��|�|d��|dd	��\}}|�|d	��|�|d��|dd
��\}}|�|d	��|�|d��|dd��\}}|�|d	��|�|d��|d
d��\}}|�|d��|�|d��td��}||��dkrd	}d}nd}d}|||��\}}|�||��|�||dz��dS)Nr)�unicode_aswidecharr���c_wcharr�r�r�rrVr�r�rr��abcdefr�r��abcdefr�r�r)	r�r�rr�r�r�r�r@r~)	r5r�r�r��wcharrD�nonbmp�buflen�nchars	         r�test_aswidecharzCAPITest.test_aswidechars��	1�0�0�0�0�0��#�H�-�-�-�*�*�*�*�*�*�*�*�(�(��1�5�5���t�����q�!�!�!������%�%�%�(�(���2�2���t�����q�!�!�!������&�&�&�(�(���2�2���t�����q�!�!�!������(�(�(�(�(���3�3���t�����q�!�!�!������(�(�(�(�(��R�8�8���t�����q�!�!�!������-�-�-��X�����6�'�?�?�a��	��F��E�E��F��E�(�(���8�8���t�����u�%�%�%�������
�.�.�.�.�.rc���ddlm}tjd��ddlm}m}|d��\}}|�|d��|�|d��|d��\}}|�|d	��|�|d
��td��}||��dkrd}nd
}||��\}}|�||��|�||dz��dS)Nr)�unicode_aswidecharstringr�r�rVr�rr�r�r�r�r�r�r)	r�r�rr�r�r�r�r@r~)r5r�r�r�r�rDr�r�s        r�test_aswidecharstringzCAPITest.test_aswidecharstring?s5��	7�6�6�6�6�6��#�H�-�-�-�*�*�*�*�*�*�*�*�.�.�u�5�5���t�����q�!�!�!������(�(�(�.�.�z�:�:���t�����q�!�!�!������-�-�-��X�����6�'�?�?�a��	��E�E��E�.�.�v�6�6���t�����u�%�%�%�������
�.�.�.�.�.rc	���ddlm}dD�]c}t|��}|�|||d��|dz��|�|||d��|dz��|�|||dzd��|d	z��|�|||dzd��|d	z��|�t
|||dz
d��|�t
|||d
z
d��d�||g��}|�||t|��d��|dz��|�||t|��d��|dz����edS)Nr)�unicode_asucs4)rVu¡¢u你好ua😀�	a�b�cu��TrFrLr�u￿r�)r�r�rRr@rO�SystemErrorr|)r5r�rY�ls    r�test_asucs4zCAPITest.test_asucs4Xs���	-�,�,�,�,�,�5�	K�	K�A��A���A����^�^�A�q�$�7�7��4��@�@�@����^�^�A�q�%�8�8�!�H�*�E�E�E����^�^�A�q��s�D�9�9�1�Z�<�H�H�H����^�^�A�q��s�E�:�:�A�j�L�I�I�I����k�>�1�a��c�4�H�H�H����k�>�1�a��c�5�I�I�I��	�	�1�a�&�!�!�A����^�^�A�s�1�v�v�t�<�<�a��f�E�E�E����^�^�A�s�1�v�v�u�=�=�q��z�J�J�J�J�	K�	Krc�*�ddlm}d}d}td��}|�||��d��|�||��d��|�||��d��|�t
|d	��dS)
Nr)�unicode_asutf8rrLr��Ārtrur�)r�r�r~r@rO�UnicodeEncodeError)r5r�r}r~r�s     r�test_asutf8zCAPITest.test_asutf8js���	-�,�,�,�,�,������X����������,�,�k�:�:�:�������-�-��?�?�?�������/�/�1D�E�E�E����,�n�>O�P�P�P�P�Prc�*�ddlm}d}d}td��}|�||��d��|�||��d��|�||��d��|�t
|d	��dS)
Nr)�unicode_asutf8andsizerrLr�)r�r�)rtr�)rur�r�)r�r�r~r@rOr�)r5r�r}r~r�s     r�test_asutf8andsizezCAPITest.test_asutf8andsizeys���	4�3�3�3�3�3������X�������.�.�s�3�3�5E�F�F�F����.�.�t�4�4�6J�K�K�K����.�.�v�6�6�8P�Q�Q�Q����,�.C�EV�W�W�W�W�Wrc���ddlm}dD]�}t|��D]\}}|�||t	|��dt|��d��|��|�||t	|��dt|��d��|������d}|�||ddt|��d��d��|�||ddt|��d��d��|�||t	d��dt|��dzd��d	��|�||t	d��dt|��dzd��d	��|�||t	d��ddd��d��|�||t	d��t|��dd��d��|�||t	d��t|��dd��d��|�||t	d��t|��dd��d��dS)
Nr)�unicode_findchar)�¡u耀肀rfu🄀🇱r�r�z!>_<!rMrIr�)r�r�r�r@rrR)r5r�r;r�r�s     r�
test_findcharzCAPITest.test_findchar�sp��	/�.�.�.�.�.�Q�	U�	U�C�"�3���
U�
U���2�� � �!1�!1�#�s�2�w�w��3�s�8�8�Q�!O�!O�QR�S�S�S�� � �!1�!1�#�s�2�w�w��3�s�8�8�R�!P�!P�RS�T�T�T�T�
U������)�)�#�x��C��H�H�a�H�H�"�M�M�M����)�)�#�x��C��H�H�b�I�I�2�N�N�N����)�)�#�s�3�x�x��C��H�H�Q�J��J�J�A�N�N�N����)�)�#�s�3�x�x��C��H�H�Q�J��K�K�Q�O�O�O����)�)�#�s�3�x�x��A�q�A�A�2�F�F�F����)�)�#�s�3�x�x��S���1�a�H�H�"�M�M�M����)�)�#�s�3�x�x�#�c�(�(��B��J�J�A�N�N�N����)�)�#�s�3�x�x�#�c�(�(��B��K�K�Q�O�O�O�O�Orc���ddlm}gd�}t|��D]�\}}|d|�D]"}|�t||d|dd���#td��D]I}|�||d||d��|||dz��dd��d|z
f���Jtd��D]I}|�|||||d��|||dz��dd��d|z
f���J��|d}|�t||d|dd��|�t||d|dd��|�t||d|dd��|�t||d|dd��|�t||d|dd��|�t||d|dd��|�t||dd	dd��dS)
Nr)�unicode_copycharacters)�abcdeu
¡¢£¤¥u你好世界!u😀😁😂😃😄r�rr�r�r�r)
r�r�r�rOr�rr@r)r*r�)	r5r�r��idx�from_�to�
from_start�to_startrYs	         r�test_copycharacterszCAPITest.test_copycharacters�ss��	5�4�4�4�4�4�
�
�
��$�G�,�,�	�	�J�C���d�s�d�m�
�
���!�!��*�B��5�!�Q�����
$�A�h�h�
�
�
�� � �*�*�5�!�U�J��J�J��:�j��l�2�3�9�9�!�T�B�B��z�\�#�����
"�!�H�H�
�
��� � �*�*�5�(�E�8�Q�O�O��8�H�Q�J�.�/�5�5�a��>�>��x�Z�!�����
�
�A�J�����*�&<�a��A�q�!�L�L�L����*�&<�a��Q��1�M�M�M����*�&<�a��A�q�!�L�L�L����*�&<�a��A�r�1�M�M�M����+�'=�q�!�Q��1�M�M�M����+�'=�q�!�Q��2�N�N�N����+�'=�q�!�S�!�Q�O�O�O�O�Orc�x�ddlm}dD]�}d}td��D]�}|t|��z
}|�||��t|�����|dzz��|�||��t|�����|dzz������dS)Nr)�getargs_s_hash)�$�i� i
�rnr�r�)r�r�rr~r@r#)r5r��krYr�s     r�test_pep393_utf8_caching_bugz%CAPITest.test_pep393_utf8_caching_bug�s���	-�,�,�,�,�,�,�	O�	O�A��A��1�X�X�	
O�	
O���S��V�V���� � ����!2�!2�C��F�F�M�M�O�O�q�1�u�4M�N�N�N�� � ����!2�!2�C��F�F�M�M�O�O�q�1�u�4M�N�N�N�N�	
O�	O�	Or)r*r+r,r�rr�r�r�r�r�r�r�r�r�r�r�r�r
rrr�r�$
s5������n!�n!�n!�b
���X�_�Y�$�&�(?�@�@�"/�"/�A�@���"/�J
���X�_�Y�$�&�(?�@�@�/�/�A�@���/�.
���X�_�Y�$�&�(?�@�@�
K�
K�A�@���
K� 
���X�_�Y�$�&�(?�@�@�
Q�
Q�A�@���
Q�
���X�_�Y�$�&�(?�@�@�
X�
X�A�@���
X�
���X�_�Y�$�&�(?�@�@�P�P�A�@���P�,
���X�_�Y�$�&�(?�@�@�'P�'P�A�@���'P�R
���X�_�Y�$�&�(?�@�@�O�O�A�@���O�O�Orr�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_parserr3s r�parsez5StringModuleTest.test_formatter_parser.<locals>.parse�s����0��8�8�9�9�9rz2prefix {2!s}xxx{0:^+10.3f}{obj.attr!s} {z[0]!s:10}))�prefix r8rnrY)r_r�z^+10.3fN)rnzobj.attrrnrY)rNzz[0]r�rYzprefix {} suffix)rrnrnN)z suffixNNNr;)r;NNNrnr{)rnr�rnNr�)r@rOr�r�r�)r5r��	formatters   r�test_formatter_parserz&StringModuleTest.test_formatter_parser�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)r8�itemss  rrz?StringModuleTest.test_formatter_field_name_split.<locals>.splits2����;�D�A�A�B�B�E��E�!�H�~�~�E�!�H��LrrVzobj.arg�Tr�zobj[key])Fr�zobj.arg[key1][key2])r)F�key1)F�key2r�)r@rOr�r�r)r5rs  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)	Nr8�name2c��eZdZdS)�4StringModuleTest.test_str_subclass_attr.<locals>.BagNr)r
rr�BagrrWrrr�r�r�r�)
r(rO�AttributeError�delattr�setattrr@r8r��__dict__r)r5r8rrrUs     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,rr
rr
rrr�r��sH������B�B�B�BL�L�L� :�:�:�:�:rr��__main__)"r�r0rxrr�r�rxr�r�r�r_�test.supportrrr�rr�test.support.script_helperrr��ImportErrorr r&r;r(r�r%�MixinStrUnicodeTest�TestCaser.r�r�r*�mainr
rr�<module>rs*�������
�
�
�
���������
�
�
�
�
�
�
�
�
�
�
�
�����������������&�&�&�&�&�&�(�(�(�(�(�(�&�&�&�&�&�&�&�&�<�<�<�<�<�<�������������I�I�I�������� "�"�"�	�	�	�	�	�#�	�	�	�f',�f',�f',�f',�f',�,�)��2��(���f',�f',�f',�ROwO�wO�wO�wO�wO�x� �wO�wO�wO�r
H:�H:�H:�H:�H:�x�(�H:�H:�H:�V�z����H�M�O�O�O�O�O��s�	A�A�A