HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/zope/interface/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/zope/interface/__pycache__/registry.cpython-311.pyc
�

JDvc�e���dZddlmZ	ddlmZn#e$rd�ZYnwxYwddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
ddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZdgZGd�de��Zd�ZGd�de��Z ee
��Gd�de����Z!d�Z"d�Z#d�Z$d �Z%ee
��Gd!�d"e����Z&ee	��Gd#�d$e����Z'ee��Gd%�d&e'����Z(ee��Gd'�d(e'����Z)d)S)*zBasic components support
�)�defaultdict)�notifyc��dS�N�)�arg�kws  �9/usr/lib/python3/dist-packages/zope/interface/registry.pyrrs����)�ISpecification)�ComponentLookupError)�IAdapterRegistration)�IComponents)�IHandlerRegistration)� ISubscriptionAdapterRegistration)�IUtilityRegistration)�
Registered)�Unregistered)�	Interface)�
implementedBy)�implementer)�implementer_only)�
providedBy)�AdapterRegistry)�CLASS_TYPES)�STRING_TYPES�
Componentsc�&�eZdZd�Zd�Zd�Zd�ZdS)�_UnhashableComponentCounterc�L�d�|���D��|_dS)Nc��g|]}|��Srr)�.0�items  r
�
<listcomp>z8_UnhashableComponentCounter.__init__.<locals>.<listcomp>6s��9�9�9�t�d�9�9�9r)�items�_data)�self�	otherdicts  r
�__init__z$_UnhashableComponentCounter.__init__4s%��9�9�y���'8�'8�9�9�9��
�
�
rc�4�|jD]\}}||kr|cS�dS�Nr)r&)r'�key�	component�counts    r
�__getitem__z'_UnhashableComponentCounter.__getitem__8s6�� $�
�	�	��I�u��C������� ��qrc��t|j��D] \}}|d|kr||f|j|<dS�!|j�||f��dSr+)�	enumerater&�append)r'r-r.�i�datas     r
�__setitem__z'_UnhashableComponentCounter.__setitem__>sm�� ���,�,�	�	�G�A�t��A�w�)�#�#� )�5� 0��
�1�
����$�	
�
���9�e�,�-�-�-�-�-rc��t|j��D]\}}|d|kr|j|=dS�t|���r+)r1r&�KeyError)r'r-r3r4s    r
�__delitem__z'_UnhashableComponentCounter.__delitem__EsS�� ���,�,�	�	�G�A�t��A�w�)�#�#��J�q�M����$��y�!�!�!rN)�__name__�
__module__�__qualname__r)r/r5r8rrr
rr1sP������:�:�:����.�.�.�"�"�"�"�"rrc�*�tt��Sr)r�intrrr
�_defaultdict_intr>Ls���s���rc�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�_UtilityRegistrationsc�|�tt��|_||_||_|���dSr)rr>�_cache�
_utilities�_utility_registrations�%_UtilityRegistrations__populate_cache)r'�	utilities�utility_registrationss   r
r)z_UtilityRegistrations.__init__Qs9��!�"2�3�3���#���&;��#��������rc��t|j�����D]&\\}}}|d}|�||���'dSr+)�iterrDr%�$_UtilityRegistrations__cache_utility)r'�p�_r4r-s     r
�__populate_cachez&_UtilityRegistrations.__populate_cacheYs\��"�4�#>�#D�#D�#F�#F�G�G�	/�	/�N�V�a��T��Q��I�� � ��I�.�.�.�.�	/�	/rc���	|j||xxdz
cc<dS#t$r8t|j|��x}|j|<||xxdz
cc<YdSwxYw)N�)rB�	TypeErrorr)r'�providedr-�provs    r
�__cache_utilityz%_UtilityRegistrations.__cache_utility^s���	!��K��!�)�,�,�,��1�,�,�,�,�,���	!�	!�	!�,G�t�{�S[�G\�+]�+]�]�D�4�;�x�(���O�O�O�q� �O�O�O�O�O�O�		!���s��>A!� A!c�`�|j|}||}|dz}|dkr||=n|||<|dkS)NrOr)rB)r'rQr-r.s    r
�__uncache_utilityz'_UtilityRegistrations.__uncache_utilitygsK���;�x�(����#��
��
���A�:�:���#�#�"'�H�Y���q�y�rc�T�	|j||dkS#t$rYdSwxYw)NrF)rBrP)r'rQr-s   r
�_is_utility_subscribedz,_UtilityRegistrations._is_utility_subscribedvs@��	��;�x�(��3�a�7�7���	�	�	��5�5�	���s��
'�'c���|�||��}|||f|j||f<|j�d|||��|s|j�d||��|�||��dS�Nr)rWrDrC�register�	subscriberJ)r'rQ�namer-�info�factory�
subscribeds       r
�registerUtilityz%_UtilityRegistrations.registerUtility}s����0�0��9�E�E�
�8A�4��8P��#�X�t�$4�5��� � ��X�t�Y�?�?�?��	?��O�%�%�b�(�I�>�>�>����X�y�1�1�1�1�1rc��|j||f=|j�d||��|�||��}|s|j�d||��dSdSrY)rDrC�
unregister�&_UtilityRegistrations__uncache_utility�unsubscribe)r'rQr\r-r_s     r
�unregisterUtilityz'_UtilityRegistrations.unregisterUtility�sv���'��4�(8�9���"�"�2�x��6�6�6��+�+�H�i�@�@�
��	A��O�'�'��H�i�@�@�@�@�@�	A�	ArN)
r9r:r;r)rErJrcrWr`rerrr
r@r@Os������� � � �/�/�/�
!�!�!�
�
�
����	2�	2�	2�A�A�A�A�Arr@c�L��eZdZdZd(d�Zd�Z�fd�Zd�Zd�Ze	d	���Z
d
�Zd�Ze	d�d
���Z
		d)d�Z		d*d�Zd�Zd+d�Zd,d�Zd�Zd�Z		d-d�Z		d.d�Zd�Zd+d�Zd,d�Z		d+d�Zd,d�Zd�Z			d-d�Zd�Z		d.d �Zd!�Z 			d/d"�Z!d#�Z"d0d$�Z#d%�Z$d1d'�Z%�xZ&S)2rN�rc���t|t��sJ�||_|���|���t|��|_d|_dSr)�
isinstancerr9�_init_registries�_init_registrations�tuple�	__bases__�_v_utility_registrations_cache)r'r\�basess   r
r)zComponents.__init__�s`���$��-�-�-�-�-���
�������� � �"�"�"��u�����.2��+�+�+rc�2�d|jj�d|j�d�S)N�<� �>)�	__class__r9�r's r
�__repr__zComponents.__repr__�s ��� �N�3�3�3�T�]�]�]�C�Crc����tt|�����}d�|d���D��}t	|��}||d<t|��S)Nc�D�i|]\}}|�d���||��S)�_v_)�
startswith)r"�k�vs   r
�
<dictcomp>z)Components.__reduce__.<locals>.<dictcomp>�s>��6�6�6�4�1�a�!"���e�!4�!4�6�!�Q�6�6�6r�)�superr�
__reduce__r%�listrl)r'�	reduction�filtered_staterts   �r
r�zComponents.__reduce__�so���
�*�d�+�+�6�6�8�8�	�6�6�9�Q�<�+=�+=�+?�+?�6�6�6����O�O�	�%�	�!���Y���rc�R�t��|_t��|_dSr)r�adaptersrFrus r
rjzComponents._init_registries�s"��(�)�)��
�(�*�*����rc�>�i|_i|_g|_g|_dSr)rD�_adapter_registrations�_subscription_registrations�_handler_registrationsrus r
rkzComponents._init_registrations�s(��&(��#�&(��#�+-��(�&(��#�#�#rc��|j}|�|j|jus|j|jur!t	|j|j��x}|_|Sr)rnrCrFrDr@)r'�caches  r
�_utility_registrations_cachez'Components._utility_registrations_cache�s]���3���M���t�~�5�5��+�4�3N�N�N�:O����+�;-�;-�
-�E�D�7��rc�8�|j�dd��S)Nrmr)�__dict__�getrus r
�	_getBaseszComponents._getBases�s���}� � ��b�1�1�1rc��td�|D����|j_td�|D����|j_t|��|jd<dS)Nc��g|]	}|j��
Sr)r��r"�bases  r
r$z(Components._setBases.<locals>.<listcomp>�s'��)-�)-�)-�"�D�M�)-�)-�)-rc��g|]	}|j��
Sr)rFr�s  r
r$z(Components._setBases.<locals>.<listcomp>�s'��*.�*.�*.�#�D�N�*.�*.�*.rrm)rlr�rmrFr��r'ros  r
�	_setBaseszComponents._setBases�sz��"'�)-�)-�&+�)-�)-�)-�#.�#.��
��#(�*.�*.�',�*.�*.�*.�$/�$/��� �%*�5�\�\��
�k�"�"�"rc�*�|���Sr)r�rus r
�<lambda>zComponents.<lambda>�s��T�^�^�%�%�rc�,�|�|��Sr)r�r�s  r
r�zComponents.<lambda>�s��D�N�N�5�1�1�rTc���|r|rtd���|��}|�t|��}|dkrt|��}|j�||f��}|�/|dd�||fkrdS|�|d||��|j�|||||��|r0ttt||||||������dSdS)N�$Can't specify factory and component.rgr~r)rP�_getUtilityProvided�_getNamerDr�rer�r`rr�UtilityRegistration)r'r-rQr\r]�eventr^�regs        r
r`zComponents.registerUtility�s+���	"��
H�� F�G�G�G���	�	�I���*�9�5�5�H��3�;�;��I�&�&�D��)�-�-�x��.>�?�?���?��2�A�2�w�9�d�+�+�+����"�"�3�q�6�8�T�:�:�:��)�9�9��d�I�t�W�	6�	6�	6��	��:�#�D�(�D�)�T�$+�-�-���
�
�
�
�
�	�	rc
��|r|rtd���|��}|� |�td���t|��}|j�||f��}|�|�||dkrdS|�|d}|j�|||��t
tt||||g|dd��R�����dS)Nr�z3Must specify one of component, factory and providedrFrOT)	rPr�rDr�r�rerrr�)r'r-rQr\r^�olds      r
rezComponents.unregisterUtility�s���	"��
H�� F�G�G�G���	�	�I���� ��!+�,�,�,�*�9�5�5�H��)�-�-�x��.>�?�?���K�i�3�'�3�q�6�1�1��5����A��I�	
�)�;�;��d�I�	'�	'�	'�	�|���h��i�J�#�a�b�b�'�J�J�J���	�	�	��trc#�K�t|j�����D]\\}}}t|||g|�R�V��dSr)rIrDr%r�)r'rQr\r4s    r
�registeredUtilitieszComponents.registeredUtilitiessi�����t�2�8�8�:�:�;�;�	C�	C�
�
�h��t�%�d�H�d�B�T�B�B�B�B�B�B�B�	C�	Crc�<�|j�d|||��SrY)rF�lookup)r'rQr\�defaults    r
�queryUtilityzComponents.queryUtilitys���~�$�$�R��4��A�A�Arc�b�|j�d||��}|�t||���|SrY)rFr�r
)r'rQr\�utilitys    r
�
getUtilityzComponents.getUtility!s5���.�'�'��H�d�;�;���?�&�x��6�6�6��rc#�XK�|j�d|��D]\}}||fV��dSrY)rF�	lookupAll)r'�	interfacer\r�s    r
�getUtilitiesForzComponents.getUtilitiesFor'sH����!�^�5�5�b�)�D�D�	 �	 �M�D�'���-�����	 �	 rc�8�|j�d|��SrY)rF�
subscriptions)r'r�s  r
�getAllUtilitiesRegisteredForz'Components.getAllUtilitiesRegisteredFor+s���~�+�+�B�	�:�:�:rc�.�|�t|��}t||��}|dkrt|��}||f|j|||f<|j�||||��|r0t
tt||||||������dSdS�Nrg)	�_getAdapterProvided�_getAdapterRequiredr�r�r�rZrr�AdapterRegistration�r'r^�requiredrQr\r]r�s       r
�registerAdapterzComponents.registerAdapter.s�����*�7�3�3�H�&�w��9�9���3�;�;��G�$�$�D�(/��
�	
�#�X�x��$>�	&��
���x��4��A�A�A��	��:�#�D�(�H�d�$+�T�3�3���
�
�
�
�
�	�	rc
��|� |�td���t|��}|�|�td���t||��}|j�|||f��}|�|�||dkrdS|j|||f=|j�|||��ttt||||g|�R�����dS)N�(Must specify one of factory and provided�(Must specify one of factory and requiredrFT)
rPr�r�r�r�r�rbrrr�)r'r^r�rQr\r�s      r
�unregisterAdapterzComponents.unregisterAdapter@s������� J�K�K�K�*�7�3�3�H���7�?��F�G�G�G�&�w��9�9���)�-�-�x��4�.H�I�I���K�g�1�%��Q��/�/��5��'��8�T�(B�C��
� � ��8�T�:�:�:��|���h��$�
&�!$�
&�
&�
&���	�	�	�
�trc	#�K�t|j�����D]"\\}}}\}}t||||||��V��#dSr)rIr�r%r�)r'r�rQr\r-r]s      r
�registeredAdapterszComponents.registeredAdapters[sw�����t�2�8�8�:�:�;�;�	7�	7�
�
'�h��$�):�)�T�%�d�H�h��&/��7�7�
7�
7�
7�
7�	7�	7rc�<�|j�||||��Sr)r��queryAdapter)r'�objectr�r\r�s     r
r�zComponents.queryAdapteras���}�)�)�&�)�T�7�K�K�Krc�d�|j�|||��}|�t|||���|Sr)r�r�r
)r'r�r�r\�adapters     r
�
getAdapterzComponents.getAdapterds7���-�,�,�V�Y��E�E���?�&�v�y�$�?�?�?��rc�<�|j�||||��Sr)r��queryMultiAdapter)r'�objectsr�r\r�s     r
r�zComponents.queryMultiAdapterjs%���}�.�.��Y��g�/�/�	/rc�d�|j�|||��}|�t|||���|Sr)r�r�r
)r'r�r�r\r�s     r
�getMultiAdapterzComponents.getMultiAdapteros7���-�1�1�'�9�d�K�K���?�&�w�	�4�@�@�@��rc#�K�|j�ttt|����|��D]\}}||�}|�||fV��dSr)r�r�r��mapr)r'r�rQr\r^r�s      r
�getAdapterszComponents.getAdaptersusr����!�]�4�4���Z��)�)�*�*����	$�	$�M�D�'��g�w�'�G��"��G�m�#�#�#��	$�	$rc�D�|rtd���|�t|��}t||��}|j�|||||f��|j�|||��|r0ttt||||||������dSdS)N�'Named subscribers are not yet supported)
rPr�r�r�r2r�r[rr�SubscriptionRegistrationr�s       r
�registerSubscriptionAdapterz&Components.registerSubscriptionAdapter}s����	G��E�F�F�F���*�7�3�3�H�&�w��9�9���(�/�/�
�x��w��5�	�	�	�	
�
����(�G�<�<�<��	��:�(��x��4�)0�$�8�8���
�
�
�
�
�	�	rc#�<K�|jD]}t|g|�R�V��dSr)r�r��r'r4s  r
�registeredSubscriptionAdaptersz)Components.registeredSubscriptionAdapters�sA�����4�	8�	8�D�*�4�7�$�7�7�7�7�7�7�7�	8�	8rc�
����|rtd����� ��td���t��������td���t���������fd�|jD��}n���fd�|jD��}t	|��t	|j��krdS||jdd�<|j������ttt|��|�d������dS)	Nr�r�r�c�B��g|]\}}}}}|�kr|�k�|||||f��Srr)r"�rrK�n�fr3rQr�s      ��r
r$z<Components.unregisterSubscriptionAdapter.<locals>.<listcomp>�sH������&��1�a��A���=�=�Q�(�]�]��q�!�Q��?�.;�]�]rc�N��g|]!\}}}}}|�kr|�kr|�k�|||||f��"Srr)	r"r�rKr�r�r3r^rQr�s	      ���r
r$z<Components.unregisterSubscriptionAdapter.<locals>.<listcomp>�sR������&��1�a��A���=�=�Q�(�]�]�q�G�|�|��q�!�Q��?�@L�|�|rFrgT)
rPr�r�r��lenr�rdrrr�)r'r^r�rQr\�news ```  r
�unregisterSubscriptionAdapterz(Components.unregisterSubscriptionAdapter�si������	G��E�F�F�F������ J�K�K�K�*�7�3�3�H���7�?��F�G�G�G�&�w��9�9���?�������6����C�C��������6����C��s�8�8�s�4�;�<�<�<�<��5�/2��(����+��
�!�!�(�H�g�>�>�>��|�$�T�8�X�t�%,�b�
2�
2���	�	�	�
�trc�8�|j�||��Sr�r��subscribers)r'r�rQs   r
r�zComponents.subscribers�s���}�(�(��(�;�;�;rc��|rtd���t||��}|j�||||f��|j�|d|��|r/t
tt|||||������dSdS)Nz$Named handlers are not yet supported)	rPr�r�r2r�r[rr�HandlerRegistration)r'r^r�r\r]r�s      r
�registerHandlerzComponents.registerHandler�s����	D��B�C�C�C�&�w��9�9���#�*�*�
�t�W�d�+�	�	�	�	
�
����$��8�8�8��	��:�#�D�(�D�'�4�H�H���
�
�
�
�
�	�	rc#�<K�|jD]}t|g|�R�V��dSr)r�r�r�s  r
�registeredHandlerszComponents.registeredHandlers�sA�����/�	3�	3�D�%�d�2�T�2�2�2�2�2�2�2�	3�	3rc����|rtd�������td���t��������fd�|jD��}n��fd�|jD��}t|��t|j��krdS||jdd�<|j��d���t
tt|�|�d������dS)Nr�r�c�2��g|]\}}}}|�k�
||||f��Srr)r"r�r�r�r3r�s     �r
r$z0Components.unregisterHandler.<locals>.<listcomp>�s<������#��1�a���8�m�m��q�!�Q�<�$�m�mrc�>��g|]\}}}}|�kr|�k�||||f��Srr)r"r�r�r�r3r^r�s     ��r
r$z0Components.unregisterHandler.<locals>.<listcomp>�sD������#��1�a����=�=�Q�'�\�\��q�!�Q�<�.:�\�\rFrgT)	rPr�r�r�r�rdrrr�)r'r^r�r\r�s ``  r
�unregisterHandlerzComponents.unregisterHandler�s,�����	G��E�F�F�F���7�?��F�G�G�G�&�w��9�9���?������1����C�C�������1����C��s�8�8�s�4�6�7�7�7�7��5�),��#�A�A�A�&��
�!�!�(�D�'�:�:�:��|���h��g�r�B�B���	�	�	��trc�<�|j�|d��dSrr�)r'r�s  r
�handlezComponents.handle�s ���
�!�!�'�4�0�0�0�0�0rFc�8�t|j��}|j}d}d}d}d}d|jvsJ�d�|_|r|j}|j}	nd�x}}		|���D]o\\}
}\}}
}|�d|
|��|kr|d|
||��|dz
}n|dz
}|�	d|
|���|dz
}|	d|
|���j|dz
}�p	|`|r|s|r|�|��n$#|`|r|s|r|�|��wwwxYw||||d�S)	a�
        Emergency maintenance method to rebuild the ``.utilities``
        registry from the local copy maintained in this object, or
        detect the need to do so.

        Most users will never need to call this, but it can be helpful
        in the event of suspected corruption.

        By default, this method only checks for corruption. To make it
        actually rebuild the registry, pass `True` for *rebuild*.

        :param bool rebuild: If set to `True` (not the default),
           this method will actually register and subscribe utilities
           in the registry as needed to synchronize with the local cache.

        :return: A dictionary that's meant as diagnostic data. The keys
           and values may change over time. When called with a false *rebuild*,
           the keys ``"needed_registered"`` and ``"needed_subscribed"`` will be
           non-zero if any corruption was detected, but that will not be corrected.

        .. versionadded:: 5.3.0
        r�changedc��dSrr)rLs r
r�zAComponents.rebuildUtilityRegistryFromLocalCache.<locals>.<lambda>s��$�rc��dSrr)�argss r
r�zAComponents.rebuildUtilityRegistryFromLocalCache.<locals>.<lambda>$s���rrrON)�needed_registered�did_not_register�needed_subscribed�did_not_subscribe)
�dictrDrFr�r�rZr[r%�
registeredr_)r'�rebuild�regs�utilsr�r�r�r�rZr[rQr\�value�_info�_factorys               r
�$rebuildUtilityRegistryFromLocalCachez/Components.rebuildUtilityRegistryFromLocalCache�s���.�D�/�0�0�������������
���.�.�.�.�&���
��	6��~�H���I�I�#5�#5�5�H�y�	%�>B�j�j�l�l�
+�
+�:� ��4�":�5�%���#�#�B��$�7�7�5�@�@��H�R��4��7�7�7�%��*�%�%�$��)�$��#�#�B��%�8�8�@�%��*�%��I�b�(�E�2�2�2�2�%��*�%�%�
+��
��
%�-�
%�1B�
%��
�
�e�$�$�$����
��
%�-�
%�1B�
%��
�
�e�$�$�$�$�
%�
%����"3� 0�!2�!2�	
�
�	
s
�BC1�1!D)rgr)NNrgrgTN)NNrgN)rgN)rg)NNrgrgT)NNNrg)NrgrgT)NNrg)F)'r9r:r;rnr)rvr�rjrk�propertyr�r�r�rmr`rer�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__)rts@r
rr�s��������&*�"�3�3�3�3�D�D�D�
 �
 �
 �
 �
 �+�+�+�)�)�)��
�
��X�
�2�2�2�2�2�2���%�%�1�1�
�
�I�
CF�6:�����:EH�"&�����>C�C�C�
B�B�B�B����� � � �;�;�;�@D�26�����$)-�=@�����67�7�7�L�L�L�L�����:=�"&�/�/�/�/�
����$�$�$�FJ�36�*.�����(8�8�8�59�=@�(�(�(�(�T<�<�<�+/�'*�"�����"3�3�3� � � � �D1�1�1�A
�A
�A
�A
�A
�A
�A
�A
rc�4�	|jS#t$rYdSwxYwr�)�__component_name__�AttributeError)r-s r
r�r�?s2����+�+�������s�s����s�	�
�c��tt|����}t|��dkr|dStd���)NrOrzWThe utility doesn't provide a single interface and no provided interface was specified.)r�rr�rP)r-rQs  r
r�r�EsI���J�y�)�)�*�*�H�
�8�}�}������{��
�	3�4�4�4rc��tt|����}t|��dkr|dStd���)NrOrzaThe adapter factory doesn't implement a single interface and no provided interface was specified.)r�rr�rP)r^rQs  r
r�r�MsI���M�'�*�*�+�+�H�
�8�}�}������{��
�	3�4�4�4rc��|�&	|j}n@#t$rtd���wxYwtj|��rtd���g}|D]y}|�t
}nXtj|��sDt
|t��rt|��}ntdt|��z���|�
|���zt|��S)NzoThe adapter factory doesn't have a __component_adapts__ attribute and no required specifications were specifiedzLthe required argument should be a list of interfaces, not a single interfacez?Required specification must be a specification or class, not %r)�__component_adapts__rrPrrrrirr�typer2rl)r^r��resultr�s    r
r�r�Us����	��3�H�H���	�	�	��J���
�	����

�	"�8�	,�	,�>��=�>�>�	>��F�
�
�
���9��A�A��*�1�-�-�	"��!�[�)�)�
"�!�!�$�$����!A�CG��7�7�!K�"�"�"�	�
�
�a�������=�=�s��&c�F�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�ZdS)r�Nc�`�||||||f\|_|_|_|_|_|_dSr)�registryrQr\r-r]r^)r'r
rQr\r-�docr^s       r
r)zUtilityRegistration.__init__ts6���x��y�#�w�
>�	����
�t�y�$�.�$�)�	
���rc���|jj�d|j�dt|jdd���d|j�dt|jdt|j�����d|j�d|j	�d�S)N�(�, r9�))
rtr9r
�getattrrQr\r-�reprr^r]rus r
rvzUtilityRegistration.__repr__yst����'�'�'��
�
�
���
�z�4�8�8�8�8�$�)�)�)����
�D���4H�4H�I�I�I�I�����d�i�i�i��	rc� �t|��Sr��idrus r
�__hash__zUtilityRegistration.__hash__��
���$�x�x�rc�B�t|��t|��kSr�r�r'�others  r
�__eq__zUtilityRegistration.__eq__�����D�z�z�T�%�[�[�(�(rc�B�t|��t|��kSrrrs  r
�__ne__zUtilityRegistration.__ne__�rrc�B�t|��t|��kSrrrs  r
�__lt__zUtilityRegistration.__lt__�����D�z�z�D��K�K�'�'rc�B�t|��t|��kSrrrs  r
�__le__zUtilityRegistration.__le__�rrc�B�t|��t|��kSrrrs  r
�__gt__zUtilityRegistration.__gt__�r$rc�B�t|��t|��kSrrrs  r
�__ge__zUtilityRegistration.__ge__�rrr�r9r:r;r)rvrrr!r#r&r(r*rrr
r�r�qs�������?�?�?�?�
������)�)�)�)�)�)�(�(�(�)�)�)�(�(�(�)�)�)�)�)rr�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)r�c�`�||||||f\|_|_|_|_|_|_dSr)r
r�rQr\r^r])r'r
r�rQr\r-rs       r
r)zAdapterRegistration.__init__�s6���x��4��C�
?�	����
�t�}�d�i�	
��t�y�y�yrc�&�|jj�d|j�ddd�d�|jD����zdz�dt|jdd���d|j�dt|jdt|j�����d|j
�d�S)Nrr�[c��g|]	}|j��
Sr�r9�r"r�s  r
r$z0AdapterRegistration.__repr__.<locals>.<listcomp>����?�?�?�A�Q�Z�?�?�?r�]r9r)rtr9r
�joinr�rrQr\r^rr]rus r
rvzAdapterRegistration.__repr__�s����N�#�#�#��M�M�M��$�)�)�?�?���?�?�?�@�@�@�3�F�F�F��D�M�:�t�4�4�4�4�d�i�i�i��D�L�*�d�4�<�.@�.@�A�A�A�A�4�9�9�9��	rc� �t|��Srrrus r
rzAdapterRegistration.__hash__�rrc�B�t|��t|��kSrrrs  r
rzAdapterRegistration.__eq__�rrc�B�t|��t|��kSrrrs  r
r!zAdapterRegistration.__ne__�rrc�B�t|��t|��kSrrrs  r
r#zAdapterRegistration.__lt__�r$rc�B�t|��t|��kSrrrs  r
r&zAdapterRegistration.__le__�rrc�B�t|��t|��kSrrrs  r
r(zAdapterRegistration.__gt__�r$rc�B�t|��t|��kSrrrs  r
r*zAdapterRegistration.__ge__�rrNr+rrr
r�r��s�������@�@�@�
������)�)�)�)�)�)�(�(�(�)�)�)�(�(�(�)�)�)�)�)rr�c��eZdZdS)r�N)r9r:r;rrr
r�r��s�������Drr�c�4�eZdZd�Zed���ZdZd�ZdS)r�c�R�|||||f\|_|_|_|_|_dSr)r
r�r\�handlerr])r'r
r�r\r@rs      r
r)zHandlerRegistration.__init__�s-��
�x��w��
3�	����
�t�y�$�,��	�	�	rc��|jSr)r@rus r
r^zHandlerRegistration.factory�s
���|�rNc��|jj�d|j�ddd�d�|jD����zdz�d|j�dt
|jdt|j�����d|j	�d�S)Nrrr/c��g|]	}|j��
Srr1r2s  r
r$z0HandlerRegistration.__repr__.<locals>.<listcomp>�r3rr4r9r)
rtr9r
r5r�r\rr^rr]rus r
rvzHandlerRegistration.__repr__�s����N�#�#�#��M�M�M��$�)�)�?�?���?�?�?�@�@�@�3�F�F�F��I�I�I��D�L�*�d�4�<�.@�.@�A�A�A�A�4�9�9�9��	r)r9r:r;r)rr^rQrvrrr
r�r��sT������4�4�4�����X���H�����rr�N)*�__doc__�collectionsr�
zope.eventr�ImportError�zope.interface.interfacesrr
rrrrrrr�zope.interface.interfacer�zope.interface.declarationsrrrr�zope.interface.adapterr�zope.interface._compatrr�__all__r�rr>r@rr�r�r�r�r�r�r�r�rrr
�<module>rNs�����#�#�#�#�#�#�!�!�!�!�!�!�!�!���!�!�!� � � � � �!����5�4�4�4�4�4�:�:�:�:�:�:�:�:�:�:�:�:�1�1�1�1�1�1�:�:�:�:�:�:�F�F�F�F�F�F�:�:�:�:�:�:�0�0�0�0�0�0�2�2�2�2�2�2�.�.�.�.�.�.�5�5�5�5�5�5�3�3�3�3�3�3�8�8�8�8�8�8�2�2�2�2�2�2�2�2�2�2�2�2�.�.�.�.�.�.�/�/�/�/�/�/��	��"�"�"�"�"�&�"�"�"�6���@A�@A�@A�@A�@A�F�@A�@A�@A�F
��[���j
�j
�j
�j
�j
��j
�j
���j
�X
���4�4�4�4�4�4����8
��
!�"�"�#)�#)�#)�#)�#)�&�#)�#)�#�"�#)�J
��
!�"�"�#)�#)�#)�#)�#)�&�#)�#)�#�"�#)�J��2�3�3�	�	�	�	�	�2�	�	�4�3�	���&�'�'������-���(�'���s���