
    ,h                     d    d Z ddlZddlmZmZ ddlmZmZmZm	Z	m
Z
mZmZmZ dgZ G d de      Zy)z
    pygments.lexers.urbi
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for UrbiScript language.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)ExtendedRegexLexerwords)TextCommentOperatorKeywordNameStringNumberPunctuationUrbiscriptLexerc                      e Zd ZdZdZdgZdgZdgZdZdZ	e
j                  Zd Zd	efd
efdej                   dfdef edd      ef edd      ej&                  fdefdefdej(                  fdej*                  f edd      ej.                  fdej.                  j0                  fdefdej4                  fdefdefdej8                  fdej<                  fdej>                  fde jB                  d fd!e jD                  d"fgd#efd$e jB                  d%fgd&efd'e jD                  d%fgd(ej                   fdej                   d)fd*ej                   d%fd+ej                   fgd,Z#d- Z$y.)/r   z%
    For UrbiScript source code.
    
UrbiScript
urbiscriptz*.uzapplication/x-urbiscriptz!https://github.com/urbiforge/urbiz1.5c              #     K   |j                  d      }|j                  d      }|j                  d      }t        |      }|j                         t        |f |xj                  t        |      z  c_        |j                  |j                         |z      dk7  r@d|z   dz   }|j                         t        |f |xj                  t        |      z  c_        y ||j                  |j                         |j                         |z    z   dz   }|j                         t        j                  |f |j                         |z   dz   |_        y w)N         )z\B(z)()	groupintstartr
   poslentextendEscape)	lexermatchctxtext_before_blob
blob_startblob_size_str	blob_sizeresult	blob_texts	            V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/pygments/lexers/urbi.pyblob_callbackzUrbiscriptLexer.blob_callback&   s     ;;q>[[^
A&	kkmV%5553'(( 88EIIK)+,3m+d2F++-//GGs6{"G %))+eiik)6K!LLsR	kkmV]]I55))+	)A-s   EEz\s+z//.*?\nz/\*commentz"(every|for|loop|while)(?:;|&|\||,))assertatbreakcasecatchclosurecomplcontinuedefaultelseenumeveryexternalfinallyforfreezeififnewonleavereturnstopifswitchthisthrowtimeouttry	waituntilwheneverwhilez\b)suffix)$asmautoboolchar
const_castdeletedoubledynamic_castexplicitexportexternfloatfriendgotoinliner   longmutable	namespaceregisterreinterpret_castshortsignedsizeofstatic_caststructtemplatetypedeftypeidtypenameunionunsignedusingvirtualvolatilewchar_tz&(emit|foreach|internal|loopn|static)\bz(private|protected|public)\bz(var|do|const|function|class)\bz(true|false|nil|void)\b)EBarrierBinaryBooleanCallMessageChannelCode
Comparable	ContainerControlDate
Dictionary	DirectoryDurationEnumerationEvent	Exception
ExecutableFileFinalizableFloat
FormatInfo	FormatterGlobalGroupHashInputStream	IoServiceJobKernelLazyListLoadableLobbyLocationLoggerMathMutexnilObject	OrderableOutputStreamPairPathPatternPosition	PrimitiveProcessProfile
PseudoLazyPubSubRangeIterableRegexp	SemaphoreServer	SingletonSocket
StackFrameStreamr
   SystemTagTimeout	TraceableTrajectoryGeneratorTripletTupleUObjectUValueUVarz
(?:this)\bz(?:[-=+*%/<>~^:]+|\.&?|\|\||&&)z?(?:and_eq|and|bitand|bitor|in|not|not_eq|or_eq|or|xor_eq|xor)\bz[{}\[\]()]+z(?:;|\||,|&|\?|!)+z[$a-zA-Z_]\w*z0x[0-9a-fA-F]+zV(?:[0-9]+(?:(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)?((?:rad|deg|grad)|(?:ms|s|min|h|d))?)\b"string.double'string.singlez%((?:\\\\|\\"|[^"])*?)(\\B\((\d+)\)\()z(\\\\|\\[^\\]|[^"\\])*?"z#popz%((?:\\\\|\\'|[^'])*?)(\\B\((\d+)\)\()z(\\\\|\\[^\\]|[^'\\])*?'z[^*/]z#pushz\*/z[*/])rootr   r   r)   c                 .    d}d| v r|dz  }d| v r|dz  }|S )z_This is fairly similar to C and others, but freezeif and
        waituntil are unique keywords.r   r9   g?rD    )r   r%   s     r'   analyse_textzUrbiscriptLexer.analyse_text   s0     dNF$dNF    N)%__name__
__module____qualname____doc__namealiases	filenames	mimetypesurlversion_addedreDOTALLflagsr(   r   r   	Multiliner   r   ReservedDeclarationConstantr	   BuiltinPseudor   Wordr   Otherr   Hexr~   r
   DoubleSingletokensr   r   r   r'   r   r      s    DnGI+,I
-CMIIE.. TN!W&&	22G< 2
 ;@A   G PUV  7@,g6/1D1DE')9)9: " +01 \\ DLL//0/:O]][)"K0tzz*

+89?G 6==/26==/2o8
t 6}E(&--@

 6}E(&--@
 w(()W&&0W&&/g''(	
GIFVr   )r   r   pygments.lexerr   r   pygments.tokenr   r   r   r   r	   r
   r   r   __all__r   r   r   r'   <module>r      s:    
 4   
}( }r   