+
    IV-j�=  ã                   ó‚   € R t ^ RIt^ RI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.t. ROt ! R R]4      tR# )z´
pygments.lexers.crystal
~~~~~~~~~~~~~~~~~~~~~~~

Lexer for Crystal.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)ÚExtendedRegexLexerÚincludeÚbygroupsÚdefaultÚwordsÚline_re)	ÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚ
WhitespaceÚCrystalLexerc                    óv
  a € ] tR t^t o RtRtRtRR.tR.tR.t	Rt
]P                  ]P                  ,          tR	 tR
 tR. R]P$                  3N]! RP)                  4       RR7      ]3N]! RP)                  4       RRR7      ]P,                  3NR]P,                  3N]! . RaORR7      ]P.                  3NR]! ]]]P6                  4      3NR]! ]]]P6                  4      R3NR]R3NR]! ]]]P6                  4      R3N]! RP)                  4       RRR7      ]P,                  3NR]P8                  P,                  3N]! RP)                  4       RRR7      ]P8                  3NR]P8                  P,                  3NR]3NR]3NR ]P:                  R!3NR"]! ]]P>                  4      R#3NR$]P>                  R#3NR%]! ]]P>                  4      R#3NR&]! ] PB                  ]]"4      3NR']! ] PF                  ]]"4      3NR(]! ] PH                  ]]"4      3NR)]! ] PJ                  ]]"4      3NR*]! ] PJ                  ]]"4      3NR+]! ] PJ                  ]]"4      3NR,]! ] PL                  ]]"4      3NR-]PN                  PP                  3NR.]PN                  PR                  3NR/]PN                  PT                  3NR0]PN                  PT                  3NR1]PN                  PT                  3NR2]"3N]+! R34      NR4]PX                  3NR5]P.                  3NR6]PZ                  R73NR8]PZ                  R93NR:]! ]"]]P\                  4      R;3N]! ]/R<R=7      ]! ]"]PD                  4      3NR>]! ]"]4      3NR?]3NR@]"3NRA]"3NRB]03NRC]3NRRD]! ]PP                  ]"]Pb                  4      RE3]2! RE4      .RRF]PP                  3RG]! ]0]]PP                  ]]04      3]2! RE4      .RHRI]PZ                  RJ3RK]PZ                  RE3]+! R4      .RLRM]PZ                  RH3.RNRO]Pf                  3.RP]+! RL4      ]+! RN4      .RQ]+! RL4      RR]P>                  3RS]P>                  3.RT]+! RL4      RR]Ph                  3RS]Ph                  3.R#]+! RL4      RU]P>                  3RV]P>                  3RR]P>                  3RW]P>                  3RX]P>                  RE3.R!RY]P:                  RE3.R7R6]PZ                  RJ3RZ]PZ                  RE3R[]3]+! R4      .R9R8]PZ                  RJ3R\]PZ                  RE3]+! R4      .R;R]]"RJ3R^]"RE3]+! R4      ./t5]5Pm                  ]! 4       4       R_t7V t8R`# )br   z
For Crystal source code.
ÚCrystalzhttps://crystal-lang.orgÚcrÚcrystalz*.crztext/x-crystalz2.2c              #  ó‚  "  € VP                  ^4      pV\        VP                  ^4      3x € VP                  ^4      \        P                  VP                  ^4      3x € VP                  ^4      \        P
                  VP                  ^4      3x € VP                  ^4      \        P                  VP                  ^4      3x € VP                  P                  R. 4      p\        V4      '       * pVP                  VP                  ^4      R8H  VP                  ^4      34       VP                  ^4      Vn
        VP                  ^4      Vn        \        V4      ^d8  d   V P                  VR7       Rj  x€L
  M.VP                  \        P                  VP                  ^4      3x € VP                  4       Vn
        V'       Edq   V EFJ  w  rg. p\        P                  ! VP                   VP                  4       Fã  pV'       d    VP                  4       P#                  4       p	MVP                  4       P%                  4       p	W—8X  d…   V F4  p
V
P                  4       \        P                  V
P                  4       3x € K6  	  VP                  4       \        P
                  VP                  4       3x € VP                  4       Vn
         EK  VP                  V4       Kå  	  V F*  p
V
P                  4       \&        V
P                  4       3x € K,  	  EKM  	  \        VP                   4      Vn        VR R# R#  ELÄ5i)é   Úheredocstackz<<-)ÚcontextN:NNN)Ústartr	   Úgroupr   ÚHeredocÚ	DelimiterÚ__dict__Ú
setdefaultÚboolÚappendÚposÚendÚlenÚget_tokens_unprocessedr   ÚfinditerÚtextÚstripÚrstripr   )ÚselfÚmatchÚctxr   r   Ú	outermostÚtolerantÚhdnameÚlinesÚcheckÚamatchs   &&&        Úh/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pygments/lexers/crystal.pyÚheredoc_callbackÚCrystalLexer.heredoc_callback)   sV  é € ð —‘˜A“ˆØ”X˜uŸ{™{¨1›~Ð-Ò-Ø�k‰k˜!‹nœfŸn™n¨e¯k©k¸!«nÐ<Ò<Ø�k‰k˜!‹nœf×.Ñ.°·±¸A³Ð>Ò>Ø�k‰k˜!‹nœfŸn™n¨e¯k©k¸!«nÐ<Ò<à—|‘|×.Ñ.¨~¸rÓBˆÜ˜\Ó*Ô*ˆ	Ø×Ñ˜UŸ[™[¨›^¨uÑ4°e·k±kÀ!³nÐEÔFà—+‘+˜a“.ˆŒØ—)‘)˜A“,ˆŒäˆ|Ó˜sÔ"Ø×2Ñ2¸3Ð2Ó?×?Ñ?à—'‘'œ6Ÿ>™>¨5¯;©;°q«>Ð9Ò9Ø—)‘)“+ˆŒçˆ9ä$0Ñ �Ø�Ü$×-Ò-¨c¯h©h¸¿¹Ö@�EßØ %§¡£× 3Ñ 3Ó 5™à %§¡£× 4Ñ 4Ó 6˜Ø”Û&+˜FØ"(§,¡,£.´&·.±.À&Ç,Á,Ã.Ð"PÔPñ ',à#Ÿk™k›m¬V×-=Ñ-=¸u¿{¹{»}ÐLÒLØ"'§)¡)£+˜œÛàŸ™ UÖ+ñ Aó #(˜Ø$Ÿl™l›n¬e°V·\±\³^ÐCÔCô #(ñ# %1ô& ˜#Ÿ(™(“mˆCŒGØ˜Q’ñ- ò @ùs   ‚E6L?Å8L<Å9AL?Ç
E3L?c            
     ó   € / p R \         P                  3\        \        RR7      \         P                  3R\         P                  3R\         P                  3R\         P                  R3R\        \         P                  \        4      3R\         P                  R	3R
\         P                  R3.V R&   R\         P                  R3R\         P                  R3R\         P                  R33 F2  w  rp\        VR8X  d   RMR4      RV R2V3RV3W2R3.V RV,           &   K4  	  R' EF©  w  rEraRV,           \         P                  3.WE8g  V\         P                  R3.,          ,           V\         P                  R3\        R4      RV,           R,           \         P                  3RV,           R,           \         P                  3.,           WR,           &   V R,          P                  RV,           \         P                  VR,           34       R V,           R,           \         P                  3.WE8g  V\         P                  R3.,          ,           V\         P                  R3RV,           R,           \         P                  3RV,           R,           \         P                  3.,           WR!,           &   V R,          P                  R"V,           \         P                  VR!,           34       R V,           R,           \         P                  3.WE8g  V\         P                  R3.,          ,           VR#,           \         P                  R3\        R$4      RV,           R,           \         P                  3RV,           R,           \         P                  3.,           WR%,           &   V R,          P                  R&V,           \         P                  VR%,           34       EK¬  	  V # )(z
\:\w+[!?]?z\:©Úprefixz:'(\\\\|\\[^\\]|[^'\\])*'z'(\\\\|\\'|[^']|\\[^'\\]+)'z:"z
simple-symz([a-zA-Z_]\w*)(:)(?!:)Ú"zsimple-stringz(?<!\.)`zsimple-backtickÚstringsÚstringÚsymÚbacktickÚ`ústring-escapedústring-intp-escapedz[^\\z#]+ú[\\#]ú#popzsimple-z\\ú#pushz[\\#Ú]z[^\\#z]+z-intp-stringz%Q?z\\[\\z-stringz%[qwi]z[imsx]*ústring-intpz-regexz%r))ú\{ú\}z{}Úcb)ú\[ú\]z\[\]Úsb)z\(z\)z()Úpa)Ú<Ú>z<>Úab)ú\|rP   rP   Úpi)r   ÚSymbolr   ÚCRYSTAL_OPERATORSÚCharr   r   ÚDoubleÚBacktickr   ÚOtherr!   ÚRegex)ÚstatesÚnameÚttyper#   ÚlbraceÚrbraceÚbraceccs          r3   Úgen_crystalstrings_rulesÚ%CrystalLexer.gen_crystalstrings_rulesX   sp  € ØˆàœFŸM™MÐ*ÜÔ$¨UÔ3´V·]±]ÐCØ)¬6¯=©=Ð9à+¬V¯[©[Ð9Ø”F—M‘M <Ð0à&¬´·±ÄÓ(LÐMØ”6—=‘= /Ð2Øœ&Ÿ/™/Ð+<Ð=ð
ˆˆyÑð "*¬6¯=©=¸#Ð >Ø!&¬¯©°sÐ ;Ø!+¬V¯_©_¸cÐ Bó!CÑˆD˜ô ¨D°E¬MÑ(Ð?TÓUØ˜˜˜SÐ! 5Ð)Ø˜5Ð!Ø˜VÐ$ð	&ˆF�9˜T•>Ó"ñ!Cô,ñ *ˆF˜Gð ˜•¤§¡Ð.ð+àÑ!ØœŸ™ wÐ/ð&õ õ+ð
 œŸ™ vÐ.ÜÐ-Ó.Ø˜7Õ" SÕ(¬&¯,©,Ð7Ø˜GÕ# dÕ*¬F¯L©LÐ9ð	õ		+ˆF˜Õ&Ñ'ð �9Õ×$Ñ$ f¨v¥o´v·|±|Ø&*¨>Õ&9ð&;ô <ð ˜GÕ# cÕ)¬6¯<©<Ð8ð&àÑ!ØœŸ™ wÐ/ð&õ õ&ð
 œŸ™ vÐ.Ø˜7Õ" SÕ(¬&¯,©,Ð7Ø˜GÕ# dÕ*¬F¯L©LÐ9ðõ	&ˆF˜	•>Ñ"ð �9Õ×$Ñ$ i°&Õ&8¼&¿,¹,Ø&*¨9¥nð&6ô 7ð ˜GÕ# cÕ)¬6¯<©<Ð8ð%àÑ!ØœŸ™ wÐ/ð&õ õ%ð
 ˜)Õ#¤V§\¡\°6Ð:Ü˜Ó&Ø˜7Õ" SÕ(¬&¯,©,Ð7Ø˜GÕ# dÕ*¬F¯L©LÐ9ð	õ		%ˆF˜•=Ñ!ð �9Õ×$Ñ$ e¨f¥n´f·l±lØ&*¨8¥mð&5÷ 6ñO,ðT ˆó    Úrootz#.*?$zó
                abstract asm begin break case do else elsif end ensure extend if in
                include next of private protected require rescue return select self super
                then unless until when while with yield
            z\b)Úsuffixzz
                previous_def forall out uninitialized __DIR__ __FILE__ __LINE__
                __END_LINE__
            z(?<!\.))r8   rc   z(\.(is_a\?|nil\?|responds_to\?|as\?|as\b)z2(module|lib)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z)(def|fun|macro)(\s+)((?:[a-zA-Z_]\w*::)*)Úfuncnamezdef(?=[*%&^`~+-/\[<>=])zI(annotation|class|struct|union|type|alias|enum)(\s+)((?:[a-zA-Z_]\w*::)*)Ú	classnamezN
                instance_sizeof offsetof pointerof sizeof typeof
            z+(?<!\.)(debugger\b|p!|pp!|record\b|spawn\b)z�
                abort at_exit caller exit gets loop main p pp print printf puts
                raise rand read_line sleep spawn sprintf system
            z(?<!\.)(((class_)?((getter|property)\b[!?]?|setter\b))|(def_(clone|equals|equals_and_hash|hash)|delegate|forward_missing_to)\b)z/(?<!\w)(<<-?)(["`\']?)([a-zA-Z_]\w*)(\2)(.*?\n)z(<<-?)("|\')()(\2)(.*?\n)Ú__END__zend-partab  (?:^|(?<=[=<>~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)zmultiline-regexz(?<=\(|,|\[)/z(\s+)(/)(?![\s=])z5(0o[0-7]+(?:_[0-7]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?zA(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?z3(0b[01]+(?:_[01]+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?zU((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)(?:e[+-]?[0-9]+)?(?:_?f[0-9]+)?)(\s*)([/?])?zU((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)(?:_?f[0-9]+)?)(\s*)([/?])?zU((?:0(?![0-9])|[1-9][\d_]*)(?:\.\d[\d_]*)?(?:e[+-]?[0-9]+)?(?:_?f[0-9]+))(\s*)([/?])?z8(0\b|[1-9][\d]*(?:_\d+)*(?:_?[iu][0-9]+)?)\b(\s*)([/?])?z@@[a-zA-Z_]\w*z@[a-zA-Z_]\w*z\$\w+z\$[!@&`\'+~=/\\,;.<>_*$?:"^-]z\$-[0adFiIlpvw]z::r:   zi\?(\\[MC]-)*(\\([\\abefnrtv#"\']|[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\{[a-fA-F0-9 ]+\})|\S)(?!\w)z[A-Z][A-Z_]+\b(?!::|\.)z\{%zin-macro-controlz\{\{zin-macro-exprz!(@\[)(\s*)([A-Z]\w*(::[A-Z]\w*)*)zin-annotz(\.|::)r7   z,(\.|::)([a-zA-Z_]\w*[!?]?|[*%&^`~+\-/\[<>=])z[a-zA-Z_]\w*(?:[!?](?!=))?z:(\[|\]\??|\*\*|<=>?|>=|<<?|>>?|=~|===|!~|&&?|\|\||\.{1,3})z[-+/*%=<>&!^|~]=?z[(){};,/?:\\]z\s+z\(?:([a-zA-Z_]\w*)(\.))?([a-zA-Z_]\w*[!?]?|\*\*?|[-+]@?|[/%&|^`~]|\[\]=?|<<|>>|<=?>|>=?|===?)rB   z	[A-Z_]\w*z(\()(\s*)([A-Z_]\w*)(\s*)(\))zin-intprF   rC   rG   rE   z#\{r?   zR\\([\\abefnrtv#"\']|[0-7]{1,3}|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u\{[a-fA-F0-9 ]+\})r@   zinterpolated-regexrA   z[^\\#]+zinterpolated-stringz\\\\z\\/z[^\\/#]+z/[imsx]*z.+z%\}z(for|verbatim)\bz\}\}rI   rJ   © N)ÚtrueÚfalseÚnil)9Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rZ   ÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚreÚDOTALLÚ	MULTILINEÚflagsr4   r_   r   ÚSingler   Úsplitr
   ÚPseudoÚConstantr   r   r   Ú	NamespaceÚBuiltinÚPreprocr   rX   r   ÚOctr	   ÚHexÚBinÚFloatÚIntegerÚVariableÚClassÚInstanceÚGlobalr   rT   ÚInterpolÚ	DecoratorrS   r   ÚFunctionr   ÚEscaperW   ÚtokensÚupdateÚ__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r3   r   r      sÉ  ø‡ € ñð €DØ
$€CØ�YÐ€GØ�€IØ!Ð"€IØ€Mà�I‰I˜Ÿ™Õ$€Eò- ò^FðR 	ð F
Ø�w—~‘~Ð&ðF
ñ ð ÷ ‘“ ô	'ð )0ð	1ðF
ñ ð ÷ ‘“ 
°5ô:ð <C¿>¹>ðKðF
ð 9¸'¿.¹.ÐIðF
ñ Ò+°EÔ:¸G×<LÑ<LÐMðF
ð  CÙ�g˜z¨4¯>©>Ó:ð<ð!F
ð$ :Ù�g˜z¨4¯>©>Ó:¸JðHð%F
ð( (¨°*Ð=ð)F
ð* ZÙ�g˜z¨4¯>©>Ó:¸KðIð+F
ñ0 ð ç‘“ 
°5ô:à;B¿>¹>ðKð1F
ð8 <¸T¿\¹\×=PÑ=PÐQð9F
ñ< ð ÷ ‘“ 
°5ô:ð <@¿<¹<ðIð=F
ðFYà�\‰\× Ñ ð"ðGF
ðN @ØððOF
ðT *Ð+;Ð<ðUF
ðV ˜Ÿ™¨*Ð5ðWF
ðZñ. $ J°·±Ó=Ð?Pð/Rð[F
ðL ˜vŸ|™|Ð->Ð?ðMF
ðP "¡8¨J¸¿¹Ó#EØð ðQF
ðd FÙ�f—j‘j *¨hÓ7ð9ðeF
ðh RÙ�f—j‘j *¨hÓ7ð9ðiF
ðl DÙ�f—j‘j *¨hÓ7ð9ðmF
ðt,á�f—l‘l J°Ó9ð;ðuF
ðz,á�f—l‘l J°Ó9ð;ð{F
ð@+á�f—l‘l J°Ó9ð;ðAF
ðF IÙ�f—n‘n j°(Ó;ð=ðGF
ðL  §¡× 3Ñ 3Ð4ðMF
ðN ˜tŸ}™}×5Ñ5Ð6ðOF
ðP �t—}‘}×+Ñ+Ð,ðQF
ðR .¨t¯}©}×/CÑ/CÐDðSF
ðT   §¡×!5Ñ!5Ð6ðUF
ðV �HÐðWF
ñX �IÓðYF
ð\ð �[‰[ðð]F
ðd (¨¯©Ð7ðeF
ðh �V—_‘_Ð&8Ð9ðiF
ðj �f—o‘o Ð7ðkF
ðn 2Ù�h 
¨D¯N©NÓ;¸ZðIðoF
ñv Ð$¨ZÔ8Ù�h §¡Ó.ð0ðwF
ðz =Ù�h Ó%ð'ð{F
ð@ +¨DÐ1ðAF
ðB%Ø&.ð0ðCF
ðF " 8Ð,ðGF
ðH ˜{Ð+ðIF
ðJ �ZÐ ðKF
ðN 	ð6ñ �d—j‘j (¨D¯M©MÓ:¸FðDñ �F‹Oð
ð 	Ø˜4Ÿ:™:Ð&Ø-Ù�k :¨t¯z©z¸:À{ÓSðUá�F‹Oð	
ð 	Ø�F—O‘O WÐ-Ø�F—O‘O VÐ,Ù�F‹Oð
ð
 	Ø�V—_‘_ iÐ0ð
ð 	àbØ�]‰]ðð
ð
 	Ù�MÓ"ÙÐ$Ó%ð 
ð 	Ù�MÓ"Ø�v—|‘|Ð$Ø˜Ÿ™Ð&ð
ð
 	Ù�MÓ"Ø�v—|‘|Ð$Ø˜Ÿ™Ð&ð 
ð
 	Ù�MÓ"Ø�f—l‘lÐ#Ø�V—\‘\Ð"Ø�v—|‘|Ð$Ø˜&Ÿ,™,Ð'Ø˜&Ÿ,™,¨Ð/ð
ð 	Ø�G—O‘O VÐ,ð
ð 	Ø�V—_‘_ gÐ.Ø�V—_‘_ fÐ-Ø  'Ð*Ù�F‹Oð	
ð 	Ø�f—o‘o wÐ/Ø�f—o‘o vÐ.Ù�F‹Oð
ð
 	Ø�H˜gÐ&Ø�H˜fÐ%Ù�F‹Oð
ðMK€FðX ‡M�MÑ*Ó,×-Ò-ra   )z!=z!~Ú!Ú%z&&Ú&z**Ú*Ú+Ú-Ú/z<=>z<<z<=rM   z===z==z=~Ú=z>=z>>rN   z[]=z[]?z[]Ú^z||Ú|Ú~)ro   ru   Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   Ú__all__rS   r   rg   ra   r3   Ú<module>r       sI   ðñó 
÷÷ ÷#÷ #õ #ð Ð
€òÐ ôQ.Ð%ö Q.ra   