@shikijs/langs-precompiled 3.3.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-ts.mjs +1 -1
  6. package/dist/applescript.mjs +1 -1
  7. package/dist/ara.mjs +1 -1
  8. package/dist/asciidoc.mjs +1 -1
  9. package/dist/asm.mjs +1 -1
  10. package/dist/astro.mjs +1 -1
  11. package/dist/awk.mjs +1 -1
  12. package/dist/ballerina.mjs +1 -1
  13. package/dist/bat.mjs +1 -1
  14. package/dist/blade.mjs +1 -1
  15. package/dist/c.mjs +1 -1
  16. package/dist/cadence.mjs +1 -1
  17. package/dist/clarity.mjs +1 -1
  18. package/dist/cmake.mjs +1 -1
  19. package/dist/cobol.mjs +1 -1
  20. package/dist/codeql.mjs +1 -1
  21. package/dist/coffee.mjs +1 -1
  22. package/dist/common-lisp.mjs +1 -1
  23. package/dist/coq.mjs +1 -1
  24. package/dist/cpp-macro.mjs +1 -1
  25. package/dist/cpp.mjs +1 -1
  26. package/dist/crystal.mjs +1 -1
  27. package/dist/css.mjs +1 -1
  28. package/dist/cypher.mjs +1 -1
  29. package/dist/d.mjs +1 -1
  30. package/dist/dax.mjs +1 -1
  31. package/dist/dream-maker.mjs +1 -1
  32. package/dist/elixir.mjs +1 -1
  33. package/dist/elm.mjs +1 -1
  34. package/dist/emacs-lisp.mjs +1 -1
  35. package/dist/erlang.mjs +1 -1
  36. package/dist/fennel.mjs +1 -1
  37. package/dist/fortran-free-form.mjs +1 -1
  38. package/dist/fsharp.mjs +1 -1
  39. package/dist/gdresource.mjs +1 -1
  40. package/dist/gdscript.mjs +1 -1
  41. package/dist/gherkin.mjs +1 -1
  42. package/dist/gleam.mjs +1 -1
  43. package/dist/glimmer-js.mjs +1 -1
  44. package/dist/glimmer-ts.mjs +1 -1
  45. package/dist/glsl.mjs +1 -1
  46. package/dist/gnuplot.mjs +1 -1
  47. package/dist/go.mjs +1 -1
  48. package/dist/groovy.mjs +1 -1
  49. package/dist/hack.mjs +1 -1
  50. package/dist/handlebars.mjs +1 -1
  51. package/dist/haxe.mjs +1 -1
  52. package/dist/hlsl.mjs +1 -1
  53. package/dist/html.mjs +1 -1
  54. package/dist/imba.mjs +1 -1
  55. package/dist/java.mjs +1 -1
  56. package/dist/javascript.mjs +1 -1
  57. package/dist/jinja.mjs +1 -1
  58. package/dist/jsonnet.mjs +1 -1
  59. package/dist/jsx.mjs +1 -1
  60. package/dist/julia.mjs +1 -1
  61. package/dist/kusto.mjs +1 -1
  62. package/dist/latex.mjs +1 -1
  63. package/dist/lean.mjs +1 -1
  64. package/dist/less.mjs +1 -1
  65. package/dist/liquid.mjs +1 -1
  66. package/dist/llvm.mjs +1 -1
  67. package/dist/log.mjs +1 -1
  68. package/dist/logo.mjs +1 -1
  69. package/dist/luau.mjs +1 -1
  70. package/dist/make.mjs +1 -1
  71. package/dist/markdown.mjs +1 -1
  72. package/dist/marko.mjs +1 -1
  73. package/dist/matlab.mjs +1 -1
  74. package/dist/mdc.mjs +1 -1
  75. package/dist/mdx.mjs +1 -1
  76. package/dist/mermaid.mjs +1 -1
  77. package/dist/mipsasm.mjs +1 -1
  78. package/dist/mojo.mjs +1 -1
  79. package/dist/nginx.mjs +1 -1
  80. package/dist/nim.mjs +1 -1
  81. package/dist/nix.mjs +1 -1
  82. package/dist/nushell.mjs +1 -1
  83. package/dist/objective-c.mjs +1 -1
  84. package/dist/objective-cpp.mjs +1 -1
  85. package/dist/ocaml.mjs +1 -1
  86. package/dist/pascal.mjs +1 -1
  87. package/dist/perl.mjs +1 -1
  88. package/dist/php.mjs +1 -1
  89. package/dist/plsql.mjs +1 -1
  90. package/dist/powershell.mjs +1 -1
  91. package/dist/prolog.mjs +1 -1
  92. package/dist/python.mjs +1 -1
  93. package/dist/qss.mjs +1 -1
  94. package/dist/r.mjs +1 -1
  95. package/dist/racket.mjs +1 -1
  96. package/dist/raku.mjs +1 -1
  97. package/dist/riscv.mjs +1 -1
  98. package/dist/ruby.mjs +1 -1
  99. package/dist/sas.mjs +1 -1
  100. package/dist/scheme.mjs +1 -1
  101. package/dist/shaderlab.mjs +1 -1
  102. package/dist/shellscript.mjs +1 -1
  103. package/dist/smalltalk.mjs +1 -3
  104. package/dist/splunk.mjs +1 -1
  105. package/dist/sql.mjs +1 -1
  106. package/dist/stata.mjs +1 -1
  107. package/dist/stylus.mjs +1 -1
  108. package/dist/svelte.mjs +1 -1
  109. package/dist/system-verilog.mjs +1 -1
  110. package/dist/systemd.mjs +1 -1
  111. package/dist/talonscript.mjs +1 -1
  112. package/dist/templ.mjs +1 -1
  113. package/dist/terraform.mjs +1 -1
  114. package/dist/tex.mjs +1 -1
  115. package/dist/toml.mjs +1 -1
  116. package/dist/tsx.mjs +1 -1
  117. package/dist/typescript.mjs +1 -1
  118. package/dist/typst.mjs +1 -1
  119. package/dist/v.mjs +1 -1
  120. package/dist/vala.mjs +1 -1
  121. package/dist/vb.mjs +1 -1
  122. package/dist/vhdl.mjs +1 -1
  123. package/dist/viml.mjs +1 -1
  124. package/dist/vyper.mjs +1 -1
  125. package/dist/wasm.mjs +1 -1
  126. package/dist/wikitext.mjs +1 -1
  127. package/dist/wolfram.mjs +1 -1
  128. package/dist/zenscript.mjs +1 -1
  129. package/package.json +4 -4
@@ -3,7 +3,7 @@ import regexp from './regexp.mjs'
3
3
  import glsl from './glsl.mjs'
4
4
  import sql from './sql.mjs'
5
5
 
6
- const lang = Object.freeze({displayName:"C++",name:"cpp-macro",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#template_isolated_definition"},{include:"#template_definition"},{include:"source.cpp#template_explicit_instantiation"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},alignas_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},alignof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},assembly:{begin:/\b(__asm__|asm)\b(?:\p{space}+)?((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.cpp"},"2":{name:"storage.modifier.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)|(?=(?<!\\\\)\\n)","dgv",{"strategy":"clip_search"}),endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#comments"},{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))\\(","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.cpp"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.cpp"},"2":{name:"punctuation.definition.string.begin.assembly.cpp"}},contentName:"meta.embedded.assembly",end:/"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.assembly.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.asm"},{include:"source.x86"},{include:"source.x86_64"},{include:"source.arm"},{include:"source.cpp#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.other.asm.label.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("\\[((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))\\]","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.cpp"},{include:"#comments"}]}]},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.cpp"}},name:"meta.block.cpp",patterns:[{include:"#function_body_context"}]},block_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.cpp"}},end:/\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cpp"}},name:"comment.block.cpp"},builtin_storage_type_initilizer:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\6)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(\\()","dgv",{"hiddenCaptures":[1,6]}),beginCaptures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{name:"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.case.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},class_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("^(?:(?=((?:\\p{space}+)?))\\1)(//[\\!\\/]+)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.cpp"}},end:/(?<=\n)(?<!\\\n)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|["-\%\.\<\=\>]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/\b[A-Z]+:|@[_a-z]+:/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.cpp"},"2":{patterns:[{match:/(?<=[\!\*\/\p{space}])[\@\\](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|["-\%\.\<\=\>]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/\b[A-Z]+:|@[_a-z]+:/dgv,name:"storage.type.class.gtkdoc.cpp"}]},"3":{name:"punctuation.definition.comment.end.documentation.cpp"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.cpp"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((?:\\p{space}+)?))\\1)/\\*[\\!\\*]+(?:(?:\\n|(?=\\n?$))|(?=\\p{space}))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.comment.begin.documentation.cpp"}},end:/[\!\*]*\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.documentation.cpp"}},name:"comment.block.documentation.cpp",patterns:[{match:/(?<=[\!\*\/\p{space}])[\@\\](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|["-\%\.\<\=\>]|::|\||--|---)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\](?:a|em|e))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/\b[A-Z]+:|@[_a-z]+:/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{include:"source.cpp#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"source.cpp#invalid_comment_end"}]},constructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"storage.type.modifier.calling-convention.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},constructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\14)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\27))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\28))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\31))*>)(?:(?=(\\p{space}*))\\32))?::)*))\\13))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\35))((?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))::((?:(?:(?=(\\p{space}*))\\46)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)(\\*/))(?:(?=(\\p{space}*))\\52))+|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))\\34((?:(?:(?=(\\p{space}*))\\55)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))(?:(?=(\\p{space}*))\\61))+|(?:(?=(\\p{space}+))\\62)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=\\())","dgv",{"hiddenCaptures":[1,4,7,8,10,11,13,14,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,35,37,40,41,43,44,46,49,50,52,53,55,58,59,61,62]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{name:"storage.type.modifier.calling-convention.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.constructor.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"8":{},"9":{patterns:[{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.constructor.cpp"},{match:/(?<=:)(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.constructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},curly_initializer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\73)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))(?:(?=(\\p{space}*))\\79))+|(?:(?=(\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\{)","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,76,77,79,80],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{name:"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"source.cpp#comma"}]},decltype:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},decltype_specifier:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},default_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.default.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.default.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},destructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*)(~(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},destructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\22)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*))\\21))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\43))((?:(?:(?=(\\p{space}*))\\45)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))(?:(?=(\\p{space}*))\\51))+|(?:(?=(\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))::((?:(?:(?=(\\p{space}*))\\54)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)(\\*/))(?:(?=(\\p{space}*))\\60))+|(?:(?=(\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))~\\42((?:(?:(?=(\\p{space}*))\\63)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))(?:(?=(\\p{space}*))\\69))+|(?:(?=(\\p{space}+))\\70)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,21,22,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43,45,48,49,51,52,54,57,58,60,61,63,66,67,69,70],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.destructor.cpp"},{include:"#template_call_range"}]},"11":{patterns:[{include:"#template_call_range"}]},"12":{},"13":{patterns:[{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.destructor.cpp"},{match:/(?<=:)~(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.member.destructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{include:"source.cpp#inline_comment"}]},"24":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{name:"comment.block.cpp"},"26":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},diagnostic:{begin:/*@__PURE__*/ new EmulatedRegExp("^(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?(error|warning))\\b(?:\\p{space}+)?","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$7.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.diagnostic.$reference(directive).cpp",patterns:[{include:"#comments"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(")|(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/[^"']/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{include:"#comments"}]}]},enum_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+(class|struct))?(?:(?:\\p{space}+|((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\))))|(?=\\{))(?:\\p{space}+)?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)(?:(?:\\p{space}+)?(:)(?:\\p{space}+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\8)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)(?:(?=(\\p{space}*))\\45))?::)*(?:(?=(\\p{space}*))\\46))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\48)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)(?:(?=(\\p{space}*))\\81))?(::))?(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))?","dgv",{"hiddenCaptures":[8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.enum.cpp"},"1":{name:"storage.type.enum.cpp"},"2":{name:"storage.type.enum.enum-key.$2.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"source.cpp#scope_resolution_inner_generated"}]},"7":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{name:"entity.name.scope-resolution.cpp"},"11":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"12":{},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{name:"storage.type.integral.$17.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"source.cpp#enumerator_list"},{include:"#comments"},{include:"source.cpp#comma"},{include:"source.cpp#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},ever_present_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"},{include:"#comments"},{include:"source.cpp#line_continuation_character"}]},extern_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(extern)(?=\\p{space}*\")","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.extern.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.extern.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.extern.cpp"}},name:"meta.body.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"source.cpp#goto_statement"},{include:"#evaluation_context"},{include:"source.cpp#label"}]},function_call:{begin:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|uintmax_t|uintmax_t|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?=(\\p{space}*))\\44)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)(\\*/))(?:(?=(\\p{space}*))\\50))+|(?:(?=(\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\57)|\\*+(?!/))*))\\56)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\83))*>)(?:(?=(\\p{space}*))\\84))?(\\()","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,44,47,48,50,51,56,57,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],"lazyCompile":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.function.call.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"11":{},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},patterns:[{include:"#evaluation_context"}]},function_definition:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:^|^|(?<=[\\;\\}]))|(?<=>|\\*/))(?:(?=(\\p{space}*))\\1)(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])template(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\16)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))(?:(?=(\\p{space}*))\\22))+|(?:(?=(\\p{space}+))\\23)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*)((?:(?=(\\p{space}*))\\25)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\47)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\65))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\66))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)(?:(?=(\\p{space}*))\\69))?::)*))\\46))((?:(?:(?=(\\p{space}*))\\71)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\75)|\\*+(?!/))*))\\74)(\\*/))(?:(?=(\\p{space}*))\\77))+|(?:(?=(\\p{space}+))\\78)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\81)|\\*+(?!/))*))\\80)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\86)|\\*+(?!/))*))\\85)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\88)|\\*+(?!/))*))\\87)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\90)|\\*+(?!/))*))\\89)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\92)|\\*+(?!/))*))\\91)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\93))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\94))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\95))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\96))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\97))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\98))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\101)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\105)|\\*+(?!/))*))\\104)(\\*/))(?:(?=(\\p{space}*))\\107))+|(?:(?=(\\p{space}+))\\108)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\110)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\114)|\\*+(?!/))*))\\113)(\\*/))(?:(?=(\\p{space}*))\\116))+|(?:(?=(\\p{space}+))\\117)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\119)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\123)|\\*+(?!/))*))\\122)(\\*/))(?:(?=(\\p{space}*))\\125))+|(?:(?=(\\p{space}+))\\126)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\129)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\133)|\\*+(?!/))*))\\132)(\\*/))(?:(?=(\\p{space}*))\\135))+|(?:(?=(\\p{space}+))\\136)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\139)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\151)|\\*+(?!/))*))\\150)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\155))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\156))*>)(?:(?=(\\p{space}*))\\157))?::)*(?:(?=(\\p{space}*))\\158))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|uintmax_t|uintmax_t|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?=(\\p{space}*))\\161)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\165)|\\*+(?!/))*))\\164)(\\*/))(?:(?=(\\p{space}*))\\167))+|(?:(?=(\\p{space}+))\\168)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=\\()","dgv",{"hiddenCaptures":[1,4,7,8,10,11,16,19,20,22,23,25,28,31,32,34,35,37,40,41,43,44,46,47,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,74,75,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,101,104,105,107,108,110,113,114,116,117,119,122,123,125,126,129,132,133,135,136,139,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,161,164,165,167,168],"strategy":"clip_search","lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.cpp"},"1":{name:"storage.type.template.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})}]},"8":{name:"storage.modifier.$8.cpp"},"9":{patterns:[{include:"source.cpp#inline_comment"}]},"10":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{name:"comment.block.cpp"},"12":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"14":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"24":{patterns:[{include:"#template_call_range"}]},"25":{},"26":{patterns:[{include:"source.cpp#inline_comment"}]},"27":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{name:"comment.block.cpp"},"29":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{patterns:[{include:"source.cpp#inline_comment"}]},"37":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{name:"comment.block.cpp"},"39":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{patterns:[{include:"source.cpp#inline_comment"}]},"41":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{name:"comment.block.cpp"},"43":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{name:"storage.type.modifier.calling-convention.cpp"},"45":{patterns:[{include:"source.cpp#inline_comment"}]},"46":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{name:"comment.block.cpp"},"48":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{patterns:[{include:"source.cpp#scope_resolution_function_definition_inner_generated"}]},"50":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{patterns:[{include:"#template_call_range"}]},"52":{},"53":{name:"entity.name.function.definition.cpp"},"54":{patterns:[{include:"source.cpp#inline_comment"}]},"55":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{name:"comment.block.cpp"},"57":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},name:"meta.head.function.definition.cpp",patterns:[{include:"#ever_present_context"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.cpp"}},contentName:"meta.function.definition.parameters",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"source.cpp#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"8":{patterns:[{include:"source.cpp#inline_comment"}]},"9":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{name:"comment.block.cpp"},"11":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"17":{patterns:[{include:"#template_call_range"}]},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\))(?:\\p{space}+)?(->)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?=(\\p{space}*))\\12)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\15)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\19)|\\*+(?!/))*))\\18)(\\*/))(?:(?=(\\p{space}*))\\21))+|(?:(?=(\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\34)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\38)|\\*+(?!/))*))\\37)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\54))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\55))*>)(?:(?=(\\p{space}*))\\56))?::)*))\\33))((?:(?:(?=(\\p{space}*))\\58)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))(?:(?=(\\p{space}*))\\64))+|(?:(?=(\\p{space}+))\\65)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\81))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,18,19,21,22,24,27,28,30,31,33,34,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,61,62,64,65,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},name:"meta.body.function.definition.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"source.cpp#comma"}]},function_pointer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()(\\*)(?:\\p{space}+)?((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.other.definition.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\;\\=\\>\\{])(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},function_pointer_parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()(\\*)(?:\\p{space}+)?((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.parameter.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\;\\=\\>\\{])(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},inheritance_context:{patterns:[{include:"#ever_present_context"},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.inheritance.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])p(?:rotected|rivate|ublic)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.access.$0.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])virtual(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.virtual.cpp"},{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=protected|virtual|private|public|[\\,\\:])(?:\\p{space}+)?(?!p(?:rotected|rivate|ublic)|virtual)((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?(((?:(?:(?=(\\p{space}*))\\6)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=(\\p{space}*))\\9))+)|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)(?:(?=(\\p{space}*))\\42))?::)*))\\19))(((?:(?:(?=(\\p{space}*))\\45)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=(\\p{space}*))\\48))+)|(?:(?=(\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\65))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,6,7,8,9,10,13,14,15,16,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],"lazyCompile":true})}]},lambdas:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?<=\\P{space}|^)(?<![\\]\"\\&\\)\\*\\>\\[\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)return))(?:\\p{space}+)?(\\[(?!\\[|(?:(?=( *))\\2)\"|(?:(?=( *))\\3)\\p{Nd}))((?:(?=((?:[^\\]\\[]|((?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\8)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\10)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\12)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\14)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\16)(?:)?)+))\\15)\\])?)+))\\13)\\])?)+))\\11)\\])?)+))\\9)\\])?)+))\\7)\\]))*))\\5))(\\](?!((?:(?:(?=(\\p{space}*))\\19)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)(\\*/))(?:(?=(\\p{space}*))\\25))+|(?:(?=(\\p{space}+))\\26)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))[\\]\\;\\=\\[]))","dgv",{"hiddenCaptures":[2,3,5,7,8,9,10,11,12,13,14,15,16,19,22,23,25,26]}),beginCaptures:{"1":{name:"punctuation.definition.capture.begin.lambda.cpp"},"2":{name:"meta.lambda.capture.cpp",patterns:[{include:"source.cpp#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.separator.delimiter.comma.cpp"},"7":{name:"keyword.operator.assignment.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?=\\]|$|(?=\\n?$))|(,))|(=))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#evaluation_context"}]},"3":{},"4":{name:"punctuation.definition.capture.end.lambda.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?<=[\;\}])|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.lambda.cpp"}},name:"meta.function.definition.parameters.lambda.cpp",patterns:[{include:"#function_parameter_context"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|mutable)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.lambda.$0.cpp"},{begin:/->/dgv,beginCaptures:{"0":{name:"punctuation.definition.lambda.return-type.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#comments"},{match:/\P{space}+/dgv,name:"storage.type.return-type.lambda.cpp"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},line:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?line\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.line.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},line_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},macro:{begin:/*@__PURE__*/ new EmulatedRegExp("^(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?define)\\b(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.define.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{name:"entity.name.function.preprocessor.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.macro.cpp",patterns:[{captures:{"1":{name:"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{name:"meta.function.preprocessor.parameters.cpp",patterns:[{captures:{"1":{name:"variable.parameter.preprocessor.cpp"}},match:/(?<=[\(\,])(?:\p{space}+)?((?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)(?:\p{space}+)?/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.cpp"},{match:/\.\.\./dgv,name:"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{name:"punctuation.definition.parameters.end.preprocessor.cpp"}},match:/(?:\p{space}+)?(\()([^\(]*)(\))/dgvy},{include:"#macro_context"},{include:"source.cpp#macro_argument"}]},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},method_access:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\p{space}+)?(?:\\.(?:\\*|)|->(?:\\*|))(?:\\p{space}+)?)*)(?:\\p{space}+)?(~?(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"},"9":{patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=\\.\\*|\\.|->|->\\*)(?:\\p{space}+)?(?:((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.(?:\\*|))|(->(?:\\*|)))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"source.cpp#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},namespace_block:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])namespace(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"0":{name:"meta.head.namespace.cpp"},"1":{name:"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},name:"meta.head.namespace.cpp",patterns:[{include:"#ever_present_context"},{include:"#attributes_context"},{captures:{"1":{patterns:[{include:"source.cpp#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.namespace.cpp"},"6":{name:"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{name:"storage.modifier.inline.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\20))*>)(?:(?=(\\p{space}*))\\21))?::)*(?:(?=(\\p{space}*))\\22))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(::)(?:\\p{space}+)?(inline))?","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]})}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.namespace.cpp"}},name:"meta.body.namespace.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.namespace.cpp",patterns:[{include:"$self"}]}]},noexcept_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},operator_overload:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?:(?=(\\p{space}*))\\11)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\23)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))(?:(?=(\\p{space}*))\\29))+|(?:(?=(\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\33)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\40)|\\*+(?!/))*))\\39)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\49))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\54))*>)(?:(?=(\\p{space}*))\\55))?::)*))\\32))((?:(?:(?=(\\p{space}*))\\57)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\61)|\\*+(?!/))*))\\60)(\\*/))(?:(?=(\\p{space}*))\\63))+|(?:(?=(\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\83))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\84))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\87)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\91)|\\*+(?!/))*))\\90)(\\*/))(?:(?=(\\p{space}*))\\93))+|(?:(?=(\\p{space}+))\\94)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\96)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\100)|\\*+(?!/))*))\\99)(\\*/))(?:(?=(\\p{space}*))\\102))+|(?:(?=(\\p{space}+))\\103)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\105)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\109)|\\*+(?!/))*))\\108)(\\*/))(?:(?=(\\p{space}*))\\111))+|(?:(?=(\\p{space}+))\\112)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\115)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\119)|\\*+(?!/))*))\\118)(\\*/))(?:(?=(\\p{space}*))\\121))+|(?:(?=(\\p{space}+))\\122)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?:(?=(\\p{space}*))\\124)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\128)|\\*+(?!/))*))\\127)(\\*/))(?:(?=(\\p{space}*))\\130))+|(?:(?=(\\p{space}+))\\131)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\134)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\138)|\\*+(?!/))*))\\137)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\141)|\\*+(?!/))*))\\140)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\150))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\151))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\155))*>)(?:(?=(\\p{space}*))\\156))?::)*))\\133))(operator)((?:(?:(?=(\\p{space}*))\\159)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\163)|\\*+(?!/))*))\\162)(\\*/))(?:(?=(\\p{space}*))\\165))+|(?:(?=(\\p{space}+))\\166)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\169)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\173)|\\*+(?!/))*))\\172)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\175)|\\*+(?!/))*))\\174)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\177)|\\*+(?!/))*))\\176)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\179)|\\*+(?!/))*))\\178)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\181)|\\*+(?!/))*))\\180)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\182))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\183))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\184))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\185))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\186))*>)(?:(?=(\\p{space}*))\\187))?::)*))\\168))(?:(?:(delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[\\]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|[\\!\\%\\&\\*-\\-\\/\\<\\=\\>\\^\\|\\~])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(((?:(?:(?=(\\p{space}*))\\192)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\196)|\\*+(?!/))*))\\195)(\\*/))(?:(?=(\\p{space}*))\\198))+|(?:(?=(\\p{space}+))\\199)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\201)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\205)|\\*+(?!/))*))\\204)(\\*/))(?:(?=(\\p{space}*))\\207))+|(?:(?=(\\p{space}+))\\208)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\210)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\214)|\\*+(?!/))*))\\213)(\\*/))(?:(?=(\\p{space}*))\\216))+|(?:(?=(\\p{space}+))\\217)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:\\[\\])?)))|(\"\")((?:(?:(?=(\\p{space}*))\\221)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\225)|\\*+(?!/))*))\\224)(\\*/))(?:(?=(\\p{space}*))\\227))+|(?:(?=(\\p{space}+))\\228)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))((?:(?:(?=(\\p{space}*))\\231)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\235)|\\*+(?!/))*))\\234)(\\*/))(?:(?=(\\p{space}*))\\237))+|(?:(?=(\\p{space}+))\\238)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\(\\<])","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,17,18,20,21,23,26,27,29,30,32,33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,60,61,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,87,90,91,93,94,96,99,100,102,103,105,108,109,111,112,115,118,119,121,122,124,127,128,130,131,133,134,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,159,162,163,165,166,168,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,192,195,196,198,199,201,204,205,207,208,210,213,214,216,217,221,224,225,227,228,231,234,235,237,238],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.operator-overload.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"16":{patterns:[{include:"#template_call_range"}]},"17":{},"18":{patterns:[{include:"source.cpp#inline_comment"}]},"19":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{name:"comment.block.cpp"},"21":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{name:"storage.type.modifier.calling-convention.cpp"},"37":{patterns:[{include:"source.cpp#inline_comment"}]},"38":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{name:"comment.block.cpp"},"40":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{patterns:[{include:"source.cpp#inline_comment"}]},"42":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{name:"comment.block.cpp"},"44":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator.cpp"},{include:"#template_call_range"}]},"46":{patterns:[{include:"#template_call_range"}]},"47":{},"48":{name:"keyword.other.operator.overload.cpp"},"49":{patterns:[{include:"source.cpp#inline_comment"}]},"50":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{name:"comment.block.cpp"},"52":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator-overload.cpp"},{include:"#template_call_range"}]},"54":{patterns:[{include:"#template_call_range"}]},"55":{},"56":{name:"entity.name.operator.cpp"},"57":{name:"entity.name.operator.type.cpp"},"58":{patterns:[{match:/\*/dgv,name:"entity.name.operator.type.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"entity.name.operator.type.reference.cpp"}]},"59":{patterns:[{include:"source.cpp#inline_comment"}]},"60":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{name:"comment.block.cpp"},"62":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{patterns:[{include:"source.cpp#inline_comment"}]},"64":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{name:"comment.block.cpp"},"66":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{patterns:[{include:"source.cpp#inline_comment"}]},"68":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{name:"comment.block.cpp"},"70":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{name:"entity.name.operator.type.array.cpp"},"72":{name:"entity.name.operator.custom-literal.cpp"},"73":{patterns:[{include:"source.cpp#inline_comment"}]},"74":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{name:"comment.block.cpp"},"76":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{name:"entity.name.operator.custom-literal.cpp"},"78":{patterns:[{include:"source.cpp#inline_comment"}]},"79":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{name:"comment.block.cpp"},"81":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.head.function.definition.special.operator-overload.cpp",patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},contentName:"meta.function.definition.parameters.special.operator-overload",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp"},"7":{name:"keyword.other.delete.function.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.body.function.definition.special.operator-overload.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.operator-overload.cpp",patterns:[{include:"$self"}]}]},operators:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(sizeof\\.\\.\\.)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/--/dgv,name:"keyword.operator.decrement.cpp"},{match:/\+\+/dgv,name:"keyword.operator.increment.cpp"},{match:/(?:[\-\%\*\+]|(?<!\()\/)=/dgv,name:"keyword.operator.assignment.compound.cpp"},{match:/(?:[\&\^]|<<|>>|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.cpp"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.cpp"},{match:/!=|<=|>=|==|[\<\>]/dgv,name:"keyword.operator.comparison.cpp"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.cpp"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.cpp"},{include:"source.cpp#assignment_operator"},{match:/[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#function_pointer_parameter"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(thread_local|volatile|register|restrict|static|extern|const)((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))+)((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\)\\,\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/struct|class|union|enum/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\(\\,\\:\\p{space}])((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\=\\[])","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#ever_present_context"}]},parameter_or_maybe_value:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"source.cpp#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(thread_local|volatile|register|restrict|static|extern|const)((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))+)((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\)\\,\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"#function_call"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/struct|class|union|enum/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\(\\,\\:\\p{space}])((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\)\\,\\=\\[]|//|(?:\\n|(?=\\n?$)))","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#evaluation_context"},{include:"#ever_present_context"}]},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"source.cpp#over_qualified_types"},{match:/(?<!:):(?!:)/dgv,name:"punctuation.separator.colon.range-based.cpp"},{include:"#evaluation_context"}]},pragma:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?pragma\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.pragma.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.pragma.cpp",patterns:[{include:"#comments"},{include:"#string_context"},{match:/[\$A-Z_a-z][\-\$\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.cpp"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"source.cpp#language_constants"},{include:"#string_context"},{include:"source.cpp#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"source.cpp#predefined_macros"},{include:"source.cpp#macro_name"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_defined:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])defined(?![\p{L}\p{M}\p{N}\p{Pc}]))(\()/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.defined.cpp"},"2":{name:"punctuation.section.parens.control.defined.cpp"}},end:/(?:\)|(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$))))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"source.cpp#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.preprocessor.conditional.cpp"},preprocessor_conditional_range:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?(if(?:(?:n|)def|))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.conditional.$6.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"},"6":{}},contentName:"meta.preprocessor.conditional",end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"}]},sizeof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},sizeof_variadic_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(sizeof\\.\\.\\.)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},square_brackets:{begin:/([A-Z_a-z][0-9A-Z_a-z]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.other.object"},"2":{name:"punctuation.definition.begin.bracket.square"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},static_assert:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.other.static_assert.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},patterns:[{begin:/(,)(?:\p{space}+)?(?=(?:L|u8|u|U(?:\p{space}+)?")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},end:/(?=\))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},storage_types:{patterns:[{include:"source.cpp#storage_specifiers"},{include:"source.cpp#inline_builtin_storage_type"},{include:"#decltype"},{include:"source.cpp#typename"}]},string_context:{patterns:[{begin:/((?:u|u8|[LU])?)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(")(?:((?:[A-Za-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.cpp",patterns:[{match:/\\(?:u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.cpp"},{match:/\\["'\?\\abfnrtv]/dgv,name:"constant.character.escape.cpp"},{match:/\\[0-7]{1,3}/dgv,name:"constant.character.escape.cpp"},{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x(?:\p{AHex}*|))/dgv},{include:"source.cpp#string_escapes_context_c"}]},{begin:/(?<!\p{AHex})((?:u|u8|[LU])?)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(')(?:((?:[A-Za-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.character.cpp"}},name:"string.quoted.single.cpp",patterns:[{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x(?:\p{AHex}*|))/dgv},{include:"source.cpp#string_escapes_context_c"},{include:"source.cpp#line_continuation_character"}]},{begin:/((?:[LUu]8?)?R)"(?:(?:_r|re)|regex)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:(?:_r|re)|regex)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.raw.regex.cpp",patterns:[{include:"source.regexp.python"}]},{begin:/((?:[LUu]8?)?R)"(?:glsl|GLSL)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:glsl|GLSL)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.glsl.cpp",patterns:[{include:"source.glsl"}]},{begin:/((?:[LUu]8?)?R)"(?:[Pp]?(?:sql|SQL)|d[dm]l)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:[Pp]?(?:sql|SQL)|d[dm]l)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.sql.cpp",patterns:[{include:"source.sql"}]},{begin:/((?:u|u8|[LU])?R)"(?:([^\t \(\)\\]{0,16})|([^\t \(\)\\]*))\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"},"1":{name:"meta.encoding"},"3":{name:"invalid.illegal.delimiter-too-long"}},end:/(\)\2(\3)")(?:((?:[A-Za-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end"},"2":{name:"invalid.illegal.delimiter-too-long"},"3":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.raw"}]},struct_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},switch_conditional_parentheses:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},name:"meta.conditional.switch.cpp",patterns:[{include:"#evaluation_context"}]},switch_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.switch.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.switch.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.switch.cpp"}},name:"meta.head.switch.cpp",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.switch.cpp"}},name:"meta.body.switch.cpp",patterns:[{include:"#default_statement"},{include:"#case_statement"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"source.cpp#language_constants"},{include:"source.cpp#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma_in_template_argument"},{include:"source.cpp#qualified_type"}]},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},template_definition:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)/dgv,beginCaptures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},name:"meta.template.definition.cpp",patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?:\p{space}+)?</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_context:{patterns:[{include:"source.cpp#scope_resolution_template_definition_inner_generated"},{include:"source.cpp#template_definition_argument"},{include:"source.cpp#template_argument_defaulted"},{include:"source.cpp#template_call_innards"},{include:"#evaluation_context"}]},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},typedef_class:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])class(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_function_pointer:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=[^\n]*\(\*\p{space}*(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\p{space}*\))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()(\\*)(?:\\p{space}+)?((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\;\\=\\>\\{])(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]}]},typedef_struct:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])struct(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_union:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])union(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typeid_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},union_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},using_namespace:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(using)\\p{space}+(namespace)\\p{space}+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\5)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\20))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\21))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\22))*>)(?:(?=(\\p{space}*))\\23))?::)*(?:(?=(\\p{space}*))\\24))?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?=[\\n\\;])","dgv",{"hiddenCaptures":[5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}),beginCaptures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{patterns:[{include:"source.cpp#scope_resolution_namespace_using_inner_generated"}]},"4":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{patterns:[{include:"#template_call_range"}]},"6":{},"7":{name:"entity.name.namespace.cpp"}},end:/;|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"}},scopeName:"source.cpp.embedded.macro",embeddedLangs:["regexp","glsl","sql"],aliases:undefined})
6
+ const lang = Object.freeze({displayName:"C++",name:"cpp-macro",patterns:[{include:"#ever_present_context"},{include:"#constructor_root"},{include:"#destructor_root"},{include:"#function_definition"},{include:"#operator_overload"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#namespace_block"},{include:"#extern_block"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#template_isolated_definition"},{include:"#template_definition"},{include:"source.cpp#template_explicit_instantiation"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#evaluation_context"}],repository:{alignas_attribute:{begin:/alignas\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},alignas_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},alignof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},assembly:{begin:/\b(__asm__|asm)\b(?:\p{space}+)?((?:volatile)?)/dgv,beginCaptures:{"1":{name:"storage.type.asm.cpp"},"2":{name:"storage.modifier.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)|(?=(?<!\\\\)\\n)","dgv",{"strategy":"clip_search"}),endCaptures:{},name:"meta.asm.cpp",patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:\\n|(?=\\n?$))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"#comments"},{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))\\(","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.cpp"}},patterns:[{begin:/(R?)(")/dgv,beginCaptures:{"1":{name:"meta.encoding.cpp"},"2":{name:"punctuation.definition.string.begin.assembly.cpp"}},contentName:"meta.embedded.assembly",end:/"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.assembly.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.asm"},{include:"source.x86"},{include:"source.x86_64"},{include:"source.arm"},{include:"source.cpp#backslash_escapes"},{include:"#string_escaped_char"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.other.asm.label.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("\\[((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))\\]","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{match:/:/dgv,name:"punctuation.separator.delimiter.colon.assembly.cpp"},{include:"#comments"}]}]},attributes_context:{patterns:[{include:"#cpp_attributes"},{include:"#gcc_attributes"},{include:"#ms_attributes"},{include:"#alignas_attribute"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.cpp"}},name:"meta.block.cpp",patterns:[{include:"#function_body_context"}]},block_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.begin.cpp"}},end:/\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.cpp"}},name:"comment.block.cpp"},builtin_storage_type_initilizer:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\6)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(\\()","dgv",{"hiddenCaptures":[1,6]}),beginCaptures:{"1":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{name:"storage.type.cpp storage.type.built-in.cpp"},"3":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{name:"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},case_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])case(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.case.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},class_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("^(?:(?=((?:\\p{space}+)?))\\1)(//[\\!\\/]+)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.documentation.cpp"}},end:/(?<=\n)(?<!\\\n)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.documentation.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|["-\%\.\<\=\>]|::|\||---??)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\](?:a|em?))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/\b[A-Z]+:|@[_a-z]+:/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{captures:{"1":{name:"punctuation.definition.comment.begin.documentation.cpp"},"2":{patterns:[{match:/(?<=[\!\*\/\p{space}])[\@\\](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|["-\%\.\<\=\>]|::|\||---??)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\](?:a|em?))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/\b[A-Z]+:|@[_a-z]+:/dgv,name:"storage.type.class.gtkdoc.cpp"}]},"3":{name:"punctuation.definition.comment.end.documentation.cpp"}},match:/(\/\*[\!\*]+(?=\p{space}))([^\n]+)([\!\*]*\*\/)/dgv,name:"comment.block.documentation.cpp"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((?:\\p{space}+)?))\\1)/\\*[\\!\\*]+(?:(?:\\n|(?=\\n?$))|(?=\\p{space}))","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"0":{name:"punctuation.definition.comment.begin.documentation.cpp"}},end:/[\!\*]*\*\/|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.comment.end.documentation.cpp"}},name:"comment.block.documentation.cpp",patterns:[{match:/(?<=[\!\*\/\p{space}])[\@\\](?:callergraph|callgraph|else|endif|f\$|f\[|f\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|["-\%\.\<\=\>]|::|\||---??)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.italic.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\](?:a|em?))\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.bold.doxygen.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]b)\p{space}+(\P{space}+)/dgv},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{name:"markup.inline.raw.string.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\][cp])\p{space}+(\P{space}+)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{captures:{"1":{name:"storage.type.class.doxygen.cpp"},"2":{patterns:[{match:/in|out/dgv,name:"keyword.other.parameter.direction.$0.cpp"}]},"3":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.parameter.cpp"},{match:/,/dgv,name:"punctuation.cpp"}]},"4":{name:"variable.parameter.cpp"},"5":{name:"punctuation.cpp"},"6":{name:"variable.parameter.cpp"}},match:/((?<=[\!\*\/\p{space}])[\@\\]param)(?:\p{space}*\[((?:,?(?:\p{space}+)?(?:in|out)(?:\p{space}+)?)+)\])?(\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(,)(?:\p{space}+)?((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])))*)/dgv},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/(?<=[\!\*\/\p{space}])[\@\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\b(?:\{[^\}]*\})?/dgv,name:"storage.type.class.doxygen.cpp"},{match:/\b[A-Z]+:|@[_a-z]+:/dgv,name:"storage.type.class.gtkdoc.cpp"}]},{include:"source.cpp#emacs_file_banner"},{include:"#block_comment"},{include:"#line_comment"},{include:"source.cpp#invalid_comment_end"}]},constructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"storage.type.modifier.calling-convention.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},constructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\14)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\27))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\28))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\31))*>)(?:(?=(\\p{space}*))\\32))?::)*))\\13))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\35))((?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))::((?:(?:(?=(\\p{space}*))\\46)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\50)|\\*+(?!/))*))\\49)(\\*/))(?:(?=(\\p{space}*))\\52))+|(?:(?=(\\p{space}+))\\53)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))\\34((?:(?:(?=(\\p{space}*))\\55)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))(?:(?=(\\p{space}*))\\61))+|(?:(?=(\\p{space}+))\\62)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=\\())","dgv",{"hiddenCaptures":[1,4,7,8,10,11,13,14,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,35,37,40,41,43,44,46,49,50,52,53,55,58,59,61,62]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.constructor.cpp"},"1":{name:"storage.type.modifier.calling-convention.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.constructor.cpp"},{include:"#template_call_range"}]},"7":{patterns:[{include:"#template_call_range"}]},"8":{},"9":{patterns:[{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.constructor.cpp"},{match:/(?<=:)(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.constructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.constructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.head.function.definition.special.constructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"source.cpp#functional_specifiers_pre_parameters"},{begin:/:/dgv,beginCaptures:{"0":{name:"punctuation.separator.initializers.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\29))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\30))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\31))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\32))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\33))*>)(?:(?=(\\p{space}*))\\34))?(\\()","dgv",{"hiddenCaptures":[6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}),beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"3":{},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))(\{)/dgv,beginCaptures:{"1":{name:"entity.name.function.call.initializer.cpp"},"2":{name:"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},contentName:"meta.parameter.initialization",end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.cpp"},{include:"#comments"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},contentName:"meta.function.definition.parameters.special.constructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},name:"meta.body.function.definition.special.constructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.constructor.cpp",patterns:[{include:"$self"}]}]},cpp_attributes:{begin:/\[\[/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\]\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},curly_initializer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\73)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))(?:(?=(\\p{space}*))\\79))+|(?:(?=(\\p{space}+))\\80)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\{)","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,76,77,79,80],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{name:"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},name:"meta.initialization.cpp",patterns:[{include:"#evaluation_context"},{include:"source.cpp#comma"}]},decltype:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},decltype_specifier:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])decltype(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},contentName:"meta.arguments.decltype",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},patterns:[{include:"#evaluation_context"}]},default_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])default(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.default.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.separator.colon.case.default.cpp"}},name:"meta.conditional.case.cpp",patterns:[{include:"#evaluation_context"}]},destructor_inline:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:(?:(?=(\\p{space}*))\\22)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)(\\*/))(?:(?=(\\p{space}*))\\28))+|(?:(?=(\\p{space}+))\\29)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*)(~(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,22,25,26,28,29]}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#functional_specifiers_pre_parameters"}]},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},destructor_root:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\22)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\26)|\\*+(?!/))*))\\25)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\30)|\\*+(?!/))*))\\29)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\34)|\\*+(?!/))*))\\33)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*))\\21))(((?:(?=((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))\\43))((?:(?:(?=(\\p{space}*))\\45)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)(\\*/))(?:(?=(\\p{space}*))\\51))+|(?:(?=(\\p{space}+))\\52)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))::((?:(?:(?=(\\p{space}*))\\54)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)(\\*/))(?:(?=(\\p{space}*))\\60))+|(?:(?=(\\p{space}+))\\61)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))~\\42((?:(?:(?=(\\p{space}*))\\63)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))(?:(?=(\\p{space}*))\\69))+|(?:(?=(\\p{space}+))\\70)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=\\())","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19,21,22,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,43,45,48,49,51,52,54,57,58,60,61,63,66,67,69,70],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.member.destructor.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.modifier.calling-convention.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.destructor.cpp"},{include:"#template_call_range"}]},"11":{patterns:[{include:"#template_call_range"}]},"12":{},"13":{patterns:[{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?=:)/dgv,name:"entity.name.type.destructor.cpp"},{match:/(?<=:)~(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.function.definition.special.member.destructor.cpp"},{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{include:"source.cpp#inline_comment"}]},"24":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{name:"comment.block.cpp"},"26":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.member.destructor.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.head.function.definition.special.member.destructor.cpp",patterns:[{include:"#ever_present_context"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{name:"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},contentName:"meta.function.definition.parameters.special.member.destructor",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},patterns:[]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},name:"meta.body.function.definition.special.member.destructor.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.member.destructor.cpp",patterns:[{include:"$self"}]}]},diagnostic:{begin:/*@__PURE__*/ new EmulatedRegExp("^(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?(error|warning))\\b(?:\\p{space}+)?","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.diagnostic.$7.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.diagnostic.$reference(directive).cpp",patterns:[{include:"#comments"},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(")|(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"}},end:/(?:(')|(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$))))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.single.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},{begin:/[^"']/dgv,beginCaptures:{},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"string.unquoted.cpp",patterns:[{include:"source.cpp#line_continuation_character"},{include:"#comments"}]}]},enum_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])enum(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+(class|struct))?(?:(?:\\p{space}+|((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\))))|(?=\\{))(?:\\p{space}+)?((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))?)(?:(?:\\p{space}+)?(:)(?:\\p{space}+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\8)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)(?:(?=(\\p{space}*))\\45))?::)*(?:(?=(\\p{space}*))\\46))((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=(\\p{space}*))\\48)(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\59)|\\*+(?!/))*))\\58)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\69)|\\*+(?!/))*))\\68)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\76))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)(?:(?=(\\p{space}*))\\81))?(::))?(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))?","dgv",{"hiddenCaptures":[8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.enum.cpp"},"1":{name:"storage.type.enum.cpp"},"2":{name:"storage.type.enum.enum-key.$2.cpp"},"3":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"4":{name:"entity.name.type.enum.cpp"},"5":{name:"punctuation.separator.colon.type-specifier.cpp"},"6":{patterns:[{include:"source.cpp#scope_resolution_inner_generated"}]},"7":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{name:"entity.name.scope-resolution.cpp"},"11":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"12":{},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{name:"storage.type.integral.$17.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.enum.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.enum.cpp"}},name:"meta.head.enum.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.enum.cpp"}},name:"meta.body.enum.cpp",patterns:[{include:"#ever_present_context"},{include:"source.cpp#enumerator_list"},{include:"#comments"},{include:"source.cpp#comma"},{include:"source.cpp#semicolon"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.enum.cpp",patterns:[{include:"$self"}]}]},evaluation_context:{patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},ever_present_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"},{include:"#comments"},{include:"source.cpp#line_continuation_character"}]},extern_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(extern)(?=\\p{space}*\")","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.extern.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"storage.type.extern.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.extern.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.extern.cpp"}},name:"meta.head.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.extern.cpp"}},name:"meta.body.extern.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.extern.cpp",patterns:[{include:"$self"}]},{include:"$self"}]},function_body_context:{patterns:[{include:"#ever_present_context"},{include:"#using_namespace"},{include:"source.cpp#type_alias"},{include:"source.cpp#using_name"},{include:"source.cpp#namespace_alias"},{include:"#typedef_class"},{include:"#typedef_struct"},{include:"#typedef_union"},{include:"source.cpp#misc_keywords"},{include:"source.cpp#standard_declares"},{include:"#class_block"},{include:"#struct_block"},{include:"#union_block"},{include:"#enum_block"},{include:"source.cpp#access_control_keywords"},{include:"#block"},{include:"#static_assert"},{include:"#assembly"},{include:"#function_pointer"},{include:"#switch_statement"},{include:"source.cpp#goto_statement"},{include:"#evaluation_context"},{include:"source.cpp#label"}]},function_call:{begin:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\12)|\\*+(?!/))*))\\11)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\22)|\\*+(?!/))*))\\21)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\34))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\35))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)(?:(?=(\\p{space}*))\\40))?::)*(?:(?=(\\p{space}*))\\41))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?=(\\p{space}*))\\44)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)(\\*/))(?:(?=(\\p{space}*))\\50))+|(?:(?=(\\p{space}+))\\51)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(((?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\57)|\\*+(?!/))*))\\56)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\77)|\\*+(?!/))*))\\76)(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\83))*>)(?:(?=(\\p{space}*))\\84))?(\\()","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,44,47,48,50,51,56,57,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],"lazyCompile":true}),beginCaptures:{"1":{patterns:[{include:"source.cpp#scope_resolution_function_call_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.function.call.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"meta.template.call.cpp",patterns:[{include:"#template_call_range"}]},"11":{},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{name:"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},patterns:[{include:"#evaluation_context"}]},function_definition:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?:^|^|(?<=[\\;\\}]))|(?<=>|\\*/))(?:(?=(\\p{space}*))\\1)(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])template(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\16)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\20)|\\*+(?!/))*))\\19)(\\*/))(?:(?=(\\p{space}*))\\22))+|(?:(?=(\\p{space}+))\\23)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*)((?:(?=(\\p{space}*))\\25)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\37)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)(\\*/))(?:(?=(\\p{space}*))\\43))+|(?:(?=(\\p{space}+))\\44)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\47)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\51)|\\*+(?!/))*))\\50)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\65))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\66))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)(?:(?=(\\p{space}*))\\69))?::)*))\\46))((?:(?:(?=(\\p{space}*))\\71)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\75)|\\*+(?!/))*))\\74)(\\*/))(?:(?=(\\p{space}*))\\77))+|(?:(?=(\\p{space}+))\\78)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\81)|\\*+(?!/))*))\\80)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\84)|\\*+(?!/))*))\\83)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\86)|\\*+(?!/))*))\\85)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\88)|\\*+(?!/))*))\\87)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\90)|\\*+(?!/))*))\\89)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\92)|\\*+(?!/))*))\\91)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\93))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\94))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\95))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\96))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\97))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\98))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\101)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\105)|\\*+(?!/))*))\\104)(\\*/))(?:(?=(\\p{space}*))\\107))+|(?:(?=(\\p{space}+))\\108)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\110)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\114)|\\*+(?!/))*))\\113)(\\*/))(?:(?=(\\p{space}*))\\116))+|(?:(?=(\\p{space}+))\\117)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\119)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\123)|\\*+(?!/))*))\\122)(\\*/))(?:(?=(\\p{space}*))\\125))+|(?:(?=(\\p{space}+))\\126)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\129)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\133)|\\*+(?!/))*))\\132)(\\*/))(?:(?=(\\p{space}*))\\135))+|(?:(?=(\\p{space}+))\\136)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\139)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\151)|\\*+(?!/))*))\\150)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\155))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\156))*>)(?:(?=(\\p{space}*))\\157))?::)*(?:(?=(\\p{space}*))\\158))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:(?:(?=(\\p{space}*))\\161)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\165)|\\*+(?!/))*))\\164)(\\*/))(?:(?=(\\p{space}*))\\167))+|(?:(?=(\\p{space}+))\\168)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=\\()","dgv",{"hiddenCaptures":[1,4,7,8,10,11,16,19,20,22,23,25,28,31,32,34,35,37,40,41,43,44,46,47,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,74,75,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,101,104,105,107,108,110,113,114,116,117,119,122,123,125,126,129,132,133,135,136,139,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,161,164,165,167,168],"strategy":"clip_search","lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.cpp"},"1":{name:"storage.type.template.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{captures:{"1":{name:"storage.modifier.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})}]},"8":{name:"storage.modifier.$8.cpp"},"9":{patterns:[{include:"source.cpp#inline_comment"}]},"10":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{name:"comment.block.cpp"},"12":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"14":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"15":{patterns:[{include:"source.cpp#inline_comment"}]},"16":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{name:"comment.block.cpp"},"18":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"24":{patterns:[{include:"#template_call_range"}]},"25":{},"26":{patterns:[{include:"source.cpp#inline_comment"}]},"27":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{name:"comment.block.cpp"},"29":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{patterns:[{include:"source.cpp#inline_comment"}]},"37":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{name:"comment.block.cpp"},"39":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{patterns:[{include:"source.cpp#inline_comment"}]},"41":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{name:"comment.block.cpp"},"43":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{name:"storage.type.modifier.calling-convention.cpp"},"45":{patterns:[{include:"source.cpp#inline_comment"}]},"46":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{name:"comment.block.cpp"},"48":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{patterns:[{include:"source.cpp#scope_resolution_function_definition_inner_generated"}]},"50":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{patterns:[{include:"#template_call_range"}]},"52":{},"53":{name:"entity.name.function.definition.cpp"},"54":{patterns:[{include:"source.cpp#inline_comment"}]},"55":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{name:"comment.block.cpp"},"57":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},name:"meta.head.function.definition.cpp",patterns:[{include:"#ever_present_context"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.cpp"}},contentName:"meta.function.definition.parameters",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#parameter_or_maybe_value"},{include:"source.cpp#comma"},{include:"#evaluation_context"}]},{captures:{"1":{name:"punctuation.definition.function.return-type.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"7":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"8":{patterns:[{include:"source.cpp#inline_comment"}]},"9":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{name:"comment.block.cpp"},"11":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"17":{patterns:[{include:"#template_call_range"}]},"18":{},"19":{patterns:[{include:"source.cpp#inline_comment"}]},"20":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{name:"comment.block.cpp"},"22":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\))(?:\\p{space}+)?(->)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?=(\\p{space}*))\\12)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\15)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\19)|\\*+(?!/))*))\\18)(\\*/))(?:(?=(\\p{space}*))\\21))+|(?:(?=(\\p{space}+))\\22)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\34)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\38)|\\*+(?!/))*))\\37)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\41)|\\*+(?!/))*))\\40)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\43)|\\*+(?!/))*))\\42)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\45)|\\*+(?!/))*))\\44)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\49)|\\*+(?!/))*))\\48)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\54))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\55))*>)(?:(?=(\\p{space}*))\\56))?::)*))\\33))((?:(?:(?=(\\p{space}*))\\58)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)(\\*/))(?:(?=(\\p{space}*))\\64))+|(?:(?=(\\p{space}+))\\65)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\68)|\\*+(?!/))*))\\67)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\77))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\78))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\81))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,18,19,21,22,24,27,28,30,31,33,34,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,61,62,64,65,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81],"lazyCompile":true})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},name:"meta.body.function.definition.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.cpp",patterns:[{include:"$self"}]}]},function_parameter_context:{patterns:[{include:"#ever_present_context"},{include:"#parameter"},{include:"source.cpp#comma"}]},function_pointer:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()(\\*)(?:\\p{space}+)?((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.other.definition.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\;\\=\\>\\{])(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},function_pointer_parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()(\\*)(?:\\p{space}+)?((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"variable.parameter.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\;\\=\\>\\{])(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]},gcc_attributes:{begin:/__attribute(?:__)?\p{space}*\(\p{space}*\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)\p{space}*\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},inheritance_context:{patterns:[{include:"#ever_present_context"},{match:/,/dgv,name:"punctuation.separator.delimiter.comma.inheritance.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])p(?:rotected|rivate|ublic)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.access.$0.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])virtual(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.modifier.virtual.cpp"},{captures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"7":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"8":{patterns:[{include:"#template_call_range"}]},"9":{},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{patterns:[{captures:{"1":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{name:"comment.block.cpp"},"3":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\5)|\\*+(?!/))*))\\4)(\\*/))(?:(?=(\\p{space}*))\\7)","dgv",{"hiddenCaptures":[1,4,5,7]})}]},"12":{}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=protected|virtual|private|public|[\\,\\:])(?:\\p{space}+)?(?!p(?:rotected|rivate|ublic)|virtual)((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?(((?:(?:(?=(\\p{space}*))\\6)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)\\*/(?:(?=(\\p{space}*))\\9))+)|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:(?:(?=(\\p{space}*))\\13)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/(?:(?=(\\p{space}*))\\16))+)|(?:(?=(\\p{space}+))\\17)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\20)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\24)|\\*+(?!/))*))\\23)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\29)|\\*+(?!/))*))\\28)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\36))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\37))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\38))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\39))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)(?:(?=(\\p{space}*))\\42))?::)*))\\19))(((?:(?:(?=(\\p{space}*))\\45)/\\*(?:(?=((?:(?:(?=([^\\*]+))\\47)|\\*+(?!/))*))\\46)\\*/(?:(?=(\\p{space}*))\\48))+)|(?:(?=(\\p{space}+))\\49)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\54)|\\*+(?!/))*))\\53)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\56)|\\*+(?!/))*))\\55)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\61))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\62))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\63))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\64))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\65))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,6,7,8,9,10,13,14,15,16,17,19,20,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,45,46,47,48,49,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],"lazyCompile":true})}]},lambdas:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?<=\\P{space}|^)(?<![\\]\"\\&\\)\\*\\>\\[\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?<=(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)return))(?:\\p{space}+)?(\\[(?!\\[|(?:(?=( *))\\2)\"|(?:(?=( *))\\3)\\p{Nd}))((?:(?=((?:[^\\]\\[]|((?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\8)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\10)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\12)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\14)(?:(?<!\\[)\\[(?!\\[)(?:(?=((?:(?:(?=([^\\]\\[]*))\\16)(?:)?)+))\\15)\\])?)+))\\13)\\])?)+))\\11)\\])?)+))\\9)\\])?)+))\\7)\\]))*))\\5))(\\](?!((?:(?:(?=(\\p{space}*))\\19)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\23)|\\*+(?!/))*))\\22)(\\*/))(?:(?=(\\p{space}*))\\25))+|(?:(?=(\\p{space}+))\\26)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))[\\]\\;\\=\\[]))","dgv",{"hiddenCaptures":[2,3,5,7,8,9,10,11,12,13,14,15,16,19,22,23,25,26]}),beginCaptures:{"1":{name:"punctuation.definition.capture.begin.lambda.cpp"},"2":{name:"meta.lambda.capture.cpp",patterns:[{include:"source.cpp#the_this_keyword"},{captures:{"1":{name:"variable.parameter.capture.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.separator.delimiter.comma.cpp"},"7":{name:"keyword.operator.assignment.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?=\\]|$|(?=\\n?$))|(,))|(=))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"#evaluation_context"}]},"3":{},"4":{name:"punctuation.definition.capture.end.lambda.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?<=[\;\}])|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.lambda.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.lambda.cpp"}},name:"meta.function.definition.parameters.lambda.cpp",patterns:[{include:"#function_parameter_context"}]},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:constexpr|consteval|mutable)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.modifier.lambda.$0.cpp"},{begin:/->/dgv,beginCaptures:{"0":{name:"punctuation.definition.lambda.return-type.cpp"}},end:/(?=\{)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#comments"},{match:/\P{space}+/dgv,name:"storage.type.return-type.lambda.cpp"}]},{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},end:/\}|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.lambda.cpp"}},name:"meta.function.definition.body.lambda.cpp",patterns:[{include:"$self"}]}]},line:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?line\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.line.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.line.cpp",patterns:[{include:"#string_context"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},line_comment:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\p{space}*))\\1)(//)","dgv",{"hiddenCaptures":[1]}),beginCaptures:{"1":{name:"punctuation.definition.comment.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"comment.line.double-slash.cpp",patterns:[{include:"source.cpp#line_continuation_character"}]},macro:{begin:/*@__PURE__*/ new EmulatedRegExp("^(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?define)\\b(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.control.directive.define.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.definition.directive.cpp"},"7":{name:"entity.name.function.preprocessor.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.macro.cpp",patterns:[{captures:{"1":{name:"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{name:"meta.function.preprocessor.parameters.cpp",patterns:[{captures:{"1":{name:"variable.parameter.preprocessor.cpp"}},match:/(?<=[\(\,])(?:\p{space}+)?((?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)(?:\p{space}+)?/dgv},{match:/,/dgv,name:"punctuation.separator.parameters.cpp"},{match:/\.\.\./dgv,name:"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{name:"punctuation.definition.parameters.end.preprocessor.cpp"}},match:/(?:\p{space}+)?(\()([^\(]*)(\))/dgvy},{include:"#macro_context"},{include:"source.cpp#macro_argument"}]},macro_context:{patterns:[{include:"source.cpp.embedded.macro"}]},method_access:{begin:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.\\*?)|(->\\*?))((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?:\\p{space}+)?(?:\\.\\*?|->\\*?)(?:\\p{space}+)?)*)(?:\\p{space}+)?(~?(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"},"9":{patterns:[{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.property.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=\\.\\*?|->\\*??)(?:\\p{space}+)?(?:((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.\\*?)|(->\\*?))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.language.this.cpp"},"6":{name:"variable.other.object.access.cpp"},"7":{name:"punctuation.separator.dot-access.cpp"},"8":{name:"punctuation.separator.pointer-access.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])this(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))|((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*|(?<=[\\]\\)]))(?:\\p{space}+)?))(?:(\\.\\*?)|(->\\*?))","dgv",{"hiddenCaptures":[2,5,6,8,9]})},{include:"source.cpp#member_access"},{include:"#method_access"}]},"10":{name:"entity.name.function.member.cpp"},"11":{name:"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},patterns:[{include:"#evaluation_context"}]},ms_attributes:{begin:/__declspec\(/dgv,beginCaptures:{"0":{name:"punctuation.section.attribute.begin.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.attribute.end.cpp"}},name:"support.other.attribute.cpp",patterns:[{include:"#attributes_context"},{begin:/\(/dgv,beginCaptures:{},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#attributes_context"},{include:"#string_context"},{include:"#ever_present_context"}]},{captures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"entity.name.namespace.cpp"}},match:/(using)\p{space}+((?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{match:/,/dgv,name:"punctuation.separator.attribute.cpp"},{match:/:/dgv,name:"punctuation.accessor.attribute.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])(?=::)/dgv,name:"entity.name.namespace.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.other.attribute.$0.cpp"},{include:"source.cpp#number_literal"},{include:"#ever_present_context"}]},namespace_block:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])namespace(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"0":{name:"meta.head.namespace.cpp"},"1":{name:"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.namespace.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},name:"meta.head.namespace.cpp",patterns:[{include:"#ever_present_context"},{include:"#attributes_context"},{captures:{"1":{patterns:[{include:"source.cpp#scope_resolution_namespace_block_inner_generated"}]},"2":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{patterns:[{include:"#template_call_range"}]},"4":{},"5":{name:"entity.name.namespace.cpp"},"6":{name:"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{name:"storage.modifier.inline.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\3)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\16))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\17))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\20))*>)(?:(?=(\\p{space}*))\\21))?::)*(?:(?=(\\p{space}*))\\22))(?:\\p{space}+)?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:\\p{space}+)?(?:(::)(?:\\p{space}+)?(inline))?","dgv",{"hiddenCaptures":[3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]})}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.namespace.cpp"}},name:"meta.body.namespace.cpp",patterns:[{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.namespace.cpp",patterns:[{include:"$self"}]}]},noexcept_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},operator_overload:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?:(?=(\\p{space}*))\\11)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\23)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\27)|\\*+(?!/))*))\\26)(\\*/))(?:(?=(\\p{space}*))\\29))+|(?:(?=(\\p{space}+))\\30)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\33)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\40)|\\*+(?!/))*))\\39)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\42)|\\*+(?!/))*))\\41)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\44)|\\*+(?!/))*))\\43)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\46)|\\*+(?!/))*))\\45)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\48)|\\*+(?!/))*))\\47)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\49))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\50))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\51))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\52))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\53))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\54))*>)(?:(?=(\\p{space}*))\\55))?::)*))\\32))((?:(?:(?=(\\p{space}*))\\57)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\61)|\\*+(?!/))*))\\60)(\\*/))(?:(?=(\\p{space}*))\\63))+|(?:(?=(\\p{space}+))\\64)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\67)|\\*+(?!/))*))\\66)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\70)|\\*+(?!/))*))\\69)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\72)|\\*+(?!/))*))\\71)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\74)|\\*+(?!/))*))\\73)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\76)|\\*+(?!/))*))\\75)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\79))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\80))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\81))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\82))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\83))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\84))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\87)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\91)|\\*+(?!/))*))\\90)(\\*/))(?:(?=(\\p{space}*))\\93))+|(?:(?=(\\p{space}+))\\94)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\96)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\100)|\\*+(?!/))*))\\99)(\\*/))(?:(?=(\\p{space}*))\\102))+|(?:(?=(\\p{space}+))\\103)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\105)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\109)|\\*+(?!/))*))\\108)(\\*/))(?:(?=(\\p{space}*))\\111))+|(?:(?=(\\p{space}+))\\112)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:(?:(?=(\\p{space}*))\\115)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\119)|\\*+(?!/))*))\\118)(\\*/))(?:(?=(\\p{space}*))\\121))+|(?:(?=(\\p{space}+))\\122)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:(?:(?=(\\p{space}*))\\124)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\128)|\\*+(?!/))*))\\127)(\\*/))(?:(?=(\\p{space}*))\\130))+|(?:(?=(\\p{space}+))\\131)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\134)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\138)|\\*+(?!/))*))\\137)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\141)|\\*+(?!/))*))\\140)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\143)|\\*+(?!/))*))\\142)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\145)|\\*+(?!/))*))\\144)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\147)|\\*+(?!/))*))\\146)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\149)|\\*+(?!/))*))\\148)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\150))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\151))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\152))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\153))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\154))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\155))*>)(?:(?=(\\p{space}*))\\156))?::)*))\\133))(operator)((?:(?:(?=(\\p{space}*))\\159)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\163)|\\*+(?!/))*))\\162)(\\*/))(?:(?=(\\p{space}*))\\165))+|(?:(?=(\\p{space}+))\\166)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\169)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\173)|\\*+(?!/))*))\\172)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\175)|\\*+(?!/))*))\\174)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\177)|\\*+(?!/))*))\\176)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\179)|\\*+(?!/))*))\\178)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\181)|\\*+(?!/))*))\\180)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\182))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\183))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\184))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\185))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\186))*>)(?:(?=(\\p{space}*))\\187))?::)*))\\168))(?:(?:(delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[\\]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|[\\!\\%\\&\\*-\\-\\/\\<\\=\\>\\^\\|\\~])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(((?:(?:(?=(\\p{space}*))\\192)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\196)|\\*+(?!/))*))\\195)(\\*/))(?:(?=(\\p{space}*))\\198))+|(?:(?=(\\p{space}+))\\199)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\201)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\205)|\\*+(?!/))*))\\204)(\\*/))(?:(?=(\\p{space}*))\\207))+|(?:(?=(\\p{space}+))\\208)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\210)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\214)|\\*+(?!/))*))\\213)(\\*/))(?:(?=(\\p{space}*))\\216))+|(?:(?=(\\p{space}+))\\217)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:\\[\\])?)))|(\"\")((?:(?:(?=(\\p{space}*))\\221)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\225)|\\*+(?!/))*))\\224)(\\*/))(?:(?=(\\p{space}*))\\227))+|(?:(?=(\\p{space}+))\\228)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])))((?:(?:(?=(\\p{space}*))\\231)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\235)|\\*+(?!/))*))\\234)(\\*/))(?:(?=(\\p{space}*))\\237))+|(?:(?=(\\p{space}+))\\238)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\(\\<])","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,17,18,20,21,23,26,27,29,30,32,33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,57,60,61,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,87,90,91,93,94,96,99,100,102,103,105,108,109,111,112,115,118,119,121,122,124,127,128,130,131,133,134,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,159,162,163,165,166,168,169,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,192,195,196,198,199,201,204,205,207,208,210,213,214,216,217,221,224,225,227,228,231,234,235,237,238],"lazyCompile":true}),beginCaptures:{"0":{name:"meta.head.function.definition.special.operator-overload.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{include:"source.cpp#inline_comment"}]},"12":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{name:"comment.block.cpp"},"14":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"16":{patterns:[{include:"#template_call_range"}]},"17":{},"18":{patterns:[{include:"source.cpp#inline_comment"}]},"19":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{name:"comment.block.cpp"},"21":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{patterns:[{include:"source.cpp#inline_comment"}]},"33":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{name:"comment.block.cpp"},"35":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{name:"storage.type.modifier.calling-convention.cpp"},"37":{patterns:[{include:"source.cpp#inline_comment"}]},"38":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{name:"comment.block.cpp"},"40":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{patterns:[{include:"source.cpp#inline_comment"}]},"42":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{name:"comment.block.cpp"},"44":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator.cpp"},{include:"#template_call_range"}]},"46":{patterns:[{include:"#template_call_range"}]},"47":{},"48":{name:"keyword.other.operator.overload.cpp"},"49":{patterns:[{include:"source.cpp#inline_comment"}]},"50":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{name:"comment.block.cpp"},"52":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.operator-overload.cpp"},{include:"#template_call_range"}]},"54":{patterns:[{include:"#template_call_range"}]},"55":{},"56":{name:"entity.name.operator.cpp"},"57":{name:"entity.name.operator.type.cpp"},"58":{patterns:[{match:/\*/dgv,name:"entity.name.operator.type.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"entity.name.operator.type.reference.cpp"}]},"59":{patterns:[{include:"source.cpp#inline_comment"}]},"60":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{name:"comment.block.cpp"},"62":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{patterns:[{include:"source.cpp#inline_comment"}]},"64":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{name:"comment.block.cpp"},"66":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{patterns:[{include:"source.cpp#inline_comment"}]},"68":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{name:"comment.block.cpp"},"70":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{name:"entity.name.operator.type.array.cpp"},"72":{name:"entity.name.operator.custom-literal.cpp"},"73":{patterns:[{include:"source.cpp#inline_comment"}]},"74":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{name:"comment.block.cpp"},"76":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{name:"entity.name.operator.custom-literal.cpp"},"78":{patterns:[{include:"source.cpp#inline_comment"}]},"79":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{name:"comment.block.cpp"},"81":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.function.definition.special.operator-overload.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.head.function.definition.special.operator-overload.cpp",patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},contentName:"meta.function.definition.parameters.special.operator-overload",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},patterns:[{include:"#function_parameter_context"},{include:"#evaluation_context"}]},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{captures:{"1":{name:"keyword.operator.assignment.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"keyword.other.default.function.cpp"},"7":{name:"keyword.other.delete.function.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(=)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(default)|(delete))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},name:"meta.body.function.definition.special.operator-overload.cpp",patterns:[{include:"#function_body_context"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.function.definition.special.operator-overload.cpp",patterns:[{include:"$self"}]}]},operators:{patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},contentName:"meta.arguments.operator.alignof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])alignas(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},contentName:"meta.arguments.operator.alignas",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])noexcept(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},contentName:"meta.arguments.operator.noexcept",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},patterns:[{include:"#evaluation_context"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(sizeof\\.\\.\\.)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/--/dgv,name:"keyword.operator.decrement.cpp"},{match:/\+\+/dgv,name:"keyword.operator.increment.cpp"},{match:/(?:[\-\%\*\+]|(?<!\()\/)=/dgv,name:"keyword.operator.assignment.compound.cpp"},{match:/(?:[\&\^]|<<|>>|\|)=/dgv,name:"keyword.operator.assignment.compound.bitwise.cpp"},{match:/<<|>>/dgv,name:"keyword.operator.bitwise.shift.cpp"},{match:/!=|<=|>=|==|[\<\>]/dgv,name:"keyword.operator.comparison.cpp"},{match:/&&|!|\|\|/dgv,name:"keyword.operator.logical.cpp"},{match:/[\&\^\|\~]/dgv,name:"keyword.operator.bitwise.cpp"},{include:"source.cpp#assignment_operator"},{match:/[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.cpp"},{include:"#ternary_operator"}]},parameter:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"#function_pointer_parameter"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(thread_local|volatile|register|restrict|static|extern|const)((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))+)((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\)\\,\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/struct|class|union|enum/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{match:/=/dgv,name:"keyword.operator.assignment.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\(\\,\\:\\p{space}])((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\=\\[])","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#ever_present_context"}]},parameter_or_maybe_value:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},name:"meta.parameter.cpp",patterns:[{include:"#ever_present_context"},{include:"#function_pointer_parameter"},{include:"source.cpp#memory_operators"},{include:"#builtin_storage_type_initilizer"},{include:"#curly_initializer"},{include:"#decltype"},{include:"source.cpp#vararg_ellipses"},{captures:{"1":{patterns:[{include:"#storage_types"}]},"2":{name:"storage.modifier.specifier.parameter.cpp"},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{name:"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{name:"storage.type.cpp storage.type.built-in.cpp"},"13":{name:"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{name:"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{name:"entity.name.type.parameter.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(thread_local|volatile|register|restrict|static|extern|const)((?:(?:(?=(\\p{space}*))\\4)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\8)|\\*+(?!/))*))\\7)(\\*/))(?:(?=(\\p{space}*))\\10))+|(?:(?=(\\p{space}+))\\11)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))+)((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?=(\\p{space}*))\\21)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*_t))(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])\\b\\b(?<!(?:[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:(?:(?=(\\p{space}*))\\28)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\32)|\\*+(?!/))*))\\31)(\\*/))(?:(?=(\\p{space}*))\\34))+|(?:(?=(\\p{space}+))\\35)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\)\\,\\=])","dgv",{"hiddenCaptures":[4,7,8,10,11,13,16,17,19,20,21,28,31,32,34,35]})},{include:"#storage_types"},{include:"#function_call"},{include:"source.cpp#scope_resolution_parameter_inner_generated"},{match:/struct|class|union|enum/dgv,name:"storage.type.$0.cpp"},{begin:/(?<==)/dgv,beginCaptures:{},end:/(?:(?=\))|(,))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},patterns:[{include:"#evaluation_context"}]},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"variable.parameter.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\(\\,\\:\\p{space}])((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\)\\,\\=\\[]|//|(?:\\n|(?=\\n?$)))","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]})},{include:"#attributes_context"},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.array.type.cpp"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.array.type.cpp"}},name:"meta.bracket.square.array.cpp",patterns:[{include:"#evaluation_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\b(?<!(?:[^\p{L}\p{M}\p{N}\p{Pc}]|^)(?:struct|class|union|enum))/dgv,name:"entity.name.type.parameter.cpp"},{include:"#template_call_range"},{captures:{"0":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{patterns:[{include:"source.cpp#inline_comment"}]},"6":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{name:"comment.block.cpp"},"8":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\11)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)(\\*/))(?:(?=(\\p{space}*))\\17))+|(?:(?=(\\p{space}+))\\18)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*]","dgv",{"hiddenCaptures":[2,5,6,8,9,11,14,15,17,18]})},{include:"#evaluation_context"},{include:"#ever_present_context"}]},parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.cpp",patterns:[{include:"source.cpp#over_qualified_types"},{match:/(?<!:):(?!:)/dgv,name:"punctuation.separator.colon.range-based.cpp"},{include:"#evaluation_context"}]},pragma:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?pragma\\b","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.pragma.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"}},end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.preprocessor.pragma.cpp",patterns:[{include:"#comments"},{include:"#string_context"},{match:/[\$A-Z_a-z][\-\$\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"entity.other.attribute-name.pragma.preprocessor.cpp"},{include:"#preprocessor_number_literal"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_context:{patterns:[{include:"#preprocessor_conditional_defined"},{include:"#comments"},{include:"source.cpp#language_constants"},{include:"#string_context"},{include:"source.cpp#d9bc4796b0b_preprocessor_number_literal"},{include:"#operators"},{include:"source.cpp#predefined_macros"},{include:"source.cpp#macro_name"},{include:"source.cpp#line_continuation_character"}]},preprocessor_conditional_defined:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])defined(?![\p{L}\p{M}\p{N}\p{Pc}]))(\()/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.defined.cpp"},"2":{name:"punctuation.section.parens.control.defined.cpp"}},end:/(?:\)|(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$))))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.control.defined.cpp"}},patterns:[{include:"source.cpp#macro_name"}]},preprocessor_conditional_parentheses:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.parens.begin.bracket.round.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.cpp"}},name:"meta.parens.preprocessor.conditional.cpp"},preprocessor_conditional_range:{begin:/*@__PURE__*/ new EmulatedRegExp("^((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(#)(?:\\p{space}+)?(if(?:n?def|))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"keyword.control.directive.conditional.$6.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.definition.directive.cpp"},"6":{}},contentName:"meta.preprocessor.conditional",end:/(?<!\\)(?:(?=\n)|(?<=(?:^|[^\\])\n)(?=(?=\n?$)))|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{include:"#preprocessor_conditional_context"}]},preprocessor_context:{patterns:[{include:"source.cpp#pragma_mark"},{include:"#pragma"},{include:"source.cpp#include"},{include:"#line"},{include:"#diagnostic"},{include:"source.cpp#undef"},{include:"#preprocessor_conditional_range"},{include:"source.cpp#single_line_macro"},{include:"#macro"},{include:"source.cpp#preprocessor_conditional_standalone"},{include:"source.cpp#macro_argument"}]},sizeof_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])sizeof(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},contentName:"meta.arguments.operator.sizeof",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},patterns:[{include:"#evaluation_context"}]},sizeof_variadic_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("\\b(sizeof\\.\\.\\.)((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},contentName:"meta.arguments.operator.sizeof.variadic",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},patterns:[{include:"#evaluation_context"}]},square_brackets:{begin:/([A-Z_a-z][0-9A-Z_a-z]*|(?<=[\]\)]))?(\[)(?!\])/dgv,beginCaptures:{"1":{name:"variable.other.object"},"2":{name:"punctuation.definition.begin.bracket.square"}},end:/\]|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square"}},name:"meta.bracket.square.access",patterns:[{include:"#evaluation_context"}]},static_assert:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])static_assert|_Static_assert(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9,12,15,16,18,19]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.other.static_assert.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{name:"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},patterns:[{begin:/(,)(?:\p{space}+)?(?=(?:L|u8?|U(?:\p{space}+)?")?)/dgv,beginCaptures:{"1":{name:"punctuation.separator.delimiter.comma.cpp"}},end:/(?=\))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.static_assert.message.cpp",patterns:[{include:"#string_context"}]},{include:"#evaluation_context"}]},storage_types:{patterns:[{include:"source.cpp#storage_specifiers"},{include:"source.cpp#inline_builtin_storage_type"},{include:"#decltype"},{include:"source.cpp#typename"}]},string_context:{patterns:[{begin:/((?:u8??|[LU])?)"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(")(?:((?:[A-Za-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.cpp",patterns:[{match:/\\(?:u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.cpp"},{match:/\\["'\?\\abfnrtv]/dgv,name:"constant.character.escape.cpp"},{match:/\\[0-7]{1,3}/dgv,name:"constant.character.escape.cpp"},{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x\p{AHex}*)/dgv},{include:"source.cpp#string_escapes_context_c"}]},{begin:/(?<!\p{AHex})((?:u8??|[LU])?)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/(')(?:((?:[A-Za-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.cpp"},"2":{name:"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{name:"keyword.other.suffix.literal.user-defined.character.cpp"}},name:"string.quoted.single.cpp",patterns:[{captures:{"1":{name:"constant.character.escape.cpp"},"2":{name:"invalid.illegal.unknown-escape.cpp"}},match:/(\\x0*\p{AHex}{2}(?!\p{AHex}))|(\\x\p{AHex}*)/dgv},{include:"source.cpp#string_escapes_context_c"},{include:"source.cpp#line_continuation_character"}]},{begin:/((?:[LUu]8?)?R)"(?:(?:_r|re)|regex)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:(?:_r|re)|regex)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"string.quoted.double.raw.regex.cpp",patterns:[{include:"source.regexp.python"}]},{begin:/((?:[LUu]8?)?R)"(?:glsl|GLSL)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:glsl|GLSL)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.glsl.cpp",patterns:[{include:"source.glsl"}]},{begin:/((?:[LUu]8?)?R)"(?:[Pp]?(?:sql|SQL)|d[dm]l)\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.cpp"},"1":{name:"meta.encoding.cpp"}},end:/\)(?:[Pp]?(?:sql|SQL)|d[dm]l)"|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.cpp"}},name:"meta.string.quoted.double.raw.sql.cpp",patterns:[{include:"source.sql"}]},{begin:/((?:u8??|[LU])?R)"(?:([^\t \(\)\\]{0,16})|([^\t \(\)\\]*))\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin"},"1":{name:"meta.encoding"},"3":{name:"invalid.illegal.delimiter-too-long"}},end:/(\)\2(\3)")(?:((?:[A-Za-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*)|(_(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*))?|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end"},"2":{name:"invalid.illegal.delimiter-too-long"},"3":{name:"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{name:"keyword.other.suffix.literal.user-defined.string.cpp"}},name:"string.quoted.double.raw"}]},struct_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{include:"$self"}]}]},switch_conditional_parentheses:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},name:"meta.conditional.switch.cpp",patterns:[{include:"#evaluation_context"}]},switch_statement:{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])switch(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[2,5,6,8,9]}),beginCaptures:{"0":{name:"meta.head.switch.cpp"},"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{name:"keyword.control.switch.cpp"}},end:/(?:(?<=\}|%>|\?\?>)|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.block.switch.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.switch.cpp"}},name:"meta.head.switch.cpp",patterns:[{include:"#switch_conditional_parentheses"},{include:"$self"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.switch.cpp"}},name:"meta.body.switch.cpp",patterns:[{include:"#default_statement"},{include:"#case_statement"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.switch.cpp",patterns:[{include:"$self"}]}]},template_call_context:{patterns:[{include:"#ever_present_context"},{include:"#template_call_range"},{include:"#storage_types"},{include:"source.cpp#language_constants"},{include:"source.cpp#scope_resolution_template_call_inner_generated"},{include:"#operators"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma_in_template_argument"},{include:"source.cpp#qualified_type"}]},template_call_range:{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},template_definition:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(template)(?:\p{space}+)?(<)/dgv,beginCaptures:{"1":{name:"storage.type.template.cpp"},"2":{name:"punctuation.section.angle-brackets.begin.template.definition.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.definition.cpp"}},name:"meta.template.definition.cpp",patterns:[{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])(?:\p{space}+)?</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},patterns:[{include:"#template_call_context"}]},{include:"#template_definition_context"}]},template_definition_context:{patterns:[{include:"source.cpp#scope_resolution_template_definition_inner_generated"},{include:"source.cpp#template_definition_argument"},{include:"source.cpp#template_argument_defaulted"},{include:"source.cpp#template_call_innards"},{include:"#evaluation_context"}]},ternary_operator:{applyEndPatternLast:1,begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},end:/:|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.cpp"}},patterns:[{include:"#ever_present_context"},{include:"#string_context"},{include:"source.cpp#number_literal"},{include:"#method_access"},{include:"source.cpp#member_access"},{include:"source.cpp#predefined_macros"},{include:"#operators"},{include:"source.cpp#memory_operators"},{include:"source.cpp#wordlike_operators"},{include:"source.cpp#type_casting_operators"},{include:"source.cpp#control_flow_keywords"},{include:"source.cpp#exception_keywords"},{include:"source.cpp#the_this_keyword"},{include:"source.cpp#language_constants"},{include:"#builtin_storage_type_initilizer"},{include:"source.cpp#qualifiers_and_specifiers_post_parameters"},{include:"source.cpp#functional_specifiers_pre_parameters"},{include:"#storage_types"},{include:"#lambdas"},{include:"#attributes_context"},{include:"#parentheses"},{include:"#function_call"},{include:"source.cpp#scope_resolution_inner_generated"},{include:"#square_brackets"},{include:"source.cpp#semicolon"},{include:"source.cpp#comma"}]},typedef_class:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])class(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])class(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.class.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.class.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.class.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.class.cpp"}},name:"meta.head.class.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.class.cpp"}},name:"meta.body.class.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.class.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_function_pointer:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=[^\n]*\(\*\p{space}*(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*\p{space}*\))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?:(?=(\\p{space}*))\\2)((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))?((?:(?:(?=(\\p{space}*))\\5)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)(\\*/))(?:(?=(\\p{space}*))\\11))+|(?:(?=(\\p{space}+))\\12)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?=(\\p{space}*))\\14)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\18)|\\*+(?!/))*))\\17)(\\*/))(?:(?=(\\p{space}*))\\20))+|(?:(?=(\\p{space}+))\\21)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*(?:((?:::)?(?:(?=((?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\24)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\31)|\\*+(?!/))*))\\30)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\33)|\\*+(?!/))*))\\32)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\35)|\\*+(?!/))*))\\34)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\39)|\\*+(?!/))*))\\38)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\40))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\41))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\42))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\43))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\44))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\45))*>)(?:(?=(\\p{space}*))\\46))?::)*))\\23))((?:(?:(?=(\\p{space}*))\\48)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\52)|\\*+(?!/))*))\\51)(\\*/))(?:(?=(\\p{space}*))\\54))+|(?:(?=(\\p{space}+))\\55)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\58)|\\*+(?!/))*))\\57)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\60)|\\*+(?!/))*))\\59)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\62)|\\*+(?!/))*))\\61)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\64)|\\*+(?!/))*))\\63)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\66)|\\*+(?!/))*))\\65)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\67))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\68))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\69))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\70))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\71))*>)?(?![\\.\\:\\<\\p{L}\\p{M}\\p{N}\\p{Pc}]))(((?:(?:(?=(\\p{space}*))\\74)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\78)|\\*+(?!/))*))\\77)(\\*/))(?:(?=(\\p{space}*))\\80))+|(?:(?=(\\p{space}+))\\81)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\83)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\87)|\\*+(?!/))*))\\86)(\\*/))(?:(?=(\\p{space}*))\\89))+|(?:(?=(\\p{space}+))\\90)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\92)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\96)|\\*+(?!/))*))\\95)(\\*/))(?:(?=(\\p{space}*))\\98))+|(?:(?=(\\p{space}+))\\99)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()(\\*)(?:\\p{space}+)?((?:(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*)?)(?:\\p{space}+)?(?:(\\[)([\\p{L}\\p{M}\\p{N}\\p{Pc}]*)(\\])(?:\\p{space}+)?)*(\\))(?:\\p{space}+)?(\\()","dgv",{"hiddenCaptures":[2,5,8,9,11,12,14,17,18,20,21,23,24,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,51,52,54,55,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,74,77,78,80,81,83,86,87,89,90,92,95,96,98,99],"lazyCompile":true}),beginCaptures:{"1":{name:"meta.qualified_type.cpp",patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:struct|class|union|enum)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"storage.type.$0.cpp"},{include:"#attributes_context"},{include:"#storage_types"},{include:"source.cpp#number_literal"},{include:"#string_context"},{include:"source.cpp#comma"},{include:"source.cpp#scope_resolution_inner_generated"},{begin:/</dgv,beginCaptures:{"0":{name:"punctuation.section.angle-brackets.begin.template.call.cpp"}},end:/>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.angle-brackets.end.template.call.cpp"}},name:"meta.template.call.cpp",patterns:[{include:"#template_call_context"}]},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.type.cpp"}]},"2":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"3":{patterns:[{include:"source.cpp#inline_comment"}]},"4":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{name:"comment.block.cpp"},"6":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{match:/::/dgv,name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.scope-resolution.type.cpp"},{include:"#template_call_range"}]},"12":{patterns:[{include:"#template_call_range"}]},"13":{},"14":{patterns:[{include:"source.cpp#inline_comment"}]},"15":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{name:"comment.block.cpp"},"17":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"20":{patterns:[{include:"source.cpp#inline_comment"}]},"21":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{name:"comment.block.cpp"},"23":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{patterns:[{include:"source.cpp#inline_comment"}]},"25":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{name:"comment.block.cpp"},"27":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{patterns:[{include:"source.cpp#inline_comment"}]},"29":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{name:"comment.block.cpp"},"31":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{name:"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{name:"punctuation.definition.function.pointer.dereference.cpp"},"34":{name:"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{name:"punctuation.definition.begin.bracket.square.cpp"},"36":{patterns:[{include:"#evaluation_context"}]},"37":{name:"punctuation.definition.end.bracket.square.cpp"},"38":{name:"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{name:"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},end:/*@__PURE__*/ new EmulatedRegExp("(\\))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?=[\\n\\)\\,\\;\\=\\>\\{])(?!\\()|(?=(?<!\\\\)\\n)","dgv",{"hiddenCaptures":[3,6,7,9,10]}),endCaptures:{"1":{name:"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},patterns:[{include:"#function_parameter_context"}]}]},typedef_struct:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])struct(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])struct(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.struct.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.struct.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.struct.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.struct.cpp"}},name:"meta.head.struct.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.struct.cpp"}},name:"meta.body.struct.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.struct.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typedef_union:{begin:/((?<![\p{L}\p{M}\p{N}\p{Pc}])typedef(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:\p{space}+)?(?=(?<![\p{L}\p{M}\p{N}\p{Pc}])union(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv,beginCaptures:{"1":{name:"keyword.other.typedef.cpp"}},end:/(?<=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{captures:{"1":{patterns:[{match:/\*/dgv,name:"storage.modifier.pointer.cpp"},{captures:{"1":{patterns:[{include:"source.cpp#inline_comment"}]},"2":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{name:"comment.block.cpp"},"4":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:&((?:(?:(?=(\\p{space}*))\\2)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\6)|\\*+(?!/))*))\\5)(\\*/))(?:(?=(\\p{space}*))\\8))+|(?:(?=(\\p{space}+))\\9)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))){2,}&","dgv",{"hiddenCaptures":[2,5,6,8,9]}),name:"invalid.illegal.reference-type.cpp"},{match:/&/dgv,name:"storage.modifier.reference.cpp"}]},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"source.cpp#inline_comment"}]},"7":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{name:"comment.block.cpp"},"9":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{patterns:[{include:"source.cpp#inline_comment"}]},"11":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{name:"comment.block.cpp"},"13":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{name:"entity.name.type.alias.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("(((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))?(?:[\\&\\*]((?:(?:(?=(\\p{space}*))\\12)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\16)|\\*+(?!/))*))\\15)(\\*/))(?:(?=(\\p{space}*))\\18))+|(?:(?=(\\p{space}+))\\19)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*[\\&\\*])?((?:(?:(?=(\\p{space}*))\\21)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\25)|\\*+(?!/))*))\\24)(\\*/))(?:(?=(\\p{space}*))\\27))+|(?:(?=(\\p{space}+))\\28)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))","dgv",{"hiddenCaptures":[3,6,7,9,10,12,15,16,18,19,21,24,25,27,28]})},{match:/,/dgv}]}]}]},typeid_operator:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])typeid(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(\\()","dgv",{"hiddenCaptures":[3,6,7,9,10]}),beginCaptures:{"1":{name:"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},contentName:"meta.arguments.operator.typeid",end:/\)|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},patterns:[{include:"#evaluation_context"}]},union_block:{begin:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])union(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:(?=\\{)|(?:((?:(?:(?:\\[\\[[^\\n]*?\\]\\]|__attribute(?:__)?\\p{space}*\\(\\p{space}*\\([^\\n]*?\\)\\p{space}*\\))|__declspec\\([^\\n]*?\\))|alignas\\([^\\n]*?\\))(?!\\)))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?((?:(?=((?:(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])((?:(?:(?=(\\p{space}*))\\24)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\28)|\\*+(?!/))*))\\27)(\\*/))(?:(?=(\\p{space}*))\\30))+|(?:(?=(\\p{space}+))\\31)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))*))\\22))?(?:((?:(?:(?=(\\p{space}*))\\33)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\37)|\\*+(?!/))*))\\36)(\\*/))(?:(?=(\\p{space}*))\\39))+|(?:(?=(\\p{space}+))\\40)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(:(?!:)))?)","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20,22,24,27,28,30,31,33,36,37,39,40]}),beginCaptures:{"0":{name:"meta.head.union.cpp"},"1":{name:"storage.type.$1.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{patterns:[{include:"#attributes_context"},{include:"source.cpp#number_literal"}]},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{patterns:[{captures:{"1":{name:"storage.type.modifier.final.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10]})},{captures:{"1":{name:"entity.name.type.union.cpp"},"2":{patterns:[{include:"source.cpp#inline_comment"}]},"3":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{name:"comment.block.cpp"},"5":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{name:"storage.type.modifier.final.cpp"},"7":{patterns:[{include:"source.cpp#inline_comment"}]},"8":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{name:"comment.block.cpp"},"10":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"}},match:/*@__PURE__*/ new EmulatedRegExp("((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\3)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\7)|\\*+(?!/))*))\\6)(\\*/))(?:(?=(\\p{space}*))\\9))+|(?:(?=(\\p{space}+))\\10)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$))(?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])final(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))((?:(?:(?=(\\p{space}*))\\13)(/\\*)((?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)(\\*/))(?:(?=(\\p{space}*))\\19))+|(?:(?=(\\p{space}+))\\20)|(?<=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=[^\\p{L}\\p{M}\\p{N}\\p{Pc}])|^|\\n?(?=\\n?$)|^|(?=\\n?$)))?(?=[\\:\\{]|(?=\\n?$))","dgv",{"hiddenCaptures":[3,6,7,9,10,13,16,17,19,20]})},{match:/DLLEXPORT/dgv,name:"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{match:/(?:[A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\(?:u\p{AHex}{4}|U\p{AHex}{8}))*/dgv,name:"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{patterns:[{include:"source.cpp#inline_comment"}]},"13":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{name:"comment.block.cpp"},"15":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{patterns:[{include:"source.cpp#inline_comment"}]},"17":{name:"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{name:"comment.block.cpp"},"19":{name:"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{name:"punctuation.separator.colon.inheritance.cpp"}},end:/(?:(?:(?<=\}|%>|\?\?>)(?:\p{space}+)?(;)|(;))|(?=[\]\;\=\>\[]))|(?=(?<!\\)\n)/dgv,endCaptures:{"1":{name:"punctuation.terminator.statement.cpp"},"2":{name:"punctuation.terminator.statement.cpp"}},name:"meta.block.union.cpp",patterns:[{begin:/ ?/dgvy,beginCaptures:{},end:/(?:\{|<%|\?\?<|(?=;))|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.union.cpp"}},name:"meta.head.union.cpp",patterns:[{include:"#ever_present_context"},{include:"#inheritance_context"},{include:"#template_call_range"}]},{begin:/(?<=\{|<%|\?\?<)/dgv,beginCaptures:{},end:/\}|%>|\?\?>|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.union.cpp"}},name:"meta.body.union.cpp",patterns:[{include:"#function_pointer"},{include:"#static_assert"},{include:"#constructor_inline"},{include:"#destructor_inline"},{include:"$self"}]},{begin:/(?<=\}|%>|\?\?>)\p{space}*/dgv,beginCaptures:{},end:/\p{space}*(?=;)|(?=(?<!\\)\n)/dgv,endCaptures:{},name:"meta.tail.union.cpp",patterns:[{include:"$self"}]}]},using_namespace:{begin:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(using)\\p{space}+(namespace)\\p{space}+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(\\p{space}*))\\5)(((?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\9)|\\*+(?!/))*))\\8)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\11)|\\*+(?!/))*))\\10)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\13)|\\*+(?!/))*))\\12)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\15)|\\*+(?!/))*))\\14)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:(?<!<)<(?!<)(?:/\\*(?:(?=((?:(?:(?=([^\\*]+))\\17)|\\*+(?!/))*))\\16)\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|(?:)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\18))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\19))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\20))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\21))*>)|(?:(?=((?:[^\"'\\/\\<\\>]|/[^\\*])+))\\22))*>)(?:(?=(\\p{space}*))\\23))?::)*(?:(?=(\\p{space}*))\\24))?((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:[A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\p{AHex}{4}|U\\p{AHex}{8}))*(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?=[\\n\\;])","dgv",{"hiddenCaptures":[5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}),beginCaptures:{"1":{name:"keyword.other.using.directive.cpp"},"2":{name:"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{patterns:[{include:"source.cpp#scope_resolution_namespace_using_inner_generated"}]},"4":{name:"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{patterns:[{include:"#template_call_range"}]},"6":{},"7":{name:"entity.name.namespace.cpp"}},end:/;|(?=(?<!\\)\n)/dgv,endCaptures:{"0":{name:"punctuation.terminator.statement.cpp"}},name:"meta.using-namespace.cpp"}},scopeName:"source.cpp.embedded.macro",embeddedLangs:["regexp","glsl","sql"],aliases:undefined})
7
7
 
8
8
  export default [
9
9
  ...regexp,