o
    	ȷe                     @   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-2022 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                   @   sR  e Zd 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d0ejj fd1ejj fd2ejd3fd4e!j"fd5e!j#fd6e!j$fd7e!j%fd8e!j%fd9e!j&fd:efd;efd<ej'fd=ejfd>ej(d?fd@ej(dAfdBej(dCfdDej(dEfdFej(fdGeeeej)fdHeeeej)fdIeeedJfedKddefdLefdMefdNefdOedPfdQej*d
fdRej*fgd*efdSed
fdTed
fdUej)fdVejd
fgdWej)d
fdXej)d
fdVed
fdYej+d
fdZed
fgd[e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dSej(d?fdaej(d
fdbej(fgdcej(fd`ej(fddej(dAfdeej(d
fdfej(fgdgej(fd`ej(fdhej(dCfdiej(d
fdjej(fgdkej(fd`ej(fdlej(dEfdmej(d
fdnej(fgdoejd
fgdpZ-dqdr Z.dsS )tr   z
    For Perl source code.
    Perlzhttps://www.perl.org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  K/var/www/ideatree/venv/lib/python3.10/site-packages/pygments/lexers/perl.pyanalyse_text   s   
zPerlLexer.analyse_textN)/__name__
__module____qualname____doc__r
  url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dZg dZg dZddgZe	j
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/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLi dMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdni dodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddēddƓddȓddʓdd̓ddΓddГddғddԓi dd֓ddؓddړddܓddޓddddddddddddddddddddddddi dddddddd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/d0d1d2d3d4d5d6d7d8d9d:i 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[d\i 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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dejfdejfdejfdejfde d eeedfde d e d eeedfdeeeeefeeeefeeeddej feeeej fde d ej!fdej!j"fdej!j"fde d ej!j"fdej!fdee#fde$j%fde$j&fde$j'fde$j(fde$j(fde$j)fde#j*fde#j*fdefdee#j*fde#j*fde#feee+fde d efde#fde#fe,ddefdefdefge,ddedfdefgdde d eedfe-dgdedfde.e/fde#j*fde#j*fde#j*fdejfdefde#j*fgdŜZ0dƐdǄ Z1 fdȐdɄZ2  Z3S (  r   zJ
    For Raku (a.k.a. Perl 6) source code.

    .. versionadded:: 2.0
    Perl6zhttps://www.raku.org)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   rQ  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lsbrZ  MAINr[  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   re  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WHATrp  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GrammarrK  HyperWhateverr]  r_  int16int32int64int8IntStrrc  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/  StashrB  StrDistanceStringySub	SubmethodSupplierzSupplier::PreservingrK  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  rN  rQ  z<=>z..z..^z^..z^..^z!=z==<z<=>z>=z~~z===z!eqvz&&r  z^^z//r  r  z??z!!r  r  r4  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/  r0  r2  r  r  r  r4    r5  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rt	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  r1  r!  r  r   )lexerr  contextgroupsopening_charsn_charsr9  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  )rO  rP  r  rN  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  rm  r:  )stackr=  r
   r  r  r   r=  perl6_token_nesting_levelr@  r  rA  rS  r  r  r  opening_brace_callback0  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  rR  rm  r:  r   )	rS  r=  r
   r  r  r   r=  rT  r   rU  r  r  r  closing_brace_callback=  s   "

z!Perl6Lexer.closing_brace_callbackc                 c   sD    d|_ | t|j| |  fV  | |_|jd d S )Nr:  r  )rT  r=  r
   r  r  r   rS  r  )r@  r  rA  r  r  r  embedded_perl6_callbackK  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   rm  z(?P<delimiter>(?P<first_char>[)r   rZ  r   z,(?<=:)(?:my|our|state|constant|temp|let).*?;z<(?:[-!?+.]\s*)?\[.*?\]>z(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'z(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"z#.*?$)r[  r  rZ  rY  rm  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  )r{  in_podstripped_linesrz  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_RANGErh  r  group)r  r^  r{  saw_perl_declratingrz  
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  rg    s   zPerl6Lexer.__init__)Nr-  r-  )4r  r  r  r  r
  r  r  r  r  r  r!  r   r"  ra  PERL6_KEYWORDSPERL6_BUILTINSPERL6_BUILTIN_CLASSESPERL6_OPERATORSr>  r7  rQ  rV  rW  rX  r   r   r&  r%  r   r   r   r
   r(  r,  r-  r   r   r.  r/  r0  r1  r2  r#  r   r   r   r   r   r9  r  rg  __classcell__r  r  ri  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    
(( L