nuxt-ignis 0.5.0-rc.1 → 0.5.0

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 (279) hide show
  1. package/.data/content/contents.sqlite +0 -0
  2. package/.env +1 -1
  3. package/.nuxt/components.d.ts +414 -232
  4. package/.nuxt/content/components.ts +206 -108
  5. package/.nuxt/dev/index.mjs +1092 -726
  6. package/.nuxt/dev/index.mjs.map +1 -1
  7. package/.nuxt/dist/server/client.manifest.mjs +1 -18
  8. package/.nuxt/dist/server/client.precomputed.mjs +1 -0
  9. package/.nuxt/eslint-typegen.d.ts +115 -7
  10. package/.nuxt/eslint.config.d.mts +3 -3
  11. package/.nuxt/eslint.config.mjs +11 -11
  12. package/.nuxt/imports.d.ts +63 -59
  13. package/.nuxt/manifest/latest.json +1 -1
  14. package/.nuxt/manifest/meta/dev.json +1 -1
  15. package/.nuxt/mdc-highlighter.mjs +4 -0
  16. package/.nuxt/mdc-image-component.mjs +1 -1
  17. package/.nuxt/module/nuxt-robots.d.ts +12 -12
  18. package/.nuxt/module/nuxt-seo-utils.d.ts +10 -10
  19. package/.nuxt/module/nuxt-site-config.d.ts +11 -8
  20. package/.nuxt/module/nuxt-sitemap.d.ts +17 -17
  21. package/.nuxt/nitro.json +5 -5
  22. package/.nuxt/nuxt.d.ts +13 -9
  23. package/.nuxt/nuxt.json +2 -2
  24. package/.nuxt/nuxt.node.d.ts +13 -8
  25. package/.nuxt/tsconfig.app.json +197 -173
  26. package/.nuxt/tsconfig.json +199 -172
  27. package/.nuxt/tsconfig.node.json +108 -91
  28. package/.nuxt/tsconfig.server.json +131 -127
  29. package/.nuxt/tsconfig.shared.json +61 -56
  30. package/.nuxt/types/build.d.ts +2 -1
  31. package/.nuxt/types/components.d.ts +482 -300
  32. package/.nuxt/types/i18n-plugin.d.ts +2 -2
  33. package/.nuxt/types/imports.d.ts +689 -679
  34. package/.nuxt/types/modules.d.ts +36 -16
  35. package/.nuxt/types/nitro-imports.d.ts +250 -250
  36. package/.nuxt/types/nitro-nuxt.d.ts +4 -1
  37. package/.nuxt/types/nitro-routes.d.ts +20 -20
  38. package/.nuxt/types/plugins.d.ts +37 -37
  39. package/.nuxt/types/ui.d.ts +3 -3
  40. package/.nuxt/ui/drawer.ts +23 -0
  41. package/.nuxt/ui/progress.ts +3 -3
  42. package/.nuxt/ui-image-component.ts +1 -1
  43. package/.output/nitro.json +3 -3
  44. package/.output/public/_fonts/31PZhXd_YTCmsoiPQZc-xVtAWAkLogRFRj5mWplmKFE-6WsTw05QKugcwLySGc_b9CIheG8j8LRyo47qPL430Mk.woff2 +0 -0
  45. package/.output/public/_fonts/9FWLUGCSCYLRIRMtCzLrt4Go7DMFXOeN_pyCOJD_44Y-Yh2wNaqrq_e759vVlc3tX81lMwRu9ktkQJX_Svgs-VI.woff2 +0 -0
  46. package/.output/public/_fonts/BQnDL9FFy0Q_jvURlmv87luvmXLSMbSuXsfZv_R2Rkk-y5MVrLtP4J_1al8rz8R-MDaUOMAHckAWCwDrKhw25fY.woff2 +0 -0
  47. package/.output/public/_fonts/JSrPAbQHsQEdUrIE5Ts6fIQ2ymsa4i7HhiCpui6ulCc-_AoyGWssOn06OMh3ZY_GddBBPRny4Igxin4fT_1K6F4.woff2 +0 -0
  48. package/.output/public/_fonts/Jtqhy44WKYEjGWTSusP5YJfJv7Wf74QqgkBOI9u_77s-Rl_Bht5SvmaotE20bkavBEAJEEGEa0hcz3d_8yOeXmw.woff +0 -0
  49. package/.output/public/_fonts/M-60tFLmAJxdPjHsK-2ILWom5zPbu37lb3Qex2waL14-A9y4QcXALPi_RvQsmRsSFUxrT3_J213W4zPFIXetlbw.woff2 +0 -0
  50. package/.output/public/_fonts/T-ozk-QJ_Ck37B2RHPl2i-s_gAGGo7suFgagWoJ8bO4-maDXQ_nEXKAaLHm4Joud3DJR9EVzS7QXWMWK8YOTIcs.woff2 +0 -0
  51. package/.output/public/_fonts/TTYbISAfwy-y4uVGS9AH32sK7b2xJsoCESo64ryf8LU-y87nRMqBGo42rUOW9tWZa06o4oTa0USJrAMMoKDamgs.woff2 +0 -0
  52. package/.output/public/_fonts/Y_5DOsLit49q2i2tbcNxnyUen9__GPCX8mwAi03q1aA-pBCjVKDT5tBT3BJckh9uzNkfUWeUIBPz9Y8T55vcj8E.woff2 +0 -0
  53. package/.output/public/_fonts/ZHaz3DhCHNWhsElqYfuM71rfBBDgjuU2sd34vaYJwQg-71NZaZSGjxzAGjCMnCc2zS5rS_EGA0xHKPGCggWuXik.woff +0 -0
  54. package/.output/public/_fonts/h9PwCjip_BNPVO50hT4v29USWFv6H3ZlYx_IestfqgY-sYfLVuZXl9E1aYbn1S0pAr4zfdQ_WT7iBZhrgQY6N-4.woff2 +0 -0
  55. package/.output/public/_fonts/l00UCz_-QvI_NO8AGcu7ooAcrFDlxYUdxCSCh6gBwd4-vPjTZ3ztgw27A2TnHeCycxPvUtXWEVpG33_97ra6su8.woff2 +0 -0
  56. package/.output/public/_fonts/nuenOq7ZFSZ65QudJO7uQ0sOjDqow2WjfXrQh4S9gEc-uF81rxcswER5srfhzyLfPoGlKNAIt2C_BvkXFOc19rw.woff2 +0 -0
  57. package/.output/public/_fonts/pWMvGwciZ-EfQsfR2ueelhC7Jnt5K-8Px8PjPK0mDII-eT9iD0iZ9WWhTJs6V5GxXr0iaUwx_WxgGGriOiGb81o.woff2 +0 -0
  58. package/.output/public/_fonts/y3mP_zJcojQwJn30TpF_XxDzgeM6Nbk7MaRg1Ne0YcI-lFx13nqMCMgk_S70gRmwEHXlE5BLp1B4W82RpFihpMs.woff2 +0 -0
  59. package/.output/public/_fonts/zr3WxpLd5PmlBr7e4PWGkhZv6XTg70Pi4sCbC-CEV0Q-v2yL98XOiD3FkbiYlYYeAeTSVSkgAckeOp55Q5kHJmU.woff2 +0 -0
  60. package/.output/public/_ignis-config.json +1789 -1
  61. package/.output/public/_nuxt/0gZNo08M.js +1 -0
  62. package/.output/public/_nuxt/4etphg87.js +1 -0
  63. package/.output/public/_nuxt/7oEH3i-J.js +1 -0
  64. package/.output/public/_nuxt/B0GskE-x.js +1 -0
  65. package/.output/public/_nuxt/B2rRIZLd.js +1 -0
  66. package/.output/public/_nuxt/B3Twp4np.js +1 -0
  67. package/.output/public/_nuxt/B4dafB1u.js +1 -0
  68. package/.output/public/_nuxt/B5v-AhRa.js +1 -0
  69. package/.output/public/_nuxt/BGIWR6zS.js +1 -0
  70. package/.output/public/_nuxt/BPF61Z69.js +1 -0
  71. package/.output/public/_nuxt/BX7sSsxl.js +1 -0
  72. package/.output/public/_nuxt/BcGXkrpD.js +1 -0
  73. package/.output/public/_nuxt/Bdmjn2k2.js +1 -0
  74. package/.output/public/_nuxt/BkwIJBVH.js +1 -0
  75. package/.output/public/_nuxt/{DXBpKbsa.js → Bs7HqoDE.js} +47 -42
  76. package/.output/public/_nuxt/BxBcowlq.js +1 -0
  77. package/.output/public/_nuxt/BxjWLNqQ.js +1 -0
  78. package/.output/public/_nuxt/CJT046op.js +1 -0
  79. package/.output/public/_nuxt/CNoaFijS.js +1 -0
  80. package/.output/public/_nuxt/COOHDsMA.js +1 -0
  81. package/.output/public/_nuxt/CT_jQ1c7.js +1 -0
  82. package/.output/public/_nuxt/CzjEkwvT.js +1 -0
  83. package/.output/public/_nuxt/D0gc1iwv.js +35 -0
  84. package/.output/public/_nuxt/DHbdVh9f.js +94 -0
  85. package/.output/public/_nuxt/DPk_8xPF.js +1 -0
  86. package/.output/public/_nuxt/DS02jnv_.js +1 -0
  87. package/.output/public/_nuxt/DcZxay5W.js +1 -0
  88. package/.output/public/_nuxt/Dj4M1E-R.js +1 -0
  89. package/.output/public/_nuxt/DrlW3O6H.js +1 -0
  90. package/.output/public/_nuxt/DzHDVFEa.js +1 -0
  91. package/.output/public/_nuxt/Kgt6q5rz.js +1 -0
  92. package/.output/public/_nuxt/_RaG-8ca.js +1 -0
  93. package/.output/public/_nuxt/builds/latest.json +1 -1
  94. package/.output/public/_nuxt/builds/meta/458d3dfb-5eef-4d52-b92b-109ceaa7a1ab.json +1 -0
  95. package/.output/public/_nuxt/entry.CtpkPzPO.css +1 -0
  96. package/.output/public/_nuxt/error-404.DzDu4Ean.css +1 -0
  97. package/.output/public/_nuxt/error-500.BdNqqJx7.css +1 -0
  98. package/.output/public/_nuxt/nE6m0q_v.js +1 -0
  99. package/.output/public/_nuxt/vueform.CkWb7x1C.css +1 -0
  100. package/.output/public/_nuxt/wTHp3vgs.js +1 -0
  101. package/.output/public/_nuxt/zBYuFSAQ.js +1 -0
  102. package/.output/public/nuxt-spec.png +0 -0
  103. package/.output/server/chunks/_/error-500.mjs +1 -1
  104. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  105. package/.output/server/chunks/_/nitro.mjs +624 -580
  106. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  107. package/.output/server/chunks/build/client.precomputed.mjs +4 -0
  108. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
  109. package/.output/server/chunks/routes/renderer.mjs +10 -33
  110. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  111. package/.output/server/index.mjs.map +1 -1
  112. package/.output/server/node_modules/@babel/parser/lib/index.js +212 -145
  113. package/.output/server/node_modules/@babel/parser/package.json +3 -3
  114. package/.output/server/node_modules/@poppinss/utils/package.json +1 -1
  115. package/.output/server/node_modules/@shikijs/core/package.json +2 -2
  116. package/.output/server/node_modules/@shikijs/engine-javascript/package.json +2 -2
  117. package/.output/server/node_modules/@shikijs/engine-oniguruma/package.json +2 -2
  118. package/.output/server/node_modules/@shikijs/langs/dist/javascript.mjs +1 -1
  119. package/.output/server/node_modules/@shikijs/langs/dist/typescript.mjs +1 -1
  120. package/.output/server/node_modules/@shikijs/langs/package.json +11 -3
  121. package/.output/server/node_modules/@shikijs/themes/package.json +3 -3
  122. package/.output/server/node_modules/@shikijs/transformers/package.json +3 -3
  123. package/.output/server/node_modules/@shikijs/types/package.json +1 -1
  124. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +131 -96
  125. package/.output/server/node_modules/@vue/compiler-core/package.json +4 -4
  126. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +4 -1
  127. package/.output/server/node_modules/@vue/compiler-dom/package.json +3 -3
  128. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +10 -1
  129. package/.output/server/node_modules/@vue/compiler-ssr/package.json +3 -3
  130. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +4 -3
  131. package/.output/server/node_modules/@vue/reactivity/package.json +2 -2
  132. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +25 -27
  133. package/.output/server/node_modules/@vue/runtime-core/package.json +3 -3
  134. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +40 -14
  135. package/.output/server/node_modules/@vue/runtime-dom/package.json +4 -4
  136. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +1 -1
  137. package/.output/server/node_modules/@vue/server-renderer/package.json +4 -4
  138. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +1 -1
  139. package/.output/server/node_modules/@vue/shared/package.json +1 -1
  140. package/.output/server/node_modules/debug/package.json +1 -1
  141. package/.output/server/node_modules/detect-libc/lib/detect-libc.js +59 -13
  142. package/.output/server/node_modules/detect-libc/lib/elf.js +39 -0
  143. package/.output/server/node_modules/detect-libc/lib/filesystem.js +18 -8
  144. package/.output/server/node_modules/detect-libc/package.json +5 -2
  145. package/.output/server/node_modules/devalue/package.json +1 -1
  146. package/.output/server/node_modules/devalue/src/parse.js +7 -1
  147. package/.output/server/node_modules/devalue/src/uneval.js +9 -8
  148. package/.output/server/node_modules/fast-xml-parser/package.json +1 -1
  149. package/.output/server/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +297 -287
  150. package/.output/server/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +3 -2
  151. package/.output/server/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +4 -4
  152. package/.output/server/node_modules/image-meta/dist/index.mjs +85 -4
  153. package/.output/server/node_modules/image-meta/package.json +12 -12
  154. package/.output/server/node_modules/is-arrayish/package.json +1 -1
  155. package/.output/server/node_modules/node-fetch-native/dist/chunks/multipart-parser.mjs +2 -2
  156. package/.output/server/node_modules/node-fetch-native/dist/node.mjs +10 -10
  157. package/.output/server/node_modules/node-fetch-native/package.json +13 -13
  158. package/.output/server/node_modules/node-mock-http/dist/index.mjs +1 -1
  159. package/.output/server/node_modules/node-mock-http/package.json +6 -6
  160. package/.output/server/node_modules/oauth4webapi/build/index.js +10 -8
  161. package/.output/server/node_modules/oauth4webapi/package.json +12 -12
  162. package/.output/server/node_modules/openid-client/build/index.js +1 -1
  163. package/.output/server/node_modules/openid-client/package.json +7 -7
  164. package/.output/server/node_modules/secure-json-parse/index.js +35 -0
  165. package/.output/server/node_modules/secure-json-parse/package.json +2 -3
  166. package/.output/server/node_modules/semver/classes/semver.js +19 -5
  167. package/.output/server/node_modules/semver/internal/identifiers.js +4 -0
  168. package/.output/server/node_modules/semver/package.json +3 -3
  169. package/.output/server/node_modules/shiki/package.json +9 -9
  170. package/.output/server/node_modules/simple-swizzle/package.json +1 -1
  171. package/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
  172. package/.output/server/node_modules/unhead/dist/server.mjs +6 -513
  173. package/.output/server/node_modules/unhead/package.json +5 -1
  174. package/.output/server/node_modules/unist-util-is/lib/index.js +10 -5
  175. package/.output/server/node_modules/unist-util-is/package.json +12 -9
  176. package/.output/server/node_modules/unist-util-visit-parents/lib/index.js +8 -7
  177. package/.output/server/node_modules/unist-util-visit-parents/package.json +18 -13
  178. package/.output/server/node_modules/vue/dist/vue.cjs.js +1 -1
  179. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +1 -1
  180. package/.output/server/node_modules/vue/package.json +6 -6
  181. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +158 -53
  182. package/.output/server/node_modules/vue-bundle-renderer/package.json +16 -11
  183. package/.output/server/node_modules/vue-router/dist/devtools-BLCumUwL.mjs +1218 -0
  184. package/.output/server/node_modules/vue-router/dist/vue-router.mjs +1459 -3688
  185. package/.output/server/node_modules/vue-router/package.json +43 -38
  186. package/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
  187. package/.output/server/node_modules/yaml/dist/stringify/stringifyString.js +1 -1
  188. package/.output/server/node_modules/yaml/package.json +2 -1
  189. package/.output/server/package.json +39 -39
  190. package/README.md +4 -0
  191. package/app/app.vue +2 -2
  192. package/app/assets/css/ignis-open-props.css +4 -5
  193. package/app/components/CurrentTime.vue +8 -1
  194. package/app/components/ignis/{IgnisInfo.vue → IgnisContent.vue} +3 -3
  195. package/app/components/ignis/{IgnisConfig.vue → IgnisContentConfig.vue} +5 -1
  196. package/app/components/ignis/IgnisContentFeatures.vue +102 -0
  197. package/app/components/ignis/{IgnisWelcome.vue → IgnisContentWelcome.vue} +2 -2
  198. package/app/components/ignis/IgnisFooter.vue +11 -3
  199. package/app/pages/_ignis-config.vue +1 -1
  200. package/app/pages/_ignis-info.vue +1 -1
  201. package/app/pages/_ignis-welcome.vue +1 -1
  202. package/app/pages/index.vue +2 -2
  203. package/bin/cli.js +66 -0
  204. package/bin/set-app-vue.js +20 -0
  205. package/bin/set-css.js +5 -8
  206. package/bin/set-eslint.js +5 -8
  207. package/bin/setup.js +211 -45
  208. package/features.ts +17 -8
  209. package/nuxt.config.ts +10 -5
  210. package/package.json +19 -21
  211. package/public/_ignis-config.json +1789 -1
  212. package/test/config/css-multiple.txt +30 -24
  213. package/test/config/css-nuxt-ui.txt +34 -28
  214. package/test/config/css-open-props.txt +1812 -1805
  215. package/test/config/css-single.txt +28 -22
  216. package/test/config/css-tailwind.txt +55 -48
  217. package/test/config/custom-lang.txt +27 -21
  218. package/test/config/db-neon.txt +28 -22
  219. package/test/config/db-supabase.txt +31 -25
  220. package/test/config/default.txt +27 -21
  221. package/test/config/equipment-1-composable.txt +33 -27
  222. package/test/config/equipment-2-plugins.txt +34 -28
  223. package/test/config/equipment-all.txt +38 -32
  224. package/test/config/forms-formkit.txt +32 -26
  225. package/test/config/forms-vueform.txt +28 -22
  226. package/test/config/i18n.txt +36 -30
  227. package/test/config/no-default-css.txt +24 -18
  228. package/test/config/open-props.txt +1811 -1804
  229. package/test/config/seo-ssr-false.txt +35 -29
  230. package/test/config/ui-nuxt-ui.txt +33 -27
  231. package/test/config/ui-tailwind.txt +54 -47
  232. package/test/features.test.ts +33 -33
  233. package/.nuxt/dist/server/client.manifest.json +0 -18
  234. package/.nuxt/i18n.options.mjs +0 -165
  235. package/.nuxt/nuxt-i18n-logger.mjs +0 -1
  236. package/.output/public/_nuxt/1soVlS0z.js +0 -1
  237. package/.output/public/_nuxt/B7rsWaa2.js +0 -1
  238. package/.output/public/_nuxt/BA2WKEAc.js +0 -1
  239. package/.output/public/_nuxt/BE_a_Zhd.js +0 -1
  240. package/.output/public/_nuxt/BFreiu22.js +0 -1
  241. package/.output/public/_nuxt/BLcTglbc.js +0 -1
  242. package/.output/public/_nuxt/Bhd4_yFT.js +0 -1
  243. package/.output/public/_nuxt/Bi2eMDmd.js +0 -1
  244. package/.output/public/_nuxt/BiUZ9mZX.js +0 -1
  245. package/.output/public/_nuxt/Bm30MqE0.js +0 -1
  246. package/.output/public/_nuxt/Bnm5Nral.js +0 -1
  247. package/.output/public/_nuxt/BrY1radz.js +0 -35
  248. package/.output/public/_nuxt/Bs3IGOdt.js +0 -1
  249. package/.output/public/_nuxt/ByaiRTkI.js +0 -1
  250. package/.output/public/_nuxt/CA578xwz.js +0 -1
  251. package/.output/public/_nuxt/CDttUXKg.js +0 -1
  252. package/.output/public/_nuxt/CSN71QT8.js +0 -1
  253. package/.output/public/_nuxt/CmzFGS1a.js +0 -90
  254. package/.output/public/_nuxt/CqCaqSd2.js +0 -1
  255. package/.output/public/_nuxt/D8v-efI7.js +0 -1
  256. package/.output/public/_nuxt/DR4hWRk7.js +0 -1
  257. package/.output/public/_nuxt/DRroQ-Xq.js +0 -1
  258. package/.output/public/_nuxt/DStnBfJS.js +0 -1
  259. package/.output/public/_nuxt/DXTYyv-V.js +0 -1
  260. package/.output/public/_nuxt/DXbccJ2T.js +0 -1
  261. package/.output/public/_nuxt/DeS1g0YT.js +0 -1
  262. package/.output/public/_nuxt/Deb6R53f.js +0 -1
  263. package/.output/public/_nuxt/DiDHllLr.js +0 -1
  264. package/.output/public/_nuxt/DyCICqRh.js +0 -1
  265. package/.output/public/_nuxt/DzT4wm3Y.js +0 -1
  266. package/.output/public/_nuxt/E8nje24C.js +0 -1
  267. package/.output/public/_nuxt/builds/meta/9a624d26-216d-4e69-b3a7-54b68357876f.json +0 -1
  268. package/.output/public/_nuxt/dJ-vStNn.js +0 -1
  269. package/.output/public/_nuxt/entry.jMyW6Sg0.css +0 -1
  270. package/.output/public/_nuxt/error-404.BGUbR0Uk.css +0 -1
  271. package/.output/public/_nuxt/error-500.CQfkKpQ2.css +0 -1
  272. package/.output/public/_nuxt/sHsV3x2B.js +0 -1
  273. package/.output/public/_nuxt/sQEqbbg2.js +0 -1
  274. package/.output/public/_nuxt/vueform.ChEauysg.css +0 -1
  275. package/.output/server/chunks/build/client.manifest.mjs +0 -511
  276. package/.output/server/chunks/build/client.manifest.mjs.map +0 -1
  277. package/.output/server/node_modules/vue-router/dist/vue-router.node.mjs +0 -2
  278. package/app/components/ignis/IgnisFeatureList.vue +0 -111
  279. /package/app/components/ignis/{IgnisFeature.vue → IgnisContentFeaturesDetail.vue} +0 -0
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"TypeScript\",\"name\":\"typescript\",\"patterns\":[{\"include\":\"#directives\"},{\"include\":\"#statements\"},{\"include\":\"#shebang\"}],\"repository\":{\"access-modifier\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ts\"},\"after-operator-block-as-object-literal\":{\"begin\":\"(?<!\\\\+\\\\+|--)(?<=[!(+,:=>?\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.objectliteral.ts\",\"patterns\":[{\"include\":\"#object-member\"}]},\"array-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"patterns\":[{\"include\":\"#binding-element\"},{\"include\":\"#punctuation-comma\"}]},\"array-binding-pattern-const\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"patterns\":[{\"include\":\"#binding-element-const\"},{\"include\":\"#punctuation-comma\"}]},\"array-literal\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.array.literal.ts\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"arrow-function\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"variable.parameter.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async)\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?==>)\",\"name\":\"meta.arrow.ts\"},{\"begin\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async))?((?<![]!)}])\\\\s*(?=((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"name\":\"meta.arrow.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"include\":\"#function-parameters\"},{\"include\":\"#arrow-return-type\"},{\"include\":\"#possibly-arrow-return-type\"}]},{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.function.arrow.ts\"}},\"end\":\"((?<=[}\\\\S])(?<!=>)|((?!\\\\{)(?=\\\\S)))(?!/[*/])\",\"name\":\"meta.arrow.ts\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"}]}]},\"arrow-return-type\":{\"begin\":\"(?<=\\\\))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"name\":\"meta.return.type.arrow.ts\",\"patterns\":[{\"include\":\"#arrow-return-type-body\"}]},\"arrow-return-type-body\":{\"patterns\":[{\"begin\":\"(?<=:)(?=\\\\s*\\\\{)\",\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"async-modifier\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.async.ts\"},\"binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#object-binding-pattern\"},{\"include\":\"#array-binding-pattern\"},{\"include\":\"#destructuring-variable-rest\"},{\"include\":\"#variable-initializer\"}]},\"binding-element-const\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#array-binding-pattern-const\"},{\"include\":\"#destructuring-variable-rest-const\"},{\"include\":\"#variable-initializer\"}]},\"boolean-literal\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.boolean.true.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.boolean.false.ts\"}]},\"brackets\":{\"patterns\":[{\"begin\":\"\\\\{\",\"end\":\"}|(?=\\\\*/)\",\"patterns\":[{\"include\":\"#brackets\"}]},{\"begin\":\"\\\\[\",\"end\":\"]|(?=\\\\*/)\",\"patterns\":[{\"include\":\"#brackets\"}]}]},\"cast\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"meta.brace.angle.ts\"}},\"match\":\"\\\\s*(<)\\\\s*(const)\\\\s*(>)\",\"name\":\"cast.expr.ts\"},{\"begin\":\"(?<!\\\\+\\\\+|--)(?<=^return|[^$._[:alnum:]]return|^throw|[^$._[:alnum:]]throw|^yield|[^$._[:alnum:]]yield|^await|[^$._[:alnum:]]await|^default|[^$._[:alnum:]]default|[\\\\&(*,:=>?^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!<?=)(?!\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"name\":\"cast.expr.ts\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?<=^)\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*>)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"name\":\"cast.expr.ts\",\"patterns\":[{\"include\":\"#type\"}]}]},\"class-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(class)\\\\b(?=\\\\s+|/[*/])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.type.class.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.class.ts\",\"patterns\":[{\"include\":\"#class-declaration-or-expression-patterns\"}]},\"class-declaration-or-expression-patterns\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"captures\":{\"0\":{\"name\":\"entity.name.type.class.ts\"}},\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\"},{\"include\":\"#type-parameters\"},{\"include\":\"#class-or-interface-body\"}]},\"class-expression\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(class)\\\\b(?=\\\\s+|[<{]|/[*/])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.type.class.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.class.ts\",\"patterns\":[{\"include\":\"#class-declaration-or-expression-patterns\"}]},\"class-or-interface-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#decorator\"},{\"begin\":\"(?<=:)\\\\s*\",\"end\":\"(?=[-\\\\])+,:;}\\\\s]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#method-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#field-declaration\"},{\"include\":\"#string\"},{\"include\":\"#type-annotation\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#access-modifier\"},{\"include\":\"#property-accessor\"},{\"include\":\"#async-modifier\"},{\"include\":\"#after-operator-block-as-object-literal\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]},\"class-or-interface-heritage\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(extends|implements)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"include\":\"#type-parameters\"},{\"include\":\"#expressionWithoutIdentifiers\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\s*\\\\??\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\s*)\"},{\"captures\":{\"1\":{\"name\":\"entity.other.inherited-class.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\"},{\"include\":\"#expressionPunctuations\"}]},\"comment\":{\"patterns\":[{\"begin\":\"/\\\\*\\\\*(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ts\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ts\"}},\"name\":\"comment.block.documentation.ts\",\"patterns\":[{\"include\":\"#docblock\"}]},{\"begin\":\"(/\\\\*)(?:\\\\s*((@)internal)(?=\\\\s|(\\\\*/)))?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.ts\"},\"2\":{\"name\":\"storage.type.internaldeclaration.ts\"},\"3\":{\"name\":\"punctuation.decorator.internaldeclaration.ts\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ts\"}},\"name\":\"comment.block.ts\"},{\"begin\":\"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.ts\"},\"2\":{\"name\":\"comment.line.double-slash.ts\"},\"3\":{\"name\":\"punctuation.definition.comment.ts\"},\"4\":{\"name\":\"storage.type.internaldeclaration.ts\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.ts\"}},\"contentName\":\"comment.line.double-slash.ts\",\"end\":\"(?=$)\"}]},\"control-statement\":{\"patterns\":[{\"include\":\"#switch-statement\"},{\"include\":\"#for-loop\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.trycatch.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.loop.ts\"},\"2\":{\"name\":\"entity.name.label.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|goto)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.loop.ts\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.flow.ts\"}},\"end\":\"(?=[;}]|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.switch.ts\"},{\"include\":\"#if-statement\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.conditional.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.with.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.other.debugger.ts\"}]},\"decl-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.block.ts\",\"patterns\":[{\"include\":\"#statements\"}]},\"declaration\":{\"patterns\":[{\"include\":\"#decorator\"},{\"include\":\"#var-expr\"},{\"include\":\"#function-declaration\"},{\"include\":\"#class-declaration\"},{\"include\":\"#interface-declaration\"},{\"include\":\"#enum-declaration\"},{\"include\":\"#namespace-declaration\"},{\"include\":\"#type-alias-declaration\"},{\"include\":\"#import-equals-declaration\"},{\"include\":\"#import-declaration\"},{\"include\":\"#export-declaration\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ts\"}]},\"decorator\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))@\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.decorator.ts\"}},\"end\":\"(?=\\\\s)\",\"name\":\"meta.decorator.ts\",\"patterns\":[{\"include\":\"#expression\"}]},\"destructuring-const\":{\"patterns\":[{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.object-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.array-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#array-binding-pattern-const\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]}]},\"destructuring-parameter\":{\"patterns\":[{\"begin\":\"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"name\":\"meta.parameter.object-binding-pattern.ts\",\"patterns\":[{\"include\":\"#parameter-object-binding-element\"}]},{\"begin\":\"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"name\":\"meta.paramter.array-binding-pattern.ts\",\"patterns\":[{\"include\":\"#parameter-binding-element\"},{\"include\":\"#punctuation-comma\"}]}]},\"destructuring-parameter-rest\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"variable.parameter.ts\"}},\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\"},\"destructuring-variable\":{\"patterns\":[{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.object-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#object-binding-pattern\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.array-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#array-binding-pattern\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]}]},\"destructuring-variable-rest\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"meta.definition.variable.ts variable.other.readwrite.ts\"}},\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\"},\"destructuring-variable-rest-const\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts\"}},\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\"},\"directives\":{\"begin\":\"^(///)\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\s*=\\\\s*(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))+\\\\s*/>\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.ts\"}},\"end\":\"(?=$)\",\"name\":\"comment.line.triple-slash.directive.ts\",\"patterns\":[{\"begin\":\"(<)(reference|amd-dependency|amd-module)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.directive.ts\"},\"2\":{\"name\":\"entity.name.tag.directive.ts\"}},\"end\":\"/>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.directive.ts\"}},\"name\":\"meta.tag.ts\",\"patterns\":[{\"match\":\"path|types|no-default-lib|lib|name|resolution-mode\",\"name\":\"entity.other.attribute-name.directive.ts\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ts\"},{\"include\":\"#string\"}]}]},\"docblock\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.access-type.jsdoc\"}},\"match\":\"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"5\":{\"name\":\"constant.other.email.link.underline.jsdoc\"},\"6\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}},\"match\":\"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"keyword.operator.control.jsdoc\"},\"5\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\"},{\"begin\":\"((@)example)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=@|\\\\*/)\",\"name\":\"meta.example.jsdoc\",\"patterns\":[{\"match\":\"^\\\\s\\\\*\\\\s+\"},{\"begin\":\"\\\\G(<)caption(>)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}},\"contentName\":\"constant.other.description.jsdoc\",\"end\":\"(</)caption(>)|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}}},{\"captures\":{\"0\":{\"name\":\"source.embedded.ts\"}},\"match\":\"[^*@\\\\s](?:[^*]|\\\\*[^/])*\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.symbol-type.jsdoc\"}},\"match\":\"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.link.underline.jsdoc\"},\"4\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)\"},{\"begin\":\"((@)template)\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"([$A-Z_a-z][]$.\\\\[\\\\w]*)\",\"name\":\"variable.other.jsdoc\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)\"},{\"begin\":\"((@)typedef)\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"(?:[^*/@\\\\s]|\\\\*[^/])+\",\"name\":\"entity.name.type.instance.jsdoc\"}]},{\"begin\":\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"([$A-Z_a-z][]$.\\\\[\\\\w]*)\",\"name\":\"variable.other.jsdoc\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\"},\"2\":{\"name\":\"keyword.operator.assignment.jsdoc\"},\"3\":{\"name\":\"source.embedded.ts\"},\"4\":{\"name\":\"punctuation.definition.optional-value.end.bracket.square.jsdoc\"},\"5\":{\"name\":\"invalid.illegal.syntax.jsdoc\"}},\"match\":\"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\\")|[^*\\\\\\\\])*?\\\"|'(?:\\\\*(?!/)|\\\\\\\\(?!')|[^*\\\\\\\\])*?'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))\",\"name\":\"variable.other.jsdoc\"}]},{\"begin\":\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)\"},{\"begin\":\"((@)(?:default(?:value)?|license|version))\\\\s+(([\\\"']))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.string.begin.jsdoc\"}},\"contentName\":\"variable.other.jsdoc\",\"end\":\"(\\\\3)|(?=$|\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.string.end.jsdoc\"}}},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"match\":\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b\",\"name\":\"storage.type.class.jsdoc\"},{\"include\":\"#inline-tags\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"match\":\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)\"}]},\"enum-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.type.enum.ts\"},\"5\":{\"name\":\"entity.name.type.enum.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.enum.declaration.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.enummember.ts\"}},\"end\":\"(?=[,}]|$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"begin\":\"(?=(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+])))\",\"end\":\"(?=[,}]|$)\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"export-declaration\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"keyword.control.as.ts\"},\"3\":{\"name\":\"storage.type.namespace.ts\"},\"4\":{\"name\":\"entity.name.type.module.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)\\\\s+(as)\\\\s+(namespace)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?(?:\\\\s*(=)|\\\\s+(default)(?=\\\\s+))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"keyword.control.type.ts\"},\"3\":{\"name\":\"keyword.operator.assignment.ts\"},\"4\":{\"name\":\"keyword.control.default.ts\"}},\"end\":\"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.export.default.ts\",\"patterns\":[{\"include\":\"#interface-declaration\"},{\"include\":\"#expression\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?\\\\b(?!(\\\\$)|(\\\\s*:))((?=\\\\s*[*{])|((?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\s]))(?!\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"keyword.control.type.ts\"}},\"end\":\"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.export.ts\",\"patterns\":[{\"include\":\"#import-export-declaration\"}]}]},\"expression\":{\"patterns\":[{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"expression-inside-possibly-arrow-parens\":{\"patterns\":[{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#decorator\"},{\"include\":\"#destructuring-parameter\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"entity.name.function.ts variable.language.this.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*[,:]|$)\"},{\"include\":\"#type-annotation\"},{\"include\":\"#variable-initializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"expression-operators\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.flow.ts\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?=\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*\\\\*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.ts\"}},\"end\":\"\\\\*\",\"endCaptures\":{\"0\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.ts\"},\"2\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s*(\\\\*))?\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.delete.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()\",\"name\":\"keyword.operator.expression.in.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()\",\"name\":\"keyword.operator.expression.of.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.instanceof.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.new.ts\"},{\"include\":\"#typeof-operator\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.void.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*($|[]),:;}]))\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"keyword.control.satisfies.ts\"}},\"end\":\"(?=^|[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisfies)\\\\s+)|(\\\\s+<))\",\"patterns\":[{\"include\":\"#type\"}]},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.spread.ts\"},{\"match\":\"(?:\\\\*|(?<!\\\\()/|[-%+])=\",\"name\":\"keyword.operator.assignment.compound.ts\"},{\"match\":\"(?:[\\\\&^]|<<|>>>??|\\\\|)=\",\"name\":\"keyword.operator.assignment.compound.bitwise.ts\"},{\"match\":\"<<|>>>?\",\"name\":\"keyword.operator.bitwise.shift.ts\"},{\"match\":\"[!=]==?\",\"name\":\"keyword.operator.comparison.ts\"},{\"match\":\"<=|>=|<>|[<>]\",\"name\":\"keyword.operator.relational.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ts\"},\"2\":{\"name\":\"keyword.operator.assignment.compound.ts\"},\"3\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"match\":\"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))\"},{\"match\":\"!|&&|\\\\|\\\\||\\\\?\\\\?\",\"name\":\"keyword.operator.logical.ts\"},{\"match\":\"[\\\\&^|~]\",\"name\":\"keyword.operator.bitwise.ts\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ts\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.ts\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.ts\"},{\"match\":\"[-%*+/]\",\"name\":\"keyword.operator.arithmetic.ts\"},{\"begin\":\"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))\",\"end\":\"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.compound.ts\"},\"2\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.compound.ts\"},\"2\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"match\":\"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))\"}]},\"expressionPunctuations\":{\"patterns\":[{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-accessor\"}]},\"expressionWithoutIdentifiers\":{\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#regex\"},{\"include\":\"#comment\"},{\"include\":\"#function-expression\"},{\"include\":\"#class-expression\"},{\"include\":\"#arrow-function\"},{\"include\":\"#paren-expression-possibly-arrow\"},{\"include\":\"#cast\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#new-expr\"},{\"include\":\"#instanceof-expr\"},{\"include\":\"#object-literal\"},{\"include\":\"#expression-operators\"},{\"include\":\"#function-call\"},{\"include\":\"#literal\"},{\"include\":\"#support-objects\"},{\"include\":\"#paren-expression\"}]},\"field-declaration\":{\"begin\":\"(?<!\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s+)?(?=\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=}]|$))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"end\":\"(?=[,;}]|$|^((?!\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=]|$))))|(?<=})\",\"name\":\"meta.field.declaration.ts\",\"patterns\":[{\"include\":\"#variable-initializer\"},{\"include\":\"#type-annotation\"},{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"meta.definition.property.ts entity.name.function.ts\"},\"2\":{\"name\":\"keyword.operator.optional.ts\"},\"3\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"match\":\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\?)|(!))?(?=\\\\s*\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\"},{\"match\":\"#?[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"meta.definition.property.ts variable.object.property.ts\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ts\"},{\"match\":\"!\",\"name\":\"keyword.operator.definiteassignment.ts\"}]},\"for-loop\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))for(?=((\\\\s+|(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*))await)?\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)?(\\\\())\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.loop.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"await\",\"name\":\"keyword.control.loop.ts\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#var-expr\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]}]},\"function-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"include\":\"#function-parameters\"},{\"include\":\"#return-type\"},{\"include\":\"#type-function-return-type\"},{\"include\":\"#decl-block\"},{\"match\":\"\\\\*\",\"name\":\"keyword.generator.asterisk.ts\"}]},\"function-call\":{\"patterns\":[{\"begin\":\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())\",\"end\":\"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\",\"end\":\"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())\",\"name\":\"meta.function-call.ts\",\"patterns\":[{\"include\":\"#function-call-target\"}]},{\"include\":\"#comment\"},{\"include\":\"#function-call-optionals\"},{\"include\":\"#type-arguments\"},{\"include\":\"#paren-expression\"}]},{\"begin\":\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)\",\"end\":\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)\",\"name\":\"meta.function-call.ts\",\"patterns\":[{\"include\":\"#function-call-target\"}]},{\"include\":\"#comment\"},{\"include\":\"#function-call-optionals\"},{\"include\":\"#type-arguments\"}]}]},\"function-call-optionals\":{\"patterns\":[{\"match\":\"\\\\?\\\\.\",\"name\":\"meta.function-call.ts punctuation.accessor.optional.ts\"},{\"match\":\"!\",\"name\":\"meta.function-call.ts keyword.operator.definiteassignment.ts\"}]},\"function-call-target\":{\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"match\":\"(#?[$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.function.ts\"}]},\"function-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.async.ts\"},\"4\":{\"name\":\"storage.type.function.ts\"},\"5\":{\"name\":\"keyword.generator.asterisk.ts\"},\"6\":{\"name\":\"meta.definition.function.ts entity.name.function.ts\"}},\"end\":\"(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|(?<=})\",\"name\":\"meta.function.ts\",\"patterns\":[{\"include\":\"#function-name\"},{\"include\":\"#function-body\"}]},\"function-expression\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"storage.type.function.ts\"},\"3\":{\"name\":\"keyword.generator.asterisk.ts\"},\"4\":{\"name\":\"meta.definition.function.ts entity.name.function.ts\"}},\"end\":\"(?=;)|(?<=})\",\"name\":\"meta.function.expression.ts\",\"patterns\":[{\"include\":\"#function-name\"},{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#function-body\"}]},\"function-name\":{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"meta.definition.function.ts entity.name.function.ts\"},\"function-parameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ts\"}},\"name\":\"meta.parameters.ts\",\"patterns\":[{\"include\":\"#function-parameters-body\"}]},\"function-parameters-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#decorator\"},{\"include\":\"#destructuring-parameter\"},{\"include\":\"#parameter-name\"},{\"include\":\"#parameter-type-annotation\"},{\"include\":\"#variable-initializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"}]},\"identifiers\":{\"patterns\":[{\"include\":\"#object-identifiers\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"entity.name.function.ts\"}},\"match\":\"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"variable.other.constant.property.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"variable.other.property.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\"},{\"match\":\"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])\",\"name\":\"variable.other.constant.ts\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"variable.other.readwrite.ts\"}]},\"if-statement\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\s*(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))\\\\s*(?!\\\\{))\",\"end\":\"(?=;|$|})\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.ts\"},\"2\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?<=\\\\))\\\\s*/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(/)([dgimsuvy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"keyword.other.ts\"}},\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"include\":\"#statements\"}]}]},\"import-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type)(?!\\\\s+from))?(?!\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.control.import.ts\"},\"4\":{\"name\":\"keyword.control.type.ts\"}},\"end\":\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\",\"name\":\"meta.import.ts\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"begin\":\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\s*[\\\"'])\",\"end\":\"\\\\bfrom\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.from.ts\"}},\"patterns\":[{\"include\":\"#import-export-declaration\"}]},{\"include\":\"#import-export-declaration\"}]},\"import-equals-declaration\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(require)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.control.import.ts\"},\"4\":{\"name\":\"keyword.control.type.ts\"},\"5\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"6\":{\"name\":\"keyword.operator.assignment.ts\"},\"7\":{\"name\":\"keyword.control.require.ts\"},\"8\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"meta.import-equals.external.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(?!require\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.control.import.ts\"},\"4\":{\"name\":\"keyword.control.type.ts\"},\"5\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"6\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=;|$|^)\",\"name\":\"meta.import-equals.internal.ts\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"variable.other.readwrite.ts\"}]}]},\"import-export-assert-clause\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(with)|(assert))\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.with.ts\"},\"2\":{\"name\":\"keyword.control.assert.ts\"},\"3\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object-literal.key.ts\"},{\"match\":\":\",\"name\":\"punctuation.separator.key-value.ts\"}]},\"import-export-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.block.ts\",\"patterns\":[{\"include\":\"#import-export-clause\"}]},\"import-export-clause\":{\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.type.ts\"},\"2\":{\"name\":\"keyword.control.default.ts\"},\"3\":{\"name\":\"constant.language.import-export-all.ts\"},\"4\":{\"name\":\"variable.other.readwrite.ts\"},\"5\":{\"name\":\"string.quoted.alias.ts\"},\"12\":{\"name\":\"keyword.control.as.ts\"},\"13\":{\"name\":\"keyword.control.default.ts\"},\"14\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"15\":{\"name\":\"string.quoted.alias.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(type)\\\\s+)?(?:\\\\b(default)|(\\\\*)|\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))\\\\s+(as)\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))\"},{\"include\":\"#punctuation-comma\"},{\"match\":\"\\\\*\",\"name\":\"constant.language.import-export-all.ts\"},{\"match\":\"\\\\b(default)\\\\b\",\"name\":\"keyword.control.default.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.type.ts\"},\"2\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"3\":{\"name\":\"string.quoted.alias.ts\"}},\"match\":\"(?:\\\\b(type)\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))\"}]},\"import-export-declaration\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#import-export-block\"},{\"match\":\"\\\\bfrom\\\\b\",\"name\":\"keyword.control.from.ts\"},{\"include\":\"#import-export-assert-clause\"},{\"include\":\"#import-export-clause\"}]},\"indexer-declaration\":{\"begin\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=:)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"meta.brace.square.ts\"},\"3\":{\"name\":\"variable.parameter.ts\"}},\"end\":\"(])\\\\s*(\\\\?\\\\s*)?|$\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.square.ts\"},\"2\":{\"name\":\"keyword.operator.optional.ts\"}},\"name\":\"meta.indexer.declaration.ts\",\"patterns\":[{\"include\":\"#type-annotation\"}]},\"indexer-mapped-type-declaration\":{\"begin\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([-+])?(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(in)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"meta.brace.square.ts\"},\"4\":{\"name\":\"entity.name.type.ts\"},\"5\":{\"name\":\"keyword.operator.expression.in.ts\"}},\"end\":\"(])([-+])?\\\\s*(\\\\?\\\\s*)?|$\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.square.ts\"},\"2\":{\"name\":\"keyword.operator.type.modifier.ts\"},\"3\":{\"name\":\"keyword.operator.optional.ts\"}},\"name\":\"meta.indexer.mappedtype.declaration.ts\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+\"},{\"include\":\"#type\"}]},\"inline-tags\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.bracket.square.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.square.end.jsdoc\"}},\"match\":\"(\\\\[)[^]]+(])(?=\\\\{@(?:link|linkcode|linkplain|tutorial))\",\"name\":\"constant.other.description.jsdoc\"},{\"begin\":\"(\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.bracket.curly.begin.jsdoc\"},\"2\":{\"name\":\"storage.type.class.jsdoc\"},\"3\":{\"name\":\"punctuation.definition.inline.tag.jsdoc\"}},\"end\":\"}|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.bracket.curly.end.jsdoc\"}},\"name\":\"entity.name.type.instance.jsdoc\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.link.underline.jsdoc\"},\"2\":{\"name\":\"punctuation.separator.pipe.jsdoc\"}},\"match\":\"\\\\G((?=https?://)(?:[^*|}\\\\s]|\\\\*/)+)(\\\\|)?\"},{\"captures\":{\"1\":{\"name\":\"variable.other.description.jsdoc\"},\"2\":{\"name\":\"punctuation.separator.pipe.jsdoc\"}},\"match\":\"\\\\G((?:[^*@{|}\\\\s]|\\\\*[^/])+)(\\\\|)?\"}]}]},\"instanceof-expr\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.instanceof.ts\"}},\"end\":\"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))\",\"patterns\":[{\"include\":\"#type\"}]},\"interface-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(interface)\\\\b(?=\\\\s+|/[*/])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.type.interface.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.interface.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"captures\":{\"0\":{\"name\":\"entity.name.type.interface.ts\"}},\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\"},{\"include\":\"#type-parameters\"},{\"include\":\"#class-or-interface-body\"}]},\"jsdoctype\":{\"patterns\":[{\"begin\":\"\\\\G(\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.curly.begin.jsdoc\"}},\"contentName\":\"entity.name.type.instance.jsdoc\",\"end\":\"((}))\\\\s*|(?=\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.curly.end.jsdoc\"}},\"patterns\":[{\"include\":\"#brackets\"}]}]},\"label\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)(?=\\\\s*\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.label.ts\"},\"2\":{\"name\":\"punctuation.separator.label.ts\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#decl-block\"}]},{\"captures\":{\"1\":{\"name\":\"entity.name.label.ts\"},\"2\":{\"name\":\"punctuation.separator.label.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)\"}]},\"literal\":{\"patterns\":[{\"include\":\"#numeric-literal\"},{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#undefined-literal\"},{\"include\":\"#numericConstant-literal\"},{\"include\":\"#array-literal\"},{\"include\":\"#this-literal\"},{\"include\":\"#super-literal\"}]},\"method-declaration\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?\\\\s*\\\\b(constructor)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.modifier.async.ts\"},\"5\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\s*\\\\b(new)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))|(?:(\\\\*)\\\\s*)?)(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.modifier.async.ts\"},\"5\":{\"name\":\"keyword.operator.new.ts\"},\"6\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.modifier.async.ts\"},\"5\":{\"name\":\"storage.type.property.ts\"},\"6\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]}]},\"method-declaration-name\":{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??)\\\\s*[(<])\",\"end\":\"(?=[(<])\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"meta.definition.method.ts entity.name.function.ts\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ts\"}]},\"namespace-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(namespace|module)\\\\s+(?=[\\\"$'_`[:alpha:]])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.namespace.ts\"}},\"end\":\"(?<=})|(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.namespace.declaration.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.type.module.ts\"},{\"include\":\"#punctuation-accessor\"},{\"include\":\"#decl-block\"}]},\"new-expr\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.new.ts\"}},\"end\":\"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))\",\"name\":\"new.expr.ts\",\"patterns\":[{\"include\":\"#expression\"}]},\"null-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.null.ts\"},\"numeric-literal\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"\\\\b(?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.hex.ts\"},{\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"\\\\b(?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.binary.ts\"},{\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"\\\\b(?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.octal.ts\"},{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.ts\"},\"1\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"2\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"3\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"4\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"5\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"6\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"7\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"8\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"9\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"10\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"11\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"12\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"13\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"14\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"(?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)\"}]},\"numericConstant-literal\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.nan.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.infinity.ts\"}]},\"object-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#binding-element\"}]},{\"include\":\"#object-binding-pattern\"},{\"include\":\"#destructuring-variable-rest\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"object-binding-element-const\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#binding-element-const\"}]},{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#destructuring-variable-rest-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"object-binding-element-propertyName\":{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(:)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.destructuring.ts\"}},\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"variable.object.property.ts\"}]},\"object-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"patterns\":[{\"include\":\"#object-binding-element\"}]},\"object-binding-pattern-const\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"patterns\":[{\"include\":\"#object-binding-element-const\"}]},\"object-identifiers\":{\"patterns\":[{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\??\\\\.\\\\s*prototype\\\\b(?!\\\\$))\",\"name\":\"support.class.ts\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"variable.other.constant.object.property.ts\"},\"4\":{\"name\":\"variable.other.object.property.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(#?\\\\p{upper}[$_\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"variable.other.constant.object.ts\"},\"2\":{\"name\":\"variable.other.object.ts\"}},\"match\":\"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\"}]},\"object-literal\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.objectliteral.ts\",\"patterns\":[{\"include\":\"#object-member\"}]},\"object-literal-method-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"storage.type.property.ts\"},\"3\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[,;}])|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"storage.type.property.ts\"},\"3\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[(<])\",\"patterns\":[{\"include\":\"#method-declaration-name\"}]}]},\"object-member\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#object-literal-method-declaration\"},{\"begin\":\"(?=\\\\[)\",\"end\":\"(?=:)|((?<=])(?=\\\\s*[(<]))\",\"name\":\"meta.object.member.ts meta.object-literal.key.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#array-literal\"}]},{\"begin\":\"(?=[\\\"'`])\",\"end\":\"(?=:)|((?<=[\\\"'`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))\",\"name\":\"meta.object.member.ts meta.object-literal.key.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"begin\":\"(?=\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)))\",\"end\":\"(?=:)|(?=\\\\s*([(,<}])|(\\\\s+as|satisifies\\\\s+))\",\"name\":\"meta.object.member.ts meta.object-literal.key.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#numeric-literal\"}]},{\"begin\":\"(?<=[]\\\"'`])(?=\\\\s*[(<])\",\"end\":\"(?=[,;}])|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#function-body\"}]},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ts\"},\"1\":{\"name\":\"constant.numeric.decimal.ts\"}},\"match\":\"(?![$_[:alpha:]])(\\\\d+)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object.member.ts\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ts\"},\"1\":{\"name\":\"entity.name.function.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/)*\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))\",\"name\":\"meta.object.member.ts\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ts\"}},\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object.member.ts\"},{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.ts\"}},\"end\":\"(?=[,}])\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)\",\"name\":\"meta.object.member.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))\",\"name\":\"meta.object.member.ts\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"keyword.control.satisfies.ts\"}},\"end\":\"(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisifies)\\\\s+))\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*=)\",\"end\":\"(?=[,}]|$|//|/\\\\*)\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"meta.object-literal.key.ts punctuation.separator.key-value.ts\"}},\"end\":\"(?=[,}])\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"begin\":\"(?<=:)\\\\s*(async)?(?=\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#type-parameters\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]}]},{\"begin\":\"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]},{\"begin\":\"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=>)\",\"patterns\":[{\"include\":\"#type-parameters\"}]},{\"begin\":\"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]},{\"include\":\"#possibly-arrow-return-type\"},{\"include\":\"#expression\"}]},{\"include\":\"#punctuation-comma\"},{\"include\":\"#decl-block\"}]},\"parameter-array-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"patterns\":[{\"include\":\"#parameter-binding-element\"},{\"include\":\"#punctuation-comma\"}]},\"parameter-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#parameter-object-binding-pattern\"},{\"include\":\"#parameter-array-binding-pattern\"},{\"include\":\"#destructuring-parameter-rest\"},{\"include\":\"#variable-initializer\"}]},\"parameter-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"entity.name.function.ts variable.language.this.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)\"}]},\"parameter-object-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#parameter-binding-element\"},{\"include\":\"#paren-expression\"}]},{\"include\":\"#parameter-object-binding-pattern\"},{\"include\":\"#destructuring-parameter-rest\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"parameter-object-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"patterns\":[{\"include\":\"#parameter-object-binding-element\"}]},\"parameter-type-annotation\":{\"patterns\":[{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=[),])|(?==[^>])\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]}]},\"paren-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"paren-expression-possibly-arrow\":{\"patterns\":[{\"begin\":\"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#paren-expression-possibly-arrow-with-typeparameters\"}]},{\"begin\":\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#paren-expression-possibly-arrow-with-typeparameters\"}]},{\"include\":\"#possibly-arrow-return-type\"}]},\"paren-expression-possibly-arrow-with-typeparameters\":{\"patterns\":[{\"include\":\"#type-parameters\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]}]},\"possibly-arrow-return-type\":{\"begin\":\"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\"}},\"contentName\":\"meta.arrow.ts meta.return.type.arrow.ts\",\"end\":\"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"patterns\":[{\"include\":\"#arrow-return-type-body\"}]},\"property-accessor\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.type.property.ts\"},\"punctuation-accessor\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d))\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.ts\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.ts\"},\"qstring-double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(\\\")|([^\\\\n\\\\\\\\])$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.double.ts\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"qstring-single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(')|([^\\\\n\\\\\\\\])$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.single.ts\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"regex\":{\"patterns\":[{\"begin\":\"(?<!\\\\+\\\\+|--|})(?<=[!(+,:=?\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(/)([dgimsuvy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"keyword.other.ts\"}},\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"((?<![]$)_[:alnum:]]|\\\\+\\\\+|--|}|\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\s*)/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(/)([dgimsuvy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"keyword.other.ts\"}},\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"#regexp\"}]}]},\"regex-character-class\":{\"patterns\":[{\"match\":\"\\\\\\\\[DSWdfnrstvw]|\\\\.\",\"name\":\"constant.other.character-class.regexp\"},{\"match\":\"\\\\\\\\([0-7]{3}|x\\\\h{2}|u\\\\h{4})\",\"name\":\"constant.character.numeric.regexp\"},{\"match\":\"\\\\\\\\c[A-Z]\",\"name\":\"constant.character.control.regexp\"},{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.backslash.regexp\"}]},\"regexp\":{\"patterns\":[{\"match\":\"\\\\\\\\[Bb]|[$^]\",\"name\":\"keyword.control.anchor.regexp\"},{\"captures\":{\"0\":{\"name\":\"keyword.other.back-reference.regexp\"},\"1\":{\"name\":\"variable.other.regexp\"}},\"match\":\"\\\\\\\\(?:[1-9]\\\\d*|k<([$A-Z_a-z][$\\\\w]*)>)\"},{\"match\":\"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??\",\"name\":\"keyword.operator.quantifier.regexp\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.or.regexp\"},{\"begin\":\"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?<!))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"},\"2\":{\"name\":\"punctuation.definition.group.assertion.regexp\"},\"3\":{\"name\":\"meta.assertion.look-ahead.regexp\"},\"4\":{\"name\":\"meta.assertion.negative-look-ahead.regexp\"},\"5\":{\"name\":\"meta.assertion.look-behind.regexp\"},\"6\":{\"name\":\"meta.assertion.negative-look-behind.regexp\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.assertion.regexp\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"\\\\((?:(\\\\?:)|\\\\?<([$A-Z_a-z][$\\\\w]*)>)?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"},\"1\":{\"name\":\"punctuation.definition.group.no-capture.regexp\"},\"2\":{\"name\":\"variable.other.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.regexp\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"},\"2\":{\"name\":\"keyword.operator.negation.regexp\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"}},\"name\":\"constant.other.character-class.set.regexp\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.numeric.regexp\"},\"2\":{\"name\":\"constant.character.control.regexp\"},\"3\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"4\":{\"name\":\"constant.character.numeric.regexp\"},\"5\":{\"name\":\"constant.character.control.regexp\"},\"6\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"match\":\"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))\",\"name\":\"constant.other.character-class.range.regexp\"},{\"include\":\"#regex-character-class\"}]},{\"include\":\"#regex-character-class\"}]},\"return-type\":{\"patterns\":[{\"begin\":\"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])(?=$|^|[,;{}]|//)\",\"name\":\"meta.return.type.ts\",\"patterns\":[{\"include\":\"#return-type-core\"}]},{\"begin\":\"(?<=\\\\))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])((?=[,;{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))\",\"name\":\"meta.return.type.ts\",\"patterns\":[{\"include\":\"#return-type-core\"}]}]},\"return-type-core\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=[\\\\&:|])(?=\\\\s*\\\\{)\",\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"shebang\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.ts\"}},\"match\":\"\\\\A(#!).*(?=$)\",\"name\":\"comment.line.shebang.ts\"},\"single-line-comment-consuming-line-ending\":{\"begin\":\"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.ts\"},\"2\":{\"name\":\"comment.line.double-slash.ts\"},\"3\":{\"name\":\"punctuation.definition.comment.ts\"},\"4\":{\"name\":\"storage.type.internaldeclaration.ts\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.ts\"}},\"contentName\":\"comment.line.double-slash.ts\",\"end\":\"(?=^)\"},\"statements\":{\"patterns\":[{\"include\":\"#declaration\"},{\"include\":\"#control-statement\"},{\"include\":\"#after-operator-block-as-object-literal\"},{\"include\":\"#decl-block\"},{\"include\":\"#label\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#string\"},{\"include\":\"#comment\"}]},\"string\":{\"patterns\":[{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template\"}]},\"string-character-escape\":{\"match\":\"\\\\\\\\(x\\\\h{2}|u\\\\h{4}|u\\\\{\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.ts\"},\"super-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))super\\\\b(?!\\\\$)\",\"name\":\"variable.language.super.ts\"},\"support-function-call-identifiers\":{\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#support-objects\"},{\"include\":\"#object-identifiers\"},{\"include\":\"#punctuation-accessor\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\(\\\\s*[\\\"'`])\",\"name\":\"keyword.operator.expression.import.ts\"}]},\"support-objects\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(arguments)\\\\b(?!\\\\$)\",\"name\":\"variable.language.arguments.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(Promise)\\\\b(?!\\\\$)\",\"name\":\"support.class.promise.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.import.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"},\"4\":{\"name\":\"support.variable.property.importmeta.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(import)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(meta)\\\\b(?!\\\\$)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.new.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"},\"4\":{\"name\":\"support.variable.property.target.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(target)\\\\b(?!\\\\$)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"support.variable.property.ts\"},\"4\":{\"name\":\"support.constant.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(constructor|length|prototype|__proto__)\\\\b(?!\\\\$|\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))\"},{\"captures\":{\"1\":{\"name\":\"support.type.object.module.ts\"},\"2\":{\"name\":\"support.type.object.module.ts\"},\"3\":{\"name\":\"punctuation.accessor.ts\"},\"4\":{\"name\":\"punctuation.accessor.optional.ts\"},\"5\":{\"name\":\"support.type.object.module.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(exports)|(module)(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\b(?!\\\\$)\"}]},\"switch-statement\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bswitch\\\\s*\\\\()\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"switch-statement.expr.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(switch)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.ts\"},\"2\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"switch-expression.expr.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"(?=})\",\"name\":\"switch-block.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.ts\"}},\"end\":\"(?=:)\",\"name\":\"case-clause.expr.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(:)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\"},\"2\":{\"name\":\"meta.block.ts punctuation.definition.block.ts\"}},\"contentName\":\"meta.block.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"meta.block.ts punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#statements\"}]},{\"captures\":{\"0\":{\"name\":\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\"}},\"match\":\"(:)\"},{\"include\":\"#statements\"}]}]},\"template\":{\"patterns\":[{\"include\":\"#template-call\"},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"},\"2\":{\"name\":\"string.template.ts punctuation.definition.string.template.begin.ts\"}},\"contentName\":\"string.template.ts\",\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.ts punctuation.definition.string.template.end.ts\"}},\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-call\":{\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"end\":\"(?=`)\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.function.tagged-template.ts\"}]},{\"include\":\"#type-arguments\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"}},\"end\":\"(?=`)\",\"patterns\":[{\"include\":\"#type-arguments\"}]}]},\"template-substitution-element\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"meta.embedded.line.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"name\":\"meta.template.expression.ts\",\"patterns\":[{\"include\":\"#expression\"}]},\"template-type\":{\"patterns\":[{\"include\":\"#template-call\"},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"},\"2\":{\"name\":\"string.template.ts punctuation.definition.string.template.begin.ts\"}},\"contentName\":\"string.template.ts\",\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.ts punctuation.definition.string.template.end.ts\"}},\"patterns\":[{\"include\":\"#template-type-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-type-substitution-element\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"meta.embedded.line.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"name\":\"meta.template.expression.ts\",\"patterns\":[{\"include\":\"#type\"}]},\"ternary-expression\":{\"begin\":\"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"end\":\"\\\\s*(:)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"this-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))this\\\\b(?!\\\\$)\",\"name\":\"variable.language.this.ts\"},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-builtin-literals\"},{\"include\":\"#type-parameters\"},{\"include\":\"#type-tuple\"},{\"include\":\"#type-object\"},{\"include\":\"#type-operators\"},{\"include\":\"#type-conditional\"},{\"include\":\"#type-fn-type-parameters\"},{\"include\":\"#type-paren-or-function-parameters\"},{\"include\":\"#type-function-return-type\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\"},{\"include\":\"#type-name\"}]},\"type-alias-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(type)\\\\b\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.type.ts\"},\"4\":{\"name\":\"entity.name.type.alias.ts\"}},\"end\":\"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.type.declaration.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"begin\":\"(=)\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"},\"2\":{\"name\":\"keyword.control.intrinsic.ts\"}},\"end\":\"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#type\"}]}]},\"type-annotation\":{\"patterns\":[{\"begin\":\"(:)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])(?!\\\\s*[\\\\&|]\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]}]},\"type-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#type-arguments-body\"}]},\"type-arguments-body\":{\"patterns\":[{\"captures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"type-builtin-literals\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"support.type.builtin.ts\"},\"type-conditional\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"end\":\"(?<=:)\",\"patterns\":[{\"begin\":\"\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.ts\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.ts\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#type\"}]}]},\"type-fn-type-parameters\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b(?=\\\\s*<)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.type.constructor.ts storage.modifier.ts\"},\"2\":{\"name\":\"meta.type.constructor.ts keyword.control.new.ts\"}},\"end\":\"(?<=>)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.control.new.ts\"}},\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.constructor.ts\",\"patterns\":[{\"include\":\"#function-parameters\"}]},{\"begin\":\"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))\",\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.function.ts\",\"patterns\":[{\"include\":\"#function-parameters\"}]}]},\"type-function-return-type\":{\"patterns\":[{\"begin\":\"(=>)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.arrow.ts\"}},\"end\":\"(?<!=>)(?<![\\\\&|])(?=[]),:;=>?{}]|//|$)\",\"name\":\"meta.type.function.return.ts\",\"patterns\":[{\"include\":\"#type-function-return-type-core\"}]},{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.function.arrow.ts\"}},\"end\":\"(?<!=>)(?<![\\\\&|])((?=[]),:;=>?{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))\",\"name\":\"meta.type.function.return.ts\",\"patterns\":[{\"include\":\"#type-function-return-type-core\"}]}]},\"type-function-return-type-core\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<==>)(?=\\\\s*\\\\{)\",\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"type-infer\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.infer.ts\"},\"2\":{\"name\":\"entity.name.type.ts\"},\"3\":{\"name\":\"keyword.operator.expression.extends.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(infer)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))?\",\"name\":\"meta.type.infer.ts\"}]},\"type-name\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(<)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"},\"4\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\"}},\"contentName\":\"meta.type.parameters.ts\",\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\"}},\"patterns\":[{\"include\":\"#type-arguments-body\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.ts\"},\"2\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\"}},\"contentName\":\"meta.type.parameters.ts\",\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\"}},\"patterns\":[{\"include\":\"#type-arguments-body\"}]},{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"entity.name.type.ts\"}]},\"type-object\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.object.type.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#method-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#indexer-mapped-type-declaration\"},{\"include\":\"#field-declaration\"},{\"include\":\"#type-annotation\"},{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#type\"}]},\"type-operators\":{\"patterns\":[{\"include\":\"#typeof-operator\"},{\"include\":\"#type-infer\"},{\"begin\":\"([\\\\&|])(?=\\\\s*\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"begin\":\"[\\\\&|]\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.keyof.ts\"},{\"match\":\"([:?])\",\"name\":\"keyword.operator.ternary.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\()\",\"name\":\"keyword.operator.expression.import.ts\"}]},\"type-parameters\":{\"begin\":\"(<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ts\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"},{\"match\":\"(=)(?!>)\",\"name\":\"keyword.operator.assignment.ts\"}]},\"type-paren-or-function-parameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"meta.type.paren.cover.ts\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"entity.name.function.ts variable.language.this.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=\\\\s*(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=:)\"},{\"include\":\"#type-annotation\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"},{\"include\":\"#type\"}]},\"type-predicate-operator\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.asserts.ts\"},\"2\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"3\":{\"name\":\"variable.parameter.ts\"},\"4\":{\"name\":\"keyword.operator.expression.is.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(asserts)\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.asserts.ts\"},\"2\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"3\":{\"name\":\"variable.parameter.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(asserts)\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.type.asserts.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.is.ts\"}]},\"type-primitive\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"support.type.primitive.ts\"},\"type-string\":{\"patterns\":[{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template-type\"}]},\"type-tuple\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.type.tuple.ts\",\"patterns\":[{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.rest.ts\"},{\"captures\":{\"1\":{\"name\":\"entity.name.label.ts\"},\"2\":{\"name\":\"keyword.operator.optional.ts\"},\"3\":{\"name\":\"punctuation.separator.label.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\?)?\\\\s*(:)\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"typeof-operator\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.expression.typeof.ts\"}},\"end\":\"(?=[]\\\\&),:;=>?{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#type-arguments\"},{\"include\":\"#expression\"}]},\"undefined-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.undefined.ts\"},\"var-expr\":{\"patterns\":[{\"begin\":\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"end\":\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#destructuring-variable\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*(?=$|//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.ts\"}},\"end\":\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#destructuring-variable\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]},{\"begin\":\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#destructuring-const\"},{\"include\":\"#var-single-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*(?=$|//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.ts\"}},\"end\":\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#destructuring-const\"},{\"include\":\"#var-single-const\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]},{\"begin\":\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\s+|[^$._[:alnum:]]await\\\\s+)using)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#var-single-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*((?!\\\\S)|(?=//))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.ts\"}},\"end\":\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#var-single-const\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"var-single-const\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]}]},\"var-single-variable\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts entity.name.function.ts\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"begin\":\"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.readwrite.ts\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]}]},\"var-single-variable-type-annotation\":{\"patterns\":[{\"include\":\"#type-annotation\"},{\"include\":\"#string\"},{\"include\":\"#comment\"}]},\"variable-initializer\":{\"patterns\":[{\"begin\":\"(?<![!=])(=)(?!=)(?=\\\\s*\\\\S)(?!\\\\s*.*=>\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?<![!=])(=)(?!=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))|(?=^\\\\s*$)|(?<![-\\\\&*+/|])(?<=\\\\S)(?<!=)(?=\\\\s*$)\",\"patterns\":[{\"include\":\"#expression\"}]}]}},\"scopeName\":\"source.ts\",\"aliases\":[\"ts\"]}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"TypeScript\",\"name\":\"typescript\",\"patterns\":[{\"include\":\"#directives\"},{\"include\":\"#statements\"},{\"include\":\"#shebang\"}],\"repository\":{\"access-modifier\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ts\"},\"after-operator-block-as-object-literal\":{\"begin\":\"(?<!\\\\+\\\\+|--)(?<=[!(+,:=>?\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.objectliteral.ts\",\"patterns\":[{\"include\":\"#object-member\"}]},\"array-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"patterns\":[{\"include\":\"#binding-element\"},{\"include\":\"#punctuation-comma\"}]},\"array-binding-pattern-const\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"patterns\":[{\"include\":\"#binding-element-const\"},{\"include\":\"#punctuation-comma\"}]},\"array-literal\":{\"begin\":\"\\\\s*(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.array.literal.ts\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"arrow-function\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"variable.parameter.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async)\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?==>)\",\"name\":\"meta.arrow.ts\"},{\"begin\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async))?((?<![]!)}])\\\\s*(?=((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"name\":\"meta.arrow.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"include\":\"#function-parameters\"},{\"include\":\"#arrow-return-type\"},{\"include\":\"#possibly-arrow-return-type\"}]},{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.function.arrow.ts\"}},\"end\":\"((?<=[}\\\\S])(?<!=>)|((?!\\\\{)(?=\\\\S)))(?!/[*/])\",\"name\":\"meta.arrow.ts\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"}]}]},\"arrow-return-type\":{\"begin\":\"(?<=\\\\))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"name\":\"meta.return.type.arrow.ts\",\"patterns\":[{\"include\":\"#arrow-return-type-body\"}]},\"arrow-return-type-body\":{\"patterns\":[{\"begin\":\"(?<=:)(?=\\\\s*\\\\{)\",\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"async-modifier\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.async.ts\"},\"binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#object-binding-pattern\"},{\"include\":\"#array-binding-pattern\"},{\"include\":\"#destructuring-variable-rest\"},{\"include\":\"#variable-initializer\"}]},\"binding-element-const\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#array-binding-pattern-const\"},{\"include\":\"#destructuring-variable-rest-const\"},{\"include\":\"#variable-initializer\"}]},\"boolean-literal\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.boolean.true.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.boolean.false.ts\"}]},\"brackets\":{\"patterns\":[{\"begin\":\"\\\\{\",\"end\":\"}|(?=\\\\*/)\",\"patterns\":[{\"include\":\"#brackets\"}]},{\"begin\":\"\\\\[\",\"end\":\"]|(?=\\\\*/)\",\"patterns\":[{\"include\":\"#brackets\"}]}]},\"cast\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"meta.brace.angle.ts\"}},\"match\":\"\\\\s*(<)\\\\s*(const)\\\\s*(>)\",\"name\":\"cast.expr.ts\"},{\"begin\":\"(?<!\\\\+\\\\+|--)(?<=^return|[^$._[:alnum:]]return|^throw|[^$._[:alnum:]]throw|^yield|[^$._[:alnum:]]yield|^await|[^$._[:alnum:]]await|^default|[^$._[:alnum:]]default|[\\\\&(*,:=>?^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!<?=)(?!\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"name\":\"cast.expr.ts\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?<=^)\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*>)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.angle.ts\"}},\"name\":\"cast.expr.ts\",\"patterns\":[{\"include\":\"#type\"}]}]},\"class-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(class)\\\\b(?=\\\\s+|/[*/])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.type.class.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.class.ts\",\"patterns\":[{\"include\":\"#class-declaration-or-expression-patterns\"}]},\"class-declaration-or-expression-patterns\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"captures\":{\"0\":{\"name\":\"entity.name.type.class.ts\"}},\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\"},{\"include\":\"#type-parameters\"},{\"include\":\"#class-or-interface-body\"}]},\"class-expression\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(class)\\\\b(?=\\\\s+|[<{]|/[*/])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.type.class.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.class.ts\",\"patterns\":[{\"include\":\"#class-declaration-or-expression-patterns\"}]},\"class-or-interface-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#decorator\"},{\"begin\":\"(?<=:)\\\\s*\",\"end\":\"(?=[-\\\\])+,:;}\\\\s]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"include\":\"#method-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#field-declaration\"},{\"include\":\"#string\"},{\"include\":\"#type-annotation\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#access-modifier\"},{\"include\":\"#property-accessor\"},{\"include\":\"#async-modifier\"},{\"include\":\"#after-operator-block-as-object-literal\"},{\"include\":\"#decl-block\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"}]},\"class-or-interface-heritage\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(extends|implements)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"include\":\"#type-parameters\"},{\"include\":\"#expressionWithoutIdentifiers\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\s*\\\\??\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\s*)\"},{\"captures\":{\"1\":{\"name\":\"entity.other.inherited-class.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\"},{\"include\":\"#expressionPunctuations\"}]},\"comment\":{\"patterns\":[{\"begin\":\"/\\\\*\\\\*(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ts\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ts\"}},\"name\":\"comment.block.documentation.ts\",\"patterns\":[{\"include\":\"#docblock\"}]},{\"begin\":\"(/\\\\*)(?:\\\\s*((@)internal)(?=\\\\s|(\\\\*/)))?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.ts\"},\"2\":{\"name\":\"storage.type.internaldeclaration.ts\"},\"3\":{\"name\":\"punctuation.decorator.internaldeclaration.ts\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ts\"}},\"name\":\"comment.block.ts\"},{\"begin\":\"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.ts\"},\"2\":{\"name\":\"comment.line.double-slash.ts\"},\"3\":{\"name\":\"punctuation.definition.comment.ts\"},\"4\":{\"name\":\"storage.type.internaldeclaration.ts\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.ts\"}},\"contentName\":\"comment.line.double-slash.ts\",\"end\":\"(?=$)\"}]},\"control-statement\":{\"patterns\":[{\"include\":\"#switch-statement\"},{\"include\":\"#for-loop\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.trycatch.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.loop.ts\"},\"2\":{\"name\":\"entity.name.label.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|goto)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.loop.ts\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.flow.ts\"}},\"end\":\"(?=[;}]|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#expression\"}]},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.switch.ts\"},{\"include\":\"#if-statement\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.conditional.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.with.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.other.debugger.ts\"}]},\"decl-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.block.ts\",\"patterns\":[{\"include\":\"#statements\"}]},\"declaration\":{\"patterns\":[{\"include\":\"#decorator\"},{\"include\":\"#var-expr\"},{\"include\":\"#function-declaration\"},{\"include\":\"#class-declaration\"},{\"include\":\"#interface-declaration\"},{\"include\":\"#enum-declaration\"},{\"include\":\"#namespace-declaration\"},{\"include\":\"#type-alias-declaration\"},{\"include\":\"#import-equals-declaration\"},{\"include\":\"#import-declaration\"},{\"include\":\"#export-declaration\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ts\"}]},\"decorator\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))@\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.decorator.ts\"}},\"end\":\"(?=\\\\s)\",\"name\":\"meta.decorator.ts\",\"patterns\":[{\"include\":\"#expression\"}]},\"destructuring-const\":{\"patterns\":[{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.object-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.array-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#array-binding-pattern-const\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]}]},\"destructuring-parameter\":{\"patterns\":[{\"begin\":\"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"name\":\"meta.parameter.object-binding-pattern.ts\",\"patterns\":[{\"include\":\"#parameter-object-binding-element\"}]},{\"begin\":\"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"name\":\"meta.paramter.array-binding-pattern.ts\",\"patterns\":[{\"include\":\"#parameter-binding-element\"},{\"include\":\"#punctuation-comma\"}]}]},\"destructuring-parameter-rest\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"variable.parameter.ts\"}},\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\"},\"destructuring-variable\":{\"patterns\":[{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.object-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#object-binding-pattern\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]},{\"begin\":\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)\",\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"name\":\"meta.array-binding-pattern-variable.ts\",\"patterns\":[{\"include\":\"#array-binding-pattern\"},{\"include\":\"#type-annotation\"},{\"include\":\"#comment\"}]}]},\"destructuring-variable-rest\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"meta.definition.variable.ts variable.other.readwrite.ts\"}},\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\"},\"destructuring-variable-rest-const\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts\"}},\"match\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\"},\"directives\":{\"begin\":\"^(///)\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\s*=\\\\s*(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))+\\\\s*/>\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.ts\"}},\"end\":\"(?=$)\",\"name\":\"comment.line.triple-slash.directive.ts\",\"patterns\":[{\"begin\":\"(<)(reference|amd-dependency|amd-module)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.directive.ts\"},\"2\":{\"name\":\"entity.name.tag.directive.ts\"}},\"end\":\"/>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.directive.ts\"}},\"name\":\"meta.tag.ts\",\"patterns\":[{\"match\":\"path|types|no-default-lib|lib|name|resolution-mode\",\"name\":\"entity.other.attribute-name.directive.ts\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ts\"},{\"include\":\"#string\"}]}]},\"docblock\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.access-type.jsdoc\"}},\"match\":\"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"5\":{\"name\":\"constant.other.email.link.underline.jsdoc\"},\"6\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}},\"match\":\"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"4\":{\"name\":\"keyword.operator.control.jsdoc\"},\"5\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\"},{\"begin\":\"((@)example)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=@|\\\\*/)\",\"name\":\"meta.example.jsdoc\",\"patterns\":[{\"match\":\"^\\\\s\\\\*\\\\s+\"},{\"begin\":\"\\\\G(<)caption(>)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}},\"contentName\":\"constant.other.description.jsdoc\",\"end\":\"(</)caption(>)|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"entity.name.tag.inline.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.angle.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.angle.end.jsdoc\"}}},{\"captures\":{\"0\":{\"name\":\"source.embedded.ts\"}},\"match\":\"[^*@\\\\s](?:[^*]|\\\\*[^/])*\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"constant.language.symbol-type.jsdoc\"}},\"match\":\"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.link.underline.jsdoc\"},\"4\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)\"},{\"begin\":\"((@)template)\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"([$A-Z_a-z][]$.\\\\[\\\\w]*)\",\"name\":\"variable.other.jsdoc\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)\"},{\"begin\":\"((@)typedef)\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"(?:[^*/@\\\\s]|\\\\*[^/])+\",\"name\":\"entity.name.type.instance.jsdoc\"}]},{\"begin\":\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"},{\"match\":\"([$A-Z_a-z][]$.\\\\[\\\\w]*)\",\"name\":\"variable.other.jsdoc\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\"},\"2\":{\"name\":\"keyword.operator.assignment.jsdoc\"},\"3\":{\"name\":\"source.embedded.ts\"},\"4\":{\"name\":\"punctuation.definition.optional-value.end.bracket.square.jsdoc\"},\"5\":{\"name\":\"invalid.illegal.syntax.jsdoc\"}},\"match\":\"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\\")|[^*\\\\\\\\])*?\\\"|'(?:\\\\*(?!/)|\\\\\\\\(?!')|[^*\\\\\\\\])*?'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))\",\"name\":\"variable.other.jsdoc\"}]},{\"begin\":\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"end\":\"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])\",\"patterns\":[{\"include\":\"#jsdoctype\"}]},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"entity.name.type.instance.jsdoc\"}},\"match\":\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)\"},{\"begin\":\"((@)(?:default(?:value)?|license|version))\\\\s+(([\\\"']))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"},\"4\":{\"name\":\"punctuation.definition.string.begin.jsdoc\"}},\"contentName\":\"variable.other.jsdoc\",\"end\":\"(\\\\3)|(?=$|\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"variable.other.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.string.end.jsdoc\"}}},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"},\"3\":{\"name\":\"variable.other.jsdoc\"}},\"match\":\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"match\":\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b\",\"name\":\"storage.type.class.jsdoc\"},{\"include\":\"#inline-tags\"},{\"captures\":{\"1\":{\"name\":\"storage.type.class.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.block.tag.jsdoc\"}},\"match\":\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)\"}]},\"enum-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.type.enum.ts\"},\"5\":{\"name\":\"entity.name.type.enum.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.enum.declaration.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"beginCaptures\":{\"0\":{\"name\":\"variable.other.enummember.ts\"}},\"end\":\"(?=[,}]|$)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"begin\":\"(?=(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+])))\",\"end\":\"(?=[,}]|$)\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#comment\"},{\"include\":\"#variable-initializer\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"export-declaration\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"keyword.control.as.ts\"},\"3\":{\"name\":\"storage.type.namespace.ts\"},\"4\":{\"name\":\"entity.name.type.module.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)\\\\s+(as)\\\\s+(namespace)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?(?:\\\\s*(=)|\\\\s+(default)(?=\\\\s+))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"keyword.control.type.ts\"},\"3\":{\"name\":\"keyword.operator.assignment.ts\"},\"4\":{\"name\":\"keyword.control.default.ts\"}},\"end\":\"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.export.default.ts\",\"patterns\":[{\"include\":\"#interface-declaration\"},{\"include\":\"#expression\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?\\\\b(?!(\\\\$)|(\\\\s*:))((?=\\\\s*[*{])|((?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\s]))(?!\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"keyword.control.type.ts\"}},\"end\":\"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.export.ts\",\"patterns\":[{\"include\":\"#import-export-declaration\"}]}]},\"expression\":{\"patterns\":[{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"expression-inside-possibly-arrow-parens\":{\"patterns\":[{\"include\":\"#expressionWithoutIdentifiers\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#decorator\"},{\"include\":\"#destructuring-parameter\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"entity.name.function.ts variable.language.this.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*[,:]|$)\"},{\"include\":\"#type-annotation\"},{\"include\":\"#variable-initializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"},{\"include\":\"#identifiers\"},{\"include\":\"#expressionPunctuations\"}]},\"expression-operators\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.control.flow.ts\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?=\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*\\\\*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.ts\"}},\"end\":\"\\\\*\",\"endCaptures\":{\"0\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.ts\"},\"2\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s*(\\\\*))?\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.delete.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()\",\"name\":\"keyword.operator.expression.in.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()\",\"name\":\"keyword.operator.expression.of.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.instanceof.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.new.ts\"},{\"include\":\"#typeof-operator\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.void.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*($|[]),:;}]))\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"keyword.control.satisfies.ts\"}},\"end\":\"(?=^|[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisfies)\\\\s+)|(\\\\s+<))\",\"patterns\":[{\"include\":\"#type\"}]},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.spread.ts\"},{\"match\":\"(?:\\\\*|(?<!\\\\()/|[-%+])=\",\"name\":\"keyword.operator.assignment.compound.ts\"},{\"match\":\"(?:[\\\\&^]|<<|>>>??|\\\\|)=\",\"name\":\"keyword.operator.assignment.compound.bitwise.ts\"},{\"match\":\"<<|>>>?\",\"name\":\"keyword.operator.bitwise.shift.ts\"},{\"match\":\"[!=]==?\",\"name\":\"keyword.operator.comparison.ts\"},{\"match\":\"<=|>=|<>|[<>]\",\"name\":\"keyword.operator.relational.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ts\"},\"2\":{\"name\":\"keyword.operator.assignment.compound.ts\"},\"3\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"match\":\"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))\"},{\"match\":\"!|&&|\\\\|\\\\||\\\\?\\\\?\",\"name\":\"keyword.operator.logical.ts\"},{\"match\":\"[\\\\&^|~]\",\"name\":\"keyword.operator.bitwise.ts\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ts\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.ts\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.ts\"},{\"match\":\"[-%*+/]\",\"name\":\"keyword.operator.arithmetic.ts\"},{\"begin\":\"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))\",\"end\":\"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.compound.ts\"},\"2\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.compound.ts\"},\"2\":{\"name\":\"keyword.operator.arithmetic.ts\"}},\"match\":\"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))\"}]},\"expressionPunctuations\":{\"patterns\":[{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-accessor\"}]},\"expressionWithoutIdentifiers\":{\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#regex\"},{\"include\":\"#comment\"},{\"include\":\"#function-expression\"},{\"include\":\"#class-expression\"},{\"include\":\"#arrow-function\"},{\"include\":\"#paren-expression-possibly-arrow\"},{\"include\":\"#cast\"},{\"include\":\"#ternary-expression\"},{\"include\":\"#new-expr\"},{\"include\":\"#instanceof-expr\"},{\"include\":\"#object-literal\"},{\"include\":\"#expression-operators\"},{\"include\":\"#function-call\"},{\"include\":\"#literal\"},{\"include\":\"#support-objects\"},{\"include\":\"#paren-expression\"}]},\"field-declaration\":{\"begin\":\"(?<!\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s+)?(?=\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=}]|$))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"end\":\"(?=[,;}]|$|^((?!\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=]|$))))|(?<=})\",\"name\":\"meta.field.declaration.ts\",\"patterns\":[{\"include\":\"#variable-initializer\"},{\"include\":\"#type-annotation\"},{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"meta.definition.property.ts entity.name.function.ts\"},\"2\":{\"name\":\"keyword.operator.optional.ts\"},\"3\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"match\":\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\?)|(!))?(?=\\\\s*\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\"},{\"match\":\"#?[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"meta.definition.property.ts variable.object.property.ts\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ts\"},{\"match\":\"!\",\"name\":\"keyword.operator.definiteassignment.ts\"}]},\"for-loop\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))for(?=((\\\\s+|(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*))await)?\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)?(\\\\())\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.loop.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"await\",\"name\":\"keyword.control.loop.ts\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#var-expr\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"}]}]},\"function-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"include\":\"#function-parameters\"},{\"include\":\"#return-type\"},{\"include\":\"#type-function-return-type\"},{\"include\":\"#decl-block\"},{\"match\":\"\\\\*\",\"name\":\"keyword.generator.asterisk.ts\"}]},\"function-call\":{\"patterns\":[{\"begin\":\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())\",\"end\":\"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\",\"end\":\"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())\",\"name\":\"meta.function-call.ts\",\"patterns\":[{\"include\":\"#function-call-target\"}]},{\"include\":\"#comment\"},{\"include\":\"#function-call-optionals\"},{\"include\":\"#type-arguments\"},{\"include\":\"#paren-expression\"}]},{\"begin\":\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)\",\"end\":\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)\",\"name\":\"meta.function-call.ts\",\"patterns\":[{\"include\":\"#function-call-target\"}]},{\"include\":\"#comment\"},{\"include\":\"#function-call-optionals\"},{\"include\":\"#type-arguments\"}]}]},\"function-call-optionals\":{\"patterns\":[{\"match\":\"\\\\?\\\\.\",\"name\":\"meta.function-call.ts punctuation.accessor.optional.ts\"},{\"match\":\"!\",\"name\":\"meta.function-call.ts keyword.operator.definiteassignment.ts\"}]},\"function-call-target\":{\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"match\":\"(#?[$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.function.ts\"}]},\"function-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.async.ts\"},\"4\":{\"name\":\"storage.type.function.ts\"},\"5\":{\"name\":\"keyword.generator.asterisk.ts\"},\"6\":{\"name\":\"meta.definition.function.ts entity.name.function.ts\"}},\"end\":\"(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|(?<=})\",\"name\":\"meta.function.ts\",\"patterns\":[{\"include\":\"#function-name\"},{\"include\":\"#function-body\"}]},\"function-expression\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"storage.type.function.ts\"},\"3\":{\"name\":\"keyword.generator.asterisk.ts\"},\"4\":{\"name\":\"meta.definition.function.ts entity.name.function.ts\"}},\"end\":\"(?=;)|(?<=})\",\"name\":\"meta.function.expression.ts\",\"patterns\":[{\"include\":\"#function-name\"},{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#function-body\"}]},\"function-name\":{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"meta.definition.function.ts entity.name.function.ts\"},\"function-parameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.begin.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.ts\"}},\"name\":\"meta.parameters.ts\",\"patterns\":[{\"include\":\"#function-parameters-body\"}]},\"function-parameters-body\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#decorator\"},{\"include\":\"#destructuring-parameter\"},{\"include\":\"#parameter-name\"},{\"include\":\"#parameter-type-annotation\"},{\"include\":\"#variable-initializer\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"}]},\"identifiers\":{\"patterns\":[{\"include\":\"#object-identifiers\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"entity.name.function.ts\"}},\"match\":\"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"variable.other.constant.property.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"variable.other.property.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\"},{\"match\":\"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])\",\"name\":\"variable.other.constant.ts\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"variable.other.readwrite.ts\"}]},\"if-statement\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\s*(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))\\\\s*(?!\\\\{))\",\"end\":\"(?=;|$|})\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.ts\"},\"2\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?<=\\\\))\\\\s*/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(/)([dgimsuvy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"keyword.other.ts\"}},\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"include\":\"#statements\"}]}]},\"import-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type)(?!\\\\s+from))?(?!\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.control.import.ts\"},\"4\":{\"name\":\"keyword.control.type.ts\"}},\"end\":\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\",\"name\":\"meta.import.ts\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"begin\":\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\s*[\\\"'])\",\"end\":\"\\\\bfrom\\\\b\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.from.ts\"}},\"patterns\":[{\"include\":\"#import-export-declaration\"}]},{\"include\":\"#import-export-declaration\"}]},\"import-equals-declaration\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(require)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.control.import.ts\"},\"4\":{\"name\":\"keyword.control.type.ts\"},\"5\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"6\":{\"name\":\"keyword.operator.assignment.ts\"},\"7\":{\"name\":\"keyword.control.require.ts\"},\"8\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"meta.import-equals.external.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(?!require\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"keyword.control.import.ts\"},\"4\":{\"name\":\"keyword.control.type.ts\"},\"5\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"6\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=;|$|^)\",\"name\":\"meta.import-equals.internal.ts\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"variable.other.readwrite.ts\"}]}]},\"import-export-assert-clause\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(with)|(assert))\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.with.ts\"},\"2\":{\"name\":\"keyword.control.assert.ts\"},\"3\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object-literal.key.ts\"},{\"match\":\":\",\"name\":\"punctuation.separator.key-value.ts\"}]},\"import-export-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.block.ts\",\"patterns\":[{\"include\":\"#import-export-clause\"}]},\"import-export-clause\":{\"patterns\":[{\"include\":\"#comment\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.type.ts\"},\"2\":{\"name\":\"keyword.control.default.ts\"},\"3\":{\"name\":\"constant.language.import-export-all.ts\"},\"4\":{\"name\":\"variable.other.readwrite.ts\"},\"5\":{\"name\":\"string.quoted.alias.ts\"},\"12\":{\"name\":\"keyword.control.as.ts\"},\"13\":{\"name\":\"keyword.control.default.ts\"},\"14\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"15\":{\"name\":\"string.quoted.alias.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(type)\\\\s+)?(?:\\\\b(default)|(\\\\*)|\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))\\\\s+(as)\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))\"},{\"include\":\"#punctuation-comma\"},{\"match\":\"\\\\*\",\"name\":\"constant.language.import-export-all.ts\"},{\"match\":\"\\\\b(default)\\\\b\",\"name\":\"keyword.control.default.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.type.ts\"},\"2\":{\"name\":\"variable.other.readwrite.alias.ts\"},\"3\":{\"name\":\"string.quoted.alias.ts\"}},\"match\":\"(?:\\\\b(type)\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))\"}]},\"import-export-declaration\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#import-export-block\"},{\"match\":\"\\\\bfrom\\\\b\",\"name\":\"keyword.control.from.ts\"},{\"include\":\"#import-export-assert-clause\"},{\"include\":\"#import-export-clause\"}]},\"indexer-declaration\":{\"begin\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=:)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"meta.brace.square.ts\"},\"3\":{\"name\":\"variable.parameter.ts\"}},\"end\":\"(])\\\\s*(\\\\?\\\\s*)?|$\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.square.ts\"},\"2\":{\"name\":\"keyword.operator.optional.ts\"}},\"name\":\"meta.indexer.declaration.ts\",\"patterns\":[{\"include\":\"#type-annotation\"}]},\"indexer-mapped-type-declaration\":{\"begin\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([-+])?(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(in)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"meta.brace.square.ts\"},\"4\":{\"name\":\"entity.name.type.ts\"},\"5\":{\"name\":\"keyword.operator.expression.in.ts\"}},\"end\":\"(])([-+])?\\\\s*(\\\\?\\\\s*)?|$\",\"endCaptures\":{\"1\":{\"name\":\"meta.brace.square.ts\"},\"2\":{\"name\":\"keyword.operator.type.modifier.ts\"},\"3\":{\"name\":\"keyword.operator.optional.ts\"}},\"name\":\"meta.indexer.mappedtype.declaration.ts\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+\"},{\"include\":\"#type\"}]},\"inline-tags\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.bracket.square.begin.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.square.end.jsdoc\"}},\"match\":\"(\\\\[)[^]]+(])(?=\\\\{@(?:link|linkcode|linkplain|tutorial))\",\"name\":\"constant.other.description.jsdoc\"},{\"begin\":\"(\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.bracket.curly.begin.jsdoc\"},\"2\":{\"name\":\"storage.type.class.jsdoc\"},\"3\":{\"name\":\"punctuation.definition.inline.tag.jsdoc\"}},\"end\":\"}|(?=\\\\*/)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.bracket.curly.end.jsdoc\"}},\"name\":\"entity.name.type.instance.jsdoc\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.link.underline.jsdoc\"},\"2\":{\"name\":\"punctuation.separator.pipe.jsdoc\"}},\"match\":\"\\\\G((?=https?://)(?:[^*|}\\\\s]|\\\\*/)+)(\\\\|)?\"},{\"captures\":{\"1\":{\"name\":\"variable.other.description.jsdoc\"},\"2\":{\"name\":\"punctuation.separator.pipe.jsdoc\"}},\"match\":\"\\\\G((?:[^*@{|}\\\\s]|\\\\*[^/])+)(\\\\|)?\"}]}]},\"instanceof-expr\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.expression.instanceof.ts\"}},\"end\":\"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))\",\"patterns\":[{\"include\":\"#type\"}]},\"interface-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(interface)\\\\b(?=\\\\s+|/[*/])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.type.interface.ts\"}},\"end\":\"(?<=})\",\"name\":\"meta.interface.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#class-or-interface-heritage\"},{\"captures\":{\"0\":{\"name\":\"entity.name.type.interface.ts\"}},\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\"},{\"include\":\"#type-parameters\"},{\"include\":\"#class-or-interface-body\"}]},\"jsdoctype\":{\"patterns\":[{\"begin\":\"\\\\G(\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"1\":{\"name\":\"punctuation.definition.bracket.curly.begin.jsdoc\"}},\"contentName\":\"entity.name.type.instance.jsdoc\",\"end\":\"((}))\\\\s*|(?=\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.type.instance.jsdoc\"},\"2\":{\"name\":\"punctuation.definition.bracket.curly.end.jsdoc\"}},\"patterns\":[{\"include\":\"#brackets\"}]}]},\"label\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)(?=\\\\s*\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.label.ts\"},\"2\":{\"name\":\"punctuation.separator.label.ts\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#decl-block\"}]},{\"captures\":{\"1\":{\"name\":\"entity.name.label.ts\"},\"2\":{\"name\":\"punctuation.separator.label.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)\"}]},\"literal\":{\"patterns\":[{\"include\":\"#numeric-literal\"},{\"include\":\"#boolean-literal\"},{\"include\":\"#null-literal\"},{\"include\":\"#undefined-literal\"},{\"include\":\"#numericConstant-literal\"},{\"include\":\"#array-literal\"},{\"include\":\"#this-literal\"},{\"include\":\"#super-literal\"}]},\"method-declaration\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?\\\\s*\\\\b(constructor)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.modifier.async.ts\"},\"5\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\s*\\\\b(new)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))|(?:(\\\\*)\\\\s*)?)(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.modifier.async.ts\"},\"5\":{\"name\":\"keyword.operator.new.ts\"},\"6\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.modifier.ts\"},\"4\":{\"name\":\"storage.modifier.async.ts\"},\"5\":{\"name\":\"storage.type.property.ts\"},\"6\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"}]}]},\"method-declaration-name\":{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??)\\\\s*[(<])\",\"end\":\"(?=[(<])\",\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"meta.definition.method.ts entity.name.function.ts\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.optional.ts\"}]},\"namespace-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(namespace|module)\\\\s+(?=[\\\"$'_`[:alpha:]])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.namespace.ts\"}},\"end\":\"(?<=})|(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.namespace.declaration.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.type.module.ts\"},{\"include\":\"#punctuation-accessor\"},{\"include\":\"#decl-block\"}]},\"new-expr\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.new.ts\"}},\"end\":\"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))\",\"name\":\"new.expr.ts\",\"patterns\":[{\"include\":\"#expression\"}]},\"null-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.null.ts\"},\"numeric-literal\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"\\\\b(?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.hex.ts\"},{\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"\\\\b(?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.binary.ts\"},{\"captures\":{\"1\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"\\\\b(?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$)\",\"name\":\"constant.numeric.octal.ts\"},{\"captures\":{\"0\":{\"name\":\"constant.numeric.decimal.ts\"},\"1\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"2\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"3\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"4\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"5\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"6\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"7\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"8\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"9\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"10\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"11\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"12\":{\"name\":\"meta.delimiter.decimal.period.ts\"},\"13\":{\"name\":\"storage.type.numeric.bigint.ts\"},\"14\":{\"name\":\"storage.type.numeric.bigint.ts\"}},\"match\":\"(?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)\"}]},\"numericConstant-literal\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.nan.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.infinity.ts\"}]},\"object-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#binding-element\"}]},{\"include\":\"#object-binding-pattern\"},{\"include\":\"#destructuring-variable-rest\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"object-binding-element-const\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#binding-element-const\"}]},{\"include\":\"#object-binding-pattern-const\"},{\"include\":\"#destructuring-variable-rest-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"object-binding-element-propertyName\":{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(:)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.destructuring.ts\"}},\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#array-literal\"},{\"include\":\"#numeric-literal\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"variable.object.property.ts\"}]},\"object-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"patterns\":[{\"include\":\"#object-binding-element\"}]},\"object-binding-pattern-const\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"patterns\":[{\"include\":\"#object-binding-element-const\"}]},\"object-identifiers\":{\"patterns\":[{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\??\\\\.\\\\s*prototype\\\\b(?!\\\\$))\",\"name\":\"support.class.ts\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"variable.other.constant.object.property.ts\"},\"4\":{\"name\":\"variable.other.object.property.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(#?\\\\p{upper}[$_\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\"},{\"captures\":{\"1\":{\"name\":\"variable.other.constant.object.ts\"},\"2\":{\"name\":\"variable.other.object.ts\"}},\"match\":\"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\"}]},\"object-literal\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.objectliteral.ts\",\"patterns\":[{\"include\":\"#object-member\"}]},\"object-literal-method-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"storage.type.property.ts\"},\"3\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[,;}])|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#method-declaration-name\"},{\"include\":\"#function-body\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"storage.type.property.ts\"},\"3\":{\"name\":\"keyword.generator.asterisk.ts\"}},\"end\":\"(?=[(<])\",\"patterns\":[{\"include\":\"#method-declaration-name\"}]}]},\"object-member\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#object-literal-method-declaration\"},{\"begin\":\"(?=\\\\[)\",\"end\":\"(?=:)|((?<=])(?=\\\\s*[(<]))\",\"name\":\"meta.object.member.ts meta.object-literal.key.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#array-literal\"}]},{\"begin\":\"(?=[\\\"'`])\",\"end\":\"(?=:)|((?<=[\\\"'`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))\",\"name\":\"meta.object.member.ts meta.object-literal.key.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"}]},{\"begin\":\"(?=\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)))\",\"end\":\"(?=:)|(?=\\\\s*([(,<}])|(\\\\s+as|satisifies\\\\s+))\",\"name\":\"meta.object.member.ts meta.object-literal.key.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#numeric-literal\"}]},{\"begin\":\"(?<=[]\\\"'`])(?=\\\\s*[(<])\",\"end\":\"(?=[,;}])|(?<=})\",\"name\":\"meta.method.declaration.ts\",\"patterns\":[{\"include\":\"#function-body\"}]},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ts\"},\"1\":{\"name\":\"constant.numeric.decimal.ts\"}},\"match\":\"(?![$_[:alpha:]])(\\\\d+)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object.member.ts\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ts\"},\"1\":{\"name\":\"entity.name.function.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/)*\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))\",\"name\":\"meta.object.member.ts\"},{\"captures\":{\"0\":{\"name\":\"meta.object-literal.key.ts\"}},\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)\",\"name\":\"meta.object.member.ts\"},{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.ts\"}},\"end\":\"(?=[,}])\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"variable.other.readwrite.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)\",\"name\":\"meta.object.member.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))\",\"name\":\"meta.object.member.ts\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.as.ts\"},\"2\":{\"name\":\"keyword.control.satisfies.ts\"}},\"end\":\"(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisifies)\\\\s+))\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*=)\",\"end\":\"(?=[,}]|$|//|/\\\\*)\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"meta.object-literal.key.ts punctuation.separator.key-value.ts\"}},\"end\":\"(?=[,}])\",\"name\":\"meta.object.member.ts\",\"patterns\":[{\"begin\":\"(?<=:)\\\\s*(async)?(?=\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#type-parameters\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]}]},{\"begin\":\"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"},\"2\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]},{\"begin\":\"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=>)\",\"patterns\":[{\"include\":\"#type-parameters\"}]},{\"begin\":\"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]},{\"include\":\"#possibly-arrow-return-type\"},{\"include\":\"#expression\"}]},{\"include\":\"#punctuation-comma\"},{\"include\":\"#decl-block\"}]},\"parameter-array-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.array.ts\"}},\"patterns\":[{\"include\":\"#parameter-binding-element\"},{\"include\":\"#punctuation-comma\"}]},\"parameter-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#regex\"},{\"include\":\"#parameter-object-binding-pattern\"},{\"include\":\"#parameter-array-binding-pattern\"},{\"include\":\"#destructuring-parameter-rest\"},{\"include\":\"#variable-initializer\"}]},\"parameter-name\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"entity.name.function.ts variable.language.this.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)\"}]},\"parameter-object-binding-element\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))\",\"end\":\"(?=[,}])\",\"patterns\":[{\"include\":\"#object-binding-element-propertyName\"},{\"include\":\"#parameter-binding-element\"},{\"include\":\"#paren-expression\"}]},{\"include\":\"#parameter-object-binding-pattern\"},{\"include\":\"#destructuring-parameter-rest\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#punctuation-comma\"}]},\"parameter-object-binding-pattern\":{\"begin\":\"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.rest.ts\"},\"2\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.binding-pattern.object.ts\"}},\"patterns\":[{\"include\":\"#parameter-object-binding-element\"}]},\"parameter-type-annotation\":{\"patterns\":[{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?=[),])|(?==[^>])\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]}]},\"paren-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"paren-expression-possibly-arrow\":{\"patterns\":[{\"begin\":\"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#paren-expression-possibly-arrow-with-typeparameters\"}]},{\"begin\":\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.async.ts\"}},\"end\":\"(?<=\\\\))\",\"patterns\":[{\"include\":\"#paren-expression-possibly-arrow-with-typeparameters\"}]},{\"include\":\"#possibly-arrow-return-type\"}]},\"paren-expression-possibly-arrow-with-typeparameters\":{\"patterns\":[{\"include\":\"#type-parameters\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"patterns\":[{\"include\":\"#expression-inside-possibly-arrow-parens\"}]}]},\"possibly-arrow-return-type\":{\"begin\":\"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\"}},\"contentName\":\"meta.arrow.ts meta.return.type.arrow.ts\",\"end\":\"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))\",\"patterns\":[{\"include\":\"#arrow-return-type-body\"}]},\"property-accessor\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.type.property.ts\"},\"punctuation-accessor\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d))\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.separator.comma.ts\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.ts\"},\"qstring-double\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(\\\")|([^\\\\n\\\\\\\\])$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.double.ts\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"qstring-single\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(')|([^\\\\n\\\\\\\\])$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"invalid.illegal.newline.ts\"}},\"name\":\"string.quoted.single.ts\",\"patterns\":[{\"include\":\"#string-character-escape\"}]},\"regex\":{\"patterns\":[{\"begin\":\"(?<!\\\\+\\\\+|--|})(?<=[!(+,:=?\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(/)([dgimsuvy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"keyword.other.ts\"}},\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"((?<![]$)_[:alnum:]]|\\\\+\\\\+|--|}|\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\s*)/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ts\"}},\"end\":\"(/)([dgimsuvy]*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.ts\"},\"2\":{\"name\":\"keyword.other.ts\"}},\"name\":\"string.regexp.ts\",\"patterns\":[{\"include\":\"#regexp\"}]}]},\"regex-character-class\":{\"patterns\":[{\"match\":\"\\\\\\\\[DSWdfnrstvw]|\\\\.\",\"name\":\"constant.other.character-class.regexp\"},{\"match\":\"\\\\\\\\([0-7]{3}|x\\\\h{2}|u\\\\h{4})\",\"name\":\"constant.character.numeric.regexp\"},{\"match\":\"\\\\\\\\c[A-Z]\",\"name\":\"constant.character.control.regexp\"},{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.backslash.regexp\"}]},\"regexp\":{\"patterns\":[{\"match\":\"\\\\\\\\[Bb]|[$^]\",\"name\":\"keyword.control.anchor.regexp\"},{\"captures\":{\"0\":{\"name\":\"keyword.other.back-reference.regexp\"},\"1\":{\"name\":\"variable.other.regexp\"}},\"match\":\"\\\\\\\\(?:[1-9]\\\\d*|k<([$A-Z_a-z][$\\\\w]*)>)\"},{\"match\":\"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??\",\"name\":\"keyword.operator.quantifier.regexp\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.or.regexp\"},{\"begin\":\"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?<!))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"},\"2\":{\"name\":\"punctuation.definition.group.assertion.regexp\"},\"3\":{\"name\":\"meta.assertion.look-ahead.regexp\"},\"4\":{\"name\":\"meta.assertion.negative-look-ahead.regexp\"},\"5\":{\"name\":\"meta.assertion.look-behind.regexp\"},\"6\":{\"name\":\"meta.assertion.negative-look-behind.regexp\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.assertion.regexp\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"\\\\((?:(\\\\?:)|\\\\?<([$A-Z_a-z][$\\\\w]*)>)?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"},\"1\":{\"name\":\"punctuation.definition.group.no-capture.regexp\"},\"2\":{\"name\":\"variable.other.regexp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.group.regexp\"}},\"name\":\"meta.group.regexp\",\"patterns\":[{\"include\":\"#regexp\"}]},{\"begin\":\"(\\\\[)(\\\\^)?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"},\"2\":{\"name\":\"keyword.operator.negation.regexp\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.character-class.regexp\"}},\"name\":\"constant.other.character-class.set.regexp\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.numeric.regexp\"},\"2\":{\"name\":\"constant.character.control.regexp\"},\"3\":{\"name\":\"constant.character.escape.backslash.regexp\"},\"4\":{\"name\":\"constant.character.numeric.regexp\"},\"5\":{\"name\":\"constant.character.control.regexp\"},\"6\":{\"name\":\"constant.character.escape.backslash.regexp\"}},\"match\":\"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))\",\"name\":\"constant.other.character-class.range.regexp\"},{\"include\":\"#regex-character-class\"}]},{\"include\":\"#regex-character-class\"}]},\"return-type\":{\"patterns\":[{\"begin\":\"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])(?=$|^|[,;{}]|//)\",\"name\":\"meta.return.type.ts\",\"patterns\":[{\"include\":\"#return-type-core\"}]},{\"begin\":\"(?<=\\\\))\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])((?=[,;{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))\",\"name\":\"meta.return.type.ts\",\"patterns\":[{\"include\":\"#return-type-core\"}]}]},\"return-type-core\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=[\\\\&:|])(?=\\\\s*\\\\{)\",\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"shebang\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.ts\"}},\"match\":\"\\\\A(#!).*(?=$)\",\"name\":\"comment.line.shebang.ts\"},\"single-line-comment-consuming-line-ending\":{\"begin\":\"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.ts\"},\"2\":{\"name\":\"comment.line.double-slash.ts\"},\"3\":{\"name\":\"punctuation.definition.comment.ts\"},\"4\":{\"name\":\"storage.type.internaldeclaration.ts\"},\"5\":{\"name\":\"punctuation.decorator.internaldeclaration.ts\"}},\"contentName\":\"comment.line.double-slash.ts\",\"end\":\"(?=^)\"},\"statements\":{\"patterns\":[{\"include\":\"#declaration\"},{\"include\":\"#control-statement\"},{\"include\":\"#after-operator-block-as-object-literal\"},{\"include\":\"#decl-block\"},{\"include\":\"#label\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#string\"},{\"include\":\"#comment\"}]},\"string\":{\"patterns\":[{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template\"}]},\"string-character-escape\":{\"match\":\"\\\\\\\\(x\\\\h{2}|u\\\\h{4}|u\\\\{\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\",\"name\":\"constant.character.escape.ts\"},\"super-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))super\\\\b(?!\\\\$)\",\"name\":\"variable.language.super.ts\"},\"support-function-call-identifiers\":{\"patterns\":[{\"include\":\"#literal\"},{\"include\":\"#support-objects\"},{\"include\":\"#object-identifiers\"},{\"include\":\"#punctuation-accessor\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\(\\\\s*[\\\"'`])\",\"name\":\"keyword.operator.expression.import.ts\"}]},\"support-objects\":{\"patterns\":[{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(arguments)\\\\b(?!\\\\$)\",\"name\":\"variable.language.arguments.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(Promise)\\\\b(?!\\\\$)\",\"name\":\"support.class.promise.ts\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.import.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"},\"4\":{\"name\":\"support.variable.property.importmeta.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(import)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(meta)\\\\b(?!\\\\$)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.new.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"},\"4\":{\"name\":\"support.variable.property.target.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(target)\\\\b(?!\\\\$)\"},{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.ts\"},\"2\":{\"name\":\"punctuation.accessor.optional.ts\"},\"3\":{\"name\":\"support.variable.property.ts\"},\"4\":{\"name\":\"support.constant.ts\"}},\"match\":\"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(constructor|length|prototype|__proto__)\\\\b(?!\\\\$|\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))\"},{\"captures\":{\"1\":{\"name\":\"support.type.object.module.ts\"},\"2\":{\"name\":\"support.type.object.module.ts\"},\"3\":{\"name\":\"punctuation.accessor.ts\"},\"4\":{\"name\":\"punctuation.accessor.optional.ts\"},\"5\":{\"name\":\"support.type.object.module.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(exports)|(module)(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\b(?!\\\\$)\"}]},\"switch-statement\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bswitch\\\\s*\\\\()\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"switch-statement.expr.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(switch)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.ts\"},\"2\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"switch-expression.expr.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"(?=})\",\"name\":\"switch-block.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.switch.ts\"}},\"end\":\"(?=:)\",\"name\":\"case-clause.expr.ts\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(:)\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\"},\"2\":{\"name\":\"meta.block.ts punctuation.definition.block.ts\"}},\"contentName\":\"meta.block.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"meta.block.ts punctuation.definition.block.ts\"}},\"patterns\":[{\"include\":\"#statements\"}]},{\"captures\":{\"0\":{\"name\":\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\"}},\"match\":\"(:)\"},{\"include\":\"#statements\"}]}]},\"template\":{\"patterns\":[{\"include\":\"#template-call\"},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"},\"2\":{\"name\":\"string.template.ts punctuation.definition.string.template.begin.ts\"}},\"contentName\":\"string.template.ts\",\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.ts punctuation.definition.string.template.end.ts\"}},\"patterns\":[{\"include\":\"#template-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-call\":{\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"end\":\"(?=`)\",\"patterns\":[{\"begin\":\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\",\"end\":\"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)\",\"patterns\":[{\"include\":\"#support-function-call-identifiers\"},{\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"name\":\"entity.name.function.tagged-template.ts\"}]},{\"include\":\"#type-arguments\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"}},\"end\":\"(?=`)\",\"patterns\":[{\"include\":\"#type-arguments\"}]}]},\"template-substitution-element\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"meta.embedded.line.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"name\":\"meta.template.expression.ts\",\"patterns\":[{\"include\":\"#expression\"}]},\"template-type\":{\"patterns\":[{\"include\":\"#template-call\"},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tagged-template.ts\"},\"2\":{\"name\":\"string.template.ts punctuation.definition.string.template.begin.ts\"}},\"contentName\":\"string.template.ts\",\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"string.template.ts punctuation.definition.string.template.end.ts\"}},\"patterns\":[{\"include\":\"#template-type-substitution-element\"},{\"include\":\"#string-character-escape\"}]}]},\"template-type-substitution-element\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.ts\"}},\"contentName\":\"meta.embedded.line.ts\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.ts\"}},\"name\":\"meta.template.expression.ts\",\"patterns\":[{\"include\":\"#type\"}]},\"ternary-expression\":{\"begin\":\"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"end\":\"\\\\s*(:)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.operator.ternary.ts\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"this-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))this\\\\b(?!\\\\$)\",\"name\":\"variable.language.this.ts\"},\"type\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-string\"},{\"include\":\"#numeric-literal\"},{\"include\":\"#type-primitive\"},{\"include\":\"#type-builtin-literals\"},{\"include\":\"#type-parameters\"},{\"include\":\"#type-tuple\"},{\"include\":\"#type-object\"},{\"include\":\"#type-operators\"},{\"include\":\"#type-conditional\"},{\"include\":\"#type-fn-type-parameters\"},{\"include\":\"#type-paren-or-function-parameters\"},{\"include\":\"#type-function-return-type\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\"},{\"include\":\"#type-name\"}]},\"type-alias-declaration\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(type)\\\\b\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.type.ts\"},\"4\":{\"name\":\"entity.name.type.alias.ts\"}},\"end\":\"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"name\":\"meta.type.declaration.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"},{\"begin\":\"(=)\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"},\"2\":{\"name\":\"keyword.control.intrinsic.ts\"}},\"end\":\"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#type\"}]}]},\"type-annotation\":{\"patterns\":[{\"begin\":\"(:)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])(?!\\\\s*[\\\\&|]\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]},{\"begin\":\"(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.annotation.ts\"}},\"end\":\"(?<![\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))\",\"name\":\"meta.type.annotation.ts\",\"patterns\":[{\"include\":\"#type\"}]}]},\"type-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#type-arguments-body\"}]},\"type-arguments-body\":{\"patterns\":[{\"captures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"type-builtin-literals\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"support.type.builtin.ts\"},\"type-conditional\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"}},\"end\":\"(?<=:)\",\"patterns\":[{\"begin\":\"\\\\?\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.ts\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.ternary.ts\"}},\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#type\"}]}]},\"type-fn-type-parameters\":{\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b(?=\\\\s*<)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.type.constructor.ts storage.modifier.ts\"},\"2\":{\"name\":\"meta.type.constructor.ts keyword.control.new.ts\"}},\"end\":\"(?<=>)\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#type-parameters\"}]},{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.control.new.ts\"}},\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.constructor.ts\",\"patterns\":[{\"include\":\"#function-parameters\"}]},{\"begin\":\"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))\",\"end\":\"(?<=\\\\))\",\"name\":\"meta.type.function.ts\",\"patterns\":[{\"include\":\"#function-parameters\"}]}]},\"type-function-return-type\":{\"patterns\":[{\"begin\":\"(=>)(?=\\\\s*\\\\S)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.arrow.ts\"}},\"end\":\"(?<!=>)(?<![\\\\&|])(?=[]),:;=>?{}]|//|$)\",\"name\":\"meta.type.function.return.ts\",\"patterns\":[{\"include\":\"#type-function-return-type-core\"}]},{\"begin\":\"=>\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.function.arrow.ts\"}},\"end\":\"(?<!=>)(?<![\\\\&|])((?=[]),:;=>?{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))\",\"name\":\"meta.type.function.return.ts\",\"patterns\":[{\"include\":\"#type-function-return-type-core\"}]}]},\"type-function-return-type-core\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<==>)(?=\\\\s*\\\\{)\",\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"include\":\"#type-predicate-operator\"},{\"include\":\"#type\"}]},\"type-infer\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.infer.ts\"},\"2\":{\"name\":\"entity.name.type.ts\"},\"3\":{\"name\":\"keyword.operator.expression.extends.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(infer)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))?\",\"name\":\"meta.type.infer.ts\"}]},\"type-name\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(<)\",\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"},\"4\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\"}},\"contentName\":\"meta.type.parameters.ts\",\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\"}},\"patterns\":[{\"include\":\"#type-arguments-body\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.ts\"},\"2\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\"}},\"contentName\":\"meta.type.parameters.ts\",\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\"}},\"patterns\":[{\"include\":\"#type-arguments-body\"}]},{\"captures\":{\"1\":{\"name\":\"entity.name.type.module.ts\"},\"2\":{\"name\":\"punctuation.accessor.ts\"},\"3\":{\"name\":\"punctuation.accessor.optional.ts\"}},\"match\":\"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\"},{\"match\":\"[$_[:alpha:]][$_[:alnum:]]*\",\"name\":\"entity.name.type.ts\"}]},\"type-object\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.block.ts\"}},\"name\":\"meta.object.type.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#method-declaration\"},{\"include\":\"#indexer-declaration\"},{\"include\":\"#indexer-mapped-type-declaration\"},{\"include\":\"#field-declaration\"},{\"include\":\"#type-annotation\"},{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.ts\"}},\"end\":\"(?=[,;}]|$)|(?<=})\",\"patterns\":[{\"include\":\"#type\"}]},{\"include\":\"#punctuation-comma\"},{\"include\":\"#punctuation-semicolon\"},{\"include\":\"#type\"}]},\"type-operators\":{\"patterns\":[{\"include\":\"#typeof-operator\"},{\"include\":\"#type-infer\"},{\"begin\":\"([\\\\&|])(?=\\\\s*\\\\{)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"end\":\"(?<=})\",\"patterns\":[{\"include\":\"#type-object\"}]},{\"begin\":\"[\\\\&|]\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.keyof.ts\"},{\"match\":\"([:?])\",\"name\":\"keyword.operator.ternary.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\()\",\"name\":\"keyword.operator.expression.import.ts\"}]},\"type-parameters\":{\"begin\":\"(<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.begin.ts\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.typeparameters.end.ts\"}},\"name\":\"meta.type.parameters.ts\",\"patterns\":[{\"include\":\"#comment\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"storage.modifier.ts\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"},{\"match\":\"(=)(?!>)\",\"name\":\"keyword.operator.assignment.ts\"}]},\"type-paren-or-function-parameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.round.ts\"}},\"name\":\"meta.type.paren.cover.ts\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"entity.name.function.ts variable.language.this.ts\"},\"4\":{\"name\":\"entity.name.function.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=\\\\s*(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.ts\"},\"2\":{\"name\":\"keyword.operator.rest.ts\"},\"3\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"4\":{\"name\":\"variable.parameter.ts\"},\"5\":{\"name\":\"keyword.operator.optional.ts\"}},\"match\":\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=:)\"},{\"include\":\"#type-annotation\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameter.ts\"},{\"include\":\"#type\"}]},\"type-predicate-operator\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.asserts.ts\"},\"2\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"3\":{\"name\":\"variable.parameter.ts\"},\"4\":{\"name\":\"keyword.operator.expression.is.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(asserts)\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.asserts.ts\"},\"2\":{\"name\":\"variable.parameter.ts variable.language.this.ts\"},\"3\":{\"name\":\"variable.parameter.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(asserts)\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.type.asserts.ts\"},{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"keyword.operator.expression.is.ts\"}]},\"type-primitive\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"support.type.primitive.ts\"},\"type-string\":{\"patterns\":[{\"include\":\"#qstring-single\"},{\"include\":\"#qstring-double\"},{\"include\":\"#template-type\"}]},\"type-tuple\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"meta.brace.square.ts\"}},\"name\":\"meta.type.tuple.ts\",\"patterns\":[{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.rest.ts\"},{\"captures\":{\"1\":{\"name\":\"entity.name.label.ts\"},\"2\":{\"name\":\"keyword.operator.optional.ts\"},\"3\":{\"name\":\"punctuation.separator.label.ts\"}},\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\?)?\\\\s*(:)\"},{\"include\":\"#type\"},{\"include\":\"#punctuation-comma\"}]},\"typeof-operator\":{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.expression.typeof.ts\"}},\"end\":\"(?=[]\\\\&),:;=>?{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)\",\"patterns\":[{\"include\":\"#type-arguments\"},{\"include\":\"#expression\"}]},\"undefined-literal\":{\"match\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\",\"name\":\"constant.language.undefined.ts\"},\"var-expr\":{\"patterns\":[{\"begin\":\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"end\":\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#destructuring-variable\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*(?=$|//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.ts\"}},\"end\":\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#destructuring-variable\"},{\"include\":\"#var-single-variable\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]},{\"begin\":\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#destructuring-const\"},{\"include\":\"#var-single-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*(?=$|//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.ts\"}},\"end\":\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#destructuring-const\"},{\"include\":\"#var-single-const\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]},{\"begin\":\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\s+|[^$._[:alnum:]]await\\\\s+)using)(?=\\\\s*$)))\",\"name\":\"meta.var.expr.ts\",\"patterns\":[{\"begin\":\"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.export.ts\"},\"2\":{\"name\":\"storage.modifier.ts\"},\"3\":{\"name\":\"storage.type.ts\"}},\"end\":\"(?=\\\\S)\"},{\"include\":\"#var-single-const\"},{\"include\":\"#variable-initializer\"},{\"include\":\"#comment\"},{\"begin\":\"(,)\\\\s*((?!\\\\S)|(?=//))\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.comma.ts\"}},\"end\":\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))\",\"patterns\":[{\"include\":\"#single-line-comment-consuming-line-ending\"},{\"include\":\"#comment\"},{\"include\":\"#var-single-const\"},{\"include\":\"#punctuation-comma\"}]},{\"include\":\"#punctuation-comma\"}]}]},\"var-single-const\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]}]},\"var-single-variable\":{\"patterns\":[{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\\"'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\\"([^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts entity.name.function.ts\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"begin\":\"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.constant.ts\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]},{\"begin\":\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\",\"beginCaptures\":{\"1\":{\"name\":\"meta.definition.variable.ts variable.other.readwrite.ts\"},\"2\":{\"name\":\"keyword.operator.definiteassignment.ts\"}},\"end\":\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))\",\"name\":\"meta.var-single-variable.expr.ts\",\"patterns\":[{\"include\":\"#var-single-variable-type-annotation\"}]}]},\"var-single-variable-type-annotation\":{\"patterns\":[{\"include\":\"#type-annotation\"},{\"include\":\"#string\"},{\"include\":\"#comment\"}]},\"variable-initializer\":{\"patterns\":[{\"begin\":\"(?<![!=])(=)(?!=)(?=\\\\s*\\\\S)(?!\\\\s*.*=>\\\\s*$)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))\",\"patterns\":[{\"include\":\"#expression\"}]},{\"begin\":\"(?<![!=])(=)(?!=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.ts\"}},\"end\":\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))|(?=^\\\\s*$)|(?<![-\\\\&*+/|])(?<=\\\\S)(?<!=)(?=\\\\s*$)\",\"patterns\":[{\"include\":\"#expression\"}]}]}},\"scopeName\":\"source.ts\",\"aliases\":[\"ts\",\"cts\",\"mts\"]}"))
2
2
 
3
3
  export default [
4
4
  lang