o
    ‡ÎÖa§˜  ã                   @   s”   d Z ddlZddlmZ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 ddlmZ ddgZG dd„ deƒZG d	d„ deƒZdS )
zÙ
    pygments.lexers.perl
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Perl, Raku and related languages.

    :copyright: Copyright 2006-2021 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)Úshebang_matchesÚ	PerlLexerÚ
Perl6Lexerc                   @   sN  e Zd ZdZdZddgZg d¢ZddgZej	ej
B Zdejd	fd
ejd	fdejd	fdejd	fdejd	fdejd	fdejd	fdejd	fdejd	fdejd	fg
g dejf‘dejf‘dejf‘eddd�ef‘deeeeeeeƒdf‘dejf‘dejf‘dejf‘dejf‘dejf‘d ejf‘d!ejd"f‘d#ejd"f‘d$ejd"f‘d%ejd"f‘d&ejf‘d'ejd"f‘d(ejf‘d)ef‘ed*dd�ejf‘d+ejjf‘d,eeeejeejeƒf‘d-ejd.f‘d/ejjf‘d0ejjf‘d1ejd2f‘d3e j!f‘d4e j"f‘d5e j#f‘d6e j$f‘d7e j$f‘d8e j%f‘d9ef‘d:ef‘d;ej&f‘d<ejf‘d=ej'd>f‘d?ej'd@f‘dAej'dBf‘dCej'dDf‘dEej'f‘dFeeeej(ƒf‘dGeeeej(ƒf‘dHeeeƒdIf‘edJdd�ef‘dKef‘dLef‘dMef‘dNedOf‘dPej)d	fdQej)fgd)efdRed	fdSed	fdTej(fdUejd	fgdVej(d	fdWej(d	fdUed	fdXej*d	fdYed	fgdZej+fd)efd[eeeƒfd\ed	fd]ed	fgd^ej'fd_ej'fdRej'd>fd`ej'd	fdaej'fgdbej'fd_ej'fdcej'd@fddej'd	fdeej'fgdfej'fd_ej'fdgej'dBfdhej'd	fdiej'fgdjej'fd_ej'fdkej'dDfdlej'd	fdmej'fgdnejd	fgdoœZ,dpdq„ Z-drS )sr   z9
    For `Perl <https://www.perl.org>`_ source code.
    ÚPerlÚperlÚpl)ú*.plú*.pmú*.tz*.perlztext/x-perlzapplication/x-perlz"/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*ú#popz"!(\\\\|\\[^\\]|[^\\!])*![egimosx]*z\\(\\\\|[^\\])*\\[egimosx]*z$\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*z"<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*z%\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*z$\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*z"@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z"%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*z$\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*z	\A\#!.+?$z\#.*?$z^=[a-zA-Z0-9]+\s+.*?\n=cut)ÚcaseÚcontinueÚdoÚelseÚelsifÚforÚforeachÚifÚlastÚmyÚnextÚourÚredoÚresetÚthenÚunlessÚuntilÚwhileÚprintÚnewÚBEGINÚCHECKÚINITÚENDÚreturnz\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*úbalanced-regexzs<(\\\\|\\[^\\]|[^\\>])*>\s*zs\[(\\\\|\\[^\\]|[^\\\]])*\]\s*zs\((\\\\|\\[^\\]|[^\\)])*\)\s*z&m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z6((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*z\s+)ÄÚ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Úforkr7   Ú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Úkillr$   ÚlcÚlcfirstÚlengthÚlinkÚlistenÚlocalÚ	localtimeÚlogÚlstatÚmapÚmkdirÚmsgctlÚmsggetÚmsgrcvÚmsgsndr%   r&   ÚoctÚopenÚopendirÚordr'   ÚpackÚpipeÚpopÚposÚprintfÚ	prototypeÚpushÚ	quotemetaÚrandÚreadÚreaddirÚreadlineÚreadlinkÚreadpipeÚrecvr(   Ú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Úwritez+((__(DATA|DIE|WARN)__)|(STD(IN|OUT|ERR)))\bz/(<<)([\'"]?)([a-zA-Z_]\w*)(\2;?\n.*?\n)(\3)(\n)Ú__END__ú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)\{ú	cb-stringz(q|qq|qw|qr|qx)\(ú	rb-stringz(q|qq|qw|qr|qx)\[ú	sb-stringz(q|qq|qw|qr|qx)\<ú	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+)Úfuncname)ÚnoÚpackageÚrequireÚusez=(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={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.+)r8   Úrootr7   rø   r
  r  r  r  r  r  r÷   c                 C   s:   t | dƒrdS d}t d| ¡r|d7 }d| v r|d }|S )Nr   Tr   z(?:my|our)\s+[$@%(]gÍÌÌÌÌÌì?ú:=é   )r   ÚreÚsearch)ÚtextÚresult© r  ú6/usr/lib/python3/dist-packages/pygments/lexers/perl.pyÚanalyse_textÏ   s   
zPerlLexer.analyse_textN).Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
  ÚaliasesÚ	filenamesÚ	mimetypesr  Ú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ÚConstantÚFunctionÚtokensr  r  r  r  r  r      s˜   









öÿþýüûü
ÿöôÿòðïÿîÿì
é
èÿçÿåâ
á ÿà"Þ#æåÝ
?Á@ÿÀ
B¾
C½
D¼
E»FºG¹H¸Iÿ·KµL´M³N²O±P°
Q¯
R®
S­
T¬U«VÿªXÿ¨Z¦[ÿþ¥^ÿ¢` aŸc�
fþ
û


ûú	

û

û

û

û
ÿ �× .c                       s,	  e Zd ZdZdZg d¢Zg d¢ZddgZej	ej
B ejB ZdZdZd	Zd
ZdZi dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d!“d#d!“d$d%“d&d'“d(d)“i d*d+“d,d-“d.d/“d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“d<d=“d>d?“d@dA“dBdC“dDdE“dFdG“dHdI“dJdK“¥i dLdM“dNdO“dPdQ“dRdS“dTdU“dVdW“dXdY“dZd[“d\d]“d^d_“d`da“dbdc“ddde“dfdg“dhdi“djdk“dldm“¥i dndo“dpdq“drds“dtdu“dvdw“dxdy“dzd{“d|d}“d~d“d€d�“d‚dƒ“d„d…“d†d‡“dˆd‰“dŠd‹“dŒd�“dŽd�“¥i d�d‘“d’d““d”d•“d–d—“d˜d™“dšd›“dœd�“dždŸ“d d¡“d¢d£“d¤d¥“d¦d§“d¨d©“dªd«“d¬d­“d®d¯“d°d±“¥i d²d³“d´dµ“d¶d·“d¸d¹“dºd»“d¼d½“d¾d¿“dÀdÁ“dÂdÃ“dÄdÅ“dÆdÇ“dÈdÉ“dÊdË“dÌdÍ“dÎdÏ“dÐdÑ“dÒdÓ“¥i dÔdÕ“dÖd×“dØdÙ“dÚdÛ“dÜdÝ“dÞdß“dàdá“dâdã“dädå“dædç“dèdé“dêdë“dìdí“dîdï“dðdñ“dòdó“dôdõ“¥i död÷“dødù“dúdû“düdý“dþdÿ“�d �d“�d�d“�d�d“�d�d“�d�d	“�d
�d“�d�d“�d�d“�d�d“�d�d“�d�d“�d�d“¥i �d�d“�d�d“�d�d“�d�d“�d �d!“�d"�d#“�d$�d%“�d&�d'“�d(�d)“�d*�d+“�d,�d-“�d.�d/“�d0�d1“�d2�d3“�d4�d5“�d6�d7“�d8�d9“¥i �d:�d;“�d<�d=“�d>�d?“�d@�dA“�dB�dC“�dD�dE“�dF�dG“�dH�dI“�dJ�dK“�dL�dM“�dN�dO“�dP�dQ“�dR�dS“�dT�dU“�dV�dW“�dX�dY“�dZ�d[“¥i �d\�d]“�d^�d_“�d`�da“�db�dc“�dd�de“�df�dg“�dh�di“�dj�dk“�dl�dm“�dn�do“�dp�dq“�dr�ds“�dt�du“�dv�dw“�dx�dy“�dz�d{“�d|�d}“¥�d~�d�d€�d��d‚�dƒœ¥Z�dÉ�d†�d‡„Z�dˆ�d‰„ Z�dŠ�d‹„ Z�dŒ�d�„ Z�dŽ�d�„ Zg �d��d… e¡ �d‘ eejƒf‘�d’ejf‘�d“ejf‘�d”ejf‘�d•ejf‘�d–e �d— eeeƒ�d˜f‘�d™e �dš e �d› eeeƒ�dœf‘�d�eeeeeƒf‘eeeƒef‘eee�dž�dŸ�ej f‘eeeƒej f‘�d e �d¡ ej!f‘�d¢ej!j"f‘�d£ej!j"f‘�d¤e �d¡ ej!j"f‘�d¥ej!f‘�d¦ee#ƒf‘�d§e$j%f‘�d¨e$j&f‘�d©e$j'f‘�dªe$j(f‘�d«e$j(f‘�d¬e$j)f‘�d­e#j*f‘�d®e#j*f‘�d¯ef‘�d°ee#j*ƒf‘�d±e#j*f‘�d²e#f‘eeƒe+f‘�d³e �d´ ef‘�dµe#f‘�d¶e#f‘e,�d·ƒ�d¸ef�d¹ef�dºefge,�d·ƒ�d¸e�d»f�dºefg�d¼�d… e¡ �d‘ eeƒ�d½fe-�d½ƒg�d¹e�d¾f�d¿e.e/ƒf�dÀe#j*f�dÁe#j*f�dÂe#j*f�dÃejf�d¸ef�dºe#j*fg�dÄœZ0�dÅ�dÆ„ Z1‡ f�dÇ�dÈ„Z2‡  Z3S (Ê  r   zd
    For `Raku <https://www.raku.org>`_ (a.k.a. Perl 6) source code.

    .. versionadded:: 2.0
    ÚPerl6)Úperl6Úpl6Úraku)r   r   z*.nqpz*.p6z*.6plz*.p6lz*.pl6z*.6pmz*.p6mz*.pm6r   z*.rakuz	*.rakumodz
*.rakutestz	*.rakudocztext/x-perl6zapplication/x-perl6z['\w:-])Nr0   ÚCATCHr1   ÚCLOSEÚCONTROLÚDOCr3   ÚENTERÚFIRSTr2   ÚKEEPÚLASTÚLEAVEÚNEXTÚPOSTÚPREÚQUITÚUNDOÚanonÚaugmentÚbutÚclassÚconstantr   Údoesr   r    Úenumr!   ÚgatherÚgivenÚgrammarÚhasr#   r„   ÚisÚletÚloopÚmadeÚmakeÚmethodÚmoduleÚmultir%   ÚneedÚorwithr'   ÚproceedÚprotoÚrepeatr  r4   z	return-rwÚreturnsÚroleÚruleÚstateÚsubÚ	submethodÚsubsetÚsucceedÚ	supersedeÚtokenÚtryÚunitr+   r,   r	  Úwhenr-   ÚwithÚwithoutÚexportÚnativeÚreprÚrequiredÚrwÚsymbol(  ÚACCEPTSr9   Úabs2relÚabsoluter:   Ú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_lifetimeÚappendÚarchÚarchnameÚargsÚarityÚArrayÚasecÚasechÚasinÚasinhz
ASSIGN-KEYz
ASSIGN-POSÚassumingÚastÚatÚatanr<   Ú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ÚcharsrA   Úchildz
child-namezchild-typenamerB   rC   rD   rF   ÚchrsÚchunksÚcisÚclassifyzclassify-listÚcleanupÚclonerH   Ú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ÚconjrJ   ÚconstraintsÚ	constructÚcontainsÚcontentsÚcopyrK   Ú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   rO   ÚDEFINITEÚdelayedz
DELETE-KEYz
DELETE-POSÚdenominatorÚdescÚDESTROYÚ
destroyersÚdevnullÚdiagzdid-you-meanrQ   zdies-okÚdirÚdirnamezdir-sepÚDISTROnamesr   rP  zdoes-okÚdonezdone-testingÚduckmapÚdynamicÚeÚeagerÚearlierÚelemsÚemitÚ	enclosingÚencodeÚencoderÚencodingÚendz	ends-withÚenum_from_valueÚenum_value_listÚenum_valuesÚenumsrZ   Ú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Úfmtr7   Ú	formatterÚfreezeÚfromz	from-listz	from-loopz
from-posixÚfullzfull-barrierÚgetÚ	get_valuere   Ú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Úlangr$   ÚlastcallÚlaterÚlazyr‹   ÚleadingÚlevelÚlikeÚlineÚlinesrŽ   ÚListr�   Úlivezlives-okr�   Úlockr’   Úlog10ÚlookupÚlsbrY  ÚMAINrZ  ÚMapÚmatchÚmaxÚmaxpairsÚmergeÚmessager[  Úmethod_tableÚmethodsÚmigrateÚminÚminmaxÚminpairsÚminuteÚ	misplacedÚMixÚMixHashr•   ÚmodeÚmodifiedÚmonthÚmoveÚmroÚmsbr]  Ú	multinessr%   r
  ÚnamedÚnamed_namesÚnarrowÚ
nativecastznative-descriptorÚnativesizeofr/   Únew_typeznew-from-daycountznew-from-pairsr&   Ú
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ÚpredÚprefixÚprematchÚprependr.   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Úrawr  r§   Ú	readcharsÚreadonlyÚreadyÚRealÚ
reallocateÚrealsÚreasonÚreblessÚreceiver¬   Úredispatcherr(   ÚreduceÚrel2absÚrelativeÚreleaser®   ÚrepeatedÚreplacementÚreportÚreservedÚresolveÚrestorer  ÚresumeÚrethrowr¯   Úrightr±   r²   rd  Úroles_to_composeÚrolishÚrollÚrootdirÚrootsÚrotateÚrotorÚroundÚ
roundrobinzroutine-typeÚrunÚrwxÚsÚsamecaseÚsamemarkÚsamewithÚsayzschedule-onÚ	schedulerÚscopeÚsecÚsechÚsecondr´   Úselfrº   Ú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Ó   ÚstableÚstartÚ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Þ   r*   Ú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ÚWHATro  ÚWHEREÚ	WHEREFOREÚWHICHÚWHOzwhole-secondÚWHYÚwordcaser	   Ú
workaroundÚwraprõ   zwrite-toÚxÚ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ÚCancellationrÇ  ÚCArrayrÑ  ÚCoderã  rä  Ú
ComplexStrÚCoolÚCurrentThreadSchedulerÚCursorrÿ  ÚDateishr   ÚDistroÚDurationÚEncodingÚ	ExceptionÚFailureÚFatRatÚGrammarrJ  ÚHyperWhateverr\  r^  Úint16Úint32Úint64Úint8ÚIntStrrb  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::Asyncrâ  ÚProxyÚPseudoStashÚ	QuantHashÚRangerë  ÚRationalÚRatStrrð  r"  ÚRoutineÚScalarÚ	SchedulerÚ	SemaphoreÚSeqr  r   ÚSettyÚ	SignatureÚsize_tr.  ÚStashrA  ÚStrDistanceÚStringyÚSubÚ	SubmethodÚSupplierzSupplier::PreservingrJ  Ú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Úrxr  rä   rŽ  ÚxorÚxxz++z--z**ú!ú+ú-ú~ú?ú|ú||ú+^ú~^ú?^ú^Ú*ú/ú%z%%z+&z+<z+>z~&z~<z~>z?&ÚgcdÚlcmr  r  z+|r  z~|r  z?|r  r  ú&r  rM  rP  z<=>z..z..^z^..z^..^z!=z==ú<z<=ú>z>=z~~z===z!eqvz&&r  z^^z//r‹  r„  z??z!!r   r  r3  rª  z<==z==>z<<==z==>>Úunicmpú(ú)r!  r"  ú[ú]ú{ú}õ   Â«õ   Â»u   à¼ºu   à¼»u   à¼¼u   à¼½u   áš›u   ášœu   â€˜u   â€™u   â€šu   â€›u   â€œu   â€�u   â€žu   â€Ÿu   â€¹u   â€ºu   â�…u   â�†u   â�½u   â�¾u   â‚�u   â‚Žu   âˆˆu   âˆ‹u   âˆ‰u   âˆŒu   âˆŠu   âˆ�u   âˆ•u   â§µu   âˆ¼u   âˆ½u   â‰ƒu   â‹�u   â‰’u   â‰“u   â‰”u   â‰•u   â‰¤u   â‰¥u   â‰¦u   â‰§u   â‰¨u   â‰©u   â‰ªu   â‰«u   â‰®u   â‰¯u   â‰°u   â‰±u   â‰²u   â‰³u   â‰´u   â‰µu   â‰¶u   â‰·u   â‰¸u   â‰¹u   â‰ºu   â‰»u   â‰¼u   â‰½u   â‰¾u   â‰¿u   âŠ€u   âŠ�u   âŠ‚u   âŠƒu   âŠ„u   âŠ…u   âŠ†u   âŠ‡u   âŠˆu   âŠ‰u   âŠŠu   âŠ‹u   âŠ�u   âŠ�u   âŠ‘u   âŠ’u   âŠ˜u   â¦¸u   âŠ¢u   âŠ£u   âŠ¦u   â«žu   âŠ¨u   â«¤u   âŠ©u   â«£u   âŠ«u   â«¥u   âŠ°u   âŠ±u   âŠ²u   âŠ³u   âŠ´u   âŠµu   âŠ¶u   âŠ·u   â‹‰u   â‹Šu   â‹‹u   â‹Œu   â‹�u   â‹‘u   â‹–u   â‹—u   â‹˜u   â‹™u   â‹šu   â‹›u   â‹œu   â‹�u   â‹žu   â‹Ÿu   â‹ u   â‹¡u   â‹¢u   â‹£u   â‹¤u   â‹¥u   â‹¦u   â‹§u   â‹¨u   â‹©u   â‹ªu   â‹«u   â‹¬u   â‹­u   â‹°u   â‹±u   â‹²u   â‹ºu   â‹³u   â‹»u   â‹´u   â‹¼u   â‹¶u   â‹½u   â‹·u   â‹¾u   âŒˆu   âŒ‰u   âŒŠu   âŒ‹u   âŒ©u   âŒªu   âŽ´u   âŽµu   â�¨u   â�©u   â�ªu   â�«u   â�¬u   â�­u   â�®u   â�¯u   â�°u   â�±u   â�²u   â�³u   â�´u   â�µu   âŸƒu   âŸ„u   âŸ…u   âŸ†u   âŸ•u   âŸ–u   âŸ�u   âŸžu   âŸ¢u   âŸ£u   âŸ¤u   âŸ¥u   âŸ¦u   âŸ§u   âŸ¨u   âŸ©u   âŸªu   âŸ«u   â¦ƒu   â¦„u   â¦…u   â¦†u   â¦‡u   â¦ˆu   â¦‰u   â¦Šu   â¦‹u   â¦Œu   â¦�u   â¦Žu   â¦�u   â¦�u   â¦‘u   â¦’u   â¦“u   â¦”u   â¦•u   â¦–u   â¦—u   â¦˜u   â§€u   â§�u   â§„u   â§…u   â§�u   â§�u   â§‘u   â§’u   â§”u   â§•u   â§˜u   â§™u   â§šu   â§›u   â§¸u   â§¹u   â§¼u   â§½u   â¨«u   â¨¬u   â¨­u   â¨®u   â¨´u   â¨µu   â¨¼u   â¨½u   â©¤u   â©¥u   â©¹u   â©ºu   â©½u   â©¾u   â©¿u   âª€u   âª�u   âª‚u   âªƒu   âª„u   âª‹u   âªŒu   âª‘u   âª’u   âª“u   âª”u   âª•u   âª–u   âª—u   âª˜u   âª™u   âªšu   âª›u   âªœu   âª¡u   âª¢u   âª¦u   âª§u   âª¨u   âª©u   âªªu   âª«u   âª¬u   âª­u   âª¯u   âª°u   âª³u   âª´u   âª»u   âª¼u   âª½u   âª¾u   âª¿u   â«€u   â«�u   â«‚u   â«ƒu   â«„u   â«…u   â«†u   â«�u   â«Žu   â«�u   â«�u   â«‘u   â«’u   â«“u   â«”u   â«•u   â«–u   â«¬u   â«­u   â«·u   â«¸u   â«¹u   â«ºu   â¸‚u   â¸ƒu   â¸„u   â¸…u   â¸‰u   â¸Šu   â¸Œu   â¸�u   â¸œu   â¸�u   â¸ u   â¸¡u   ã€ˆu   ã€‰u   ã€Šu   ã€‹u   ã€Œu   ã€�u   ã€Žu   ã€�u   ã€�u   ã€‘u   ã€”u   ã€•u   ã€–u   ã€—u   ã€˜u   ã€™u   ã€šu   ã€›u   ã€�u   ã€žu   ï´¾u   ï´¿u   ï¸—u   ï¸˜u   ï¸µu   ï¸¶u   ï¸·u   ï¸¸u   ï¸¹u   ï¸ºu   ï¸»u   ï¸¼u   ï¸½u   ï¸¾u   ï¸¿u   ï¹€u   ï¹�u   ï¹‚u   ï¹ƒu   ï¹„u   ï¹‡u   ï¹ˆu   ï¹™u   ï¹šu   ï¹›u   ï¹œu   ï¹�u   ï¹žu   ï¼ˆu   ï¼‰u   ï¼žu   ï¼½u   ï½�u   ï½ u   ï½£)u   ï¼œu   ï¼»u   ï½›u   ï½Ÿu   ï½¢NÚ c                 C   sh   |d u rd| d  dd„ | D ƒ¡ | d S d| d | d d  d	d„ | D ƒ¡ d | d
 | d S )Nz\b(r  c                 s   ó   � | ]}t  |¡V  qd S ©N©r  Úescape©Ú.0rŽ  r  r  r  Ú	<genexpr>ï  ó   € z/Perl6Lexer._build_word_match.<locals>.<genexpr>z)\bz(?<!r%  r$  c                 s   r-  r.  r/  r1  r  r  r  r3  ó  r4  z(?!)rˆ   )r	   Úboundary_regex_fragmentrÛ  r6   r  r  r  Ú_build_word_matchí  s&   ÿÿÿÿÿÿþþzPerl6Lexer._build_word_matchc                    s   ‡ fdd„}|S )Nc                 3   sŒ  � |  ¡ }|d }t|ƒ}| d¡}tj |d ¡}|j}|d u r-| || d¡| ¡}	nE|| }
d}| d¡}|dkrp| ||| ¡}| |
|| ¡}|dkrWt|ƒ}d}n|dkrf||k rf|d7 }|}n|d8 }|}|dks<|}	|	dk rzt|ƒ}	|d ur¯t 	d|¡r¯|| d¡| |	… }t 	dt 
|¡ d ||	d … tj¡}|r«|	| ¡ 7 }	nt|ƒ}	| ¡ ˆ || ¡ |	| … fV  |	| |_d S )	NÚ	delimiterÚadverbsr   é   éÿÿÿÿz:to\bz^\s*z\s*$)Ú	groupdictÚlenr?  r   ÚPERL6_BRACKETSr  Úfindr<  r  r  r0  r   r  r¡   )Úlexerrƒ  ÚcontextÚgroupsÚopening_charsÚn_charsr8  Úcloserr  Úend_posÚclosing_charsÚnesting_levelÚ
search_posÚnext_open_posÚnext_close_posÚheredoc_terminatorÚend_heredoc©Útoken_classr  r  Úcallback÷  sN   €

ôÿÿ z.Perl6Lexer.brackets_callback.<locals>.callbackr  )rN  rO  r  rM  r  Úbrackets_callbackö  s   5zPerl6Lexer.brackets_callbackc                 c   sf   � |j }| ¡ t|j| ¡ | ¡ … fV  | ¡ |_t|ƒdkr/|d dkr1| jd7  _d S d S d S )Nr  éþÿÿÿrl  r9  )Ústackr<  r
   r  r  r¡   r<  Úperl6_token_nesting_level©r?  rƒ  r@  rR  r  r  r  Úopening_brace_callback.  s   €"
ÿz!Perl6Lexer.opening_brace_callbackc                 c   s|   � |j }| ¡ t|j| ¡ | ¡ … fV  | ¡ |_t|ƒdkr8|d dkr:| jd8  _|jdkr<| ¡  d S d S d S d S )Nr  rQ  rl  r9  r   )	rR  r<  r
   r  r  r¡   r<  rS  r    rT  r  r  r  Úclosing_brace_callback;  s   €"

ýz!Perl6Lexer.closing_brace_callbackc                 c   sD   � d|_ | ¡ t|j| ¡ | ¡ … fV  | ¡ |_|j d¡ d S )Nr9  r  )rS  r<  r
   r  r  r¡   rR  r›  )r?  rƒ  r@  r  r  r  Úembedded_perl6_callbackI  s
   €"
z"Perl6Lexer.embedded_perl6_callbackz$#[`|=](?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)útoken-sym-bracketsz(regex|token|rule)(?!z)(\s*z+)?ú	pre-tokenz(role)(\s+)(q)(\s*)z
(?::[UD])?r5   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   Úcommonr  r  z.+?)r   rl  z(?P<delimiter>(?P<first_char>[)r   rY  r   z,(?<=:)(?:my|our|state|constant|temp|let).*?;z<(?:[-!?+.]\s*)?\[.*?\]>z(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'z(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"z#.*?$)rZ  r  rY  rX  rl  c                 C   sÐ   dd„ }|   ¡ }||ƒ}d |¡} t| dƒrdS d}d}t dtj d | ¡r+d	}d}|D ]0}t d
d|¡}t d|¡r=q-t d|¡rF dS t d|¡}|r]|sW| 	d¡d urZ dS d}q- d| v rf|d }|S )Nc                 S   sH   d}g }| D ]}t  d|¡rd}qt  d|¡rd}q|s!| |¡ q|S )NFz^=(?:end|cut)z^=\w+T)r  rƒ  r›  )rz  Úin_podÚstripped_linesry  r  r  r  Ú	strip_pod£  s   
€z*Perl6Lexer.analyse_text.<locals>.strip_podÚ
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)r  gš™™™™™©?r  r  )
Ú
splitlinesrˆ   r   r  r  r   ÚPERL6_IDENTIFIER_RANGErg  rƒ  Úgroup)r  r]  rz  Úsaw_perl_declÚratingry  Ú
class_declr  r  r  r  ¢  s>   

ÿÿzPerl6Lexer.analyse_textc                    s$   t ƒ jdi |¤Ž | dd¡| _d S )Nr  zutf-8r  )ÚsuperÚ__init__r?  r  )r  Úoptions©Ú	__class__r  r  rf  Ù  s   zPerl6Lexer.__init__)Nr,  r,  )4r  r  r  r  r
  r  r  r  r  r   r  ÚUNICODEr!  r`  ÚPERL6_KEYWORDSÚPERL6_BUILTINSÚPERL6_BUILTIN_CLASSESÚPERL6_OPERATORSr=  r6  rP  rU  rV  rW  rˆ   r   r%  r$  r   r   r   r
   r'  r+  r,  r   r   r-  r.  r/  r0  r1  r"  r   r   r   r   r   r8  r  rf  Ú__classcell__r  r  rh  r  r   à   sø   t&ÿÿÿþþþýýýüüüûûûúúúùùùøøø	÷	÷	÷
ö
ö
öõõõôôôóóóòòòñññðððïïïîîîíííìììëëëêêêéééèèèçççæææåååäääãããâââááá à à à!ß!ß!ß"Þ"Þ"Þ#Ý#Ý#Ý$Ü$Ü$Ü%Û%Û%Û&Ú&Ú&Ú'Ù'Ù'Ù(Ø(Ø(Ø)×)×)×*Ö*Ö*Ö+Õ+Õ+Õ,Ô,Ô,Ô-Ó-Ó-Ó.Ò.Ò.Ò/Ñ/Ñ/Ñ0Ð0Ð0Ð1Ï1Ï1Ï2Î2Î2Î3Í3Í3Í4Ì4Ì4Ì5Ë5Ë5Ë6Ê6Ê6Ê7É7É7É8È8È8È9Ç9Ç9Ç:Æ:Æ:Æ;Å;Å;Å<Ä<Ä<Ä=Ã=Ã=Ã>Â>Â>Â?Á?
ÀC	8ÿÿ
ý
ü
û
úÿù	ÿ÷ôóÿòðÿîìëÿê
èÿç
ä
ã
âÿá
!ß
"Þ
#Ý
$Ü%Û&ÿÚ(ÿØ*Ö
+Õ,Ô-Ó.Ò1üý
ÿý




ö¿O7)r  r  Úpygments.lexerr   r   r   r   r   r   r   r	   Úpygments.tokenr
   r   r   r   r   r   r   r   Úpygments.utilr   Ú__all__r   r   r  r  r  r  Ú<module>   s    
(( K