§
    XŠtj4  ã                   óž   — d Z ddlmZmZmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZ ddgZ G d„ de¦  «        Z G d„ de¦  «        ZdS )	zÖ
    pygments.lexers.varnish
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Varnish configuration

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚbygroupsÚusingÚthisÚinheritÚwords)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚLiteralÚ
WhitespaceÚVCLLexerÚVCLSnippetLexerc                   ó¸  — e Zd ZdZdZdgZdgZdgZdZdZ	d„ Z
 ed	¦  «         ed
¦  «        d eej        e ee¦  «        e¦  «        fdedfg ed	¦  «         ed
¦  «        defdefdefdedfg ed	¦  «        d eej        eej        j        e¦  «        fd eej        ee¦  «        dfd eej        e ee¦  «        e¦  «        fdedfdedfgdej        fdej        fdej        fdej        fdej        f edd¬¦  «        ej        fdefd efd!ef ed"d¬¦  «        efd#ej        f ed$¦  «        ej        fd%efd& eeej        j        e¦  «        d'fd( eeej        j        e¦  «        dfd) eeej        j        e¦  «        d*fd+ eej        ej        e¦  «        fd, eeej        e¦  «        fd- eej        eej         ee¦  «        ¦  «        fd.efgd/ej        fd0ej        dfd1ej        dfd2ej        fgd3efd0ej        d4fd5efgd6e dfd7e fgd8e fd9e dfd:e fgd;e d<fd=e d>fd?e!fd@e!fdAe"fg ed	¦  «         ed
¦  «         edB¦  «        d@e!fgdCœ
Z#dDS )Er   z3
    For Varnish Configuration Language (VCL).
    ÚVCLÚvclz*.vclztext/x-vclsrcúXhttps://www.varnish-software.com/developers/tutorials/varnish-configuration-language-vclú2.2c                 óP   — |                       d¦  «        rdS d| d d…         v rdS d S )Nzvcl 4.0;g      ð?z	
vcl 4.0;iè  gÍÌÌÌÌÌì?)Ú
startswith©Útexts    úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/varnish.pyÚanalyse_textzVCLLexer.analyse_text   s?   € ð �?Š?˜:Ñ&Ô&ð 	Ø�3ð ˜T % 4 %œ[Ð(Ð(Ø�3ð )Ð(ó    Ú
whitespaceÚcommentsz(\.\w+)(\s*=\s*)([^;]*)(;)z\}z#popz[!/]+ú;z\d+z(\.probe)(\s*=\s*)(\w+)(;)z(\.probe)(\s*=\s*)(\{)Úprobez!(\.\w+\b)(\s*=\s*)([^;\s]*)(\s*;)z\{z#pushz(\d\.)?\d+[sdwhmy]z(\d\.)?\d+msz£(vcl_pass|vcl_hash|vcl_hit|vcl_init|vcl_backend_fetch|vcl_pipe|vcl_backend_response|vcl_synth|vcl_deliver|vcl_backend_error|vcl_fini|vcl_recv|vcl_purge|vcl_miss)\bzV(pipe|retry|hash|synth|deliver|purge|abandon|lookup|pass|fail|ok|miss|fetch|restart)\bz8(beresp|obj|resp|req|req_top|bereq)\.http\.[a-zA-Z_-]+\b)?z
obj.statuszreq.hash_always_misszberesp.backendzreq.esi_levelzreq.can_gzipz
beresp.ttlzobj.uncacheablezreq.ttlzobj.hitszclient.identityzreq.hash_ignore_busyz
obj.reasonzreq.xidzreq_top.protoz
beresp.agez	obj.protozobj.agezlocal.ipzberesp.uncacheablez
req.methodzberesp.backend.ipÚnowz	obj.gracezreq.restartszberesp.keepz	req.protoz
resp.protoz	bereq.xidzbereq.between_bytes_timeoutzreq.esizbereq.first_byte_timeoutzbereq.methodzbereq.connect_timeoutzberesp.do_gzipzresp.statuszberesp.do_gunzipzberesp.storage_hintzresp.is_streamingzberesp.do_streamzreq_top.methodzbereq.backendzberesp.backend.namezberesp.statuszreq.urlzobj.keepzobj.ttlzberesp.reasonzbereq.retrieszresp.reasonz	bereq.urlzberesp.do_esizberesp.protoz	client.ipzbereq.protozserver.hostnamez	remote.ipzreq.backend_hintzserver.identityzreq_top.urlzberesp.gracezberesp.was_304z	server.ipzbereq.uncacheablez\b)Úsuffixz[!%&+*\-,/<.}{>=|~]+z[();]z[,]+)Ú	hash_dataÚregsubÚ	regsuballÚifÚelseÚelsifÚelifÚsynthÚ	syntheticÚbanÚreturnÚsetÚunsetÚimportr   ÚnewÚrollbackÚcallzstorage\.\w+\.\w+\b)ÚtrueÚfalsez\d+\bz(backend)(\s+\w+)(\s*\{)Úbackendz(probe\s)(\s*\w+\s)(\{)z(acl\s)(\s*\w+\s)(\{)Úaclz(vcl )(4.0)(;)$z(sub\s+)([a-zA-Z]\w*)(\s*\{)z+([a-zA-Z_]\w*)(\.)([a-zA-Z_]\w*)(\s*\(.*\))z[a-zA-Z_]\w*z[^*/]+z/\*z\*/z[*/]z#.*$Úcommentz//.*$ú"z[^"\n]+z[^"}]z"\}z["}]zL?"Ústringz\{"Úmultistringz\nz\s+z\\\nÚ
statements)
r%   r<   r;   rA   r=   r#   r?   r@   r"   ÚrootN)$Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr    r   r   r   Ú	Attributer   r   r   r   r   ÚVariableÚGlobalr   ÚDateÚFunctionÚConstantr	   r   ÚBuiltinÚReservedr   Ú	Multiliner   r   r
   Útokens© r!   r   r   r      s/  € € € € € ðð ð €DØˆg€GØ�	€IØ Ð!€IØ
d€CØ€Mð	ð 	ð 	ð ˆG�LÑ!Ô!ØˆG�JÑÔØ*ØˆX�d”n h°°°d±´¸[ÑIÔIðKà�K Ð(ð
ð ˆG�LÑ!Ô!ØˆG�JÑÔØ�xÐ Ø�;ÐØ�VÐØ�K Ð(ð
ð ˆG�LÑ!Ô!Ø*ØˆX�d”n h°´Ô0DÀkÑRÔRðTà&ØˆX�d”n h°Ñ<Ô<¸gðGà1ØˆX�d”n h°°°d±´¸[ÑIÔIðKà�K Ð)Ø�K Ð(ð

ð # G¤LÐ1Ø˜gœlÐ+ð8à9=¼ðHð&Ø'+¤}ð6àHÈ$Ì-ÐXØˆUð 2ð  ;@ð!Añ Aô Að" Œ]ð#ð$ % hÐ/Ø�{Ð#à�kÐ"ØˆUð (ð 16ð7ñ 7ô 7ð ð	ð
 $ T¤]Ð3ØˆUÐ$Ñ%Ô% t¤|Ð4Ø�vÐØ(ØˆX�g˜tœ}Ô3°[ÑAÔAÀ9ðNà'ØˆX�g˜tœ}Ô3°[ÑAÔAÀ7ðLà%ØˆX�g˜tœ}Ô3°[ÑAÔAÀ5ðJàØˆX�gÔ&¨¬°{ÑCÔCðEà,Ø�˜ $¤-°Ñ=Ô=ð?ðð ˆX�d”m [°$´-ÀÀÀtÁÄÑMÔMð	Oð
 ˜dÐ#ðm7
ðr ˜Ô)Ð*Ø�WÔ&¨Ð0Ø�WÔ&¨Ð/Ø�gÔ'Ð(ð	
ð �gÐØ�WÔ&¨	Ð2Ø�wÐð
ð �6˜6Ð"Ø˜Ð ð
ð
 �vÐØ�V˜VÐ$Ø�fÐð
ð �V˜XÐ&Ø�V˜]Ð+Ø�JÐØ�ZÐ Ø�dˆOð
ð ˆG�LÑ!Ô!ØˆG�JÑÔØˆG�LÑ!Ô!Ø�ZÐ ð	
ð]tð t€F€F€Fr!   c                   ó’   — e Zd ZdZdZddgZdgZg ZdZdZ	d„ Z
d	efd
ej        fgdej        fg ed¦  «        e ed¦  «        gdœZdS )r   z6
    For Varnish Configuration Language snippets.
    ÚVCLSnippetsÚvclsnippetsÚ
vclsnippetztext/x-vclsnippetr   r   c                 ó   — dS )Nr   rW   r   s    r   r    zVCLSnippetLexer.analyse_text«   s   € àˆqr!   z\.\.\.+zN(bereq|req|req_top|resp|beresp|obj|client|server|local|remote|storage)($|\.\*)z(backend)\bÚsnippetspreÚsnippetspost)r]   r^   rB   N)rC   rD   rE   rF   rG   rH   rJ   rI   rK   rL   r    r   r   rN   r   rT   r   r   rV   rW   r!   r   r   r       s¯   € € € € € ðð ð €DØ˜lÐ+€GØ$Ð%€IØ€IØ
d€CØ€Mðð ð ð ˜Ð!ð!Ø"&¤-ð1ð
ð ˜WÔ-Ð.ð
ð ˆG�MÑ"Ô"ØØˆG�NÑ#Ô#ð
ðð €F€F€Fr!   N)rF   Úpygments.lexerr   r   r   r   r   r   r	   Úpygments.tokenr
   r   r   r   r   r   r   r   r   r   Ú__all__r   r   rW   r!   r   ú<module>rb      sU  ððð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð-ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð Ð(Ð
)€ðJð Jð Jð Jð Jˆzñ Jô Jð JðZð ð ð ð �hñ ô ð ð ð r!   