ó
    öÞ já  ã                   óH   • S r SSKrSSKJr  SSKJrJr  S/r " S S\5      rg)zÁ
pygments.formatters.groff
~~~~~~~~~~~~~~~~~~~~~~~~~

Formatter for groff output.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é    N)Ú	Formatter)Úget_bool_optÚget_int_optÚGroffFormatterc                   óR   • \ rS rSrSrSr/ SQr/ rS rS r	S r
S rS	 rS
 rS rSrg)r   é   aç  
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                 óè   • [         R                  " U 40 UD6  [        USS5      U l        [        USS5      U l        SU l        [        USS5      U l        SU l        0 U l	        U R                  5         g )NÚ
monospacedTÚlinenosFr   Úwrap)r   Ú__init__r   r   r   Ú_linenor   r   Ú_linelenÚstylesÚ_make_styles)ÚselfÚoptionss     ÚS/var/www/html/gaurav/venv/lib/python3.13/site-packages/pygments/formatters/groff.pyr   ÚGroffFormatter.__init__-   sf   € Ü×Ò˜4Ñ+ 7Ò+ä& w°¸dÓCˆŒÜ# G¨Y¸Ó>ˆŒØˆŒÜ ¨°Ó3ˆŒ	ØˆŒàˆŒØ×ÑÕó    c                 ó²  • U R                   (       a  SOSnU R                   (       a  SOSnU R                   (       a  SOSnU R                   Hˆ  u  pES=pgUS   (       a  US	R                  US   5      -  nS
U-   nUS   (       a  Xb-  nX-   nUS   (       a  Xc-  nX-   nUS   (       a  USR                  US   5      -  nSU-   nXg4U R                  U'   MŠ     g )Nz\f[CR]z\f[R]z\f[CB]z\f[B]z\f[CI]z\f[I]Ú Úcolorz\m[{}]z\m[]ÚboldÚitalicÚbgcolorz\M[{}]z\M[])r   ÚstyleÚformatr   )r   Úregularr   r   ÚttypeÚndefÚstartÚends           r   r   ÚGroffFormatter._make_styles:   sÍ   € Ø#ŸŸ‘)°HˆØ ŸOŸO‰y°ˆØ"ŸoŸo‘°8ˆàŸ:œ:‰KˆEØÐˆEØ�G�}Ø˜×)Ñ)¨$¨w©-Ó8Ñ8�Ø ‘m�Ø�F�|Ø‘�Ø‘m�Ø�H�~Ø‘�Ø‘m�Ø�I�Ø˜×)Ñ)¨$¨y©/Ó:Ñ:�Ø ‘m�à!& ˆD�K‰K˜Óò &r   c                 óØ   • [        5       nU R                   H!  u  p4US   c  M  UR                  US   5        M#     [        U5       H   nUR	                  SU-   S-   U-   S-   5        M"     g )Nr   z
.defcolor z rgb #Ú
)Úsetr    ÚaddÚsortedÚwrite)r   ÚoutfileÚcolorsÚ_r$   r   s         r   Ú_define_colorsÚGroffFormatter._define_colorsQ   sc   € Ü“ˆØ—z”z‰GˆAØ�G‰}Ó(Ø—
‘
˜4 ™=Ö)ñ "ô ˜F–^ˆEØ�M‰M˜,¨Ñ.°Ñ9¸EÑAÀDÑHÖIò $r   c                 ó¬   • U =R                   S-  sl         UR                  SU R                   S:g  =(       a    S=(       d    SU R                   4-  5        g )Né   z%s% 4d r)   r   )r   r-   )r   r.   s     r   Ú_write_linenoÚGroffFormatter._write_lineno[   s=   € Ø�Š˜Ñ�Ø�‰�i 4§<¡<°1Ñ#4×#=¸×#CÀÀTÇ\Á\Ð"RÑRÕSr   c                 ó&  • [        UR                  S5      5      nU R                  (       a  SOSnSnX R                  :”  aŒ  [	        S[
        R                  " X R                  -  5      5       H7  nXU R                  -  XPR                  -  U R                  -    nXFS-   U-   -  nM9     X R                  -  nUS:”  a  XAX'-
  S  -  nXpl        U$ U R                  U-   U R                  :”  a  SU-   U-   nX l        U$ UnU =R                  U-  sl        U$ )Nr)   z     r   r   )ÚlenÚrstripr   r   ÚrangeÚmathÚfloorr   )r   ÚlineÚlengthÚspaceÚnewlineÚiÚchunkÚ	remainders           r   Ú
_wrap_lineÚGroffFormatter._wrap_line`   s  € Ü�T—[‘[ Ó&Ó'ˆØŸ<Ÿ<‘¨RˆØˆà—I‘IÓÜ˜1œdŸjšj¨·)±)Ñ);Ó<Ö=�Ø˜tŸy™y™[¨¯9©9©°T·Y±YÑ)>Ð?�Ø D™L¨5Ñ0Ñ1’ñ >ð §¡Ñ*ˆIØ˜1‹}Ø Ñ 0Ð 1Ð2Ñ2�Ø )”ð ˆð �]‰]˜VÑ# d§i¡iÓ/Ø˜e‘| tÑ+ˆGØ"ŒMð
 ˆð ˆGØ�MŠM˜VÑ#�Màˆr   c                 óÆ  • UR                  SS5      R                  SS5      R                  SS5      R                  SS5      R                  S	S
5      nUnU H†  n[        U5      [        UR                  5       5      :w  d  M+  UR                  S5      R                  5       SS  R                  SS5      R	                  5       nUR                  USUSS  -   S-   5      nMˆ     U$ )NÚ\z\[u005C]Ú.z	\[char46]Ú'z\[u0027]Ú`z\[u0060]Ú~z\[u007E]Úunicode_escaper4   ÚxÚu00z\[uÚ])Úreplacer8   ÚencodeÚdecodeÚupper)r   ÚtextÚcopyÚcharÚunis        r   Ú_escape_charsÚGroffFormatter._escape_charsw   sË   € Ø�|‰|˜D +Ó.ß‘G˜C Ó.ß‘G˜D +Ó.ß‘G˜C Ó-ß‘G˜C Ó-ð	 	ð
 ˆãˆDÜ�4‹yœC §¡£Ó.Õ.Ø—k‘kÐ"2Ó3ß‘V“X˜a˜bð"ç‘W˜S %Ó(ß‘U“Wð ð —|‘| D¨&°3°q°r°7Ñ*:¸SÑ*@ÓA’ñ ð ˆr   c           	      óz  • U R                  U5        UR                  S5        U R                  (       a  U R                  U5        U GH_  u  p4X0R                  ;  a  UR
                  nX0R                  ;  a  M  U R                  U   u  pVUR                  S5       GH  nU R                  S:”  a  U R                  U5      nU(       aP  U(       aI  U R                  UR                  S5      5      nUS:w  a"  UR                  SR                  XXU45      5        O/UR                  U R                  UR                  S5      5      5        UR                  S5      (       d  MÃ  U R                  (       a  U R                  U5        SU l        Mî  UR                  S5        SU l        GM	     GMb     UR                  S5        g )Nz.nf
\f[CR]
Tr   r)   r   z
.fi)r1   r-   r   r5   r   ÚparentÚ
splitlinesr   rD   rX   r9   ÚjoinÚendswithr   )	r   Útokensourcer.   r#   Úvaluer%   r&   r=   rT   s	            r   Úformat_unencodedÚGroffFormatter.format_unencodedŠ   sG  € Ø×Ñ˜GÔ$à�‰Ð&Ô'à�<�<Ø×Ñ˜wÔ'ä'‰LˆEØŸ{™{Ó*ØŸ™�ð Ÿ{™{Õ*àŸ™ UÑ+‰JˆEà×(Ñ(¨×.�Ø—9‘9˜q“=ØŸ?™?¨4Ó0�DæžSØ×-Ñ-¨d¯k©k¸$Ó.?Ó@�DØ˜r“zØŸ™ b§g¡g¨u¸CÐ.@Ó&AÔBøà—M‘M $×"4Ñ"4°T·[±[ÀÓ5FÓ"GÔHà—=‘= ×&Ó&Ø—|—|Ø×*Ñ*¨7Ô3Ø()˜žàŸ™ dÔ+Ø()˜Ÿô# /ñ (ð0 	�‰�gÕr   )r   r   r   r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚaliasesÚ	filenamesr   r   r1   r5   rD   rX   ra   Ú__static_attributes__© r   r   r   r      s=   † ñð, €DÚ&€GØ€Iò
ò,ò.JòTò
ò.õ& r   )	rg   r;   Úpygments.formatterr   Úpygments.utilr   r   Ú__all__r   rl   r   r   Ú<module>rp      s+   ðñó Ý (ß 3àÐ
€ôX�Yõ Xr   