7i8dZddlZddlmZmZmZGddZy)zUtilities for defining models N)AnyCallableTypeceZdZdZddgZdededddfdZdefd Z d ede fd Z d ede fd Z d ede fd Z d ede fdZd ede fdZd edeeege fde fdZy)KeyBasedCompareMixinz7Provides comparison capabilities that is based on a key _compare_key_defining_classkeydefining_classreturnNc ||_||_yN)rr )selfr r s c/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/pip/_internal/utils/models.py__init__zKeyBasedCompareMixin.__init__ s-c,t|jSr)hashr)rs r__hash__zKeyBasedCompareMixin.__hash__sD%%&&rothercB|j|tjSr)_compareoperator__lt__rrs rrzKeyBasedCompareMixin.__lt__}}UHOO44rcB|j|tjSr)rr__le__rs rrzKeyBasedCompareMixin.__le__rrcB|j|tjSr)rr__gt__rs rr zKeyBasedCompareMixin.__gt__rrcB|j|tjSr)rr__ge__rs rr"zKeyBasedCompareMixin.__ge__rrcB|j|tjSr)rr__eq__rs rr$zKeyBasedCompareMixin.__eq__ rrmethodctt||jstS||j|jSr) isinstancer NotImplementedr)rrr%s rrzKeyBasedCompareMixin._compare#s1%!5!56! !d''););<r2s&&==r