+
    TBi                         R t ^ RIt^ RIHtHtHtHtHtHtH	t	H
t
 ^ RIHtHtHtHtHtHtHtHtHt ^ RIHt RR.t ! R R]4      t ! R R]4      tR# )	z
pygments.lexers.perl
~~~~~~~~~~~~~~~~~~~~

Lexers for Perl, Raku and related languages.

:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)
RegexLexerExtendedRegexLexerincludebygroupsusingthisdefaultwords)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)shebang_matches	PerlLexer
Perl6Lexerc                   
  a  ] tR t^t o RtRtRtRR.t. RqOtRR.t	Rt
]P                  ]P                  ,          tR	R
]P                   R3R]P                   R3R]P                   R3R]P                   R3R]P                   R3R]P                   R3R]P                   R3R]P                   R3R]P                   R3R]P                   R3.
R. R]P$                  3NR]P&                  3NR]P(                  3N]! RrRR7      ]3NR]! ]]]]]]4      R3NR]P8                  3NR]P                   3NR]P                   3NR ]P                   3NR!]P                   3NR"]P                   3NR#]P                   R	3NR$]P                   R	3NR%]P                   R	3NR&]P                   R	3NR']P                   3NR(]P                   R	3NR)]P                   3NR*]3N]! RsRR7      ]P:                  3NR+]P:                  P<                  3NR,]! ]]]P>                  ]]P>                  ]4      3NR-]P@                  R.3NR/]PB                  PD                  3NR0]PB                  PD                  3NR1]PB                  R23NR3]#PH                  3NR4]#PJ                  3NR5]#PL                  3NR6]#PN                  3NR7]#PN                  3NR8]#PP                  3NR9]3NR:]3NR;]PR                  3NR<]P                   3NR=]PT                  R>3NR?]PT                  R@3NRA]PT                  RB3NRC]PT                  RD3NRE]PT                  3NRF]! ]]]PV                  4      3NRG]! ]]]PV                  4      3NRH]! ]]4      RI3N]! RtRR7      ]3NRJ]3NRK]3NRL]3NRM]RN3NRRO]PX                  R3RP]PX                  3.R2R*]3RQ]R3RR]R3RS]PV                  3RT]PB                  R3.RNRU]PV                  R3RV]PV                  R3RT]R3RW]PZ                  R3RX].R3.RIRY]P^                  3R*]3RZ]! ]]4      3R[]R3R\]R3.R>R]]PT                  3R^]PT                  3RQ]PT                  R>3R_]PT                  R3R`]PT                  3.R@Ra]PT                  3R^]PT                  3Rb]PT                  R@3Rc]PT                  R3Rd]PT                  3.RBRe]PT                  3R^]PT                  3Rf]PT                  RB3Rg]PT                  R3Rh]PT                  3.RDRi]PT                  3R^]PT                  3Rj]PT                  RD3Rk]PT                  R3Rl]PT                  3.R.Rm]P@                  R3./t0Rn t1Rot2V t3Rp# )ur   z
For Perl source code.
Perlzhttps://www.perl.orgperlplztext/x-perlzapplication/x-perl zbalanced-regexz"/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*#popz"!(\\\\|\\[^\\]|[^\\!])*![egimosx]*z\\(\\\\|[^\\])*\\[egimosx]*z$\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*z"<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*z%\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*z$\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*z"@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z"%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*z$\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*rootz	\A\#!.+?$z\#.*?$z^=[a-zA-Z0-9]+\s+.*?\n=cutz\bsuffixz!(format)(\s+)(\w+)(\s*)(=)(\s*\n)formatz$(eq|lt|gt|le|ge|ne|not|and|or|cmp)\bz:s/(\\\\|\\[^\\]|[^\\/])*/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*z.s!(\\\\|\\!|[^!])*!(\\\\|\\!|[^!])*![egimosx]*z+s\\(\\\\|[^\\])*\\(\\\\|[^\\])*\\[egimosx]*z:s@(\\\\|\\[^\\]|[^\\@])*@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z:s%(\\\\|\\[^\\]|[^\\%])*%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*zs\{(\\\\|\\[^\\]|[^\\}])*\}\s*zs<(\\\\|\\[^\\]|[^\\>])*>\s*zs\[(\\\\|\\[^\\]|[^\\\]])*\]\s*zs\((\\\\|\\[^\\]|[^\\)])*\)\s*z&m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z6((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*z\s+z+((__(DATA|DIE|WARN)__)|(STD(IN|OUT|ERR)))\bz/(<<)([\'"]?)([a-zA-Z_]\w*)(\2;?\n.*?\n)(\3)(\n)__END__zend-partz\$\^[ADEFHILMOPSTWX]z(\$[\\\"\[\]'&`+*.,;=%~?@$!<>(^|/-](?!\w)z[$@%#]+varname0_?[0-7]+(_[0-7]+)*0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*0b[01]+(_[01]+)*?(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*
\d+(_\d+)*'(\\\\|\\[^\\]|[^'\\])*'"(\\\\|\\[^\\]|[^"\\])*"z`(\\\\|\\[^\\]|[^`\\])*`z<([^\s>]+)>z(q|qq|qw|qr|qx)\{z	cb-stringz(q|qq|qw|qr|qx)\(z	rb-stringz(q|qq|qw|qr|qx)\[z	sb-stringz(q|qq|qw|qr|qx)\<z	lt-stringz (q|qq|qw|qr|qx)([\W_])(.|\n)*?\2z/(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z6(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z
(sub)(\s+)funcnamez=(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|!~|&&?|\|\||\.{1,3})z[-+/*%=<>&^|!\\~]=?z[()\[\]:;,<>/?{}]z(?=\w)namez\.\nz[^\n]*\n\{z\)|,z\w+::z[\w:]+z+[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)z[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::z[A-Z_]+(?=\W)z(?=\W)z[a-zA-Z_]\w*[!?]?z(\([$@%]*\))(\s*);z.*?\{z\\[{}\\]z\\\}z[^{}\\]+z\\[()\\]z\(z\)z[^()]+z
\\[\[\]\\]z\[z\]z[^\[\]]+z\\[<>\\]z\<z\>z[^<>]+z.+c                    \        V R 4      '       d   R# ^ p\        P                  ! RV 4      '       d
   VR,          pRV 9   d
   V^,          pV# )r   Tz(?:my|our)\s+[$@%(]g?:=)r   research)textresults   & 9/usr/lib/python3.14/site-packages/pygments/lexers/perl.pyanalyse_textPerlLexer.analyse_text   sI    4))99+T22cMF4< aKF     N)*.pl*.pm*.tz*.perl)casecontinuedoelseelsifforforeachiflastmynextourredoresetthenunlessuntilwhileprintnewBEGINCHECKINITENDreturn)absacceptalarmatan2bindbinmodeblesscallerchdirchmodchompchopchownchrchrootcloseclosedirconnectr>   coscryptdbmclosedbmopendefineddeletediedumpeachendgrent
endhostent	endnetentendprotoentendpwent
endserventeofevalexecexistsexitexpfcntlfilenoflockforkr   formlinegetcgetgrentgetgrgidgetgrnamgethostbyaddrgethostbyname
gethostentgetlogingetnetbyaddrgetnetbyname	getnetentgetpeernamegetpgrpgetppidgetprioritygetprotobynamegetprotobynumbergetprotoentgetpwentgetpwnamgetpwuidgetservbynamegetservbyport
getserventgetsockname
getsockoptglobgmtimegotogrepheximportindexintioctljoinkeyskillrE   lclcfirstlengthlinklistenlocal	localtimeloglstatmapmkdirmsgctlmsggetmsgrcvmsgsndrF   rG   octopenopendirordrH   packpipepopposprintf	prototypepush	quotemetarandreadreaddirreadlinereadlinkreadpiperecvrI   refrenamereverse	rewinddirrindexrmdirscalarseekseekdirselectsemctlsemgetsemopsendsetgrent
sethostent	setnetentsetpgrpsetprioritysetprotoentsetpwent
setservent
setsockoptshiftshmctlshmgetshmreadshmwriteshutdownsinsleepsocket
socketpairsortsplicesplitsprintfsqrtsrandstatstudysubstrsymlinksyscallsysopensysreadsysseeksystemsyswritetelltelldirtietiedtimetimestrtruncateucucfirstumaskundefunlinkunpackunshiftuntieutimevaluesvecwaitwaitpid	wantarraywarnwrite)nopackagerequireuse)4__name__
__module____qualname____firstlineno____doc__r+   urlaliases	filenames	mimetypesversion_addedr1   DOTALL	MULTILINEflagsr   Regexr   HashbangSingle	Multiliner	   r   r   r   r   r   r   WordBuiltinPseudo	DelimiterPreprocVariableGlobalr   OctHexBinFloatIntegerBacktickOther	NamespaceInterpolConstantr
   Functiontokensr6   __static_attributes____classdictcell__)__classdict__s   @r5   r   r      s     D
 CtnG1I 45IMII$E 	2FLL&I2FLL&I+V\\6B4fllFK2FLL&I5v||VL4fllFK2FLL&I2FLL&I4fllFK
 	 d
7++,d
'd
 +G,=,=>d
  2 ;@	A
 	d
 2gz4[*UW_ad
 5hmmDd
 Kd
  ?M!d
" <V\\J#d
$ K%d
( K)d
. />NO/d
0 -fll<LM1d
2 0 "3d
6 / "7d
< 7E=d
> $V\\3CD?d
@ GAd
D Z Ed
F  [4 di5j6 \\7Gd
~ <T\\=P=PQd
@ @fff&6&6@P@PR\]_Ad
D *5Ed
F %dmm&:&:;Gd
H 9$--:N:NOId
J 	2Kd
L $VZZ0Md
N /

;Od
P !&**-Qd
R P\\Sd
V /=Wd
X FNN+Yd
Z )&1[d
\ )&1]d
^ )&//:_d
` V\\*ad
b "6<<=cd
d "6<<=ed
f "6<<=gd
h "6<<=id
j 1&,,?kd
l @gz4>>:<md
p Ggz4>>:<qd
t HWj9:Fud
v  3;@Bwd
|%&.0}d
@ $X.Ad
B ";/Cd
F f%Gd
J 	foov.&//*
 	Z K(k6*t~~&v.
 	;T^^VT/Hf%t}}f5f%
 	!4==1Z !8K#DE;'{F+
 	&,,'FLL!FLL+.FLL&)&,,'
 	&,,'FLL!FLL+.FLL&)%
 	FLL)FLL!FLL+.FLL&)&,,'
 	&,,'FLL!FLL+.FLL&)%
 	GOOV,
QkFZ r8   c                     a a ] tR t^t oRtRtRt. EROt. EROtRR.t	Rt
]P                  ]P                  ,          tRtERtERtERtERt/ RRbR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbR RbR!RbR"R#bR$R%bR&R'b/ R(R)bR*R+bR,R-bR.R/bR0R1bR2R3bR4R5bR6R7bR8R9bR:R;bR<R=bR>R?bR@RAbRBRCbRDREbRFRGbRHRIbC/ RJRKbRLRMbRNRObRPRQbRRRSbRTRUbRVRWbRXRYbRZR[bR\R]bR^R_bR`RabRbRcbRdRebRfRgbRhRibRjRkbC/ RlRmbRnRobRpRqbRrRsbRtRubRvRwbRxRybRzR{bR|R}bR~RbRRbRRbRRbRRbRRbRRbRRbC/ RRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbC/ RRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbC/ RRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbC/ RRbRRbRRbRRbRRbRRbER ERbERERbERERbERERbERER	bER
ERbERERbERERbERERbERERbERERbC/ ERERbERERbERERbERERbERERbER ER!bER"ER#bER$ER%bER&ER'bER(ER)bER*ER+bER,ER-bER.ER/bER0ER1bER2ER3bER4ER5bER6ER7bC/ ER8ER9bER:ER;bER<ER=bER>ER?bER@ERAbERBERCbERDEREbERFERGbERHERIbERJERKbERLERMbERNERObERPERQbERRERSbERTERUbERVERWbERXERYbC/ ERZER[bER\ER]bER^ER_bER`ERabERbERcbERdERebERfERgbERhERibERjERkbERlERmbERnERobERpERqbERrERsbERtERubERvERwbERxERybERzER{bCER|ER}ER~ERERERERERERER/CtERER ltER tER tER tER tER. ERERP5                  ]4      ,           ER,           ]! ]P8                  4      3NER]P:                  3NER]P8                  3NER]P8                  3NER]P8                  3NER],           ER,           ]! ]] 4      ER3NER],           ER,           ],           ER,           ]! ]] 4      ER3NER]! ]]!] ]!4      3N]! ]]4      ]3N]! ]]ERER7      ] PD                  3N]! ]]4      ] PD                  3NER],           ER,           ] PF                  3NER] PF                  PH                  3NER] PF                  PH                  3NER],           ER,           ] PF                  PH                  3NER] PF                  3NER]! ]%4      3NER]&PN                  3NER]&PP                  3NER]&PR                  3NER]&PT                  3NER]&PT                  3NER]&PV                  3NER]%PX                  3NER]%PX                  3NER] 3NER]! ]%PX                  4      3NER]%PX                  3NER]%3N]! ]4      ]-3NER],           R	,           ] 3NER]%3NER]%3NER].! ER4      ER]3ER]3ER]/3.ER].! ER4      ER]/ER3ER]/3.ERERERP5                  ]4      ,           ER,           ]! ] 4      ER3]0! ER4      .RER]/ER3ER]1! ]24      3ER]%PX                  3ER]%PX                  3ER]%PX                  3ER]P:                  3ER]3ER]%PX                  3./t3ER t4V 3ER lt5ERt6Vt7V ;t8# (  r   z'
For Raku (a.k.a. Perl 6) source code.
Perl6zhttps://www.raku.orgztext/x-perl6zapplication/x-perl6z2.0z['\w:-]token*<>()[]{}   «   »u   ༺u   ༻u   ༼u   ༽u   ᚛u   ᚜u   ‘u   ’u   ‚u   ‛u   “u   ”u   „u   ‟u   ‹u   ›u   ⁅u   ⁆u   ⁽u   ⁾u   ₍u   ₎u   ∈u   ∋u   ∉u   ∌u   ∊u   ∍u   ∕u   ⧵u   ∼u   ∽u   ≃u   ⋍u   ≒u   ≓u   ≔u   ≕u   ≤u   ≥u   ≦u   ≧u   ≨u   ≩u   ≪u   ≫u   ≮u   ≯u   ≰u   ≱u   ≲u   ≳u   ≴u   ≵u   ≶u   ≷u   ≸u   ≹u   ≺u   ≻u   ≼u   ≽u   ≾u   ≿u   ⊀u   ⊁u   ⊂u   ⊃u   ⊄u   ⊅u   ⊆u   ⊇u   ⊈u   ⊉u   ⊊u   ⊋u   ⊏u   ⊐u   ⊑u   ⊒u   ⊘u   ⦸u   ⊢u   ⊣u   ⊦u   ⫞u   ⊨u   ⫤u   ⊩u   ⫣u   ⊫u   ⫥u   ⊰u   ⊱u   ⊲u   ⊳u   ⊴u   ⊵u   ⊶u   ⊷u   ⋉u   ⋊u   ⋋u   ⋌u   ⋐u   ⋑u   ⋖u   ⋗u   ⋘u   ⋙u   ⋚u   ⋛u   ⋜u   ⋝u   ⋞u   ⋟u   ⋠u   ⋡u   ⋢u   ⋣u   ⋤u   ⋥u   ⋦u   ⋧u   ⋨u   ⋩u   ⋪u   ⋫u   ⋬u   ⋭u   ⋰u   ⋱u   ⋲u   ⋺u   ⋳u   ⋻u   ⋴u   ⋼u   ⋶u   ⋽u   ⋷u   ⋾u   ⌈u   ⌉u   ⌊u   ⌋u   〈u   〉u   ⎴u   ⎵u   ❨u   ❩u   ❪u   ❫u   ❬u   ❭u   ❮u   ❯u   ❰u   ❱u   ❲u   ❳u   ❴u   ❵u   ⟃u   ⟄u   ⟅u   ⟆u   ⟕u   ⟖u   ⟝u   ⟞u   ⟢u   ⟣u   ⟤u   ⟥u   ⟦u   ⟧u   ⟨u   ⟩u   ⟪u   ⟫u   ⦃u   ⦄u   ⦅u   ⦆u   ⦇u   ⦈u   ⦉u   ⦊u   ⦋u   ⦌u   ⦍u   ⦎u   ⦏u   ⦐u   ⦑u   ⦒u   ⦓u   ⦔u   ⦕u   ⦖u   ⦗u   ⦘u   ⧀u   ⧁u   ⧄u   ⧅u   ⧏u   ⧐u   ⧑u   ⧒u   ⧔u   ⧕u   ⧘u   ⧙u   ⧚u   ⧛u   ⧸u   ⧹u   ⧼u   ⧽u   ⨫u   ⨬u   ⨭u   ⨮u   ⨴u   ⨵u   ⨼u   ⨽u   ⩤u   ⩥u   ⩹u   ⩺u   ⩽u   ⩾u   ⩿u   ⪀u   ⪁u   ⪂u   ⪃u   ⪄u   ⪋u   ⪌u   ⪑u   ⪒u   ⪓u   ⪔u   ⪕u   ⪖u   ⪗u   ⪘u   ⪙u   ⪚u   ⪛u   ⪜u   ⪡u   ⪢u   ⪦u   ⪧u   ⪨u   ⪩u   ⪪u   ⪫u   ⪬u   ⪭u   ⪯u   ⪰u   ⪳u   ⪴u   ⪻u   ⪼u   ⪽u   ⪾u   ⪿u   ⫀u   ⫁u   ⫂u   ⫃u   ⫄u   ⫅u   ⫆u   ⫍u   ⫎u   ⫏u   ⫐u   ⫑u   ⫒u   ⫓u   ⫔u   ⫕u   ⫖u   ⫬u   ⫭u   ⫷u   ⫸u   ⫹u   ⫺u   ⸂u   ⸃u   ⸄u   ⸅u   ⸉u   ⸊u   ⸌u   ⸍u   ⸜u   ⸝u   ⸠u   ⸡u   〈u   〉u   《u   》u   「u   」u   『u   』u   【u   】u   〔u   〕u   〖u   〗u   〘u   〙u   〚u   〛u   〝u   〞u   ﴾u   ﴿u   ︗u   ︘u   ︵u   ︶u   ︷u   ︸u   ︹u   ︺u   ︻u   ︼u   ︽u   ︾u   ︿u   ﹀u   ﹁u   ﹂u   ﹃u   ﹄u   ﹇u   ﹈u   ﹙u   ﹚u   ﹛u   ﹜u   ﹝u   ﹞u   （u   ）u   ＜u   ＞u   ［u   ］u   ｛u   ｝u   ｟u   ｠u   ｢u   ｣r   c                .   Vf5   RV,           RP                  R V  4       4      ,           V,           R,           # RV,           R,           V,           R,           RP                  R V  4       4      ,           R,           V,           R	,           V,           R,           # )
Nz\b(|c              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5iNr1   escape.0xs   & r5   	<genexpr>/Perl6Lexer._build_word_match.<locals>.<genexpr>  s     .KUryy||U   #%z)\bz(?<!rE  rD  c              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5irO  rP  rR  s   & r5   rU  rV    s     61"))A,,rW  z(?!)r   )r	   boundary_regex_fragmentprefixr   s   &&&&r5   _build_word_matchPerl6Lexer._build_word_match  s    "*F?TYY.KU.K%KK    44t;fDtK		66679=>@FGIOP'(*./ /r8   c                   a  V 3R  lpV# )c              3   L  <"   VP                  4       pVR ,          p\        V4      pVP                  R4      p\        P                  P                  V^ ,          4      pVP
                  pVf)   VP                  WAP                  R 4      V,           4      p	MWu,          p
^pVP                  R 4      pV^ 8  dn   VP                  WLV,           4      pVP                  WV,           4      pVR8X  d   \        V4      p^ pKM  VR8w  d   W8  d   V^,          pTpKg  V^,          pTpKt  Xp	V	^ 8  d   \        V4      p	Ve   \        P                  ! RV4      '       d   WP                  R 4      V,           V	 p\        P                  ! R\        P                  ! V4      ,           R,           WR \        P                  4      pV'       d   V	VP                  4       ,          p	M\        V4      p	VP                  4       SWP                  4       W,            3x  W,           Vn        R# 5i)	delimiteradverbsNz:to\bz^\s*z\s*$)	groupdictlengetr   PERL6_BRACKETSr3   findstartr1   r2   rQ  r"  endr   )lexermatchcontextgroupsopening_charsn_charsr`  closerr3   end_posclosing_charsnesting_level
search_posnext_open_posnext_close_posheredoc_terminatorend_heredoctoken_classs   &&&              r5   callback.Perl6Lexer.brackets_callback.<locals>.callback  s    __&F";/M-(Gjj+G..22=3CDF<<D~ ))M;;{3Kg3UV !' 0 !"[[5
#a'$(IIm'=Q$RM%)YY}7>R%SN%+),T()&",1O%*%2
%*%3
({d)"ryy7'C'C%)++k*BW*LW%U" ii"))<N2O(O(/)015hO {00G!$iG++-d;;=AR.SSS!+GKs   EH$C	H$r9   )rx  ry  s   f r5   brackets_callbackPerl6Lexer.brackets_callback  s    3	,j r8   c              #  J  "   VP                   pVP                  4       \        VP                  VP                  4       VP	                  4        3x  VP	                  4       Vn        \        V4      ^8  d,   VR,          R8X  d   V;P                  ^,          un        R# R# R# 5i   r@  N)stackrg  r
   r3   rh  r   rc  perl6_token_nesting_levelri  rj  rk  r  s   &&& r5   opening_brace_callback!Perl6Lexer.opening_brace_callback0  su     kkmT7<<eiik#JJJiik u:>eBi72--2- 3>s   B!B#c              #    "   VP                   pVP                  4       \        VP                  VP                  4       VP	                  4        3x  VP	                  4       Vn        \        V4      ^8  dO   VR,          R8X  d?   V;P                  ^,          un        VP                  ^ 8X  d   VP                  4        R# R# R# R# 5ir~  )	r  rg  r
   r3   rh  r   rc  r  r   r  s   &&& r5   closing_brace_callback!Perl6Lexer.closing_brace_callback=  s     kkmT7<<eiik#JJJiik
 u:>eBi72--2-00A5		 6 3>s   CCc              #     "   ^Vn         VP                  4       \        VP                  VP                  4       VP	                  4        3x  VP	                  4       Vn        VP                  P                  R4       R# 5i)   r   N)r  rg  r
   r3   rh  r   r  append)ri  rj  rk  s   &&&r5   embedded_perl6_callback"Perl6Lexer.embedded_perl6_callbackK  sV     ,-)kkmT7<<eiik#JJJiikV$s   A<A>commonz$#[`|=](?P<delimiter>(?P<first_char>[z])(?P=first_char)*)z#[^\n]*$z%^(\s*)=begin\s+(\w+)\b.*?^\1=end\s+\2z^(\s*)=for.*?\n\s*?\nz^=.*?\n\s*?\nz(regex|token|rule)(\s*z+:sym)ztoken-sym-bracketsz(regex|token|rule)(?!z)(\s*z+)?	pre-tokenz(role)(\s+)(q)(\s*)z
(?::[UD])?r   z[$@%&][.^:?=!~]?u   +(?:<<.*?>>|<.*?>|«.*?»)*u    \$[!/](?:<<.*?>>|<.*?>|«.*?»)*z::\?\w+z[$@%&]\*z\$(?:<.*?>)+zn(?:q|qq|Q)[a-zA-Z]?\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^0-9a-zA-Z:\s])(?P=first_char)*)r"   r#   r$   r%   r&   r'   z(?<=~~)\s*/(?:\\\\|\\/|.)*?/z(?<=[=(,])\s*/(?:\\\\|\\/|.)*?/z
m\w+(?=\()z_(?:m|ms|rx)\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^\w:\s])(?P=first_char)*)zB(?:s|ss|tr)\s*(?::[\w\s:]+)?\s*/(?:\\\\|\\/|.)*?/(?:\\\\|\\/|.)*?/z<[^\s=].*?\S>z\wr(   r)   r   r,   r.   z.+?r   z(?P<delimiter>(?P<first_char>[z,(?<=:)(?:my|our|state|constant|temp|let).*?;z<(?:[-!?+.]\s*)?\[.*?\]>z(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'z(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"z#.*?$c                j   R  pV P                  4       pV! V4      pRP                  V4      p \        V R4      '       d   R# RpRp\        P                  ! R\
        P                  ,           R,           V 4      '       d   RpRpV F  p\        P                  ! RR	V4      p\        P                  ! R
V4      '       d   K:  \        P                  ! RV4      '       d    R# \        P                  ! RV4      pV'       d#   V'       g   VP                  R4      e    R# RpK   M	  RV 9   d
   V^,          pV# )c                     R p. pV  F`  p\         P                  ! RV4      '       d   R pK$  \         P                  ! RV4      '       d   RpKE  V'       d   KO  VP                  V4       Kb  	  V# )Fz^=(?:end|cut)z^=\w+T)r1   rj  r  )linesin_podstripped_lineslines   &   r5   	strip_pod*Perl6Lexer.analyse_text.<locals>.strip_pod  s^    FN88,d33"FXXh--!F"))$/  "!r8   
zperl6|rakudo|niecza|pugsTFz(?:my|our|has)\s+(?:z+\s+)?[$@%&(]g?z#.*r   z^\s*$z$^\s*(?:use\s+)?v6(?:\.\d(?:\.\d)?)?;z?^\s*(?:(?P<scope>my|our)\s+)?(?:module|class|role|enum|grammar)scopeg?r0   )

splitlinesr   r   r1   r2   r   PERL6_IDENTIFIER_RANGEsubrj  group)r3   r  r  saw_perl_declratingr  
class_decls   &      r5   r6   Perl6Lexer.analyse_text  s   	" !% yy4!<== 99,z/P/PP%&'+- -F MD66%T*Dxx$'' xx?FF"dfjkJ J$4$4W$=$I " 4<aKFr8   c                V   < \         SV `  ! R/ VB  VP                  R R4      V n        R# )encodingzutf-8Nr9   )super__init__rd  r  )selfoptions	__class__s   &,r5   r  Perl6Lexer.__init__  s%    #7#J8r8   )r  )perl6pl6raku)r:   r;   z*.nqpz*.p6z*.6plz*.p6lz*.pl6z*.6pmz*.p6mz*.pm6r<   z*.rakuz	*.rakumodz
*.rakutestz	*.rakudoc)NrQ   CATCHrR   CLOSECONTROLDOCrT   ENTERFIRSTrS   KEEPLASTLEAVENEXTPOSTPREQUITUNDOanonaugmentbutclassconstantr   doesr@   rA   enumrB   gathergivengrammarhasrD   r   isletloopmademakemethodmodulemultirF   needorwithrH   proceedprotorepeatr  rU   z	return-rwreturnsrolerulestater  	submethodsubsetsucceed	superseder@  tryunitrL   rM   r  whenrN   withwithoutexportnativereprrequiredrwsymbol(  ACCEPTSrV   abs2relabsoluterW   accessedacosacosecacosechacoshacotanacotanhacquireactactionactionsaddadd_attributeadd_enum_valueadd_fallback
add_method
add_parentadd_private_methodadd_roleadd_trusteeadverbafterallallocateallofallowedzalternative-namesannotationsantipair	antipairsanyanyofapp_lifetimer  archarchnameargsarityArrayasecasechasinasinhz
ASSIGN-KEYz
ASSIGN-POSassumingastatatanrY   atanhzAT-KEYzatomic-assignzatomic-dec-fetchzatomic-fetchzatomic-fetch-addzatomic-fetch-deczatomic-fetch-inczatomic-fetch-subzatomic-inc-fetchzAT-POS
attributesauthawait	backtraceBagBagHashzbail-outbasebasenamezbase-repeatingbatchzBIND-KEYzBIND-POSzbind-stderrz
bind-stdinzbind-stdoutzbind-udpbitsr\   blockBoolz	bool-onlyboundsbreakBridgebrokenBUILDz
build-datebytescache	callframezcalling-packagezCALL-MEcallsamecallwithcancancel
candidatescandozcan-ok	canonpathcapscaptionCapturecascatdir
categorizezcategorize-listcatfilecatpathcauseceilingcglobalchangedChannelcharsr^   childz
child-namezchild-typenamer_   r`   ra   rc   chrschunkscisclassifyzclassify-listcleanupclonere   closedzclose-stdinzcmp-okcodecodescollatecolumncombcombinationscommandcommentcompilerComplexcomposecompose_typecomposer	conditionconfigconfigure_destroyconfigure_type_checkingconjrg   constraints	constructcontainscontentscopyrh   coseccosechcoshcotancotanhcountz
count-onlyz	cpu-coresz	cpu-usageCREATEcreate_typecrosscuecurdircurupdirdDateDateTimedaydaycountzday-of-monthzday-of-weekzday-of-yearzdays-in-monthdeclarationdecodedecoderdeepmapr   rl   DEFINITEdelayedz
DELETE-KEYz
DELETE-POSdenominatordescDESTROY
destroyersdevnulldiagzdid-you-meanrn   zdies-okdirdirnamezdir-sepDISTROnamesr?   r  zdoes-okdonezdone-testingduckmapdynamiceeagerearlierelemsemit	enclosingencodeencoderr  rh  z	ends-withenum_from_valueenum_value_listenum_valuesenumsrw   EVALzeval-dies-okEVALFILEzeval-lives-ok	exceptionzexcludes-maxzexcludes-minz
EXISTS-KEYz
EXISTS-POSr{   exitcoder|   expectedzexplicitly-manageexpmod	extensionffailz
fails-likefcfeaturefilefilenamefind_methodfind_method_qualifiedfinishfirstflatflatmapflipfloorflunkflushfmtr   	formatterfreezefromz	from-listz	from-loopz
from-posixfullzfull-barrierrd  	get_valuer   gistgotgrab	grabpairsr   handlehandledhandleshardwarehas_accessorHashheadheaderszhh-mm-sshiddenhideshourhowhyperidillegaliminindentr   indicesindirinfiniteinfixz	infix:<+>z	infix:<->install_method_cacheInstantinsteadIntz
int-boundsintervalzin-timezonezinvalid-strinvertinvocantIOzIO::Notification.watch-path
is_trustedis_typeisazis-absolutezisa-okz	is-approxz	is-deeplyz	is-hiddenzis-initial-threadzis-intzis-lazyzis-leap-yearisNaNisntzis-primezis-relativez
is-routinez
is-settingzis-winitemiteratorr   keepkeptKERNELnameskeykeyofr   r   kvkxxvllangrE   lastcalllaterlazyr   leadinglevelliker  r  r   Listr   livezlives-okr   lockr   log10lookuplsbr  MAINr  Maprj  maxmaxpairsmergemessager  method_tablemethodsmigrateminminmaxminpairsminute	misplacedMixMixHashr   modemodifiedmonthmovemromsbr  	multinessrF   r+   namednamed_namesnarrow
nativecastznative-descriptornativesizeofrP   new_typeznew-from-daycountznew-from-pairsrG   
nextcalleeznext-handlenextsamenextwithNFCNFDNFKCNFKDznl-inznl-outnodemapnoknonenormnotnotenownudeNum	numeratorNumericofoffsetzoffset-in-hourszoffset-in-minutesokoldzon-closeonez	on-switchr   opened	operationoptionalr   ordsorigzos-errorosnamez
out-bufferr   r  zpackage-kindzpackage-namepackagespairpairspairup	parameterparamsparentzparent-nameparentsparsez
parse-base	parsefilezparse-namespartspasspathzpath-seppayloadz	peer-hostz	peer-portperiodsr   permutationsphaserpick	pickpairspidplaceholderplanpluspolarpollpolymodr   r   
positionalposixpostfix	postmatchzprecomp-extzprecomp-targetpredrZ  prematchprependrO   r   zprint-nlzprint-toprivateprivate_method_tableprocproducePromisepromptprotectzpull-oner   zpush-allzpush-at-leastzpush-exactlyzpush-until-lazyputzqualifier-typequitrraceradixr   rangeRatrawr1   r   	readcharsreadonlyreadyReal
reallocaterealsreasonreblessreceiver   redispatcherrI   reducerel2absrelativereleaser   repeatedreplacementreportreservedresolverestorer4   resumerethrowr   rightr   r   r  roles_to_composerolishrollrootdirrootsrotaterotorround
roundrobinzroutine-typerunrwxssamecasesamemarksamewithsayzschedule-on	schedulerr  secsechsecondr   r  r   Set
set_hiddenset_nameset_packageset_rw	set_valueSetHashzset-instrumentssetup_finalizationshapeshareshellr   siblingsigilsignsignalsignals	signaturer   sinhsinkzsink-allskipzskip-at-leastzskip-at-least-pull-onezskip-onez	skip-restr   zsleep-timerzsleep-untilSlipslurpz
slurp-restslurpysnapsnappersozsocket-hostzsocket-portr   sourcezsource-packagespawnSPECr   r   splitdir	splitpathr   spurtr   squishr   stablerg  startedzstarts-withstatusstderrstdoutStrsub_signaturesubbufz	subbuf-rwsubnamesubparsesubstzsubst-mutater   z	substr-eqz	substr-rwsubtestsuccsumSupplyr   ttailtakeztake-rwtantanhtaptargetztarget-nametctclcr   rK   throttlethrowzthrows-liketimezonetmpdirtotodaytodotogglezto-posixtotaltrailingtranstreetrimztrim-leadingztrim-trailingr  ztruncated-totruststry_acquiretryingtwigiltypetype_capturestypenamer  udpuncaught_handlerunimatchuninameuninamesuniparseunipropunipropsuniqueunivalunivalsunliker  unlockr  unpolarr	  unwrapupdirUSAGEzuse-okutcvalvaluer  VARvariablezverbose-configversionVMnamesvolumevowwr  r  watchz
watch-pathweekzweekday-of-monthzweek-numberz	week-yearWHATr  WHERE	WHEREFOREWHICHWHOzwhole-secondWHYwordcaser	   
workaroundwrapr  zwrite-torT  yadayearyieldz
yyyy-mm-ddzzipz
zip-latest)FalseTrueAnyr  AssociativeAST	atomicint	Attribute	BacktracezBacktrace::Framer  Baggyr  BlobBlockr"  BufCallable	CallFrameCancellationr4  CArrayr>  CoderP  rQ  
ComplexStrCoolCurrentThreadSchedulerCursorrl  Dateishrm  DistroDurationEncoding	ExceptionFailureFatRatGrammarr  HyperWhateverr  r  int16int32int64int8IntStrr  zIO::ArgFileszIO::CatHandlez
IO::HandlezIO::NotificationzIO::PathzIO::Path::CygwinzIO::Path::QNXzIO::Path::UnixzIO::Path::Win32zIO::Pipez
IO::SocketzIO::Socket::AsynczIO::Socket::INETzIO::SpeczIO::Spec::CygwinzIO::Spec::QNXzIO::Spec::UnixzIO::Spec::Win32zIO::SpecialIterableIteratorJunctionKernelLabelr  LockzLock::AsynclonglonglongMacror  MatchzMetamodel::AttributeContainerzMetamodel::C3MROzMetamodel::ClassHOWzMetamodel::EnumHOWzMetamodel::FinalizationzMetamodel::MethodContainerz!Metamodel::MROBasedMethodDispatchzMetamodel::MultipleInheritancezMetamodel::NamingzMetamodel::Primitivesz!Metamodel::PrivateMethodContainerzMetamodel::RoleContainerzMetamodel::TrustingMethodr  r  MixyMur	  r
  r  r  Nilr  num32num64r  NumStrObjAtOrderPair	Parameterr   z
Pod::BlockzPod::Block::CodezPod::Block::CommentzPod::Block::DeclaratorzPod::Block::NamedzPod::Block::ParazPod::Block::TablezPod::Headingz	Pod::ItemPointer
PositionalPositionalBindFailoverProczProc::AsyncrH  ProxyPseudoStash	QuantHashRangerQ  RationalRatStrrV  r$  RoutineScalar	Scheduler	SemaphoreSeqr~  r  Setty	Signaturesize_tr  Stashr  StrDistanceStringySub	SubmethodSupplierzSupplier::Preservingr  SystemicTap	TelemetryzTelemetry::Instrument::ThreadzTelemetry::Instrument::UsagezTelemetry::PeriodzTelemetry::SamplerThreadThreadPoolSchedulerUIntuint16uint32uint64uint8Uniutf8r-  VersionVMWhateverWhateverCode
WrapHandle)fXZr  alsoandandthenbeforecmpdiveqeqvextrafffffgegtlelegltmmmmodneororelserxru  r  rT  xorxxz++z--z**!+-~?rM  ||+^~^?^^rA  /%z%%z+&z+<z+>z~&z~<z~>z?&gcdlcmrs  rt  z+|rx  z~|ry  z?|rz  ru  &r{  r  r  z<=>z..z..^z^..z^..^z!=z==rB  z<=rC  z>=z~~z===z!eqvz&&rw  z^^z//r  r  z??z!!rb  rc  r  r  z<==z==>z<<==z==>>unicmp)Nr   r   )r   r@  )r   r  )9r  r  r  r  r  r+   r  r  r  r  r   r1   r"  r!  r#  r  PERL6_KEYWORDSPERL6_BUILTINSPERL6_BUILTIN_CLASSESPERL6_OPERATORSre  r[  r{  r  r  r  r   r   r'  r&  r   r   r   r   r)  r-  r.  r   r   r/  r0  r1  r2  r3  r$  r   r   r
   r   r   r   r:  r6   r  r;  r<  __classcell__)r  r=  s   @@r5   r   r      s0     D
 C&G,I  !67IMLL299$E'N rNh$LOA(A$hA08(A(A$hA08(A 	(A %hA 19(A 	(	A %h	A 19(	A
 	(A
 %hA
 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A 	(A %hA 19(A  	(!A  %h!A  19(!A" 	(#A" %h#A" 19(#A$ 	(%A$ %h%A$ 19(%A& 	('A& %h'A& 19('A( 	()A( %h)A( 19()A* 	(+A* %h+A* 19(+A, 	(-A, %h-A, 19(-A. 	(/A. %h/A. 19(/A0 	(1A0 %h1A0 19(1A2 	(3A2 %h3A2 19(3A4 	(5A4 %h5A4 19(5A6 	(7A6 %h7A6 19(7A8 	(9A8 %h9A8 19(9A: 	(;A: %h;A: 19(;A< 	(=A< %h=A< 19(=A> 	(?A> %h?A> 19(?A@ 	(AA@ %hAA@ 19(AAB 	(CAB %hCAB 19(CAD 	(EAD %hEAD 19(EAF 	(GAF %hGAF 19(GAH 	(IAH %hIAH 19(IAJ 	(KAJ %hKAJ 19(KAL 	(MAL %hMAL 19(MAN 	(OAN %hOAN 19(OAP 	(QAP %hQAP 19(QAR 	(SAR %hSAR 19(SAT 	(UAT %hUAT 19(UAV 	(WAV %hWAV 19(WAX 	(YAX %hYAX 19(YAZ 	([AZ %h[AZ 19([A\ 	(]A\ %h]A\ 19(]A^ 	(_A^ %h_A^ 19(_A` 	(aA` %haA` 19(aAb 	(cAb %hcAb 19(cAd 	(eAd %heAd 19(eAf 	(gAf %hgAf 19(gAh 	(iAh %hiAh 19(iAj 	(kAj %hkAj 19(kAl 	(mAl %hmAl 19(mAn 	(oAn %hoAn 19(oAp 	(qAp %hqAp 19(qAr 	(sAr %hsAr 19(sAt 	(uAt %huAt 19(uAv 	(wAv %hwAv 19(wAx 	(yAx %hyAx 19(yAz 	({Az %h{Az 19({A| 	(}A| %h}A| 19(}A~ 	(A~ %h((Hh(AANF/6p3% 	 /
4rww~7NNQggw0013/
 '..)/
 6w7H7HI	/

 &w'8'89/
 w001/
 ')??(Jgt$&:</
 &(>>ILbbejjgt$k3/
 $Xgz4%TU/
 ~/EFP/
 46LUab\\/
  ~/EFU!/
$ !#99<YY]]%/
( 1$--2F2FG)/
* --.+/
, 114QQ]]!!#-/
0 dmm,1/
2"#4V#<>3/
8 $VZZ09/
: /

;;/
< !&**-=/
> P\\?/
B /=C/
D FNN+E/
F -fll;G/
H 0>I/
J D!K/
L"#4V\\#BDM/
P S\\Q/
T v&U/
V /:W/
X ++c148Y/
Z )&1[/
\ )&1]/
` 	H*+*+TN	
 	HD+,TN

 	.1HHK``t$&;=)*

 	D&!<eDkJ(&,,7/>/>w~~&+,FLL!
CMF^5n9 9r8   )r  r1   pygments.lexerr   r   r   r   r   r   r   r	   pygments.tokenr
   r   r   r   r   r   r   r   r   pygments.utilr   __all__r   r   r9   r8   r5   <module>r     sX    
     $ $ $ )
%I
 IX{9# {9r8   