Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_dict.cpython-312.pyc

�

'ΜgQ���`�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
Gd�dej�ZGd�dej�Zddl	mZGd	�d
ej$�ZGd�de�ZGd
�dej$�Zedk(rej0�yy)�N)�support)�
import_helper�C_RECURSION_LIMITc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4e5jld3��Z7e5jld4��Z8e5jld5��Z9d6�Z:e5jld7��Z;e5jld8��Z<e5jld9��Z=e5jld:��Z>e5jld;��Z?e5jld<��Z@e5jld=��ZAd>�ZBd?�ZCd@�ZDdA�ZEdB�ZFdC�ZGdD�ZHdE�ZIdF�ZJdG�ZKdH�ZLdI�ZMdJ�ZNdK�ZOdL�ZPdM�ZQdN�ZRdO�ZSdP�ZTdQ�ZUdR�ZVdS�ZWdT�ZXe5jldU��ZYe5jldV��ZZdW�Z[dX�Z\yY)Z�DictTestc�*�Gd�dt�}ddi|ddi�fD][}|jt�5tdi|��ddd�|jt�5ijdi|��ddd��]y#1swY�<xYw#1swY�txYw)Nc��eZdZy)�7DictTest.test_invalid_keyword_arguments.<locals>.CustomN��__name__�
__module__�__qualname__���+/usr/local/lib/python3.12/test/test_dict.py�Customr
���rr��r)�dict�assertRaises�	TypeError�update)�selfr�invalids   r�test_invalid_keyword_argumentsz'DictTest.test_invalid_keyword_argumentssz��	�T�	��A�w���A�w��/�G��"�"�9�-���w��.��"�"�9�-���	�	�$�G�$�.�-�0�-�-��-�-�s�A=�B	�=B	�	B	c�l�|jt�i�|jt�i�y�N)�assertEqualr�assertIsNot�rs r�test_constructorzDictTest.test_constructors&��������$�������$rc
�d�dD]�}t|�D�cgc]7}djtjtj
d��|f��9}}tj|�d�|D�}ddj|�zdz}|jt|�t|����ycc}w)N)rr��i���c3�FK�|]\}}dj||����y�w)z
{!r}: {:d}N)�format)�.0�k�vs   r�	<genexpr>z4DictTest.test_literal_constructor.<locals>.<genexpr>%s"����K�U�T�Q��|�2�2�1�a�8�U�s�!�{z, �})
�range�join�random�sample�string�
ascii_letters�shuffler�evalr)r�n�i�items�formatted_items�dictliterals      r�test_literal_constructorz!DictTest.test_literal_constructors���%�A�#�A�h�(�&���g�g�f�m�m�F�,@�,@�!�D�E�q�I�&�
�(��N�N�5�!�K�U�K�O���	�	�/� :�:�S�@�K����T�+�.��U��<�
%��(s�<B-c���dddd�}dddd�}|j�}||z}|j||zddddd��|j|ddddd��|j�}||z}|j||zddddd��|j|ddddd��|j�}|gd	�z}|j|ddddd��|j|jd�t�|j|jd
�t�|j|jd�t�|j|jd�t�|jt|jd�|j|jd
�dddd��|jt|jd�|j|jd�dddd��y)
Nrr)rrrr��rrr?)rrrr?)rrr?r)�rr�rr�r?r?r�BADr&)	�copyr�assertIs�__or__�NotImplementedrr�__ior__�
ValueError)r�a�b�cs    r�test_merge_operatorzDictTest.test_merge_operator)s����a�A����a�A���
�F�F�H��	�Q�������Q��A�!��a� 8�9������a�A�!�4�5�
�F�F�H��	�Q�������Q��A�!��a� 8�9������a�A�!�4�5�
�F�F�H��	�
%�%�������a�A�!�4�5��
�
�a�h�h�t�n�n�5��
�
�a�h�h�r�l�N�3��
�
�a�h�h�u�o�~�6��
�
�a�h�h�r�l�N�3����)�Q�Y�Y��5�������2��A�!��(:�;����*�a�i�i��7�������2��A�!��(:�;rc��|jid�|jddi�|jti�d�|jtddi�d�y)NTrrF)rF�
assertTrue�boolr!s r�	test_boolzDictTest.test_boolIsJ���
�
�"�f�d�#�����A����
�
�d�2�h��&��
�
�d�A�q�6�l�D�)rc��i}|jt|j��t��ddd�}|j�}|jt|�ddh�|jd|�|jd|�|jd|�|jd|�|j	t
|jd�|jt
td��j��d�y)Nrr�rKrLrKrL�rKzdict_keys(['a']))r�set�keys�assertInrr�reprr)r�dr+s   r�	test_keyszDictTest.test_keysOs���������Q�V�V�X����.��!���
�F�F�H������Q��#�s��,��
�
�c�1���
�
�c�1���
�
�c�1���
�
�c�1�����)�Q�V�V�T�2�����d�Q�i�n�n�.�/�1C�Drc�n�i}|jt|j��t��ddi}|jt|j��dh�|jt|jd�|jtt
d��j��d�y)NrrrUzdict_values([1]))rrV�valuesrrrYr�rrZs  r�test_valueszDictTest.test_values\s���������Q�X�X�Z��#�%�0�
�q�E������Q�X�X�Z��1�#�.����)�Q�X�X�t�4�����d�Q�i�.�.�0�1�3E�Frc�n�i}|jt|j��t��ddi}|jt|j��dh�|jt|jd�|jtt
d��j��d�y)Nrr�rrrUzdict_items([('a', 1)]))rrVr:rrrYrr^s  r�
test_itemszDictTest.test_itemsds��������Q�W�W�Y����/�
�q�E������Q�W�W�Y��&��2����)�Q�W�W�d�3�����d�Q�i�o�o�/�0�2J�Krc���ttj�}Gd�dt�}t|fD]�}|�}|j�j}|j�j}|j
�j}|||fD]&}|j||�|j||��(d|d<|||fD]&}|j||�|j||��(��y)Nc��eZdZy)�)DictTest.test_views_mapping.<locals>.DictNrrrr�Dictreorrrf�bar�foo)	�type�__dict__rrW�mappingr]r:�assertIsInstancer)	r�mappingproxyrf�clsrZ�m1�m2�m3�ms	         r�test_views_mappingzDictTest.test_views_mappingms����D�M�M�*��	�4�	��$�<�C���A�����!�!�B�����#�#�B�����"�"�B��"�b�\���%�%�a��6�� � ��A�&�"��A�e�H��"�b�\���%�%�a��6�� � ��A�&�"� rc�.�i}|jd|�|jd|v�|jd|v�ddd�}|jd|�|jd|�|jd|�|j	t
|j�y)NrKrrrTrLrM)�assertNotIn�assertFalserPrXrr�__contains__r^s  r�
test_containszDictTest.test_contains�s���������a� �������"�����1��%��!����
�
�c�1���
�
�c�1������a� ����)�Q�^�^�4rc�~�i}|jt|�d�ddd�}|jt|�d�y)NrrrrT)r�lenr^s  r�test_lenzDictTest.test_len�s9��������Q���#��!�������Q���#rc�X��ddd�}|j|dd�|j|dd�d|d<d|d<|j|dd�|j|dd�|d=|j|ddd	��|jt|j�G�fd
�dt�}i}d||�<|jt
|jd
�Gd�dt��G�fd�dt�}|�}d||<d|_|j�|j|�y)NrrrTrKrLr?rM�)rKrMc���eZdZ�fd�Zd�Zy)�$DictTest.test_getitem.<locals>.BadEqc������rr�r�other�Excs  �r�__eq__z+DictTest.test_getitem.<locals>.BadEq.__eq__��
����e�rc��y)N�rr!s r�__hash__z-DictTest.test_getitem.<locals>.BadEq.__hash__����rN�rr
rr�r��r�s�r�BadEqr�s
���
�
rr��*�c��eZdZy)�"DictTest.test_getitem.<locals>.ExcNrrrrr�r����rr�c���eZdZdZ�fd�Zy)�&DictTest.test_getitem.<locals>.BadHashFc�,��|jr���y�Nr���fail�rr�s �rr�z/DictTest.test_getitem.<locals>.BadHash.__hash__������9�9��%�K�rN�rr
rr�r�r�s�r�BadHashr���
����D�
rr�T)rrr�__getitem__�object�KeyError�	Exceptionr�)rrZr�r��xr�s     @r�test_getitemzDictTest.test_getitem�s����!�������3���#�����3���#���#����#������3���#�����3���#�
�c�F�����!�!�,�-����)�Q�]�]�3�	�F�	�
����%�'�
����(�A�M�M�2�6�"�)�"�	�f�	�
�I����!��������#�q�}�}�a�0rc��dddd�}|j�|j|i�|jt|jd�y�Nrrr?r@)�clearrrrr^s  r�
test_clearzDictTest.test_clear�s<���A��O��	���	�����B�����)�Q�W�W�d�3rc����i}|jddi�|jddi�|jdddd��|j|dddd��|j�|j|dddd��|jttf|jd�Gd�d�}|j�|j|��|j|dddd��Gd	�d
t��|j�G�fd�d�}|j�|j|��G�fd
�d�}|j�|j|��G�fd�d�}|j�|j|��G�fd�dt�}|j�ij|��|jtijdg�y)Nr�dr�r?r@c��eZdZd�Zd�Zd�Zy)�,DictTest.test_update.<locals>.SimpleUserDictc��dddd�|_yr��rZr!s r�__init__z5DictTest.test_update.<locals>.SimpleUserDict.__init__�s����a���rc�6�|jj�Sr)rZrWr!s rrWz1DictTest.test_update.<locals>.SimpleUserDict.keys�s���v�v�{�{�}�$rc� �|j|Srr�)rr9s  rr�z8DictTest.test_update.<locals>.SimpleUserDict.__getitem__�s���v�v�a�y� rN)rr
rr�rWr�rrr�SimpleUserDictr��s��
)�
%�
!rr�c��eZdZy)�!DictTest.test_update.<locals>.ExcNrrrrr�r��r�rr�c���eZdZ�fd�Zy)�-DictTest.test_update.<locals>.FailingUserDictc�����rrr�s �rrWz2DictTest.test_update.<locals>.FailingUserDict.keys������	rN)rr
rrWr�s�r�FailingUserDictr������
rr�c���eZdZ�fd�Zd�Zy)r�c�*��G�fd�d�}|�S)Nc�$��eZdZd�Zd�Z�fd�Zy)�EDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIterc��d|_y�Nr�r9r!s rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__�s	��!"��rc��|Srrr!s r�__iter__zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__����#�rc�0��|jrd|_y��)NrrKr�r�s �r�__next__zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__�s����6�6�%&�D�F�#&�!�	rN�rr
rr�r�r�r�s�r�	BogonIterr��s���#�$�"rr�r)rr�r�s  �rrWz2DictTest.test_update.<locals>.FailingUserDict.keys�s���	"�	"�!�{�"rc��|Srr�r�keys  rr�z9DictTest.test_update.<locals>.FailingUserDict.__getitem__�s���
rN�rr
rrWr�r�s�rr�z-DictTest.test_update.<locals>.FailingUserDict�s
���
#�
rc���eZdZd�Z�fd�Zy)r�c�$�Gd�d�}|�S)Nc��eZdZd�Zd�Zd�Zy)r�c�$�td�|_y)NrK)�ordr9r!s rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__init__�s
��!$�S���rc��|Srrr!s rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__iter__�r�rc��|jtd�kr,t|j�}|xjdz
c_|St�)N�zr)r9r��chr�
StopIteration)r�rtns  rr�zNDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter.__next__�s7���6�6�S��X�-�"%�d�f�f�+�C� �F�F�a�K�F�#&�J�+�+rNr�rrrr�zEDictTest.test_update.<locals>.FailingUserDict.keys.<locals>.BogonIter�s��*�$�,rr�r)rr�s  rrWz2DictTest.test_update.<locals>.FailingUserDict.keys�s��
,�
,�!�{�"rc�����rr)rr�r�s  �rr�z9DictTest.test_update.<locals>.FailingUserDict.__getitem__�r�rNr�r�s�rr�z-DictTest.test_update.<locals>.FailingUserDict�s
���
#�
rc���eZdZd�Z�fd�Zy)�$DictTest.test_update.<locals>.badseqc��|Srrr!s rr�z-DictTest.test_update.<locals>.badseq.__iter__����rc������rrr�s �rr�z-DictTest.test_update.<locals>.badseq.__next__r�rN�rr
rr�r�r�s�r�badseqr��
���
�
rr�)	rrrr�AttributeErrorr�r�r�rJ)rrZr�r�r�r�s     @r�test_updatezDictTest.test_update�s������	���!�C���	���!�B���	���A��a��!�����q�A��O�,�	���
�����q�A��O�,����9�n�5�q�x�x��F�	!�	!�	
���	�	����!�"�����q�A��O�,�"�)�"�	���	�	�	�	
���#�q�x�x��):�;�	�	�	
���#�q�x�x��):�;�	�	� 	
���#�q�x�x��):�;�	�V�	�	
���#�r�y�y�&�(�3����*�b�i�i�)��=rc
�R���|jtjd�dddd��i�|j�jd���|j�jd�dddd��|j�jdd�ddd��|j�jg�i�d�}|j�j|��ddi�|j	t
ijd�Gd�d	t�}|j|jd
�d
di�|j|�jd
�d
di�|j
|jd
�|�|j
|�jd
�|�Gd�dt�}|jd
�}|j|ddd��|j
|tj�|j	t
tj�Gd�dt��G�fd�dt�}|j	�|jdg�G�fd�dt�}|j	�tj|��G�fd�dt�}|j	�|jdg�tttd�td����|jtj�d�tttd�dgdz���G�fd�dt�}td�D�	cic]}	|	|	��c}	��j�}
|
jddd��|j|jhd��|
�ycc}	w)N�abc�rKrLrM)r}�rc3�K�d��y�wr�rrrr�gz!DictTest.test_fromkeys.<locals>.gs�����G�s�rr?c��eZdZy)�(DictTest.test_fromkeys.<locals>.dictlikeNrrrr�dictliker�r�rr�rKc��eZdZd�Zy)�&DictTest.test_fromkeys.<locals>.mydictc�*�tj�Sr)�collections�UserDict)rns r�__new__z.DictTest.test_fromkeys.<locals>.mydict.__new__s��"�+�+�-�-rN�rr
rr�rrr�mydictr�s��
.rr��abrTc��eZdZy)�#DictTest.test_fromkeys.<locals>.ExcNrrrrr�r�$r�rr�c���eZdZ�fd�Zy)�(DictTest.test_fromkeys.<locals>.baddict1c������rrr�s �rr�z1DictTest.test_fromkeys.<locals>.baddict1.__init__'r�rN�rr
rr�r�s�r�baddict1r�&����
rr�c���eZdZd�Z�fd�Zy)�&DictTest.test_fromkeys.<locals>.BadSeqc��|Srrr!s rr�z/DictTest.test_fromkeys.<locals>.BadSeq.__iter__-r�rc������rrr�s �rr�z/DictTest.test_fromkeys.<locals>.BadSeq.__next__/r�rNr�r�s�r�BadSeqr�,r�rrc���eZdZ�fd�Zy)�(DictTest.test_fromkeys.<locals>.baddict2c������rr)rr��valuer�s   �r�__setitem__z4DictTest.test_fromkeys.<locals>.baddict2.__setitem__5r�rN)rr
rrr�s�r�baddict2r4r�rrr$c���eZdZ�fd�Zy)�(DictTest.test_fromkeys.<locals>.baddict3c����Srr)rnrZs �rr�z0DictTest.test_fromkeys.<locals>.baddict3.__new__?s����rNr�r�s�r�baddict3r>s���
rr
�
>rKrLrM)rr�fromkeysr rrrlr�r�r�r��zipr0rEr)
rr�r�r��udr�rrr
r9�resr�rZs
           @@r�
test_fromkeyszDictTest.test_fromkeyss����������u�-�D�d��/M�N���������E�*�A�.�������E�*��4�T�,J�K�������E�!�,��a�j�9�������B���,�	�������A�C��1�T�(�3����)�R�[�[�!�4�"�t�"�����*�*�3�/�#�d��<������,�,�S�1�C��:�>����h�/�/��4�h�?����h�j�1�1�#�6��A�	.�T�	.��_�_�T�
"������$�D�1�2����b�+�"6�"6�7����)�T�]�]�3�"�)�"�	�t�	�	
���#�x�0�0�1�#�6�	�V�	�	
���#�t�}�}�f�h�7�	�t�	�	
���#�x�0�0�1�#�6�
��U�1�X�u�Q�x�(�)��������q�!�,�d�3�u�Q�x�!��Q��3G�.H�I�	�t�	�"�"�I�&�I�q�Q��U�I�&���f�f�h���
�
�T�T�T�
�*�����*�*�?�;�S�A��
's�
N$c��dddd�}|j|j�|�|j|j�|�|j|j�dddd��|j�}d|d<|j||�|jij�i�|j	t
|jd�y)Nrrr?r@r})r rEr�assertNotEqualrr)rrZrEs   r�	test_copyzDictTest.test_copyFs����a�A����������1�%��������1�%��������q�Q�1�#5�6��v�v�x����!�����D�!�$��������B�'����)�Q�V�V�T�2rc��dD]�}tj|dz||dzz�}|j|��5i}t|�D]}|||<�	|j	�}|j||�|j
||�d|d<|j||�|j
t|�t|�dz�ddd���y#1swY��xYw)N)rr���i'i��r)�	dict_sizerr�r)	r2�	randrange�subTestr0rEr rrrz)rrrZr9�d2s     r�test_copy_fuzzzDictTest.test_copy_fuzzSs���7�I��(�(��Q��	�I��N� :�<�I����	��2����y�)�A��A�a�D�*��V�V�X��� � ��Q�'�� � ��B�'�#��5�	��#�#�A�r�*�� � ��R��#�a�&�1�*�5�3�2�8�3�2�s�B
C�C	c���Gd�d�}|�}iddi|difD]J}|j�}|jtj|�tj|���Ly)Nc��eZdZy)�0DictTest.test_copy_maintains_tracking.<locals>.ANrrrr�ArdrrrrKr�val)rEr�gc�
is_tracked)rrr�rZrs     r�test_copy_maintains_trackingz%DictTest.test_copy_maintains_trackingcs[��	�	��c���s�A�h��e��-�A�����B����R�]�]�1�-�r�}�}�R�/@�A�.rc��td�D�cic]}||��}}td�D]}||=�|j�}|j||�ycc}w)Nri�)r0rEr)rr+rZrs    r�test_copy_noncompactzDictTest.test_copy_noncompactmsU��!��;�'�;�a�Q��T�;��'��s��A��!���
�V�V�X������Q���	
(s�
Ac�*�i}|j|jd�d�|j|jdd�d�ddd�}|j|jd�d�|j|jdd�d�|j|jd�d�|j|jdd�d�|jt|j�|jt|jddd�y)NrMr?rrrTrK)rF�getrrrr^s  r�test_getzDictTest.test_getzs������
�
�a�e�e�C�j�$�'�������s�A���*��!����
�
�a�e�e�C�j�$�'�������s�A���*�������s��Q�'�������s�A���*����)�Q�U�U�+����)�Q�U�U�D�$��=rc���i}|j|jd�d�|jdg�|j|jd�d�|jdg�jd�|j|ddd�|jdg�jd�|jt	|d�d�|jt|j�Gd�dt��G�fd	�d
t�}|�}d||<d|_	|j�|j|g�y)
N�key0r�r?rr}rc��eZdZy)�%DictTest.test_setdefault.<locals>.ExcNrrrrr�r+�r�rr�c���eZdZdZ�fd�Zy)�)DictTest.test_setdefault.<locals>.BadHashFc�,��|jr���yr�r�r�s �rr�z2DictTest.test_setdefault.<locals>.BadHash.__hash__�r�rNr�r�s�rr�r-�r�rr�r�T)
rF�
setdefault�appendrrzrrr�r�r�)rrZr�r�r�s    @r�test_setdefaultzDictTest.test_setdefault�s�������
�
�a�l�l�6�*�D�1�	���V�R� ��
�
�a�l�l�6�*�D�1�	���U�B��&�&�q�)�����5��!��a�(�	���U�B��&�&�q�)�����Q�u�X���*����)�Q�\�\�2�"�)�"�	�f�	�
�I����!��������#�q�|�|�Q��3rc�,�Gd�dt�}|�}|di}|�}|j|g�|j|jd�|j|jd�|j|j|jzd�y)Nc��eZdZd�Zd�Zd�Zy)�/DictTest.test_setdefault_atomic.<locals>.Hashedc� �d|_d|_y�Nr��
hash_count�eq_countr!s rr�z8DictTest.test_setdefault_atomic.<locals>.Hashed.__init__����"#��� !��
rc�.�|xjdz
c_y�Nrr��r8r!s rr�z8DictTest.test_setdefault_atomic.<locals>.Hashed.__hash__�������1�$��rc�Z�|xjdz
c_t|�t|�k(Sr��r9�id�rr�s  rr�z6DictTest.test_setdefault_atomic.<locals>.Hashed.__eq__��#���
�
��"�
��$�x�2�e�9�,�,rN�rr
rr�r�r�rrr�Hashedr4����
"�
�
-rrEr�r)r�r/rr8r9�rrE�hashed1�y�hashed2s     r�test_setdefault_atomiczDictTest.test_setdefault_atomic�s���		-�V�		-��(��
�a�L���(��	���W�b�!�����+�+�Q�/�����+�+�Q�/�����)�)�G�,<�,<�<�a�@rc
�"�Gd�dt�}|�}|dddddddddi}|�}g||<|j|jd�|j|jd�|j|j|jzd�y)Nc��eZdZd�Zd�Zd�Zy)�6DictTest.test_setitem_atomic_at_resize.<locals>.Hashedc� �d|_d|_yr6r7r!s rr�z?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__init__�r:rc�.�|xjdz
c_yr<r=r!s rr�z?DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__hash__�r>rc�Z�|xjdz
c_t|�t|�k(Sr�r@rBs  rr�z=DictTest.test_setitem_atomic_at_resize.<locals>.Hashed.__eq__�rCrNrDrrrrErN�rFrrEr�rrrr?)r�rr8r9rGs     r�test_setitem_atomic_at_resizez&DictTest.test_setitem_atomic_at_resize�s���		-�V�		-��(��
�a��A�q�!�Q��1�a�0���(����'�
�����+�+�Q�/�����+�+�Q�/�����)�)�G�,<�,<�<�a�@rc	�x�dD�]}td�D�]}d|z}i}i}t|�D]$}||t|�<|dks�||t|�<�&|dkDr|j�}t|�D]}}|j�x\}}}	|j	|t|��|j�x\}
}}|j	|t|
��|j
|dkxr|	|k7��|j
|�|j
|�����i}
|jt|
j�y)N)���r�rr)	r0rYrE�popitemr�intrvrr�)r�copymode�log2size�sizerKrLr9�ka�va�ta�kb�vb�tbrZs              r�test_popitemzDictTest.test_popitem�s$���H�"�"�I���(�{�������t��A�!"�A�d�1�g�J��!�|�%&��$�q�'�
�%��a�<�����A��t��A�"#�)�)�+�-�F�B��R��$�$�R��R��1�"#�)�)�+�-�F�B��R��$�$�R��R��1��$�$�X��\�%>�b�B�h�?�%�� � ��#�� � ��#�#&��,
�����(�A�I�I�.rc���i}d\}}|||<|jt|jd�|j|j|�|�|jt	|�d�|jt|j|�|j|j||�|�|||<|j|j|d�|�|jt
|j�Gd�dt��G�fd�dt�}|�}d	||<d
|_|j�|j|�y)N)r��def�ghirrc��eZdZy)�DictTest.test_pop.<locals>.ExcNrrrrr�rf�r�rr�c���eZdZdZ�fd�Zy)�"DictTest.test_pop.<locals>.BadHashFc�,��|jr���yr�r�r�s �rr�z+DictTest.test_pop.<locals>.BadHash.__hash__�r�rNr�r�s�rr�rh�r�rr�r�T)	rr��poprrzrr�r�r�)rrZr+r,r�r�r�s      @r�test_popzDictTest.test_pop�s��������1���!�����(�A�E�E�5�1�������q��1�%�����Q���#����(�A�E�E�1�-�������q�!��a�(���!��������q�!��a�(����)�Q�U�U�+�"�)�"�	�f�	�
�I����!��������#�q�u�u�a�(rc��i}d|d<|jt�5|D]
}d||dz<�	ddd�y#1swYyxYwr��r�RuntimeError�rrZr9s   r�test_mutating_iterationz DictTest.test_mutating_iterationsA������!��
�
�
�|�
,�����!�A�#���-�
,�
,��	�7�Ac��i}d|d<|jt�5|D]
}|d=d|d<�	ddd�y#1swYyxYwr6rmros   r�test_mutating_iteration_deletez'DictTest.test_mutating_iteration_deletesD������!��
�
�
�|�
,����a�D���!���-�
,�
,�rqc��i}d|d<|jt�5|j�D]
}|d=d|d<�	ddd�y#1swYyxYwr6)rrnr]ros   r�*test_mutating_iteration_delete_over_valuesz3DictTest.test_mutating_iteration_delete_over_valuessJ������!��
�
�
�|�
,��X�X�Z���a�D���!�� �-�
,�
,���A�Ac��i}d|d<|jt�5|j�D]
}|d=d|d<�	ddd�y#1swYyxYwr6�rrnr:ros   r�)test_mutating_iteration_delete_over_itemsz2DictTest.test_mutating_iteration_delete_over_items sJ������!��
�
�
�|�
,��W�W�Y���a�D���!���-�
,�
,�rvc���G�fd�d���d�}�d�}|di}||f�_d||<|j||di�y)Nc�(��eZdZdZd�Zd�Z�fd�Zy)�/DictTest.test_mutating_lookup.<locals>.NastyKeyNc��||_yr)r)rrs  rr�z8DictTest.test_mutating_lookup.<locals>.NastyKey.__init__.s	��"��
rc��yr�rr!s rr�z8DictTest.test_mutating_lookup.<locals>.NastyKey.__hash__1s��rc����jr�j\}}d�_||=|j|jk(Sr)�mutate_dictr)rr�r�r��NastyKeys    �rr�z6DictTest.test_mutating_lookup.<locals>.NastyKey.__eq__5s=����'�'�"*�"6�"6�K�F�C�+/�H�(��s���z�z�U�[�[�0�0r)rr
rr�r�r�r�)r�s�rr�r|+s����K�
#�
�
1rr�rr)r�r)r�key1�key2rZr�s    @r�test_mutating_lookupzDictTest.test_mutating_lookup)sS���	1�	1�"��{����{��
�1�I�� !�4�y�����$������T�1�I�&rc�D��i}|jt|�d�d|d<|jt|�d�i}||d<|jt|�d�Gd�dt��G�fd�d	t�}d|�i}|j	�t|�y)
Nz{}rrz{1: 2}z
{1: {...}}c��eZdZy)�DictTest.test_repr.<locals>.ExcNrrrrr�r�Lr�rr�c���eZdZ�fd�Zy)�#DictTest.test_repr.<locals>.BadReprc������rrr�s �r�__repr__z,DictTest.test_repr.<locals>.BadRepr.__repr__Or�rN)rr
rr�r�s�r�BadReprr�Nr�rr�)rrYr�r�r)rrZr�r�s   @r�	test_reprzDictTest.test_reprCs����������a��$�'���!������a��(�+�����!������a��,�/�"�)�"�	�f�	���	�N�����#�t�Q�'rc�t�i}ttdz�D]}d|i}�|jtt|�yr�)r0rr�RecursionErrorrYros   r�test_repr_deepzDictTest.test_repr_deepUs7�����(�1�,�-�A��A��A�.����.�$��2rc���|jii�|jddiddi�Gd�dt��G�fd�dt�}|�di}ddi}|j��5||k(ddd�y#1swYyxYw)Nrrc��eZdZy)�DictTest.test_eq.<locals>.ExcNrrrrr�r�_r�rr�c���eZdZ�fd�Zd�Zy)� DictTest.test_eq.<locals>.BadCmpc������rrr�s  �rr�z'DictTest.test_eq.<locals>.BadCmp.__eq__br�rc��yr�rr!s rr�z)DictTest.test_eq.<locals>.BadCmp.__hash__d���rNr�r�s�r�BadCmpr�as
���
�
rr�)rr�r�r)rr��d1rr�s    @r�test_eqzDictTest.test_eq[sv�������R� ����!�Q��!�Q��(�"�)�"�	�V�	��h��]����V��
�
�
�s�
#��"�H�$�
#�
#�s�(A7�7Bc�L�|jd��|jd��y)Nc�"�|j�Sr)rW�r�s r�<lambda>z.DictTest.test_keys_contained.<locals>.<lambda>ns
��Q�V�V�Xrc�"�|j�Sr�r:r�s rr�z.DictTest.test_keys_contained.<locals>.<lambda>os
��Q�W�W�Yr)�helper_keys_containedr!s r�test_keys_containedzDictTest.test_keys_containedms ���"�"�#5�6��"�"�#6�7rc�b�|t��}|t��}|ddd��}|dddd��}|dddd��}|dddd��}|j||k�|j||k�|j||kD�|j||k\�|j||k\�|j||kD�|j||k�|j||k�|j||k�|j||k�|j||kD�|j||k\�|j||k\�|j||k�|j||kD�|j||k�|j||k(�|j||k7�|j||k(�|j||k7�|j||k(�|j||k7�|j||k7�|j||k(�y)Nrrrar?r@)r}rr?)rrPrv)r�fn�empty�empty2�smaller�larger�larger2�larger3s        rr�zDictTest.helper_keys_containedqs
���4�6�
���D�F�����Q�Z�.���q�A��O�$����Q�!�_�%����Q�!�_�%������6�)�*�����6�)�*�����'�)�*�����'�)�*�����F�*�+�����F�*�+�����G�+�,�����G�+�,�����G�+�,�����G�+�,�����G�+�,�����G�+�,�	
����6�)�*�����6�)�*�����6�)�*�����6�)�*�����'�)�*�����6�)�*�	
������(�����&��)�����'�)�*������(�)�	
����'�)�*�����7�*�+rc���Gd�d�}d|�i}d|�i}|jt�5|j�|j�k(ddd�|jt�5|j�|j�k7ddd�|jt�5|j�|j�kddd�|jt�5|j�|j�k\ddd�|�|�d�}|jt�5|j�|j�kddd�|jt�5|j�|j�kDddd�y#1swY��UxYw#1swY��#xYw#1swY��xYw#1swY��xYw#1swY�{xYw#1swYyxYw)Nc��eZdZd�Zy)�9DictTest.test_errors_in_view_containment_check.<locals>.Cc��t�r�rnrBs  rr�z@DictTest.test_errors_in_view_containment_check.<locals>.C.__eq__�s��"�"rN�rr
rr�rrr�Cr��s��
#rr�rrarx)rr�r�r�d3s     r�%test_errors_in_view_containment_checkz.DictTest.test_errors_in_view_containment_check�sO��	#�	#����X�����X��
�
�
�|�
,��H�H�J�"�(�(�*�$�-�
�
�
�|�
,��H�H�J�"�(�(�*�$�-�
�
�
�|�
,��H�H�J�"�(�(�*�$�-�
�
�
�|�
,��H�H�J�"�(�(�*�$�-�����
��
�
�
�|�
,��H�H�J�����#�-�
�
�
�|�
,��H�H�J�����#�-�
,�-�
,��
,�
,��
,�
,��
,�
,��-�
,��
,�
,�sG�"F'�1"F4�0"G�/"G
�="G�<"G%�'F1�4F>�G
�
G�G"�%G.c�&�ddd�j�}dddd�j�}ddij�}|j||z
t��|j||z
ddh�|j||z
dh�|j||z
dh�|j||zddh�|j||zt��|j||zhd��|j||zdh�|j||zhd��y)	Nrrrar?r@r}>rrr?>rrr})rWrrV�r�k1�k2�k3s    r�$test_dictview_set_operations_on_keysz-DictTest.test_dictview_set_operations_on_keys�s����Q�Z�_�_�
���Q�!�_�
!�
!�
#����U�Z�Z�\������b��#�%�(�����b��1�Q�%�(�����b��1�#�&�����b��1�#�&�����b��1�Q�%�(�����b��#�%�(�����b��'�*�����b��1�#�&�����b��'�*rc�&�ddd�j�}dddd�j�}ddij�}|j||z
t��|j||z
ddh�|j||z
d	h�|j||z
d
h�|j||zddh�|j||zt��|j||zhd��|j||zd	h�|j||zhd��y)
Nrrrar?r@r}rArBrC�r}r}>rArBrC>rArBr�)r:rrVr�s    r�%test_dictview_set_operations_on_itemsz.DictTest.test_dictview_set_operations_on_items�s����Q�Z�
�
�
���Q�!�_�
"�
"�
$����U�[�[�]������b��#�%�(�����b��5�%�.�1�����b��5�'�*�����b��5�'�*�����b��5�%�.�1�����b��#�%�(�����b��"7�8�����b��5�'�*�����b��"7�8rc��tj}td�D]�}td�D�cic]}|d�s�||d���}}td�D�cic]}|d�s�||d���}}|j||��5t	|j��t	|j��z}|j�|j�z}|j
||�ddd���ycc}wcc}w#1swY��xYw)Nr�r�rr?)�left�right)r2rr0rrVr:r)r�rr�_r�r�r��expected�actuals        r�test_items_symmetric_differencez(DictTest.test_items_symmetric_difference�s���
�
�
���s��A�%*�2�Y�8�Y��"�Q�%�A�b��e�G�Y�D�8�&+�B�i�9�i��2�a�5�Q�r�!�u�W�i�E�9����4�u��5��t�z�z�|�,�s�5�;�;�=�/A�A���������
�5��� � ���2�6�5���8��9�5�5�s#�
C4�C4�
C9�"C9�A'C>�>D	c�l�|jddij�dhk(�|jdhddij�k(�|jddij�dhzddh�|jdhddij�zddh�|jddij�dhk(�|jdhddij�k(�|jddij�dhzddh�|jdhddij�zddh�y)NrrrA)rPrWrr:r!s r�"test_dictview_mixed_set_operationsz+DictTest.test_dictview_mixed_set_operations�s
������1��
�
����+�,�������!�u�z�z�|�+�,����!�A�������+�a��V�4����!���!�u�z�z�|�+�a��V�4�����1����
�%��0�1������A�a�5�;�;�=�0�1����!�A�����!��,�u�a�j�9����!���!�u�{�{�}�,�u�a�j�9rc��|jttd��|jtid��Gd�dt�}|ddd��}|j|dd�|j|dd�|j	d|�|j	d|j��|j|dd	�Gd
�dt�}|�}|j
t�5}|d	ddd�|jjjd�Gd
�dt�}|�}|j
t�5}|d	ddd�|j|jjd�Gd�dt�}|�}	|j
t�5}|	d	ddd�|j|jjd�y#1swY��xYw#1swY��xYw#1swY�HxYw)N�__missing__c��eZdZd�Zy)� DictTest.test_missing.<locals>.Dc��yr�rr�s  rr�z,DictTest.test_missing.<locals>.D.__missing__�r�rN�rr
rr�rrr�Dr��s��
rr�rr})rr?rr?r�c��eZdZd�Zy)� DictTest.test_missing.<locals>.Ec��t|��rr�r�s  rr�z,DictTest.test_missing.<locals>.E.__missing__�s
��"�3�'�'rNr�rrr�Er��s��
(rr�)r�c��eZdZd�Zy)� DictTest.test_missing.<locals>.Fc��d�|_y)Nc��yrr)r�s rr�z;DictTest.test_missing.<locals>.F.__init__.<locals>.<lambda>s��tr)r�r!s rr�z)DictTest.test_missing.<locals>.F.__init__s
��#3�� rNr�rrr�Fr�s��
4rr�c��eZdZy)� DictTest.test_missing.<locals>.GNrrrr�Gr�rrr�)rv�hasattrrrrurWrrn�	exception�argsr�)
rr�rZr��erMr��fr�r�s
          r�test_missingzDictTest.test_missing�s��������}�5�6������]�3�4�	��	�
�!��l�O������1��q�!�����1��q�!�����A������A�F�F�H�%�����1��r�"�	(��	(�
�C��
�
�
�|�
,��
�b�E�-�������)�)�5�1�	4��	4�
�C��
�
�
�x�
(�A�
�b�E�)�������)�)�5�1�	��	�
�C��
�
�
�x�
(�A�
�b�E�)�������)�)�5�1�%-�
,��)�
(��)�
(�s$�1G$�G0�/G<�$G-�0G9�<Hc��i}|jt�5}|dddd�|jjjd�y#1swY�0xYw)N�r)r�)rr�rr�r�)rrZrMs   r�test_tuple_keyerrorzDictTest.test_tuple_keyerrorsF����
�
�
�x�
(�A�
�d�G�)�������)�)�7�3�)�
(�s�A
�
Ac����Gd�dt��G�fd�d�}i}|�}|�}d||<dD]0}|j��5t|t��ddd��2y#1swY�=xYw)Nc��eZdZy)�.DictTest.test_bad_key.<locals>.CustomExceptionNrrrr�CustomExceptionr�rrr�c���eZdZd�Z�fd�Zy)�)DictTest.test_bad_key.<locals>.BadDictKeyc�,�t|j�Sr)�hash�	__class__r!s rr�z2DictTest.test_bad_key.<locals>.BadDictKey.__hash__s���D�N�N�+�+rc�8��t||j�r��|Sr)�
isinstancer�)rr�r�s  �rr�z0DictTest.test_bad_key.<locals>.BadDictKey.__eq__"s����e�T�^�^�4�)�)��rN�rr
rr�r�)r�s�r�
BadDictKeyr�s
���
,�
rr�r)z	d[x2] = 2z	z = d[x2]zx2 in dz	d.get(x2)zd.setdefault(x2, 42)z	d.pop(x2)zd.update({x2: 2}))r�r�exec�locals)rr�rZ�x1�x2�stmtr�s      @r�test_bad_keyzDictTest.test_bad_keysp���	�i�	�	�	�
��
�\��
�\����"��*�D��"�"�?�3��T�6�8�$�4�3�*�4�3�s�A(�(A1	c��i}td�D]}|||<�	td�D]}||=�tdd�D]}|||<�	y)Nr��	)r0ros   r�test_resize1zDictTest.test_resize15sN��
���q��A��A�a�D���q��A��!����q�!��A��A�a�D�rc����G��fd�dt�}i�d�d�|�<d�|�<d�|�<d�|�<d�|�<d	�d
�d<y)Nc� ��eZdZd�Z��fd�Zy)� DictTest.test_resize2.<locals>.Xc��y)Nr�rr!s rr�z)DictTest.test_resize2.<locals>.X.__hash__Jr�rc�*���r�j�y�NF�r�)rr�rZ�resizings  ��rr�z'DictTest.test_resize2.<locals>.X.__eq__Ls�����G�G�I�rNr�)rZrs��r�Xr�Is
���
�
rrFrrr?r}r�Tr$r�)r�)rrrZrs  @@r�test_resize2zDictTest.test_resize2Es`���	��	�
������!�#����!�#����!�#����!�#����!�#������!�rc
�|�|jt�5ddzdddddddd�}ddd�i}y#1swYi}yxYw)Nrr)rKrLrMrZr�r�r��h)r�ZeroDivisionErrorr^s  r�$test_empty_presized_dict_in_freelistz-DictTest.test_empty_presized_dict_in_freelist[sI���
�
�0�
1��1�f�4�d��D���D�2�A�2�
��2�
��s�0�;c�x�Gd�dt�}tjtjtjf}|D]w}|�}tj|�}|di}||�|_t|j�|_	~~tj�|j|�dd��yy)Nc��eZdZy)�+DictTest.test_container_iterator.<locals>.CNrrrrr�r
frrr�rzCycle was not collected)
r�rr:r]rW�weakref�refr,�iterr�r �collectrF)rr��viewsr,�objr�	containers       r�test_container_iteratorz DictTest.test_container_iteratorcs���	��	����T�[�[�$�)�)�4���A��#�C��+�+�c�"�C��a��I��i�L�C�E�����K�C�E��Y��J�J�L��M�M�#�%��'@�A�rc��tj�tj�|jtj|�|�yr)r rrvr!�r�ts  r�_not_trackedzDictTest._not_trackedss-��
�
�
��
�
�
��������q�)�1�-rc���|jtj|�|�tj�tj�|jtj|�|�yr)rPr r!rrs  r�_trackedzDictTest._trackedysB������
�
�a�(�!�,�
�
�
��
�
�
������
�
�a�(�!�,rc�n�td�D]'}i}td�D]}||t|�<�||d<�)y)Nrrh)r0�str)rr9rZ�js    r�!test_string_keys_can_track_valuesz*DictTest.test_string_keys_can_track_valuess9���r��A��A��2�Y����#�a�&�	���A�e�H�	rc��dddgf\}}}}|ji�|j|d|||di�|jddd��|jdtd��|jdt�i�|jdgi�|jdgfi�|jdii�|jdt	�i�y)	N��?rK)rNrrr)rrL)r)NTFr)rrWr�rrV)rr�rIr��ws     r�test_track_literalszDictTest.test_track_literals�s����#�y�"�,�
��1�a�����"�����1�R��1�a��*�+����c��*�+����a�#�>�?����1�f�h�-�(�	
�
�
�q�"�g���
�
�q�2�%�j�!��
�
�q�"�g���
�
�q�#�%�j�!rc�|�Gd�dt�}dddt�fg|�f\}}}}}t�}|j|�d|d<|j|�d||<|j|�d||<|j|�|j|j��||d<|j	|�|j	|j��d|d<|j|�|j|j��t�}t�}||d<|j|�|j	|�||d<|j	|�tj|||g�}|j|�t�}|j
|�|j|�tj||||g�}|j	|�t�}|j
|�|j	|�t|||�	�}|j|�t||||�
�}|j	|�t�}|j
|||�	�|j|�|j
|��|j	|�t||f|dfg�}|j|�t||f||fg�}|j	|�t�}|j
||f|dfg�|j|�|j
||f||fg�|j	|�y)Nc��eZdZy)�-DictTest.test_track_dynamic.<locals>.MyObjectNrrrr�MyObjectr#�rrr$rrKrrr?r}�r�rIr�)r�rIr�r)r)r�rrrErrr)	rr$r�rIr�r�orZ�dds	         r�test_track_dynamiczDictTest.test_track_dynamic�s���	�v�	��S�1�f�h�-��X�Z�?�
��1�a��A��F�����!����!�����!����!�����!����!�����!�����!�&�&�(�#���!���
�
�a���
�
�a�f�f�h����!�����!�����!�&�&�(�#�
�F��
�V����!�����"���
�
�a����1���
�
�b���M�M�1�a��)�$�����!��
�V��
�	�	�!�����"���M�M�1�a��A�,�'���
�
�a��
�V��
�	�	�!���
�
�b���1��Q������!���1��Q�!�$���
�
�a���F��	���1��Q������!��	���1��
��
�
�a���1�a�&�1�a�&�!�"�����!���1�a�&�1�a�&�!�"���
�
�a���F��	���1�a�&�1�a�&�!�"����!��	���1�a�&�1�a�&�!�"��
�
�a�rc�N�Gd�dt�}|j|��y)Nc��eZdZy)�,DictTest.test_track_subtypes.<locals>.MyDictNrrrr�MyDictr+�rrr,)rr)rr,s  r�test_track_subtypeszDictTest.test_track_subtypes�s��	�T�	��
�
�f�h�rc��Gd�d�}g}t|�D]9}|�}d\|_|_|_|j	|j
��;|S)Nc��eZdZy)�(DictTest.make_shared_key_dict.<locals>.CNrrrrr�r0�rrr�r@)r0r�rIr�r0rj)rr8r��dictsr9rKs      r�make_shared_key_dictzDictTest.make_shared_key_dict�sP��	�	����q��A���A�#�M�A�C���a�c��L�L����$��
�rc�6�|jd�\}}d|d<tj|�}d|d<|jdd�tj|�}d|d<|j	t|�gd��|j	t|�gd��y)zcsplit table must keep correct insertion
        order when attributes are adding using setdefault()rrrKrL)r�rIr�rKrL)r�rIr�rLrKN)r2�sys�	getsizeofr/r�list)rrKrL�size_a�size_bs     r�test_splittable_setdefaultz#DictTest.test_splittable_setdefault�s����(�(��+���1���#�����q�!����#��	���S�!�����q�!����#������a��";�<�����a��";�<rc��|jd�\}}tj|�}|d=|jt�5|d=ddd�|jt
|�ddg�|jt
|�gd��d|d<|jt
|�gd��|jt
|�gd��y#1swY��xYw)	z*split table must be combined when del d[k]rrINr�r�r%r��r�r�rI)r2r4r5rr�rr6)rrKrL�	orig_sizes    r�test_splittable_delzDictTest.test_splittable_del�s����(�(��+���1��M�M�!�$�	�
�c�F�
�
�
�x�
(��#��)�	
����a��3��*�-�����a��/�2���#������a��/�2�����a��/�2�)�
(�s�C�Cc��|jd�\}}|jd�|jt�5|jd�ddd�|j	t|�ddg�|j	t|�gd��d|d<|j	t|�gd��|j	t|�gd��y#1swY��xYw)NrrIr�r�r%r�r;)r2rjrr�rr6�rrKrLs   r�test_splittable_popzDictTest.test_splittable_pops����(�(��+���1�	���c�
�
�
�
�x�
(�
�E�E�#�J�)�	
����a��3��*�-�����a��/�2���#������a��/�2�����a��/�2�)�
(�s�C�Cc��|jd�\}}d|d<|jt�5|jd�ddd�y#1swYyxYw)z3pop a pending key in a split table should not crashrr}rKN)r2rr�rjr?s   r�test_splittable_pop_pendingz$DictTest.test_splittable_pop_pendingsF���(�(��+���1���#��
�
�
�x�
(�
�E�E�#�J�)�
(�
(�s�A
�
Ac��|jd�\}}tj|�}|j�}|j	|d�|jt�5|d=ddd�|jtj|�|�|j	t|�ddg�|j	t|�gd��y#1swY�ixYw)z-split table must be combined when d.popitem()r)r�r?r�Nr�rIr%)	r2r4r5rVrrr��
assertGreaterr6)rrKrLr<�items     r�test_splittable_popitemz DictTest.test_splittable_popitem(s����(�(��+���1��M�M�!�$�	��y�y�{������x�(�
�
�
�x�
(��#��)�	
���3�=�=��+�Y�7�����a��3��*�-�����a��/�2�)�
(�s�!C
�
Cc��Gd�d�}|d�}|d�}|jt|j�gd��i}|j|j�|jt|�gd��y)z0dict.update(other) must preserve order in other.c��eZdZd�Zy)�*DictTest.test_splittable_update.<locals>.Cc�^�|rd\|_|_|_yd\|_|_|_y)Nr@r�)r�orders  rr�z3DictTest.test_splittable_update.<locals>.C.__init__<s)���-4�*�D�F�D�F�D�F�-4�*�D�F�D�F�D�FrNr�rrrr�rI;s��
5rr�TF)rMrLrKN)rr6rjr)rr�r&rZs    r�test_splittable_updatezDictTest.test_splittable_update8sb��	5�	5�
�d�G��
�e�H������a�j�j�)�?�;���	�����������a��/�2rc��Gd�d�}|�}d|_|j}tj|�}d|d<|j	tj|�|�|jt
|�ddg�y)zMsplit table must be correctly resized and converted to generic combined tablec��eZdZy)�<DictTest.test_splittable_to_generic_combinedtable.<locals>.CNrrrrr�rOLrrr�rrr�N)r�rjr4r5rDrr6)rr�rKrZ�
before_resizes     r�(test_splittable_to_generic_combinedtablez1DictTest.test_splittable_to_generic_combinedtableIsm��	�	�
�C�����
�J�J���
�
�a�(�
���!�����3�=�=��+�]�;�����a��3��(�+rc�
�ttjdz�D]�}dddd�}t|�}tj||�}tj
|�}|j
t|�t|��tj
|�}	t|�}tj||�}tj
|�}||=|j
t|�t|����y#t$rY��wxYw�NrrKrLrMr@)
r0�pickle�HIGHEST_PROTOCOLr
�dumps�loadsrr6�nextr��r�proto�data�itrZ�drops      r�test_iterator_picklingzDictTest.test_iterator_picklingXs����6�2�2�Q�6�7�E��S�C�(�D��d��B����R��'�A����a��B����T�"�X�t�D�z�2����a��B�
��B�x�����R��'�A����a��B��T�
����T�"�X�t�D�z�2�8��!�
��
�s�C6�6	D�Dc�<�ttjdz�D]�}dddd�}t|j	��}tj
||�}tj|�}|j|tjj�|jt|�|�tj|�}t|�}tj
||�}tj|�}||d=|jt|�|���y�NrrKrLrMr@r)r0rTrUr
r:rVrWrlr�r��IteratorrrrX�rrZr[�itorgrZr\r]s       r�test_itemiterator_picklingz#DictTest.test_itemiterator_picklingjs����6�2�2�Q�6�7�E��S�C�(�D������&�E����U�E�*�A����a��B�
�!�!�"�k�o�o�&>�&>�?����T�"�X�t�,����a��B���8�D����R��'�A����a��B��T�!�W�
����T�"�X�t�,�'8rc
�l�ttjdz�D�]}dddd�}t|j	��}tj
||�}tj|�}|jt|�t|j	���tj|�}t|�}tj
||�}tj|�}t|�|gz}|jt|�tt|j	������yrS)r0rTrUr
r]rVrWrr6rX�sorted�rrZr[r\rZr]r]s       r�test_valuesiterator_picklingz%DictTest.test_valuesiterator_pickling�s����6�2�2�Q�6�7�E��S�C�(�D��d�k�k�m�$�B����R��'�A����a��B����T�"�X�t�D�K�K�M�':�;����a��B���8�D����R��'�A����a��B��"�X���&�F����V�F�^�V�D�����4G�-H�I�8rc	�.�ttjdz�D]�}dddd�}t|�}tj||�}tj
|�}|j
t|�tt|���tj
|�}	t|�}tj||�}tj
|�}||=|j
t|�tt|�����y#t$rY��wxYwrS)
r0rTrU�reversedrVrWrr6rXr�rYs      r�test_reverseiterator_picklingz&DictTest.test_reverseiterator_pickling�s����6�2�2�Q�6�7�E��S�C�(�D��$��B����R��'�A����a��B����T�"�X�t�H�T�N�';�<����a��B�
��B�x�����R��'�A����a��B��T�
����T�"�X�t�H�T�N�';�<�8��!�
��
�s�D�	D�Dc�<�ttjdz�D]�}dddd�}t|j	��}tj
||�}tj|�}|j|tjj�|jt|�|�tj|�}t|�}tj
||�}tj|�}||d=|jt|�|���yr`)r0rTrUrjr:rVrWrlr�r�rarrrXrbs       r�!test_reverseitemiterator_picklingz*DictTest.test_reverseitemiterator_pickling�s����6�2�2�Q�6�7�E��S�C�(�D��T�Z�Z�\�*�E����U�E�*�A����a��B�
�!�!�"�k�o�o�&>�&>�?����T�"�X�t�,����a��B���8�D����R��'�A����a��B��T�!�W�
����T�"�X�t�,�'8rc
�l�ttjdz�D�]}dddd�}t|j	��}tj
||�}tj|�}|jt|�tt|j	����tj|�}t|�}tj
||�}tj|�}t|�|gz}|jt|�t|j	�����yrS)r0rTrUrjr]rVrWrr6rXrfrgs       r�#test_reversevaluesiterator_picklingz,DictTest.test_reversevaluesiterator_pickling�s����6�2�2�Q�6�7�E��S�C�(�D��$�+�+�-�(�B����R��'�A����a��B����T�"�X�t�H�T�[�[�]�,C�'D�E����a��B���8�D����R��'�A����a��B��"�X���&�F����V�F�^�V�D�K�K�M�-B�C�8rc	��Gd�d�}|d�}Gd�dt�}|j|jt||d���|j|j|j|d��y)Nc��eZdZd�Zy)�=DictTest.test_instance_dict_getattr_str_subclass.<locals>.Fooc��||_yr)�msg)rrts  rr�zFDictTest.test_instance_dict_getattr_str_subclass.<locals>.Foo.__init__�s	����rNr�rrr�Foorr�s��
rru�123c��eZdZy)�>DictTest.test_instance_dict_getattr_str_subclass.<locals>._strNrrrr�_strrx�rrryrt)rrrt�getattrrj)rrur�rys    r�'test_instance_dict_getattr_str_subclassz0DictTest.test_instance_dict_getattr_str_subclass�sc��	�	�
��J��	�3�	���������4��;� 7�8��������
�
�4��;� 7�8rc��Gd�d�}|�}d|jd<d|_|j|jddd��y)Nc��eZdZy)�FDictTest.test_object_set_item_single_instance_non_str_key.<locals>.FooNrrrrrur~�r�rrurrK)rrK)rjrKr)rrur�s   r�0test_object_set_item_single_instance_non_str_keyz9DictTest.test_object_set_item_single_instance_non_str_key�s:�����E����
�
�1�
�����������s�^�4rc����G��fd�d�}dD�cic]
}||���c}�t��D]}|�|<�	ycc}w)Nc���eZdZ��fd�Zy)�4DictTest.check_reentrant_insertion.<locals>.Mutatingc������yrr)rrZ�mutates ��r�__del__z<DictTest.check_reentrant_insertion.<locals>.Mutating.__del__�s
����q�	rN�rr
rr�)rZr�s��r�Mutatingr��s���
rr��abcdefghijklmnopqr)r6)rr�r�r+rZs `  @r�check_reentrant_insertionz"DictTest.check_reentrant_insertion�sG���	�	�%9�9�$8�q�Q��
�]�$8�9���a��A��A�a�D���
:s�<c���d�}�j|��fd�}�j|�d�}�j|�y)Nc��d|d<y)Nr�rLrr�s rr�z1DictTest.test_reentrant_insertion.<locals>.mutate�s���A�c�Frc�\��|j�j�|j�yr)rrjr�)rZrs �rr�z1DictTest.test_reentrant_insertion.<locals>.mutate�s���
�H�H�T�]�]�#�
�G�G�Irc�0�|r|j�|r�yyr)rVr�s rr�z1DictTest.test_reentrant_insertion.<locals>.mutate�s����	�	��r)r�)rr�s` r�test_reentrant_insertionz!DictTest.test_reentrant_insertion�s@���	��&�&�v�.�	�	
�&�&�v�.�	�	
�&�&�v�.rc����G�fd�d�}tdd�D�cgc]}|df��}}t|��d�|�<|�dddi}|jt|j��ycc}w)Nc���eZdZd�Z�fd�Zy)�)DictTest.test_merge_and_mutate.<locals>.Xc��yr6rr!s rr�z2DictTest.test_merge_and_mutate.<locals>.X.__hash__�r�rc�&���j�yr�r)rr&r�s  �rr�z0DictTest.test_merge_and_mutate.<locals>.X.__eq__�s������
�rNr�)r�s�rrr��s
���
�
rrri9r)r0rrrnr)rrr9�lrZr�s     @r�test_merge_and_mutatezDictTest.test_merge_and_mutate�sk���	�	�"�!�T�N�+�N�q�a��U�N��+��Q�����a�c�
�
�S�!�Q��N�����,����%�8��	
,s�A+c���tj|tt�tj|d�t�tj|d�t�tj|d�t�y)Nc�4�t|j��Sr)r
rWr�s rr�z4DictTest.test_free_after_iterating.<locals>.<lambda>s��4�����>rc�4�t|j��Sr)r
r]r�s rr�z4DictTest.test_free_after_iterating.<locals>.<lambda>s��4����
�;Krc�4�t|j��Sr)r
r:r�s rr�z4DictTest.test_free_after_iterating.<locals>.<lambda>s��4����	�?r)r�check_free_after_iteratingr
rr!s r�test_free_after_iteratingz"DictTest.test_free_after_iteratingsM���*�*�4��t�<��*�*�4�1I�4�P��*�*�4�1K�T�R��*�*�4�1J�D�Qrc������G��fd�d�}|�di�|�|�i�|j��k(�G�fd�d�}d|�i}dt�i�|j|�k(�y)Nc�(��eZdZ�fd�Z�fd�Zd�Zy)�9DictTest.test_equal_operator_modifying_operand.<locals>.Xc�&���j�yrr)r�dict_bs �rr�zADictTest.test_equal_operator_modifying_operand.<locals>.X.__del__
s������rc�&���j�y�NTr)rr��dict_as  �rr�z@DictTest.test_equal_operator_modifying_operand.<locals>.X.__eq__��������rc��y�N�
rr!s rr�zBDictTest.test_equal_operator_modifying_operand.<locals>.X.__hash__r�rN)rr
rr�r�r�)r�r�s��rrr�s���
�
�
rrrc���eZdZ�fd�Zy)�9DictTest.test_equal_operator_modifying_operand.<locals>.Yc�&���j�yr�r)rr��dict_ds  �rr�z@DictTest.test_equal_operator_modifying_operand.<locals>.Y.__eq__r�rNr�)r�s�r�Yr�s���
rr�)rPrV)rrr��dict_cr�r�r�s    @@@r�%test_equal_operator_modifying_operandz.DictTest.test_equal_operator_modifying_operand
sk���		�		��#�q����#�q�s�������&�(�)�	�	�
�Q�S����S�U�������&�(�)rc���G�fd�dt�}i�|d�d|d�di�	tj��y#t$rYywxYw)Nc���eZdZd�Z�fd�Zy)�ADictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.Xc��yr�rr!s rr�zJDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__hash__(r�rc�B��t��dkDr�j�y�NrF�rzr��rr�rZs  �rr�zHDictTest.test_fromkeys_operator_modifying_dict_operand.<locals>.X.__eq__+�����q�6�A�:��G�G�I�rNr�r�s�rrr�'�
���
�
rrrr�rWrrrn�rrrZs  @r�-test_fromkeys_operator_modifying_dict_operandz6DictTest.test_fromkeys_operator_modifying_dict_operand%sO���	��	�
��
�q�T�1�a��d�A���	��M�M�!����	��	�s�>�	A
�	A
c���G�fd�dt�}i�|d�|d�h�	tj��y#t$rYywxYw)Nc���eZdZd�Z�fd�Zy)�@DictTest.test_fromkeys_operator_modifying_set_operand.<locals>.Xc��yr�rr!s rr�zIDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__hash__:r�rc�B��t��dkDr�j�yr�r�r�s  �rr�zGDictTest.test_fromkeys_operator_modifying_set_operand.<locals>.X.__eq__=r�rNr�r�s�rrr�9r�rrrrr�r�s  @r�,test_fromkeys_operator_modifying_set_operandz5DictTest.test_fromkeys_operator_modifying_set_operand7sJ���	��	�
��
�q�T�1�Q�4�L��	��M�M�!����	��	�s�<�	A�Ac�h��G�fd�d�}dt�i�d|�f�j�vy)Nc���eZdZ�fd�Zy)�:DictTest.test_dictitems_contains_use_after_free.<locals>.Xc�0���j�tSr�r�rHr�s  �rr�zADictTest.test_dictitems_contains_use_after_free.<locals>.X.__eq__K�������	�%�%rNr�r�s�rrr�Js���
&rrr)rVr:r�s  @r�&test_dictitems_contains_use_after_freez/DictTest.test_dictitems_contains_use_after_freeIs.���	&�	&�
���J��	
�A�C��A�G�G�I�rc�`��G�fd�dt�}|�di�|jd�v�y)Nc���eZdZ�fd�Zd�Zy)�4DictTest.test_dict_contain_use_after_free.<locals>.Sc�0���j�tSrr�r�s  �rr�z;DictTest.test_dict_contain_use_after_free.<locals>.S.__eq__Ur�rc��td�S)N�test�r�r!s rr�z=DictTest.test_dict_contain_use_after_free.<locals>.S.__hash__Y����F�|�#rNr�r�s�r�Sr�Ts
���
&�
$rr�rr�)rrv)rr�rZs  @r� test_dict_contain_use_after_freez)DictTest.test_dict_contain_use_after_freeRs.���	$��	$��S�'�N������1��%rc�H��G�fd�d�}|�dg�t�g�y)Nc���eZdZ�fd�Zy)�,DictTest.test_init_use_after_free.<locals>.Xc���g�ddyr�r)r�pairs �rr�z5DictTest.test_init_use_after_free.<locals>.X.__hash__as�����Q��rN)rr
rr�)r�s�rrr�`s���
rr�{)r)rrr�s  @r�test_init_use_after_freez!DictTest.test_init_use_after_free_s#���	�	�
��S�z���d�V�rc���G�fd�dt�}td�D�cic]}|||���
c}��fd�}|jt|�ycc}w)Nc���eZdZ�fd�Zy)�;DictTest.test_oob_indexing_dictiter_iternextitem.<locals>.Xc�&���j�yrrr^s �rr�zCDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.X.__del__js������	rNr�r�s�rrr�ir�rrr'c�L���j�D]}|ddk(s�d�d<�y)Nrrr�)�resultrZs �r�iter_and_mutatezIDictTest.test_oob_indexing_dictiter_iternextitem.<locals>.iter_and_mutateos'����'�'�)���!�9��>��A�a�D�$r)rWr0rrn)rrr9r�rZs    @r�'test_oob_indexing_dictiter_iternextitemz0DictTest.test_oob_indexing_dictiter_iternextitemhsM���	��	�$�A�h�'�h��Q��!��W�h�'��	 �
	
���,��8��
(s�Ac��dddddd�}|d=t|�}|jt|�td��|jtt
|�y)	Nrrrr?r})rKrLrhrMrZrh�dcba)rjrr6rr�rX)rrZ�rs   r�
test_reversedzDictTest.test_reversedvsL���!�A�A�A�6��
�e�H��Q�K������a��$�v�,�/����-��q�1rc�,�|jtti��g�|jttij���g�|jttij	���g�|jttij���g�|jttt
���g�|jttt
�j���g�|jttt
�j	���g�|jttt
�j���g�yr)rr6rjr:r]rWrr!s r�$test_reverse_iterator_for_empty_dictz-DictTest.test_reverse_iterator_for_empty_dict}s��	
����h�r�l�+�R�0�����h�r�x�x�z�2�3�R�8�����h�r�y�y�{�3�4�b�9�����h�r�w�w�y�1�2�B�7�	
����h�t�v�.�/��4�����h�t�v�|�|�~�6�7��<�����h�t�v�}�}��7�8�"�=�����h�t�v�{�{�}�5�6��;rc
�^�Gd�d�}|jtt|dd�j��ddg�|jtt|dd�j��dg�|jtt|dd�j��dg�y)Nc��eZdZd�Zy)�ADictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.Ac�*�|r||_|r||_yyr)r�rI)rr�rIs   rr�zJDictTest.test_reverse_iterator_for_shared_shared_dicts.<locals>.A.__init__�s���q�d�f��q�d�f�1rNr�rrrrr��s��
!rrrrrIr�r)rr6rjrj)rrs  r�-test_reverse_iterator_for_shared_shared_dictsz6DictTest.test_reverse_iterator_for_shared_shared_dicts�s���	!�	!�
	
����h�q��A�w�'7�'7�8�9�C��:�F�����h�q��A�w�'7�'7�8�9�C�5�A�����h�q��A�w�'7�'7�8�9�C�5�Arc�&�tjddg�}|jd�t|j	��}t|�}|j
t|j	��|�Gd�dt
�}gd�}||�}|j
|tt|�j	���Gd�dt
�}||�}|j
|ddd	�tt|�j	���y)
N�rKr�rLrrKc��eZdZy)�1DictTest.test_dict_copy_order.<locals>.CustomDictNrrrr�
CustomDictr��rrr�)r�r�)rMr?c��eZdZd�ZeZd�Zy)�9DictTest.test_dict_copy_order.<locals>.CustomReversedDictc�P�tttj|���Sr)rjr6rrWr!s rrWz>DictTest.test_dict_copy_order.<locals>.CustomReversedDict.keys�s����T�Y�Y�t�_� 5�6�6rc�>�ttj|��Sr)rjrr:r!s rr:z?DictTest.test_dict_copy_order.<locals>.CustomReversedDict.items�s����
�
�4� 0�1�1rN)rr
rrWr�r:rrr�CustomReversedDictr��s��
7��H�
2rr�rT)r��OrderedDict�move_to_endr6r:rr)r�odr�rEr��pairsrZr�s        r�test_dict_copy_orderzDictTest.test_dict_copy_order�s���
�
$�
$�h��%9�
:��
���s������
�#���B�x������d�j�j�l�+�X�6�	��	�/���u��������T�!�W�]�]�_� 5�6�	2��	2�
�u�%������t��t��d�4��7�=�=�?�&;�<rc��tdgij��}tj�|j	tj
t
|���yr)r
r:r rrPr!rX�rr\s  r�test_dict_items_result_gcz"DictTest.test_dict_items_result_gc�s?��
�4��*�"�"�$�
%��
�
�
��	
����
�
�d�2�h�/�0rc��tdgij��}tj�|j	tj
t
|���yr)rjr:r rrPr!rXr�s  r�"test_dict_items_result_gc_reversedz+DictTest.test_dict_items_result_gc_reversed�s=���t�R�j�&�&�(�
)��
�
�
������
�
�d�2�h�/�0rc��Gd�d�}Gd�d�}|�}i|_td�D]}||j�|_�y)Nc��eZdZd�Zd�Zy)�.DictTest.test_store_evilattr.<locals>.EvilAttrc��||_yrr�r^s  rr�z7DictTest.test_store_evilattr.<locals>.EvilAttr.__init__�s	����rc�b�d|jvr
|jd=tj�y)N�attr)rZr rr!s rr�z6DictTest.test_store_evilattr.<locals>.EvilAttr.__del__�s"���T�V�V�#����v���
�
�rN)rr
rr�r�rrr�EvilAttrr�s��
�
rrc��eZdZy)�)DictTest.test_store_evilattr.<locals>.ObjNrrrr�Objr
�rrrr)rjr0r)rrrrr�s     r�test_store_evilattrzDictTest.test_store_evilattr�sD��	�	�	�	��e������r��A�����-�C�H�rc	�j��
��Gd�dt�}d�
G��
fd�d��|d�}��}��}g}||fD�]/�|jddd	d
�di�dd
d�}d|�<|j|�dd
d�}|j|j�d�d�|j|�dd
d�}|j	�di�|j|�dd
d�}|�diz}|j|��fd
�}t|��}|j|�|j
�}|j|�tdd	�g�D��	cic]\}}	|	d|z��
}}}	|j|���2|D�]*}|j|��5|j|jd�d�d}
|
dz
}
tjd��rd}|j|
|u�|j|j|
�d�|j|jd�d�|j|j|�d�|j|j|�d�d�
|j|j|�d�|j�
d�ddd���-ycc}	}w#1swY��?xYw)Nc��eZdZy)�(DictTest.test_str_nonstr.<locals>.StrSubNrrrr�StrSubr�rrrrc� ��eZdZd�Z��fd�Zy)�&DictTest.test_str_nonstr.<locals>.Key3c��td�S)N�key3r�r!s rr�z/DictTest.test_str_nonstr.<locals>.Key3.__hash__�r�rc�T��t|��st|t�r|dk(r�dz
�yy)NrrTF)r�r)rr��Key3r9s  ��rr�z-DictTest.test_str_nonstr.<locals>.Key3.__eq__�s,����e�T�*�j���.D��RX����M�H��rNr�)rr9s��rrr�s
���
$�
rrrr�r�r��+�,)r�r�c3�*�K�d��d���df��y�w)N)r�r�)r�rrr)rs�r�
make_pairsz,DictTest.test_str_nonstr.<locals>.make_pairss�����"�"�"�"��R�j� �s�r��ke�y1T)�cpythonr)rr0rr/rrrE�	enumeraterr&r�check_impl_detailrv�assertGreaterEqual)rr�key3_1�key3_2�key3_3r1rZrr9r��noninterned_key1�
interned_key1rr9rs            @@@r�test_str_nonstrzDictTest.test_str_nonstr�s����
	�S�	���		�		��������������V�$�D��L�L�&�"�f�b�$��;�<��R�(�A��A�d�G��L�L��O��R�(�A����Q�\�\�$��3�R�8��L�L��O��R�(�A�
�H�H�d�B�Z� ��L�L��O��R�(�A�
�$���O�A��L�L��O�
!��Z�\�"�A��L�L��O�����A��L�L��O�+4�V�V�T�4J�*K�L�*K���3��b�1�f��*K�A�L��L�L��O�M%�P�A������"�� � ����v���3�$(� � �D�(� ��,�,�T�:�$*�M��$�$�%5��%F�G�� � ����'7�!8�"�=�� � ����v���3�� � ����v���3�� � ����v���3���� � ����v���3��'�'��!�4�5#�"���M�#�"�s�
J"�	D
J(�(J2	N)]rr
rrr"r=rNrRr[r_rbrsrxr{r�r�r�rrrr"r$r'r1rKrRrarkrprsruryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr�cpython_onlyr r(r-r2r9r=r@rBrFrLrQr^rdrhrkrmror{rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr&rrrrrs���%�%�
	=�<�@*�E�G�L�'�(
5�$�$1�L4�J>�X8B�t3�6� B� �
>�4�6A�(A�*/�6)�B����'�4(�$3��$8�*,�X$�,
+�
9�3�
:�)2�V4�%�8� �,�B� .�-��
���"��"�"
���=��=�~
��� �� �
�
���
=��
=�
���3��3�$
���
3��
3�
������
���
3��
3�
���3��3� 
���,��,�3�$-�,J� =�$-�,D� 9�5�
�/� 
9�R�*�6�$�$�&��9�2�
<�B�=�<
���	1��	1�
���1��1�.�$b5rrc�0�eZdZejd��Zy)�CAPITestc	���tjd�}|j}dddd�}|j||dt	d��d�|j||dt	d��d�|j||dt	d��d�|jt|gdt	d��|jt|idt	d��Gd	�d
t��G�fd�d�}|�|�}}|di}|j|||t	|��d�|j�|||t	|��y)
N�	_testcapirrr?r%r�rIr�c��eZdZy)�,CAPITest.test_getitem_knownhash.<locals>.ExcNrrrrr�r-Pr�rr�c���eZdZ�fd�Zd�Zy)�.CAPITest.test_getitem_knownhash.<locals>.BadEqc�����rrr�s  �rr�z5CAPITest.test_getitem_knownhash.<locals>.BadEq.__eq__Rr�rc��y)N�rr!s rr�z7CAPITest.test_getitem_knownhash.<locals>.BadEq.__hash__Tr�rNr�r�s�rr�r/Qs
���
�
rr�)	r�
import_module�dict_getitem_knownhashrr�r�SystemErrorr�r�)rr+r4rZr�r�r�r�s       @r�test_getitem_knownhashzCAPITest.test_getitem_knownhashAs ���!�/�/��<�	�!*�!A�!A���!�!�$�����/��3��S�	�B�A�F����/��3��S�	�B�A�F����/��3��S�	�B�A�F�	
���+�'=�r�1�d�1�g�N����(�$:�B��4��7�K�"�)�"�	�	���%�'�B��
��G�����/��2�t�B�x�@�!�D����#�5�q�"�d�2�h�GrN)rr
rrr'r6rrrr)r)>s��
���H��Hrr))�
mapping_testsc��eZdZeZy)�GeneralMappingTestsN)rr
rr�	type2testrrrr9r9_����Irr9c��eZdZy)rfNrrrrrfrfbs��rrfc��eZdZeZy)�SubclassMappingTestsN)rr
rrfr:rrrr>r>er;rr>�__main__)r��collections.abcr rTr2r4r4�unittestrr�r�test.supportrr�TestCaserr)r7�BasicTestMappingProtocolr9rrfr>r�mainrrr�<module>rFs�����	�
�
�
�
����9�m5�x� � �m5�`1H�x� � �H�>��-�@�@��	�4�	��=�A�A���z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists