U
    
3gy
  ã                   @  s`   d dl mZ d dlZd dlmZ d dlmZ ddlmZ G dd„ deƒZ	ed	dd
œdd„ƒZ
dS )é    )ÚannotationsN)Ú	lru_cache)Ú
NamedTupleé   )Ú	deprecatec                   @  sH   e Zd ZU dZded< ded< ded< ded< ded< dd	œd
d„ZdS )ÚModeDescriptorzWrapper for mode strings.ÚstrÚmodeztuple[str, ...]ÚbandsZbasemodeZbasetypeZtypestr)Úreturnc                 C  s   | j S )N)r	   )Úself© r   ú1/tmp/pip-unpacked-wheel-tbvhwjp8/PIL/ImageMode.pyÚ__str__!   s    zModeDescriptor.__str__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   r   r      s   
r   r   )r	   r   c                 C  sÚ   t jdkrdnd}ddddd|› d	fdd
d|› dfddddddddddddddddœ}| |kr”| dkrtt| dƒ ||  \}}}}t| ||||ƒS dddddd |› d!|› d"d#d$d#d%d&d%d'œ}||  }t| ddd|ƒS )(z*Gets a mode descriptor for the given mode.Úlittleú<ú>)ÚLr   )Ú1z|b1)r   r   )r   ú|u1r   ÚI)r   Úi4ÚF)r   Zf4)ÚPr   )r   r   )ÚRGBr   )ÚRÚGÚBr   )r   r   )r    r!   r"   ÚXr   )r   r   )r    r!   r"   ÚAr   )r   r   )ÚCÚMÚYÚKr   )r   r   )r'   ZCbZCrr   )r   r   )r   r$   r"   r   )r   r   )ÚHÚSÚVr   )r   r   )r    r!   r"   Úar   )r   r   )r"   r!   r    r   )r   r   )r   r$   r   )r   r   )r   r,   r   )r   r   )r   r$   r   )r   r   r   r   r   r   ZRGBXZRGBAZCMYKZYCbCrZLABZHSVZRGBaúBGR;15úBGR;16úBGR;24ZLAZLaZPA)r-   r.   r/   é   z<u2z<i2z>u2z>i2Úu2Úi2z<u4z>u4z<i4z>i4)zI;16zI;16SzI;16LzI;16LSzI;16BzI;16BSzI;16NzI;16NSzI;32zI;32BzI;32LzI;32SzI;32BSzI;32LS)ÚsysÚ	byteorderr   r   )r	   ZendianÚmodesZ	base_modeZ	base_typer
   Ztype_strZmapping_modesr   r   r   Úgetmode%   sV    é
ñr6   )Ú
__future__r   r3   Ú	functoolsr   Útypingr   Z
_deprecater   r   r6   r   r   r   r   Ú<module>   s   