§
    öyIfå  ã                   ó\   — d dl mZ d dlZ ed¦  «        dedefd„¦   «         Zdedefd„ZdS )	é    )Ú	lru_cacheNéd   ÚcÚreturnc                 ó(  — t          | ¦  «        }d|cxk    rdk     rn ndS |dk    s.d|cxk    rdk    s!n d|cxk    rdk    sn d	|cxk    rd
k    rn ndS t          j        | ¦  «        }|dk    rdS |dv rdS t          j        | ¦  «        dv rdS dS )z¯Determine how many columns are needed to display a character in a terminal.

    Returns -1 if the character is not printable.
    Returns 0, 1 or 2 for other characters.
    é    é   é   r   i   i   i(   i.   i`   ic   ÚCcéÿÿÿÿ)ÚMeÚMn)ÚFÚWé   )ÚordÚunicodedataÚcategoryÚeast_asian_width)r   Úor   s      úG/var/www/piapp/venv/lib/python3.11/site-packages/_pytest/_io/wcwidth.pyÚwcwidthr      sþ   € õ 	ˆA‰Œ€Að ˆqÐÐÒÐ�5ÒÐÐÐÐØˆqð 	
ˆVŠˆØ�QÐ Ð Ò Ð ˜&Ò Ð Ð Ð Ø�QÐ Ð Ò Ð ˜&Ò Ð Ð Ð Ø�QÐ Ð Ò Ð ˜&Ò Ð Ð Ð Ð àˆqåÔ# AÑ&Ô&€Hð �4ÒÐØˆrð �<ÐÐØˆqõ Ô# AÑ&Ô&¨*Ð4Ð4Øˆqàˆ1ó    Úsc                 ót   — d}t          j        d| ¦  «        D ]}t          |¦  «        }|dk     r dS ||z  }Œ |S )zŽDetermine how many columns are needed to display a string in a terminal.

    Returns -1 if the string contains non-printable characters.
    r   ÚNFCr   )r   Ú	normalizer   )r   Úwidthr   Úwcs       r   Úwcswidthr    ,   sP   € ð
 €EÝÔ" 5¨!Ñ,Ô,ð ð ˆÝ�Q‰ZŒZˆØ�Š6ˆ6Ø�2�2Ø�‰ˆˆØ€Lr   )Ú	functoolsr   r   ÚstrÚintr   r    © r   r   ú<module>r%      s†   ðØ Ð Ð Ð Ð Ð Ø Ð Ð Ð ð €ˆ3�„ð#ˆsð #�sð #ð #ð #ñ „ð#ðL�ð ˜ð ð ð ð ð ð r   