U
    ­Ê¹j¦  ã                   @   sj   d dl Z d dlmZmZmZ ede jd�ZG dd„ de jƒZG dd„ de jed	�Z	dee
e
dœdd„ZdS )é    N)ÚSequenceÚTypeÚTypeVarÚT)Úboundc                   @   s(   e Zd ZejZee eedœdd„ZdS )ÚStrEnumMeta)ÚselfÚmemberÚreturnc              	   C   s>   z
| | W S  t k
r8   td|› d| j› d�ƒd ‚Y nX d S )NzUnknown value 'z' for Ú.)ÚKeyErrorÚ
ValueErrorÚ__name__)r   r	   © r   úQ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/torchvision/_utils.pyÚfrom_str
   s    
zStrEnumMeta.from_strN)	r   Ú
__module__Ú__qualname__ÚenumÚautor   r   Ústrr   r   r   r   r   r      s   r   c                   @   s   e Zd ZdS )ÚStrEnumN)r   r   r   r   r   r   r   r      s   r   )Ú	metaclassÚ )ÚseqÚseparate_lastr
   c                 C   s~   | sdS t | ƒdkr$d| d › d�S dd dd„ | d d… D ƒ¡ d }|r\t | ƒd	kr\dnd
› d|› d| d › d�}|| S )Nr   é   ú'r   z', 'c                 S   s   g | ]}t |ƒ‘qS r   )r   )Ú.0Úitemr   r   r   Ú
<listcomp>   s     z#sequence_to_str.<locals>.<listcomp>éÿÿÿÿé   ú,ú )ÚlenÚjoin)r   r   ÚheadÚtailr   r   r   Úsequence_to_str   s    $.r)   )r   )r   Útypingr   r   r   ÚEnumr   ÚEnumMetar   r   r   r)   r   r   r   r   Ú<module>   s
   