U ��.e|�@s dZddlZGdd�de�ZdS)zUtilities for defining models �Nc@sXeZdZdZdd�Zdd�Zdd�Zdd �Zd d �Zd d �Z dd�Z dd�Z dd�Z dS)�KeyBasedCompareMixinz/usr/lib/python3.8/site-packages/pip/_internal/utils/models.py�__init__ szKeyBasedCompareMixin.__init__cCs t|j�Sr)�hashr)rrrr �__hash__szKeyBasedCompareMixin.__hash__cCs|�|tj�Sr)�_compare�operator�__lt__�r�otherrrr rszKeyBasedCompareMixin.__lt__cCs|�|tj�Sr)r r�__le__rrrr rszKeyBasedCompareMixin.__le__cCs|�|tj�Sr)r r�__gt__rrrr rszKeyBasedCompareMixin.__gt__cCs|�|tj�Sr)r r�__ge__rrrr rszKeyBasedCompareMixin.__ge__cCs|�|tj�Sr)r r�__eq__rrrr r szKeyBasedCompareMixin.__eq__cCs|�|tj�Sr)r r�__ne__rrrr r#szKeyBasedCompareMixin.__ne__cCst||j�stS||j|j�Sr)� isinstancer�NotImplementedr)rr�methodrrr r &s zKeyBasedCompareMixin._compareN) �__name__� __module__� __qualname__�__doc__r r rrrrrrr rrrr r sr)rr�objectrrrrr �s