HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/attr/__pycache__/_cmp.cpython-311.pyc
�

C�;f���`�ddlZddlZddlmZdddddd	�Z							dd�Zd
�Zd�Zd�Zd�Z	dS)�N�)�_make_nez==�<z<=�>z>=)�eq�lt�le�gt�geT�
Comparablec�R��dgt��gtd��d}d}|�&d}td|���d<t���d	<|�|d
z
}td|���d<|�|d
z
}td
|���d<|�|d
z
}td|���d<|�|d
z
}td|���d<t	j|tfi�fd���}	|r|	j�t��d|cxkrdkr*nn'|sd}
t|
���tj|	��}	|	S)a�
    Create a class that can be passed into `attrs.field`'s ``eq``, ``order``,
    and ``cmp`` arguments to customize field comparison.

    The resulting class will have a full set of ordering methods if at least
    one of ``{lt, le, gt, ge}`` and ``eq``  are provided.

    :param Optional[callable] eq: `callable` used to evaluate equality of two
        objects.
    :param Optional[callable] lt: `callable` used to evaluate whether one
        object is less than another object.
    :param Optional[callable] le: `callable` used to evaluate whether one
        object is less than or equal to another object.
    :param Optional[callable] gt: `callable` used to evaluate whether one
        object is greater than another object.
    :param Optional[callable] ge: `callable` used to evaluate whether one
        object is greater than or equal to another object.

    :param bool require_same_type: When `True`, equality and ordering methods
        will return `NotImplemented` if objects are not of the same type.

    :param Optional[str] class_name: Name of class. Defaults to 'Comparable'.

    See `comparison` for more details.

    .. versionadded:: 21.1.0
    �value)�	__slots__�__init__�
_requirements�_is_comparable_torFNTr�__eq__�__ne__rr�__lt__r	�__le__r
�__gt__r�__ge__c�.��|����S�N)�update)�ns�bodys ��</opt/alt/python311/lib/python3.11/site-packages/attr/_cmp.py�<lambda>zcmp_using.<locals>.<lambda>Ss���b�i�i��o�o���zDeq must be define is order to complete ordering from lt, le, gt, ge.)
�
_make_initr�_make_operatorr�types�	new_class�objectr�append�_check_same_type�
ValueError�	functools�total_ordering)rrr	r
r�require_same_type�
class_name�num_order_functions�has_eq_function�type_�msgrs           @r�	cmp_usingr2
s����L�Y��L�L��.�	��D����O�	�~���'��b�1�1��X��!����X��	�~��q� ��'��b�1�1��X��	�~��q� ��'��b�1�1��X��	�~��q� ��'��b�1�1��X��	�~��q� ��'��b�1�1��X���O��V�I�r�#=�#=�#=�#=�
�
�E�
�5�
��"�"�#3�4�4�4�	��"�"�"�"��"�"�"�"�"��	"�Y�C��S�/�/�!��(��/�/���Lr c��d�}|S)z!
    Create __init__ method.
    c��||_dS)z1
        Initialize object with *value*.
        N)r)�selfrs  rrz_make_init.<locals>.__init__ks����
�
�
r �)rs rr"r"fs��
����Or c�T���fd�}d|�d�|_dt|�d�|_|S)z!
    Create operator method.
    c���|�|��stS�|j|j��}|turtS|Sr)r�NotImplementedr)r5�other�result�funcs   �r�methodz_make_operator.<locals>.methodysJ����%�%�e�,�,�	"�!�!���d�j�%�+�.�.���^�#�#�!�!��
r �__z	Return a z b.  Computed by attrs.)�__name__�_operation_names�__doc__)�namer<r=s ` rr#r#tsO���
�����$�4�m�m�m�F�O�C�$�T�*�C�C�C��N��Mr c�H���t��fd��jD����S)z8
    Check whether `other` is comparable to `self`.
    c3�0�K�|]}|����V��dSrr6)�.0r<r:r5s  ��r�	<genexpr>z$_is_comparable_to.<locals>.<genexpr>�s/�����@�@�T�t�t�D�%� � �@�@�@�@�@�@r )�allr�r5r:s``rrr�s/�����@�@�@�@�@�T�-?�@�@�@�@�@�@r c�2�|jj|jjuS)zR
    Return True if *self* and *other* are of the same type, False otherwise.
    )r�	__class__rHs  rr(r(�s���;� �D�J�$8�8�8r )NNNNNTr)
r*r$�_makerr@r2r"r#rr(r6r r�<module>rLs������������������c��S��M�M���������V�V�V�V�r������.A�A�A�9�9�9�9�9r