HEX
Server: Apache/2.4.67 (Debian)
System: Linux vps-b2547eb4 6.1.0-41-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pygments/formatters/__pycache__/groff.cpython-311.pyc
�

�E�c���P�dZddlZddlmZddlmZmZdgZGd�de��ZdS)z�
    pygments.formatters.groff
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Formatter for groff output.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�	Formatter)�get_bool_opt�get_int_opt�GroffFormatterc�L�eZdZdZdZgd�ZgZd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
dS)ra
    Format tokens with groff escapes to change their color and font style.

    .. versionadded:: 2.11

    Additional options accepted:

    `style`
        The style to use, can be a string or a Style subclass (default:
        ``'default'``).

    `monospaced`
        If set to true, monospace font will be used (default: ``true``).

    `linenos`
        If set to true, print the line numbers (default: ``false``).

    `wrap`
        Wrap lines to the specified number of characters. Disabled if set to 0
        (default: ``0``).
    �groff)r�troff�roffc��tj|fi|��t|dd��|_t|dd��|_d|_t
|dd��|_d|_i|_	|�
��dS)N�
monospacedT�linenosFr�wrap)r�__init__rrr
�_linenorr�_linelen�styles�_make_styles)�self�optionss  �;/usr/lib/python3/dist-packages/pygments/formatters/groff.pyrzGroffFormatter.__init__-s�����4�+�+�7�+�+�+�&�w��d�C�C���#�G�Y��>�>����������3�3��	���
������������c�6�|jrdnd}|jrdnd}|jrdnd}|jD]o\}}dx}}|dr|d	|dzz
}d
|z}|dr
||z
}||z}|dr
||z
}||z}|d
r|d|d
zz
}d|z}||f|j|<�pdS)Nz\f[CR]z\f[R]z\f[CB]z\f[B]z\f[CI]z\f[I]��colorz\m[%s]z\m[]�bold�italic�bgcolorz\M[%s]z\M[])r�styler)r�regularrr�ttype�ndef�start�ends        rrzGroffFormatter._make_styles:s���#��<�)�)�H�� �O�9�y�y���"�o�;���8���:�	,�	,�K�E�4���E�C��G�}�
$���T�'�]�2�2����m���F�|�
$���
����m���H�~�
$�������m���I��
$���T�)�_�4�4����m��!&���D�K����	,�	,rc���t��}|jD](\}}|d�|�|d���)|D]#}|�d|zdz|zdz���$dS)Nrz
.defcolor z rgb #�
)�setr�add�write)r�outfile�colors�_r!rs      r�_define_colorszGroffFormatter._define_colorsQs��������z�	*�	*�G�A�t��G�}�(��
�
�4��=�)�)�)���	J�	J�E��M�M�,��.��9�E�A�D�H�I�I�I�I�	J�	Jrc�~�|xjdz
c_|�d|jdkrdpd|jfz��dS)N�z%s% 4d r%r)rr()rr)s  r�
_write_linenozGroffFormatter._write_lineno[sG����������
�
�i�4�<�1�#4�#=��#C��T�\�"R�R�S�S�S�S�Src���t|�d����}|jrdnd}d}||jkr�t	dtj||jz����D]/}|||jz||jz|jz�}||dz|zz
}�0||jz}|dkr|||dz
d�z
}||_n5|j|z|jkrd|z|z}||_n|}|xj|z
c_|S)Nr%z     rrr.)�len�rstripr
r�range�math�floorr)r�line�length�space�newline�i�chunk�	remainders        r�
_wrap_linezGroffFormatter._wrap_line`s���T�[�[��&�&�'�'���<�/���R�����D�I����1�d�j��$�)�);�<�<�=�=�
2�
2���Q�t�y�[��4�9��T�Y�)>�>�?���E�D�L�5�0�1������*�I��1�}�}��4��
�1��
�
�.�.�� )��
��
�]�V�
#�d�i�
/�
/��e�|�t�+�G�"�D�M�M��G��M�M�V�#�M�M��rc�6�|�dd���dd���dd���dd���d	d
��}|}|D]�}t|��t|�����kry|�d�����dd��d
d�����}|�|d|dd�zdz��}��|S)N�\z\[u005C]�.z	\[char46]�'z\[u0027]�`z\[u0060]�~z\[u007E]�unicode_escaper.�x�u00z\[u�])�replacer1�encode�decode�upper)r�text�copy�char�unis     r�
_escape_charszGroffFormatter._escape_charsws����|�|�D�+�.�.��G�C��.�.��G�D�+�.�.��G�C��-�-��G�C��-�-�		
�
���	B�	B�D��4�y�y�C����
�
�.�.�.�.��k�k�"2�3�3��V�X�X�a�b�b�"��W�S�%�(�(��U�W�W���|�|�D�&�3�q�r�r�7�*:�S�*@�A�A����rc	�r�|�|��|�d��|jr|�|��|D�]W\}}||jvr|j}||jv�|j|\}}|�d��D�]}|jdkr|�|��}|r\|rZ|�	|�
d����}|dkr+|�d�|||f����n;|�|�	|�
d������|�d��r@|jr|�|��d|_
��|�d��d|_
����Y|�d��dS)Nz.nf
\f[CR]
Trr%rz
.fi)r,r(r
r/r�parent�
splitlinesrr=rPr2�join�endswithr)	r�tokensourcer)r �valuer"r#r6rLs	         r�format_unencodedzGroffFormatter.format_unencoded�s������G�$�$�$��
�
�&�'�'�'��<�	(����w�'�'�'�'�	*�	*�L�E�5��t�{�*�*�����t�{�*�*���U�+�J�E�3��(�(��.�.�
*�
*���9�q�=�=��?�?�4�0�0�D��I�S�I��-�-�d�k�k�$�.?�.?�@�@�D��r�z�z��
�
�b�g�g�u�d�C�.@�&A�&A�B�B�B���M�M�$�"4�"4�T�[�[��5F�5F�"G�"G�H�H�H��=�=��&�&�*��|�*��*�*�7�3�3�3�()��
�
��
�
�d�+�+�+�()��
��#
*�&	�
�
�g�����rN)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenamesrrr,r/r=rPrX�rrrrs���������,�D�&�&�&�G��I�
�
�
�,�,�,�.J�J�J�T�T�T�
���.���& � � � � r)	r\r4�pygments.formatterr�
pygments.utilrr�__all__rr`rr�<module>rds���������(�(�(�(�(�(�3�3�3�3�3�3�3�3��
��X�X�X�X�X�Y�X�X�X�X�Xr