
    L&ii                         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-2022 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 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d.ej        dfd/ej        dfd0ej        fgd1efd.ej        d2fd3efgd4edfd5efgd6efd7edfd8efgd9ed:fd;ed<fd=efd>efd?e fg e	d           e	d           e	d@          d>efgdA
Z!dBS )Cr   zN
    For Varnish Configuration Language (VCL).

    .. versionadded:: 2.2
    VCLvclz*.vclztext/x-vclsrcc                 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    d/home/geonatureadmin/si_en_reseau/tutos/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:   r9   r?   r;   r!   r=   r>   r    rootN)"__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   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gG	I !I	 	 	 GL!!GJ*Xdnhd[IIKK(
 GL!!GJx ;VK(
 GL!!*Xdnh0DkRRT&Xdnh<<gG1Xdnhd[IIKK)K(

 #GL1gl+89=H&'+}6H$-XU 2  ;@!A A A" ]#$ %h/{#k"U ( 167 7 7 	
 $T]3U$%%t|4v(Xgt}3[AA9N'Xgt}3[AA7L%Xgt}3[AA5JXg&{CCE,$-==? Xdm[$-tMM	O
 d#m7
r )*W&0W&/g'(	
 gW&	2w
 66" 

 vVV$f
 VX&V]+JZ dO
 GL!!GJGL!!Z 	
]t tFFFr   c                       e Zd ZdZdZddgZdgZg 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   zQ
    For Varnish Configuration Language snippets.

    .. versionadded:: 2.2
    VCLSnippetsvclsnippets
vclsnippetztext/x-vclsnippetc                     dS )Nr   rS   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)rY   rZ   r@   N)rA   rB   rC   rD   rE   rF   rH   rG   r   r   r   rJ   r   rP   r   r   rR   rS   r   r   r   r      s         
 Dl+G$%II   !!"&-1
 W-.
 GM""GN##
 FFFr   N)rD   pygments.lexerr   r   r   r   r   r   r	   pygments.tokenr
   r   r   r   r   r   r   r   r   r   __all__r   r   rS   r   r   <module>r^      sU                    - - - - - - - - - - - - - - - - - - - - - - - - (
)J J J J Jz J J JZ    h     r   