ó
    Eñi	  ã                  óN   • S SK Jr  S SKJr  S SKr\" S5      SS j5       rSS jrg)	é    )Úannotations)Ú	lru_cacheNéd   c                ó$  • [        U 5      nSUs=::  a  S:  a   g  US:X  d/  SUs=::  a  S::  d"  O  SUs=::  a  S::  d  O  S	Us=::  a  S
::  a   g  Og[        R                  " U 5      nUS:X  a  gUS;   a  g[        R                  " U 5      S;   a  gg)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)ÚcÚor   s      ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/_pytest/_io/wcwidth.pyÚwcwidthr      s¤   € ô 	ˆA‹€Að ˆqÕ�5ÔØð ð
 	
ˆV‹Ø�QÕ ˜&Õ Ø�QÕ ˜&Õ Ø�QÕ ˜&Ô àñ !àä×#Ò# AÓ&€Hð �4ÓØð �<ÓØô ×#Ò# AÓ&¨*Ó4Øàó    c                ót   • Sn[         R                  " SU 5       H  n[        U5      nUS:  a    gX-  nM     U$ )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   )ÚsÚwidthr   Úwcs       r   Úwcswidthr    .   sA   € ð
 €EÜ×"Ò" 5¨!Ö,ˆÜ�Q‹ZˆØ�‹6ÙØ‰Šñ	 -ð
 €Lr   )r   ÚstrÚreturnÚint)r   r!   r"   r#   )Ú
__future__r   Ú	functoolsr   r   r   r    © r   r   Ú<module>r'      s,   ðÝ "å Û ñ ˆ3ƒó#ó ð#õLr   