o �J�hI�@sNddlmZddlmZddlmZmZeeddddd�Gdd �d ���Zd S) �)�total_ordering�)�astuple)�attrib�attrsFT)�eq�order�slots�frozenc@s\eZdZdZeed�Zeed�Zeed�Zee d�Z e dd��Z dd�Z dd�Zd d �Zd S) � VersionInfoa� A version object that can be compared to tuple of length 1--4: >>> attr.VersionInfo(19, 1, 0, "final") <= (19, 2) True >>> attr.VersionInfo(19, 1, 0, "final") < (19, 1, 1) True >>> vi = attr.VersionInfo(19, 2, 0, "final") >>> vi < (19, 1, 1) False >>> vi < (19,) False >>> vi == (19, 2,) True >>> vi == (19, 2, 1) False .. versionadded:: 19.2 )�typecCsL|�d�}t|�dkr|�d�|t|d�t|d�t|d�|dd�S)z6 Parse *s* and return a _VersionInfo. �.��finalrr�)�year�minor�micro� releaselevel)�split�len�append�int)�cls�s�v�r�PC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\attr\_version_info.py�_from_version_string&s   $�z VersionInfo._from_version_stringcCsZ|j|jur t|�}t|t�st�dt|�krdks!t�t�t|�dt|��|fS)z� Ensure *other* is a tuple of a valid length. Returns a possibly transformed *other* and ourselves as a tuple of the same length as *other*. r�N)� __class__r� isinstance�tuple�NotImplementedErrorr)�self�otherrrr� _ensure_tuple3s  �zVersionInfo._ensure_tuplecCs0z |�|�\}}W||kStytYSw�N�r&r#�NotImplemented�r$r%�usZthemrrr�__eq__Fs  ��zVersionInfo.__eq__cCs0z |�|�\}}W||kStytYSwr'r(r*rrr�__lt__Ns  ��zVersionInfo.__lt__N)�__name__� __module__� __qualname__�__doc__rrrrr�strr� classmethodrr&r,r-rrrrr s       r N)� functoolsr�_funcsr�_makerrr rrrr�<module>s  
Memory