§
    ‹Ÿjš  ã                   óÊ   — d Z ddlmZ ddlmZ 	 ddddœded	ed
eded         dedefd„Z	 ddddœded	ed
eded         dedefd„Z	 ddddœded	ed
eded         dedefd„Z	dS )zBPython grapheme, emoji, and sequence-aware ljust, rjust, center().é    )ÚLiteralé   )Úwidthú Úparse©Úcontrol_codesÚambiguous_widthÚtextÚ
dest_widthÚfillcharr	   )r   ÚstrictÚignorer
   Úreturnc                óÌ   — |                       ¦   «         r$|                      ¦   «         rt          | ¦  «        }nt          | ||¬¦  «        }t	          d||z
  ¦  «        }| ||z  z   S )u)  
    Return text left-justified in a string of given display width.

    :param text: String to justify, may contain terminal sequences.
    :param dest_width: Total display width of result in terminal cells.
    :param fillchar: Single character for padding (default space). Must have
        display width of 1 (not wide, not zero-width, not combining). Unicode
        characters like ``'Â·'`` are acceptable. The width is not validated.
    :param control_codes: How to handle control sequences when measuring.
        Passed to :func:`width` for measurement.
    :param ambiguous_width: Width to use for East Asian Ambiguous (A)
        characters. Default is ``1`` (narrow). Set to ``2`` for CJK contexts.
    :returns: Text padded on the right to reach ``dest_width``.

    .. versionadded:: 0.3.0

    Example::

        >>> wcwidth.ljust('hi', 5)
        'hi   '
        >>> wcwidth.ljust('\x1b[31mhi\x1b[0m', 5)
        '\x1b[31mhi\x1b[0m   '
        >>> wcwidth.ljust('\U0001F468\u200D\U0001F469\u200D\U0001F467', 6)
        'ðŸ‘¨â€�ðŸ‘©â€�ðŸ‘§    '
    r   r   ©ÚisasciiÚisprintableÚlenr   Úmax©r   r   r   r	   r
   Ú
text_widthÚpadding_cellss          úZ/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/wcwidth/align.pyÚljustr      so   € ðB ‡|‚|�~„~ð _˜$×*Ò*Ñ,Ô,ð _Ý˜‘Y”Yˆ
ˆ
å˜4¨}ÈoÐ^Ñ^Ô^ˆ
Ý˜˜:¨
Ñ2Ñ3Ô3€MØ�(˜]Ñ*Ñ*Ð*ó    c                óÌ   — |                       ¦   «         r$|                      ¦   «         rt          | ¦  «        }nt          | ||¬¦  «        }t	          d||z
  ¦  «        }||z  | z   S )u)  
    Return text right-justified in a string of given display width.

    :param text: String to justify, may contain terminal sequences.
    :param dest_width: Total display width of result in terminal cells.
    :param fillchar: Single character for padding (default space). Must have
        display width of 1 (not wide, not zero-width, not combining). Unicode
        characters like ``'Â·'`` are acceptable. The width is not validated.
    :param control_codes: How to handle control sequences when measuring.
        Passed to :func:`width` for measurement.
    :param ambiguous_width: Width to use for East Asian Ambiguous (A)
        characters. Default is ``1`` (narrow). Set to ``2`` for CJK contexts.
    :returns: Text padded on the left to reach ``dest_width``.

    .. versionadded:: 0.3.0

    Example::

        >>> wcwidth.rjust('hi', 5)
        '   hi'
        >>> wcwidth.rjust('\x1b[31mhi\x1b[0m', 5)
        '   \x1b[31mhi\x1b[0m'
        >>> wcwidth.rjust('\U0001F468\u200D\U0001F469\u200D\U0001F467', 6)
        '    ðŸ‘¨â€�ðŸ‘©â€�ðŸ‘§'
    r   r   r   r   s          r   Úrjustr   1   so   € ðB ‡|‚|�~„~ð _˜$×*Ò*Ñ,Ô,ð _Ý˜‘Y”Yˆ
ˆ
å˜4¨}ÈoÐ^Ñ^Ô^ˆ
Ý˜˜:¨
Ñ2Ñ3Ô3€MØ�mÑ# dÑ*Ð*r   c                óþ   — |                       ¦   «         r$|                      ¦   «         rt          | ¦  «        }nt          | ||¬¦  «        }t	          d||z
  ¦  «        }|dz  ||z  dz  z   }||z
  }||z  | z   ||z  z   S )u^  
    Return text centered in a string of given display width.

    :param text: String to center, may contain terminal sequences.
    :param dest_width: Total display width of result in terminal cells.
    :param fillchar: Single character for padding (default space). Must have
        display width of 1 (not wide, not zero-width, not combining). Unicode
        characters like ``'Â·'`` are acceptable. The width is not validated.
    :param control_codes: How to handle control sequences when measuring.
        Passed to :func:`width` for measurement.
    :param ambiguous_width: Width to use for East Asian Ambiguous (A)
        characters. Default is ``1`` (narrow). Set to ``2`` for CJK contexts.
    :returns: Text padded on both sides to reach ``dest_width``.

    For odd-width padding, the extra cell fills in the same cell position as
    Python's :meth:`str.center` behavior (the left side when ``dest_width`` is
    odd, the right side when ``dest_width`` is even).
    See `the eccentric str.center <https://jazcap53.github.io/pythons-eccentric-strcenter.html>`_.

    .. versionadded:: 0.3.0

    Example::

        >>> wcwidth.center('hi', 6)
        '  hi  '
        >>> wcwidth.center('\x1b[31mhi\x1b[0m', 6)
        '  \x1b[31mhi\x1b[0m  '
        >>> wcwidth.center('\U0001F468\u200D\U0001F469\u200D\U0001F467', 6)
        '  ðŸ‘¨â€�ðŸ‘©â€�ðŸ‘§  '
    r   r   é   r   r   )	r   r   r   r	   r
   r   Útotal_paddingÚleft_padÚ	right_pads	            r   Úcenterr$   Z   sœ   € ðL ‡|‚|�~„~ð _˜$×*Ò*Ñ,Ô,ð _Ý˜‘Y”Yˆ
ˆ
å˜4¨}ÈoÐ^Ñ^Ô^ˆ
Ý˜˜:¨
Ñ2Ñ3Ô3€Mà Ñ! ]°ZÑ%?À!Ñ%CÑD€HØ Ñ(€IØ�hÑ Ñ%¨°9Ñ(<Ñ<Ð<r   N)r   )
Ú__doc__Útypingr   Ú_widthr   ÚstrÚintr   r   r$   © r   r   ú<module>r+      sŠ  ðØ HÐ HØ Ð Ð Ð Ð Ð ð Ð Ð Ð Ð Ð ð ð&+ð
 ;BØð&+ð &+ð &+Ø
ð&+àð&+ð ð&+ð
 Ð6Ô7ð&+ð ð&+ð 	ð&+ð &+ð &+ð &+ðX ð&+ð
 ;BØð&+ð &+ð &+Ø
ð&+àð&+ð ð&+ð
 Ð6Ô7ð&+ð ð&+ð 	ð&+ð &+ð &+ð &+ðX ð.=ð
 ;BØð.=ð .=ð .=Ø
ð.=àð.=ð ð.=ð
 Ð6Ô7ð.=ð ð.=ð 	ð.=ð .=ð .=ð .=ð .=ð .=r   