@nuxt/devtools-nightly 2.0.0-28980754.13f6fd0 → 2.0.0-28994861.d6e2583
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.
- package/dist/chunks/module-main.mjs +3 -2
- package/dist/client/200.html +23 -23
- package/dist/client/404.html +23 -23
- package/dist/client/_nuxt/__blank-ld6vcstp.js +1 -0
- package/dist/client/_nuxt/acad01t0.js +17 -0
- package/dist/client/_nuxt/{analyze-build-iq7xh3z1.js → analyze-build-fqlgmp0b.js} +1 -1
- package/dist/client/_nuxt/{assets-gh0s06d1.js → assets-cbko7l2l.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/1b7ac8d3-8a5e-4fdc-9d27-275eda520648.json +1 -0
- package/dist/client/_nuxt/{client-kpmlv67d.js → client-edufhzwa.js} +1 -1
- package/dist/client/_nuxt/{code-diff.vue-n76oqanv.js → code-diff.vue-f9cnbhzc.js} +1 -1
- package/dist/client/_nuxt/{code-snippets.vue-mo56dnf7.js → code-snippets.vue-lrwojb4h.js} +1 -1
- package/dist/client/_nuxt/{components-lsb65kqi.js → components-h5b91akq.js} +1 -1
- package/dist/client/_nuxt/{composable-item.vue-ou7mghhp.js → composable-item.vue-fdcr7ss7.js} +1 -1
- package/dist/client/_nuxt/{custom-_name_-jtqok9n0.js → custom-_name_-km7litcg.js} +1 -1
- package/dist/client/_nuxt/{data-schema-button.vue-c1grymka.js → data-schema-button.vue-mtwh5suc.js} +1 -1
- package/dist/client/_nuxt/data-schema-drawer-du5ak03s.js +2 -0
- package/dist/client/_nuxt/{default-g4qh1jek.js → default-jkfq6jr9.js} +1 -1
- package/dist/client/_nuxt/{duration-display.vue-dzttyi5n.js → duration-display.vue-gu7el5x3.js} +1 -1
- package/dist/client/_nuxt/{entry.css-mj1nvcy6.css → entry.css-jfo9gib8.css} +1 -1
- package/dist/client/_nuxt/{error-404-kkixf30c.js → error-404-m6fhf98f.js} +1 -1
- package/dist/client/_nuxt/error-404.css-fhr5m6vx.css +1 -0
- package/dist/client/_nuxt/{error-500-m1ccut5u.js → error-500-mnjkar2r.js} +1 -1
- package/dist/client/_nuxt/error-500.css-cx0169ub.css +1 -0
- package/dist/client/_nuxt/{error-ow5xdwzf.js → error-ljlxlkq6.js} +1 -1
- package/dist/client/_nuxt/{filepath-item.vue-emq61mdv.js → filepath-item.vue-jteqhbym.js} +1 -1
- package/dist/client/_nuxt/full-fmvt90u3.js +1 -0
- package/dist/client/_nuxt/{help-fab.vue-pnejmv3y.js → help-fab.vue-l8z6nz69.js} +1 -1
- package/dist/client/_nuxt/{hooks-mgy9fbq4.js → hooks-l6hy41d5.js} +1 -1
- package/dist/client/_nuxt/{imports-hjuvh4if.js → imports-djs3fv7k.js} +1 -1
- package/dist/client/_nuxt/{index-g2a9x4et.js → index-isy4x1zk.js} +1 -1
- package/dist/client/_nuxt/launch-page.vue-m36wh07r.js +1 -0
- package/dist/client/_nuxt/modules-eqx4mvkj.js +1 -0
- package/dist/client/_nuxt/nbadge-iie5ebea.js +1 -0
- package/dist/client/_nuxt/{ncheckbox.vue-n4yvgmy3.js → ncheckbox.vue-hsio0xo0.js} +1 -1
- package/dist/client/_nuxt/{ncode-block.vue-dt6krs6h.js → ncode-block.vue-msaaoy71.js} +1 -1
- package/dist/client/_nuxt/{ndrawer.vue-dekxbytt.js → ndrawer.vue-lxe9449e.js} +1 -1
- package/dist/client/_nuxt/ndropdown.vue-fg4qqvpn.js +1 -0
- package/dist/client/_nuxt/{nicon-title.vue-hzhi6u0u.js → nicon-title.vue-j1ceohu1.js} +1 -1
- package/dist/client/_nuxt/{nlink.vue-mgfv3kxu.js → nlink.vue-h4d6zo87.js} +1 -1
- package/dist/client/_nuxt/{nmarkdown.vue-jpbjhala.js → nmarkdown.vue-oxfi26vk.js} +1 -1
- package/dist/client/_nuxt/{nnavbar.vue-ifbz2rxx.js → nnavbar.vue-m6cf24fa.js} +1 -1
- package/dist/client/_nuxt/none-w92i5kpk.js +1 -0
- package/dist/client/_nuxt/{nsection-block-c3li7360.js → nsection-block-j4awv0k4.js} +1 -1
- package/dist/client/_nuxt/{nselect-tabs.vue-7ode1s40.js → nselect-tabs.vue-m7y9xr5j.js} +1 -1
- package/dist/client/_nuxt/{nselect.vue-g1dfz7uv.js → nselect.vue-ns9nms6j.js} +1 -1
- package/dist/client/_nuxt/{nswitch.vue-iu20lc9i.js → nswitch.vue-l8xqfho0.js} +1 -1
- package/dist/client/_nuxt/{open-graph-fqsf6nxz.js → open-graph-kkdf0nia.js} +1 -1
- package/dist/client/_nuxt/{overview-fu25jfez.js → overview-hdsksmkk.js} +1 -1
- package/dist/client/_nuxt/{pages-krmwwon2.js → pages-ksiceycf.js} +1 -1
- package/dist/client/_nuxt/{payload-brwibidn.js → payload-lv00tqsw.js} +1 -1
- package/dist/client/_nuxt/pinia-ixzbsb3t.js +1 -0
- package/dist/client/_nuxt/{plugins-ct1odttb.js → plugins-mpy2qpq3.js} +1 -1
- package/dist/client/_nuxt/render-tree-ci9wg23h.js +1 -0
- package/dist/client/_nuxt/{runtime-configs-n2sp6jan.js → runtime-configs-nrwa1kqq.js} +1 -1
- package/dist/client/_nuxt/{server-discovery-jimy0pfh.js → server-discovery-nynjnb91.js} +1 -1
- package/dist/client/_nuxt/{server-route-inputs.vue-ldyagniy.js → server-route-inputs.vue-hjq5i7um.js} +1 -1
- package/dist/client/_nuxt/{server-routes-hly5t016.js → server-routes-ni4dketr.js} +2 -2
- package/dist/client/_nuxt/{server-tasks-morkovw5.js → server-tasks-h63b0d8g.js} +1 -1
- package/dist/client/_nuxt/{settings-ic9nbnp8.js → settings-pd1b5hup.js} +1 -1
- package/dist/client/_nuxt/{stacktrace-list.vue-nqi994si.js → stacktrace-list.vue-i09nx4tx.js} +1 -1
- package/dist/client/_nuxt/{state-components-ka9yswzm.js → state-components-krs67u9s.js} +1 -1
- package/dist/client/_nuxt/state-editor.vue-ji5p8iwi.js +1 -0
- package/dist/client/_nuxt/{state-modules-fi6koj0q.js → state-modules-jr1gc8aq.js} +1 -1
- package/dist/client/_nuxt/{storage-kce0wh6l.js → storage-o8ue9npr.js} +1 -1
- package/dist/client/_nuxt/{terminals-bz0knva4.js → terminals-n14qkg4d.js} +1 -1
- package/dist/client/_nuxt/{timeline-eie3snk2.js → timeline-fhd8y3t4.js} +1 -1
- package/dist/client/_nuxt/{unocss-runtime-cb61k1ql.js → unocss-runtime-gc1hqonm.js} +1 -1
- package/dist/client/_nuxt/vendor/json-editor-vue-npezbdce.js +3818 -0
- package/dist/client/_nuxt/vendor/{quicktype-core-lnbp3n5r.js → quicktype-core-i8ym98gu.js} +1 -1
- package/dist/client/_nuxt/vendor/{shiki-bpva4tco.js → shiki-du3ou1on.js} +2 -2
- package/dist/client/_nuxt/vendor/{unocss-mstcul8h.js → unocss-hjqyvvq7.js} +2 -2
- package/dist/client/_nuxt/{virtual-files-ffma32j9.js → virtual-files-co0rkquj.js} +1 -1
- package/dist/client/_nuxt/vue-devtools-hmost1g2.js +2 -0
- package/dist/client/_nuxt/{vue-virtual-scroller.esm-ryb7s73q.js → vue-virtual-scroller.esm-guzt9iin.js} +1 -1
- package/dist/client/index.html +23 -23
- package/dist/module.d.mts +1 -1
- package/dist/module.d.ts +1 -1
- package/dist/module.json +1 -1
- package/dist/runtime/plugins/view/Main.vue +1 -1
- package/dist/runtime/plugins/view/client.js +8 -5
- package/dist/shared/{devtools-nightly.2a48a9e5.d.mts → devtools-nightly.2e078e30.d.mts} +4 -0
- package/dist/shared/{devtools-nightly.2a48a9e5.d.ts → devtools-nightly.2e078e30.d.ts} +4 -0
- package/dist/types.d.mts +1 -1
- package/dist/types.d.ts +1 -1
- package/package.json +27 -27
- package/dist/client/_nuxt/__blank-lg13rweu.js +0 -1
- package/dist/client/_nuxt/builds/meta/49cca9aa-555f-4765-adf5-305615694a06.json +0 -1
- package/dist/client/_nuxt/data-schema-drawer-d4rpskxd.js +0 -2
- package/dist/client/_nuxt/e6dj4v2s.js +0 -17
- package/dist/client/_nuxt/error-404.css-fwe7gpvk.css +0 -1
- package/dist/client/_nuxt/error-500.css-djemplc9.css +0 -1
- package/dist/client/_nuxt/full-nu44fgoz.js +0 -1
- package/dist/client/_nuxt/index-ioxrnncp.js +0 -2
- package/dist/client/_nuxt/launch-page.vue-kdqfy3so.js +0 -1
- package/dist/client/_nuxt/modules-k3t829jl.js +0 -1
- package/dist/client/_nuxt/nbadge-drglxech.js +0 -1
- package/dist/client/_nuxt/ndropdown.vue-ftpt7kxg.js +0 -1
- package/dist/client/_nuxt/none-vukmnfqm.js +0 -1
- package/dist/client/_nuxt/pinia-jwh05bbu.js +0 -1
- package/dist/client/_nuxt/render-tree-btmc22jz.js +0 -1
- package/dist/client/_nuxt/state-editor.vue-nbrmuzl0.js +0 -1
- package/dist/client/_nuxt/vendor/json-editor-vue-kcahofzr.js +0 -3818
|
@@ -141,8 +141,8 @@ XID_Start XIDS`.split(/\s/)),Ro=new Map;for(const t of Io)Ro.set(ms(t),t);var Oo
|
|
|
141
141
|
| ${gs}
|
|
142
142
|
| &&
|
|
143
143
|
| .
|
|
144
|
-
`.replace(/\s+/g,""),"gsu");var k=class hn extends RegExp{#e=new Map;#t=null;#a;#n=null;#s=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(e,n,a){const s=!!a?.lazyCompile;if(e instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");const i=e;super(i,n),this.#a=i.source,i instanceof hn&&(this.#e=i.#e,this.#n=i.#n,this.#s=i.#s,this.rawOptions=i.rawOptions)}else{const i={hiddenCaptures:[],strategy:null,transfers:[],...a};super(s?"":e,n),this.#a=e,this.#e=Zo(i.hiddenCaptures,i.transfers),this.#s=i.strategy,this.rawOptions=a??{}}s||(this.#t=this)}exec(e){if(!this.#t){const{lazyCompile:s,...i}=this.rawOptions;this.#t=new hn(this.#a,this.flags,i)}const n=this.global||this.sticky,a=this.lastIndex;if(this.#s==="clip_search"&&n&&a){this.lastIndex=0;const s=this.#i(e.slice(a));return s&&(Ho(s,a,e,this.hasIndices),this.lastIndex+=a),s}return this.#i(e)}#i(e){this.#t.lastIndex=this.lastIndex;const n=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!n||!this.#e.size)return n;const a=[...n];n.length=1;let s;this.hasIndices&&(s=[...n.indices],n.indices.length=1);const i=[0];for(let r=1;r<a.length;r++){const{hidden:o,transferTo:p}=this.#e.get(r)??{};if(o?i.push(null):(i.push(n.length),n.push(a[r]),this.hasIndices&&n.indices.push(s[r])),p&&a[r]!==void 0){const c=Mo(i[p]);if(n[c]=a[r],this.hasIndices&&(n.indices[c]=s[r]),n.groups){this.#n||(this.#n=Wo(this.source));const l=this.#n.get(p);l&&(n.groups[l]=a[r],this.hasIndices&&(n.indices.groups[l]=s[r]))}}}return n}};function Ho(t,e,n,a){if(t.index+=e,t.input=n,a){const s=t.indices;for(let r=0;r<s.length;r++){const o=s[r];o&&(s[r]=[o[0]+e,o[1]+e])}const i=s.groups;i&&Object.keys(i).forEach(r=>{const o=i[r];o&&(i[r]=[o[0]+e,o[1]+e])})}}function Zo(t,e){const n=new Map;for(const a of t)n.set(a,{hidden:!0});for(const[a,s]of e)for(const i of s)zo(n,i,{}).transferTo=a;return n}function Wo(t){const e=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let a=0,s=0,i;for(;i=e.exec(t);){const{0:r,groups:{capture:o,name:p}}=i;r==="["?a++:a?r==="]"&&a--:o&&(s++,p&&n.set(s,p))}return n}const pa=4294967295;let Vo=class{constructor(e,n={}){this.patterns=e,this.options=n;const{forgiving:a=!1,cache:s,regexConstructor:i}=n;if(!i)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(r=>{if(typeof r!="string")return r;const o=s?.get(r);if(o){if(o instanceof RegExp)return o;if(a)return null;throw o}try{const p=i(r);return s?.set(r,p),p}catch(p){if(s?.set(r,p),a)return null;throw p}})}regexps;findNextMatchSync(e,n,a){const s=typeof e=="string"?e:e.content,i=[];function r(o,p,c=0){return{index:o,captureIndices:p.indices.map(l=>l==null?{start:pa,end:pa,length:0}:{start:l[0]+c,end:l[1]+c,length:l[1]-l[0]})}}for(let o=0;o<this.regexps.length;o++){const p=this.regexps[o];if(p)try{p.lastIndex=n;const c=p.exec(s);if(!c)continue;if(c.index===n)return r(o,c,0);i.push([o,c,0])}catch(c){if(this.options.forgiving)continue;throw c}}if(i.length){const o=Math.min(...i.map(p=>p[1].index));for(const[p,c,l]of i)if(c.index===o)return r(p,c,l)}return null}};function md(){const t={cache:new Map,regexConstructor:()=>{throw new Error("JavaScriptRawEngine: only support precompiled grammar")}};return{createScanner(e){return new Vo(e,t)},createString(e){return{content:e}}}}function Xo(t){return Array.isArray(t)?t:[t]}function St(t,e=!1){const n=t.split(/(\r?\n)/g);let a=0;const s=[];for(let i=0;i<n.length;i+=2){const r=e?n[i]+(n[i+1]||""):n[i];s.push([r,a]),a+=n[i].length,a+=n[i+1]?.length||0}return s}function Nn(t){return!t||["plaintext","txt","text","plain"].includes(t)}function bs(t){return t==="ansi"||Nn(t)}function Fn(t){return t==="none"}function fs(t){return Fn(t)}function ys(t,e){if(!e)return t;t.properties||={},t.properties.class||=[],typeof t.properties.class=="string"&&(t.properties.class=t.properties.class.split(/\s+/g)),Array.isArray(t.properties.class)||(t.properties.class=[]);const n=Array.isArray(e)?e:e.split(/\s+/g);for(const a of n)a&&!t.properties.class.includes(a)&&t.properties.class.push(a);return t}function Jo(t,e){let n=0;const a=[];for(const s of e)s>n&&a.push({...t,content:t.content.slice(n,s),offset:t.offset+n}),n=s;return n<t.content.length&&a.push({...t,content:t.content.slice(n),offset:t.offset+n}),a}function Yo(t,e){const n=Array.from(e instanceof Set?e:new Set(e)).sort((a,s)=>a-s);return n.length?t.map(a=>a.flatMap(s=>{const i=n.filter(r=>s.offset<r&&r<s.offset+s.content.length).map(r=>r-s.offset).sort((r,o)=>r-o);return i.length?Jo(s,i):s})):t}async function _s(t){return Promise.resolve(typeof t=="function"?t():t).then(e=>e.default||e)}function bt(t,e){const n=typeof t=="string"?{}:{...t.colorReplacements},a=typeof t=="string"?t:t.name;for(const[s,i]of Object.entries(e?.colorReplacements||{}))typeof i=="string"?n[s]=i:s===a&&Object.assign(n,i);return n}function ye(t,e){return t&&(e?.[t?.toLowerCase()]||t)}function $s(t){const e={};return t.color&&(e.color=t.color),t.bgColor&&(e["background-color"]=t.bgColor),t.fontStyle&&(t.fontStyle&G.Italic&&(e["font-style"]="italic"),t.fontStyle&G.Bold&&(e["font-weight"]="bold"),t.fontStyle&G.Underline&&(e["text-decoration"]="underline")),e}function Ko(t){return typeof t=="string"?t:Object.entries(t).map(([e,n])=>`${e}:${n}`).join(";")}function Qo(t){const e=St(t,!0).map(([s])=>s);function n(s){if(s===t.length)return{line:e.length-1,character:e[e.length-1].length};let i=s,r=0;for(const o of e){if(i<o.length)break;i-=o.length,r++}return{line:r,character:i}}function a(s,i){let r=0;for(let o=0;o<s;o++)r+=e[o].length;return r+=i,r}return{lines:e,indexToPos:n,posToIndex:a}}let Z=class extends Error{constructor(e){super(e),this.name="ShikiError"}};const vs=new WeakMap;function Et(t,e){vs.set(t,e)}function He(t){return vs.get(t)}let Bt=class ks{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(e,n){return new ks(Object.fromEntries(Xo(n).map(a=>[a,Se])),e)}constructor(...e){if(e.length===2){const[n,a]=e;this.lang=a,this._stacks=n}else{const[n,a,s]=e;this.lang=a,this._stacks={[s]:n}}}getInternalStack(e=this.theme){return this._stacks[e]}get scopes(){return ut("GrammarState.scopes is deprecated, use GrammarState.getScopes() instead"),ca(this._stacks[this.theme])}getScopes(e=this.theme){return ca(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function ca(t){const e=[],n=new Set;function a(s){if(n.has(s))return;n.add(s);const i=s?.nameScopesList?.scopeName;i&&e.push(i),s.parent&&a(s.parent)}return a(t),e}function ep(t,e){if(!(t instanceof Bt))throw new Z("Invalid grammar state");return t.getInternalStack(e)}function tp(){const t=new WeakMap;function e(n){if(!t.has(n.meta)){let a=function(r){if(typeof r=="number"){if(r<0||r>n.source.length)throw new Z(`Invalid decoration offset: ${r}. Code length: ${n.source.length}`);return{...s.indexToPos(r),offset:r}}else{const o=s.lines[r.line];if(o===void 0)throw new Z(`Invalid decoration position ${JSON.stringify(r)}. Lines length: ${s.lines.length}`);if(r.character<0||r.character>o.length)throw new Z(`Invalid decoration position ${JSON.stringify(r)}. Line ${r.line} length: ${o.length}`);return{...r,offset:s.posToIndex(r.line,r.character)}}};const s=Qo(n.source),i=(n.options.decorations||[]).map(r=>({...r,start:a(r.start),end:a(r.end)}));np(i),t.set(n.meta,{decorations:i,converter:s,source:n.source})}return t.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(!this.options.decorations?.length)return;const s=e(this).decorations.flatMap(r=>[r.start.offset,r.end.offset]);return Yo(n,s)},code(n){if(!this.options.decorations?.length)return;const a=e(this),s=Array.from(n.children).filter(l=>l.type==="element"&&l.tagName==="span");if(s.length!==a.converter.lines.length)throw new Z(`Number of lines in code element (${s.length}) does not match the number of lines in the source (${a.converter.lines.length}). Failed to apply decorations.`);function i(l,u,g,d){const m=s[l];let $="",h=-1,f=-1;if(u===0&&(h=0),g===0&&(f=0),g===Number.POSITIVE_INFINITY&&(f=m.children.length),h===-1||f===-1)for(let y=0;y<m.children.length;y++)$+=ws(m.children[y]),h===-1&&$.length===u&&(h=y+1),f===-1&&$.length===g&&(f=y+1);if(h===-1)throw new Z(`Failed to find start index for decoration ${JSON.stringify(d.start)}`);if(f===-1)throw new Z(`Failed to find end index for decoration ${JSON.stringify(d.end)}`);const b=m.children.slice(h,f);if(!d.alwaysWrap&&b.length===m.children.length)o(m,d,"line");else if(!d.alwaysWrap&&b.length===1&&b[0].type==="element")o(b[0],d,"token");else{const y={type:"element",tagName:"span",properties:{},children:b};o(y,d,"wrapper"),m.children.splice(h,b.length,y)}}function r(l,u){s[l]=o(s[l],u,"line")}function o(l,u,g){const d=u.properties||{},m=u.transform||($=>$);return l.tagName=u.tagName||"span",l.properties={...l.properties,...d,class:l.properties.class},u.properties?.class&&ys(l,u.properties.class),l=m(l,g)||l,l}const p=[],c=a.decorations.sort((l,u)=>u.start.offset-l.start.offset||l.end.offset-u.end.offset);for(const l of c){const{start:u,end:g}=l;if(u.line===g.line)i(u.line,u.character,g.character,l);else if(u.line<g.line){i(u.line,u.character,Number.POSITIVE_INFINITY,l);for(let d=u.line+1;d<g.line;d++)p.unshift(()=>r(d,l));i(g.line,0,g.character,l)}}p.forEach(l=>l())}}}function np(t){for(let e=0;e<t.length;e++){const n=t[e];if(n.start.offset>n.end.offset)throw new Z(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let a=e+1;a<t.length;a++){const s=t[a],i=n.start.offset<=s.start.offset&&s.start.offset<n.end.offset,r=n.start.offset<s.end.offset&&s.end.offset<=n.end.offset,o=s.start.offset<=n.start.offset&&n.start.offset<s.end.offset,p=s.start.offset<n.end.offset&&n.end.offset<=s.end.offset;if(i||r||o||p){if(i&&r||o&&p)continue;throw new Z(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(s.start)} intersect.`)}}}}function ws(t){return t.type==="text"?t.value:t.type==="element"?t.children.map(ws).join(""):""}const ap=[tp()];function ft(t){return[...t.transformers||[],...ap]}var _e=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Xt={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",9:"strikethrough"};function sp(t,e){const n=t.indexOf("\x1B[",e);if(n!==-1){const a=t.indexOf("m",n);return{sequence:t.substring(n+2,a).split(";"),startPosition:n,position:a+1}}return{position:t.length}}function la(t,e){let n=1;const a=t[e+n++];let s;if(a==="2"){const i=[t[e+n++],t[e+n++],t[e+n]].map(r=>Number.parseInt(r));i.length===3&&!i.some(r=>Number.isNaN(r))&&(s={type:"rgb",rgb:i})}else if(a==="5"){const i=Number.parseInt(t[e+n]);Number.isNaN(i)||(s={type:"table",index:Number(i)})}return[n,s]}function ip(t){const e=[];for(let n=0;n<t.length;n++){const a=t[n],s=Number.parseInt(a);if(!Number.isNaN(s))if(s===0)e.push({type:"resetAll"});else if(s<=9)Xt[s]&&e.push({type:"setDecoration",value:Xt[s]});else if(s<=29){const i=Xt[s-20];i&&e.push({type:"resetDecoration",value:i})}else if(s<=37)e.push({type:"setForegroundColor",value:{type:"named",name:_e[s-30]}});else if(s===38){const[i,r]=la(t,n);r&&e.push({type:"setForegroundColor",value:r}),n+=i}else if(s===39)e.push({type:"resetForegroundColor"});else if(s<=47)e.push({type:"setBackgroundColor",value:{type:"named",name:_e[s-40]}});else if(s===48){const[i,r]=la(t,n);r&&e.push({type:"setBackgroundColor",value:r}),n+=i}else s===49?e.push({type:"resetBackgroundColor"}):s>=90&&s<=97?e.push({type:"setForegroundColor",value:{type:"named",name:_e[s-90+8]}}):s>=100&&s<=107&&e.push({type:"setBackgroundColor",value:{type:"named",name:_e[s-100+8]}})}return e}function rp(){let t=null,e=null,n=new Set;return{parse(a){const s=[];let i=0;do{const r=sp(a,i),o=r.sequence?a.substring(i,r.startPosition):a.substring(i);if(o.length>0&&s.push({value:o,foreground:t,background:e,decorations:new Set(n)}),r.sequence){const p=ip(r.sequence);for(const c of p)c.type==="resetAll"?(t=null,e=null,n.clear()):c.type==="resetForegroundColor"?t=null:c.type==="resetBackgroundColor"?e=null:c.type==="resetDecoration"&&n.delete(c.value);for(const c of p)c.type==="setForegroundColor"?t=c.value:c.type==="setBackgroundColor"?e=c.value:c.type==="setDecoration"&&n.add(c.value)}i=r.position}while(i<a.length);return s}}}var op={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function pp(t=op){function e(o){return t[o]}function n(o){return`#${o.map(p=>Math.max(0,Math.min(p,255)).toString(16).padStart(2,"0")).join("")}`}let a;function s(){if(a)return a;a=[];for(let c=0;c<_e.length;c++)a.push(e(_e[c]));let o=[0,95,135,175,215,255];for(let c=0;c<6;c++)for(let l=0;l<6;l++)for(let u=0;u<6;u++)a.push(n([o[c],o[l],o[u]]));let p=8;for(let c=0;c<24;c++,p+=10)a.push(n([p,p,p]));return a}function i(o){return s()[o]}function r(o){switch(o.type){case"named":return e(o.name);case"rgb":return n(o.rgb);case"table":return i(o.index)}}return{value:r}}function cp(t,e,n){const a=bt(t,n),s=St(e),i=pp(Object.fromEntries(_e.map(o=>[o,t.colors?.[`terminal.ansi${o[0].toUpperCase()}${o.substring(1)}`]]))),r=rp();return s.map(o=>r.parse(o[0]).map(p=>{let c,l;p.decorations.has("reverse")?(c=p.background?i.value(p.background):t.bg,l=p.foreground?i.value(p.foreground):t.fg):(c=p.foreground?i.value(p.foreground):t.fg,l=p.background?i.value(p.background):void 0),c=ye(c,a),l=ye(l,a),p.decorations.has("dim")&&(c=lp(c));let u=G.None;return p.decorations.has("bold")&&(u|=G.Bold),p.decorations.has("italic")&&(u|=G.Italic),p.decorations.has("underline")&&(u|=G.Underline),{content:p.value,offset:o[1],color:c,bgColor:l,fontStyle:u}}))}function lp(t){const e=t.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);if(e)if(e[3]){const a=Math.round(Number.parseInt(e[3],16)/2).toString(16).padStart(2,"0");return`#${e[1]}${e[2]}${a}`}else return e[2]?`#${e[1]}${e[2]}80`:`#${Array.from(e[1]).map(a=>`${a}${a}`).join("")}80`;const n=t.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:t}function Sn(t,e,n={}){const{lang:a="text",theme:s=t.getLoadedThemes()[0]}=n;if(Nn(a)||Fn(s))return St(e).map(p=>[{content:p[0],offset:p[1]}]);const{theme:i,colorMap:r}=t.setTheme(s);if(a==="ansi")return cp(i,e,n);const o=t.getLanguage(a);if(n.grammarState){if(n.grammarState.lang!==o.name)throw new oe(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new oe(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return dp(e,o,i,r,n)}function up(...t){if(t.length===2)return He(t[1]);const[e,n,a={}]=t,{lang:s="text",theme:i=e.getLoadedThemes()[0]}=a;if(Nn(s)||Fn(i))throw new oe("Plain language does not have grammar state");if(s==="ansi")throw new oe("ANSI language does not have grammar state");const{theme:r,colorMap:o}=e.setTheme(i),p=e.getLanguage(s);return new Bt(yt(n,p,r,o,a).stateStack,p.name,r.name)}function dp(t,e,n,a,s){const i=yt(t,e,n,a,s),r=new Bt(yt(t,e,n,a,s).stateStack,e.name,n.name);return Et(i.tokens,r),i.tokens}function yt(t,e,n,a,s){const i=bt(n,s),{tokenizeMaxLineLength:r=0,tokenizeTimeLimit:o=500}=s,p=St(t);let c=s.grammarState?ep(s.grammarState,n.name)??Se:s.grammarContextCode!=null?yt(s.grammarContextCode,e,n,a,{...s,grammarState:void 0,grammarContextCode:void 0}).stateStack:Se,l=[];const u=[];for(let g=0,d=p.length;g<d;g++){const[m,$]=p[g];if(m===""){l=[],u.push([]);continue}if(r>0&&m.length>=r){l=[],u.push([{content:m,offset:$,color:"",fontStyle:0}]);continue}let h,f,b;s.includeExplanation&&(h=e.tokenizeLine(m,c),f=h.tokens,b=0);const y=e.tokenizeLine2(m,c,o),N=y.tokens.length/2;for(let A=0;A<N;A++){const E=y.tokens[2*A],O=A+1<N?y.tokens[2*A+2]:m.length;if(E===O)continue;const Le=y.tokens[2*A+1],It=ye(a[me.getForeground(Le)],i),Rt=me.getFontStyle(Le),he={content:m.substring(E,O),offset:$+E,color:It,fontStyle:Rt};if(s.includeExplanation){const qe=[];if(s.includeExplanation!=="scopeName")for(const q of n.settings){let V;switch(typeof q.scope){case"string":V=q.scope.split(/,/).map(be=>be.trim());break;case"object":V=q.scope;break;default:continue}qe.push({settings:q,selectors:V.map(be=>be.split(/ /))})}he.explanation=[];let Pe=0;for(;E+Pe<O;){const q=f[b],V=m.substring(q.startIndex,q.endIndex);Pe+=V.length,he.explanation.push({content:V,scopes:s.includeExplanation==="scopeName"?mp(q.scopes):gp(qe,q.scopes)}),b+=1}}l.push(he)}u.push(l),l=[],c=y.ruleStack}return{tokens:u,stateStack:c}}function mp(t){return t.map(e=>({scopeName:e}))}function gp(t,e){const n=[];for(let a=0,s=e.length;a<s;a++){const i=e[a];n[a]={scopeName:i,themeMatches:bp(t,i,e.slice(0,a))}}return n}function ua(t,e){return t===e||e.substring(0,t.length)===t&&e[t.length]==="."}function hp(t,e,n){if(!ua(t[t.length-1],e))return!1;let a=t.length-2,s=n.length-1;for(;a>=0&&s>=0;)ua(t[a],n[s])&&(a-=1),s-=1;return a===-1}function bp(t,e,n){const a=[];for(const{selectors:s,settings:i}of t)for(const r of s)if(hp(r,e,n)){a.push(i);break}return a}function xs(t,e,n){const a=Object.entries(n.themes).filter(p=>p[1]).map(p=>({color:p[0],theme:p[1]})),s=a.map(p=>{const c=Sn(t,e,{...n,theme:p.theme}),l=He(c),u=typeof p.theme=="string"?p.theme:p.theme.name;return{tokens:c,state:l,theme:u}}),i=fp(...s.map(p=>p.tokens)),r=i[0].map((p,c)=>p.map((l,u)=>{const g={content:l.content,variants:{},offset:l.offset};return"includeExplanation"in n&&n.includeExplanation&&(g.explanation=l.explanation),i.forEach((d,m)=>{const{content:$,explanation:h,offset:f,...b}=d[c][u];g.variants[a[m].color]=b}),g})),o=s[0].state?new Bt(Object.fromEntries(s.map(p=>[p.theme,p.state?.getInternalStack(p.theme)])),s[0].state.lang):void 0;return o&&Et(r,o),r}function fp(...t){const e=t.map(()=>[]),n=t.length;for(let a=0;a<t[0].length;a++){const s=t.map(p=>p[a]),i=e.map(()=>[]);e.forEach((p,c)=>p.push(i[c]));const r=s.map(()=>0),o=s.map(p=>p[0]);for(;o.every(p=>p);){const p=Math.min(...o.map(c=>c.content.length));for(let c=0;c<n;c++){const l=o[c];l.content.length===p?(i[c].push(l),r[c]+=1,o[c]=s[c][r[c]]):(i[c].push({...l,content:l.content.slice(0,p)}),o[c]={...l,content:l.content.slice(p),offset:l.offset+p})}}}return e}function _t(t,e,n){let a,s,i,r,o,p;if("themes"in n){const{defaultColor:c="light",cssVariablePrefix:l="--shiki-"}=n,u=Object.entries(n.themes).filter(h=>h[1]).map(h=>({color:h[0],theme:h[1]})).sort((h,f)=>h.color===c?-1:f.color===c?1:0);if(u.length===0)throw new oe("`themes` option must not be empty");const g=xs(t,e,n);if(p=He(g),c&&!u.find(h=>h.color===c))throw new oe(`\`themes\` option must contain the defaultColor key \`${c}\``);const d=u.map(h=>t.getTheme(h.theme)),m=u.map(h=>h.color);i=g.map(h=>h.map(f=>yp(f,m,l,c))),p&&Et(i,p);const $=u.map(h=>bt(h.theme,n));s=u.map((h,f)=>(f===0&&c?"":`${l+h.color}:`)+(ye(d[f].fg,$[f])||"inherit")).join(";"),a=u.map((h,f)=>(f===0&&c?"":`${l+h.color}-bg:`)+(ye(d[f].bg,$[f])||"inherit")).join(";"),r=`shiki-themes ${d.map(h=>h.name).join(" ")}`,o=c?void 0:[s,a].join(";")}else if("theme"in n){const c=bt(n.theme,n);i=Sn(t,e,n);const l=t.getTheme(n.theme);a=ye(l.bg,c),s=ye(l.fg,c),r=l.name,p=He(i)}else throw new oe("Invalid options, either `theme` or `themes` must be provided");return{tokens:i,fg:s,bg:a,themeName:r,rootStyle:o,grammarState:p}}function yp(t,e,n,a){const s={content:t.content,explanation:t.explanation,offset:t.offset},i=e.map(p=>$s(t.variants[p])),r=new Set(i.flatMap(p=>Object.keys(p))),o={};return i.forEach((p,c)=>{for(const l of r){const u=p[l]||"inherit";if(c===0&&a)o[l]=u;else{const g=l==="color"?"":l==="background-color"?"-bg":`-${l}`,d=n+e[c]+(l==="color"?"":g);o[d]=u}}}),s.htmlStyle=o,s}function $t(t,e,n,a={meta:{},options:n,codeToHast:(s,i)=>$t(t,s,i),codeToTokens:(s,i)=>_t(t,s,i)}){let s=e;for(const d of ft(n))s=d.preprocess?.call(a,s,n)||s;let{tokens:i,fg:r,bg:o,themeName:p,rootStyle:c,grammarState:l}=_t(t,s,n);const{mergeWhitespaces:u=!0}=n;u===!0?i=$p(i):u==="never"&&(i=vp(i));const g={...a,get source(){return s}};for(const d of ft(n))i=d.tokens?.call(g,i)||i;return _p(i,{...n,fg:r,bg:o,themeName:p,rootStyle:c},g,l)}function _p(t,e,n,a=He(t)){const s=ft(e),i=[],r={type:"root",children:[]},{structure:o="classic",tabindex:p="0"}=e;let c={type:"element",tagName:"pre",properties:{class:`shiki ${e.themeName||""}`,style:e.rootStyle||`background-color:${e.bg};color:${e.fg}`,...p!==!1&&p!=null?{tabindex:p.toString()}:{},...Object.fromEntries(Array.from(Object.entries(e.meta||{})).filter(([m])=>!m.startsWith("_")))},children:[]},l={type:"element",tagName:"code",properties:{},children:i};const u=[],g={...n,structure:o,addClassToHast:ys,get source(){return n.source},get tokens(){return t},get options(){return e},get root(){return r},get pre(){return c},get code(){return l},get lines(){return u}};if(t.forEach((m,$)=>{$&&(o==="inline"?r.children.push({type:"element",tagName:"br",properties:{},children:[]}):o==="classic"&&i.push({type:"text",value:`
|
|
145
|
-
`}));let h={type:"element",tagName:"span",properties:{class:"line"},children:[]},f=0;for(const b of m){let y={type:"element",tagName:"span",properties:{...b.htmlAttrs},children:[{type:"text",value:b.content}]};typeof b.htmlStyle=="string"&&ut("`htmlStyle` as a string is deprecated. Use an object instead.");const N=Ko(b.htmlStyle||$s(b));N&&(y.properties.style=N);for(const A of s)y=A?.span?.call(g,y,$+1,f,h,b)||y;o==="inline"?r.children.push(y):o==="classic"&&h.children.push(y),f+=b.content.length}if(o==="classic"){for(const b of s)h=b?.line?.call(g,h,$+1)||h;u.push(h),i.push(h)}}),o==="classic"){for(const m of s)l=m?.code?.call(g,l)||l;c.children.push(l);for(const m of s)c=m?.pre?.call(g,c)||c;r.children.push(c)}let d=r;for(const m of s)d=m?.root?.call(g,d)||d;return a&&Et(d,a),d}function $p(t){return t.map(e=>{const n=[];let a="",s=0;return e.forEach((i,r)=>{const p=!(i.fontStyle&&i.fontStyle&G.Underline);p&&i.content.match(/^\s+$/)&&e[r+1]?(s||(s=i.offset),a+=i.content):a?(p?n.push({...i,offset:s,content:a+i.content}):n.push({content:a,offset:s},i),s=0,a=""):n.push(i)}),n})}function vp(t){return t.map(e=>e.flatMap(n=>{if(n.content.match(/^\s+$/))return n;const a=n.content.match(/^(\s*)(.*?)(\s*)$/);if(!a)return n;const[,s,i,r]=a;if(!s&&!r)return n;const o=[{...n,offset:n.offset+s.length,content:i}];return s&&o.unshift({content:s,offset:n.offset}),r&&o.push({content:r,offset:n.offset+s.length+i.length}),o}))}function kp(t,e,n){const a={meta:{},options:n,codeToHast:(i,r)=>$t(t,i,r),codeToTokens:(i,r)=>_t(t,i,r)};let s=ds($t(t,e,n,a));for(const i of ft(n))s=i.postprocess?.call(a,s,n)||s;return s}const da={light:"#333333",dark:"#bbbbbb"},ma={light:"#fffffe",dark:"#1e1e1e"},ga="__shiki_resolved";function En(t){if(t?.[ga])return t;const e={...t};e.tokenColors&&!e.settings&&(e.settings=e.tokenColors,delete e.tokenColors),e.type||="dark",e.colorReplacements={...e.colorReplacements},e.settings||=[];let{bg:n,fg:a}=e;if(!n||!a){const o=e.settings?e.settings.find(p=>!p.name&&!p.scope):void 0;o?.settings?.foreground&&(a=o.settings.foreground),o?.settings?.background&&(n=o.settings.background),!a&&e?.colors?.["editor.foreground"]&&(a=e.colors["editor.foreground"]),!n&&e?.colors?.["editor.background"]&&(n=e.colors["editor.background"]),a||(a=e.type==="light"?da.light:da.dark),n||(n=e.type==="light"?ma.light:ma.dark),e.fg=a,e.bg=n}e.settings[0]&&e.settings[0].settings&&!e.settings[0].scope||e.settings.unshift({settings:{foreground:e.fg,background:e.bg}});let s=0;const i=new Map;function r(o){if(i.has(o))return i.get(o);s+=1;const p=`#${s.toString(16).padStart(8,"0").toLowerCase()}`;return e.colorReplacements?.[`#${p}`]?r(o):(i.set(o,p),p)}e.settings=e.settings.map(o=>{const p=o.settings?.foreground&&!o.settings.foreground.startsWith("#"),c=o.settings?.background&&!o.settings.background.startsWith("#");if(!p&&!c)return o;const l={...o,settings:{...o.settings}};if(p){const u=r(o.settings.foreground);e.colorReplacements[u]=o.settings.foreground,l.settings.foreground=u}if(c){const u=r(o.settings.background);e.colorReplacements[u]=o.settings.background,l.settings.background=u}return l});for(const o of Object.keys(e.colors||{}))if((o==="editor.foreground"||o==="editor.background"||o.startsWith("terminal.ansi"))&&!e.colors[o]?.startsWith("#")){const p=r(e.colors[o]);e.colorReplacements[p]=e.colors[o],e.colors[o]=p}return Object.defineProperty(e,ga,{enumerable:!1,writable:!1,value:!0}),e}async function Cs(t){return Array.from(new Set((await Promise.all(t.filter(e=>!bs(e)).map(async e=>await _s(e).then(n=>Array.isArray(n)?n:[n])))).flat()))}async function js(t){return(await Promise.all(t.map(async n=>fs(n)?null:En(await _s(n))))).filter(n=>!!n)}let wp=class extends Ya{constructor(e,n,a,s={}){super(e),this._resolver=e,this._themes=n,this._langs=a,this._alias=s,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){const n=En(e);return n.name&&(this._resolvedThemes.set(n.name,n),this._loadedThemesCache=null),n}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let n=this._textmateThemeCache.get(e);n||(n=Oe.createFromRawTheme(e),this._textmateThemeCache.set(e,n)),this._syncRegistry.setTheme(n)}getGrammar(e){if(this._alias[e]){const n=new Set([e]);for(;this._alias[e];){if(e=this._alias[e],n.has(e))throw new Z(`Circular alias \`${Array.from(n).join(" -> ")} -> ${e}\``);n.add(e)}}return this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;const n=new Set([...this._langMap.values()].filter(i=>i.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);const a={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);const s=this.loadGrammarWithConfiguration(e.scopeName,1,a);if(s.name=e.name,this._resolvedGrammars.set(e.name,s),e.aliases&&e.aliases.forEach(i=>{this._alias[i]=e.name}),this._loadedLanguagesCache=null,n.size)for(const i of n)this._resolvedGrammars.delete(i.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(i.scopeName),this._syncRegistry?._grammars?.delete(i.scopeName),this.loadLanguage(this._langMap.get(i.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(const s of e)this.resolveEmbeddedLanguages(s);const n=Array.from(this._langGraph.entries()),a=n.filter(([s,i])=>!i);if(a.length){const s=n.filter(([i,r])=>r&&r.embeddedLangs?.some(o=>a.map(([p])=>p).includes(o))).filter(i=>!a.includes(i));throw new Z(`Missing languages ${a.map(([i])=>`\`${i}\``).join(", ")}, required by ${s.map(([i])=>`\`${i}\``).join(", ")}`)}for(const[s,i]of n)this._resolver.addLanguage(i);for(const[s,i]of n)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){if(this._langMap.set(e.name,e),this._langGraph.set(e.name,e),e.embeddedLangs)for(const n of e.embeddedLangs)this._langGraph.set(n,this._langMap.get(n))}},xp=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,n){this._onigLib={createOnigScanner:a=>e.createScanner(a),createOnigString:a=>e.createString(a)},n.forEach(a=>this.addLanguage(a))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(n=>{this._langs.set(n,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(n=>{this._injections.get(n)||this._injections.set(n,[]),this._injections.get(n).push(e.scopeName)})}getInjections(e){const n=e.split(".");let a=[];for(let s=1;s<=n.length;s++){const i=n.slice(0,s).join(".");a=[...a,...this._injections.get(i)||[]]}return a}},Te=0;function Cp(t){Te+=1,t.warnings!==!1&&Te>=10&&Te%10===0&&console.warn(`[Shiki] ${Te} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let e=!1;if(!t.engine)throw new Z("`engine` option is required for synchronous mode");const n=(t.langs||[]).flat(1),a=(t.themes||[]).flat(1).map(En),s=new xp(t.engine,n),i=new wp(s,a,n,t.langAlias);let r;function o(b){h();const y=i.getGrammar(typeof b=="string"?b:b.name);if(!y)throw new Z(`Language \`${b}\` not found, you may need to load it first`);return y}function p(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};h();const y=i.getTheme(b);if(!y)throw new Z(`Theme \`${b}\` not found, you may need to load it first`);return y}function c(b){h();const y=p(b);r!==b&&(i.setTheme(y),r=b);const N=i.getColorMap();return{theme:y,colorMap:N}}function l(){return h(),i.getLoadedThemes()}function u(){return h(),i.getLoadedLanguages()}function g(...b){h(),i.loadLanguages(b.flat(1))}async function d(...b){return g(await Cs(b))}function m(...b){h();for(const y of b.flat(1))i.loadTheme(y)}async function $(...b){return h(),m(await js(b))}function h(){if(e)throw new Z("Shiki instance has been disposed")}function f(){e||(e=!0,i.dispose(),Te-=1)}return{setTheme:c,getTheme:p,getLanguage:o,getLoadedThemes:l,getLoadedLanguages:u,loadLanguage:d,loadLanguageSync:g,loadTheme:$,loadThemeSync:m,dispose:f,[Symbol.dispose]:f}}async function jp(t){t.loadWasm&&ut("`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead."),t.engine||ut("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[e,n,a]=await Promise.all([js(t.themes||[]),Cs(t.langs||[]),t.engine||Pi(t.loadWasm||qi())]);return Cp({...t,themes:e,langs:n,engine:a})}async function Ap(t){const e=await jp(t);return{getLastGrammarState:(...n)=>up(e,...n),codeToTokensBase:(n,a)=>Sn(e,n,a),codeToTokensWithThemes:(n,a)=>xs(e,n,a),codeToTokens:(n,a)=>_t(e,n,a),codeToHast:(n,a)=>$t(e,n,a),codeToHtml:(n,a)=>kp(e,n,a),...e,getInternalContext:()=>e}}function fd(t,e,n){let a,s,i;{const o=t;a=o.langs,s=o.themes,i=o.engine}async function r(o){function p(d){if(typeof d=="string"){if(bs(d))return[];const m=a[d];if(!m)throw new oe(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return m}return d}function c(d){if(fs(d))return"none";if(typeof d=="string"){const m=s[d];if(!m)throw new oe(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return m}return d}const l=(o.themes??[]).map(d=>c(d)),u=(o.langs??[]).map(d=>p(d)),g=await Ap({engine:o.engine??i(),...o,themes:l,langs:u});return{...g,loadLanguage(...d){return g.loadLanguage(...d.map(p))},loadTheme(...d){return g.loadTheme(...d.map(c))}}}return r}const Np=Object.freeze({displayName:"JSON",name:"json",patterns:[{include:"#value"}],repository:{array:{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.array.begin.json"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.array.end.json"}},name:"meta.structure.array.json",patterns:[{include:"#value"},{match:/,/dgv,name:"punctuation.separator.array.json"},{match:/[^\p{space}\]]/dgv,name:"invalid.illegal.expected-array-separator.json"}]},comments:{patterns:[{begin:/\/\*\*(?!\/)/dgv,captures:{0:{name:"punctuation.definition.comment.json"}},end:/\*\//dgv,name:"comment.block.documentation.json"},{begin:/\/\*/dgv,captures:{0:{name:"punctuation.definition.comment.json"}},end:/\*\//dgv,name:"comment.block.json"},{captures:{1:{name:"punctuation.definition.comment.json"}},match:/(\/\/)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-slash.js"}]},constant:{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.json"},number:{match:/-?(?:0|[1-9]\p{Nd}*)(?:(?:\.\p{Nd}+)?(?:[eE][\+\-]?\p{Nd}+)?)?/dgv,name:"constant.numeric.json"},object:{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.dictionary.begin.json"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.dictionary.end.json"}},name:"meta.structure.dictionary.json",patterns:[{comment:"the JSON object key",include:"#objectkey"},{include:"#comments"},{begin:/:/dgv,beginCaptures:{0:{name:"punctuation.separator.dictionary.key-value.json"}},end:/(,)|(?=\})/dgv,endCaptures:{1:{name:"punctuation.separator.dictionary.pair.json"}},name:"meta.structure.dictionary.value.json",patterns:[{comment:"the JSON object value",include:"#value"},{match:/[^\p{space}\,]/dgv,name:"invalid.illegal.expected-dictionary-separator.json"}]},{match:/[^\p{space}\}]/dgv,name:"invalid.illegal.expected-dictionary-separator.json"}]},objectkey:{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.support.type.property-name.begin.json"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.support.type.property-name.end.json"}},name:"string.json support.type.property-name.json",patterns:[{include:"#stringcontent"}]},string:{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.json"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.json"}},name:"string.quoted.double.json",patterns:[{include:"#stringcontent"}]},stringcontent:{patterns:[{match:/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/dgv,name:"constant.character.escape.json"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-string-escape.json"}]},value:{patterns:[{include:"#constant"},{include:"#number"},{include:"#string"},{include:"#array"},{include:"#object"},{include:"#comments"}]}},scopeName:"source.json",embeddedLangs:void 0,aliases:void 0}),As=[Np],yd=Object.freeze(Object.defineProperty({__proto__:null,default:As},Symbol.toStringTag,{value:"Module"})),Fp=Object.freeze({displayName:"YAML",fileTypes:["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],firstLineMatch:/^%YAML( ?1[^\n]\p{Nd}+)?/dgv,name:"yaml",patterns:[{include:"#comment"},{include:"#property"},{include:"#directive"},{match:/^---/dgv,name:"entity.other.document.begin.yaml"},{match:/^\.{3}/dgv,name:"entity.other.document.end.yaml"},{include:"#node"}],repository:{"block-collection":{patterns:[{include:"#block-sequence"},{include:"#block-mapping"}]},"block-mapping":{patterns:[{include:"#block-pair"}]},"block-node":{patterns:[{include:"#prototype"},{include:"#block-scalar"},{include:"#block-collection"},{include:"#flow-scalar-plain-out"},{include:"#flow-node"}]},"block-pair":{patterns:[{begin:/\?/dgv,beginCaptures:{1:{name:"punctuation.definition.key-value.begin.yaml"}},end:/(?=\?)|^ *(:)|(:)/dgv,endCaptures:{1:{name:"punctuation.separator.key-value.mapping.yaml"},2:{name:"invalid.illegal.expected-newline.yaml"}},name:"meta.block-mapping.yaml",patterns:[{include:"#block-node"}]},{begin:/(?=(?:[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-]\P{space})([^\p{space}\:]|:\P{space}|\p{space}+(?![\#\p{space}]))*\p{space}*:(\p{space}|(?=\n?$)))/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv,patterns:[{include:"#flow-scalar-plain-out-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-]\P{space}/dgv,beginCaptures:{0:{name:"entity.name.tag.yaml"}},contentName:"entity.name.tag.yaml",end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv,name:"string.unquoted.plain.out.yaml"}]},{match:/:(?=\p{space}|(?=\n?$))/dgv,name:"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{begin:/(?:(\|)|(>))([1-9])?([\-\+])?([^\n]*\n?)/dgv,beginCaptures:{1:{name:"keyword.control.flow.block-scalar.literal.yaml"},2:{name:"keyword.control.flow.block-scalar.folded.yaml"},3:{name:"constant.numeric.indentation-indicator.yaml"},4:{name:"storage.modifier.chomping-indicator.yaml"},5:{patterns:[{include:"#comment"},{match:/[^\n]+/dgv,name:"invalid.illegal.expected-comment-or-newline.yaml"}]}},end:new k("^(?=\\P{space})|(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/^([ ]+)(?! )/dgv,end:/^(?!\1|\p{space}*(?=\n?$))()/dgv,name:"string.unquoted.block.yaml"}]},"block-sequence":{match:/(-)(?!\P{space})/dgv,name:"punctuation.definition.block.sequence.item.yaml"},comment:{begin:/(?:(^[ \t]*)|[ \t]+)(?=#[[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]\p{Zs}]*(?=\n?$))/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.yaml"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.yaml"}},end:/\n/dgv,name:"comment.line.number-sign.yaml"}]},directive:{begin:/^%/dgv,beginCaptures:{0:{name:"punctuation.definition.directive.begin.yaml"}},end:/(?=(?=\n?$)|[ \t]+((?=\n?$)|#))/dgv,name:"meta.directive.yaml",patterns:[{captures:{1:{name:"keyword.other.directive.yaml.yaml"},2:{name:"constant.numeric.yaml-version.yaml"}},match:/(YAML)[ \t]+(\p{Nd}+\.\p{Nd}+)/dgvy},{captures:{1:{name:"keyword.other.directive.tag.yaml"},2:{name:"storage.type.tag-handle.yaml"},3:{name:"support.type.tag-prefix.yaml"}},match:/(TAG)(?:[ \t]+(!(?:[0-9A-Za-z\-]*!)?)(?:[ \t]+(!(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$\,_\.\!\~\*'\(\)\[\]])*|(?![\,\!\[\]\{\}])(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$\,_\.\!\~\*'\(\)\[\]])+))?)?/dgvy},{captures:{1:{name:"support.other.directive.reserved.yaml"},2:{name:"string.unquoted.directive-name.yaml"},3:{name:"string.unquoted.directive-parameter.yaml"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)(?:[ \t]+([\p{L}\p{M}\p{N}\p{Pc}]+)(?:[ \t]+([\p{L}\p{M}\p{N}\p{Pc}]+))?)?/dgvy},{match:/\P{space}+/dgv,name:"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{captures:{1:{name:"keyword.control.flow.alias.yaml"},2:{name:"punctuation.definition.alias.yaml"},3:{name:"variable.other.alias.yaml"},4:{name:"invalid.illegal.character.anchor.yaml"}},match:/((\*))([^\p{space}\[\]\/\{\/\}\,]+)([^\p{space}\]\}\,]\P{space}*)?/dgv},"flow-collection":{patterns:[{include:"#flow-sequence"},{include:"#flow-mapping"}]},"flow-mapping":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.mapping.begin.yaml"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.mapping.end.yaml"}},name:"meta.flow-mapping.yaml",patterns:[{include:"#prototype"},{match:/,/dgv,name:"punctuation.separator.mapping.yaml"},{include:"#flow-pair"}]},"flow-node":{patterns:[{include:"#prototype"},{include:"#flow-alias"},{include:"#flow-collection"},{include:"#flow-scalar"}]},"flow-pair":{patterns:[{begin:/\?/dgv,beginCaptures:{0:{name:"punctuation.definition.key-value.begin.yaml"}},end:/(?=[\}\,\]])/dgv,name:"meta.flow-pair.explicit.yaml",patterns:[{include:"#prototype"},{include:"#flow-pair"},{include:"#flow-node"},{begin:/:(?=\p{space}|(?=\n?$)|[\[\]\{\}\,])/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.mapping.yaml"}},end:/(?=[\}\,\]])/dgv,patterns:[{include:"#flow-value"}]}]},{begin:/(?=(?:[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-][^\p{space}\[\]\{\}\,])([^\p{space}\:\[\]\{\}\,]|:[^\p{space}\[\]\{\}\,]|\p{space}+(?![\#\p{space}]))*\p{space}*:(\p{space}|(?=\n?$)))/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv,name:"meta.flow-pair.key.yaml",patterns:[{include:"#flow-scalar-plain-in-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-][^\p{space}\[\]\{\}\,]/dgv,beginCaptures:{0:{name:"entity.name.tag.yaml"}},contentName:"entity.name.tag.yaml",end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv,name:"string.unquoted.plain.in.yaml"}]},{include:"#flow-node"},{begin:/:(?=\p{space}|(?=\n?$)|[\[\]\{\}\,])/dgv,captures:{0:{name:"punctuation.separator.key-value.mapping.yaml"}},end:/(?=[\}\,\]])/dgv,name:"meta.flow-pair.yaml",patterns:[{include:"#flow-value"}]}]},"flow-scalar":{patterns:[{include:"#flow-scalar-double-quoted"},{include:"#flow-scalar-single-quoted"},{include:"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.yaml"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.yaml"}},name:"string.quoted.double.yaml",patterns:[{match:/\\([0abtnvfre "\/\\N_Lp]|x\p{Nd}\p{Nd}|u\p{Nd}{4}|U\p{Nd}{8})/dgv,name:"constant.character.escape.yaml"},{match:/\\\n/dgv,name:"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{patterns:[{include:"#flow-scalar-plain-in-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-][^\p{space}\[\]\{\}\,]/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv,name:"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{patterns:[{captures:{1:{name:"constant.language.null.yaml"},2:{name:"constant.language.boolean.yaml"},3:{name:"constant.numeric.integer.yaml"},4:{name:"constant.numeric.float.yaml"},5:{name:"constant.other.timestamp.yaml"},6:{name:"constant.language.value.yaml"},7:{name:"constant.language.merge.yaml"}},match:/(?:(null|Null|NULL|~)|(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|((?:[\-\+]?0b[0-1_]+|[\-\+]?0[0-7_]+|[\-\+]?(?:0|[1-9][0-9_]*)|[\-\+]?0x[0-9a-fA-F_]+|[\-\+]?[1-9][0-9_]*(?::[0-5]?[0-9])+))|((?:[\-\+]?(?:[0-9][0-9_]*)?\.[0-9\.]*(?:[eE][\-\+][0-9]+)?|[\-\+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*|[\-\+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN)))|((?:\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}|\p{Nd}{4}-\p{Nd}{1,2}-\p{Nd}{1,2}(?:[Tt]|[ \t]+)\p{Nd}{1,2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}*)?(?:[ \t]*Z|[\-\+]\p{Nd}{1,2}(?::\p{Nd}{1,2})?)?))|(=)|(<<))(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv}]},"flow-scalar-plain-out":{patterns:[{include:"#flow-scalar-plain-out-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-]\P{space}/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv,name:"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{patterns:[{captures:{1:{name:"constant.language.null.yaml"},2:{name:"constant.language.boolean.yaml"},3:{name:"constant.numeric.integer.yaml"},4:{name:"constant.numeric.float.yaml"},5:{name:"constant.other.timestamp.yaml"},6:{name:"constant.language.value.yaml"},7:{name:"constant.language.merge.yaml"}},match:/(?:(null|Null|NULL|~)|(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|((?:[\-\+]?0b[0-1_]+|[\-\+]?0[0-7_]+|[\-\+]?(?:0|[1-9][0-9_]*)|[\-\+]?0x[0-9a-fA-F_]+|[\-\+]?[1-9][0-9_]*(?::[0-5]?[0-9])+))|((?:[\-\+]?(?:[0-9][0-9_]*)?\.[0-9\.]*(?:[eE][\-\+][0-9]+)?|[\-\+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*|[\-\+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN)))|((?:\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}|\p{Nd}{4}-\p{Nd}{1,2}-\p{Nd}{1,2}(?:[Tt]|[ \t]+)\p{Nd}{1,2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}*)?(?:[ \t]*Z|[\-\+]\p{Nd}{1,2}(?::\p{Nd}{1,2})?)?))|(=)|(<<))(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv}]},"flow-scalar-single-quoted":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.yaml"}},end:/'(?!')/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.yaml"}},name:"string.quoted.single.yaml",patterns:[{match:/''/dgv,name:"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.sequence.begin.yaml"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.sequence.end.yaml"}},name:"meta.flow-sequence.yaml",patterns:[{include:"#prototype"},{match:/,/dgv,name:"punctuation.separator.sequence.yaml"},{include:"#flow-pair"},{include:"#flow-node"}]},"flow-value":{patterns:[{begin:/(?![\}\,\]])/dgvy,end:/(?=[\}\,\]])/dgv,name:"meta.flow-pair.value.yaml",patterns:[{include:"#flow-node"}]}]},node:{patterns:[{include:"#block-node"}]},property:{begin:/(?=!|&)/dgv,end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.property.yaml",patterns:[{captures:{1:{name:"keyword.control.property.anchor.yaml"},2:{name:"punctuation.definition.anchor.yaml"},3:{name:"entity.name.type.anchor.yaml"},4:{name:"invalid.illegal.character.anchor.yaml"}},match:/((&))([^\p{space}\[\]\/\{\/\}\,]+)(\P{space}+)?/dgvy},{match:/(?:!<(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$\,_\.\!\~\*'\(\)\[\]])+>|!(?:[0-9A-Za-z\-]*!)?(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$_\.\~\*'\(\)])+|!)(?= |\t|(?=\n?$))/dgvy,name:"storage.type.tag-handle.yaml"},{match:/\P{space}+/dgv,name:"invalid.illegal.tag-handle.yaml"}]},prototype:{patterns:[{include:"#comment"},{include:"#property"}]}},scopeName:"source.yaml",embeddedLangs:void 0,aliases:["yml"]}),Sp=[Fp],_d=Object.freeze(Object.defineProperty({__proto__:null,default:Sp},Symbol.toStringTag,{value:"Module"})),Ep=Object.freeze({displayName:"CSS",name:"css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#combinators"},{include:"#selector"},{include:"#at-rules"},{include:"#rule-list"}],repository:{"at-rules":{patterns:[{begin:/^(?:\uFEFF)?(?=\p{space}*@charset\b)/dgiv,end:/;|(?=(?=\n?$))/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.charset.css",patterns:[{captures:{1:{name:"invalid.illegal.not-lowercase.charset.css"},2:{name:"invalid.illegal.leading-whitespace.charset.css"},3:{name:"invalid.illegal.no-whitespace.charset.css"},4:{name:"invalid.illegal.whitespace.charset.css"},5:{name:"invalid.illegal.not-double-quoted.charset.css"},6:{name:"invalid.illegal.unclosed-string.charset.css"},7:{name:"invalid.illegal.unexpected-characters.charset.css"}},match:new k('^((?!@charset)@[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)|^(\\p{space}+)|(@charset\\P{space}[^\\;]*)|(?<=@charset)( {2,}|\\t+)|(?<=@charset )([^"\\;]+)|("[^"]+(?=\\n?$))|(?<=")([^\\;]+)',"dgv",{strategy:"clip_search"})},{captures:{1:{name:"keyword.control.at-rule.charset.css"},2:{name:"punctuation.definition.keyword.css"}},match:/((@)charset)(?=\p{space})/dgv},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/"|(?=\n?$)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{begin:new k('(?:^|^)(?=(?:[^"])+(?=\\n?$))',"dgv",{strategy:"clip_search"}),end:/(?=\n?$)/dgv,name:"invalid.illegal.unclosed.string.css"}]}]},{begin:/((@)import)(?:\p{space}+|(?=\n?$)|(?=['"]|\/\*))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.import.css"},2:{name:"punctuation.definition.keyword.css"}},end:/;/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{begin:/\p{space}*(?=\/\*)/dgvy,end:/(?<=\*\/)\p{space}*/dgv,patterns:[{include:"#comment-block"}]},{include:"#string"},{include:"#url"},{include:"#media-query-list"}]},{begin:/((@)font-face)(?=\p{space}*|\{|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.font-face.css"},2:{name:"punctuation.definition.keyword.css"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.at-rule.font-face.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#rule-list"}]},{begin:/(@)page(?=[\p{space}\:\{]|\/\*|(?=\n?$))/dgiv,captures:{0:{name:"keyword.control.at-rule.page.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*((?=\n?$)|[\:\{\;]))/dgv,name:"meta.at-rule.page.css",patterns:[{include:"#rule-list"}]},{begin:/(?=@media(\p{space}|\(|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)media/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.media.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.media.header.css",patterns:[{include:"#media-query-list"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.media.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.media.end.bracket.curly.css"}},name:"meta.at-rule.media.body.css",patterns:[{include:"$self"}]}]},{begin:/(?=@counter-style([\p{space}'"\{\;]|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)counter-style/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.counter-style.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*\{)/dgv,name:"meta.at-rule.counter-style.header.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{0:{patterns:[{include:"#escapes"}]}},match:/(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.parameter.style-name.css"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.at-rule.counter-style.body.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#rule-list-innards"}]}]},{begin:/(?=@document([\p{space}'"\{\;]|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)document/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.document.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.document.header.css",patterns:[{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(url-prefix|domain|regexp)(\()/dgiv,beginCaptures:{1:{name:"support.function.document-rule.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.document-rule.css",patterns:[{include:"#string"},{include:"#comment-block"},{include:"#escapes"},{match:/[^'"\)\p{space}]+/dgv,name:"variable.parameter.document-rule.css"}]},{include:"#url"},{include:"#commas"},{include:"#comment-block"},{include:"#escapes"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.document.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.document.end.bracket.curly.css"}},name:"meta.at-rule.document.body.css",patterns:[{include:"$self"}]}]},{begin:/(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\p{space}'"\{\;]|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)(?:-(?:webkit|moz|o|ms)-)?keyframes/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.keyframes.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*\{)/dgv,name:"meta.at-rule.keyframes.header.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{0:{patterns:[{include:"#escapes"}]}},match:/(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.parameter.keyframe-list.css"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.keyframes.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.keyframes.end.bracket.curly.css"}},name:"meta.at-rule.keyframes.body.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{1:{name:"entity.other.keyframe-offset.css"},2:{name:"entity.other.keyframe-offset.percentage.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(from|to)(?![\p{L}\p{M}\p{N}\p{Pc}\-])|([\-\+]?(?:\p{Nd}+(?:\.\p{Nd}+)?|\.\p{Nd}+)%)/dgiv},{include:"#rule-list"}]}]},{begin:/(?=@supports(\p{space}|\(|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)|(?=;)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)supports/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.supports.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.supports.header.css",patterns:[{include:"#feature-query-operators"},{include:"#feature-query"},{include:"#comment-block"},{include:"#escapes"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.supports.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.supports.end.bracket.curly.css"}},name:"meta.at-rule.supports.body.css",patterns:[{include:"$self"}]}]},{begin:/((@)(-(ms|o)-)?viewport)(?=[\p{space}'"\{\;]|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.viewport.css"},2:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\@\{\;])/dgv,name:"meta.at-rule.viewport.css",patterns:[{include:"#comment-block"},{include:"#escapes"}]},{begin:/((@)font-feature-values)(?=[\p{space}'"\{\;]|\/\*|(?=\n?$))\p{space}*/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.font-feature-values.css"},2:{name:"punctuation.definition.keyword.css"}},contentName:"variable.parameter.font-name.css",end:/(?=\p{space}*[\@\{\;])/dgv,name:"meta.at-rule.font-features.css",patterns:[{include:"#comment-block"},{include:"#escapes"}]},{include:"#font-features"},{begin:/((@)namespace)(?=[\p{space}'"\;]|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.namespace.css"},2:{name:"punctuation.definition.keyword.css"}},end:/;|(?=[\@\{])/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.namespace.css",patterns:[{include:"#url"},{captures:{1:{patterns:[{include:"#comment-block"}]},2:{name:"entity.name.function.namespace-prefix.css",patterns:[{include:"#escapes"}]}},match:new k("(?:^|^|(?<=\\p{space}))(?=(?<=\\p{space}|^)(?:[\\-a-zA-Z_]|[^\\x00-\\x7F])|\\p{space}*/\\*(?:[^\\*]|\\*[^\\/])*\\*/)([^\\n]*?)((?:[\\-a-zA-Z_]|[^\\x00-\\x7F])(?:[\\-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|[^\\n]))*)","dgiv",{strategy:"clip_search"})},{include:"#comment-block"},{include:"#escapes"},{include:"#string"}]},{begin:/(?=@[\p{L}\p{M}\p{N}\p{Pc}\-]+[^\;]+;s*(?=\n?$))/dgiv,end:new k("(?<=;)(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)[\p{L}\p{M}\p{N}\p{Pc}\-]+/dgvy,beginCaptures:{0:{name:"keyword.control.at-rule.css"},1:{name:"punctuation.definition.keyword.css"}},end:/;/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.header.css"}]},{begin:/(?=@[\p{L}\p{M}\p{N}\p{Pc}\-]+(\p{space}|\(|\{|\/\*|(?=\n?$)))/dgv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)[\p{L}\p{M}\p{N}\p{Pc}\-]+/dgvy,beginCaptures:{0:{name:"keyword.control.at-rule.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.header.css"},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.end.bracket.curly.css"}},name:"meta.at-rule.body.css",patterns:[{include:"$self"}]}]}]},"color-keywords":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.color.w3c-standard-color-name.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.color.w3c-extended-color-name.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])currentColor(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.color.current.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"invalid.deprecated.color.system.css"}]},combinators:{patterns:[{match:/\/deep\/|>>>/dgv,name:"invalid.deprecated.combinator.css"},{match:/>>|>|\+|~/dgv,name:"keyword.operator.combinator.css"}]},commas:{match:/,/dgv,name:"punctuation.separator.list.comma.css"},"comment-block":{begin:/\/\*/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.begin.css"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},escapes:{patterns:[{match:/\\[0-9a-fA-F]{1,6}/dgv,name:"constant.character.escape.codepoint.css"},{begin:/\\(?=\n?$)\p{space}*/dgv,end:new k("^(?<!^)","dgv",{strategy:"clip_search"}),name:"constant.character.escape.newline.css"},{match:/\\[^\n]/dgv,name:"constant.character.escape.css"}]},"feature-query":{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.condition.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.condition.end.bracket.round.css"}},name:"meta.feature-query.css",patterns:[{include:"#feature-query-operators"},{include:"#feature-query"}]},"feature-query-operators":{patterns:[{match:/(?<=[\p{space}\(\)]|^|\*\/)(and|not|or)(?=[\p{space}\(\)]|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.logical.feature.$1.css"},{include:"#rule-list-innards"}]},"font-features":{begin:/((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))(?=[\p{space}\@'"\{\;]|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.${3:/downcase}.css"},2:{name:"punctuation.definition.keyword.css"}},end:/(?<=\})/dgv,name:"meta.at-rule.${3:/downcase}.css",patterns:[{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.property-list.font-feature.css",patterns:[{captures:{0:{patterns:[{include:"#escapes"}]}},match:/(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.font-feature.css"},{include:"#rule-list-innards"}]}]},"functional-pseudo-classes":{patterns:[{begin:/((:)dir)(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#comment-block"},{include:"#escapes"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(ltr|rtl)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.text-direction.css"},{include:"#property-values"}]},{begin:/((:)lang)(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{match:/(?<=[\(\,\p{space}])[a-zA-Z]+(-[a-zA-Z0-9]*|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*(?=[\)\,\p{space}])/dgv,name:"support.constant.language-range.css"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{include:"#escapes"},{match:/(?<=["\p{space}])[a-zA-Z\*]+(-[a-zA-Z0-9\*]*)*(?=["\p{space}])/dgv,name:"support.constant.language-range.css"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{include:"#escapes"},{match:/(?<=['\p{space}])[a-zA-Z\*]+(-[a-zA-Z0-9\*]*)*(?=['\p{space}])/dgv,name:"support.constant.language-range.css"}]},{include:"#commas"}]},{begin:/((:)(?:not|has|matches|where|is))(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#selector-innards"}]},{begin:/((:)nth-(?:last-)?(?:child|of-type))(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{match:/[\+\-]?(\p{Nd}+n?|n)(\p{space}*[\+\-]\p{space}*\p{Nd}+)?/dgiv,name:"constant.numeric.css"},{match:/even|odd/dgiv,name:"support.constant.parity.css"}]}]},functions:{patterns:[{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(calc)(\()/dgiv,beginCaptures:{1:{name:"support.function.calc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.calc.css",patterns:[{match:/[\*\/]|(?<=\p{space}|^)[\-\+](?=\p{space}|(?=\n?$))/dgv,name:"keyword.operator.arithmetic.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(rgba?|rgb|hsla?|hsl|hwb|lab|oklab|lch|oklch|color)(\()/dgiv,beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.color.css",patterns:[{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])((?:-webkit-|-moz-|-o-)?(?:repeating-)?(?:linear|radial|conic)-gradient)(\()/dgiv,beginCaptures:{1:{name:"support.function.gradient.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.gradient.css",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(from|to|at|in|hue)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"keyword.operator.gradient.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(-webkit-gradient)(\()/dgiv,beginCaptures:{1:{name:"invalid.deprecated.gradient.function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.gradient.invalid.deprecated.gradient.css",patterns:[{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(from|to|color-stop)(\()/dgiv,beginCaptures:{1:{name:"invalid.deprecated.function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#property-values"}]},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols|cos|sin|tan|acos|asin|atan|atan2|hypot|sqrt|pow|log|exp|abs|sign)(\()/dgiv,beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.misc.css",patterns:[{match:/(?<=[\,\p{space}"]|\*\/|^)\p{Nd}+x(?=[\p{space}\,"'\)]|\/\*|(?=\n?$))/dgiv,name:"constant.numeric.other.density.css"},{include:"#property-values"},{match:/[^'"\)\,\p{space}]+/dgv,name:"variable.parameter.misc.css"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(circle|ellipse|inset|polygon|rect)(\()/dgiv,beginCaptures:{1:{name:"support.function.shape.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.shape.css",patterns:[{match:/(?<=\p{space}|^|\*\/)(at|round)(?=\p{space}|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.shape.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(cubic-bezier|steps)(\()/dgiv,beginCaptures:{1:{name:"support.function.timing-function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.timing-function.css",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(start|end)(?=\p{space}*\)|(?=\n?$))/dgiv,name:"support.constant.step-direction.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\()/dgiv,beginCaptures:{1:{name:"support.function.transform.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#property-values"}]},{include:"#url"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(var)(\()/dgiv,beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.variable.css",patterns:[{match:/--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.argument.css"},{include:"#property-values"}]}]},"media-feature-keywords":{match:/(?<=^|\p{space}|:|\*\/)(?:portrait|landscape|progressive|interlace|fullscreen|standalone|minimal-ui|browser|hover)(?=\p{space}|\)|(?=\n?$))/dgiv,name:"support.constant.property-value.css"},"media-features":{captures:{1:{name:"support.type.property-name.media.css"},2:{name:"support.type.property-name.media.css"},3:{name:"support.type.vendored.property-name.media.css"}},match:/(?<=^|\p{space}|\(|\*\/)(?:((?:min-|max-)?(?:height|width|aspect-ratio|color|color-index|monochrome|resolution)|grid|scan|orientation|display-mode|hover)|((?:min-|max-)?device-(?:height|width|aspect-ratio))|((?:[\-_](?:webkit|apple|khtml|epub|moz|ms|o|xv|ah|rim|atsc|hp|tc|wap|ro)|(?:mso|prince))-[\p{L}\p{M}\p{N}\p{Pc}\-]+(?=\p{space}*(?:\/\*(?:[^\*]|\*[^\/])*\*\/)?\p{space}*[\:\)])))(?=\p{space}|(?=\n?$)|[\>\<\:\=]|\)|\/\*)/dgiv},"media-query":{begin:/(?:)/dgv,end:/(?=\p{space}*[\{\;])/dgv,patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#media-types"},{match:/(?<=\p{space}|^|,|\*\/)(only|not)(?=\p{space}|\{|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.logical.$1.media.css"},{match:/(?<=\p{space}|^|\*\/|\))and(?=\p{space}|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.logical.and.media.css"},{match:/,(?:(?:\p{space}*,)+|(?=\p{space}*[\;\)\{]))/dgv,name:"invalid.illegal.comma.css"},{include:"#commas"},{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.css"}},patterns:[{include:"#media-features"},{include:"#media-feature-keywords"},{match:/:/dgv,name:"punctuation.separator.key-value.css"},{match:/>=|<=|=|<|>/dgv,name:"keyword.operator.comparison.css"},{captures:{1:{name:"constant.numeric.css"},2:{name:"keyword.operator.arithmetic.css"},3:{name:"constant.numeric.css"}},match:/(\p{Nd}+)\p{space}*(\/)\p{space}*(\p{Nd}+)/dgv,name:"meta.ratio.css"},{include:"#numeric-values"},{include:"#comment-block"}]}]},"media-query-list":{begin:/(?=\p{space}*[^\{\;])/dgv,end:/(?=\p{space}*[\{\;])/dgv,patterns:[{include:"#media-query"}]},"media-types":{captures:{1:{name:"support.constant.media.css"},2:{name:"invalid.deprecated.constant.media.css"}},match:/(?<=^|\p{space}|,|\*\/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=(?=\n?$)|[\{\,\p{space}\;]|\/\*)/dgiv},"numeric-values":{patterns:[{captures:{1:{name:"punctuation.definition.constant.css"}},match:/(#)(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\b/dgv,name:"constant.other.color.rgb-value.hex.css"},{captures:{1:{name:"keyword.other.unit.percentage.css"},2:{name:"keyword.other.unit.${2:/downcase}.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])[\-\+]?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+)(?:(?<=[0-9])E[\-\+]?[0-9]+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|rch|rex|rlh|ic|ric|rcap|vh|vw|vb|vi|svh|svw|svb|svi|dvh|dvw|dvb|dvi|lvh|lvw|lvb|lvi|vmax|vmin|cqw|cqi|cqh|cqb|cqmin|cqmax|dpi|dpcm|dppx|s|ms)\b)?/dgiv,name:"constant.numeric.css"}]},"property-keywords":{patterns:[{match:new k("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83|jis90|justify|justify-all|kannada|keep-all|landscape|large|larger|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])","dgiv",{lazyCompile:!0}),name:"support.constant.property-value.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman|urdu)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.property-value.list-style-type.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(?:-(?:[Aa][Hh]|[Aa][Pp][Pp][Ll][Ee]|[Aa][Tt][Ssſ][Cc]|[Ee][Pp][Uu][Bb]|[Hh][Pp]|[KKk][Hh][Tt][Mm][Ll]|[Mm][Oo][Zz]|[Mm][Ssſ]|[Oo]|[Rr][Ii][Mm]|[Rr][Oo]|[Tt][Cc]|[Ww][Aa][Pp]|[Ww][Ee][Bb][KKk][Ii][Tt]|[Xx][Vv])|(?:[Mm][Ssſ][Oo]|[Pp][Rr][Ii][Nn][Cc][Ee]))-[a-zA-Z\-]+/dgv,name:"support.constant.vendored.property-value.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(?:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.font-name.css"}]},"property-names":{patterns:[{match:new k("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(?:accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|aspect-ratio|backdrop-filter|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border|border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color|border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius|border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align|inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position|offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline|overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]|pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align|ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start|scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right|scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom|scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right|scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type|scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size|speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom|alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile|color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity|glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid|marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y|adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break|balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length|bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction|box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column|column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break|delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position|flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust|initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count|justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group|orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range|play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim|radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness|right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color|rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral|speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch|string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height|text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style|top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range|voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])","dgiv",{lazyCompile:!0}),name:"support.type.property-name.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(?:-(?:[Aa][Hh]|[Aa][Pp][Pp][Ll][Ee]|[Aa][Tt][Ssſ][Cc]|[Ee][Pp][Uu][Bb]|[Hh][Pp]|[KKk][Hh][Tt][Mm][Ll]|[Mm][Oo][Zz]|[Mm][Ssſ]|[Oo]|[Rr][Ii][Mm]|[Rr][Oo]|[Tt][Cc]|[Ww][Aa][Pp]|[Ww][Ee][Bb][KKk][Ii][Tt]|[Xx][Vv])|(?:[Mm][Ssſ][Oo]|[Pp][Rr][Ii][Nn][Cc][Ee]))-[a-zA-Z\-]+/dgv,name:"support.type.vendored.property-name.css"}]},"property-values":{patterns:[{include:"#commas"},{include:"#comment-block"},{include:"#escapes"},{include:"#functions"},{include:"#property-keywords"},{include:"#unicode-range"},{include:"#numeric-values"},{include:"#color-keywords"},{include:"#string"},{match:/!\p{space}*important(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"keyword.other.important.css"}]},"pseudo-classes":{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"invalid.illegal.colon.css"}},match:/(:)(:*)(?:active|any-link|checked|default|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![\p{L}\p{M}\p{N}\p{Pc}\-]|\p{space}*[\;\}])/dgiv,name:"entity.other.attribute-name.pseudo-class.css"},"pseudo-elements":{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"punctuation.definition.entity.css"}},match:/(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-z\-]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![\p{L}\p{M}\p{N}\p{Pc}\-]|\p{space}*[\;\}])/dgiv,name:"entity.other.attribute-name.pseudo-element.css"},"rule-list":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.property-list.css",patterns:[{include:"#rule-list-innards"}]},"rule-list-innards":{patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#font-features"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.css"},{begin:/(?<![\-a-zA-Z])(?=[\-a-zA-Z])/dgv,end:/(?=\n?$)|(?![\-a-zA-Z])/dgv,name:"meta.property-name.css",patterns:[{include:"#property-names"}]},{begin:/(:)\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.css"}},contentName:"meta.property-value.css",end:/\p{space}*(;)|\p{space}*(?=\}|\))/dgv,endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#comment-block"},{include:"#property-values"}]},{match:/;/dgv,name:"punctuation.terminator.rule.css"}]},selector:{begin:/(?=(?:\|)?(?:[\-\[\:\.\*\#a-zA-Z_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n])))/dgv,end:/(?=\p{space}*[\/\@\{\)])/dgv,name:"meta.selector.css",patterns:[{include:"#selector-innards"}]},"selector-innards":{patterns:[{include:"#comment-block"},{include:"#commas"},{include:"#escapes"},{include:"#combinators"},{captures:{1:{name:"entity.other.namespace-prefix.css"},2:{name:"punctuation.separator.css"}},match:/(?:^|(?<=[\p{space}\,\(\}\;]))(?![\-\p{L}\p{M}\p{N}\p{Pc}\*]+\|(?![\-\[\:\.\*\#a-zA-Z_]|[^\x00-\x7F]))((?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*|\*)?(\|)/dgv},{include:"#tag-names"},{match:/\*/dgv,name:"entity.name.tag.wildcard.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:/(?<![\@\p{L}\p{M}\p{N}\p{Pc}\-])([\.\#])((?:-?[0-9]|-(?=(?=\n?$)|[\p{space}\,\.\#\)\[\:\{\>\+\~\|]|\/\*)|(?:[\-a-zA-Z_0-9]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*(?:[\!"'\%\&\(\*\;\<\?\@\^\`\|\]\}]|\/(?!\*))+)(?:[\-a-zA-Z_0-9]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*)/dgv,name:"invalid.illegal.bad-identifier.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:/(\.)((?:[\-a-zA-Z_0-9]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))+)(?=(?=\n?$)|[\p{space}\,\.\#\)\[\:\{\>\+\~\|]|\/\*)/dgv,name:"entity.other.attribute-name.class.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:/(#)(-?(?![0-9])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))+)(?=(?=\n?$)|[\p{space}\,\.\#\)\[\:\{\>\+\~\|]|\/\*)/dgv,name:"entity.other.attribute-name.id.css"},{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.entity.begin.bracket.square.css"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.entity.end.bracket.square.css"}},name:"meta.attribute-selector.css",patterns:[{include:"#comment-block"},{include:"#string"},{captures:{1:{name:"storage.modifier.ignore-case.css"}},match:/(?<=["'\p{space}]|^|\*\/)\p{space}*([iI])\p{space}*(?=[\p{space}\]]|\/\*|(?=\n?$))/dgv},{captures:{1:{name:"string.unquoted.attribute-value.css",patterns:[{include:"#escapes"}]}},match:/(?<==)\p{space}*((?!\/\*)(?:[^\\"'\p{space}\]]|\\[^\n])+)/dgv},{include:"#escapes"},{match:/[\~\|\^\$\*]?=/dgv,name:"keyword.operator.pattern.css"},{match:/\|/dgv,name:"punctuation.separator.css"},{captures:{1:{name:"entity.other.namespace-prefix.css",patterns:[{include:"#escapes"}]}},match:/(-?(?!\p{Nd})(?:[\p{L}\p{M}\p{N}\p{Pc}\-]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))+|\*)(?=\|(?!\p{space}|=|(?=\n?$)|\])(?:-?(?!\p{Nd})|[\\\p{L}\p{M}\p{N}\p{Pc}\-]|[^\x00-\x7F]))/dgv},{captures:{1:{name:"entity.other.attribute-name.css",patterns:[{include:"#escapes"}]}},match:new k("(-?(?!\\p{Nd})(?:(?=([\\p{L}\\p{M}\\p{N}\\p{Pc}\\-]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|[^\\n])))\\2)+)\\p{space}*(?=[\\~\\|\\^\\]\\$\\*\\=]|/\\*)","dgv",{hiddenCaptures:[2]})}]},{include:"#pseudo-classes"},{include:"#pseudo-elements"},{include:"#functional-pseudo-classes"},{match:/(?<![\@\p{L}\p{M}\p{N}\p{Pc}\-])(?=[a-z][\p{L}\p{M}\p{N}\p{Pc}]*-)(?:(?![A-Z])[\p{L}\p{M}\p{N}\p{Pc}\-])+(?![\(\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"entity.name.tag.custom.css"}]},string:{patterns:[{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/"|(?<!\\)(?=(?=\n?$)|\n)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{begin:new k('(?:^|^)(?=(?:[^\\\\"]|\\\\[^\\n])+(?=\\n?$))',"dgv",{strategy:"clip_search"}),end:/(?=\n?$)/dgv,name:"invalid.illegal.unclosed.string.css",patterns:[{include:"#escapes"}]},{include:"#escapes"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/'|(?<!\\)(?=(?=\n?$)|\n)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{begin:new k("(?:^|^)(?=(?:[^\\\\']|\\\\[^\\n])+(?=\\n?$))","dgv",{strategy:"clip_search"}),end:/(?=\n?$)/dgv,name:"invalid.illegal.unclosed.string.css",patterns:[{include:"#escapes"}]},{include:"#escapes"}]}]},"tag-names":{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\:\-])(?:a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark|marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern|annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced|mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot|mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup|msup|mtable|mtd|mtext|mtr|munder|munderover|semantics)(?=[\+\~\>\p{space}\,\.\#\|\)\{\:\[]|\/\*|(?=\n?$))/dgiv,name:"entity.name.tag.css"},"unicode-range":{captures:{0:{name:"constant.other.unicode-range.css"},1:{name:"punctuation.separator.dash.unicode-range.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])[Uu]\+[0-9A-Fa-f\?]{1,6}(?:(-)[0-9A-Fa-f]{1,6})?(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv},url:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\@\-])(url)(\()/dgiv,beginCaptures:{1:{name:"support.function.url.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.url.css",patterns:[{match:/[^'"\)\p{space}]+/dgv,name:"variable.parameter.url.css"},{include:"#string"},{include:"#comment-block"},{include:"#escapes"}]}},scopeName:"source.css",embeddedLangs:void 0,aliases:void 0}),Bn=[Ep],$d=Object.freeze(Object.defineProperty({__proto__:null,default:Bn},Symbol.toStringTag,{value:"Module"})),Bp=Object.freeze({displayName:"JavaScript",name:"javascript",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.js"},"after-operator-block-as-object-literal":{begin:/(?<!\+\+|--)(?<=[\:\=\(\,\[\?\+\!\>]|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^throw|[^\._\$\p{Alpha}\p{Nd}]throw|^in|[^\._\$\p{Alpha}\p{Nd}]in|^of|[^\._\$\p{Alpha}\p{Nd}]of|^typeof|[^\._\$\p{Alpha}\p{Nd}]typeof|&&|\|\||\*)\p{space}*(\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.objectliteral.js",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:/\p{space}*(\[)/dgv,beginCaptures:{1:{name:"meta.brace.square.js"}},end:/\]/dgv,endCaptures:{0:{name:"meta.brace.square.js"}},name:"meta.array.literal.js",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"arrow-function":{patterns:[{captures:{1:{name:"storage.modifier.async.js"},2:{name:"variable.parameter.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync)\p{space}+)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?==>)/dgv,name:"meta.arrow.js"},{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync))?((?<![\}\)\!\]])\p{space}*(?=((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|([\<]\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+extends\p{space}*[^\=\>])|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.arrow.js",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.js"}},end:/((?<=\}|\P{space})(?<!=>)|((?!\{)(?=\P{space})))(?!\/[\/\*])/dgv,name:"meta.arrow.js",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.return.type.arrow.js",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:/(?<=[\:])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(async)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.async.js"},"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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))true(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.true.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))false(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.false.js"}]},brackets:{patterns:[{begin:/\{/dgv,end:/\}|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]},{begin:/\[/dgv,end:/\]|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]}]},cast:{patterns:[{include:"#jsx"}]},"class-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(class)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.type.class.js"}},end:/(?<=\})/dgv,name:"meta.class.js",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.js"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(class)\b(?=\p{space}+|[\<\{]|\/[\/\*])/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.type.class.js"}},end:/(?<=\})/dgv,name:"meta.class.js",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:/(?<=:)\p{space}*/dgv,end:/(?=\p{space}|[\;\)\,\}\]\:\-\+]|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\b(extends|implements)\b(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"storage.modifier.js"}},end:/(?=\{)/dgv,patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{include:"#type-parameters"},{include:"#expressionWithoutIdentifiers"},{captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}*\??\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)*\p{space}*)/dgv},{captures:{1:{name:"entity.other.inherited-class.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.js"}},name:"comment.block.documentation.js",patterns:[{include:"#docblock"}]},{begin:/(\/\*)(?:\p{space}*((@)internal)(?=\p{space}|(\*\/)))?/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.js"},2:{name:"storage.type.internaldeclaration.js"},3:{name:"punctuation.decorator.internaldeclaration.js"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.js"}},name:"comment.block.js"},{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js"},2:{name:"comment.line.double-slash.js"},3:{name:"punctuation.definition.comment.js"},4:{name:"storage.type.internaldeclaration.js"},5:{name:"punctuation.decorator.internaldeclaration.js"}},contentName:"comment.line.double-slash.js",end:/(?=(?=\n?$))/dgv}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(catch|finally|throw|try)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.trycatch.js"},{captures:{1:{name:"keyword.control.loop.js"},2:{name:"entity.name.label.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|goto)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|do|goto|while)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.loop.js"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(return)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.control.flow.js"}},end:/(?=[\;\}]|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#expression"}]},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default|switch)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.switch.js"},{include:"#if-statement"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(else|if)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.conditional.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(with)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.with.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(package)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(debugger)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.other.debugger.js"}]},"decl-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.block.js",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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(declare|export)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.js"}]},decorator:{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))@/dgv,beginCaptures:{0:{name:"punctuation.decorator.js"}},end:/(?=\p{space})/dgv,name:"meta.decorator.js",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.js",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.array-binding-pattern-variable.js",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},name:"meta.parameter.object-binding-pattern.js",patterns:[{include:"#parameter-object-binding-element"}]},{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},name:"meta.paramter.array-binding-pattern.js",patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]}]},"destructuring-parameter-rest":{captures:{1:{name:"keyword.operator.rest.js"},2:{name:"variable.parameter.js"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.js",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.array-binding-pattern-variable.js",patterns:[{include:"#array-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-variable-rest":{captures:{1:{name:"keyword.operator.rest.js"},2:{name:"meta.definition.variable.js variable.other.readwrite.js"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.js"},2:{name:"meta.definition.variable.js variable.other.constant.js"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},directives:{begin:/^(\/\/\/)\p{space}*(?=<(reference|amd-dependency|amd-module)(\p{space}+(path|types|no-default-lib|lib|name|resolution-mode)\p{space}*=\p{space}*(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))+\p{space}*\/>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.js"}},end:/(?=(?=\n?$))/dgv,name:"comment.line.triple-slash.directive.js",patterns:[{begin:/(<)(reference|amd-dependency|amd-module)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.directive.js"},2:{name:"entity.name.tag.directive.js"}},end:/\/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.directive.js"}},name:"meta.tag.js",patterns:[{match:/path|types|no-default-lib|lib|name|resolution-mode/dgv,name:"entity.other.attribute-name.directive.js"},{match:/=/dgv,name:"keyword.operator.assignment.js"},{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:/((@)(?:access|api))\p{space}+(private|protected|public)\b/dgv},{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)\p{space}+([^\@\p{space}\<\>\*\/](?:[^\@\<\>\*\/]|\*[^\/])*)(?:\p{space}*(<)([^\>\p{space}]+)(>))?/dgv},{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)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)\p{space}+(as)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)/dgv},{begin:/((@)example)\p{space}+/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=@|\*\/)/dgv,name:"meta.example.jsdoc",patterns:[{match:/^\p{space}\*\p{space}+/dgv},{begin:/(<)caption(>)/dgvy,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(>)|(?=\*\/)/dgv,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.js"}},match:/[^\p{space}\@\*](?:[^\*]|\*[^\/])*/dgv}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:/((@)kind)\p{space}+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\b/dgv},{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)\p{space}+(?:((?=https?:\/\/)(?:[^\p{space}\*]|\*[^\/])+)|((?!https?:\/\/|(?:\[[^\[\]]*\])?\{@(?:link|linkcode|linkplain|tutorial)\b)(?:[^\@\p{space}\*\/]|\*[^\/])+))/dgv},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:/((@)template)\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*(?:\p{space}*,\p{space}*[A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)*)/dgv},{begin:/((@)template)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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))\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv},{begin:/((@)typedef)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/(?:[^\@\p{space}\*\/]|\*[^\/])+/dgv,name:"entity.name.type.instance.jsdoc"}]},{begin:/((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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.js"},4:{name:"punctuation.definition.optional-value.end.bracket.square.jsdoc"},5:{name:"invalid.illegal.syntax.jsdoc"}},match:new k(`(\\[)\\p{space}*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+(?:(?:\\[\\])?\\.[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+)*(?:\\p{space}*(=)\\p{space}*((?:(?=("(?:\\*(?!/)|\\\\(?!")|[^\\*\\\\])*?"|'(?:\\*(?!/)|\\\\(?!')|[^\\*\\\\])*?'|\\[(?:\\*(?!/)|[^\\*])*?\\]|(?:\\*(?!/)|\\p{space}(?!\\p{space}*\\])|\\[[^\\n]*?(?:\\]|(?=\\*/))|[^\\*\\p{space}\\[\\]])*))\\4)*))?\\p{space}*(?:(\\])((?:[^\\*\\p{space}]|\\*[^\\p{space}\\/])+)?|(?=\\*/))`,"dgv",{hiddenCaptures:[4]}),name:"variable.other.jsdoc"}]},{begin:/((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,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))\p{space}+((?:[^\{\}\@\p{space}\*]|\*[^\/])+)/dgv},{begin:/((@)(?:default(?:value)?|license|version))\p{space}+(([''"]))/dgv,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)|(?=(?=\n?$)|\*\/)()()/dgv,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))\p{space}+([^\p{space}\*]+)/dgv},{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/dgv,name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:/((@)[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}+)/dgv}]},"enum-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:\b(const)\p{space}+)?\b(enum)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.type.enum.js"},5:{name:"entity.name.type.enum.js"}},end:/(?<=\})/dgv,name:"meta.enum.declaration.js",patterns:[{include:"#comment"},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},patterns:[{include:"#comment"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{0:{name:"variable.other.enummember.js"}},end:/(?=,|\}|(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:/(?=(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\])))/dgv,end:/(?=,|\}|(?=\n?$))/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},"export-declaration":{patterns:[{captures:{1:{name:"keyword.control.export.js"},2:{name:"keyword.control.as.js"},3:{name:"storage.type.namespace.js"},4:{name:"entity.name.type.module.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)\p{space}+(as)\p{space}+(namespace)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?(?:\p{space}*(=)|\p{space}+(default)(?=\p{space}+))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"keyword.control.type.js"},3:{name:"keyword.operator.assignment.js"},4:{name:"keyword.control.default.js"}},end:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.export.default.js",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?\b(?!(\$)|(\p{space}*:))((?=\p{space}*[\{\*])|((?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}|,))(?!\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"keyword.control.type.js"}},end:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.export.js",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.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"entity.name.function.js variable.language.this.js"},4:{name:"entity.name.function.js"},5:{name:"keyword.operator.optional.js"}},match:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"variable.parameter.js variable.language.this.js"},4:{name:"variable.parameter.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)(?=\p{space}*[\:\,]|(?=\n?$))/dgv},{include:"#type-annotation"},{include:"#variable-initializer"},{match:/,/dgv,name:"punctuation.separator.parameter.js"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(await)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.flow.js"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?=\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*\*)/dgv,beginCaptures:{1:{name:"keyword.control.flow.js"}},end:/\*/dgv,endCaptures:{0:{name:"keyword.generator.asterisk.js"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.js"},2:{name:"keyword.generator.asterisk.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}*(\*))?/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))delete(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.delete.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))in(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.in.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))of(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.of.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.instanceof.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.new.js"},{include:"#typeof-operator"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))void(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.void.js"},{captures:{1:{name:"keyword.control.as.js"},2:{name:"storage.modifier.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*((?=\n?$)|[\;\,\:\}\)\]]))/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.js"},2:{name:"keyword.control.satisfies.js"}},end:/(?=^|[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisfies)\p{space}+)|(\p{space}+<))/dgv,patterns:[{include:"#type"}]},{match:/\.\.\./dgv,name:"keyword.operator.spread.js"},{match:/\*=|(?<!\()\/=|%=|\+=|-=/dgv,name:"keyword.operator.assignment.compound.js"},{match:/&=|\^=|<<=|>>=|>>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.js"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.js"},{match:/===|!==|==|!=/dgv,name:"keyword.operator.comparison.js"},{match:/<=|>=|<>|<|>/dgv,name:"keyword.operator.relational.js"},{captures:{1:{name:"keyword.operator.logical.js"},2:{name:"keyword.operator.assignment.compound.js"},3:{name:"keyword.operator.arithmetic.js"}},match:/(?<=[_\$\p{Alpha}\p{Nd}])(!)\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv},{match:/!|&&|\|\||\?\?/dgv,name:"keyword.operator.logical.js"},{match:/&|~|\^|\|/dgv,name:"keyword.operator.bitwise.js"},{match:/=/dgv,name:"keyword.operator.assignment.js"},{match:/--/dgv,name:"keyword.operator.decrement.js"},{match:/\+\+/dgv,name:"keyword.operator.increment.js"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.js"},{begin:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)+(?:(\/=)|(\/)(?![\/\*])))/dgv,end:/(?:(\/=)|(\/)(?!\*([^\*]|(\*[^\/]))*\*\/))/dgv,endCaptures:{1:{name:"keyword.operator.assignment.compound.js"},2:{name:"keyword.operator.arithmetic.js"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.operator.assignment.compound.js"},2:{name:"keyword.operator.arithmetic.js"}},match:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv}]},expressionPunctuations:{patterns:[{include:"#punctuation-comma"},{include:"#punctuation-accessor"}]},expressionWithoutIdentifiers:{patterns:[{include:"#jsx"},{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:/(?<!\()(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}+)?(?=\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|\}|(?=\n?$)))/dgv,beginCaptures:{1:{name:"storage.modifier.js"}},end:/(?=\}|;|,|(?=\n?$)|(^(?!\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|(?=\n?$)))))|(?<=\})/dgv,name:"meta.field.declaration.js",patterns:[{include:"#variable-initializer"},{include:"#type-annotation"},{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{include:"#comment"},{captures:{1:{name:"meta.definition.property.js entity.name.function.js"},2:{name:"keyword.operator.optional.js"},3:{name:"keyword.operator.definiteassignment.js"}},match:new k("(#?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?:(\\?)|(!))?(?=\\p{space}*\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{match:/#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.property.js variable.object.property.js"},{match:/\?/dgv,name:"keyword.operator.optional.js"},{match:/!/dgv,name:"keyword.operator.definiteassignment.js"}]},"for-loop":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))for(?=((\p{space}+|(\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*))await)?\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)?(\())/dgv,beginCaptures:{0:{name:"keyword.control.loop.js"}},end:/(?<=\))/dgv,patterns:[{include:"#comment"},{match:/await/dgv,name:"keyword.control.loop.js"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},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:/\*/dgv,name:"keyword.generator.asterisk.js"}]},"function-call":{patterns:[{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,end:/(?<=\))(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,name:"meta.function-call.js",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"},{include:"#paren-expression"}]},{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,end:/(?<=>)(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,name:"meta.function-call.js",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"}]}]},"function-call-optionals":{patterns:[{match:/\?\./dgv,name:"meta.function-call.js punctuation.accessor.optional.js"},{match:/!/dgv,name:"meta.function-call.js keyword.operator.definiteassignment.js"}]},"function-call-target":{patterns:[{include:"#support-function-call-identifiers"},{match:/(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.js"}]},"function-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.async.js"},4:{name:"storage.type.function.js"},5:{name:"keyword.generator.asterisk.js"},6:{name:"meta.definition.function.js entity.name.function.js"}},end:/(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|(?<=\})/dgv,name:"meta.function.js",patterns:[{include:"#function-name"},{include:"#function-body"}]},"function-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"storage.type.function.js"},3:{name:"keyword.generator.asterisk.js"},4:{name:"meta.definition.function.js entity.name.function.js"}},end:/(?=;)|(?<=\})/dgv,name:"meta.function.expression.js",patterns:[{include:"#function-name"},{include:"#single-line-comment-consuming-line-ending"},{include:"#function-body"}]},"function-name":{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.function.js entity.name.function.js"},"function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.parameters.begin.js"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.parameters.end.js"}},name:"meta.parameters.js",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:/,/dgv,name:"punctuation.separator.parameter.js"}]},identifiers:{patterns:[{include:"#object-identifiers"},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"entity.name.function.js"}},match:/(?:(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*=\p{space}*(((async\p{space}+)?((function\p{space}*[\(\<\*])|(function\p{space}+)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=>)))|((async\p{space}*)?(((<\p{space}*(?=\n?$))|([\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|([\<]\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+extends\p{space}*[^\=\>])|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))))/dgv},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"variable.other.constant.property.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"variable.other.property.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{match:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv,name:"variable.other.constant.js"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.js"}]},"if-statement":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bif\p{space}*(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))\p{space}*(?!\{))/dgv,end:/(?=;|(?=\n?$)|\})/dgv,patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(if)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.conditional.js"},2:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression"}]},{begin:/(?<=\))\p{space}*\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"keyword.other.js"}},name:"string.regexp.js",patterns:[{include:"#regexp"}]},{include:"#statements"}]}]},"import-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type)(?!\p{space}+from))?(?!\p{space}*[\:\(])(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"keyword.control.import.js"},4:{name:"keyword.control.type.js"}},end:/(?<!^import|[^\._\$\p{Alpha}\p{Nd}]import)(?=;|(?=\n?$)|^)/dgv,name:"meta.import.js",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#string"},{begin:/(?<=^import|[^\._\$\p{Alpha}\p{Nd}]import)(?!\p{space}*["'])/dgv,end:/\bfrom\b/dgv,endCaptures:{0:{name:"keyword.control.from.js"}},patterns:[{include:"#import-export-declaration"}]},{include:"#import-export-declaration"}]},"import-equals-declaration":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(require)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"keyword.control.import.js"},4:{name:"keyword.control.type.js"},5:{name:"variable.other.readwrite.alias.js"},6:{name:"keyword.operator.assignment.js"},7:{name:"keyword.control.require.js"},8:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},name:"meta.import-equals.external.js",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(?!require\b)/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"keyword.control.import.js"},4:{name:"keyword.control.type.js"},5:{name:"variable.other.readwrite.alias.js"},6:{name:"keyword.operator.assignment.js"}},end:/(?=;|(?=\n?$)|^)/dgv,name:"meta.import-equals.internal.js",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.readwrite.js"}]}]},"import-export-assert-clause":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(with)|(assert))\p{space}*(\{)/dgv,beginCaptures:{1:{name:"keyword.control.with.js"},2:{name:"keyword.control.assert.js"},3:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},patterns:[{include:"#comment"},{include:"#string"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object-literal.key.js"},{match:/:/dgv,name:"punctuation.separator.key-value.js"}]},"import-export-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.block.js",patterns:[{include:"#import-export-clause"}]},"import-export-clause":{patterns:[{include:"#comment"},{captures:{1:{name:"keyword.control.type.js"},2:{name:"keyword.control.default.js"},3:{name:"constant.language.import-export-all.js"},4:{name:"variable.other.readwrite.js"},5:{name:"string.quoted.alias.js"},12:{name:"keyword.control.as.js"},13:{name:"keyword.control.default.js"},14:{name:"variable.other.readwrite.alias.js"},15:{name:"string.quoted.alias.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\btype)\p{space}+)?(?:(\bdefault)|(\*)|(\b[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))\p{space}+(as)\p{space}+(?:(default(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv},{include:"#punctuation-comma"},{match:/\*/dgv,name:"constant.language.import-export-all.js"},{match:/\b(default)\b/dgv,name:"keyword.control.default.js"},{captures:{1:{name:"keyword.control.type.js"},2:{name:"variable.other.readwrite.alias.js"},3:{name:"string.quoted.alias.js"}},match:/(?:(\btype)\p{space}+)?(?:([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv}]},"import-export-declaration":{patterns:[{include:"#comment"},{include:"#string"},{include:"#import-export-block"},{match:/\bfrom\b/dgv,name:"keyword.control.from.js"},{include:"#import-export-assert-clause"},{include:"#import-export-clause"}]},"indexer-declaration":{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=:)/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"meta.brace.square.js"},3:{name:"variable.parameter.js"}},end:/(\])\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,endCaptures:{1:{name:"meta.brace.square.js"},2:{name:"keyword.operator.optional.js"}},name:"meta.indexer.declaration.js",patterns:[{include:"#type-annotation"}]},"indexer-mapped-type-declaration":{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([\+\-])?(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}+(in)\p{space}+/dgv,beginCaptures:{1:{name:"keyword.operator.type.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"meta.brace.square.js"},4:{name:"entity.name.type.js"},5:{name:"keyword.operator.expression.in.js"}},end:/(\])([\+\-])?\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,endCaptures:{1:{name:"meta.brace.square.js"},2:{name:"keyword.operator.type.modifier.js"},3:{name:"keyword.operator.optional.js"}},name:"meta.indexer.mappedtype.declaration.js",patterns:[{captures:{1:{name:"keyword.control.as.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+/dgv},{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))/dgv,name:"constant.other.description.jsdoc"},{begin:/(\{)((@)(?:link(?:code|plain)?|tutorial))\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"},2:{name:"storage.type.class.jsdoc"},3:{name:"punctuation.definition.inline.tag.jsdoc"}},end:/\}|(?=\*\/)/dgv,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:/((?=https?:\/\/)(?:[^\|\}\p{space}\*]|\*[\/])+)(\|)?/dgvy},{captures:{1:{name:"variable.other.description.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:/((?:[^\{\}\@\p{space}\|\*]|\*[^\/])+)(\|)?/dgvy}]}]},"instanceof-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(instanceof)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.expression.instanceof.js"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|(===|!==|==|!=)|(([\&\~\^\|]\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,patterns:[{include:"#type"}]},"interface-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(interface)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.type.interface.js"}},end:/(?<=\})/dgv,name:"meta.interface.js",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.interface.js"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},jsdoctype:{patterns:[{begin:/(\{)/dgvy,beginCaptures:{0:{name:"entity.name.type.instance.jsdoc"},1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"}},contentName:"entity.name.type.instance.jsdoc",end:/((\}))\p{space}*|(?=\*\/)/dgv,endCaptures:{1:{name:"entity.name.type.instance.jsdoc"},2:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},patterns:[{include:"#brackets"}]}]},jsx:{patterns:[{include:"#jsx-tag-without-attributes-in-expression"},{include:"#jsx-tag-in-expression"}]},"jsx-children":{patterns:[{include:"#jsx-tag-without-attributes"},{include:"#jsx-tag"},{include:"#jsx-evaluated-code"},{include:"#jsx-entities"}]},"jsx-entities":{patterns:[{captures:{1:{name:"punctuation.definition.entity.js"},3:{name:"punctuation.definition.entity.js"}},match:/(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)/dgv,name:"constant.character.entity.js"}]},"jsx-evaluated-code":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.embedded.begin.js"}},contentName:"meta.embedded.expression.js",end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.embedded.end.js"}},patterns:[{include:"#expression"}]},"jsx-string-double-quoted":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.double.js",patterns:[{include:"#jsx-entities"}]},"jsx-string-single-quoted":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.single.js",patterns:[{include:"#jsx-entities"}]},"jsx-tag":{begin:/(?=(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>))/dgv,end:/(\/>)|(<\/)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.js"},2:{name:"punctuation.definition.tag.begin.js"},3:{name:"entity.name.tag.namespace.js"},4:{name:"punctuation.separator.namespace.js"},5:{name:"entity.name.tag.js"},6:{name:"support.class.component.js"},7:{name:"punctuation.definition.tag.end.js"}},name:"meta.tag.js",patterns:[{begin:/(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.js"},2:{name:"entity.name.tag.namespace.js"},3:{name:"punctuation.separator.namespace.js"},4:{name:"entity.name.tag.js"},5:{name:"support.class.component.js"}},end:/(?=[\/]?>)/dgv,patterns:[{include:"#comment"},{include:"#type-arguments"},{include:"#jsx-tag-attributes"}]},{begin:/(>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.end.js"}},contentName:"meta.jsx.children.js",end:/(?=<\/)/dgv,patterns:[{include:"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{match:/=(?=\p{space}*(?:'|"|\{|\/\*|\/\/|\n))/dgv,name:"keyword.operator.assignment.js"},"jsx-tag-attribute-name":{captures:{1:{name:"entity.other.attribute-name.namespace.js"},2:{name:"punctuation.separator.namespace.js"},3:{name:"entity.other.attribute-name.js"}},match:/\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(:))?([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}]*)(?=\p{space}|=|\/?>|\/\*|\/\/)/dgv},"jsx-tag-attributes":{begin:/\p{space}+/dgv,end:/(?=[\/]?>)/dgv,name:"meta.tag.attributes.js",patterns:[{include:"#comment"},{include:"#jsx-tag-attribute-name"},{include:"#jsx-tag-attribute-assignment"},{include:"#jsx-string-double-quoted"},{include:"#jsx-string-single-quoted"},{include:"#jsx-evaluated-code"},{include:"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{match:/\P{space}+/dgv,name:"invalid.illegal.attribute.js"},"jsx-tag-in-expression":{begin:/(?<!\+\+|--)(?<=[\(\{\[\,\?\=\>\:\*]|&&|\|\||\?|\*\/|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^default|[^\._\$\p{Alpha}\p{Nd}]default|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^)\p{space}*(?!<\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*((\p{space}+extends\p{space}+[^\=\>])|,))(?=(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>))/dgv,end:/(?!(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>))/dgv,patterns:[{include:"#jsx-tag"}]},"jsx-tag-without-attributes":{begin:/(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.js"},2:{name:"entity.name.tag.namespace.js"},3:{name:"punctuation.separator.namespace.js"},4:{name:"entity.name.tag.js"},5:{name:"support.class.component.js"},6:{name:"punctuation.definition.tag.end.js"}},contentName:"meta.jsx.children.js",end:/(<\/)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.js"},2:{name:"entity.name.tag.namespace.js"},3:{name:"punctuation.separator.namespace.js"},4:{name:"entity.name.tag.js"},5:{name:"support.class.component.js"},6:{name:"punctuation.definition.tag.end.js"}},name:"meta.tag.without-attributes.js",patterns:[{include:"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{begin:/(?<!\+\+|--)(?<=[\(\{\[\,\?\=\>\:\*]|&&|\|\||\?|\*\/|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^default|[^\._\$\p{Alpha}\p{Nd}]default|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^)\p{space}*(?=(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>))/dgv,end:/(?!(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>))/dgv,patterns:[{include:"#jsx-tag-without-attributes"}]},label:{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)(?=\p{space}*\{)/dgv,beginCaptures:{1:{name:"entity.name.label.js"},2:{name:"punctuation.separator.label.js"}},end:/(?<=\})/dgv,patterns:[{include:"#decl-block"}]},{captures:{1:{name:"entity.name.label.js"},2:{name:"punctuation.separator.label.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv}]},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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?\p{space}*\b(constructor)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.modifier.async.js"},5:{name:"storage.type.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\p{space}*\b(new)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))|(?:(\*)\p{space}*)?)(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.modifier.async.js"},5:{name:"keyword.operator.new.js"},6:{name:"keyword.generator.asterisk.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.modifier.async.js"},5:{name:"storage.type.property.js"},6:{name:"keyword.generator.asterisk.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]}]},"method-declaration-name":{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??)\p{space}*[\(\<])/dgv,end:/(?=\(|<)/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.method.js entity.name.function.js"},{match:/\?/dgv,name:"keyword.operator.optional.js"}]},"namespace-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(namespace|module)\p{space}+(?=[_\$\p{Alpha}"'\`])/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.namespace.js"}},end:/(?<=\})|(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.namespace.declaration.js",patterns:[{include:"#comment"},{include:"#string"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.type.module.js"},{include:"#punctuation-accessor"},{include:"#decl-block"}]},"new-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.new.js"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,name:"new.expr.js",patterns:[{include:"#expression"}]},"null-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))null(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.null.js"},"numeric-literal":{patterns:[{captures:{1:{name:"storage.type.numeric.bigint.js"}},match:/\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.hex.js"},{captures:{1:{name:"storage.type.numeric.bigint.js"}},match:/\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.binary.js"},{captures:{1:{name:"storage.type.numeric.bigint.js"}},match:/\b(?<!\$)0(?:o|O)?[0-7][0-7_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.octal.js"},{captures:{0:{name:"constant.numeric.decimal.js"},1:{name:"meta.delimiter.decimal.period.js"},2:{name:"storage.type.numeric.bigint.js"},3:{name:"meta.delimiter.decimal.period.js"},4:{name:"storage.type.numeric.bigint.js"},5:{name:"meta.delimiter.decimal.period.js"},6:{name:"storage.type.numeric.bigint.js"},7:{name:"storage.type.numeric.bigint.js"},8:{name:"meta.delimiter.decimal.period.js"},9:{name:"storage.type.numeric.bigint.js"},10:{name:"meta.delimiter.decimal.period.js"},11:{name:"storage.type.numeric.bigint.js"},12:{name:"meta.delimiter.decimal.period.js"},13:{name:"storage.type.numeric.bigint.js"},14:{name:"storage.type.numeric.bigint.js"}},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(?!\.))(?!\$)/dgv}]},"numericConstant-literal":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))NaN(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.nan.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Infinity(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.infinity.js"}]},"object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(:)/dgv,endCaptures:{0:{name:"punctuation.destructuring.js"}},patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.object.property.js"}]},"object-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},patterns:[{include:"#object-binding-element"}]},"object-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},patterns:[{include:"#object-binding-element-const"}]},"object-identifiers":{patterns:[{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*\??\.\p{space}*prototype\b(?!\$))/dgv,name:"support.class.js"},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"variable.other.constant.object.property.js"},4:{name:"variable.other.object.property.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{1:{name:"variable.other.constant.object.js"},2:{name:"variable.other.object.js"}},match:/(?:([\p{Upper}][_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv}]},"object-literal":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.objectliteral.js",patterns:[{include:"#object-member"}]},"object-literal-method-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"storage.type.property.js"},3:{name:"keyword.generator.asterisk.js"}},end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"storage.type.property.js"},3:{name:"keyword.generator.asterisk.js"}},end:/(?=\(|<)/dgv,patterns:[{include:"#method-declaration-name"}]}]},"object-member":{patterns:[{include:"#comment"},{include:"#object-literal-method-declaration"},{begin:/(?=\[)/dgv,end:/(?=:)|((?<=[\]])(?=\p{space}*[\(\<]))/dgv,name:"meta.object.member.js meta.object-literal.key.js",patterns:[{include:"#comment"},{include:"#array-literal"}]},{begin:/(?=['"\`])/dgv,end:/(?=:)|((?<=['"\`])(?=((\p{space}*[\(\<\,\}])|(\p{space}+(as|satisifies)\p{space}+))))/dgv,name:"meta.object.member.js meta.object-literal.key.js",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?=(\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$)))/dgv,end:/(?=:)|(?=\p{space}*([\(\<\,\}])|(\p{space}+as|satisifies\p{space}+))/dgv,name:"meta.object.member.js meta.object-literal.key.js",patterns:[{include:"#comment"},{include:"#numeric-literal"}]},{begin:/(?<=[\]'"\`])(?=\p{space}*[\(\<])/dgv,end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#function-body"}]},{captures:{0:{name:"meta.object-literal.key.js"},1:{name:"constant.numeric.decimal.js"}},match:/(?![_\$\p{Alpha}])([\p{Nd}]+)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.js"},{captures:{0:{name:"meta.object-literal.key.js"},1:{name:"entity.name.function.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:(\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/)*\p{space}*(((async\p{space}+)?((function\p{space}*[\(\<\*])|(function\p{space}+)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=>)))|((async\p{space}*)?(((<\p{space}*(?=\n?$))|([\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|([\<]\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+extends\p{space}*[^\=\>])|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))))/dgv,name:"meta.object.member.js"},{captures:{0:{name:"meta.object-literal.key.js"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.js"},{begin:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.js"}},end:/(?=,|\})/dgv,name:"meta.object.member.js",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.js"},{captures:{1:{name:"keyword.control.as.js"},2:{name:"storage.modifier.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*([\,\}]|(?=\n?$)))/dgv,name:"meta.object.member.js"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.js"},2:{name:"keyword.control.satisfies.js"}},end:/(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|^|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisifies)\p{space}+))/dgv,name:"meta.object.member.js",patterns:[{include:"#type"}]},{begin:/(?=[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=)/dgv,end:/(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.js",patterns:[{include:"#expression"}]},{begin:/:/dgv,beginCaptures:{0:{name:"meta.object-literal.key.js punctuation.separator.key-value.js"}},end:/(?=,|\})/dgv,name:"meta.object.member.js",patterns:[{begin:/(?<=:)\p{space}*(async)?(?=\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=\))/dgv,patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(?=<\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=>)/dgv,patterns:[{include:"#type-parameters"}]},{begin:/(?<=>)\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},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:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},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.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"entity.name.function.js variable.language.this.js"},4:{name:"entity.name.function.js"},5:{name:"keyword.operator.optional.js"}},match:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"variable.parameter.js variable.language.this.js"},4:{name:"variable.parameter.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)/dgv}]},"parameter-object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},patterns:[{include:"#parameter-object-binding-element"}]},"parameter-type-annotation":{patterns:[{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?=[\,\)])|(?==[^\>])/dgv,name:"meta.type.annotation.js",patterns:[{include:"#type"}]}]},"paren-expression":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression"}]},"paren-expression-possibly-arrow":{patterns:[{begin:/(?<=[\(\=\,])\p{space}*(async)?(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{begin:/(?<=[\(\=\,]|=>|^return|[^\._\$\p{Alpha}\p{Nd}]return)\p{space}*(async)?(?=\p{space}*((((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\()|(<)|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)))\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{include:"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{begin:/(?<=\)|^)\p{space}*(:)(?=\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*=>)/dgv,beginCaptures:{1:{name:"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js"}},contentName:"meta.arrow.js meta.return.type.arrow.js",end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,patterns:[{include:"#arrow-return-type-body"}]},"property-accessor":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(accessor|get|set)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.type.property.js"},"punctuation-accessor":{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.js"},"punctuation-semicolon":{match:/;/dgv,name:"punctuation.terminator.statement.js"},"qstring-double":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(")|([^\\\n](?=\n?$))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"invalid.illegal.newline.js"}},name:"string.quoted.double.js",patterns:[{include:"#string-character-escape"}]},"qstring-single":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(')|([^\\\n](?=\n?$))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"invalid.illegal.newline.js"}},name:"string.quoted.single.js",patterns:[{include:"#string-character-escape"}]},regex:{patterns:[{begin:/(?<!\+\+|--|\})(?<=[\=\(\:\,\[\?\+\!]|^return|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case|=>|&&|\|\||\*\/)\p{space}*(\/)(?![\/\*])(?=(?:[^\/\\\[\(\)]|\\[^\n]|\[([^\]\\]|\\[^\n])+\]|\(([^\)\\]|\\[^\n])+\))+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.js"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"keyword.other.js"}},name:"string.regexp.js",patterns:[{include:"#regexp"}]},{begin:/((?<![_\$\p{Alpha}\p{Nd}\)\]]|\+\+|--|\}|\*\/)|((?<=^return|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case))\p{space}*)\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"keyword.other.js"}},name:"string.regexp.js",patterns:[{include:"#regexp"}]}]},"regex-character-class":{patterns:[{match:/\\[wWsSdDtrnvf]|\./dgv,name:"constant.other.character-class.regexp"},{match:/\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.numeric.regexp"},{match:/\\c[A-Z]/dgv,name:"constant.character.control.regexp"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:/\\[bB]|\^|\$/dgv,name:"keyword.control.anchor.regexp"},{captures:{0:{name:"keyword.other.back-reference.regexp"},1:{name:"variable.other.regexp"}},match:/\\[1-9]\p{Nd}*|\\k<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>/dgv},{match:/[\?\+\*]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{begin:/(\()((\?=)|(\?!)|(\?<=)|(\?<!))/dgv,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:/(\))/dgv,endCaptures:{1:{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:/\((?:(\?:)|\?<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>)?/dgv,beginCaptures:{0:{name:"punctuation.definition.group.regexp"},1:{name:"punctuation.definition.group.no-capture.regexp"},2:{name:"variable.other.regexp"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:/(\[)(\^)?/dgv,beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:/(\])/dgv,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:/(?:[^\n]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))/dgv,name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"return-type":{patterns:[{begin:/(?<=\))\p{space}*(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])(?=(?=\n?$)|^|[\{\}\;\,]|\/\/)/dgv,name:"meta.return.type.js",patterns:[{include:"#return-type-core"}]},{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])((?=[\{\}\;\,]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.return.type.js",patterns:[{include:"#return-type-core"}]}]},"return-type-core":{patterns:[{include:"#comment"},{begin:/(?<=[\:\|\&])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},shebang:{captures:{1:{name:"punctuation.definition.comment.js"}},match:/^(#!)[^\n]*(?=(?=\n?$))/dgv,name:"comment.line.shebang.js"},"single-line-comment-consuming-line-ending":{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js"},2:{name:"comment.line.double-slash.js"},3:{name:"punctuation.definition.comment.js"},4:{name:"storage.type.internaldeclaration.js"},5:{name:"punctuation.decorator.internaldeclaration.js"}},contentName:"comment.line.double-slash.js",end:/(?=^)/dgv},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[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]+\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.js"},"super-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))super\b(?!\$)/dgv,name:"variable.language.super.js"},"support-function-call-identifiers":{patterns:[{include:"#literal"},{include:"#support-objects"},{include:"#object-identifiers"},{include:"#punctuation-accessor"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*[\(]\p{space}*["'\`])/dgv,name:"keyword.operator.expression.import.js"}]},"support-objects":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(arguments)\b(?!\$)/dgv,name:"variable.language.arguments.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(Promise)\b(?!\$)/dgv,name:"support.class.promise.js"},{captures:{1:{name:"keyword.control.import.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"},4:{name:"support.variable.property.importmeta.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(import)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(meta)\b(?!\$)/dgv},{captures:{1:{name:"keyword.operator.new.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"},4:{name:"support.variable.property.target.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(target)\b(?!\$)/dgv},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"support.variable.property.js"},4:{name:"support.constant.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(constructor|length|prototype|__proto__)\b(?!\$|\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\b(?!\$))/dgv},{captures:{1:{name:"support.type.object.module.js"},2:{name:"support.type.object.module.js"},3:{name:"punctuation.accessor.js"},4:{name:"punctuation.accessor.optional.js"},5:{name:"support.type.object.module.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(exports)|(module)(?:(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(exports|id|filename|loaded|parent|children))?)\b(?!\$)/dgv}]},"switch-statement":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bswitch\p{space}*\()/dgv,end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"switch-statement.expr.js",patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(switch)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.switch.js"},2:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},name:"switch-expression.expr.js",patterns:[{include:"#expression"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/(?=\})/dgv,name:"switch-block.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default(?=:))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.control.switch.js"}},end:/(?=:)/dgv,name:"case-clause.expr.js",patterns:[{include:"#expression"}]},{begin:/(:)\p{space}*(\{)/dgv,beginCaptures:{1:{name:"case-clause.expr.js punctuation.definition.section.case-statement.js"},2:{name:"meta.block.js punctuation.definition.block.js"}},contentName:"meta.block.js",end:/\}/dgv,endCaptures:{0:{name:"meta.block.js punctuation.definition.block.js"}},patterns:[{include:"#statements"}]},{captures:{0:{name:"case-clause.expr.js punctuation.definition.section.case-statement.js"}},match:/(:)/dgv},{include:"#statements"}]}]},template:{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.js"},2:{name:"string.template.js punctuation.definition.string.template.begin.js"}},contentName:"string.template.js",end:/`/dgv,endCaptures:{0:{name:"string.template.js punctuation.definition.string.template.end.js"}},patterns:[{include:"#template-substitution-element"},{include:"#string-character-escape"}]}]},"template-call":{patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,end:/(?=`)/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,patterns:[{include:"#support-function-call-identifiers"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.tagged-template.js"}]},{include:"#type-arguments"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?\p{space}*(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.js"}},end:/(?=`)/dgv,patterns:[{include:"#type-arguments"}]}]},"template-substitution-element":{begin:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.js"}},contentName:"meta.embedded.line.js",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.js"}},name:"meta.template.expression.js",patterns:[{include:"#expression"}]},"template-type":{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.js"},2:{name:"string.template.js punctuation.definition.string.template.begin.js"}},contentName:"string.template.js",end:/`/dgv,endCaptures:{0:{name:"string.template.js punctuation.definition.string.template.end.js"}},patterns:[{include:"#template-type-substitution-element"},{include:"#string-character-escape"}]}]},"template-type-substitution-element":{begin:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.js"}},contentName:"meta.embedded.line.js",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.js"}},name:"meta.template.expression.js",patterns:[{include:"#type"}]},"ternary-expression":{begin:/(?!\?\.\p{space}*[^\p{Nd}])(\?)(?!\?)/dgv,beginCaptures:{1:{name:"keyword.operator.ternary.js"}},end:/\p{space}*(:)/dgv,endCaptures:{1:{name:"keyword.operator.ternary.js"}},patterns:[{include:"#expression"}]},"this-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))this\b(?!\$)/dgv,name:"variable.language.this.js"},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.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv},{include:"#type-name"}]},"type-alias-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(type)\b\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.type.js"},4:{name:"entity.name.type.alias.js"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.type.declaration.js",patterns:[{include:"#comment"},{include:"#type-parameters"},{begin:/(=)\p{space}*(intrinsic)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"},2:{name:"keyword.control.intrinsic.js"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]},{begin:/(=)\p{space}*/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]}]},"type-annotation":{patterns:[{begin:/(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])(?!\p{space}*[\|\&]\p{space}+)((?=^|[\,\)\;\}\]]|\/\/)|(?==[^\>])|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.js",patterns:[{include:"#type"}]},{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])((?=[\,\)\;\}\]]|\/\/)|(?==[^\>])|(?=^\p{space}*(?=\n?$))|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.js",patterns:[{include:"#type"}]}]},"type-arguments":{begin:/</dgv,beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.js"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.typeparameters.end.js"}},name:"meta.type.parameters.js",patterns:[{include:"#type-arguments-body"}]},"type-arguments-body":{patterns:[{captures:{0:{name:"keyword.operator.type.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(_)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"type-builtin-literals":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(this|true|false|undefined|null|object)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.builtin.js"},"type-conditional":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends)\p{space}+/dgv,beginCaptures:{1:{name:"storage.modifier.js"}},end:/(?<=:)/dgv,patterns:[{begin:/\?/dgv,beginCaptures:{0:{name:"keyword.operator.ternary.js"}},end:/:/dgv,endCaptures:{0:{name:"keyword.operator.ternary.js"}},patterns:[{include:"#type"}]},{include:"#type"}]}]},"type-fn-type-parameters":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b(?=\p{space}*<)/dgv,beginCaptures:{1:{name:"meta.type.constructor.js storage.modifier.js"},2:{name:"meta.type.constructor.js keyword.control.new.js"}},end:/(?<=>)/dgv,patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b\p{space}*(?=\()/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"keyword.control.new.js"}},end:/(?<=\))/dgv,name:"meta.type.constructor.js",patterns:[{include:"#function-parameters"}]},{begin:/((?=[\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.js",patterns:[{include:"#function-parameters"}]}]},"type-function-return-type":{patterns:[{begin:/(=>)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"storage.type.function.arrow.js"}},end:/(?<!=>)(?<![\|\&])(?=[\,\]\)\{\}\=\;\>\:\?]|\/\/|(?=\n?$))/dgv,name:"meta.type.function.return.js",patterns:[{include:"#type-function-return-type-core"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.js"}},end:/(?<!=>)(?<![\|\&])((?=[\,\]\)\{\}\=\;\:\?\>]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.type.function.return.js",patterns:[{include:"#type-function-return-type-core"}]}]},"type-function-return-type-core":{patterns:[{include:"#comment"},{begin:/(?<==>)(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"type-infer":{patterns:[{captures:{1:{name:"keyword.operator.expression.infer.js"},2:{name:"entity.name.type.js"},3:{name:"keyword.operator.expression.extends.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(infer)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}+(extends)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))?/dgv,name:"meta.type.infer.js"}]},"type-name":{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(<)/dgv,captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"},4:{name:"meta.type.parameters.js punctuation.definition.typeparameters.begin.js"}},contentName:"meta.type.parameters.js",end:/(>)/dgv,endCaptures:{1:{name:"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},patterns:[{include:"#type-arguments-body"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<)/dgv,beginCaptures:{1:{name:"entity.name.type.js"},2:{name:"meta.type.parameters.js punctuation.definition.typeparameters.begin.js"}},contentName:"meta.type.parameters.js",end:/(>)/dgv,endCaptures:{1:{name:"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},patterns:[{include:"#type-arguments-body"}]},{captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.js"}]},"type-object":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.object.type.js",patterns:[{include:"#comment"},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#indexer-mapped-type-declaration"},{include:"#field-declaration"},{include:"#type-annotation"},{begin:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,patterns:[{include:"#type"}]},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#type"}]},"type-operators":{patterns:[{include:"#typeof-operator"},{include:"#type-infer"},{begin:/([\&\|])(?=\p{space}*\{)/dgv,beginCaptures:{0:{name:"keyword.operator.type.js"}},end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{begin:/[\&\|]/dgv,beginCaptures:{0:{name:"keyword.operator.type.js"}},end:/(?=\P{space})/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))keyof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.keyof.js"},{match:/(\?|:)/dgv,name:"keyword.operator.ternary.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*\()/dgv,name:"keyword.operator.expression.import.js"}]},"type-parameters":{begin:/(<)/dgv,beginCaptures:{1:{name:"punctuation.definition.typeparameters.begin.js"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.typeparameters.end.js"}},name:"meta.type.parameters.js",patterns:[{include:"#comment"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out|const)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.js"},{include:"#type"},{include:"#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.js"}]},"type-paren-or-function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},name:"meta.type.paren.cover.js",patterns:[{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"entity.name.function.js variable.language.this.js"},4:{name:"entity.name.function.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=\p{space}*(:\p{space}*((<)|([\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>)))))))|(:\p{space}*(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Function(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|(:\p{space}*((<\p{space}*(?=\n?$))|([\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))))/dgv},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"variable.parameter.js variable.language.this.js"},4:{name:"variable.parameter.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=:)/dgv},{include:"#type-annotation"},{match:/,/dgv,name:"punctuation.separator.parameter.js"},{include:"#type"}]},"type-predicate-operator":{patterns:[{captures:{1:{name:"keyword.operator.type.asserts.js"},2:{name:"variable.parameter.js variable.language.this.js"},3:{name:"variable.parameter.js"},4:{name:"keyword.operator.expression.is.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(asserts)\p{space}+)?(?!asserts)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}(is)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{captures:{1:{name:"keyword.operator.type.asserts.js"},2:{name:"variable.parameter.js variable.language.this.js"},3:{name:"variable.parameter.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(asserts)\p{space}+(?!is)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))asserts(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.type.asserts.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))is(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.is.js"}]},"type-primitive":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.primitive.js"},"type-string":{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template-type"}]},"type-tuple":{begin:/\[/dgv,beginCaptures:{0:{name:"meta.brace.square.js"}},end:/\]/dgv,endCaptures:{0:{name:"meta.brace.square.js"}},name:"meta.type.tuple.js",patterns:[{match:/\.\.\./dgv,name:"keyword.operator.rest.js"},{captures:{1:{name:"entity.name.label.js"},2:{name:"keyword.operator.optional.js"},3:{name:"punctuation.separator.label.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(\?)?\p{space}*(:)/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"typeof-operator":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))typeof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.operator.expression.typeof.js"}},end:/(?=[\,\)\;\}\]\=\>\:\&\|\{\?]|(extends\p{space}+)|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type-arguments"},{include:"#expression"}]},"undefined-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))undefined(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.undefined.js"},"var-expr":{patterns:[{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^let|[^\._\$\p{Alpha}\p{Nd}]let|^var|[^\._\$\p{Alpha}\p{Nd}]var)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?=\P{space})/dgv},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.js"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^const|[^\._\$\p{Alpha}\p{Nd}]const)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?=\P{space})/dgv},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.js"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^using|[^\._\$\p{Alpha}\p{Nd}]using|^await\p{space}+using|[^\._\$\p{Alpha}\p{Nd}]await\p{space}+using)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?=\P{space})/dgv},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*((?!\P{space})|(?=\/\/))/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.js"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,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:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.js variable.other.constant.js entity.name.function.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{1:{name:"meta.definition.variable.js variable.other.constant.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable":{patterns:[{begin:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(!)?(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.js entity.name.function.js"},2:{name:"keyword.operator.definiteassignment.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.js variable.other.constant.js"},2:{name:"keyword.operator.definiteassignment.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.js variable.other.readwrite.js"},2:{name:"keyword.operator.definiteassignment.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{patterns:[{include:"#type-annotation"},{include:"#string"},{include:"#comment"}]},"variable-initializer":{patterns:[{begin:/(?<!=|!)(=)(?!=)(?=\p{space}*\P{space})(?!\p{space}*[^\n]*=>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"}},end:/(?=(?=\n?$)|^|[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,patterns:[{include:"#expression"}]},{begin:/(?<!=|!)(=)(?!=)/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"}},end:/(?=[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))|(?=^\p{space}*(?=\n?$))|(?<![\|\&\+\-\*\/])(?<=\P{space})(?<!=)(?=\p{space}*(?=\n?$))/dgv,patterns:[{include:"#expression"}]}]}},scopeName:"source.js",embeddedLangs:void 0,aliases:["js"]}),Ye=[Bp],vd=Object.freeze(Object.defineProperty({__proto__:null,default:Ye},Symbol.toStringTag,{value:"Module"})),Lp=Object.freeze({displayName:"TypeScript",name:"typescript",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},"after-operator-block-as-object-literal":{begin:/(?<!\+\+|--)(?<=[\:\=\(\,\[\?\+\!\>]|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^throw|[^\._\$\p{Alpha}\p{Nd}]throw|^in|[^\._\$\p{Alpha}\p{Nd}]in|^of|[^\._\$\p{Alpha}\p{Nd}]of|^typeof|[^\._\$\p{Alpha}\p{Nd}]typeof|&&|\|\||\*)\p{space}*(\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.objectliteral.ts",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:/\p{space}*(\[)/dgv,beginCaptures:{1:{name:"meta.brace.square.ts"}},end:/\]/dgv,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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync)\p{space}+)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?==>)/dgv,name:"meta.arrow.ts"},{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync))?((?<![\}\)\!\]])\p{space}*(?=((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.arrow.ts",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.ts"}},end:/((?<=\}|\P{space})(?<!=>)|((?!\{)(?=\P{space})))(?!\/[\/\*])/dgv,name:"meta.arrow.ts",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.return.type.arrow.ts",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:/(?<=[\:])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(async)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))true(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.true.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))false(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.false.ts"}]},brackets:{patterns:[{begin:/\{/dgv,end:/\}|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]},{begin:/\[/dgv,end:/\]|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]}]},cast:{patterns:[{captures:{1:{name:"meta.brace.angle.ts"},2:{name:"storage.modifier.ts"},3:{name:"meta.brace.angle.ts"}},match:/\p{space}*(<)\p{space}*(const)\p{space}*(>)/dgv,name:"cast.expr.ts"},{begin:/(?<!\+\+|--)(?<=^return|[^\._\$\p{Alpha}\p{Nd}]return|^throw|[^\._\$\p{Alpha}\p{Nd}]throw|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^await|[^\._\$\p{Alpha}\p{Nd}]await|^default|[^\._\$\p{Alpha}\p{Nd}]default|[\=\(\,\:\>\*\?\&\|\^]|[^_\$\p{Alpha}\p{Nd}](?:\+\+|--)|[^\+]\+|[^\-]-)\p{space}*(<)(?!<?=)(?!\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:/(>)/dgv,endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]},{begin:/(?<=^)\p{space}*(<)(?=[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*>)/dgv,beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:/(>)/dgv,endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]}]},"class-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(class)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.class.ts"}},end:/(?<=\})/dgv,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:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(class)\b(?=\p{space}+|[\<\{]|\/[\/\*])/dgv,beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"storage.type.class.ts"}},end:/(?<=\})/dgv,name:"meta.class.ts",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:/(?<=:)\p{space}*/dgv,end:/(?=\p{space}|[\;\)\,\}\]\:\-\+]|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\b(extends|implements)\b(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"storage.modifier.ts"}},end:/(?=\{)/dgv,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:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}*\??\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)*\p{space}*)/dgv},{captures:{1:{name:"entity.other.inherited-class.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.ts"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.documentation.ts",patterns:[{include:"#docblock"}]},{begin:/(\/\*)(?:\p{space}*((@)internal)(?=\p{space}|(\*\/)))?/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.ts"},2:{name:"storage.type.internaldeclaration.ts"},3:{name:"punctuation.decorator.internaldeclaration.ts"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.ts"},{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,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:/(?=(?=\n?$))/dgv}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(catch|finally|throw|try)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.trycatch.ts"},{captures:{1:{name:"keyword.control.loop.ts"},2:{name:"entity.name.label.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|goto)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|do|goto|while)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.loop.ts"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(return)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.control.flow.ts"}},end:/(?=[\;\}]|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#expression"}]},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default|switch)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.switch.ts"},{include:"#if-statement"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(else|if)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.conditional.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(with)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.with.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(package)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(debugger)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.other.debugger.ts"}]},"decl-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(declare|export)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"}]},decorator:{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))@/dgv,beginCaptures:{0:{name:"punctuation.decorator.ts"}},end:/(?=\p{space})/dgv,name:"meta.decorator.ts",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.array-binding-pattern-variable.ts",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},name:"meta.parameter.object-binding-pattern.ts",patterns:[{include:"#parameter-object-binding-element"}]},{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,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:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,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:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"meta.definition.variable.ts variable.other.constant.ts"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},directives:{begin:/^(\/\/\/)\p{space}*(?=<(reference|amd-dependency|amd-module)(\p{space}+(path|types|no-default-lib|lib|name|resolution-mode)\p{space}*=\p{space}*(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))+\p{space}*\/>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.ts"}},end:/(?=(?=\n?$))/dgv,name:"comment.line.triple-slash.directive.ts",patterns:[{begin:/(<)(reference|amd-dependency|amd-module)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.directive.ts"},2:{name:"entity.name.tag.directive.ts"}},end:/\/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.directive.ts"}},name:"meta.tag.ts",patterns:[{match:/path|types|no-default-lib|lib|name|resolution-mode/dgv,name:"entity.other.attribute-name.directive.ts"},{match:/=/dgv,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:/((@)(?:access|api))\p{space}+(private|protected|public)\b/dgv},{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)\p{space}+([^\@\p{space}\<\>\*\/](?:[^\@\<\>\*\/]|\*[^\/])*)(?:\p{space}*(<)([^\>\p{space}]+)(>))?/dgv},{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)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)\p{space}+(as)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)/dgv},{begin:/((@)example)\p{space}+/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=@|\*\/)/dgv,name:"meta.example.jsdoc",patterns:[{match:/^\p{space}\*\p{space}+/dgv},{begin:/(<)caption(>)/dgvy,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(>)|(?=\*\/)/dgv,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:/[^\p{space}\@\*](?:[^\*]|\*[^\/])*/dgv}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:/((@)kind)\p{space}+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\b/dgv},{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)\p{space}+(?:((?=https?:\/\/)(?:[^\p{space}\*]|\*[^\/])+)|((?!https?:\/\/|(?:\[[^\[\]]*\])?\{@(?:link|linkcode|linkplain|tutorial)\b)(?:[^\@\p{space}\*\/]|\*[^\/])+))/dgv},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:/((@)template)\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*(?:\p{space}*,\p{space}*[A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)*)/dgv},{begin:/((@)template)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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))\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv},{begin:/((@)typedef)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/(?:[^\@\p{space}\*\/]|\*[^\/])+/dgv,name:"entity.name.type.instance.jsdoc"}]},{begin:/((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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:new k(`(\\[)\\p{space}*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+(?:(?:\\[\\])?\\.[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+)*(?:\\p{space}*(=)\\p{space}*((?:(?=("(?:\\*(?!/)|\\\\(?!")|[^\\*\\\\])*?"|'(?:\\*(?!/)|\\\\(?!')|[^\\*\\\\])*?'|\\[(?:\\*(?!/)|[^\\*])*?\\]|(?:\\*(?!/)|\\p{space}(?!\\p{space}*\\])|\\[[^\\n]*?(?:\\]|(?=\\*/))|[^\\*\\p{space}\\[\\]])*))\\4)*))?\\p{space}*(?:(\\])((?:[^\\*\\p{space}]|\\*[^\\p{space}\\/])+)?|(?=\\*/))`,"dgv",{hiddenCaptures:[4]}),name:"variable.other.jsdoc"}]},{begin:/((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,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))\p{space}+((?:[^\{\}\@\p{space}\*]|\*[^\/])+)/dgv},{begin:/((@)(?:default(?:value)?|license|version))\p{space}+(([''"]))/dgv,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)|(?=(?=\n?$)|\*\/)()()/dgv,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))\p{space}+([^\p{space}\*]+)/dgv},{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/dgv,name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:/((@)[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}+)/dgv}]},"enum-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:\b(const)\p{space}+)?\b(enum)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,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:/(?<=\})/dgv,name:"meta.enum.declaration.ts",patterns:[{include:"#comment"},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{0:{name:"variable.other.enummember.ts"}},end:/(?=,|\}|(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:/(?=(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\])))/dgv,end:/(?=,|\}|(?=\n?$))/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)\p{space}+(as)\p{space}+(namespace)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?(?:\p{space}*(=)|\p{space}+(default)(?=\p{space}+))/dgv,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:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.export.default.ts",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?\b(?!(\$)|(\p{space}*:))((?=\p{space}*[\{\*])|((?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}|,))(?!\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)))/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.type.ts"}},end:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{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:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)(?=\p{space}*[\:\,]|(?=\n?$))/dgv},{include:"#type-annotation"},{include:"#variable-initializer"},{match:/,/dgv,name:"punctuation.separator.parameter.ts"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(await)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.flow.ts"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?=\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*\*)/dgv,beginCaptures:{1:{name:"keyword.control.flow.ts"}},end:/\*/dgv,endCaptures:{0:{name:"keyword.generator.asterisk.ts"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.ts"},2:{name:"keyword.generator.asterisk.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}*(\*))?/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))delete(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.delete.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))in(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.in.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))of(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.of.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.instanceof.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.new.ts"},{include:"#typeof-operator"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))void(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.void.ts"},{captures:{1:{name:"keyword.control.as.ts"},2:{name:"storage.modifier.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*((?=\n?$)|[\;\,\:\}\)\]]))/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.ts"},2:{name:"keyword.control.satisfies.ts"}},end:/(?=^|[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisfies)\p{space}+)|(\p{space}+<))/dgv,patterns:[{include:"#type"}]},{match:/\.\.\./dgv,name:"keyword.operator.spread.ts"},{match:/\*=|(?<!\()\/=|%=|\+=|-=/dgv,name:"keyword.operator.assignment.compound.ts"},{match:/&=|\^=|<<=|>>=|>>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.ts"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.ts"},{match:/===|!==|==|!=/dgv,name:"keyword.operator.comparison.ts"},{match:/<=|>=|<>|<|>/dgv,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:/(?<=[_\$\p{Alpha}\p{Nd}])(!)\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv},{match:/!|&&|\|\||\?\?/dgv,name:"keyword.operator.logical.ts"},{match:/&|~|\^|\|/dgv,name:"keyword.operator.bitwise.ts"},{match:/=/dgv,name:"keyword.operator.assignment.ts"},{match:/--/dgv,name:"keyword.operator.decrement.ts"},{match:/\+\+/dgv,name:"keyword.operator.increment.ts"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.ts"},{begin:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)+(?:(\/=)|(\/)(?![\/\*])))/dgv,end:/(?:(\/=)|(\/)(?!\*([^\*]|(\*[^\/]))*\*\/))/dgv,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:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv}]},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:/(?<!\()(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}+)?(?=\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|\}|(?=\n?$)))/dgv,beginCaptures:{1:{name:"storage.modifier.ts"}},end:/(?=\}|;|,|(?=\n?$)|(^(?!\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|(?=\n?$)))))|(?<=\})/dgv,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:new k("(#?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?:(\\?)|(!))?(?=\\p{space}*\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{match:/#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.property.ts variable.object.property.ts"},{match:/\?/dgv,name:"keyword.operator.optional.ts"},{match:/!/dgv,name:"keyword.operator.definiteassignment.ts"}]},"for-loop":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))for(?=((\p{space}+|(\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*))await)?\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)?(\())/dgv,beginCaptures:{0:{name:"keyword.control.loop.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#comment"},{match:/await/dgv,name:"keyword.control.loop.ts"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,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:/\*/dgv,name:"keyword.generator.asterisk.ts"}]},"function-call":{patterns:[{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,end:/(?<=\))(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,name:"meta.function-call.ts",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"},{include:"#paren-expression"}]},{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,end:/(?<=>)(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,name:"meta.function-call.ts",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"}]}]},"function-call-optionals":{patterns:[{match:/\?\./dgv,name:"meta.function-call.ts punctuation.accessor.optional.ts"},{match:/!/dgv,name:"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{patterns:[{include:"#support-function-call-identifiers"},{match:/(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.ts"}]},"function-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,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:/(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|(?<=\})/dgv,name:"meta.function.ts",patterns:[{include:"#function-name"},{include:"#function-body"}]},"function-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,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:/(?=;)|(?<=\})/dgv,name:"meta.function.expression.ts",patterns:[{include:"#function-name"},{include:"#single-line-comment-consuming-line-ending"},{include:"#function-body"}]},"function-name":{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.function.ts entity.name.function.ts"},"function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.parameters.begin.ts"}},end:/\)/dgv,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:/,/dgv,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:new k("(?:(?:(\\.)|(\\?\\.(?!\\p{space}*[\\p{Nd}])))\\p{space}*)?([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{lazyCompile:!0})},{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"variable.other.constant.property.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv},{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"variable.other.property.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{match:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv,name:"variable.other.constant.ts"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ts"}]},"if-statement":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bif\p{space}*(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))\p{space}*(?!\{))/dgv,end:/(?=;|(?=\n?$)|\})/dgv,patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(if)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.conditional.ts"},2:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression"}]},{begin:/(?<=\))\p{space}*\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(\/)([dgimsuvy]*)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type)(?!\p{space}+from))?(?!\p{space}*[\:\(])(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(?<!^import|[^\._\$\p{Alpha}\p{Nd}]import)(?=;|(?=\n?$)|^)/dgv,name:"meta.import.ts",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#string"},{begin:/(?<=^import|[^\._\$\p{Alpha}\p{Nd}]import)(?!\p{space}*["'])/dgv,end:/\bfrom\b/dgv,endCaptures:{0:{name:"keyword.control.from.ts"}},patterns:[{include:"#import-export-declaration"}]},{include:"#import-export-declaration"}]},"import-equals-declaration":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(require)\p{space}*(\()/dgv,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:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},name:"meta.import-equals.external.ts",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(?!require\b)/dgv,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:/(?=;|(?=\n?$)|^)/dgv,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:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.readwrite.ts"}]}]},"import-export-assert-clause":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(with)|(assert))\p{space}*(\{)/dgv,beginCaptures:{1:{name:"keyword.control.with.ts"},2:{name:"keyword.control.assert.ts"},3:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{include:"#string"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object-literal.key.ts"},{match:/:/dgv,name:"punctuation.separator.key-value.ts"}]},"import-export-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\btype)\p{space}+)?(?:(\bdefault)|(\*)|(\b[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))\p{space}+(as)\p{space}+(?:(default(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv},{include:"#punctuation-comma"},{match:/\*/dgv,name:"constant.language.import-export-all.ts"},{match:/\b(default)\b/dgv,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:/(?:(\btype)\p{space}+)?(?:([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv}]},"import-export-declaration":{patterns:[{include:"#comment"},{include:"#string"},{include:"#import-export-block"},{match:/\bfrom\b/dgv,name:"keyword.control.from.ts"},{include:"#import-export-assert-clause"},{include:"#import-export-clause"}]},"indexer-declaration":{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=:)/dgv,beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"meta.brace.square.ts"},3:{name:"variable.parameter.ts"}},end:/(\])\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([\+\-])?(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}+(in)\p{space}+/dgv,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:/(\])([\+\-])?\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+/dgv},{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))/dgv,name:"constant.other.description.jsdoc"},{begin:/(\{)((@)(?:link(?:code|plain)?|tutorial))\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"},2:{name:"storage.type.class.jsdoc"},3:{name:"punctuation.definition.inline.tag.jsdoc"}},end:/\}|(?=\*\/)/dgv,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:/((?=https?:\/\/)(?:[^\|\}\p{space}\*]|\*[\/])+)(\|)?/dgvy},{captures:{1:{name:"variable.other.description.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:/((?:[^\{\}\@\p{space}\|\*]|\*[^\/])+)(\|)?/dgvy}]}]},"instanceof-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(instanceof)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.expression.instanceof.ts"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|(===|!==|==|!=)|(([\&\~\^\|]\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,patterns:[{include:"#type"}]},"interface-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(interface)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.interface.ts"}},end:/(?<=\})/dgv,name:"meta.interface.ts",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.interface.ts"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},jsdoctype:{patterns:[{begin:/(\{)/dgvy,beginCaptures:{0:{name:"entity.name.type.instance.jsdoc"},1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"}},contentName:"entity.name.type.instance.jsdoc",end:/((\}))\p{space}*|(?=\*\/)/dgv,endCaptures:{1:{name:"entity.name.type.instance.jsdoc"},2:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},patterns:[{include:"#brackets"}]}]},label:{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)(?=\p{space}*\{)/dgv,beginCaptures:{1:{name:"entity.name.label.ts"},2:{name:"punctuation.separator.label.ts"}},end:/(?<=\})/dgv,patterns:[{include:"#decl-block"}]},{captures:{1:{name:"entity.name.label.ts"},2:{name:"punctuation.separator.label.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv}]},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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?\p{space}*\b(constructor)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\p{space}*\b(new)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))|(?:(\*)\p{space}*)?)(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,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:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,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:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]}]},"method-declaration-name":{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??)\p{space}*[\(\<])/dgv,end:/(?=\(|<)/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.method.ts entity.name.function.ts"},{match:/\?/dgv,name:"keyword.operator.optional.ts"}]},"namespace-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(namespace|module)\p{space}+(?=[_\$\p{Alpha}"'\`])/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.namespace.ts"}},end:/(?<=\})|(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.namespace.declaration.ts",patterns:[{include:"#comment"},{include:"#string"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.type.module.ts"},{include:"#punctuation-accessor"},{include:"#decl-block"}]},"new-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.new.ts"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,name:"new.expr.ts",patterns:[{include:"#expression"}]},"null-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))null(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.null.ts"},"numeric-literal":{patterns:[{captures:{1:{name:"storage.type.numeric.bigint.ts"}},match:/\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.hex.ts"},{captures:{1:{name:"storage.type.numeric.bigint.ts"}},match:/\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.binary.ts"},{captures:{1:{name:"storage.type.numeric.bigint.ts"}},match:/\b(?<!\$)0(?:o|O)?[0-7][0-7_]*(n)?\b(?!\$)/dgv,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(?!\.))(?!\$)/dgv}]},"numericConstant-literal":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))NaN(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.nan.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Infinity(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.infinity.ts"}]},"object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(:)/dgv,endCaptures:{0:{name:"punctuation.destructuring.ts"}},patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.object.property.ts"}]},"object-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},patterns:[{include:"#object-binding-element"}]},"object-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},patterns:[{include:"#object-binding-element-const"}]},"object-identifiers":{patterns:[{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*\??\.\p{space}*prototype\b(?!\$))/dgv,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:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{1:{name:"variable.other.constant.object.ts"},2:{name:"variable.other.object.ts"}},match:/(?:([\p{Upper}][_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv}]},"object-literal":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.objectliteral.ts",patterns:[{include:"#object-member"}]},"object-literal-method-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"storage.type.property.ts"},3:{name:"keyword.generator.asterisk.ts"}},end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"storage.type.property.ts"},3:{name:"keyword.generator.asterisk.ts"}},end:/(?=\(|<)/dgv,patterns:[{include:"#method-declaration-name"}]}]},"object-member":{patterns:[{include:"#comment"},{include:"#object-literal-method-declaration"},{begin:/(?=\[)/dgv,end:/(?=:)|((?<=[\]])(?=\p{space}*[\(\<]))/dgv,name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#array-literal"}]},{begin:/(?=['"\`])/dgv,end:/(?=:)|((?<=['"\`])(?=((\p{space}*[\(\<\,\}])|(\p{space}+(as|satisifies)\p{space}+))))/dgv,name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?=(\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$)))/dgv,end:/(?=:)|(?=\p{space}*([\(\<\,\}])|(\p{space}+as|satisifies\p{space}+))/dgv,name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#numeric-literal"}]},{begin:/(?<=[\]'"\`])(?=\p{space}*[\(\<])/dgv,end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#function-body"}]},{captures:{0:{name:"meta.object-literal.key.ts"},1:{name:"constant.numeric.decimal.ts"}},match:/(?![_\$\p{Alpha}])([\p{Nd}]+)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ts"},{captures:{0:{name:"meta.object-literal.key.ts"},1:{name:"entity.name.function.ts"}},match:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)\\p{space}*(?=(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*:(\\p{space}*/\\*([^\\*]|(\\*[^\\/]))*\\*/)*\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{lazyCompile:!0}),name:"meta.object.member.ts"},{captures:{0:{name:"meta.object-literal.key.ts"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ts"},{begin:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.ts"}},end:/(?=,|\})/dgv,name:"meta.object.member.ts",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ts"},{captures:{1:{name:"keyword.control.as.ts"},2:{name:"storage.modifier.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*([\,\}]|(?=\n?$)))/dgv,name:"meta.object.member.ts"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.ts"},2:{name:"keyword.control.satisfies.ts"}},end:/(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|^|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisifies)\p{space}+))/dgv,name:"meta.object.member.ts",patterns:[{include:"#type"}]},{begin:/(?=[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=)/dgv,end:/(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ts",patterns:[{include:"#expression"}]},{begin:/:/dgv,beginCaptures:{0:{name:"meta.object-literal.key.ts punctuation.separator.key-value.ts"}},end:/(?=,|\})/dgv,name:"meta.object.member.ts",patterns:[{begin:/(?<=:)\p{space}*(async)?(?=\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(?=<\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=>)/dgv,patterns:[{include:"#type-parameters"}]},{begin:/(?<=>)\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"meta.brace.round.ts"}},end:/\)/dgv,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:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{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:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)/dgv}]},"parameter-object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},patterns:[{include:"#parameter-object-binding-element"}]},"parameter-type-annotation":{patterns:[{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?=[\,\)])|(?==[^\>])/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]}]},"paren-expression":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression"}]},"paren-expression-possibly-arrow":{patterns:[{begin:/(?<=[\(\=\,])\p{space}*(async)?(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{begin:/(?<=[\(\=\,]|=>|^return|[^\._\$\p{Alpha}\p{Nd}]return)\p{space}*(async)?(?=\p{space}*((((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\()|(<)|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)))\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{include:"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{begin:/(?<=\)|^)\p{space}*(:)(?=\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*=>)/dgv,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:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,patterns:[{include:"#arrow-return-type-body"}]},"property-accessor":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(accessor|get|set)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.type.property.ts"},"punctuation-accessor":{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.ts"},"punctuation-semicolon":{match:/;/dgv,name:"punctuation.terminator.statement.ts"},"qstring-double":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(")|([^\\\n](?=\n?$))/dgv,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:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(')|([^\\\n](?=\n?$))/dgv,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|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case|=>|&&|\|\||\*\/)\p{space}*(\/)(?![\/\*])(?=(?:[^\/\\\[\(\)]|\\[^\n]|\[([^\]\\]|\\[^\n])+\]|\(([^\)\\]|\\[^\n])+\))+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.ts"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.ts"},2:{name:"keyword.other.ts"}},name:"string.regexp.ts",patterns:[{include:"#regexp"}]},{begin:/((?<![_\$\p{Alpha}\p{Nd}\)\]]|\+\+|--|\}|\*\/)|((?<=^return|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case))\p{space}*)\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(\/)([dgimsuvy]*)/dgv,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:/\\[wWsSdDtrnvf]|\./dgv,name:"constant.other.character-class.regexp"},{match:/\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.numeric.regexp"},{match:/\\c[A-Z]/dgv,name:"constant.character.control.regexp"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:/\\[bB]|\^|\$/dgv,name:"keyword.control.anchor.regexp"},{captures:{0:{name:"keyword.other.back-reference.regexp"},1:{name:"variable.other.regexp"}},match:/\\[1-9]\p{Nd}*|\\k<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>/dgv},{match:/[\?\+\*]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{begin:/(\()((\?=)|(\?!)|(\?<=)|(\?<!))/dgv,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:/(\))/dgv,endCaptures:{1:{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:/\((?:(\?:)|\?<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>)?/dgv,beginCaptures:{0:{name:"punctuation.definition.group.regexp"},1:{name:"punctuation.definition.group.no-capture.regexp"},2:{name:"variable.other.regexp"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:/(\[)(\^)?/dgv,beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:/(\])/dgv,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:/(?:[^\n]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))/dgv,name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"return-type":{patterns:[{begin:/(?<=\))\p{space}*(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])(?=(?=\n?$)|^|[\{\}\;\,]|\/\/)/dgv,name:"meta.return.type.ts",patterns:[{include:"#return-type-core"}]},{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])((?=[\{\}\;\,]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.return.type.ts",patterns:[{include:"#return-type-core"}]}]},"return-type-core":{patterns:[{include:"#comment"},{begin:/(?<=[\:\|\&])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},shebang:{captures:{1:{name:"punctuation.definition.comment.ts"}},match:/^(#!)[^\n]*(?=(?=\n?$))/dgv,name:"comment.line.shebang.ts"},"single-line-comment-consuming-line-ending":{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,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:/(?=^)/dgv},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[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]+\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ts"},"super-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))super\b(?!\$)/dgv,name:"variable.language.super.ts"},"support-function-call-identifiers":{patterns:[{include:"#literal"},{include:"#support-objects"},{include:"#object-identifiers"},{include:"#punctuation-accessor"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*[\(]\p{space}*["'\`])/dgv,name:"keyword.operator.expression.import.ts"}]},"support-objects":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(arguments)\b(?!\$)/dgv,name:"variable.language.arguments.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(Promise)\b(?!\$)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(import)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(meta)\b(?!\$)/dgv},{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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(target)\b(?!\$)/dgv},{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"support.variable.property.ts"},4:{name:"support.constant.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(constructor|length|prototype|__proto__)\b(?!\$|\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\b(?!\$))/dgv},{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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(exports)|(module)(?:(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(exports|id|filename|loaded|parent|children))?)\b(?!\$)/dgv}]},"switch-statement":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bswitch\p{space}*\()/dgv,end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"switch-statement.expr.ts",patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(switch)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.switch.ts"},2:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},name:"switch-expression.expr.ts",patterns:[{include:"#expression"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/(?=\})/dgv,name:"switch-block.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default(?=:))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.control.switch.ts"}},end:/(?=:)/dgv,name:"case-clause.expr.ts",patterns:[{include:"#expression"}]},{begin:/(:)\p{space}*(\{)/dgv,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:/\}/dgv,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:/(:)/dgv},{include:"#statements"}]}]},template:{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,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:/`/dgv,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:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,end:/(?=`)/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,patterns:[{include:"#support-function-call-identifiers"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.tagged-template.ts"}]},{include:"#type-arguments"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?\p{space}*(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.ts"}},end:/(?=`)/dgv,patterns:[{include:"#type-arguments"}]}]},"template-substitution-element":{begin:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#expression"}]},"template-type":{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,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:/`/dgv,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:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#type"}]},"ternary-expression":{begin:/(?!\?\.\p{space}*[^\p{Nd}])(\?)(?!\?)/dgv,beginCaptures:{1:{name:"keyword.operator.ternary.ts"}},end:/\p{space}*(:)/dgv,endCaptures:{1:{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#expression"}]},"this-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))this\b(?!\$)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv},{include:"#type-name"}]},"type-alias-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(type)\b\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*/dgv,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:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.type.declaration.ts",patterns:[{include:"#comment"},{include:"#type-parameters"},{begin:/(=)\p{space}*(intrinsic)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"},2:{name:"keyword.control.intrinsic.ts"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]},{begin:/(=)\p{space}*/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]}]},"type-annotation":{patterns:[{begin:/(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])(?!\p{space}*[\|\&]\p{space}+)((?=^|[\,\)\;\}\]]|\/\/)|(?==[^\>])|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]},{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])((?=[\,\)\;\}\]]|\/\/)|(?==[^\>])|(?=^\p{space}*(?=\n?$))|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]}]},"type-arguments":{begin:/</dgv,beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(_)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"type-builtin-literals":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(this|true|false|undefined|null|object)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.builtin.ts"},"type-conditional":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends)\p{space}+/dgv,beginCaptures:{1:{name:"storage.modifier.ts"}},end:/(?<=:)/dgv,patterns:[{begin:/\?/dgv,beginCaptures:{0:{name:"keyword.operator.ternary.ts"}},end:/:/dgv,endCaptures:{0:{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#type"}]},{include:"#type"}]}]},"type-fn-type-parameters":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b(?=\p{space}*<)/dgv,beginCaptures:{1:{name:"meta.type.constructor.ts storage.modifier.ts"},2:{name:"meta.type.constructor.ts keyword.control.new.ts"}},end:/(?<=>)/dgv,patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b\p{space}*(?=\()/dgv,beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.control.new.ts"}},end:/(?<=\))/dgv,name:"meta.type.constructor.ts",patterns:[{include:"#function-parameters"}]},{begin:/((?=[\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.ts",patterns:[{include:"#function-parameters"}]}]},"type-function-return-type":{patterns:[{begin:/(=>)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"storage.type.function.arrow.ts"}},end:/(?<!=>)(?<![\|\&])(?=[\,\]\)\{\}\=\;\>\:\?]|\/\/|(?=\n?$))/dgv,name:"meta.type.function.return.ts",patterns:[{include:"#type-function-return-type-core"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.ts"}},end:/(?<!=>)(?<![\|\&])((?=[\,\]\)\{\}\=\;\:\?\>]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.type.function.return.ts",patterns:[{include:"#type-function-return-type-core"}]}]},"type-function-return-type-core":{patterns:[{include:"#comment"},{begin:/(?<==>)(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(infer)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}+(extends)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))?/dgv,name:"meta.type.infer.ts"}]},"type-name":{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(<)/dgv,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:/(>)/dgv,endCaptures:{1:{name:"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},patterns:[{include:"#type-arguments-body"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<)/dgv,beginCaptures:{1:{name:"entity.name.type.ts"},2:{name:"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},contentName:"meta.type.parameters.ts",end:/(>)/dgv,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:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.ts"}]},"type-object":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.ts"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,patterns:[{include:"#type"}]},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#type"}]},"type-operators":{patterns:[{include:"#typeof-operator"},{include:"#type-infer"},{begin:/([\&\|])(?=\p{space}*\{)/dgv,beginCaptures:{0:{name:"keyword.operator.type.ts"}},end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{begin:/[\&\|]/dgv,beginCaptures:{0:{name:"keyword.operator.type.ts"}},end:/(?=\P{space})/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))keyof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.keyof.ts"},{match:/(\?|:)/dgv,name:"keyword.operator.ternary.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*\()/dgv,name:"keyword.operator.expression.import.ts"}]},"type-parameters":{begin:/(<)/dgv,beginCaptures:{1:{name:"punctuation.definition.typeparameters.begin.ts"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#comment"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out|const)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},{include:"#type"},{include:"#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=\p{space}*(:\p{space}*((<)|([\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>)))))))|(:\p{space}*(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Function(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|(:\p{space}*((<\p{space}*(?=\n?$))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))))/dgv},{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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=:)/dgv},{include:"#type-annotation"},{match:/,/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(asserts)\p{space}+)?(?!asserts)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}(is)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{captures:{1:{name:"keyword.operator.type.asserts.ts"},2:{name:"variable.parameter.ts variable.language.this.ts"},3:{name:"variable.parameter.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(asserts)\p{space}+(?!is)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))asserts(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.type.asserts.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))is(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.is.ts"}]},"type-primitive":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.primitive.ts"},"type-string":{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template-type"}]},"type-tuple":{begin:/\[/dgv,beginCaptures:{0:{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{0:{name:"meta.brace.square.ts"}},name:"meta.type.tuple.ts",patterns:[{match:/\.\.\./dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(\?)?\p{space}*(:)/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"typeof-operator":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))typeof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.operator.expression.typeof.ts"}},end:/(?=[\,\)\;\}\]\=\>\:\&\|\{\?]|(extends\p{space}+)|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type-arguments"},{include:"#expression"}]},"undefined-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))undefined(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.undefined.ts"},"var-expr":{patterns:[{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^let|[^\._\$\p{Alpha}\p{Nd}]let|^var|[^\._\$\p{Alpha}\p{Nd}]var)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?=\P{space})/dgv},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.ts"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^const|[^\._\$\p{Alpha}\p{Nd}]const)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?=\P{space})/dgv},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.ts"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^using|[^\._\$\p{Alpha}\p{Nd}]using|^await\p{space}+using|[^\._\$\p{Alpha}\p{Nd}]await\p{space}+using)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?=\P{space})/dgv},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*((?!\P{space})|(?=\/\/))/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.ts"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,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:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.constant.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable":{patterns:[{begin:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(!)?(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.ts entity.name.function.ts"},2:{name:"keyword.operator.definiteassignment.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.constant.ts"},2:{name:"keyword.operator.definiteassignment.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.readwrite.ts"},2:{name:"keyword.operator.definiteassignment.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,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:/(?<!=|!)(=)(?!=)(?=\p{space}*\P{space})(?!\p{space}*[^\n]*=>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"}},end:/(?=(?=\n?$)|^|[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,patterns:[{include:"#expression"}]},{begin:/(?<!=|!)(=)(?!=)/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"}},end:/(?=[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))|(?=^\p{space}*(?=\n?$))|(?<![\|\&\+\-\*\/])(?<=\P{space})(?<!=)(?=\p{space}*(?=\n?$))/dgv,patterns:[{include:"#expression"}]}]}},scopeName:"source.ts",embeddedLangs:void 0,aliases:["ts"]}),Ns=[Lp],kd=Object.freeze(Object.defineProperty({__proto__:null,default:Ns},Symbol.toStringTag,{value:"Module"})),qp=Object.freeze({displayName:"HTML",injections:{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{comment:"Uses R: to ensure this matches after any other injections.",patterns:[{match:/</dgv,name:"invalid.illegal.bad-angle-bracket.html"}]}},name:"html",patterns:[{include:"#xml-processing"},{include:"#comment"},{include:"#doctype"},{include:"#cdata"},{include:"#tags-valid"},{include:"#tags-invalid"},{include:"#entities"}],repository:{attribute:{patterns:[{begin:/(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},comment:"HTML5 attributes, not event handlers",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/style(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},comment:"HTML5 style attribute",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.style.html",patterns:[{begin:/=/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.html"}},end:/(?<=[^\p{space}\=])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{begin:/(?=[^\p{space}\=\<\>\`\/]|\/(?!>))/dgv,end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.embedded.line.css",patterns:[{captures:{0:{name:"source.css"}},match:/([^\p{space}"'\=\<\>\`\/]|\/(?!>))+/dgv,name:"string.unquoted.html"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.css",end:/(")/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.css"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.css",end:/(')/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.css"}},name:"string.quoted.single.html",patterns:[{include:"#entities"}]}]},{match:/=/dgv,name:"invalid.illegal.unexpected-equals-sign.html"}]}]},{begin:/on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},comment:"HTML5 attributes, event handlers",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.event-handler.$1.html",patterns:[{begin:/=/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.html"}},end:/(?<=[^\p{space}\=])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{begin:/(?=[^\p{space}\=\<\>\`\/]|\/(?!>))/dgv,end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.embedded.line.js",patterns:[{captures:{0:{name:"source.js"},1:{patterns:[{include:"source.js"}]}},match:/(([^\p{space}"'\=\<\>\`\/]|\/(?!>))+)/dgv,name:"string.unquoted.html"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.js",end:/(")/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.js"}},name:"string.quoted.double.html",patterns:[{captures:{0:{patterns:[{include:"source.js"}]}},match:/([^\n"\/]|\/(?![\/\*]))+/dgv},{begin:/\/\//dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/(?=")|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:/(?=")|\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.js",end:/(')/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.js"}},name:"string.quoted.single.html",patterns:[{captures:{0:{patterns:[{include:"source.js"}]}},match:/([^\n'\/]|\/(?![\/\*]))+/dgv},{begin:/\/\//dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/(?=')|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:/(?=')|\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]}]},{match:/=/dgv,name:"invalid.illegal.unexpected-equals-sign.html"}]}]},{begin:/(data-[a-z\-]+)(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},comment:"HTML5 attributes, data-*",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.data-x.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/(align|bgcolor|border)(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"invalid.deprecated.entity.other.attribute-name.html"}},comment:"HTML attributes, deprecated",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/([^ "'\<\>\/\=\x00-\x1F\x7F-\x9F-\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]+)/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},comment:"Anything else that is valid",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.unrecognized.$1.html",patterns:[{include:"#attribute-interior"}]},{match:/[^\p{space}\>]+/dgv,name:"invalid.illegal.character-not-allowed-here.html"}]},"attribute-interior":{patterns:[{begin:/=/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.html"}},end:/(?<=[^\p{space}\=])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{match:/([^\p{space}"'\=\<\>\`\/]|\/(?!>))+/dgv,name:"string.unquoted.html"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"#entities"}]},{match:/=/dgv,name:"invalid.illegal.unexpected-equals-sign.html"}]}]},cdata:{begin:/<!\[CDATA\[/dgv,beginCaptures:{0:{name:"punctuation.definition.tag.begin.html"}},contentName:"string.other.inline-data.html",end:/\]\]>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.cdata.html"},comment:{begin:/<!--/dgv,captures:{0:{name:"punctuation.definition.comment.html"}},end:/-->/dgv,name:"comment.block.html",patterns:[{match:/-?>/dgvy,name:"invalid.illegal.characters-not-allowed-here.html"},{match:/<!--(?!>)|<!-(?=-->)/dgv,name:"invalid.illegal.characters-not-allowed-here.html"},{match:/--!>/dgv,name:"invalid.illegal.characters-not-allowed-here.html"}]},"core-minus-invalid":{comment:"This should be the root pattern array includes minus #tags-invalid",patterns:[{include:"#xml-processing"},{include:"#comment"},{include:"#doctype"},{include:"#cdata"},{include:"#tags-valid"},{include:"#entities"}]},doctype:{begin:/<!(?=DOCTYPE\p{space})/dgiv,beginCaptures:{0:{name:"punctuation.definition.tag.begin.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.doctype.html",patterns:[{match:/DOCTYPE/dgivy,name:"entity.name.tag.html"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.html"},{match:/[^\p{space}\>]+/dgv,name:"entity.other.attribute-name.html"}]},entities:{patterns:[{captures:{1:{name:"punctuation.definition.entity.html"},912:{name:"punctuation.definition.entity.html"}},comment:"Yes this is a bit ridiculous, there are quite a lot of these",match:new k("(&)(?=[a-zA-Z])((a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))|(u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","dgv",{lazyCompile:!0}),name:"constant.character.entity.named.$2.html"},{captures:{1:{name:"punctuation.definition.entity.html"},3:{name:"punctuation.definition.entity.html"}},match:/(&)#[0-9]+(;)/dgv,name:"constant.character.entity.numeric.decimal.html"},{captures:{1:{name:"punctuation.definition.entity.html"},3:{name:"punctuation.definition.entity.html"}},match:/(&)#[xX][0-9a-fA-F]+(;)/dgv,name:"constant.character.entity.numeric.hexadecimal.html"},{match:/&(?=[a-zA-Z0-9]+;)/dgv,name:"invalid.illegal.ambiguous-ampersand.html"}]},math:{patterns:[{begin:/(<)(math)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)/dgv,endCaptures:{0:{name:"meta.tag.structure.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]}],repository:{attribute:{patterns:[{begin:/(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u(pscriptshift|bscriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/([^ "'\<\>\/\=\x00-\x1F\x7F-\x9F-\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]+)/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},comment:"Anything else that is valid",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.unrecognized.$1.html",patterns:[{include:"#attribute-interior"}]},{match:/[^\p{space}\>]+/dgv,name:"invalid.illegal.character-not-allowed-here.html"}]},tags:{patterns:[{include:"#comment"},{include:"#cdata"},{captures:{0:{name:"meta.tag.structure.math.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.structure.math.$2.html"},{begin:/(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.math.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.structure.math.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.math.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.inline.math.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.inline.math.$2.html"},{begin:/(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.inline.math.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.inline.math.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.inline.math.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.object.math.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(mglyph)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.object.math.$2.html"},{begin:/(<)(mglyph)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.object.math.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.object.math.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.object.math.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.other.invalid.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},match:/(<)(([\p{L}\p{M}\p{N}\p{Pc}\:]+))(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgv,name:"meta.element.other.invalid.html"},{begin:/(<)(([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*))(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgv,beginCaptures:{0:{name:"meta.tag.other.invalid.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)(((?!)))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.other.invalid.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{name:"punctuation.definition.tag.end.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.other.invalid.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.invalid.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{include:"#tags-invalid"}]}}},svg:{patterns:[{begin:/(<)(svg)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)/dgv,endCaptures:{0:{name:"meta.tag.structure.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]}],repository:{attribute:{patterns:[{begin:/(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em(h|v)|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y(1|2|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS(criptType|tyleType)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget(X|Y)?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At(X|Y|Z))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-(y|x)|adv-y)))|alues)|k(1|2|3|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f(X|Y|errerPolicy)|l)|adius|x)?|g(1|2|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x(1|2|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk(ContentUnits|Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/([^ "'\<\>\/\=\x00-\x1F\x7F-\x9F-\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]+)/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},comment:"Anything else that is valid",end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.unrecognized.$1.html",patterns:[{include:"#attribute-interior"}]},{match:/[^\p{space}\>]+/dgv,name:"invalid.illegal.character-not-allowed-here.html"}]},tags:{patterns:[{include:"#comment"},{include:"#cdata"},{captures:{0:{name:"meta.tag.metadata.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(color-profile|desc|metadata|script|style|title)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.metadata.svg.$2.html"},{begin:/(<)(color-profile|desc|metadata|script|style|title)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.metadata.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.metadata.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.metadata.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.structure.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.structure.svg.$2.html"},{begin:/(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.structure.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.inline.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.inline.svg.$2.html"},{begin:/(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.inline.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.inline.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.inline.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.object.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.object.svg.$2.html"},{begin:/(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.object.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.object.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.object.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.other.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},match:/(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.other.svg.$2.html"},{begin:/(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.other.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)(((?!)))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.other.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"},4:{name:"punctuation.definition.tag.end.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.other.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.other.invalid.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},match:/(<)(([\p{L}\p{M}\p{N}\p{Pc}\:]+))(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgv,name:"meta.element.other.invalid.html"},{begin:/(<)(([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*))(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgv,beginCaptures:{0:{name:"meta.tag.other.invalid.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)(((?!)))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.other.invalid.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{name:"punctuation.definition.tag.end.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.other.invalid.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.invalid.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{include:"#tags-invalid"}]}}},"tags-invalid":{patterns:[{begin:/(<\/?)(([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*))(?<!\/)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"}},end:/((?: ?\/)?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.$2.html",patterns:[{include:"#attribute"}]}]},"tags-valid":{patterns:[{begin:/(^[ \t]+)?(?=<style\b(?!-))/dgiv,beginCaptures:{1:{name:"punctuation.whitespace.embedded.leading.html"}},end:new k("(?!^)([ \\t]*(?=\\n?$)\\n?)?","dgv",{strategy:"clip_search"}),endCaptures:{1:{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(style)(?=\p{space}|\/?>)/dgiv,beginCaptures:{0:{name:"meta.tag.metadata.style.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/((<)\/)(style)\p{space}*(>)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.style.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"source.css-ignored-vscode"},3:{name:"entity.name.tag.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,captures:{1:{name:"punctuation.definition.tag.end.html"}},end:/(>)/dgv,name:"meta.tag.metadata.style.start.html",patterns:[{include:"#attribute"}]},{begin:new k("(?!^)","dgv",{strategy:"clip_search"}),end:/(?=<\/style)/dgiv,name:"source.css",patterns:[{include:"source.css"}]}]}]},{begin:/(^[ \t]+)?(?=<script\b(?!-))/dgiv,beginCaptures:{1:{name:"punctuation.whitespace.embedded.leading.html"}},end:new k("(?!^)([ \\t]*(?=\\n?$)\\n?)?","dgv",{strategy:"clip_search"}),endCaptures:{1:{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(script)\b/dgiv,beginCaptures:{0:{name:"meta.tag.metadata.script.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/(\/)(script)(>)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,end:/(?=\/)/dgv,patterns:[{begin:/(>)/dgv,beginCaptures:{0:{name:"meta.tag.metadata.script.start.html"},1:{name:"punctuation.definition.tag.end.html"}},end:/((<))(?=\/script)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"source.js-ignored-vscode"}},patterns:[{begin:/(?:)/dgv,end:/(?=<\/script)/dgiv,name:"source.js",patterns:[{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/(?=<\/script)|\n/dgv,name:"comment.line.double-slash.js"}]},{begin:/\/\*/dgv,captures:{0:{name:"punctuation.definition.comment.js"}},end:/\*\/|(?=<\/script)/dgv,name:"comment.block.js"},{include:"source.js"}]}]},{begin:/(?:)/dgv,end:/(?=>|type(?=[\p{space}\=])(?!\p{space}*=\p{space}*(''|""|('|"|)(text\/(javascript(1\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application\/((x-)?javascript|(x-)?ecmascript)|module)[\p{space}"'\>])))/dgiv,name:"meta.tag.metadata.script.start.html",patterns:[{include:"#attribute"}]},{begin:/(?=type\p{space}*=\p{space}*('|"|)text\/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\p{space}"'\>])/dgiv,end:/((<))(?=\/script)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"text.html.basic"}},patterns:[{begin:/(?:)/dgv,end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.script.start.html",patterns:[{include:"#attribute"}]},{begin:new k("(?!^)","dgv",{strategy:"clip_search"}),end:/(?=<\/script)/dgiv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/(?=type)/dgiv,end:/(<)(?=\/script)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"}},patterns:[{begin:/(?:)/dgv,end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.script.start.html",patterns:[{include:"#attribute"}]},{begin:new k("(?!^)","dgv",{strategy:"clip_search"}),end:/(?=<\/script)/dgiv,name:"source.unknown"}]}]}]}]},{begin:/(<)(base|link|meta)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(noscript|title)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(noscript|title)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)(col|hr|input)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)(area|br|wbr)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)(embed|img|param|source|track)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(audio|canvas|iframe|object|picture|video)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(audio|canvas|iframe|object|picture|video)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((basefont|isindex))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)((center|frameset|noembed|noframes))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((center|frameset|noembed|noframes))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((acronym|big|blink|font|strike|tt|xmp))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((acronym|big|blink|font|strike|tt|xmp))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((frame))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)((applet))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((applet))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.no-longer-supported.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.no-longer-supported.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.$2.end.html",patterns:[{include:"#attribute"}]},{include:"#math"},{include:"#svg"},{begin:/(<)([a-zA-Z][\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*-[\-\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*)(?=\p{space}|\/?>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.custom.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)([a-zA-Z][\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*-[\-\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*)(?=\p{space}|\/?>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.custom.end.html",patterns:[{include:"#attribute"}]}]},"xml-processing":{begin:/(<\?)(xml)/dgv,captures:{1:{name:"punctuation.definition.tag.html"},2:{name:"entity.name.tag.html"}},end:/(\?>)/dgv,name:"meta.tag.metadata.processing.xml.html",patterns:[{include:"#attribute"}]}},scopeName:"text.html.basic",embeddedLangs:["javascript","css"],aliases:void 0}),Ln=[...Ye,...Bn,qp],wd=Object.freeze(Object.defineProperty({__proto__:null,default:Ln},Symbol.toStringTag,{value:"Module"})),Pp=Object.freeze({displayName:"HTML (Derivative)",injections:{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{comment:"Uses R: to ensure this matches after any other injections.",patterns:[{match:/</dgv,name:"invalid.illegal.bad-angle-bracket.html"}]}},name:"html-derivative",patterns:[{include:"text.html.basic#core-minus-invalid"},{begin:/(<\/?)([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*)(?<!\/)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/((?: ?\/)?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.unrecognized.html.derivative",patterns:[{include:"text.html.basic#attribute"}]}],scopeName:"text.html.derivative",embeddedLangs:["html"],aliases:void 0}),Tp=[...Ln,Pp],zp=Object.freeze({fileTypes:[],injectTo:["text.html.markdown"],injectionSelector:"L:text.html.markdown",name:"markdown-vue",patterns:[{include:"#vue-code-block"}],repository:{"vue-code-block":{begin:new k("(^|^)(\\p{space}*)(`{3,}|~{3,})\\p{space}*(vue)((\\p{space}+|:|,|\\{|\\?)[^\\`\\~]*)?(?=\\n?$)","dgiv",{strategy:"clip_search"}),beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown",patterns:[]}},end:new k("(^|^)((?!)|\\p{space}{0,3})((?!))\\p{space}*(?=\\n?$)","dgv",{strategy:"clip_search"}),endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{include:"source.vue"}]}},scopeName:"markdown.vue.codeblock",displayName:void 0,embeddedLangs:void 0,aliases:void 0}),Mp=[zp],Ip=Object.freeze({fileTypes:[],injectTo:["source.vue","text.html.markdown","text.html.derivative","text.pug"],injectionSelector:"L:meta.tag -meta.attribute -meta.ng-binding -entity.name.tag.pug -attribute_value -source.tsx -source.js.jsx, L:meta.element -meta.attribute",name:"vue-directives",patterns:[{include:"source.vue#vue-directives"}],scopeName:"vue.directives",displayName:void 0,embeddedLangs:void 0,aliases:void 0}),Rp=[Ip],Op=Object.freeze({fileTypes:[],injectTo:["source.vue","text.html.markdown","text.html.derivative","text.pug"],injectionSelector:"L:text.pug -comment -string.comment, L:text.html.derivative -comment.block, L:text.html.markdown -comment.block",name:"vue-interpolations",patterns:[{include:"source.vue#vue-interpolations"}],scopeName:"vue.interpolations",displayName:void 0,embeddedLangs:void 0,aliases:void 0}),Gp=[Op],Dp=Object.freeze({fileTypes:[],injectTo:["source.vue"],injectionSelector:"L:source.css -comment, L:source.postcss -comment, L:source.sass -comment, L:source.stylus -comment",name:"vue-sfc-style-variable-injection",patterns:[{include:"#vue-sfc-style-variable-injection"}],repository:{"vue-sfc-style-variable-injection":{begin:/\b(v-bind)\p{space}*\(/dgv,beginCaptures:{1:{name:"entity.name.function"}},end:/\)/dgv,name:"vue.sfc.style.variable.injection.v-bind",patterns:[{begin:/('|")/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"}},end:/((?!))/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"source.ts.embedded.html.vue",patterns:[{include:"source.js"}]},{include:"source.js"}]}},scopeName:"vue.sfc.style.variable.injection",displayName:void 0,embeddedLangs:["javascript"],aliases:void 0}),Up=[...Ye,Dp],Hp=Object.freeze({displayName:"Vue",name:"vue",patterns:[{include:"#vue-comments"},{include:"text.html.basic#comment"},{include:"#self-closing-tag"},{begin:/(<)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},patterns:[{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)md\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text.html.markdown",patterns:[{include:"text.html.markdown"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)html\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text.html.derivative",patterns:[{include:"#html-stuff"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)pug\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text.pug",patterns:[{include:"text.pug"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)stylus\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.stylus",patterns:[{include:"source.stylus"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)postcss\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.postcss",patterns:[{include:"source.postcss"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)sass\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.sass",patterns:[{include:"source.sass"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)css\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.css",patterns:[{include:"source.css"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)scss\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.css.scss",patterns:[{include:"source.css.scss"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)less\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.css.less",patterns:[{include:"source.css.less"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)js\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.js",patterns:[{include:"source.js"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)ts\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.ts",patterns:[{include:"source.ts"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)jsx\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.js.jsx",patterns:[{include:"source.js.jsx"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)tsx\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.tsx",patterns:[{include:"source.tsx"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)coffee\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.coffee",patterns:[{include:"source.coffee"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)json\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.json",patterns:[{include:"source.json"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)jsonc\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.json.comments",patterns:[{include:"source.json.comments"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)json5\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.json5",patterns:[{include:"source.json5"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)yaml\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.yaml",patterns:[{include:"source.yaml"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)toml\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.toml",patterns:[{include:"source.toml"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)(gql|graphql)\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.graphql",patterns:[{include:"source.graphql"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)vue\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.vue",patterns:[{include:"source.vue"}]}]},{begin:/(template)\b/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/template\b)/dgv,name:"text.html.derivative",patterns:[{include:"#html-stuff"}]}]},{begin:/(script)\b/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/script\b)/dgv,name:"source.js",patterns:[{include:"source.js"}]}]},{begin:/(style)\b/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/style\b)/dgv,name:"source.css",patterns:[{include:"source.css"}]}]},{begin:/([a-zA-Z0-9\:\-]+)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text"}]}]}],repository:{"html-stuff":{patterns:[{include:"#template-tag"},{include:"text.html.derivative"},{include:"text.html.basic"}]},"self-closing-tag":{begin:/(<)([a-zA-Z0-9\:\-]+)(?=([^\>]+\/>))/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},end:/(\/>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"self-closing-tag",patterns:[{include:"#tag-stuff"}]},"tag-stuff":{begin:/(?:)/dgv,end:/(?=\/>)|(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.tag-stuff",patterns:[{include:"#vue-directives"},{include:"text.html.basic#attribute"}]},"template-tag":{patterns:[{include:"#template-tag-1"},{include:"#template-tag-2"}]},"template-tag-1":{begin:/(<)(template)\b(>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"},3:{name:"punctuation.definition.tag.end.html.vue"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.template-tag.start",patterns:[{begin:/(?:)/dgv,end:/(?=\/>)|((<\/)(template)\b)/dgv,endCaptures:{2:{name:"punctuation.definition.tag.begin.html.vue"},3:{name:"entity.name.tag.$3.html.vue"}},name:"meta.template-tag.end",patterns:[{include:"#html-stuff"}]}]},"template-tag-2":{begin:/(<)(template)\b/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.template-tag.start",patterns:[{begin:/(?:)/dgv,end:/(?=\/>)|((<\/)(template)\b)/dgv,endCaptures:{2:{name:"punctuation.definition.tag.begin.html.vue"},3:{name:"entity.name.tag.$3.html.vue"}},name:"meta.template-tag.end",patterns:[{include:"#tag-stuff"},{include:"#html-stuff"}]}]},"vue-comments":{patterns:[{include:"#vue-comments-key-value"}]},"vue-comments-key-value":{begin:/(<!--)\p{space}*(@)([\p{L}\p{M}\p{N}\p{Pc}\$]+)(?=\p{space})/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.vue"},2:{name:"punctuation.definition.block.tag.comment.vue"},3:{name:"storage.type.class.comment.vue"}},end:/(-->)/dgv,endCaptures:{1:{name:"punctuation.definition.comment.vue"}},name:"comment.block.vue",patterns:[{include:"source.json#value"}]},"vue-directives":{patterns:[{include:"#vue-directives-control"},{include:"#vue-directives-style-attr"},{include:"#vue-directives-original"},{include:"#vue-directives-generic-attr"}]},"vue-directives-control":{begin:/(v-for)|(v-if|v-else-if|v-else)/dgv,captures:{1:{name:"keyword.control.loop.vue"},2:{name:"keyword.control.conditional.vue"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.directive.control.vue",patterns:[{include:"#vue-directives-expression"}]},"vue-directives-expression":{patterns:[{begin:/(=)\p{space}*('|"|`)/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.html.vue"},2:{name:"punctuation.definition.string.begin.html.vue"}},end:/(\2)()/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},patterns:[{begin:/(?<=('|"|`))/dgv,end:/(?=\1)()/dgv,name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]},{begin:/(=)\p{space}*(?=[^'"\`])/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.html.vue"}},end:/(?=(\p{space}|>|\/>))/dgv,patterns:[{begin:/(?=[^'"\`])/dgv,end:/(?=(\p{space}|>|\/>))/dgv,name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]}]},"vue-directives-generic-attr":{begin:/\b(generic)\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"}},end:/(?<='|")/dgv,name:"meta.attribute.generic.vue",patterns:[{begin:/('|")/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.html.vue"}},comment:"https://github.com/microsoft/vscode/blob/fd4346210f59135fad81a8b8c4cea7bf5a9ca6b4/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json#L4002-L4020",end:/((?!))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"meta.type.parameters.vue",patterns:[{include:"source.ts#comment"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},{include:"source.ts#type"},{include:"source.ts#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.ts"}]}]},"vue-directives-original":{begin:/(?:(v-[\p{L}\p{M}\p{N}\p{Pc}\-]+)(:)?|([\:\.])|(@)|(#))(?:(\[)([^\]]*)(\])|([\p{L}\p{M}\p{N}\p{Pc}\-]+))?/dgv,beginCaptures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"},3:{name:"punctuation.attribute-shorthand.bind.html.vue"},4:{name:"punctuation.attribute-shorthand.event.html.vue"},5:{name:"punctuation.attribute-shorthand.slot.html.vue"},6:{name:"punctuation.separator.key-value.html.vue"},7:{name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]},8:{name:"punctuation.separator.key-value.html.vue"},9:{name:"entity.other.attribute-name.html.vue"}},end:/(?=\p{space}*[^\=\p{space}])/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"meta.attribute.directive.vue",patterns:[{1:{name:"punctuation.separator.key-value.html.vue"},2:{name:"entity.other.attribute-name.html.vue"},match:/(\.)([\p{L}\p{M}\p{N}\p{Pc}\-]*)/dgv},{include:"#vue-directives-expression"}]},"vue-directives-style-attr":{begin:/\b(style)\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"}},end:/(?<='|")/dgv,name:"meta.attribute.style.vue",patterns:[{begin:/('|")/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.html.vue"}},comment:"Copy from source.css#rule-list-innards",end:/((?!))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"source.css.embedded.html.vue",patterns:[{include:"source.css#comment-block"},{include:"source.css#escapes"},{include:"source.css#font-features"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.css"},{begin:/(?<![\-a-zA-Z])(?=[\-a-zA-Z])/dgv,end:/(?=\n?$)|(?![\-a-zA-Z])/dgv,name:"meta.property-name.css",patterns:[{include:"source.css#property-names"}]},{begin:/(:)\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.css"}},comment:"Modify end to fix #199. TODO: handle ' character.",contentName:"meta.property-value.css",end:/\p{space}*(;)|\p{space}*(?='|")/dgv,endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"source.css#comment-block"},{include:"source.css#property-values"}]},{match:/;/dgv,name:"punctuation.terminator.rule.css"}]}]},"vue-interpolations":{patterns:[{begin:/(\{\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.interpolation.begin.html.vue"}},end:/(\}\})/dgv,endCaptures:{1:{name:"punctuation.definition.interpolation.end.html.vue"}},name:"expression.embedded.vue",patterns:[{begin:/(?:)/dgv,end:/(?=\}\})/dgv,name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]}]}},scopeName:"source.vue",embeddedLangs:["html","css","javascript","typescript","json","html-derivative","markdown-vue","vue-directives","vue-interpolations","vue-sfc-style-variable-injection"],aliases:void 0,embeddedLangsLazy:["markdown","pug","stylus","sass","scss","less","jsx","tsx","coffee","jsonc","json5","yaml","toml","graphql"]}),Fs=[...Ln,...Bn,...Ye,...Ns,...As,...Tp,...Mp,...Rp,...Gp,...Up,Hp],xd=Object.freeze(Object.defineProperty({__proto__:null,default:Fs},Symbol.toStringTag,{value:"Module"})),Zp=Object.freeze({displayName:"Vue HTML",fileTypes:[],name:"vue-html",patterns:[{include:"source.vue#vue-interpolations"},{begin:/(<)([A-Z][a-zA-Z0-9\:\-]*)(?=[^\>]*><\/\2>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"support.class.component.html"}},end:/(>)(<)(\/)(\2)(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"},2:{name:"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},3:{name:"punctuation.definition.tag.begin.html"},4:{name:"support.class.component.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<)([a-z][a-zA-Z0-9\:\-]*)(?=[^\>]*><\/\2>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/(>)(<)(\/)(\2)(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"},2:{name:"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},3:{name:"punctuation.definition.tag.begin.html"},4:{name:"entity.name.tag.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\?)(xml)/dgv,captures:{1:{name:"punctuation.definition.tag.html"},2:{name:"entity.name.tag.xml.html"}},end:/(\?>)/dgv,name:"meta.tag.preprocessor.xml.html",patterns:[{include:"#tag-generic-attribute"},{include:"#string-double-quoted"},{include:"#string-single-quoted"}]},{begin:/<!--/dgv,captures:{0:{name:"punctuation.definition.comment.html"}},end:/-->/dgv,name:"comment.block.html"},{begin:/<!/dgv,captures:{0:{name:"punctuation.definition.tag.html"}},end:/>/dgv,name:"meta.tag.sgml.html",patterns:[{begin:/DOCTYPE/dgiv,captures:{1:{name:"entity.name.tag.doctype.html"}},end:/(?=>)/dgv,name:"meta.tag.sgml.doctype.html",patterns:[{match:/"[^"\>]*"/dgv,name:"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{begin:/\[CDATA\[/dgv,end:/\]\](?=>)/dgv,name:"constant.other.inline-data.html"},{match:/(\p{space}*)(?!--|>)\P{space}(\p{space}*)/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html"}]},{begin:/(<\/?)([A-Z][a-zA-Z0-9\:\-]*\b)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"support.class.component.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)([a-z][a-zA-Z0-9\:\-]*\b)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.block.any.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)((?:body|head|html)\b)/dgiv,captures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.structure.any.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)((?:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)(?!-)\b)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.block.any.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)((?:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?!-)\b)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.inline.any.html"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)([a-zA-Z0-9\:\-]+)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.other.html"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.html",patterns:[{include:"#tag-stuff"}]},{include:"#entities"},{match:/<>/dgv,name:"invalid.illegal.incomplete.html"},{match:/</dgv,name:"invalid.illegal.bad-angle-bracket.html"}],repository:{entities:{patterns:[{captures:{1:{name:"punctuation.definition.entity.html"},3:{name:"punctuation.definition.entity.html"}},match:/(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)/dgv,name:"constant.character.entity.html"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html"}]},"string-double-quoted":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},"string-single-quoted":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},"tag-generic-attribute":{match:/(?<=[^\=])\b([a-zA-Z0-9\:\-_]+)/dgv,name:"entity.other.attribute-name.html"},"tag-id-attribute":{begin:/\b(id)\b\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.id.html"},2:{name:"punctuation.separator.key-value.html"}},end:new k(`(?!^)(?<='|"|[^\\p{space}\\<\\>\\/])`,"dgv",{strategy:"clip_search"}),name:"meta.attribute-with-value.id.html",patterns:[{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},{captures:{0:{name:"meta.toc-list.id.html"}},match:/(?<==)(?:[^\p{space}\<\>\/'"]|\/(?!>))+/dgv,name:"string.unquoted.html"}]},"tag-stuff":{patterns:[{include:"#vue-directives"},{include:"#tag-id-attribute"},{include:"#tag-generic-attribute"},{include:"#string-double-quoted"},{include:"#string-single-quoted"},{include:"#unquoted-attribute"}]},"unquoted-attribute":{match:/(?<==)(?:[^\p{space}\<\>\/'"]|\/(?!>))+/dgv,name:"string.unquoted.html"},"vue-directives":{begin:/(?:\b(v-)|(:|@|#))([a-zA-Z0-9\-_]+)(?::([a-zA-Z\-_]+))?(?:\.([a-zA-Z\-_]+))*\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.html"},2:{name:"punctuation.separator.key-value.html"},3:{name:"entity.other.attribute-name.html"},4:{name:"entity.other.attribute-name.html"},5:{name:"entity.other.attribute-name.html"},6:{name:"punctuation.separator.key-value.html"}},end:/(?<='|")|(?=[\p{space}\<\>\`])/dgv,name:"meta.directive.vue",patterns:[{begin:/`/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/`/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"source.directive.vue",patterns:[{include:"source.js#expression"}]},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"source.directive.vue",patterns:[{include:"source.js#expression"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"source.directive.vue",patterns:[{include:"source.js#expression"}]}]}},scopeName:"text.html.vue-html",embeddedLangs:["vue","javascript"],aliases:void 0,embeddedLangsLazy:[]}),Wp=[...Fs,...Ye,Zp],Cd=Object.freeze(Object.defineProperty({__proto__:null,default:Wp},Symbol.toStringTag,{value:"Module"})),Vp=Object.freeze({displayName:"Diff",name:"diff",patterns:[{captures:{1:{name:"punctuation.definition.separator.diff"}},match:/^((\*{15})|(={67})|(-{3}))(?=\n?$)\n?/dgv,name:"meta.separator.diff"},{match:/^\p{Nd}+(,\p{Nd}+)*(a|d|c)\p{Nd}+(,\p{Nd}+)*(?=\n?$)\n?/dgv,name:"meta.diff.range.normal"},{captures:{1:{name:"punctuation.definition.range.diff"},2:{name:"meta.toc-list.line-number.diff"},3:{name:"punctuation.definition.range.diff"}},match:/^(@@)\p{space}*([^\n]+?)\p{space}*(@@)((?=\n?$)\n?)?/dgv,name:"meta.diff.range.unified"},{captures:{3:{name:"punctuation.definition.range.diff"},4:{name:"punctuation.definition.range.diff"},6:{name:"punctuation.definition.range.diff"},7:{name:"punctuation.definition.range.diff"}},match:/^(((-{3}) [^\n]+ (-{4}))|((\*{3}) [^\n]+ (\*{4})))(?=\n?$)\n?/dgv,name:"meta.diff.range.context"},{match:/^diff --git a\/[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.git"},{match:/^diff (-|\P{space}+\p{space}+\P{space}+)[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.command"},{captures:{4:{name:"punctuation.definition.from-file.diff"},6:{name:"punctuation.definition.from-file.diff"},7:{name:"punctuation.definition.from-file.diff"}},match:/(^(((-{3}) [^\n]+)|((\*{3}) [^\n]+))(?=\n?$)\n?|^(={4}) [^\n]+(?= - ))/dgv,name:"meta.diff.header.from-file"},{captures:{2:{name:"punctuation.definition.to-file.diff"},3:{name:"punctuation.definition.to-file.diff"},4:{name:"punctuation.definition.to-file.diff"}},match:/(^(\+{3}) [^\n]+(?=\n?$)\n?| (-) [^\n]* (={4})(?=\n?$)\n?)/dgv,name:"meta.diff.header.to-file"},{captures:{3:{name:"punctuation.definition.inserted.diff"},6:{name:"punctuation.definition.inserted.diff"}},match:/^(((>)( [^\n]*)?)|((\+)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.inserted.diff"},{captures:{1:{name:"punctuation.definition.changed.diff"}},match:/^(!)[^\n]*(?=\n?$)\n?/dgv,name:"markup.changed.diff"},{captures:{3:{name:"punctuation.definition.deleted.diff"},6:{name:"punctuation.definition.deleted.diff"}},match:/^(((<)( [^\n]*)?)|((-)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.deleted.diff"},{begin:/^(#)/dgv,captures:{1:{name:"punctuation.definition.comment.diff"}},comment:'Git produces unified diffs with embedded comments"',end:/\n/dgv,name:"comment.line.number-sign.diff"},{match:/^index [0-9a-f]{7,40}\.\.[0-9a-f]{7,40}[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.index.git"},{captures:{1:{name:"punctuation.separator.key-value.diff"},2:{name:"meta.toc-list.file-name.diff"}},match:/^Index(:) ([^\n]+)(?=\n?$)\n?/dgv,name:"meta.diff.index"},{match:/^Only in [^\n]*: [^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.only-in"}],scopeName:"source.diff",embeddedLangs:void 0,aliases:void 0}),Xp=[Vp],jd=Object.freeze(Object.defineProperty({__proto__:null,default:Xp},Symbol.toStringTag,{value:"Module"})),Jp=Object.freeze({displayName:"Shell",name:"shellscript",patterns:[{include:"#initial_context"}],repository:{alias_statement:{begin:new k("(?:(?=([ \\t]*))\\1)(alias)(?:(?=([ \\t]*))\\3)((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b)(?:(?=([ \\t]*))\\6))*)(?:(?=([ \\t]*))\\7)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{hiddenCaptures:[1,3,6,7]}),beginCaptures:{1:{name:"storage.type.alias.shell"},2:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"}]},3:{name:"string.unquoted.argument.shell constant.other.option.shell"},4:{name:"variable.other.assignment.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"variable.other.assignment.shell"},7:{name:"constant.numeric.shell constant.numeric.integer.shell"},8:{name:"punctuation.definition.array.access.shell"},9:{name:"keyword.operator.assignment.shell"},10:{name:"keyword.operator.assignment.compound.shell"},11:{name:"keyword.operator.assignment.compound.shell"}},end:/(?:(?= |\t|(?=\n?$))|(?:(?:(?:(;)|(&&))|(\|\|))|(&)))/dgv,endCaptures:{1:{name:"punctuation.terminator.statement.semicolon.shell"},2:{name:"punctuation.separator.statement.and.shell"},3:{name:"punctuation.separator.statement.or.shell"},4:{name:"punctuation.separator.statement.background.shell"}},name:"meta.expression.assignment.alias.shell",patterns:[{include:"#normal_context"}]},argument:{begin:new k("(?:(?=([ \\t]+))\\1)(?!(?:&|\\||\\(|\\[|#|\\n|(?=\\n?$)|;))","dgv",{hiddenCaptures:[1]}),beginCaptures:{},end:/(?= |\t|;|\||&|(?=\n?$)|\n|\)|`)/dgv,endCaptures:{},name:"meta.argument.shell",patterns:[{include:"#argument_context"},{include:"#line_continuation"}]},argument_context:{patterns:[{captures:{1:{name:"string.unquoted.argument.shell",patterns:[{match:/\*/dgv,name:"variable.language.special.wildcard.shell"},{include:"#variable"},{include:"#numeric_literal"},{captures:{1:{name:"constant.language.$1.shell"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\b(?:true|false)\b)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv}]}},match:new k("(?:(?=([ \\t]*))\\1)([^ \\t\\n\\>\\&\\;\\<\\>\\(\\)\\$\\`\\\\\"'\\<\\|]+(?!>))","dgv",{hiddenCaptures:[1]})},{include:"#normal_context"}]},arithmetic_double:{patterns:[{begin:/\(\(/dgv,beginCaptures:{0:{name:"punctuation.section.arithmetic.double.shell"}},end:/\)\p{space}*\)/dgv,endCaptures:{0:{name:"punctuation.section.arithmetic.double.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},arithmetic_no_dollar:{patterns:[{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.section.arithmetic.single.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.arithmetic.single.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},array_access_inline:{captures:{1:{name:"punctuation.section.array.shell"},2:{patterns:[{include:"#special_expansion"},{include:"#string"},{include:"#variable"}]},3:{name:"punctuation.section.array.shell"}},match:/(\[)([^\[\]]+)(\])/dgv},array_value:{begin:new k("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))(?:(?=([ \\t]*))\\10)(\\()","dgv",{hiddenCaptures:[1,10]}),beginCaptures:{1:{name:"variable.other.assignment.shell"},2:{name:"punctuation.definition.array.access.shell"},3:{name:"variable.other.assignment.shell"},4:{name:"constant.numeric.shell constant.numeric.integer.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"keyword.operator.assignment.shell"},7:{name:"keyword.operator.assignment.compound.shell"},8:{name:"keyword.operator.assignment.compound.shell"},9:{name:"punctuation.definition.array.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.array.shell"}},patterns:[{include:"#comment"},{captures:{1:{name:"variable.other.assignment.array.shell entity.other.attribute-name.shell"},2:{name:"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(=)/dgv},{captures:{1:{name:"punctuation.definition.bracket.named-array.shell"},2:{name:"string.unquoted.shell entity.other.attribute-name.bracket.shell"},3:{name:"punctuation.definition.bracket.named-array.shell"},4:{name:"punctuation.definition.assignment.shell"}},match:/(\[)([^\n]+?)(\])(=)/dgv},{include:"#normal_context"},{include:"#simple_unquoted"}]},assignment_statement:{patterns:[{include:"#array_value"},{include:"#modified_assignment_statement"},{include:"#normal_assignment_statement"}]},basic_command_name:{captures:{1:{name:"storage.modifier.$1.shell"},2:{name:"entity.name.function.call.shell entity.name.command.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\.)(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"support.function.builtin.shell"},{include:"#variable"}]}},match:/(?!(?:!|&|\||\(|\)|\{|\[|<|>|#|\n|(?=\n?$)|;|[ \t]))(?!nocorrect |nocorrect\t|nocorrect(?=\n?$)|readonly |readonly\t|readonly(?=\n?$)|function |function\t|function(?=\n?$)|foreach |foreach\t|foreach(?=\n?$)|coproc |coproc\t|coproc(?=\n?$)|logout |logout\t|logout(?=\n?$)|export |export\t|export(?=\n?$)|select |select\t|select(?=\n?$)|repeat |repeat\t|repeat(?=\n?$)|pushd |pushd\t|pushd(?=\n?$)|until |until\t|until(?=\n?$)|while |while\t|while(?=\n?$)|local |local\t|local(?=\n?$)|case |case\t|case(?=\n?$)|done |done\t|done(?=\n?$)|elif |elif\t|elif(?=\n?$)|else |else\t|else(?=\n?$)|esac |esac\t|esac(?=\n?$)|popd |popd\t|popd(?=\n?$)|then |then\t|then(?=\n?$)|time |time\t|time(?=\n?$)|for |for\t|for(?=\n?$)|end |end\t|end(?=\n?$)|fi |fi\t|fi(?=\n?$)|do |do\t|do(?=\n?$)|in |in\t|in(?=\n?$)|if |if\t|if(?=\n?$))(?:((?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$)))|((?!"|'|\\\n?(?=\n?$))[^\!'"\<\> \t\n\r]+?))(?:(?= |\t)|(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\))/dgv,name:"meta.statement.command.name.basic.shell"},block_comment:{begin:new k("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"punctuation.definition.comment.begin.shell"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.shell"}},name:"comment.block.shell"},boolean:{match:/\b(?:true|false)\b/dgv,name:"constant.language.$0.shell"},case_statement:{begin:new k("(\\bcase\\b)(?:(?=([ \\t]*))\\2)([^\\n]+?)(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.control.case.shell"},2:{patterns:[{include:"#initial_context"}]},3:{name:"keyword.control.in.shell"}},end:/\besac\b/dgv,endCaptures:{0:{name:"keyword.control.esac.shell"}},name:"meta.case.shell",patterns:[{include:"#comment"},{captures:{1:{name:"keyword.operator.pattern.case.default.shell"}},match:new k("(?:(?=([ \\t]*))\\1)(\\* *\\))","dgv",{hiddenCaptures:[1]})},{begin:new k("(?<!\\))(?!(?:(?=([ \\t]*))\\1)(?:esac\\b|(?=\\n?$)))","dgv",{hiddenCaptures:[1]}),beginCaptures:{},end:/(?:(?=\besac\b)|(\)))/dgv,endCaptures:{1:{name:"keyword.operator.pattern.case.shell"}},name:"meta.case.entry.pattern.shell",patterns:[{include:"#case_statement_context"}]},{begin:/(?<=\))/dgv,beginCaptures:{},end:/(?:(;;)|(?=\besac\b))/dgv,endCaptures:{1:{name:"punctuation.terminator.statement.case.shell"}},name:"meta.case.entry.body.shell",patterns:[{include:"#typical_statements"},{include:"#initial_context"}]}]},case_statement_context:{patterns:[{match:/\*/dgv,name:"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\+/dgv,name:"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\?/dgv,name:"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/@/dgv,name:"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{match:/\|/dgv,name:"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{match:/(?<=\tin| in| |\t|;;)\(/dgv,name:"keyword.operator.pattern.case.shell"},{begin:/(?<=\P{space})(\()/dgv,beginCaptures:{1:{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},name:"meta.parenthese.shell",patterns:[{include:"#case_statement_context"}]},{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.character-class.shell"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.character-class.shell"}},name:"string.regexp.character-class.shell",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"}]},{include:"#string"},{match:/[^\) \t\n\[\?\*\|\@]/dgv,name:"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},command_name_range:{begin:/(?:)/dgv,beginCaptures:{},end:/(?:(?= |\t|;|\||&|(?=\n?$)|\n|\)|`)|(?=<))/dgv,endCaptures:{},name:"meta.statement.command.name.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\.)(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{include:"#variable"},{captures:{1:{name:"entity.name.function.call.shell entity.name.command.shell"}},match:new k(`(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?<=^|'|"|\\}|\\))([^ \\n\\t\\r"'\\=\\;\\&\\|\\\`\\)\\{\\<\\>]+)`,"dgv",{strategy:"clip_search"})},{begin:new k(`(?:^|(?<! |\\t|;|\\||&|\\n|\\{|#))(\\$?)((?:(")|(')))`,"dgv",{strategy:"clip_search"}),beginCaptures:{1:{name:"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},2:{},3:{name:"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},4:{name:"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},end:new k("(?<!^)(?<=\\2)()()","dgv",{strategy:"clip_search"}),endCaptures:{},patterns:[{include:"#continuation_of_single_quoted_command_name"},{include:"#continuation_of_double_quoted_command_name"}]},{include:"#line_continuation"},{include:"#simple_unquoted"}]},command_statement:{begin:new k("(?:(?=([ \\t]*))\\1)(?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{hiddenCaptures:[1]}),beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"},{include:"#heredoc"}]},comment:{captures:{1:{name:"comment.line.number-sign.shell meta.shebang.shell"},2:{name:"punctuation.definition.comment.shebang.shell"},3:{name:"comment.line.number-sign.shell"},4:{name:"punctuation.definition.comment.shell"}},match:new k("(?:^|(?:(?=([ \\t]+))\\1))(?:((#!)[^\\n]*)|((#)[^\\n]*))","dgv",{hiddenCaptures:[1]})},comments:{patterns:[{include:"#block_comment"},{include:"#line_comment"}]},"compound-command":{patterns:[{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical-expression"},{include:"#initial_context"}]},{begin:/(?<=\p{space}|^)\{(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{0:{name:"punctuation.definition.group.shell"}},end:/(?<=^|;)\p{space}*(\})/dgv,endCaptures:{1:{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},continuation_of_double_quoted_command_name:{begin:/(?<=")/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command",end:/"/dgv,endCaptures:{0:{name:"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},continuation_of_single_quoted_command_name:{begin:/(?<=')/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command",end:/'/dgv,endCaptures:{0:{name:"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},custom_command_names:{patterns:[]},custom_commands:{patterns:[]},double_quote_context:{patterns:[{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},double_quote_escape_char:{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},floating_keyword:{patterns:[{match:/(?<=^|;|&| |\t)(?:then|elif|else|done|end|do|if|fi)(?= |\t|;|&|(?=\n?$))/dgv,name:"keyword.control.$0.shell"}]},for_statement:{patterns:[{begin:new k("(\\bfor\\b)(?:(?=([ \\t]*))\\2)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.control.for.shell"},2:{name:"variable.other.for.shell"},3:{name:"keyword.control.in.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.in.shell",patterns:[{include:"#string"},{include:"#simple_unquoted"},{include:"#normal_context"}]},{begin:/(\bfor\b)/dgv,beginCaptures:{1:{name:"keyword.control.for.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.shell",patterns:[{include:"#arithmetic_double"},{include:"#normal_context"}]}]},function_definition:{applyEndPatternLast:1,begin:new k(`(?:(?=([ \\t]*))\\1)(?:(\\bfunction\\b)(?:(?=([ \\t]*))\\3)([^ \\t\\n\\r\\(\\)\\="']+)(?:(\\()(?:(?=([ \\t]*))\\6)(\\)))?|([^ \\t\\n\\r\\(\\)\\="']+)(?:(?=([ \\t]*))\\9)(\\()(?:(?=([ \\t]*))\\11)(\\)))`,"dgv",{hiddenCaptures:[1,3,6,9,11]}),beginCaptures:{1:{name:"storage.type.function.shell"},2:{name:"entity.name.function.shell"},3:{name:"punctuation.definition.arguments.shell"},4:{name:"punctuation.definition.arguments.shell"},5:{name:"entity.name.function.shell"},6:{name:"punctuation.definition.arguments.shell"},7:{name:"punctuation.definition.arguments.shell"}},end:/(?<=\}|\))/dgv,endCaptures:{},name:"meta.function.shell",patterns:[{match:/(?:\t| |\n)/dgvy},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{include:"#initial_context"}]},heredoc:{patterns:[{begin:new k(`((?<!<)<<-)(?:(?=([ \\t]*))\\2)("|')(?:(?=([ \\t]*))\\4)([^"']+?)(?=\\p{space}|;|&|<|"|')(\\3)([^\\n]*)`,"dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.quote.shell"},3:{name:"punctuation.definition.string.heredoc.delimiter.shell"},4:{name:"punctuation.definition.string.heredoc.quote.shell"},5:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.indent.$3",end:/^\t*\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.$0.shell"}},patterns:[]},{begin:new k(`((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)("|')(?:(?=([ \\t]*))\\4)([^"']+?)(?=\\p{space}|;|&|<|"|')(\\3)([^\\n]*)`,"dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.quote.shell"},3:{name:"punctuation.definition.string.heredoc.delimiter.shell"},4:{name:"punctuation.definition.string.heredoc.quote.shell"},5:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.no-indent.$3",end:/^\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[]},{begin:new k(`((?<!<)<<-)(?:(?=([ \\t]*))\\2)([^"' \\t]+)(?=\\p{space}|;|&|<|"|')([^\\n]*)`,"dgv",{hiddenCaptures:[2]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.delimiter.shell"},3:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.indent.$2",end:/^\t*\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]},{begin:new k(`((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)([^"' \\t]+)(?=\\p{space}|;|&|<|"|')([^\\n]*)`,"dgv",{hiddenCaptures:[2]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.delimiter.shell"},3:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.no-indent.$2",end:/^\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]}]},herestring:{patterns:[{begin:/(<<<)\p{space}*(('))/dgv,beginCaptures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.quoted.single.shell"},3:{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.single.shell",end:/(')/dgv,endCaptures:{0:{name:"string.quoted.single.shell"},1:{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell"},{begin:/(<<<)\p{space}*(("))/dgv,beginCaptures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.quoted.double.shell"},3:{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.double.shell",end:/(")/dgv,endCaptures:{0:{name:"string.quoted.double.shell"},1:{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell",patterns:[{include:"#double_quote_context"}]},{captures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.unquoted.herestring.shell",patterns:[{include:"#initial_context"}]}},match:/(<<<)\p{space}*(([^\p{space}\)\\]|\\[^\n])+)/dgv,name:"meta.herestring.shell"}]},initial_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#logical_expression_double"},{include:"#logical_expression_single"},{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#loop"},{include:"#function_definition"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#misc_ranges"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#alias_statement"},{include:"#normal_statement"},{include:"#string"},{include:"#support"}]},inline_comment:{captures:{1:{name:"comment.block.shell punctuation.definition.comment.begin.shell"},2:{name:"comment.block.shell"},3:{patterns:[{match:/\*\//dgv,name:"comment.block.shell punctuation.definition.comment.end.shell"},{match:/\*/dgv,name:"comment.block.shell"}]}},match:new k("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{hiddenCaptures:[3,4,6]})},interpolation:{patterns:[{include:"#arithmetic_dollar"},{include:"#subshell_dollar"},{begin:/`/dgv,beginCaptures:{0:{name:"punctuation.definition.evaluation.backticks.shell"}},end:/`/dgv,endCaptures:{0:{name:"punctuation.definition.evaluation.backticks.shell"}},name:"string.interpolated.backtick.shell",patterns:[{match:/\\[\`\\\$]/dgv,name:"constant.character.escape.shell"},{begin:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}])(?=#)(?!#\{)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.shell"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.shell"}},end:/(?=`)/dgv,name:"comment.line.number-sign.shell"}]},{include:"#initial_context"}]}]},keyword:{patterns:[{match:/(?<=^|;|&|\p{space})(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"keyword.control.shell"},{match:/(?<=^|;|&|\p{space})(?:export|declare|typeset|local|readonly)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"storage.modifier.shell"}]},line_comment:{begin:new k("(?:(?=(\\p{space}*))\\1)(//)","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"punctuation.definition.comment.shell"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.shell",patterns:[{include:"#line_continuation_character"}]},line_continuation:{match:/\\(?=\n)/dgv,name:"constant.character.escape.line-continuation.shell"},"logical-expression":{patterns:[{include:"#arithmetic_no_dollar"},{comment:"do we want a special rule for ( expr )?",match:/=[\=\~]?|!=?|<|>|&&|\|\|/dgv,name:"keyword.operator.logical.shell"},{match:/(?<!\P{space})-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\b/dgv,name:"keyword.operator.logical.shell"}]},logical_expression_context:{patterns:[{include:"#regex_comparison"},{include:"#arithmetic_no_dollar"},{include:"#logical-expression"},{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#comment"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},logical_expression_double:{begin:/\[\[/dgv,beginCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},end:/\]\]/dgv,endCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},logical_expression_single:{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},loop:{patterns:[{begin:/(?<=^|;|&|\p{space})(for)\p{space}+([^\n]+?)\p{space}+(in)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.control.shell"},2:{name:"variable.other.loop.shell",patterns:[{include:"#string"}]},3:{name:"keyword.control.shell"}},end:/(?<=^|;|&|\p{space})done(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.for-in-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})(while|until)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.control.shell"}},end:/(?<=^|;|&|\p{space})done(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.while-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})(select)\p{space}+((?:[^\p{space}\\]|\\[^\n])+)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.control.shell"},2:{name:"variable.other.loop.shell"}},end:/(?<=^|;|&|\p{space})(done)(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{1:{name:"keyword.control.shell"}},name:"meta.scope.select-block.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})if(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{0:{name:"keyword.control.if.shell"}},end:/(?<=^|;|&|\p{space})fi(?=\p{space}|;|&|(?=\n?$))/dgv,endCaptures:{0:{name:"keyword.control.fi.shell"}},name:"meta.scope.if-block.shell",patterns:[{include:"#initial_context"}]}]},math:{patterns:[{include:"#variable"},{match:/\+{1,2}|-{1,2}|!|~|\*{1,2}|\/|%|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|\?|:|,|=|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX][0-9A-Fa-f]+/dgv,name:"constant.numeric.hex.shell"},{match:/;/dgv,name:"punctuation.separator.semicolon.range"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"}]},math_operators:{patterns:[{match:/\+{1,2}|-{1,2}|!|~|\*{1,2}|\/|%|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|\?|:|,|=|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX][0-9A-Fa-f]+/dgv,name:"constant.numeric.hex.shell"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"}]},misc_ranges:{patterns:[{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#subshell_dollar"},{begin:/(?<![^ \t])(\{)(?![\p{L}\p{M}\p{N}\p{Pc}]|\$)/dgv,beginCaptures:{1:{name:"punctuation.definition.group.shell"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},modified_assignment_statement:{begin:/(?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$))/dgv,beginCaptures:{0:{name:"storage.modifier.$0.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell meta.expression.assignment.modified.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"},{include:"#array_value"},{captures:{1:{name:"variable.other.assignment.shell"},2:{name:"punctuation.definition.array.access.shell"},3:{name:"variable.other.assignment.shell"},4:{name:"constant.numeric.shell constant.numeric.integer.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"keyword.operator.assignment.shell"},7:{name:"keyword.operator.assignment.compound.shell"},8:{name:"keyword.operator.assignment.compound.shell"},9:{name:"constant.numeric.shell constant.numeric.hex.shell"},10:{name:"constant.numeric.shell constant.numeric.octal.shell"},11:{name:"constant.numeric.shell constant.numeric.other.shell"},12:{name:"constant.numeric.shell constant.numeric.decimal.shell"},13:{name:"constant.numeric.shell constant.numeric.version.shell"},14:{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(\[)((?:(?:(?:\$?(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])|@)|\*)|(-?\p{Nd}+)))(\]))?(?:(?:(=)|(\+=))|(-=))?(?:(?<==| |\t|^|\{|\(|\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?= |\t|(?=\n?$)|\}|\)|;))?/dgv},{include:"#normal_context"}]},modifiers:{match:/(?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$))/dgv,name:"storage.modifier.$0.shell"},normal_assignment_statement:{begin:new k("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"variable.other.assignment.shell"},2:{name:"punctuation.definition.array.access.shell"},3:{name:"variable.other.assignment.shell"},4:{name:"constant.numeric.shell constant.numeric.integer.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"keyword.operator.assignment.shell"},7:{name:"keyword.operator.assignment.compound.shell"},8:{name:"keyword.operator.assignment.compound.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.expression.assignment.shell",patterns:[{include:"#comment"},{include:"#string"},{include:"#normal_assignment_statement"},{begin:/(?<= |\t)(?! |\t|[\p{L}\p{M}\p{N}\p{Pc}]+=)/dgv,beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.env.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"}]},{include:"#simple_unquoted"},{include:"#normal_context"}]},normal_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#misc_ranges"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"},{include:"#parenthese"}]},normal_statement:{begin:new k("(?!^(?:(?=([ \\t]*))\\1)(?=\\n?$))(?:(?<=^until | until |\\tuntil |^while | while |\\twhile |^elif | elif |\\telif |^else | else |\\telse |^then | then |\\tthen |^do | do |\\tdo |^if | if |\\tif )|(?<=(?:^|;|\\||&|!|\\(|\\{|`)))(?:(?=([ \\t]*))\\2)(?!nocorrect[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nocorrect\\$|function[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|function\\$|foreach[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|foreach\\$|repeat[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|repeat\\$|logout[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|logout\\$|coproc[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|coproc\\$|select[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|select\\$|while[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|while\\$|pushd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pushd\\$|until[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|until\\$|case[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|case\\$|done[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|done\\$|elif[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|elif\\$|else[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|else\\$|esac[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|esac\\$|popd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|popd\\$|then[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|then\\$|time[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time\\$|for[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|for\\$|end[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|end\\$|fi[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fi\\$|do[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|do\\$|in[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in\\$|if[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|if\\$)","dgv",{hiddenCaptures:[1,2]}),beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell",patterns:[{include:"#typical_statements"}]},normal_statement_seperator:{captures:{1:{name:"punctuation.terminator.statement.semicolon.shell"},2:{name:"punctuation.separator.statement.and.shell"},3:{name:"punctuation.separator.statement.or.shell"},4:{name:"punctuation.separator.statement.background.shell"}},match:/(?:(?:(?:(;)|(&&))|(\|\|))|(&))/dgv},numeric_literal:{captures:{1:{name:"constant.numeric.shell constant.numeric.hex.shell"},2:{name:"constant.numeric.shell constant.numeric.octal.shell"},3:{name:"constant.numeric.shell constant.numeric.other.shell"},4:{name:"constant.numeric.shell constant.numeric.decimal.shell"},5:{name:"constant.numeric.shell constant.numeric.version.shell"},6:{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/(?<==| |\t|^|\{|\(|\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?= |\t|(?=\n?$)|\}|\)|;)/dgv},option:{begin:new k("(?:(?=([ \\t]+))\\1)(-)((?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t])))","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},2:{name:"string.unquoted.argument.shell constant.other.option.shell"}},contentName:"string.unquoted.argument constant.other.option",end:/(?:(?=[ \t])|(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\))/dgv,endCaptures:{},patterns:[{include:"#option_context"}]},option_context:{patterns:[{include:"#misc_ranges"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},parenthese:{patterns:[{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.section.parenthese.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.parenthese.shell"}},name:"meta.parenthese.group.shell",patterns:[{include:"#initial_context"}]}]},pathname:{patterns:[{match:/(?<=\p{space}|:|=|^)~/dgv,name:"keyword.operator.tilde.shell"},{match:/\*|\?/dgv,name:"keyword.operator.glob.shell"},{begin:/([\?\*\+\@\!])(\()/dgv,beginCaptures:{1:{name:"keyword.operator.extglob.shell"},2:{name:"punctuation.definition.extglob.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.extglob.shell"}},name:"meta.structure.extglob.shell",patterns:[{include:"#initial_context"}]}]},pipeline:{patterns:[{match:/(?<=^|;|&|\p{space})(time)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"keyword.other.shell"},{match:/[\|\!]/dgv,name:"keyword.operator.pipe.shell"}]},redirect_fix:{captures:{1:{name:"keyword.operator.redirect.shell"},2:{name:"string.unquoted.argument.shell"}},match:new k("(>>?)(?:(?=([ \\t]*))\\2)([^ \\t\\n\\>\\&\\;\\<\\>\\(\\)\\$\\`\\\\\"'\\<\\|]+)","dgv",{hiddenCaptures:[2]})},redirect_number:{captures:{1:{name:"keyword.operator.redirect.stdout.shell"},2:{name:"keyword.operator.redirect.stderr.shell"},3:{name:"keyword.operator.redirect.$3.shell"}},match:/(?<=[ \t])(?:(1)|(2)|(\p{Nd}+))(?=>)/dgv},redirection:{patterns:[{begin:/[\>\<]\(/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.interpolated.process-substitution.shell",patterns:[{include:"#initial_context"}]},{match:/(?<![\<\>])(&>|\p{Nd}*>&\p{Nd}*|\p{Nd}*(>>|>|<)|\p{Nd}*<&|\p{Nd}*<>)(?![\<\>])/dgv,name:"keyword.operator.redirect.shell"}]},regex_comparison:{match:/=~/dgv,name:"keyword.operator.logical.regex.shell"},regexp:{patterns:[{match:/[^\n]+/dgv}]},simple_options:{captures:{0:{patterns:[{captures:{1:{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},2:{name:"string.unquoted.argument.shell constant.other.option.shell"}},match:new k("(?:(?=([ \\t]+))\\1)(-)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)","dgv",{hiddenCaptures:[1]})}]}},match:new k("(?:(?:(?=([ \\t]+))\\1)-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)*","dgv",{hiddenCaptures:[1]})},simple_unquoted:{match:/[^ \t\n\>\&\;\<\>\(\)\$\`\\"'\<\|]/dgv,name:"string.unquoted.shell"},special_expansion:{match:/!|:[\-\=\?]?|\*|@|##|#|%%|%|\//dgv,name:"keyword.operator.expansion.shell"},start_of_command:{match:new k("(?:(?=([ \\t]*))\\1)(?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{hiddenCaptures:[1]})},string:{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.shell"},{begin:/\$?"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.double.shell",patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},{begin:/\$'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.dollar.shell",patterns:[{match:/\\(?:a|b|e|f|n|r|t|v|\\|')/dgv,name:"constant.character.escape.ansi-c.shell"},{match:/\\[0-9]{3}"/dgv,name:"constant.character.escape.octal.shell"},{match:/\\x[0-9a-fA-F]{2}"/dgv,name:"constant.character.escape.hex.shell"},{match:/\\c[^\n]"/dgv,name:"constant.character.escape.control-char.shell"}]}]},subshell_dollar:{patterns:[{begin:/\$\(/dgv,beginCaptures:{0:{name:"punctuation.definition.subshell.single.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.subshell.single.shell"}},name:"meta.scope.subshell",patterns:[{include:"#parenthese"},{include:"#initial_context"}]}]},support:{patterns:[{match:/(?<=^|;|&|\p{space})(?::|\.)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"support.function.builtin.shell"}]},typical_statements:{patterns:[{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#while_statement"},{include:"#function_definition"},{include:"#command_statement"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#normal_context"}]},variable:{patterns:[{captures:{1:{name:"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},2:{name:"variable.parameter.positional.all.shell"}},match:/(\$)(@(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{1:{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},2:{name:"variable.parameter.positional.shell"}},match:/(\$)([0-9](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{1:{name:"punctuation.definition.variable.shell variable.language.special.shell"},2:{name:"variable.language.special.shell"}},match:/(\$)([\-\*\#\?\$\!0_](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{begin:new k("(\\$)(\\{)(?:(?=([ \\t]*))\\3)(?=\\p{Nd})","dgv",{hiddenCaptures:[3]}),beginCaptures:{1:{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},2:{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/[0-9]+/dgv,name:"variable.parameter.positional.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{begin:/(\$)(\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.variable.shell"},2:{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{captures:{1:{name:"punctuation.definition.variable.shell variable.other.normal.shell"},2:{name:"variable.other.normal.shell"}},match:/(\$)([\p{L}\p{M}\p{N}\p{Pc}]+(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv}]},while_statement:{patterns:[{begin:/(\bwhile\b)/dgv,beginCaptures:{1:{name:"keyword.control.while.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.while.shell",patterns:[{include:"#line_continuation"},{include:"#math_operators"},{include:"#option"},{include:"#simple_unquoted"},{include:"#normal_context"},{include:"#string"}]}]}},scopeName:"source.shell",embeddedLangs:void 0,aliases:["bash","sh","shell","zsh"]}),Yp=[Jp],Ad=Object.freeze(Object.defineProperty({__proto__:null,default:Yp},Symbol.toStringTag,{value:"Module"})),Kp=Object.freeze(JSON.parse('{"colors":{"activityBar.activeBorder":"#4d9375","activityBar.background":"#121212","activityBar.border":"#191919","activityBar.foreground":"#dbd7caee","activityBar.inactiveForeground":"#dedcd550","activityBarBadge.background":"#bfbaaa","activityBarBadge.foreground":"#121212","badge.background":"#dedcd590","badge.foreground":"#121212","breadcrumb.activeSelectionForeground":"#eeeeee18","breadcrumb.background":"#181818","breadcrumb.focusForeground":"#dbd7caee","breadcrumb.foreground":"#959da5","breadcrumbPicker.background":"#121212","button.background":"#4d9375","button.foreground":"#121212","button.hoverBackground":"#4d9375","checkbox.background":"#181818","checkbox.border":"#2f363d","debugToolBar.background":"#121212","descriptionForeground":"#dedcd590","diffEditor.insertedTextBackground":"#4d937550","diffEditor.removedTextBackground":"#ab595950","dropdown.background":"#121212","dropdown.border":"#191919","dropdown.foreground":"#dbd7caee","dropdown.listBackground":"#181818","editor.background":"#121212","editor.findMatchBackground":"#e6cc7722","editor.findMatchHighlightBackground":"#e6cc7744","editor.focusedStackFrameHighlightBackground":"#b808","editor.foldBackground":"#eeeeee10","editor.foreground":"#dbd7caee","editor.inactiveSelectionBackground":"#eeeeee10","editor.lineHighlightBackground":"#181818","editor.selectionBackground":"#eeeeee18","editor.selectionHighlightBackground":"#eeeeee10","editor.stackFrameHighlightBackground":"#a707","editor.wordHighlightBackground":"#1c6b4805","editor.wordHighlightStrongBackground":"#1c6b4810","editorBracketHighlight.foreground1":"#5eaab5","editorBracketHighlight.foreground2":"#4d9375","editorBracketHighlight.foreground3":"#d4976c","editorBracketHighlight.foreground4":"#d9739f","editorBracketHighlight.foreground5":"#e6cc77","editorBracketHighlight.foreground6":"#6394bf","editorBracketMatch.background":"#4d937520","editorError.foreground":"#cb7676","editorGroup.border":"#191919","editorGroupHeader.tabsBackground":"#121212","editorGroupHeader.tabsBorder":"#191919","editorGutter.addedBackground":"#4d9375","editorGutter.commentRangeForeground":"#dedcd550","editorGutter.deletedBackground":"#cb7676","editorGutter.foldingControlForeground":"#dedcd590","editorGutter.modifiedBackground":"#6394bf","editorHint.foreground":"#4d9375","editorIndentGuide.activeBackground":"#ffffff30","editorIndentGuide.background":"#ffffff15","editorInfo.foreground":"#6394bf","editorInlayHint.background":"#181818","editorInlayHint.foreground":"#666666","editorLineNumber.activeForeground":"#bfbaaa","editorLineNumber.foreground":"#dedcd550","editorOverviewRuler.border":"#111","editorStickyScroll.background":"#181818","editorStickyScrollHover.background":"#181818","editorWarning.foreground":"#d4976c","editorWhitespace.foreground":"#ffffff15","editorWidget.background":"#121212","errorForeground":"#cb7676","focusBorder":"#00000000","foreground":"#dbd7caee","gitDecoration.addedResourceForeground":"#4d9375","gitDecoration.conflictingResourceForeground":"#d4976c","gitDecoration.deletedResourceForeground":"#cb7676","gitDecoration.ignoredResourceForeground":"#dedcd550","gitDecoration.modifiedResourceForeground":"#6394bf","gitDecoration.submoduleResourceForeground":"#dedcd590","gitDecoration.untrackedResourceForeground":"#5eaab5","input.background":"#181818","input.border":"#191919","input.foreground":"#dbd7caee","input.placeholderForeground":"#dedcd590","inputOption.activeBackground":"#dedcd550","list.activeSelectionBackground":"#181818","list.activeSelectionForeground":"#dbd7caee","list.focusBackground":"#181818","list.highlightForeground":"#4d9375","list.hoverBackground":"#181818","list.hoverForeground":"#dbd7caee","list.inactiveFocusBackground":"#121212","list.inactiveSelectionBackground":"#181818","list.inactiveSelectionForeground":"#dbd7caee","menu.separatorBackground":"#191919","notificationCenterHeader.background":"#121212","notificationCenterHeader.foreground":"#959da5","notifications.background":"#121212","notifications.border":"#191919","notifications.foreground":"#dbd7caee","notificationsErrorIcon.foreground":"#cb7676","notificationsInfoIcon.foreground":"#6394bf","notificationsWarningIcon.foreground":"#d4976c","panel.background":"#121212","panel.border":"#191919","panelInput.border":"#2f363d","panelTitle.activeBorder":"#4d9375","panelTitle.activeForeground":"#dbd7caee","panelTitle.inactiveForeground":"#959da5","peekViewEditor.background":"#121212","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.background":"#121212","peekViewResult.matchHighlightBackground":"#ffd33d33","pickerGroup.border":"#191919","pickerGroup.foreground":"#dbd7caee","problemsErrorIcon.foreground":"#cb7676","problemsInfoIcon.foreground":"#6394bf","problemsWarningIcon.foreground":"#d4976c","progressBar.background":"#4d9375","quickInput.background":"#121212","quickInput.foreground":"#dbd7caee","quickInputList.focusBackground":"#181818","scrollbar.shadow":"#0000","scrollbarSlider.activeBackground":"#dedcd550","scrollbarSlider.background":"#dedcd510","scrollbarSlider.hoverBackground":"#dedcd550","settings.headerForeground":"#dbd7caee","settings.modifiedItemIndicator":"#4d9375","sideBar.background":"#121212","sideBar.border":"#191919","sideBar.foreground":"#bfbaaa","sideBarSectionHeader.background":"#121212","sideBarSectionHeader.border":"#191919","sideBarSectionHeader.foreground":"#dbd7caee","sideBarTitle.foreground":"#dbd7caee","statusBar.background":"#121212","statusBar.border":"#191919","statusBar.debuggingBackground":"#181818","statusBar.debuggingForeground":"#bfbaaa","statusBar.foreground":"#bfbaaa","statusBar.noFolderBackground":"#121212","statusBarItem.prominentBackground":"#181818","tab.activeBackground":"#121212","tab.activeBorder":"#191919","tab.activeBorderTop":"#dedcd590","tab.activeForeground":"#dbd7caee","tab.border":"#191919","tab.hoverBackground":"#181818","tab.inactiveBackground":"#121212","tab.inactiveForeground":"#959da5","tab.unfocusedActiveBorder":"#191919","tab.unfocusedActiveBorderTop":"#191919","tab.unfocusedHoverBackground":"#121212","terminal.ansiBlack":"#393a34","terminal.ansiBlue":"#6394bf","terminal.ansiBrightBlack":"#777777","terminal.ansiBrightBlue":"#6394bf","terminal.ansiBrightCyan":"#5eaab5","terminal.ansiBrightGreen":"#4d9375","terminal.ansiBrightMagenta":"#d9739f","terminal.ansiBrightRed":"#cb7676","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#e6cc77","terminal.ansiCyan":"#5eaab5","terminal.ansiGreen":"#4d9375","terminal.ansiMagenta":"#d9739f","terminal.ansiRed":"#cb7676","terminal.ansiWhite":"#dbd7ca","terminal.ansiYellow":"#e6cc77","terminal.foreground":"#dbd7caee","terminal.selectionBackground":"#eeeeee18","textBlockQuote.background":"#121212","textBlockQuote.border":"#191919","textCodeBlock.background":"#121212","textLink.activeForeground":"#4d9375","textLink.foreground":"#4d9375","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","titleBar.activeBackground":"#121212","titleBar.activeForeground":"#bfbaaa","titleBar.border":"#181818","titleBar.inactiveBackground":"#121212","titleBar.inactiveForeground":"#959da5","tree.indentGuidesStroke":"#2f363d","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"displayName":"Vitesse Dark","name":"vitesse-dark","semanticHighlighting":true,"semanticTokenColors":{"class":"#6872ab","interface":"#5d99a9","namespace":"#db889a","property":"#b8a965","type":"#5d99a9"},"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#758575dd"}},{"scope":["delimiter.bracket","delimiter","invalid.illegal.character-not-allowed-here.html","keyword.operator.rest","keyword.operator.spread","keyword.operator.type.annotation","keyword.operator.relational","keyword.operator.assignment","keyword.operator.type","meta.brace","meta.tag.block.any.html","meta.tag.inline.any.html","meta.tag.structure.input.void.html","meta.type.annotation","meta.embedded.block.github-actions-expression","storage.type.function.arrow","meta.objectliteral.ts","punctuation","punctuation.definition.string.begin.html.vue","punctuation.definition.string.end.html.vue"],"settings":{"foreground":"#666666"}},{"scope":["constant","entity.name.constant","variable.language","meta.definition.variable"],"settings":{"foreground":"#c99076"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#80a665"}},{"scope":"variable.parameter.function","settings":{"foreground":"#dbd7caee"}},{"scope":["entity.name.tag","tag.html"],"settings":{"foreground":"#4d9375"}},{"scope":"entity.name.function","settings":{"foreground":"#80a665"}},{"scope":["keyword","storage.type.class.jsdoc","punctuation.definition.template-expression"],"settings":{"foreground":"#4d9375"}},{"scope":["storage","storage.type","support.type.builtin","constant.language.undefined","constant.language.null","constant.language.import-export-all.ts"],"settings":{"foreground":"#cb7676"}},{"scope":["text.html.derivative","storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#dbd7caee"}},{"scope":["string","string punctuation.section.embedded source","attribute.value"],"settings":{"foreground":"#c98a7d"}},{"scope":["punctuation.definition.string"],"settings":{"foreground":"#c98a7d77"}},{"scope":["punctuation.support.type.property-name"],"settings":{"foreground":"#b8a96577"}},{"scope":"support","settings":{"foreground":"#b8a965"}},{"scope":["property","meta.property-name","meta.object-literal.key","entity.name.tag.yaml","attribute.name"],"settings":{"foreground":"#b8a965"}},{"scope":["entity.other.attribute-name","invalid.deprecated.entity.other.attribute-name.html"],"settings":{"foreground":"#bd976a"}},{"scope":["variable","identifier"],"settings":{"foreground":"#bd976a"}},{"scope":["support.type.primitive","entity.name.type"],"settings":{"foreground":"#5DA994"}},{"scope":"namespace","settings":{"foreground":"#db889a"}},{"scope":["keyword.operator","keyword.operator.assignment.compound","meta.var.expr.ts"],"settings":{"foreground":"#cb7676"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"background":"#f97583","content":"^M","fontStyle":"italic underline","foreground":"#24292e"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#c98a7d"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#c4704f"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#c98a7d"}},{"scope":"string.regexp constant.character.escape","settings":{"foreground":"#e6cc77"}},{"scope":["support.constant"],"settings":{"foreground":"#c99076"}},{"scope":["keyword.operator.quantifier.regexp","constant.numeric","number"],"settings":{"foreground":"#4C9A91"}},{"scope":["keyword.other.unit"],"settings":{"foreground":"#cb7676"}},{"scope":["constant.language.boolean","constant.language"],"settings":{"foreground":"#4d9375"}},{"scope":"meta.module-reference","settings":{"foreground":"#4d9375"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#d4976c"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#4d9375"}},{"scope":"markup.quote","settings":{"foreground":"#5d99a9"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#dbd7caee"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#dbd7caee"}},{"scope":"markup.raw","settings":{"foreground":"#4d9375"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#79b8ff","foreground":"#2f363d"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#b392f0"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link","punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#c98a7d"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"fontStyle":"underline","foreground":"#dedcd590"}},{"scope":["type.identifier","constant.other.character-class.regexp"],"settings":{"foreground":"#6872ab"}},{"scope":["entity.other.attribute-name.html.vue"],"settings":{"foreground":"#80a665"}},{"scope":["invalid.illegal.unrecognized-tag.html"],"settings":{"fontStyle":"normal"}}],"type":"dark"}')),Nd=Object.freeze(Object.defineProperty({__proto__:null,default:Kp},Symbol.toStringTag,{value:"Module"})),Qp=Object.freeze(JSON.parse('{"colors":{"activityBar.activeBorder":"#1c6b48","activityBar.background":"#ffffff","activityBar.border":"#f0f0f0","activityBar.foreground":"#393a34","activityBar.inactiveForeground":"#393a3450","activityBarBadge.background":"#4e4f47","activityBarBadge.foreground":"#ffffff","badge.background":"#393a3490","badge.foreground":"#ffffff","breadcrumb.activeSelectionForeground":"#22222218","breadcrumb.background":"#f7f7f7","breadcrumb.focusForeground":"#393a34","breadcrumb.foreground":"#6a737d","breadcrumbPicker.background":"#ffffff","button.background":"#1c6b48","button.foreground":"#ffffff","button.hoverBackground":"#1c6b48","checkbox.background":"#f7f7f7","checkbox.border":"#d1d5da","debugToolBar.background":"#ffffff","descriptionForeground":"#393a3490","diffEditor.insertedTextBackground":"#1c6b4830","diffEditor.removedTextBackground":"#ab595940","dropdown.background":"#ffffff","dropdown.border":"#f0f0f0","dropdown.foreground":"#393a34","dropdown.listBackground":"#f7f7f7","editor.background":"#ffffff","editor.findMatchBackground":"#e6cc7744","editor.findMatchHighlightBackground":"#e6cc7766","editor.focusedStackFrameHighlightBackground":"#fff5b1","editor.foldBackground":"#22222210","editor.foreground":"#393a34","editor.inactiveSelectionBackground":"#22222210","editor.lineHighlightBackground":"#f7f7f7","editor.selectionBackground":"#22222218","editor.selectionHighlightBackground":"#22222210","editor.stackFrameHighlightBackground":"#fffbdd","editor.wordHighlightBackground":"#1c6b4805","editor.wordHighlightStrongBackground":"#1c6b4810","editorBracketHighlight.foreground1":"#2993a3","editorBracketHighlight.foreground2":"#1e754f","editorBracketHighlight.foreground3":"#a65e2b","editorBracketHighlight.foreground4":"#a13865","editorBracketHighlight.foreground5":"#bda437","editorBracketHighlight.foreground6":"#296aa3","editorBracketMatch.background":"#1c6b4820","editorError.foreground":"#ab5959","editorGroup.border":"#f0f0f0","editorGroupHeader.tabsBackground":"#ffffff","editorGroupHeader.tabsBorder":"#f0f0f0","editorGutter.addedBackground":"#1e754f","editorGutter.commentRangeForeground":"#393a3450","editorGutter.deletedBackground":"#ab5959","editorGutter.foldingControlForeground":"#393a3490","editorGutter.modifiedBackground":"#296aa3","editorHint.foreground":"#1e754f","editorIndentGuide.activeBackground":"#00000030","editorIndentGuide.background":"#00000015","editorInfo.foreground":"#296aa3","editorInlayHint.background":"#f7f7f7","editorInlayHint.foreground":"#999999","editorLineNumber.activeForeground":"#4e4f47","editorLineNumber.foreground":"#393a3450","editorOverviewRuler.border":"#fff","editorStickyScroll.background":"#f7f7f7","editorStickyScrollHover.background":"#f7f7f7","editorWarning.foreground":"#a65e2b","editorWhitespace.foreground":"#00000015","editorWidget.background":"#ffffff","errorForeground":"#ab5959","focusBorder":"#00000000","foreground":"#393a34","gitDecoration.addedResourceForeground":"#1e754f","gitDecoration.conflictingResourceForeground":"#a65e2b","gitDecoration.deletedResourceForeground":"#ab5959","gitDecoration.ignoredResourceForeground":"#393a3450","gitDecoration.modifiedResourceForeground":"#296aa3","gitDecoration.submoduleResourceForeground":"#393a3490","gitDecoration.untrackedResourceForeground":"#2993a3","input.background":"#f7f7f7","input.border":"#f0f0f0","input.foreground":"#393a34","input.placeholderForeground":"#393a3490","inputOption.activeBackground":"#393a3450","list.activeSelectionBackground":"#f7f7f7","list.activeSelectionForeground":"#393a34","list.focusBackground":"#f7f7f7","list.highlightForeground":"#1c6b48","list.hoverBackground":"#f7f7f7","list.hoverForeground":"#393a34","list.inactiveFocusBackground":"#ffffff","list.inactiveSelectionBackground":"#f7f7f7","list.inactiveSelectionForeground":"#393a34","menu.separatorBackground":"#f0f0f0","notificationCenterHeader.background":"#ffffff","notificationCenterHeader.foreground":"#6a737d","notifications.background":"#ffffff","notifications.border":"#f0f0f0","notifications.foreground":"#393a34","notificationsErrorIcon.foreground":"#ab5959","notificationsInfoIcon.foreground":"#296aa3","notificationsWarningIcon.foreground":"#a65e2b","panel.background":"#ffffff","panel.border":"#f0f0f0","panelInput.border":"#e1e4e8","panelTitle.activeBorder":"#1c6b48","panelTitle.activeForeground":"#393a34","panelTitle.inactiveForeground":"#6a737d","peekViewEditor.background":"#ffffff","peekViewResult.background":"#ffffff","pickerGroup.border":"#f0f0f0","pickerGroup.foreground":"#393a34","problemsErrorIcon.foreground":"#ab5959","problemsInfoIcon.foreground":"#296aa3","problemsWarningIcon.foreground":"#a65e2b","progressBar.background":"#1c6b48","quickInput.background":"#ffffff","quickInput.foreground":"#393a34","quickInputList.focusBackground":"#f7f7f7","scrollbar.shadow":"#6a737d33","scrollbarSlider.activeBackground":"#393a3450","scrollbarSlider.background":"#393a3410","scrollbarSlider.hoverBackground":"#393a3450","settings.headerForeground":"#393a34","settings.modifiedItemIndicator":"#1c6b48","sideBar.background":"#ffffff","sideBar.border":"#f0f0f0","sideBar.foreground":"#4e4f47","sideBarSectionHeader.background":"#ffffff","sideBarSectionHeader.border":"#f0f0f0","sideBarSectionHeader.foreground":"#393a34","sideBarTitle.foreground":"#393a34","statusBar.background":"#ffffff","statusBar.border":"#f0f0f0","statusBar.debuggingBackground":"#f7f7f7","statusBar.debuggingForeground":"#4e4f47","statusBar.foreground":"#4e4f47","statusBar.noFolderBackground":"#ffffff","statusBarItem.prominentBackground":"#f7f7f7","tab.activeBackground":"#ffffff","tab.activeBorder":"#f0f0f0","tab.activeBorderTop":"#393a3490","tab.activeForeground":"#393a34","tab.border":"#f0f0f0","tab.hoverBackground":"#f7f7f7","tab.inactiveBackground":"#ffffff","tab.inactiveForeground":"#6a737d","tab.unfocusedActiveBorder":"#f0f0f0","tab.unfocusedActiveBorderTop":"#f0f0f0","tab.unfocusedHoverBackground":"#ffffff","terminal.ansiBlack":"#121212","terminal.ansiBlue":"#296aa3","terminal.ansiBrightBlack":"#aaaaaa","terminal.ansiBrightBlue":"#296aa3","terminal.ansiBrightCyan":"#2993a3","terminal.ansiBrightGreen":"#1e754f","terminal.ansiBrightMagenta":"#a13865","terminal.ansiBrightRed":"#ab5959","terminal.ansiBrightWhite":"#dddddd","terminal.ansiBrightYellow":"#bda437","terminal.ansiCyan":"#2993a3","terminal.ansiGreen":"#1e754f","terminal.ansiMagenta":"#a13865","terminal.ansiRed":"#ab5959","terminal.ansiWhite":"#dbd7ca","terminal.ansiYellow":"#bda437","terminal.foreground":"#393a34","terminal.selectionBackground":"#22222218","textBlockQuote.background":"#ffffff","textBlockQuote.border":"#f0f0f0","textCodeBlock.background":"#ffffff","textLink.activeForeground":"#1c6b48","textLink.foreground":"#1c6b48","textPreformat.foreground":"#586069","textSeparator.foreground":"#d1d5da","titleBar.activeBackground":"#ffffff","titleBar.activeForeground":"#4e4f47","titleBar.border":"#f7f7f7","titleBar.inactiveBackground":"#ffffff","titleBar.inactiveForeground":"#6a737d","tree.indentGuidesStroke":"#e1e4e8","welcomePage.buttonBackground":"#f6f8fa","welcomePage.buttonHoverBackground":"#e1e4e8"},"displayName":"Vitesse Light","name":"vitesse-light","semanticHighlighting":true,"semanticTokenColors":{"class":"#5a6aa6","interface":"#2e808f","namespace":"#b05a78","property":"#998418","type":"#2e808f"},"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#a0ada0"}},{"scope":["delimiter.bracket","delimiter","invalid.illegal.character-not-allowed-here.html","keyword.operator.rest","keyword.operator.spread","keyword.operator.type.annotation","keyword.operator.relational","keyword.operator.assignment","keyword.operator.type","meta.brace","meta.tag.block.any.html","meta.tag.inline.any.html","meta.tag.structure.input.void.html","meta.type.annotation","meta.embedded.block.github-actions-expression","storage.type.function.arrow","meta.objectliteral.ts","punctuation","punctuation.definition.string.begin.html.vue","punctuation.definition.string.end.html.vue"],"settings":{"foreground":"#999999"}},{"scope":["constant","entity.name.constant","variable.language","meta.definition.variable"],"settings":{"foreground":"#a65e2b"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#59873a"}},{"scope":"variable.parameter.function","settings":{"foreground":"#393a34"}},{"scope":["entity.name.tag","tag.html"],"settings":{"foreground":"#1e754f"}},{"scope":"entity.name.function","settings":{"foreground":"#59873a"}},{"scope":["keyword","storage.type.class.jsdoc","punctuation.definition.template-expression"],"settings":{"foreground":"#1e754f"}},{"scope":["storage","storage.type","support.type.builtin","constant.language.undefined","constant.language.null","constant.language.import-export-all.ts"],"settings":{"foreground":"#ab5959"}},{"scope":["text.html.derivative","storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#393a34"}},{"scope":["string","string punctuation.section.embedded source","attribute.value"],"settings":{"foreground":"#b56959"}},{"scope":["punctuation.definition.string"],"settings":{"foreground":"#b5695977"}},{"scope":["punctuation.support.type.property-name"],"settings":{"foreground":"#99841877"}},{"scope":"support","settings":{"foreground":"#998418"}},{"scope":["property","meta.property-name","meta.object-literal.key","entity.name.tag.yaml","attribute.name"],"settings":{"foreground":"#998418"}},{"scope":["entity.other.attribute-name","invalid.deprecated.entity.other.attribute-name.html"],"settings":{"foreground":"#b07d48"}},{"scope":["variable","identifier"],"settings":{"foreground":"#b07d48"}},{"scope":["support.type.primitive","entity.name.type"],"settings":{"foreground":"#2e8f82"}},{"scope":"namespace","settings":{"foreground":"#b05a78"}},{"scope":["keyword.operator","keyword.operator.assignment.compound","meta.var.expr.ts"],"settings":{"foreground":"#ab5959"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"carriage-return","settings":{"background":"#d73a49","content":"^M","fontStyle":"italic underline","foreground":"#fafbfc"}},{"scope":"message.error","settings":{"foreground":"#b31d28"}},{"scope":"string variable","settings":{"foreground":"#b56959"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#ab5e3f"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#b56959"}},{"scope":"string.regexp constant.character.escape","settings":{"foreground":"#bda437"}},{"scope":["support.constant"],"settings":{"foreground":"#a65e2b"}},{"scope":["keyword.operator.quantifier.regexp","constant.numeric","number"],"settings":{"foreground":"#2f798a"}},{"scope":["keyword.other.unit"],"settings":{"foreground":"#ab5959"}},{"scope":["constant.language.boolean","constant.language"],"settings":{"foreground":"#1e754f"}},{"scope":"meta.module-reference","settings":{"foreground":"#1c6b48"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#a65e2b"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#1c6b48"}},{"scope":"markup.quote","settings":{"foreground":"#2e808f"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#393a34"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#393a34"}},{"scope":"markup.raw","settings":{"foreground":"#1c6b48"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#ffeef0","foreground":"#b31d28"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#f0fff4","foreground":"#22863a"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#ffebda","foreground":"#e36209"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#005cc5","foreground":"#f6f8fa"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#6f42c1"}},{"scope":"meta.diff.header","settings":{"foreground":"#005cc5"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#005cc5"}},{"scope":"meta.output","settings":{"foreground":"#005cc5"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#586069"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#b31d28"}},{"scope":["constant.other.reference.link","string.other.link","punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#b56959"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"fontStyle":"underline","foreground":"#393a3490"}},{"scope":["type.identifier","constant.other.character-class.regexp"],"settings":{"foreground":"#5a6aa6"}},{"scope":["entity.other.attribute-name.html.vue"],"settings":{"foreground":"#59873a"}},{"scope":["invalid.illegal.unrecognized-tag.html"],"settings":{"fontStyle":"normal"}}],"type":"light"}')),Fd=Object.freeze(Object.defineProperty({__proto__:null,default:Qp},Symbol.toStringTag,{value:"Module"}));let ke=class extends Error{constructor(e){super(e),this.name="ShikiError"}},qn=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function ec(){return 2147483648}function tc(){return typeof performance<"u"?performance.now():Date.now()}const nc=(t,e)=>t+(e-t%e)%e;async function ac(t){let e,n;const a={};function s(d){n=d,a.HEAPU8=new Uint8Array(d),a.HEAPU32=new Uint32Array(d)}function i(d,m,$){a.HEAPU8.copyWithin(d,m,m+$)}function r(d){try{return e.grow(d-n.byteLength+65535>>>16),s(e.buffer),1}catch{}}function o(d){const m=a.HEAPU8.length;d=d>>>0;const $=ec();if(d>$)return!1;for(let h=1;h<=4;h*=2){let f=m*(1+.2/h);f=Math.min(f,d+100663296);const b=Math.min($,nc(Math.max(d,f),65536));if(r(b))return!0}return!1}const p=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function c(d,m,$=1024){const h=m+$;let f=m;for(;d[f]&&!(f>=h);)++f;if(f-m>16&&d.buffer&&p)return p.decode(d.subarray(m,f));let b="";for(;m<f;){let y=d[m++];if(!(y&128)){b+=String.fromCharCode(y);continue}const N=d[m++]&63;if((y&224)===192){b+=String.fromCharCode((y&31)<<6|N);continue}const A=d[m++]&63;if((y&240)===224?y=(y&15)<<12|N<<6|A:y=(y&7)<<18|N<<12|A<<6|d[m++]&63,y<65536)b+=String.fromCharCode(y);else{const E=y-65536;b+=String.fromCharCode(55296|E>>10,56320|E&1023)}}return b}function l(d,m){return d?c(a.HEAPU8,d,m):""}const u={emscripten_get_now:tc,emscripten_memcpy_big:i,emscripten_resize_heap:o,fd_write:()=>0};async function g(){const m=await t({env:u,wasi_snapshot_preview1:u});e=m.memory,s(e.buffer),Object.assign(a,m),a.UTF8ToString=l}return await g(),a}var sc=Object.defineProperty,ic=(t,e,n)=>e in t?sc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,T=(t,e,n)=>(ic(t,typeof e!="symbol"?e+"":e,n),n);let R=null;function rc(t){throw new qn(t.UTF8ToString(t.getLastOnigError()))}class Lt{constructor(e){T(this,"utf16Length"),T(this,"utf8Length"),T(this,"utf16Value"),T(this,"utf8Value"),T(this,"utf16OffsetToUtf8"),T(this,"utf8OffsetToUtf16");const n=e.length,a=Lt._utf8ByteLength(e),s=a!==n,i=s?new Uint32Array(n+1):null;s&&(i[n]=a);const r=s?new Uint32Array(a+1):null;s&&(r[a]=n);const o=new Uint8Array(a);let p=0;for(let c=0;c<n;c++){const l=e.charCodeAt(c);let u=l,g=!1;if(l>=55296&&l<=56319&&c+1<n){const d=e.charCodeAt(c+1);d>=56320&&d<=57343&&(u=(l-55296<<10)+65536|d-56320,g=!0)}s&&(i[c]=p,g&&(i[c+1]=p),u<=127?r[p+0]=c:u<=2047?(r[p+0]=c,r[p+1]=c):u<=65535?(r[p+0]=c,r[p+1]=c,r[p+2]=c):(r[p+0]=c,r[p+1]=c,r[p+2]=c,r[p+3]=c)),u<=127?o[p++]=u:u<=2047?(o[p++]=192|(u&1984)>>>6,o[p++]=128|(u&63)>>>0):u<=65535?(o[p++]=224|(u&61440)>>>12,o[p++]=128|(u&4032)>>>6,o[p++]=128|(u&63)>>>0):(o[p++]=240|(u&1835008)>>>18,o[p++]=128|(u&258048)>>>12,o[p++]=128|(u&4032)>>>6,o[p++]=128|(u&63)>>>0),g&&c++}this.utf16Length=n,this.utf8Length=a,this.utf16Value=e,this.utf8Value=o,this.utf16OffsetToUtf8=i,this.utf8OffsetToUtf16=r}static _utf8ByteLength(e){let n=0;for(let a=0,s=e.length;a<s;a++){const i=e.charCodeAt(a);let r=i,o=!1;if(i>=55296&&i<=56319&&a+1<s){const p=e.charCodeAt(a+1);p>=56320&&p<=57343&&(r=(i-55296<<10)+65536|p-56320,o=!0)}r<=127?n+=1:r<=2047?n+=2:r<=65535?n+=3:n+=4,o&&a++}return n}createString(e){const n=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,n),n}}const ae=class{constructor(t){if(T(this,"id",++ae.LAST_ID),T(this,"_onigBinding"),T(this,"content"),T(this,"utf16Length"),T(this,"utf8Length"),T(this,"utf16OffsetToUtf8"),T(this,"utf8OffsetToUtf16"),T(this,"ptr"),!R)throw new qn("Must invoke loadWasm first.");this._onigBinding=R,this.content=t;const e=new Lt(t);this.utf16Length=e.utf16Length,this.utf8Length=e.utf8Length,this.utf16OffsetToUtf8=e.utf16OffsetToUtf8,this.utf8OffsetToUtf16=e.utf8OffsetToUtf16,this.utf8Length<1e4&&!ae._sharedPtrInUse?(ae._sharedPtr||(ae._sharedPtr=R.omalloc(1e4)),ae._sharedPtrInUse=!0,R.HEAPU8.set(e.utf8Value,ae._sharedPtr),this.ptr=ae._sharedPtr):this.ptr=e.createString(R)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===ae._sharedPtr?ae._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};let Ke=ae;T(Ke,"LAST_ID",0);T(Ke,"_sharedPtr",0);T(Ke,"_sharedPtrInUse",!1);class oc{constructor(e){if(T(this,"_onigBinding"),T(this,"_ptr"),!R)throw new qn("Must invoke loadWasm first.");const n=[],a=[];for(let o=0,p=e.length;o<p;o++){const c=new Lt(e[o]);n[o]=c.createString(R),a[o]=c.utf8Length}const s=R.omalloc(4*e.length);R.HEAPU32.set(n,s/4);const i=R.omalloc(4*e.length);R.HEAPU32.set(a,i/4);const r=R.createOnigScanner(s,i,e.length);for(let o=0,p=e.length;o<p;o++)R.ofree(n[o]);R.ofree(i),R.ofree(s),r===0&&rc(R),this._onigBinding=R,this._ptr=r}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,n,a){let s=0;if(typeof a=="number"&&(s=a),typeof e=="string"){e=new Ke(e);const i=this._findNextMatchSync(e,n,!1,s);return e.dispose(),i}return this._findNextMatchSync(e,n,!1,s)}_findNextMatchSync(e,n,a,s){const i=this._onigBinding,r=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(n),s);if(r===0)return null;const o=i.HEAPU32;let p=r/4;const c=o[p++],l=o[p++],u=[];for(let g=0;g<l;g++){const d=e.convertUtf8OffsetToUtf16(o[p++]),m=e.convertUtf8OffsetToUtf16(o[p++]);u[g]={start:d,end:m,length:m-d}}return{index:c,captureIndices:u}}}function pc(t){return typeof t.instantiator=="function"}function cc(t){return typeof t.default=="function"}function lc(t){return typeof t.data<"u"}function uc(t){return typeof Response<"u"&&t instanceof Response}function dc(t){return typeof ArrayBuffer<"u"&&(t instanceof ArrayBuffer||ArrayBuffer.isView(t))||typeof Buffer<"u"&&Buffer.isBuffer?.(t)||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&t instanceof Uint32Array}let rt;function mc(t){if(rt)return rt;async function e(){R=await ac(async n=>{let a=t;return a=await a,typeof a=="function"&&(a=await a(n)),typeof a=="function"&&(a=await a(n)),pc(a)?a=await a.instantiator(n):cc(a)?a=await a.default(n):(lc(a)&&(a=a.data),uc(a)?typeof WebAssembly.instantiateStreaming=="function"?a=await gc(a)(n):a=await hc(a)(n):dc(a)?a=await Jt(a)(n):a instanceof WebAssembly.Module?a=await Jt(a)(n):"default"in a&&a.default instanceof WebAssembly.Module&&(a=await Jt(a.default)(n))),"instance"in a&&(a=a.instance),"exports"in a&&(a=a.exports),a})}return rt=e(),rt}function Jt(t){return e=>WebAssembly.instantiate(t,e)}function gc(t){return e=>WebAssembly.instantiateStreaming(t,e)}function hc(t){return async e=>{const n=await t.arrayBuffer();return WebAssembly.instantiate(n,e)}}let bc;function fc(){return bc}async function yc(t){return t&&await mc(t),{createScanner(e){return new oc(e.map(n=>typeof n=="string"?n:n.source))},createString(e){return new Ke(e)}}}const we="$E$";class Pn extends RegExp{_captureMap;_namesByIndex;constructor(e,n,a){if(e instanceof RegExp&&a)throw new Error("Cannot provide options when copying a regexp");const s=!!a?.useEmulationGroups,i=s?_c(e):null;super(i?.expression||e,n);const r=s?i:e instanceof Pn?e:null;r&&(this._captureMap=r._captureMap,this._namesByIndex=r._namesByIndex)}exec(e){const n=RegExp.prototype.exec.call(this,e);if(!n||!this._captureMap)return n;const a=[...n];n.length=1;let s;this.hasIndices&&(s=[...n.indices],n.indices.length=1);for(let i=1;i<a.length;i++)if(this._captureMap[i].exclude){const r=this._captureMap[i].transfer;if(r&&n.length>r){n[r]=a[i];const o=this._namesByIndex[r];o&&(n.groups[o]=a[i],this.hasIndices&&(n.indices.groups[o]=s[i])),this.hasIndices&&(n.indices[r]=s[i])}}else n.push(a[i]),this.hasIndices&&n.indices.push(s[i]);return n}}function _c(t){const e=we.replace(/\$/g,"\\$"),n=[{exclude:!1}],a={0:""};let s=0;return t=Ft(t,String.raw`\((?:(?!\?)|\?<(?![=!])(?<name>[^>]+)>)(?<mark>(?:\$(?<transfer>[1-9]\d*))?${e})?`,({0:i,groups:{name:r,mark:o,transfer:p}})=>o?(n.push({exclude:!0,transfer:p&&+p}),i.slice(0,-o.length)):(s++,r&&(a[s]=r),n.push({exclude:!1}),i),K.DEFAULT),{_captureMap:n,_namesByIndex:a,expression:t}}const $c=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function vc(t,e,n,a){return t.slice(0,e)+a+t.slice(e+n.length)}const ha=new RegExp(String.raw`(?<noncapturingStart>${$c})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function kc(t,e){if(!/\(\?>/.test(t))return t;const n="(?>",a=`(?:(?=(${e?.useEmulationGroups?we:""}`,s=[0];let i=0,r=0,o=NaN,p;do{p=!1;let c=0,l=0,u=!1,g;for(ha.lastIndex=Number.isNaN(o)?0:o+a.length;g=ha.exec(t);){const{0:d,index:m,groups:{capturingStart:$,noncapturingStart:h}}=g;if(d==="[")c++;else if(c)d==="]"&&c--;else if(d===n&&!u)o=m,u=!0;else if(u&&h)l++;else if($)u?l++:(i++,s.push(i+r));else if(d===")"&&u){if(!l){r++,t=`${t.slice(0,o)}${a}${t.slice(o+n.length,m)}))<$$${r+i}>)${t.slice(m+1)}`,p=!0;break}l--}}}while(p);return t=Ft(t,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:c,groups:{backrefNum:l,wrappedBackrefNum:u}})=>{if(l){const g=+l;if(g>s.length-1)throw new Error(`Backref "${c}" greater than number of captures`);return`\\${s[g]}`}return`\\${u}`},K.DEFAULT),t}const Ss=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Yt=new RegExp(String.raw`
|
|
144
|
+
`.replace(/\s+/g,""),"gsu");var k=class hn extends RegExp{#e=new Map;#t=null;#a;#n=null;#s=null;rawOptions={};get source(){return this.#a||"(?:)"}constructor(e,n,a){const s=!!a?.lazyCompile;if(e instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");const i=e;super(i,n),this.#a=i.source,i instanceof hn&&(this.#e=i.#e,this.#n=i.#n,this.#s=i.#s,this.rawOptions=i.rawOptions)}else{const i={hiddenCaptures:[],strategy:null,transfers:[],...a};super(s?"":e,n),this.#a=e,this.#e=Zo(i.hiddenCaptures,i.transfers),this.#s=i.strategy,this.rawOptions=a??{}}s||(this.#t=this)}exec(e){if(!this.#t){const{lazyCompile:s,...i}=this.rawOptions;this.#t=new hn(this.#a,this.flags,i)}const n=this.global||this.sticky,a=this.lastIndex;if(this.#s==="clip_search"&&n&&a){this.lastIndex=0;const s=this.#i(e.slice(a));return s&&(Ho(s,a,e,this.hasIndices),this.lastIndex+=a),s}return this.#i(e)}#i(e){this.#t.lastIndex=this.lastIndex;const n=super.exec.call(this.#t,e);if(this.lastIndex=this.#t.lastIndex,!n||!this.#e.size)return n;const a=[...n];n.length=1;let s;this.hasIndices&&(s=[...n.indices],n.indices.length=1);const i=[0];for(let r=1;r<a.length;r++){const{hidden:o,transferTo:p}=this.#e.get(r)??{};if(o?i.push(null):(i.push(n.length),n.push(a[r]),this.hasIndices&&n.indices.push(s[r])),p&&a[r]!==void 0){const c=Mo(i[p]);if(n[c]=a[r],this.hasIndices&&(n.indices[c]=s[r]),n.groups){this.#n||(this.#n=Wo(this.source));const l=this.#n.get(p);l&&(n.groups[l]=a[r],this.hasIndices&&(n.indices.groups[l]=s[r]))}}}return n}};function Ho(t,e,n,a){if(t.index+=e,t.input=n,a){const s=t.indices;for(let r=0;r<s.length;r++){const o=s[r];o&&(s[r]=[o[0]+e,o[1]+e])}const i=s.groups;i&&Object.keys(i).forEach(r=>{const o=i[r];o&&(i[r]=[o[0]+e,o[1]+e])})}}function Zo(t,e){const n=new Map;for(const a of t)n.set(a,{hidden:!0});for(const[a,s]of e)for(const i of s)zo(n,i,{}).transferTo=a;return n}function Wo(t){const e=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let a=0,s=0,i;for(;i=e.exec(t);){const{0:r,groups:{capture:o,name:p}}=i;r==="["?a++:a?r==="]"&&a--:o&&(s++,p&&n.set(s,p))}return n}const pa=4294967295;let Vo=class{constructor(e,n={}){this.patterns=e,this.options=n;const{forgiving:a=!1,cache:s,regexConstructor:i}=n;if(!i)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(r=>{if(typeof r!="string")return r;const o=s?.get(r);if(o){if(o instanceof RegExp)return o;if(a)return null;throw o}try{const p=i(r);return s?.set(r,p),p}catch(p){if(s?.set(r,p),a)return null;throw p}})}regexps;findNextMatchSync(e,n,a){const s=typeof e=="string"?e:e.content,i=[];function r(o,p,c=0){return{index:o,captureIndices:p.indices.map(l=>l==null?{start:pa,end:pa,length:0}:{start:l[0]+c,end:l[1]+c,length:l[1]-l[0]})}}for(let o=0;o<this.regexps.length;o++){const p=this.regexps[o];if(p)try{p.lastIndex=n;const c=p.exec(s);if(!c)continue;if(c.index===n)return r(o,c,0);i.push([o,c,0])}catch(c){if(this.options.forgiving)continue;throw c}}if(i.length){const o=Math.min(...i.map(p=>p[1].index));for(const[p,c,l]of i)if(c.index===o)return r(p,c,l)}return null}};function md(){const t={cache:new Map,regexConstructor:()=>{throw new Error("JavaScriptRawEngine: only support precompiled grammar")}};return{createScanner(e){return new Vo(e,t)},createString(e){return{content:e}}}}function Xo(t){return Array.isArray(t)?t:[t]}function St(t,e=!1){const n=t.split(/(\r?\n)/g);let a=0;const s=[];for(let i=0;i<n.length;i+=2){const r=e?n[i]+(n[i+1]||""):n[i];s.push([r,a]),a+=n[i].length,a+=n[i+1]?.length||0}return s}function Nn(t){return!t||["plaintext","txt","text","plain"].includes(t)}function bs(t){return t==="ansi"||Nn(t)}function Fn(t){return t==="none"}function fs(t){return Fn(t)}function ys(t,e){if(!e)return t;t.properties||={},t.properties.class||=[],typeof t.properties.class=="string"&&(t.properties.class=t.properties.class.split(/\s+/g)),Array.isArray(t.properties.class)||(t.properties.class=[]);const n=Array.isArray(e)?e:e.split(/\s+/g);for(const a of n)a&&!t.properties.class.includes(a)&&t.properties.class.push(a);return t}function Jo(t,e){let n=0;const a=[];for(const s of e)s>n&&a.push({...t,content:t.content.slice(n,s),offset:t.offset+n}),n=s;return n<t.content.length&&a.push({...t,content:t.content.slice(n),offset:t.offset+n}),a}function Yo(t,e){const n=Array.from(e instanceof Set?e:new Set(e)).sort((a,s)=>a-s);return n.length?t.map(a=>a.flatMap(s=>{const i=n.filter(r=>s.offset<r&&r<s.offset+s.content.length).map(r=>r-s.offset).sort((r,o)=>r-o);return i.length?Jo(s,i):s})):t}async function _s(t){return Promise.resolve(typeof t=="function"?t():t).then(e=>e.default||e)}function bt(t,e){const n=typeof t=="string"?{}:{...t.colorReplacements},a=typeof t=="string"?t:t.name;for(const[s,i]of Object.entries(e?.colorReplacements||{}))typeof i=="string"?n[s]=i:s===a&&Object.assign(n,i);return n}function ye(t,e){return t&&(e?.[t?.toLowerCase()]||t)}function $s(t){const e={};return t.color&&(e.color=t.color),t.bgColor&&(e["background-color"]=t.bgColor),t.fontStyle&&(t.fontStyle&G.Italic&&(e["font-style"]="italic"),t.fontStyle&G.Bold&&(e["font-weight"]="bold"),t.fontStyle&G.Underline&&(e["text-decoration"]="underline")),e}function Ko(t){return typeof t=="string"?t:Object.entries(t).map(([e,n])=>`${e}:${n}`).join(";")}function Qo(t){const e=St(t,!0).map(([s])=>s);function n(s){if(s===t.length)return{line:e.length-1,character:e[e.length-1].length};let i=s,r=0;for(const o of e){if(i<o.length)break;i-=o.length,r++}return{line:r,character:i}}function a(s,i){let r=0;for(let o=0;o<s;o++)r+=e[o].length;return r+=i,r}return{lines:e,indexToPos:n,posToIndex:a}}let Z=class extends Error{constructor(e){super(e),this.name="ShikiError"}};const vs=new WeakMap;function Et(t,e){vs.set(t,e)}function He(t){return vs.get(t)}let Bt=class ks{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(e,n){return new ks(Object.fromEntries(Xo(n).map(a=>[a,Se])),e)}constructor(...e){if(e.length===2){const[n,a]=e;this.lang=a,this._stacks=n}else{const[n,a,s]=e;this.lang=a,this._stacks={[s]:n}}}getInternalStack(e=this.theme){return this._stacks[e]}get scopes(){return ut("GrammarState.scopes is deprecated, use GrammarState.getScopes() instead"),ca(this._stacks[this.theme])}getScopes(e=this.theme){return ca(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function ca(t){const e=[],n=new Set;function a(s){if(n.has(s))return;n.add(s);const i=s?.nameScopesList?.scopeName;i&&e.push(i),s.parent&&a(s.parent)}return a(t),e}function ep(t,e){if(!(t instanceof Bt))throw new Z("Invalid grammar state");return t.getInternalStack(e)}function tp(){const t=new WeakMap;function e(n){if(!t.has(n.meta)){let a=function(r){if(typeof r=="number"){if(r<0||r>n.source.length)throw new Z(`Invalid decoration offset: ${r}. Code length: ${n.source.length}`);return{...s.indexToPos(r),offset:r}}else{const o=s.lines[r.line];if(o===void 0)throw new Z(`Invalid decoration position ${JSON.stringify(r)}. Lines length: ${s.lines.length}`);if(r.character<0||r.character>o.length)throw new Z(`Invalid decoration position ${JSON.stringify(r)}. Line ${r.line} length: ${o.length}`);return{...r,offset:s.posToIndex(r.line,r.character)}}};const s=Qo(n.source),i=(n.options.decorations||[]).map(r=>({...r,start:a(r.start),end:a(r.end)}));np(i),t.set(n.meta,{decorations:i,converter:s,source:n.source})}return t.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(!this.options.decorations?.length)return;const s=e(this).decorations.flatMap(r=>[r.start.offset,r.end.offset]);return Yo(n,s)},code(n){if(!this.options.decorations?.length)return;const a=e(this),s=Array.from(n.children).filter(l=>l.type==="element"&&l.tagName==="span");if(s.length!==a.converter.lines.length)throw new Z(`Number of lines in code element (${s.length}) does not match the number of lines in the source (${a.converter.lines.length}). Failed to apply decorations.`);function i(l,u,g,d){const m=s[l];let $="",h=-1,f=-1;if(u===0&&(h=0),g===0&&(f=0),g===Number.POSITIVE_INFINITY&&(f=m.children.length),h===-1||f===-1)for(let y=0;y<m.children.length;y++)$+=ws(m.children[y]),h===-1&&$.length===u&&(h=y+1),f===-1&&$.length===g&&(f=y+1);if(h===-1)throw new Z(`Failed to find start index for decoration ${JSON.stringify(d.start)}`);if(f===-1)throw new Z(`Failed to find end index for decoration ${JSON.stringify(d.end)}`);const b=m.children.slice(h,f);if(!d.alwaysWrap&&b.length===m.children.length)o(m,d,"line");else if(!d.alwaysWrap&&b.length===1&&b[0].type==="element")o(b[0],d,"token");else{const y={type:"element",tagName:"span",properties:{},children:b};o(y,d,"wrapper"),m.children.splice(h,b.length,y)}}function r(l,u){s[l]=o(s[l],u,"line")}function o(l,u,g){const d=u.properties||{},m=u.transform||($=>$);return l.tagName=u.tagName||"span",l.properties={...l.properties,...d,class:l.properties.class},u.properties?.class&&ys(l,u.properties.class),l=m(l,g)||l,l}const p=[],c=a.decorations.sort((l,u)=>u.start.offset-l.start.offset||l.end.offset-u.end.offset);for(const l of c){const{start:u,end:g}=l;if(u.line===g.line)i(u.line,u.character,g.character,l);else if(u.line<g.line){i(u.line,u.character,Number.POSITIVE_INFINITY,l);for(let d=u.line+1;d<g.line;d++)p.unshift(()=>r(d,l));i(g.line,0,g.character,l)}}p.forEach(l=>l())}}}function np(t){for(let e=0;e<t.length;e++){const n=t[e];if(n.start.offset>n.end.offset)throw new Z(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let a=e+1;a<t.length;a++){const s=t[a],i=n.start.offset<=s.start.offset&&s.start.offset<n.end.offset,r=n.start.offset<s.end.offset&&s.end.offset<=n.end.offset,o=s.start.offset<=n.start.offset&&n.start.offset<s.end.offset,p=s.start.offset<n.end.offset&&n.end.offset<=s.end.offset;if(i||r||o||p){if(i&&r||o&&p)continue;throw new Z(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(s.start)} intersect.`)}}}}function ws(t){return t.type==="text"?t.value:t.type==="element"?t.children.map(ws).join(""):""}const ap=[tp()];function ft(t){return[...t.transformers||[],...ap]}var _e=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Xt={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function sp(t,e){const n=t.indexOf("\x1B",e);if(n!==-1&&t[n+1]==="["){const a=t.indexOf("m",n);if(a!==-1)return{sequence:t.substring(n+2,a).split(";"),startPosition:n,position:a+1}}return{position:t.length}}function la(t){const e=t.shift();if(e==="2"){const n=t.splice(0,3).map(a=>Number.parseInt(a));return n.length!==3||n.some(a=>Number.isNaN(a))?void 0:{type:"rgb",rgb:n}}else if(e==="5"){const n=t.shift();if(n)return{type:"table",index:Number(n)}}}function ip(t){const e=[];for(;t.length>0;){const n=t.shift();if(!n)continue;const a=Number.parseInt(n);if(!Number.isNaN(a))if(a===0)e.push({type:"resetAll"});else if(a<=9)Xt[a]&&e.push({type:"setDecoration",value:Xt[a]});else if(a<=29){const s=Xt[a-20];s&&(e.push({type:"resetDecoration",value:s}),s==="dim"&&e.push({type:"resetDecoration",value:"bold"}))}else if(a<=37)e.push({type:"setForegroundColor",value:{type:"named",name:_e[a-30]}});else if(a===38){const s=la(t);s&&e.push({type:"setForegroundColor",value:s})}else if(a===39)e.push({type:"resetForegroundColor"});else if(a<=47)e.push({type:"setBackgroundColor",value:{type:"named",name:_e[a-40]}});else if(a===48){const s=la(t);s&&e.push({type:"setBackgroundColor",value:s})}else a===49?e.push({type:"resetBackgroundColor"}):a===53?e.push({type:"setDecoration",value:"overline"}):a===55?e.push({type:"resetDecoration",value:"overline"}):a>=90&&a<=97?e.push({type:"setForegroundColor",value:{type:"named",name:_e[a-90+8]}}):a>=100&&a<=107&&e.push({type:"setBackgroundColor",value:{type:"named",name:_e[a-100+8]}})}return e}function rp(){let t=null,e=null,n=new Set;return{parse(a){const s=[];let i=0;do{const r=sp(a,i),o=r.sequence?a.substring(i,r.startPosition):a.substring(i);if(o.length>0&&s.push({value:o,foreground:t,background:e,decorations:new Set(n)}),r.sequence){const p=ip(r.sequence);for(const c of p)c.type==="resetAll"?(t=null,e=null,n.clear()):c.type==="resetForegroundColor"?t=null:c.type==="resetBackgroundColor"?e=null:c.type==="resetDecoration"&&n.delete(c.value);for(const c of p)c.type==="setForegroundColor"?t=c.value:c.type==="setBackgroundColor"?e=c.value:c.type==="setDecoration"&&n.add(c.value)}i=r.position}while(i<a.length);return s}}}var op={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function pp(t=op){function e(o){return t[o]}function n(o){return`#${o.map(p=>Math.max(0,Math.min(p,255)).toString(16).padStart(2,"0")).join("")}`}let a;function s(){if(a)return a;a=[];for(let c=0;c<_e.length;c++)a.push(e(_e[c]));let o=[0,95,135,175,215,255];for(let c=0;c<6;c++)for(let l=0;l<6;l++)for(let u=0;u<6;u++)a.push(n([o[c],o[l],o[u]]));let p=8;for(let c=0;c<24;c++,p+=10)a.push(n([p,p,p]));return a}function i(o){return s()[o]}function r(o){switch(o.type){case"named":return e(o.name);case"rgb":return n(o.rgb);case"table":return i(o.index)}}return{value:r}}function cp(t,e,n){const a=bt(t,n),s=St(e),i=pp(Object.fromEntries(_e.map(o=>[o,t.colors?.[`terminal.ansi${o[0].toUpperCase()}${o.substring(1)}`]]))),r=rp();return s.map(o=>r.parse(o[0]).map(p=>{let c,l;p.decorations.has("reverse")?(c=p.background?i.value(p.background):t.bg,l=p.foreground?i.value(p.foreground):t.fg):(c=p.foreground?i.value(p.foreground):t.fg,l=p.background?i.value(p.background):void 0),c=ye(c,a),l=ye(l,a),p.decorations.has("dim")&&(c=lp(c));let u=G.None;return p.decorations.has("bold")&&(u|=G.Bold),p.decorations.has("italic")&&(u|=G.Italic),p.decorations.has("underline")&&(u|=G.Underline),{content:p.value,offset:o[1],color:c,bgColor:l,fontStyle:u}}))}function lp(t){const e=t.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);if(e)if(e[3]){const a=Math.round(Number.parseInt(e[3],16)/2).toString(16).padStart(2,"0");return`#${e[1]}${e[2]}${a}`}else return e[2]?`#${e[1]}${e[2]}80`:`#${Array.from(e[1]).map(a=>`${a}${a}`).join("")}80`;const n=t.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:t}function Sn(t,e,n={}){const{lang:a="text",theme:s=t.getLoadedThemes()[0]}=n;if(Nn(a)||Fn(s))return St(e).map(p=>[{content:p[0],offset:p[1]}]);const{theme:i,colorMap:r}=t.setTheme(s);if(a==="ansi")return cp(i,e,n);const o=t.getLanguage(a);if(n.grammarState){if(n.grammarState.lang!==o.name)throw new oe(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new oe(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return dp(e,o,i,r,n)}function up(...t){if(t.length===2)return He(t[1]);const[e,n,a={}]=t,{lang:s="text",theme:i=e.getLoadedThemes()[0]}=a;if(Nn(s)||Fn(i))throw new oe("Plain language does not have grammar state");if(s==="ansi")throw new oe("ANSI language does not have grammar state");const{theme:r,colorMap:o}=e.setTheme(i),p=e.getLanguage(s);return new Bt(yt(n,p,r,o,a).stateStack,p.name,r.name)}function dp(t,e,n,a,s){const i=yt(t,e,n,a,s),r=new Bt(yt(t,e,n,a,s).stateStack,e.name,n.name);return Et(i.tokens,r),i.tokens}function yt(t,e,n,a,s){const i=bt(n,s),{tokenizeMaxLineLength:r=0,tokenizeTimeLimit:o=500}=s,p=St(t);let c=s.grammarState?ep(s.grammarState,n.name)??Se:s.grammarContextCode!=null?yt(s.grammarContextCode,e,n,a,{...s,grammarState:void 0,grammarContextCode:void 0}).stateStack:Se,l=[];const u=[];for(let g=0,d=p.length;g<d;g++){const[m,$]=p[g];if(m===""){l=[],u.push([]);continue}if(r>0&&m.length>=r){l=[],u.push([{content:m,offset:$,color:"",fontStyle:0}]);continue}let h,f,b;s.includeExplanation&&(h=e.tokenizeLine(m,c,o),f=h.tokens,b=0);const y=e.tokenizeLine2(m,c,o),N=y.tokens.length/2;for(let A=0;A<N;A++){const E=y.tokens[2*A],O=A+1<N?y.tokens[2*A+2]:m.length;if(E===O)continue;const Le=y.tokens[2*A+1],It=ye(a[me.getForeground(Le)],i),Rt=me.getFontStyle(Le),he={content:m.substring(E,O),offset:$+E,color:It,fontStyle:Rt};if(s.includeExplanation){const qe=[];if(s.includeExplanation!=="scopeName")for(const q of n.settings){let V;switch(typeof q.scope){case"string":V=q.scope.split(/,/).map(be=>be.trim());break;case"object":V=q.scope;break;default:continue}qe.push({settings:q,selectors:V.map(be=>be.split(/ /))})}he.explanation=[];let Pe=0;for(;E+Pe<O;){const q=f[b],V=m.substring(q.startIndex,q.endIndex);Pe+=V.length,he.explanation.push({content:V,scopes:s.includeExplanation==="scopeName"?mp(q.scopes):gp(qe,q.scopes)}),b+=1}}l.push(he)}u.push(l),l=[],c=y.ruleStack}return{tokens:u,stateStack:c}}function mp(t){return t.map(e=>({scopeName:e}))}function gp(t,e){const n=[];for(let a=0,s=e.length;a<s;a++){const i=e[a];n[a]={scopeName:i,themeMatches:bp(t,i,e.slice(0,a))}}return n}function ua(t,e){return t===e||e.substring(0,t.length)===t&&e[t.length]==="."}function hp(t,e,n){if(!ua(t[t.length-1],e))return!1;let a=t.length-2,s=n.length-1;for(;a>=0&&s>=0;)ua(t[a],n[s])&&(a-=1),s-=1;return a===-1}function bp(t,e,n){const a=[];for(const{selectors:s,settings:i}of t)for(const r of s)if(hp(r,e,n)){a.push(i);break}return a}function xs(t,e,n){const a=Object.entries(n.themes).filter(p=>p[1]).map(p=>({color:p[0],theme:p[1]})),s=a.map(p=>{const c=Sn(t,e,{...n,theme:p.theme}),l=He(c),u=typeof p.theme=="string"?p.theme:p.theme.name;return{tokens:c,state:l,theme:u}}),i=fp(...s.map(p=>p.tokens)),r=i[0].map((p,c)=>p.map((l,u)=>{const g={content:l.content,variants:{},offset:l.offset};return"includeExplanation"in n&&n.includeExplanation&&(g.explanation=l.explanation),i.forEach((d,m)=>{const{content:$,explanation:h,offset:f,...b}=d[c][u];g.variants[a[m].color]=b}),g})),o=s[0].state?new Bt(Object.fromEntries(s.map(p=>[p.theme,p.state?.getInternalStack(p.theme)])),s[0].state.lang):void 0;return o&&Et(r,o),r}function fp(...t){const e=t.map(()=>[]),n=t.length;for(let a=0;a<t[0].length;a++){const s=t.map(p=>p[a]),i=e.map(()=>[]);e.forEach((p,c)=>p.push(i[c]));const r=s.map(()=>0),o=s.map(p=>p[0]);for(;o.every(p=>p);){const p=Math.min(...o.map(c=>c.content.length));for(let c=0;c<n;c++){const l=o[c];l.content.length===p?(i[c].push(l),r[c]+=1,o[c]=s[c][r[c]]):(i[c].push({...l,content:l.content.slice(0,p)}),o[c]={...l,content:l.content.slice(p),offset:l.offset+p})}}}return e}function _t(t,e,n){let a,s,i,r,o,p;if("themes"in n){const{defaultColor:c="light",cssVariablePrefix:l="--shiki-"}=n,u=Object.entries(n.themes).filter(h=>h[1]).map(h=>({color:h[0],theme:h[1]})).sort((h,f)=>h.color===c?-1:f.color===c?1:0);if(u.length===0)throw new oe("`themes` option must not be empty");const g=xs(t,e,n);if(p=He(g),c&&!u.find(h=>h.color===c))throw new oe(`\`themes\` option must contain the defaultColor key \`${c}\``);const d=u.map(h=>t.getTheme(h.theme)),m=u.map(h=>h.color);i=g.map(h=>h.map(f=>yp(f,m,l,c))),p&&Et(i,p);const $=u.map(h=>bt(h.theme,n));s=u.map((h,f)=>(f===0&&c?"":`${l+h.color}:`)+(ye(d[f].fg,$[f])||"inherit")).join(";"),a=u.map((h,f)=>(f===0&&c?"":`${l+h.color}-bg:`)+(ye(d[f].bg,$[f])||"inherit")).join(";"),r=`shiki-themes ${d.map(h=>h.name).join(" ")}`,o=c?void 0:[s,a].join(";")}else if("theme"in n){const c=bt(n.theme,n);i=Sn(t,e,n);const l=t.getTheme(n.theme);a=ye(l.bg,c),s=ye(l.fg,c),r=l.name,p=He(i)}else throw new oe("Invalid options, either `theme` or `themes` must be provided");return{tokens:i,fg:s,bg:a,themeName:r,rootStyle:o,grammarState:p}}function yp(t,e,n,a){const s={content:t.content,explanation:t.explanation,offset:t.offset},i=e.map(p=>$s(t.variants[p])),r=new Set(i.flatMap(p=>Object.keys(p))),o={};return i.forEach((p,c)=>{for(const l of r){const u=p[l]||"inherit";if(c===0&&a)o[l]=u;else{const g=l==="color"?"":l==="background-color"?"-bg":`-${l}`,d=n+e[c]+(l==="color"?"":g);o[d]=u}}}),s.htmlStyle=o,s}function $t(t,e,n,a={meta:{},options:n,codeToHast:(s,i)=>$t(t,s,i),codeToTokens:(s,i)=>_t(t,s,i)}){let s=e;for(const d of ft(n))s=d.preprocess?.call(a,s,n)||s;let{tokens:i,fg:r,bg:o,themeName:p,rootStyle:c,grammarState:l}=_t(t,s,n);const{mergeWhitespaces:u=!0}=n;u===!0?i=$p(i):u==="never"&&(i=vp(i));const g={...a,get source(){return s}};for(const d of ft(n))i=d.tokens?.call(g,i)||i;return _p(i,{...n,fg:r,bg:o,themeName:p,rootStyle:c},g,l)}function _p(t,e,n,a=He(t)){const s=ft(e),i=[],r={type:"root",children:[]},{structure:o="classic",tabindex:p="0"}=e;let c={type:"element",tagName:"pre",properties:{class:`shiki ${e.themeName||""}`,style:e.rootStyle||`background-color:${e.bg};color:${e.fg}`,...p!==!1&&p!=null?{tabindex:p.toString()}:{},...Object.fromEntries(Array.from(Object.entries(e.meta||{})).filter(([m])=>!m.startsWith("_")))},children:[]},l={type:"element",tagName:"code",properties:{},children:i};const u=[],g={...n,structure:o,addClassToHast:ys,get source(){return n.source},get tokens(){return t},get options(){return e},get root(){return r},get pre(){return c},get code(){return l},get lines(){return u}};if(t.forEach((m,$)=>{$&&(o==="inline"?r.children.push({type:"element",tagName:"br",properties:{},children:[]}):o==="classic"&&i.push({type:"text",value:`
|
|
145
|
+
`}));let h={type:"element",tagName:"span",properties:{class:"line"},children:[]},f=0;for(const b of m){let y={type:"element",tagName:"span",properties:{...b.htmlAttrs},children:[{type:"text",value:b.content}]};typeof b.htmlStyle=="string"&&ut("`htmlStyle` as a string is deprecated. Use an object instead.");const N=Ko(b.htmlStyle||$s(b));N&&(y.properties.style=N);for(const A of s)y=A?.span?.call(g,y,$+1,f,h,b)||y;o==="inline"?r.children.push(y):o==="classic"&&h.children.push(y),f+=b.content.length}if(o==="classic"){for(const b of s)h=b?.line?.call(g,h,$+1)||h;u.push(h),i.push(h)}}),o==="classic"){for(const m of s)l=m?.code?.call(g,l)||l;c.children.push(l);for(const m of s)c=m?.pre?.call(g,c)||c;r.children.push(c)}let d=r;for(const m of s)d=m?.root?.call(g,d)||d;return a&&Et(d,a),d}function $p(t){return t.map(e=>{const n=[];let a="",s=0;return e.forEach((i,r)=>{const p=!(i.fontStyle&&i.fontStyle&G.Underline);p&&i.content.match(/^\s+$/)&&e[r+1]?(s||(s=i.offset),a+=i.content):a?(p?n.push({...i,offset:s,content:a+i.content}):n.push({content:a,offset:s},i),s=0,a=""):n.push(i)}),n})}function vp(t){return t.map(e=>e.flatMap(n=>{if(n.content.match(/^\s+$/))return n;const a=n.content.match(/^(\s*)(.*?)(\s*)$/);if(!a)return n;const[,s,i,r]=a;if(!s&&!r)return n;const o=[{...n,offset:n.offset+s.length,content:i}];return s&&o.unshift({content:s,offset:n.offset}),r&&o.push({content:r,offset:n.offset+s.length+i.length}),o}))}function kp(t,e,n){const a={meta:{},options:n,codeToHast:(i,r)=>$t(t,i,r),codeToTokens:(i,r)=>_t(t,i,r)};let s=ds($t(t,e,n,a));for(const i of ft(n))s=i.postprocess?.call(a,s,n)||s;return s}const da={light:"#333333",dark:"#bbbbbb"},ma={light:"#fffffe",dark:"#1e1e1e"},ga="__shiki_resolved";function En(t){if(t?.[ga])return t;const e={...t};e.tokenColors&&!e.settings&&(e.settings=e.tokenColors,delete e.tokenColors),e.type||="dark",e.colorReplacements={...e.colorReplacements},e.settings||=[];let{bg:n,fg:a}=e;if(!n||!a){const o=e.settings?e.settings.find(p=>!p.name&&!p.scope):void 0;o?.settings?.foreground&&(a=o.settings.foreground),o?.settings?.background&&(n=o.settings.background),!a&&e?.colors?.["editor.foreground"]&&(a=e.colors["editor.foreground"]),!n&&e?.colors?.["editor.background"]&&(n=e.colors["editor.background"]),a||(a=e.type==="light"?da.light:da.dark),n||(n=e.type==="light"?ma.light:ma.dark),e.fg=a,e.bg=n}e.settings[0]&&e.settings[0].settings&&!e.settings[0].scope||e.settings.unshift({settings:{foreground:e.fg,background:e.bg}});let s=0;const i=new Map;function r(o){if(i.has(o))return i.get(o);s+=1;const p=`#${s.toString(16).padStart(8,"0").toLowerCase()}`;return e.colorReplacements?.[`#${p}`]?r(o):(i.set(o,p),p)}e.settings=e.settings.map(o=>{const p=o.settings?.foreground&&!o.settings.foreground.startsWith("#"),c=o.settings?.background&&!o.settings.background.startsWith("#");if(!p&&!c)return o;const l={...o,settings:{...o.settings}};if(p){const u=r(o.settings.foreground);e.colorReplacements[u]=o.settings.foreground,l.settings.foreground=u}if(c){const u=r(o.settings.background);e.colorReplacements[u]=o.settings.background,l.settings.background=u}return l});for(const o of Object.keys(e.colors||{}))if((o==="editor.foreground"||o==="editor.background"||o.startsWith("terminal.ansi"))&&!e.colors[o]?.startsWith("#")){const p=r(e.colors[o]);e.colorReplacements[p]=e.colors[o],e.colors[o]=p}return Object.defineProperty(e,ga,{enumerable:!1,writable:!1,value:!0}),e}async function Cs(t){return Array.from(new Set((await Promise.all(t.filter(e=>!bs(e)).map(async e=>await _s(e).then(n=>Array.isArray(n)?n:[n])))).flat()))}async function js(t){return(await Promise.all(t.map(async n=>fs(n)?null:En(await _s(n))))).filter(n=>!!n)}let wp=class extends Ya{constructor(e,n,a,s={}){super(e),this._resolver=e,this._themes=n,this._langs=a,this._alias=s,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(e){return typeof e=="string"?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){const n=En(e);return n.name&&(this._resolvedThemes.set(n.name,n),this._loadedThemesCache=null),n}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(e){let n=this._textmateThemeCache.get(e);n||(n=Oe.createFromRawTheme(e),this._textmateThemeCache.set(e,n)),this._syncRegistry.setTheme(n)}getGrammar(e){if(this._alias[e]){const n=new Set([e]);for(;this._alias[e];){if(e=this._alias[e],n.has(e))throw new Z(`Circular alias \`${Array.from(n).join(" -> ")} -> ${e}\``);n.add(e)}}return this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;const n=new Set([...this._langMap.values()].filter(i=>i.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);const a={balancedBracketSelectors:e.balancedBracketSelectors||["*"],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);const s=this.loadGrammarWithConfiguration(e.scopeName,1,a);if(s.name=e.name,this._resolvedGrammars.set(e.name,s),e.aliases&&e.aliases.forEach(i=>{this._alias[i]=e.name}),this._loadedLanguagesCache=null,n.size)for(const i of n)this._resolvedGrammars.delete(i.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(i.scopeName),this._syncRegistry?._grammars?.delete(i.scopeName),this.loadLanguage(this._langMap.get(i.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(const s of e)this.resolveEmbeddedLanguages(s);const n=Array.from(this._langGraph.entries()),a=n.filter(([s,i])=>!i);if(a.length){const s=n.filter(([i,r])=>r&&r.embeddedLangs?.some(o=>a.map(([p])=>p).includes(o))).filter(i=>!a.includes(i));throw new Z(`Missing languages ${a.map(([i])=>`\`${i}\``).join(", ")}, required by ${s.map(([i])=>`\`${i}\``).join(", ")}`)}for(const[s,i]of n)this._resolver.addLanguage(i);for(const[s,i]of n)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(e){if(this._langMap.set(e.name,e),this._langGraph.set(e.name,e),e.embeddedLangs)for(const n of e.embeddedLangs)this._langGraph.set(n,this._langMap.get(n))}},xp=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,n){this._onigLib={createOnigScanner:a=>e.createScanner(a),createOnigString:a=>e.createString(a)},n.forEach(a=>this.addLanguage(a))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(n=>{this._langs.set(n,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(n=>{this._injections.get(n)||this._injections.set(n,[]),this._injections.get(n).push(e.scopeName)})}getInjections(e){const n=e.split(".");let a=[];for(let s=1;s<=n.length;s++){const i=n.slice(0,s).join(".");a=[...a,...this._injections.get(i)||[]]}return a}},Te=0;function Cp(t){Te+=1,t.warnings!==!1&&Te>=10&&Te%10===0&&console.warn(`[Shiki] ${Te} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let e=!1;if(!t.engine)throw new Z("`engine` option is required for synchronous mode");const n=(t.langs||[]).flat(1),a=(t.themes||[]).flat(1).map(En),s=new xp(t.engine,n),i=new wp(s,a,n,t.langAlias);let r;function o(b){h();const y=i.getGrammar(typeof b=="string"?b:b.name);if(!y)throw new Z(`Language \`${b}\` not found, you may need to load it first`);return y}function p(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};h();const y=i.getTheme(b);if(!y)throw new Z(`Theme \`${b}\` not found, you may need to load it first`);return y}function c(b){h();const y=p(b);r!==b&&(i.setTheme(y),r=b);const N=i.getColorMap();return{theme:y,colorMap:N}}function l(){return h(),i.getLoadedThemes()}function u(){return h(),i.getLoadedLanguages()}function g(...b){h(),i.loadLanguages(b.flat(1))}async function d(...b){return g(await Cs(b))}function m(...b){h();for(const y of b.flat(1))i.loadTheme(y)}async function $(...b){return h(),m(await js(b))}function h(){if(e)throw new Z("Shiki instance has been disposed")}function f(){e||(e=!0,i.dispose(),Te-=1)}return{setTheme:c,getTheme:p,getLanguage:o,getLoadedThemes:l,getLoadedLanguages:u,loadLanguage:d,loadLanguageSync:g,loadTheme:$,loadThemeSync:m,dispose:f,[Symbol.dispose]:f}}async function jp(t){t.loadWasm&&ut("`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead."),t.engine||ut("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[e,n,a]=await Promise.all([js(t.themes||[]),Cs(t.langs||[]),t.engine||Pi(t.loadWasm||qi())]);return Cp({...t,themes:e,langs:n,engine:a})}async function Ap(t){const e=await jp(t);return{getLastGrammarState:(...n)=>up(e,...n),codeToTokensBase:(n,a)=>Sn(e,n,a),codeToTokensWithThemes:(n,a)=>xs(e,n,a),codeToTokens:(n,a)=>_t(e,n,a),codeToHast:(n,a)=>$t(e,n,a),codeToHtml:(n,a)=>kp(e,n,a),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...e,getInternalContext:()=>e}}function fd(t,e,n){let a,s,i;{const o=t;a=o.langs,s=o.themes,i=o.engine}async function r(o){function p(d){if(typeof d=="string"){if(bs(d))return[];const m=a[d];if(!m)throw new oe(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return m}return d}function c(d){if(fs(d))return"none";if(typeof d=="string"){const m=s[d];if(!m)throw new oe(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return m}return d}const l=(o.themes??[]).map(d=>c(d)),u=(o.langs??[]).map(d=>p(d)),g=await Ap({engine:o.engine??i(),...o,themes:l,langs:u});return{...g,loadLanguage(...d){return g.loadLanguage(...d.map(p))},loadTheme(...d){return g.loadTheme(...d.map(c))},getBundledLanguages(){return a},getBundledThemes(){return s}}}return r}const Np=Object.freeze({displayName:"JSON",name:"json",patterns:[{include:"#value"}],repository:{array:{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.array.begin.json"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.array.end.json"}},name:"meta.structure.array.json",patterns:[{include:"#value"},{match:/,/dgv,name:"punctuation.separator.array.json"},{match:/[^\p{space}\]]/dgv,name:"invalid.illegal.expected-array-separator.json"}]},comments:{patterns:[{begin:/\/\*\*(?!\/)/dgv,captures:{0:{name:"punctuation.definition.comment.json"}},end:/\*\//dgv,name:"comment.block.documentation.json"},{begin:/\/\*/dgv,captures:{0:{name:"punctuation.definition.comment.json"}},end:/\*\//dgv,name:"comment.block.json"},{captures:{1:{name:"punctuation.definition.comment.json"}},match:/(\/\/)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-slash.js"}]},constant:{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.json"},number:{match:/-?(?:0|[1-9]\p{Nd}*)(?:(?:\.\p{Nd}+)?(?:[eE][\+\-]?\p{Nd}+)?)?/dgv,name:"constant.numeric.json"},object:{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.dictionary.begin.json"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.dictionary.end.json"}},name:"meta.structure.dictionary.json",patterns:[{include:"#objectkey"},{include:"#comments"},{begin:/:/dgv,beginCaptures:{0:{name:"punctuation.separator.dictionary.key-value.json"}},end:/(,)|(?=\})/dgv,endCaptures:{1:{name:"punctuation.separator.dictionary.pair.json"}},name:"meta.structure.dictionary.value.json",patterns:[{include:"#value"},{match:/[^\p{space}\,]/dgv,name:"invalid.illegal.expected-dictionary-separator.json"}]},{match:/[^\p{space}\}]/dgv,name:"invalid.illegal.expected-dictionary-separator.json"}]},objectkey:{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.support.type.property-name.begin.json"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.support.type.property-name.end.json"}},name:"string.json support.type.property-name.json",patterns:[{include:"#stringcontent"}]},string:{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.json"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.json"}},name:"string.quoted.double.json",patterns:[{include:"#stringcontent"}]},stringcontent:{patterns:[{match:/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/dgv,name:"constant.character.escape.json"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unrecognized-string-escape.json"}]},value:{patterns:[{include:"#constant"},{include:"#number"},{include:"#string"},{include:"#array"},{include:"#object"},{include:"#comments"}]}},scopeName:"source.json",embeddedLangs:void 0,aliases:void 0}),As=[Np],yd=Object.freeze(Object.defineProperty({__proto__:null,default:As},Symbol.toStringTag,{value:"Module"})),Fp=Object.freeze({displayName:"YAML",fileTypes:["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],firstLineMatch:/^%YAML( ?1[^\n]\p{Nd}+)?/dgv,name:"yaml",patterns:[{include:"#comment"},{include:"#property"},{include:"#directive"},{match:/^---/dgv,name:"entity.other.document.begin.yaml"},{match:/^\.{3}/dgv,name:"entity.other.document.end.yaml"},{include:"#node"}],repository:{"block-collection":{patterns:[{include:"#block-sequence"},{include:"#block-mapping"}]},"block-mapping":{patterns:[{include:"#block-pair"}]},"block-node":{patterns:[{include:"#prototype"},{include:"#block-scalar"},{include:"#block-collection"},{include:"#flow-scalar-plain-out"},{include:"#flow-node"}]},"block-pair":{patterns:[{begin:/\?/dgv,beginCaptures:{1:{name:"punctuation.definition.key-value.begin.yaml"}},end:/(?=\?)|^ *(:)|(:)/dgv,endCaptures:{1:{name:"punctuation.separator.key-value.mapping.yaml"},2:{name:"invalid.illegal.expected-newline.yaml"}},name:"meta.block-mapping.yaml",patterns:[{include:"#block-node"}]},{begin:/(?=(?:[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-]\P{space})([^\p{space}\:]|:\P{space}|\p{space}+(?![\#\p{space}]))*\p{space}*:(\p{space}|(?=\n?$)))/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv,patterns:[{include:"#flow-scalar-plain-out-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-]\P{space}/dgv,beginCaptures:{0:{name:"entity.name.tag.yaml"}},contentName:"entity.name.tag.yaml",end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv,name:"string.unquoted.plain.out.yaml"}]},{match:/:(?=\p{space}|(?=\n?$))/dgv,name:"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{begin:/(?:(\|)|(>))([1-9])?([\-\+])?([^\n]*\n?)/dgv,beginCaptures:{1:{name:"keyword.control.flow.block-scalar.literal.yaml"},2:{name:"keyword.control.flow.block-scalar.folded.yaml"},3:{name:"constant.numeric.indentation-indicator.yaml"},4:{name:"storage.modifier.chomping-indicator.yaml"},5:{patterns:[{include:"#comment"},{match:/[^\n]+/dgv,name:"invalid.illegal.expected-comment-or-newline.yaml"}]}},end:new k("^(?=\\P{space})|(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/^([ ]+)(?! )/dgv,end:/^(?!\1|\p{space}*(?=\n?$))()/dgv,name:"string.unquoted.block.yaml"}]},"block-sequence":{match:/(-)(?!\P{space})/dgv,name:"punctuation.definition.block.sequence.item.yaml"},comment:{begin:/(?:(^[ \t]*)|[ \t]+)(?=#[[\P{space}&&\P{cntrl}&&\P{Cn}&&\P{Cs}]\p{Zs}]*(?=\n?$))/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.yaml"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.yaml"}},end:/\n/dgv,name:"comment.line.number-sign.yaml"}]},directive:{begin:/^%/dgv,beginCaptures:{0:{name:"punctuation.definition.directive.begin.yaml"}},end:/(?=(?=\n?$)|[ \t]+((?=\n?$)|#))/dgv,name:"meta.directive.yaml",patterns:[{captures:{1:{name:"keyword.other.directive.yaml.yaml"},2:{name:"constant.numeric.yaml-version.yaml"}},match:/(YAML)[ \t]+(\p{Nd}+\.\p{Nd}+)/dgvy},{captures:{1:{name:"keyword.other.directive.tag.yaml"},2:{name:"storage.type.tag-handle.yaml"},3:{name:"support.type.tag-prefix.yaml"}},match:/(TAG)(?:[ \t]+(!(?:[0-9A-Za-z\-]*!)?)(?:[ \t]+(!(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$\,_\.\!\~\*'\(\)\[\]])*|(?![\,\!\[\]\{\}])(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$\,_\.\!\~\*'\(\)\[\]])+))?)?/dgvy},{captures:{1:{name:"support.other.directive.reserved.yaml"},2:{name:"string.unquoted.directive-name.yaml"},3:{name:"string.unquoted.directive-parameter.yaml"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)(?:[ \t]+([\p{L}\p{M}\p{N}\p{Pc}]+)(?:[ \t]+([\p{L}\p{M}\p{N}\p{Pc}]+))?)?/dgvy},{match:/\P{space}+/dgv,name:"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{captures:{1:{name:"keyword.control.flow.alias.yaml"},2:{name:"punctuation.definition.alias.yaml"},3:{name:"variable.other.alias.yaml"},4:{name:"invalid.illegal.character.anchor.yaml"}},match:/((\*))([^\p{space}\[\]\/\{\/\}\,]+)([^\p{space}\]\}\,]\P{space}*)?/dgv},"flow-collection":{patterns:[{include:"#flow-sequence"},{include:"#flow-mapping"}]},"flow-mapping":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.mapping.begin.yaml"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.mapping.end.yaml"}},name:"meta.flow-mapping.yaml",patterns:[{include:"#prototype"},{match:/,/dgv,name:"punctuation.separator.mapping.yaml"},{include:"#flow-pair"}]},"flow-node":{patterns:[{include:"#prototype"},{include:"#flow-alias"},{include:"#flow-collection"},{include:"#flow-scalar"}]},"flow-pair":{patterns:[{begin:/\?/dgv,beginCaptures:{0:{name:"punctuation.definition.key-value.begin.yaml"}},end:/(?=[\}\,\]])/dgv,name:"meta.flow-pair.explicit.yaml",patterns:[{include:"#prototype"},{include:"#flow-pair"},{include:"#flow-node"},{begin:/:(?=\p{space}|(?=\n?$)|[\[\]\{\}\,])/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.mapping.yaml"}},end:/(?=[\}\,\]])/dgv,patterns:[{include:"#flow-value"}]}]},{begin:/(?=(?:[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-][^\p{space}\[\]\{\}\,])([^\p{space}\:\[\]\{\}\,]|:[^\p{space}\[\]\{\}\,]|\p{space}+(?![\#\p{space}]))*\p{space}*:(\p{space}|(?=\n?$)))/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv,name:"meta.flow-pair.key.yaml",patterns:[{include:"#flow-scalar-plain-in-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-][^\p{space}\[\]\{\}\,]/dgv,beginCaptures:{0:{name:"entity.name.tag.yaml"}},contentName:"entity.name.tag.yaml",end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv,name:"string.unquoted.plain.in.yaml"}]},{include:"#flow-node"},{begin:/:(?=\p{space}|(?=\n?$)|[\[\]\{\}\,])/dgv,captures:{0:{name:"punctuation.separator.key-value.mapping.yaml"}},end:/(?=[\}\,\]])/dgv,name:"meta.flow-pair.yaml",patterns:[{include:"#flow-value"}]}]},"flow-scalar":{patterns:[{include:"#flow-scalar-double-quoted"},{include:"#flow-scalar-single-quoted"},{include:"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.yaml"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.yaml"}},name:"string.quoted.double.yaml",patterns:[{match:/\\([0abtnvfre "\/\\N_Lp]|x\p{Nd}\p{Nd}|u\p{Nd}{4}|U\p{Nd}{8})/dgv,name:"constant.character.escape.yaml"},{match:/\\\n/dgv,name:"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{patterns:[{include:"#flow-scalar-plain-in-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-][^\p{space}\[\]\{\}\,]/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv,name:"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{patterns:[{captures:{1:{name:"constant.language.null.yaml"},2:{name:"constant.language.boolean.yaml"},3:{name:"constant.numeric.integer.yaml"},4:{name:"constant.numeric.float.yaml"},5:{name:"constant.other.timestamp.yaml"},6:{name:"constant.language.value.yaml"},7:{name:"constant.language.merge.yaml"}},match:/(?:(null|Null|NULL|~)|(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|((?:[\-\+]?0b[0-1_]+|[\-\+]?0[0-7_]+|[\-\+]?(?:0|[1-9][0-9_]*)|[\-\+]?0x[0-9a-fA-F_]+|[\-\+]?[1-9][0-9_]*(?::[0-5]?[0-9])+))|((?:[\-\+]?(?:[0-9][0-9_]*)?\.[0-9\.]*(?:[eE][\-\+][0-9]+)?|[\-\+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*|[\-\+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN)))|((?:\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}|\p{Nd}{4}-\p{Nd}{1,2}-\p{Nd}{1,2}(?:[Tt]|[ \t]+)\p{Nd}{1,2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}*)?(?:[ \t]*Z|[\-\+]\p{Nd}{1,2}(?::\p{Nd}{1,2})?)?))|(=)|(<<))(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$))|\p{space}*:[\[\]\{\}\,]|\p{space}*[\[\]\{\}\,])/dgv}]},"flow-scalar-plain-out":{patterns:[{include:"#flow-scalar-plain-out-implicit-type"},{begin:/[^\p{space}\-\?\:\,\[\]\{\}\#\&\*\!\|\>'"\%\@\`]|[\?\:\-]\P{space}/dgv,end:/(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv,name:"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{patterns:[{captures:{1:{name:"constant.language.null.yaml"},2:{name:"constant.language.boolean.yaml"},3:{name:"constant.numeric.integer.yaml"},4:{name:"constant.numeric.float.yaml"},5:{name:"constant.other.timestamp.yaml"},6:{name:"constant.language.value.yaml"},7:{name:"constant.language.merge.yaml"}},match:/(?:(null|Null|NULL|~)|(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|((?:[\-\+]?0b[0-1_]+|[\-\+]?0[0-7_]+|[\-\+]?(?:0|[1-9][0-9_]*)|[\-\+]?0x[0-9a-fA-F_]+|[\-\+]?[1-9][0-9_]*(?::[0-5]?[0-9])+))|((?:[\-\+]?(?:[0-9][0-9_]*)?\.[0-9\.]*(?:[eE][\-\+][0-9]+)?|[\-\+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*|[\-\+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN)))|((?:\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}|\p{Nd}{4}-\p{Nd}{1,2}-\p{Nd}{1,2}(?:[Tt]|[ \t]+)\p{Nd}{1,2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}*)?(?:[ \t]*Z|[\-\+]\p{Nd}{1,2}(?::\p{Nd}{1,2})?)?))|(=)|(<<))(?=\p{space}*(?=\n?$)|\p{space}+#|\p{space}*:(\p{space}|(?=\n?$)))/dgv}]},"flow-scalar-single-quoted":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.yaml"}},end:/'(?!')/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.yaml"}},name:"string.quoted.single.yaml",patterns:[{match:/''/dgv,name:"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.sequence.begin.yaml"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.sequence.end.yaml"}},name:"meta.flow-sequence.yaml",patterns:[{include:"#prototype"},{match:/,/dgv,name:"punctuation.separator.sequence.yaml"},{include:"#flow-pair"},{include:"#flow-node"}]},"flow-value":{patterns:[{begin:/(?![\}\,\]])/dgvy,end:/(?=[\}\,\]])/dgv,name:"meta.flow-pair.value.yaml",patterns:[{include:"#flow-node"}]}]},node:{patterns:[{include:"#block-node"}]},property:{begin:/(?=!|&)/dgv,end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.property.yaml",patterns:[{captures:{1:{name:"keyword.control.property.anchor.yaml"},2:{name:"punctuation.definition.anchor.yaml"},3:{name:"entity.name.type.anchor.yaml"},4:{name:"invalid.illegal.character.anchor.yaml"}},match:/((&))([^\p{space}\[\]\/\{\/\}\,]+)(\P{space}+)?/dgvy},{match:/(?:!<(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$\,_\.\!\~\*'\(\)\[\]])+>|!(?:[0-9A-Za-z\-]*!)?(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-\#\;\/\?\:\@\&\=\+\$_\.\~\*'\(\)])+|!)(?= |\t|(?=\n?$))/dgvy,name:"storage.type.tag-handle.yaml"},{match:/\P{space}+/dgv,name:"invalid.illegal.tag-handle.yaml"}]},prototype:{patterns:[{include:"#comment"},{include:"#property"}]}},scopeName:"source.yaml",embeddedLangs:void 0,aliases:["yml"]}),Sp=[Fp],_d=Object.freeze(Object.defineProperty({__proto__:null,default:Sp},Symbol.toStringTag,{value:"Module"})),Ep=Object.freeze({displayName:"CSS",name:"css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#combinators"},{include:"#selector"},{include:"#at-rules"},{include:"#rule-list"}],repository:{"at-rules":{patterns:[{begin:/^(?:\uFEFF)?(?=\p{space}*@charset\b)/dgiv,end:/;|(?=(?=\n?$))/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.charset.css",patterns:[{captures:{1:{name:"invalid.illegal.not-lowercase.charset.css"},2:{name:"invalid.illegal.leading-whitespace.charset.css"},3:{name:"invalid.illegal.no-whitespace.charset.css"},4:{name:"invalid.illegal.whitespace.charset.css"},5:{name:"invalid.illegal.not-double-quoted.charset.css"},6:{name:"invalid.illegal.unclosed-string.charset.css"},7:{name:"invalid.illegal.unexpected-characters.charset.css"}},match:new k('^((?!@charset)@[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)|^(\\p{space}+)|(@charset\\P{space}[^\\;]*)|(?<=@charset)( {2,}|\\t+)|(?<=@charset )([^"\\;]+)|("[^"]+(?=\\n?$))|(?<=")([^\\;]+)',"dgv",{strategy:"clip_search"})},{captures:{1:{name:"keyword.control.at-rule.charset.css"},2:{name:"punctuation.definition.keyword.css"}},match:/((@)charset)(?=\p{space})/dgv},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/"|(?=\n?$)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{begin:new k('(?:^|^)(?=(?:[^"])+(?=\\n?$))',"dgv",{strategy:"clip_search"}),end:/(?=\n?$)/dgv,name:"invalid.illegal.unclosed.string.css"}]}]},{begin:/((@)import)(?:\p{space}+|(?=\n?$)|(?=['"]|\/\*))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.import.css"},2:{name:"punctuation.definition.keyword.css"}},end:/;/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.import.css",patterns:[{begin:/\p{space}*(?=\/\*)/dgvy,end:/(?<=\*\/)\p{space}*/dgv,patterns:[{include:"#comment-block"}]},{include:"#string"},{include:"#url"},{include:"#media-query-list"}]},{begin:/((@)font-face)(?=\p{space}*|\{|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.font-face.css"},2:{name:"punctuation.definition.keyword.css"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.at-rule.font-face.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#rule-list"}]},{begin:/(@)page(?=[\p{space}\:\{]|\/\*|(?=\n?$))/dgiv,captures:{0:{name:"keyword.control.at-rule.page.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*((?=\n?$)|[\:\{\;]))/dgv,name:"meta.at-rule.page.css",patterns:[{include:"#rule-list"}]},{begin:/(?=@media(\p{space}|\(|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)media/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.media.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.media.header.css",patterns:[{include:"#media-query-list"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.media.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.media.end.bracket.curly.css"}},name:"meta.at-rule.media.body.css",patterns:[{include:"$self"}]}]},{begin:/(?=@counter-style([\p{space}'"\{\;]|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)counter-style/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.counter-style.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*\{)/dgv,name:"meta.at-rule.counter-style.header.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{0:{patterns:[{include:"#escapes"}]}},match:/(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.parameter.style-name.css"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.at-rule.counter-style.body.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#rule-list-innards"}]}]},{begin:/(?=@document([\p{space}'"\{\;]|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)document/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.document.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.document.header.css",patterns:[{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(url-prefix|domain|regexp)(\()/dgiv,beginCaptures:{1:{name:"support.function.document-rule.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.document-rule.css",patterns:[{include:"#string"},{include:"#comment-block"},{include:"#escapes"},{match:/[^'"\)\p{space}]+/dgv,name:"variable.parameter.document-rule.css"}]},{include:"#url"},{include:"#commas"},{include:"#comment-block"},{include:"#escapes"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.document.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.document.end.bracket.curly.css"}},name:"meta.at-rule.document.body.css",patterns:[{include:"$self"}]}]},{begin:/(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\p{space}'"\{\;]|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)(?:-(?:webkit|moz|o|ms)-)?keyframes/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.keyframes.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*\{)/dgv,name:"meta.at-rule.keyframes.header.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{0:{patterns:[{include:"#escapes"}]}},match:/(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.parameter.keyframe-list.css"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.keyframes.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.keyframes.end.bracket.curly.css"}},name:"meta.at-rule.keyframes.body.css",patterns:[{include:"#comment-block"},{include:"#escapes"},{captures:{1:{name:"entity.other.keyframe-offset.css"},2:{name:"entity.other.keyframe-offset.percentage.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(from|to)(?![\p{L}\p{M}\p{N}\p{Pc}\-])|([\-\+]?(?:\p{Nd}+(?:\.\p{Nd}+)?|\.\p{Nd}+)%)/dgiv},{include:"#rule-list"}]}]},{begin:/(?=@supports(\p{space}|\(|\/\*|(?=\n?$)))/dgiv,end:new k("(?<=\\})(?!^)|(?=;)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)supports/dgivy,beginCaptures:{0:{name:"keyword.control.at-rule.supports.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.supports.header.css",patterns:[{include:"#feature-query-operators"},{include:"#feature-query"},{include:"#comment-block"},{include:"#escapes"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.supports.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.supports.end.bracket.curly.css"}},name:"meta.at-rule.supports.body.css",patterns:[{include:"$self"}]}]},{begin:/((@)(-(ms|o)-)?viewport)(?=[\p{space}'"\{\;]|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.viewport.css"},2:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\@\{\;])/dgv,name:"meta.at-rule.viewport.css",patterns:[{include:"#comment-block"},{include:"#escapes"}]},{begin:/((@)font-feature-values)(?=[\p{space}'"\{\;]|\/\*|(?=\n?$))\p{space}*/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.font-feature-values.css"},2:{name:"punctuation.definition.keyword.css"}},contentName:"variable.parameter.font-name.css",end:/(?=\p{space}*[\@\{\;])/dgv,name:"meta.at-rule.font-features.css",patterns:[{include:"#comment-block"},{include:"#escapes"}]},{include:"#font-features"},{begin:/((@)namespace)(?=[\p{space}'"\;]|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.namespace.css"},2:{name:"punctuation.definition.keyword.css"}},end:/;|(?=[\@\{])/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.namespace.css",patterns:[{include:"#url"},{captures:{1:{patterns:[{include:"#comment-block"}]},2:{name:"entity.name.function.namespace-prefix.css",patterns:[{include:"#escapes"}]}},match:new k("(?:^|^|(?<=\\p{space}))(?=(?<=\\p{space}|^)(?:[\\-a-zA-Z_]|[^\\x00-\\x7F])|\\p{space}*/\\*(?:[^\\*]|\\*[^\\/])*\\*/)([^\\n]*?)((?:[\\-a-zA-Z_]|[^\\x00-\\x7F])(?:[\\-a-zA-Z0-9_]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|[^\\n]))*)","dgiv",{strategy:"clip_search"})},{include:"#comment-block"},{include:"#escapes"},{include:"#string"}]},{begin:/(?=@[\p{L}\p{M}\p{N}\p{Pc}\-]+[^\;]+;s*(?=\n?$))/dgiv,end:new k("(?<=;)(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)[\p{L}\p{M}\p{N}\p{Pc}\-]+/dgvy,beginCaptures:{0:{name:"keyword.control.at-rule.css"},1:{name:"punctuation.definition.keyword.css"}},end:/;/dgv,endCaptures:{0:{name:"punctuation.terminator.rule.css"}},name:"meta.at-rule.header.css"}]},{begin:/(?=@[\p{L}\p{M}\p{N}\p{Pc}\-]+(\p{space}|\(|\{|\/\*|(?=\n?$)))/dgv,end:new k("(?<=\\})(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/(@)[\p{L}\p{M}\p{N}\p{Pc}\-]+/dgvy,beginCaptures:{0:{name:"keyword.control.at-rule.css"},1:{name:"punctuation.definition.keyword.css"}},end:/(?=\p{space}*[\{\;])/dgv,name:"meta.at-rule.header.css"},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.end.bracket.curly.css"}},name:"meta.at-rule.body.css",patterns:[{include:"$self"}]}]}]},"color-keywords":{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.color.w3c-standard-color-name.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.color.w3c-extended-color-name.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])currentColor(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.color.current.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"invalid.deprecated.color.system.css"}]},combinators:{patterns:[{match:/\/deep\/|>>>/dgv,name:"invalid.deprecated.combinator.css"},{match:/>>|>|\+|~/dgv,name:"keyword.operator.combinator.css"}]},commas:{match:/,/dgv,name:"punctuation.separator.list.comma.css"},"comment-block":{begin:/\/\*/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.begin.css"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.css"}},name:"comment.block.css"},escapes:{patterns:[{match:/\\[0-9a-fA-F]{1,6}/dgv,name:"constant.character.escape.codepoint.css"},{begin:/\\(?=\n?$)\p{space}*/dgv,end:new k("^(?<!^)","dgv",{strategy:"clip_search"}),name:"constant.character.escape.newline.css"},{match:/\\[^\n]/dgv,name:"constant.character.escape.css"}]},"feature-query":{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.condition.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.condition.end.bracket.round.css"}},name:"meta.feature-query.css",patterns:[{include:"#feature-query-operators"},{include:"#feature-query"}]},"feature-query-operators":{patterns:[{match:/(?<=[\p{space}\(\)]|^|\*\/)(and|not|or)(?=[\p{space}\(\)]|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.logical.feature.$1.css"},{include:"#rule-list-innards"}]},"font-features":{begin:/((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))(?=[\p{space}\@'"\{\;]|\/\*|(?=\n?$))/dgiv,beginCaptures:{1:{name:"keyword.control.at-rule.${3:/downcase}.css"},2:{name:"punctuation.definition.keyword.css"}},end:/(?<=\})/dgv,name:"meta.at-rule.${3:/downcase}.css",patterns:[{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.property-list.font-feature.css",patterns:[{captures:{0:{patterns:[{include:"#escapes"}]}},match:/(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.font-feature.css"},{include:"#rule-list-innards"}]}]},"functional-pseudo-classes":{patterns:[{begin:/((:)dir)(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#comment-block"},{include:"#escapes"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(ltr|rtl)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.text-direction.css"},{include:"#property-values"}]},{begin:/((:)lang)(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{match:/(?<=[\(\,\p{space}])[a-zA-Z]+(-[a-zA-Z0-9]*|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*(?=[\)\,\p{space}])/dgv,name:"support.constant.language-range.css"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{include:"#escapes"},{match:/(?<=["\p{space}])[a-zA-Z\*]+(-[a-zA-Z0-9\*]*)*(?=["\p{space}])/dgv,name:"support.constant.language-range.css"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{include:"#escapes"},{match:/(?<=['\p{space}])[a-zA-Z\*]+(-[a-zA-Z0-9\*]*)*(?=['\p{space}])/dgv,name:"support.constant.language-range.css"}]},{include:"#commas"}]},{begin:/((:)(?:not|has|matches|where|is))(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#selector-innards"}]},{begin:/((:)nth-(?:last-)?(?:child|of-type))(\()/dgiv,beginCaptures:{1:{name:"entity.other.attribute-name.pseudo-class.css"},2:{name:"punctuation.definition.entity.css"},3:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{match:/[\+\-]?(\p{Nd}+n?|n)(\p{space}*[\+\-]\p{space}*\p{Nd}+)?/dgiv,name:"constant.numeric.css"},{match:/even|odd/dgiv,name:"support.constant.parity.css"}]}]},functions:{patterns:[{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(calc)(\()/dgiv,beginCaptures:{1:{name:"support.function.calc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.calc.css",patterns:[{match:/[\*\/]|(?<=\p{space}|^)[\-\+](?=\p{space}|(?=\n?$))/dgv,name:"keyword.operator.arithmetic.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(rgba?|rgb|hsla?|hsl|hwb|lab|oklab|lch|oklch|color)(\()/dgiv,beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.color.css",patterns:[{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])((?:-webkit-|-moz-|-o-)?(?:repeating-)?(?:linear|radial|conic)-gradient)(\()/dgiv,beginCaptures:{1:{name:"support.function.gradient.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.gradient.css",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(from|to|at|in|hue)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"keyword.operator.gradient.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(-webkit-gradient)(\()/dgiv,beginCaptures:{1:{name:"invalid.deprecated.gradient.function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.gradient.invalid.deprecated.gradient.css",patterns:[{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(from|to|color-stop)(\()/dgiv,beginCaptures:{1:{name:"invalid.deprecated.function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#property-values"}]},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols|cos|sin|tan|acos|asin|atan|atan2|hypot|sqrt|pow|log|exp|abs|sign)(\()/dgiv,beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.misc.css",patterns:[{match:/(?<=[\,\p{space}"]|\*\/|^)\p{Nd}+x(?=[\p{space}\,"'\)]|\/\*|(?=\n?$))/dgiv,name:"constant.numeric.other.density.css"},{include:"#property-values"},{match:/[^'"\)\,\p{space}]+/dgv,name:"variable.parameter.misc.css"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(circle|ellipse|inset|polygon|rect)(\()/dgiv,beginCaptures:{1:{name:"support.function.shape.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.shape.css",patterns:[{match:/(?<=\p{space}|^|\*\/)(at|round)(?=\p{space}|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.shape.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(cubic-bezier|steps)(\()/dgiv,beginCaptures:{1:{name:"support.function.timing-function.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.timing-function.css",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(start|end)(?=\p{space}*\)|(?=\n?$))/dgiv,name:"support.constant.step-direction.css"},{include:"#property-values"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\()/dgiv,beginCaptures:{1:{name:"support.function.transform.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},patterns:[{include:"#property-values"}]},{include:"#url"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(var)(\()/dgiv,beginCaptures:{1:{name:"support.function.misc.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.variable.css",patterns:[{match:/--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.argument.css"},{include:"#property-values"}]}]},"media-feature-keywords":{match:/(?<=^|\p{space}|:|\*\/)(?:portrait|landscape|progressive|interlace|fullscreen|standalone|minimal-ui|browser|hover)(?=\p{space}|\)|(?=\n?$))/dgiv,name:"support.constant.property-value.css"},"media-features":{captures:{1:{name:"support.type.property-name.media.css"},2:{name:"support.type.property-name.media.css"},3:{name:"support.type.vendored.property-name.media.css"}},match:/(?<=^|\p{space}|\(|\*\/)(?:((?:min-|max-)?(?:height|width|aspect-ratio|color|color-index|monochrome|resolution)|grid|scan|orientation|display-mode|hover)|((?:min-|max-)?device-(?:height|width|aspect-ratio))|((?:[\-_](?:webkit|apple|khtml|epub|moz|ms|o|xv|ah|rim|atsc|hp|tc|wap|ro)|(?:mso|prince))-[\p{L}\p{M}\p{N}\p{Pc}\-]+(?=\p{space}*(?:\/\*(?:[^\*]|\*[^\/])*\*\/)?\p{space}*[\:\)])))(?=\p{space}|(?=\n?$)|[\>\<\:\=]|\)|\/\*)/dgiv},"media-query":{begin:/(?:)/dgv,end:/(?=\p{space}*[\{\;])/dgv,patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#media-types"},{match:/(?<=\p{space}|^|,|\*\/)(only|not)(?=\p{space}|\{|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.logical.$1.media.css"},{match:/(?<=\p{space}|^|\*\/|\))and(?=\p{space}|\/\*|(?=\n?$))/dgiv,name:"keyword.operator.logical.and.media.css"},{match:/,(?:(?:\p{space}*,)+|(?=\p{space}*[\;\)\{]))/dgv,name:"invalid.illegal.comma.css"},{include:"#commas"},{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.parameters.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.parameters.end.bracket.round.css"}},patterns:[{include:"#media-features"},{include:"#media-feature-keywords"},{match:/:/dgv,name:"punctuation.separator.key-value.css"},{match:/>=|<=|=|<|>/dgv,name:"keyword.operator.comparison.css"},{captures:{1:{name:"constant.numeric.css"},2:{name:"keyword.operator.arithmetic.css"},3:{name:"constant.numeric.css"}},match:/(\p{Nd}+)\p{space}*(\/)\p{space}*(\p{Nd}+)/dgv,name:"meta.ratio.css"},{include:"#numeric-values"},{include:"#comment-block"}]}]},"media-query-list":{begin:/(?=\p{space}*[^\{\;])/dgv,end:/(?=\p{space}*[\{\;])/dgv,patterns:[{include:"#media-query"}]},"media-types":{captures:{1:{name:"support.constant.media.css"},2:{name:"invalid.deprecated.constant.media.css"}},match:/(?<=^|\p{space}|,|\*\/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=(?=\n?$)|[\{\,\p{space}\;]|\/\*)/dgiv},"numeric-values":{patterns:[{captures:{1:{name:"punctuation.definition.constant.css"}},match:/(#)(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\b/dgv,name:"constant.other.color.rgb-value.hex.css"},{captures:{1:{name:"keyword.other.unit.percentage.css"},2:{name:"keyword.other.unit.${2:/downcase}.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])[\-\+]?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+)(?:(?<=[0-9])E[\-\+]?[0-9]+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|rch|rex|rlh|ic|ric|rcap|vh|vw|vb|vi|svh|svw|svb|svi|dvh|dvw|dvb|dvi|lvh|lvw|lvb|lvi|vmax|vmin|cqw|cqi|cqh|cqb|cqmin|cqmax|dpi|dpcm|dppx|s|ms)\b)?/dgiv,name:"constant.numeric.css"}]},"property-keywords":{patterns:[{match:new k("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83|jis90|justify|justify-all|kannada|keep-all|landscape|large|larger|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])","dgiv",{lazyCompile:!0}),name:"support.constant.property-value.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman|urdu)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.property-value.list-style-type.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(?:-(?:[Aa][Hh]|[Aa][Pp][Pp][Ll][Ee]|[Aa][Tt][Ssſ][Cc]|[Ee][Pp][Uu][Bb]|[Hh][Pp]|[KKk][Hh][Tt][Mm][Ll]|[Mm][Oo][Zz]|[Mm][Ssſ]|[Oo]|[Rr][Ii][Mm]|[Rr][Oo]|[Tt][Cc]|[Ww][Aa][Pp]|[Ww][Ee][Bb][KKk][Ii][Tt]|[Xx][Vv])|(?:[Mm][Ssſ][Oo]|[Pp][Rr][Ii][Nn][Cc][Ee]))-[a-zA-Z\-]+/dgv,name:"support.constant.vendored.property-value.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(?:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgiv,name:"support.constant.font-name.css"}]},"property-names":{patterns:[{match:new k("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(?:accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|aspect-ratio|backdrop-filter|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border|border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color|border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius|border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align|inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position|offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline|overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]|pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align|ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start|scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right|scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom|scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right|scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type|scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size|speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom|alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile|color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity|glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid|marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y|adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break|balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length|bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction|box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column|column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break|delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position|flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust|initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count|justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group|orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range|play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim|radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness|right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color|rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral|speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch|string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height|text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style|top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range|voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])","dgiv",{lazyCompile:!0}),name:"support.type.property-name.css"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])(?:-(?:[Aa][Hh]|[Aa][Pp][Pp][Ll][Ee]|[Aa][Tt][Ssſ][Cc]|[Ee][Pp][Uu][Bb]|[Hh][Pp]|[KKk][Hh][Tt][Mm][Ll]|[Mm][Oo][Zz]|[Mm][Ssſ]|[Oo]|[Rr][Ii][Mm]|[Rr][Oo]|[Tt][Cc]|[Ww][Aa][Pp]|[Ww][Ee][Bb][KKk][Ii][Tt]|[Xx][Vv])|(?:[Mm][Ssſ][Oo]|[Pp][Rr][Ii][Nn][Cc][Ee]))-[a-zA-Z\-]+/dgv,name:"support.type.vendored.property-name.css"}]},"property-values":{patterns:[{include:"#commas"},{include:"#comment-block"},{include:"#escapes"},{include:"#functions"},{include:"#property-keywords"},{include:"#unicode-range"},{include:"#numeric-values"},{include:"#color-keywords"},{include:"#string"},{match:/!\p{space}*important(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"keyword.other.important.css"}]},"pseudo-classes":{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"invalid.illegal.colon.css"}},match:/(:)(:*)(?:active|any-link|checked|default|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![\p{L}\p{M}\p{N}\p{Pc}\-]|\p{space}*[\;\}])/dgiv,name:"entity.other.attribute-name.pseudo-class.css"},"pseudo-elements":{captures:{1:{name:"punctuation.definition.entity.css"},2:{name:"punctuation.definition.entity.css"}},match:/(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-z\-]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![\p{L}\p{M}\p{N}\p{Pc}\-]|\p{space}*[\;\}])/dgiv,name:"entity.other.attribute-name.pseudo-element.css"},"rule-list":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.property-list.begin.bracket.curly.css"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.property-list.end.bracket.curly.css"}},name:"meta.property-list.css",patterns:[{include:"#rule-list-innards"}]},"rule-list-innards":{patterns:[{include:"#comment-block"},{include:"#escapes"},{include:"#font-features"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.css"},{begin:/(?<![\-a-zA-Z])(?=[\-a-zA-Z])/dgv,end:/(?=\n?$)|(?![\-a-zA-Z])/dgv,name:"meta.property-name.css",patterns:[{include:"#property-names"}]},{begin:/(:)\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.css"}},contentName:"meta.property-value.css",end:/\p{space}*(;)|\p{space}*(?=\}|\))/dgv,endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"#comment-block"},{include:"#property-values"}]},{match:/;/dgv,name:"punctuation.terminator.rule.css"}]},selector:{begin:/(?=(?:\|)?(?:[\-\[\:\.\*\#a-zA-Z_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n])))/dgv,end:/(?=\p{space}*[\/\@\{\)])/dgv,name:"meta.selector.css",patterns:[{include:"#selector-innards"}]},"selector-innards":{patterns:[{include:"#comment-block"},{include:"#commas"},{include:"#escapes"},{include:"#combinators"},{captures:{1:{name:"entity.other.namespace-prefix.css"},2:{name:"punctuation.separator.css"}},match:/(?:^|(?<=[\p{space}\,\(\}\;]))(?![\-\p{L}\p{M}\p{N}\p{Pc}\*]+\|(?![\-\[\:\.\*\#a-zA-Z_]|[^\x00-\x7F]))((?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*|\*)?(\|)/dgv},{include:"#tag-names"},{match:/\*/dgv,name:"entity.name.tag.wildcard.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:/(?<![\@\p{L}\p{M}\p{N}\p{Pc}\-])([\.\#])((?:-?[0-9]|-(?=(?=\n?$)|[\p{space}\,\.\#\)\[\:\{\>\+\~\|]|\/\*)|(?:[\-a-zA-Z_0-9]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*(?:[\!"'\%\&\(\*\;\<\?\@\^\`\|\]\}]|\/(?!\*))+)(?:[\-a-zA-Z_0-9]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*)/dgv,name:"invalid.illegal.bad-identifier.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:/(\.)((?:[\-a-zA-Z_0-9]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))+)(?=(?=\n?$)|[\p{space}\,\.\#\)\[\:\{\>\+\~\|]|\/\*)/dgv,name:"entity.other.attribute-name.class.css"},{captures:{1:{name:"punctuation.definition.entity.css"},2:{patterns:[{include:"#escapes"}]}},match:/(#)(-?(?![0-9])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))+)(?=(?=\n?$)|[\p{space}\,\.\#\)\[\:\{\>\+\~\|]|\/\*)/dgv,name:"entity.other.attribute-name.id.css"},{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.entity.begin.bracket.square.css"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.entity.end.bracket.square.css"}},name:"meta.attribute-selector.css",patterns:[{include:"#comment-block"},{include:"#string"},{captures:{1:{name:"storage.modifier.ignore-case.css"}},match:/(?<=["'\p{space}]|^|\*\/)\p{space}*([iI])\p{space}*(?=[\p{space}\]]|\/\*|(?=\n?$))/dgv},{captures:{1:{name:"string.unquoted.attribute-value.css",patterns:[{include:"#escapes"}]}},match:/(?<==)\p{space}*((?!\/\*)(?:[^\\"'\p{space}\]]|\\[^\n])+)/dgv},{include:"#escapes"},{match:/[\~\|\^\$\*]?=/dgv,name:"keyword.operator.pattern.css"},{match:/\|/dgv,name:"punctuation.separator.css"},{captures:{1:{name:"entity.other.namespace-prefix.css",patterns:[{include:"#escapes"}]}},match:/(-?(?!\p{Nd})(?:[\p{L}\p{M}\p{N}\p{Pc}\-]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))+|\*)(?=\|(?!\p{space}|=|(?=\n?$)|\])(?:-?(?!\p{Nd})|[\\\p{L}\p{M}\p{N}\p{Pc}\-]|[^\x00-\x7F]))/dgv},{captures:{1:{name:"entity.other.attribute-name.css",patterns:[{include:"#escapes"}]}},match:new k("(-?(?!\\p{Nd})(?:(?=([\\p{L}\\p{M}\\p{N}\\p{Pc}\\-]|[^\\x00-\\x7F]|\\\\(?:[0-9a-fA-F]{1,6}|[^\\n])))\\2)+)\\p{space}*(?=[\\~\\|\\^\\]\\$\\*\\=]|/\\*)","dgv",{hiddenCaptures:[2]})}]},{include:"#pseudo-classes"},{include:"#pseudo-elements"},{include:"#functional-pseudo-classes"},{match:/(?<![\@\p{L}\p{M}\p{N}\p{Pc}\-])(?=[a-z][\p{L}\p{M}\p{N}\p{Pc}]*-)(?:(?![A-Z])[\p{L}\p{M}\p{N}\p{Pc}\-])+(?![\(\p{L}\p{M}\p{N}\p{Pc}\-])/dgv,name:"entity.name.tag.custom.css"}]},string:{patterns:[{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/"|(?<!\\)(?=(?=\n?$)|\n)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.double.css",patterns:[{begin:new k('(?:^|^)(?=(?:[^\\\\"]|\\\\[^\\n])+(?=\\n?$))',"dgv",{strategy:"clip_search"}),end:/(?=\n?$)/dgv,name:"invalid.illegal.unclosed.string.css",patterns:[{include:"#escapes"}]},{include:"#escapes"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.css"}},end:/'|(?<!\\)(?=(?=\n?$)|\n)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.css"}},name:"string.quoted.single.css",patterns:[{begin:new k("(?:^|^)(?=(?:[^\\\\']|\\\\[^\\n])+(?=\\n?$))","dgv",{strategy:"clip_search"}),end:/(?=\n?$)/dgv,name:"invalid.illegal.unclosed.string.css",patterns:[{include:"#escapes"}]},{include:"#escapes"}]}]},"tag-names":{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\:\-])(?:a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark|marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern|annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced|mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot|mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup|msup|mtable|mtd|mtext|mtr|munder|munderover|semantics)(?=[\+\~\>\p{space}\,\.\#\|\)\{\:\[]|\/\*|(?=\n?$))/dgiv,name:"entity.name.tag.css"},"unicode-range":{captures:{0:{name:"constant.other.unicode-range.css"},1:{name:"punctuation.separator.dash.unicode-range.css"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])[Uu]\+[0-9A-Fa-f\?]{1,6}(?:(-)[0-9A-Fa-f]{1,6})?(?![\p{L}\p{M}\p{N}\p{Pc}\-])/dgv},url:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}\@\-])(url)(\()/dgiv,beginCaptures:{1:{name:"support.function.url.css"},2:{name:"punctuation.section.function.begin.bracket.round.css"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.function.end.bracket.round.css"}},name:"meta.function.url.css",patterns:[{match:/[^'"\)\p{space}]+/dgv,name:"variable.parameter.url.css"},{include:"#string"},{include:"#comment-block"},{include:"#escapes"}]}},scopeName:"source.css",embeddedLangs:void 0,aliases:void 0}),Bn=[Ep],$d=Object.freeze(Object.defineProperty({__proto__:null,default:Bn},Symbol.toStringTag,{value:"Module"})),Bp=Object.freeze({displayName:"JavaScript",name:"javascript",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.js"},"after-operator-block-as-object-literal":{begin:/(?<!\+\+|--)(?<=[\:\=\(\,\[\?\+\!\>]|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^throw|[^\._\$\p{Alpha}\p{Nd}]throw|^in|[^\._\$\p{Alpha}\p{Nd}]in|^of|[^\._\$\p{Alpha}\p{Nd}]of|^typeof|[^\._\$\p{Alpha}\p{Nd}]typeof|&&|\|\||\*)\p{space}*(\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.objectliteral.js",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:/\p{space}*(\[)/dgv,beginCaptures:{1:{name:"meta.brace.square.js"}},end:/\]/dgv,endCaptures:{0:{name:"meta.brace.square.js"}},name:"meta.array.literal.js",patterns:[{include:"#expression"},{include:"#punctuation-comma"}]},"arrow-function":{patterns:[{captures:{1:{name:"storage.modifier.async.js"},2:{name:"variable.parameter.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync)\p{space}+)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?==>)/dgv,name:"meta.arrow.js"},{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync))?((?<![\}\)\!\]])\p{space}*(?=((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|([\<]\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+extends\p{space}*[^\=\>])|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.arrow.js",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.js"}},end:/((?<=\}|\P{space})(?<!=>)|((?!\{)(?=\P{space})))(?!\/[\/\*])/dgv,name:"meta.arrow.js",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.return.type.arrow.js",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:/(?<=[\:])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(async)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.async.js"},"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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))true(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.true.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))false(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.false.js"}]},brackets:{patterns:[{begin:/\{/dgv,end:/\}|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]},{begin:/\[/dgv,end:/\]|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]}]},cast:{patterns:[{include:"#jsx"}]},"class-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(class)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.type.class.js"}},end:/(?<=\})/dgv,name:"meta.class.js",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.js"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(class)\b(?=\p{space}+|[\<\{]|\/[\/\*])/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.type.class.js"}},end:/(?<=\})/dgv,name:"meta.class.js",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:/(?<=:)\p{space}*/dgv,end:/(?=\p{space}|[\;\)\,\}\]\:\-\+]|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\b(extends|implements)\b(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"storage.modifier.js"}},end:/(?=\{)/dgv,patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{include:"#type-parameters"},{include:"#expressionWithoutIdentifiers"},{captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}*\??\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)*\p{space}*)/dgv},{captures:{1:{name:"entity.other.inherited-class.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.js"}},name:"comment.block.documentation.js",patterns:[{include:"#docblock"}]},{begin:/(\/\*)(?:\p{space}*((@)internal)(?=\p{space}|(\*\/)))?/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.js"},2:{name:"storage.type.internaldeclaration.js"},3:{name:"punctuation.decorator.internaldeclaration.js"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.js"}},name:"comment.block.js"},{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js"},2:{name:"comment.line.double-slash.js"},3:{name:"punctuation.definition.comment.js"},4:{name:"storage.type.internaldeclaration.js"},5:{name:"punctuation.decorator.internaldeclaration.js"}},contentName:"comment.line.double-slash.js",end:/(?=(?=\n?$))/dgv}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(catch|finally|throw|try)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.trycatch.js"},{captures:{1:{name:"keyword.control.loop.js"},2:{name:"entity.name.label.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|goto)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|do|goto|while)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.loop.js"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(return)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.control.flow.js"}},end:/(?=[\;\}]|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#expression"}]},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default|switch)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.switch.js"},{include:"#if-statement"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(else|if)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.conditional.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(with)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.with.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(package)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(debugger)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.other.debugger.js"}]},"decl-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.block.js",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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(declare|export)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.js"}]},decorator:{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))@/dgv,beginCaptures:{0:{name:"punctuation.decorator.js"}},end:/(?=\p{space})/dgv,name:"meta.decorator.js",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.js",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.array-binding-pattern-variable.js",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},name:"meta.parameter.object-binding-pattern.js",patterns:[{include:"#parameter-object-binding-element"}]},{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},name:"meta.paramter.array-binding-pattern.js",patterns:[{include:"#parameter-binding-element"},{include:"#punctuation-comma"}]}]},"destructuring-parameter-rest":{captures:{1:{name:"keyword.operator.rest.js"},2:{name:"variable.parameter.js"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.js",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.array-binding-pattern-variable.js",patterns:[{include:"#array-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-variable-rest":{captures:{1:{name:"keyword.operator.rest.js"},2:{name:"meta.definition.variable.js variable.other.readwrite.js"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.js"},2:{name:"meta.definition.variable.js variable.other.constant.js"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},directives:{begin:/^(\/\/\/)\p{space}*(?=<(reference|amd-dependency|amd-module)(\p{space}+(path|types|no-default-lib|lib|name|resolution-mode)\p{space}*=\p{space}*(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))+\p{space}*\/>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.js"}},end:/(?=(?=\n?$))/dgv,name:"comment.line.triple-slash.directive.js",patterns:[{begin:/(<)(reference|amd-dependency|amd-module)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.directive.js"},2:{name:"entity.name.tag.directive.js"}},end:/\/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.directive.js"}},name:"meta.tag.js",patterns:[{match:/path|types|no-default-lib|lib|name|resolution-mode/dgv,name:"entity.other.attribute-name.directive.js"},{match:/=/dgv,name:"keyword.operator.assignment.js"},{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:/((@)(?:access|api))\p{space}+(private|protected|public)\b/dgv},{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)\p{space}+([^\@\p{space}\<\>\*\/](?:[^\@\<\>\*\/]|\*[^\/])*)(?:\p{space}*(<)([^\>\p{space}]+)(>))?/dgv},{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)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)\p{space}+(as)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)/dgv},{begin:/((@)example)\p{space}+/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=@|\*\/)/dgv,name:"meta.example.jsdoc",patterns:[{match:/^\p{space}\*\p{space}+/dgv},{begin:/(<)caption(>)/dgvy,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(>)|(?=\*\/)/dgv,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.js"}},match:/[^\p{space}\@\*](?:[^\*]|\*[^\/])*/dgv}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:/((@)kind)\p{space}+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\b/dgv},{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)\p{space}+(?:((?=https?:\/\/)(?:[^\p{space}\*]|\*[^\/])+)|((?!https?:\/\/|(?:\[[^\[\]]*\])?\{@(?:link|linkcode|linkplain|tutorial)\b)(?:[^\@\p{space}\*\/]|\*[^\/])+))/dgv},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:/((@)template)\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*(?:\p{space}*,\p{space}*[A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)*)/dgv},{begin:/((@)template)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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))\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv},{begin:/((@)typedef)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/(?:[^\@\p{space}\*\/]|\*[^\/])+/dgv,name:"entity.name.type.instance.jsdoc"}]},{begin:/((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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.js"},4:{name:"punctuation.definition.optional-value.end.bracket.square.jsdoc"},5:{name:"invalid.illegal.syntax.jsdoc"}},match:new k(`(\\[)\\p{space}*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+(?:(?:\\[\\])?\\.[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+)*(?:\\p{space}*(=)\\p{space}*((?:(?=("(?:\\*(?!/)|\\\\(?!")|[^\\*\\\\])*?"|'(?:\\*(?!/)|\\\\(?!')|[^\\*\\\\])*?'|\\[(?:\\*(?!/)|[^\\*])*?\\]|(?:\\*(?!/)|\\p{space}(?!\\p{space}*\\])|\\[[^\\n]*?(?:\\]|(?=\\*/))|[^\\*\\p{space}\\[\\]])*))\\4)*))?\\p{space}*(?:(\\])((?:[^\\*\\p{space}]|\\*[^\\p{space}\\/])+)?|(?=\\*/))`,"dgv",{hiddenCaptures:[4]}),name:"variable.other.jsdoc"}]},{begin:/((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,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))\p{space}+((?:[^\{\}\@\p{space}\*]|\*[^\/])+)/dgv},{begin:/((@)(?:default(?:value)?|license|version))\p{space}+(([''"]))/dgv,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)|(?=(?=\n?$)|\*\/)()()/dgv,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))\p{space}+([^\p{space}\*]+)/dgv},{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/dgv,name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:/((@)[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}+)/dgv}]},"enum-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:\b(const)\p{space}+)?\b(enum)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.type.enum.js"},5:{name:"entity.name.type.enum.js"}},end:/(?<=\})/dgv,name:"meta.enum.declaration.js",patterns:[{include:"#comment"},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},patterns:[{include:"#comment"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{0:{name:"variable.other.enummember.js"}},end:/(?=,|\}|(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:/(?=(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\])))/dgv,end:/(?=,|\}|(?=\n?$))/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#comment"},{include:"#variable-initializer"}]},{include:"#punctuation-comma"}]}]},"export-declaration":{patterns:[{captures:{1:{name:"keyword.control.export.js"},2:{name:"keyword.control.as.js"},3:{name:"storage.type.namespace.js"},4:{name:"entity.name.type.module.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)\p{space}+(as)\p{space}+(namespace)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?(?:\p{space}*(=)|\p{space}+(default)(?=\p{space}+))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"keyword.control.type.js"},3:{name:"keyword.operator.assignment.js"},4:{name:"keyword.control.default.js"}},end:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.export.default.js",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?\b(?!(\$)|(\p{space}*:))((?=\p{space}*[\{\*])|((?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}|,))(?!\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"keyword.control.type.js"}},end:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.export.js",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.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"entity.name.function.js variable.language.this.js"},4:{name:"entity.name.function.js"},5:{name:"keyword.operator.optional.js"}},match:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"variable.parameter.js variable.language.this.js"},4:{name:"variable.parameter.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)(?=\p{space}*[\:\,]|(?=\n?$))/dgv},{include:"#type-annotation"},{include:"#variable-initializer"},{match:/,/dgv,name:"punctuation.separator.parameter.js"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(await)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.flow.js"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?=\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*\*)/dgv,beginCaptures:{1:{name:"keyword.control.flow.js"}},end:/\*/dgv,endCaptures:{0:{name:"keyword.generator.asterisk.js"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.js"},2:{name:"keyword.generator.asterisk.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}*(\*))?/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))delete(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.delete.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))in(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.in.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))of(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.of.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.instanceof.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.new.js"},{include:"#typeof-operator"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))void(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.void.js"},{captures:{1:{name:"keyword.control.as.js"},2:{name:"storage.modifier.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*((?=\n?$)|[\;\,\:\}\)\]]))/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.js"},2:{name:"keyword.control.satisfies.js"}},end:/(?=^|[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisfies)\p{space}+)|(\p{space}+<))/dgv,patterns:[{include:"#type"}]},{match:/\.\.\./dgv,name:"keyword.operator.spread.js"},{match:/\*=|(?<!\()\/=|%=|\+=|-=/dgv,name:"keyword.operator.assignment.compound.js"},{match:/&=|\^=|<<=|>>=|>>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.js"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.js"},{match:/===|!==|==|!=/dgv,name:"keyword.operator.comparison.js"},{match:/<=|>=|<>|<|>/dgv,name:"keyword.operator.relational.js"},{captures:{1:{name:"keyword.operator.logical.js"},2:{name:"keyword.operator.assignment.compound.js"},3:{name:"keyword.operator.arithmetic.js"}},match:/(?<=[_\$\p{Alpha}\p{Nd}])(!)\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv},{match:/!|&&|\|\||\?\?/dgv,name:"keyword.operator.logical.js"},{match:/&|~|\^|\|/dgv,name:"keyword.operator.bitwise.js"},{match:/=/dgv,name:"keyword.operator.assignment.js"},{match:/--/dgv,name:"keyword.operator.decrement.js"},{match:/\+\+/dgv,name:"keyword.operator.increment.js"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.js"},{begin:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)+(?:(\/=)|(\/)(?![\/\*])))/dgv,end:/(?:(\/=)|(\/)(?!\*([^\*]|(\*[^\/]))*\*\/))/dgv,endCaptures:{1:{name:"keyword.operator.assignment.compound.js"},2:{name:"keyword.operator.arithmetic.js"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.operator.assignment.compound.js"},2:{name:"keyword.operator.arithmetic.js"}},match:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv}]},expressionPunctuations:{patterns:[{include:"#punctuation-comma"},{include:"#punctuation-accessor"}]},expressionWithoutIdentifiers:{patterns:[{include:"#jsx"},{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:/(?<!\()(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}+)?(?=\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|\}|(?=\n?$)))/dgv,beginCaptures:{1:{name:"storage.modifier.js"}},end:/(?=\}|;|,|(?=\n?$)|(^(?!\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|(?=\n?$)))))|(?<=\})/dgv,name:"meta.field.declaration.js",patterns:[{include:"#variable-initializer"},{include:"#type-annotation"},{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{include:"#comment"},{captures:{1:{name:"meta.definition.property.js entity.name.function.js"},2:{name:"keyword.operator.optional.js"},3:{name:"keyword.operator.definiteassignment.js"}},match:new k("(#?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?:(\\?)|(!))?(?=\\p{space}*\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{match:/#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.property.js variable.object.property.js"},{match:/\?/dgv,name:"keyword.operator.optional.js"},{match:/!/dgv,name:"keyword.operator.definiteassignment.js"}]},"for-loop":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))for(?=((\p{space}+|(\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*))await)?\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)?(\())/dgv,beginCaptures:{0:{name:"keyword.control.loop.js"}},end:/(?<=\))/dgv,patterns:[{include:"#comment"},{match:/await/dgv,name:"keyword.control.loop.js"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},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:/\*/dgv,name:"keyword.generator.asterisk.js"}]},"function-call":{patterns:[{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,end:/(?<=\))(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,name:"meta.function-call.js",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"},{include:"#paren-expression"}]},{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,end:/(?<=>)(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,name:"meta.function-call.js",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"}]}]},"function-call-optionals":{patterns:[{match:/\?\./dgv,name:"meta.function-call.js punctuation.accessor.optional.js"},{match:/!/dgv,name:"meta.function-call.js keyword.operator.definiteassignment.js"}]},"function-call-target":{patterns:[{include:"#support-function-call-identifiers"},{match:/(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.js"}]},"function-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.async.js"},4:{name:"storage.type.function.js"},5:{name:"keyword.generator.asterisk.js"},6:{name:"meta.definition.function.js entity.name.function.js"}},end:/(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|(?<=\})/dgv,name:"meta.function.js",patterns:[{include:"#function-name"},{include:"#function-body"}]},"function-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"storage.type.function.js"},3:{name:"keyword.generator.asterisk.js"},4:{name:"meta.definition.function.js entity.name.function.js"}},end:/(?=;)|(?<=\})/dgv,name:"meta.function.expression.js",patterns:[{include:"#function-name"},{include:"#single-line-comment-consuming-line-ending"},{include:"#function-body"}]},"function-name":{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.function.js entity.name.function.js"},"function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.parameters.begin.js"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.parameters.end.js"}},name:"meta.parameters.js",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:/,/dgv,name:"punctuation.separator.parameter.js"}]},identifiers:{patterns:[{include:"#object-identifiers"},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"entity.name.function.js"}},match:/(?:(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*=\p{space}*(((async\p{space}+)?((function\p{space}*[\(\<\*])|(function\p{space}+)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=>)))|((async\p{space}*)?(((<\p{space}*(?=\n?$))|([\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|([\<]\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+extends\p{space}*[^\=\>])|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))))/dgv},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"variable.other.constant.property.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"variable.other.property.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{match:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv,name:"variable.other.constant.js"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.js"}]},"if-statement":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bif\p{space}*(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))\p{space}*(?!\{))/dgv,end:/(?=;|(?=\n?$)|\})/dgv,patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(if)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.conditional.js"},2:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression"}]},{begin:/(?<=\))\p{space}*\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"keyword.other.js"}},name:"string.regexp.js",patterns:[{include:"#regexp"}]},{include:"#statements"}]}]},"import-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type)(?!\p{space}+from))?(?!\p{space}*[\:\(])(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"keyword.control.import.js"},4:{name:"keyword.control.type.js"}},end:/(?<!^import|[^\._\$\p{Alpha}\p{Nd}]import)(?=;|(?=\n?$)|^)/dgv,name:"meta.import.js",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#string"},{begin:/(?<=^import|[^\._\$\p{Alpha}\p{Nd}]import)(?!\p{space}*["'])/dgv,end:/\bfrom\b/dgv,endCaptures:{0:{name:"keyword.control.from.js"}},patterns:[{include:"#import-export-declaration"}]},{include:"#import-export-declaration"}]},"import-equals-declaration":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(require)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"keyword.control.import.js"},4:{name:"keyword.control.type.js"},5:{name:"variable.other.readwrite.alias.js"},6:{name:"keyword.operator.assignment.js"},7:{name:"keyword.control.require.js"},8:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},name:"meta.import-equals.external.js",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(?!require\b)/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"keyword.control.import.js"},4:{name:"keyword.control.type.js"},5:{name:"variable.other.readwrite.alias.js"},6:{name:"keyword.operator.assignment.js"}},end:/(?=;|(?=\n?$)|^)/dgv,name:"meta.import-equals.internal.js",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.readwrite.js"}]}]},"import-export-assert-clause":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(with)|(assert))\p{space}*(\{)/dgv,beginCaptures:{1:{name:"keyword.control.with.js"},2:{name:"keyword.control.assert.js"},3:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},patterns:[{include:"#comment"},{include:"#string"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object-literal.key.js"},{match:/:/dgv,name:"punctuation.separator.key-value.js"}]},"import-export-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.block.js",patterns:[{include:"#import-export-clause"}]},"import-export-clause":{patterns:[{include:"#comment"},{captures:{1:{name:"keyword.control.type.js"},2:{name:"keyword.control.default.js"},3:{name:"constant.language.import-export-all.js"},4:{name:"variable.other.readwrite.js"},5:{name:"string.quoted.alias.js"},12:{name:"keyword.control.as.js"},13:{name:"keyword.control.default.js"},14:{name:"variable.other.readwrite.alias.js"},15:{name:"string.quoted.alias.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\btype)\p{space}+)?(?:(\bdefault)|(\*)|(\b[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))\p{space}+(as)\p{space}+(?:(default(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv},{include:"#punctuation-comma"},{match:/\*/dgv,name:"constant.language.import-export-all.js"},{match:/\b(default)\b/dgv,name:"keyword.control.default.js"},{captures:{1:{name:"keyword.control.type.js"},2:{name:"variable.other.readwrite.alias.js"},3:{name:"string.quoted.alias.js"}},match:/(?:(\btype)\p{space}+)?(?:([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv}]},"import-export-declaration":{patterns:[{include:"#comment"},{include:"#string"},{include:"#import-export-block"},{match:/\bfrom\b/dgv,name:"keyword.control.from.js"},{include:"#import-export-assert-clause"},{include:"#import-export-clause"}]},"indexer-declaration":{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=:)/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"meta.brace.square.js"},3:{name:"variable.parameter.js"}},end:/(\])\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,endCaptures:{1:{name:"meta.brace.square.js"},2:{name:"keyword.operator.optional.js"}},name:"meta.indexer.declaration.js",patterns:[{include:"#type-annotation"}]},"indexer-mapped-type-declaration":{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([\+\-])?(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}+(in)\p{space}+/dgv,beginCaptures:{1:{name:"keyword.operator.type.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"meta.brace.square.js"},4:{name:"entity.name.type.js"},5:{name:"keyword.operator.expression.in.js"}},end:/(\])([\+\-])?\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,endCaptures:{1:{name:"meta.brace.square.js"},2:{name:"keyword.operator.type.modifier.js"},3:{name:"keyword.operator.optional.js"}},name:"meta.indexer.mappedtype.declaration.js",patterns:[{captures:{1:{name:"keyword.control.as.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+/dgv},{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))/dgv,name:"constant.other.description.jsdoc"},{begin:/(\{)((@)(?:link(?:code|plain)?|tutorial))\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"},2:{name:"storage.type.class.jsdoc"},3:{name:"punctuation.definition.inline.tag.jsdoc"}},end:/\}|(?=\*\/)/dgv,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:/((?=https?:\/\/)(?:[^\|\}\p{space}\*]|\*[\/])+)(\|)?/dgvy},{captures:{1:{name:"variable.other.description.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:/((?:[^\{\}\@\p{space}\|\*]|\*[^\/])+)(\|)?/dgvy}]}]},"instanceof-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(instanceof)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.expression.instanceof.js"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|(===|!==|==|!=)|(([\&\~\^\|]\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,patterns:[{include:"#type"}]},"interface-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(interface)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.type.interface.js"}},end:/(?<=\})/dgv,name:"meta.interface.js",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.interface.js"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},jsdoctype:{patterns:[{begin:/(\{)/dgvy,beginCaptures:{0:{name:"entity.name.type.instance.jsdoc"},1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"}},contentName:"entity.name.type.instance.jsdoc",end:/((\}))\p{space}*|(?=\*\/)/dgv,endCaptures:{1:{name:"entity.name.type.instance.jsdoc"},2:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},patterns:[{include:"#brackets"}]}]},jsx:{patterns:[{include:"#jsx-tag-without-attributes-in-expression"},{include:"#jsx-tag-in-expression"}]},"jsx-children":{patterns:[{include:"#jsx-tag-without-attributes"},{include:"#jsx-tag"},{include:"#jsx-evaluated-code"},{include:"#jsx-entities"}]},"jsx-entities":{patterns:[{captures:{1:{name:"punctuation.definition.entity.js"},3:{name:"punctuation.definition.entity.js"}},match:/(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)/dgv,name:"constant.character.entity.js"}]},"jsx-evaluated-code":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.section.embedded.begin.js"}},contentName:"meta.embedded.expression.js",end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.embedded.end.js"}},patterns:[{include:"#expression"}]},"jsx-string-double-quoted":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.double.js",patterns:[{include:"#jsx-entities"}]},"jsx-string-single-quoted":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.js"}},name:"string.quoted.single.js",patterns:[{include:"#jsx-entities"}]},"jsx-tag":{begin:/(?=(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>))/dgv,end:/(\/>)|(<\/)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.js"},2:{name:"punctuation.definition.tag.begin.js"},3:{name:"entity.name.tag.namespace.js"},4:{name:"punctuation.separator.namespace.js"},5:{name:"entity.name.tag.js"},6:{name:"support.class.component.js"},7:{name:"punctuation.definition.tag.end.js"}},name:"meta.tag.js",patterns:[{begin:/(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.js"},2:{name:"entity.name.tag.namespace.js"},3:{name:"punctuation.separator.namespace.js"},4:{name:"entity.name.tag.js"},5:{name:"support.class.component.js"}},end:/(?=[\/]?>)/dgv,patterns:[{include:"#comment"},{include:"#type-arguments"},{include:"#jsx-tag-attributes"}]},{begin:/(>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.end.js"}},contentName:"meta.jsx.children.js",end:/(?=<\/)/dgv,patterns:[{include:"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{match:/=(?=\p{space}*(?:'|"|\{|\/\*|\/\/|\n))/dgv,name:"keyword.operator.assignment.js"},"jsx-tag-attribute-name":{captures:{1:{name:"entity.other.attribute-name.namespace.js"},2:{name:"punctuation.separator.namespace.js"},3:{name:"entity.other.attribute-name.js"}},match:/\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(:))?([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}]*)(?=\p{space}|=|\/?>|\/\*|\/\/)/dgv},"jsx-tag-attributes":{begin:/\p{space}+/dgv,end:/(?=[\/]?>)/dgv,name:"meta.tag.attributes.js",patterns:[{include:"#comment"},{include:"#jsx-tag-attribute-name"},{include:"#jsx-tag-attribute-assignment"},{include:"#jsx-string-double-quoted"},{include:"#jsx-string-single-quoted"},{include:"#jsx-evaluated-code"},{include:"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{match:/\P{space}+/dgv,name:"invalid.illegal.attribute.js"},"jsx-tag-in-expression":{begin:/(?<!\+\+|--)(?<=[\(\{\[\,\?\=\>\:\*]|&&|\|\||\?|\*\/|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^default|[^\._\$\p{Alpha}\p{Nd}]default|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^)\p{space}*(?!<\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*((\p{space}+extends\p{space}+[^\=\>])|,))(?=(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>))/dgv,end:/(?!(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))(?=((<\p{space}*)|(\p{space}+))(?!\?)|\/?>))/dgv,patterns:[{include:"#jsx-tag"}]},"jsx-tag-without-attributes":{begin:/(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.js"},2:{name:"entity.name.tag.namespace.js"},3:{name:"punctuation.separator.namespace.js"},4:{name:"entity.name.tag.js"},5:{name:"support.class.component.js"},6:{name:"punctuation.definition.tag.end.js"}},contentName:"meta.jsx.children.js",end:/(<\/)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.js"},2:{name:"entity.name.tag.namespace.js"},3:{name:"punctuation.separator.namespace.js"},4:{name:"entity.name.tag.js"},5:{name:"support.class.component.js"},6:{name:"punctuation.definition.tag.end.js"}},name:"meta.tag.without-attributes.js",patterns:[{include:"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{begin:/(?<!\+\+|--)(?<=[\(\{\[\,\?\=\>\:\*]|&&|\|\||\?|\*\/|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^default|[^\._\$\p{Alpha}\p{Nd}]default|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^)\p{space}*(?=(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>))/dgv,end:/(?!(<)\p{space}*(?:([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*)(?<!\.|-)(:))?((?:[a-z][a-z0-9]*|([_\$\p{Alpha}][\-_\$\p{Alpha}\p{Nd}\.]*))(?<!\.|-))?\p{space}*(>))/dgv,patterns:[{include:"#jsx-tag-without-attributes"}]},label:{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)(?=\p{space}*\{)/dgv,beginCaptures:{1:{name:"entity.name.label.js"},2:{name:"punctuation.separator.label.js"}},end:/(?<=\})/dgv,patterns:[{include:"#decl-block"}]},{captures:{1:{name:"entity.name.label.js"},2:{name:"punctuation.separator.label.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv}]},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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?\p{space}*\b(constructor)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.modifier.async.js"},5:{name:"storage.type.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\p{space}*\b(new)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))|(?:(\*)\p{space}*)?)(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.modifier.async.js"},5:{name:"keyword.operator.new.js"},6:{name:"keyword.generator.asterisk.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"storage.modifier.js"},3:{name:"storage.modifier.js"},4:{name:"storage.modifier.async.js"},5:{name:"storage.type.property.js"},6:{name:"keyword.generator.asterisk.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]}]},"method-declaration-name":{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??)\p{space}*[\(\<])/dgv,end:/(?=\(|<)/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.method.js entity.name.function.js"},{match:/\?/dgv,name:"keyword.operator.optional.js"}]},"namespace-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(namespace|module)\p{space}+(?=[_\$\p{Alpha}"'\`])/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.namespace.js"}},end:/(?<=\})|(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.namespace.declaration.js",patterns:[{include:"#comment"},{include:"#string"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.type.module.js"},{include:"#punctuation-accessor"},{include:"#decl-block"}]},"new-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.new.js"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,name:"new.expr.js",patterns:[{include:"#expression"}]},"null-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))null(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.null.js"},"numeric-literal":{patterns:[{captures:{1:{name:"storage.type.numeric.bigint.js"}},match:/\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.hex.js"},{captures:{1:{name:"storage.type.numeric.bigint.js"}},match:/\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.binary.js"},{captures:{1:{name:"storage.type.numeric.bigint.js"}},match:/\b(?<!\$)0(?:o|O)?[0-7][0-7_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.octal.js"},{captures:{0:{name:"constant.numeric.decimal.js"},1:{name:"meta.delimiter.decimal.period.js"},2:{name:"storage.type.numeric.bigint.js"},3:{name:"meta.delimiter.decimal.period.js"},4:{name:"storage.type.numeric.bigint.js"},5:{name:"meta.delimiter.decimal.period.js"},6:{name:"storage.type.numeric.bigint.js"},7:{name:"storage.type.numeric.bigint.js"},8:{name:"meta.delimiter.decimal.period.js"},9:{name:"storage.type.numeric.bigint.js"},10:{name:"meta.delimiter.decimal.period.js"},11:{name:"storage.type.numeric.bigint.js"},12:{name:"meta.delimiter.decimal.period.js"},13:{name:"storage.type.numeric.bigint.js"},14:{name:"storage.type.numeric.bigint.js"}},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(?!\.))(?!\$)/dgv}]},"numericConstant-literal":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))NaN(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.nan.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Infinity(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.infinity.js"}]},"object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(:)/dgv,endCaptures:{0:{name:"punctuation.destructuring.js"}},patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.object.property.js"}]},"object-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},patterns:[{include:"#object-binding-element"}]},"object-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},patterns:[{include:"#object-binding-element-const"}]},"object-identifiers":{patterns:[{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*\??\.\p{space}*prototype\b(?!\$))/dgv,name:"support.class.js"},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"variable.other.constant.object.property.js"},4:{name:"variable.other.object.property.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{1:{name:"variable.other.constant.object.js"},2:{name:"variable.other.object.js"}},match:/(?:([\p{Upper}][_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv}]},"object-literal":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.objectliteral.js",patterns:[{include:"#object-member"}]},"object-literal-method-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"storage.type.property.js"},3:{name:"keyword.generator.asterisk.js"}},end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#method-declaration-name"},{include:"#function-body"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"storage.type.property.js"},3:{name:"keyword.generator.asterisk.js"}},end:/(?=\(|<)/dgv,patterns:[{include:"#method-declaration-name"}]}]},"object-member":{patterns:[{include:"#comment"},{include:"#object-literal-method-declaration"},{begin:/(?=\[)/dgv,end:/(?=:)|((?<=[\]])(?=\p{space}*[\(\<]))/dgv,name:"meta.object.member.js meta.object-literal.key.js",patterns:[{include:"#comment"},{include:"#array-literal"}]},{begin:/(?=['"\`])/dgv,end:/(?=:)|((?<=['"\`])(?=((\p{space}*[\(\<\,\}])|(\p{space}+(as|satisifies)\p{space}+))))/dgv,name:"meta.object.member.js meta.object-literal.key.js",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?=(\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$)))/dgv,end:/(?=:)|(?=\p{space}*([\(\<\,\}])|(\p{space}+as|satisifies\p{space}+))/dgv,name:"meta.object.member.js meta.object-literal.key.js",patterns:[{include:"#comment"},{include:"#numeric-literal"}]},{begin:/(?<=[\]'"\`])(?=\p{space}*[\(\<])/dgv,end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.js",patterns:[{include:"#function-body"}]},{captures:{0:{name:"meta.object-literal.key.js"},1:{name:"constant.numeric.decimal.js"}},match:/(?![_\$\p{Alpha}])([\p{Nd}]+)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.js"},{captures:{0:{name:"meta.object-literal.key.js"},1:{name:"entity.name.function.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:(\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/)*\p{space}*(((async\p{space}+)?((function\p{space}*[\(\<\*])|(function\p{space}+)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=>)))|((async\p{space}*)?(((<\p{space}*(?=\n?$))|([\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|([\<]\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+extends\p{space}*[^\=\>])|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))))/dgv,name:"meta.object.member.js"},{captures:{0:{name:"meta.object-literal.key.js"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.js"},{begin:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.js"}},end:/(?=,|\})/dgv,name:"meta.object.member.js",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.js"},{captures:{1:{name:"keyword.control.as.js"},2:{name:"storage.modifier.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*([\,\}]|(?=\n?$)))/dgv,name:"meta.object.member.js"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.js"},2:{name:"keyword.control.satisfies.js"}},end:/(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|^|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisifies)\p{space}+))/dgv,name:"meta.object.member.js",patterns:[{include:"#type"}]},{begin:/(?=[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=)/dgv,end:/(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.js",patterns:[{include:"#expression"}]},{begin:/:/dgv,beginCaptures:{0:{name:"meta.object-literal.key.js punctuation.separator.key-value.js"}},end:/(?=,|\})/dgv,name:"meta.object.member.js",patterns:[{begin:/(?<=:)\p{space}*(async)?(?=\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=\))/dgv,patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"},2:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(?=<\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=>)/dgv,patterns:[{include:"#type-parameters"}]},{begin:/(?<=>)\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},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:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.array.js"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.js"}},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.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"entity.name.function.js variable.language.this.js"},4:{name:"entity.name.function.js"},5:{name:"keyword.operator.optional.js"}},match:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"variable.parameter.js variable.language.this.js"},4:{name:"variable.parameter.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)/dgv}]},"parameter-object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.js"},2:{name:"punctuation.definition.binding-pattern.object.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.js"}},patterns:[{include:"#parameter-object-binding-element"}]},"parameter-type-annotation":{patterns:[{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?=[\,\)])|(?==[^\>])/dgv,name:"meta.type.annotation.js",patterns:[{include:"#type"}]}]},"paren-expression":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression"}]},"paren-expression-possibly-arrow":{patterns:[{begin:/(?<=[\(\=\,])\p{space}*(async)?(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{begin:/(?<=[\(\=\,]|=>|^return|[^\._\$\p{Alpha}\p{Nd}]return)\p{space}*(async)?(?=\p{space}*((((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\()|(<)|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)))\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.js"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{include:"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{begin:/(?<=\)|^)\p{space}*(:)(?=\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*=>)/dgv,beginCaptures:{1:{name:"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js"}},contentName:"meta.arrow.js meta.return.type.arrow.js",end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,patterns:[{include:"#arrow-return-type-body"}]},"property-accessor":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(accessor|get|set)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.type.property.js"},"punctuation-accessor":{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.js"},"punctuation-semicolon":{match:/;/dgv,name:"punctuation.terminator.statement.js"},"qstring-double":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(")|([^\\\n](?=\n?$))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"invalid.illegal.newline.js"}},name:"string.quoted.double.js",patterns:[{include:"#string-character-escape"}]},"qstring-single":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(')|([^\\\n](?=\n?$))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"invalid.illegal.newline.js"}},name:"string.quoted.single.js",patterns:[{include:"#string-character-escape"}]},regex:{patterns:[{begin:/(?<!\+\+|--|\})(?<=[\=\(\:\,\[\?\+\!]|^return|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case|=>|&&|\|\||\*\/)\p{space}*(\/)(?![\/\*])(?=(?:[^\/\\\[\(\)]|\\[^\n]|\[([^\]\\]|\\[^\n])+\]|\(([^\)\\]|\\[^\n])+\))+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.js"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"keyword.other.js"}},name:"string.regexp.js",patterns:[{include:"#regexp"}]},{begin:/((?<![_\$\p{Alpha}\p{Nd}\)\]]|\+\+|--|\}|\*\/)|((?<=^return|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case))\p{space}*)\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.js"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.js"},2:{name:"keyword.other.js"}},name:"string.regexp.js",patterns:[{include:"#regexp"}]}]},"regex-character-class":{patterns:[{match:/\\[wWsSdDtrnvf]|\./dgv,name:"constant.other.character-class.regexp"},{match:/\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.numeric.regexp"},{match:/\\c[A-Z]/dgv,name:"constant.character.control.regexp"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:/\\[bB]|\^|\$/dgv,name:"keyword.control.anchor.regexp"},{captures:{0:{name:"keyword.other.back-reference.regexp"},1:{name:"variable.other.regexp"}},match:/\\[1-9]\p{Nd}*|\\k<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>/dgv},{match:/[\?\+\*]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{begin:/(\()((\?=)|(\?!)|(\?<=)|(\?<!))/dgv,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:/(\))/dgv,endCaptures:{1:{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:/\((?:(\?:)|\?<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>)?/dgv,beginCaptures:{0:{name:"punctuation.definition.group.regexp"},1:{name:"punctuation.definition.group.no-capture.regexp"},2:{name:"variable.other.regexp"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:/(\[)(\^)?/dgv,beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:/(\])/dgv,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:/(?:[^\n]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))/dgv,name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"return-type":{patterns:[{begin:/(?<=\))\p{space}*(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])(?=(?=\n?$)|^|[\{\}\;\,]|\/\/)/dgv,name:"meta.return.type.js",patterns:[{include:"#return-type-core"}]},{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])((?=[\{\}\;\,]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.return.type.js",patterns:[{include:"#return-type-core"}]}]},"return-type-core":{patterns:[{include:"#comment"},{begin:/(?<=[\:\|\&])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},shebang:{captures:{1:{name:"punctuation.definition.comment.js"}},match:/^(#!)[^\n]*(?=(?=\n?$))/dgv,name:"comment.line.shebang.js"},"single-line-comment-consuming-line-ending":{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js"},2:{name:"comment.line.double-slash.js"},3:{name:"punctuation.definition.comment.js"},4:{name:"storage.type.internaldeclaration.js"},5:{name:"punctuation.decorator.internaldeclaration.js"}},contentName:"comment.line.double-slash.js",end:/(?=^)/dgv},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[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]+\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.js"},"super-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))super\b(?!\$)/dgv,name:"variable.language.super.js"},"support-function-call-identifiers":{patterns:[{include:"#literal"},{include:"#support-objects"},{include:"#object-identifiers"},{include:"#punctuation-accessor"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*[\(]\p{space}*["'\`])/dgv,name:"keyword.operator.expression.import.js"}]},"support-objects":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(arguments)\b(?!\$)/dgv,name:"variable.language.arguments.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(Promise)\b(?!\$)/dgv,name:"support.class.promise.js"},{captures:{1:{name:"keyword.control.import.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"},4:{name:"support.variable.property.importmeta.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(import)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(meta)\b(?!\$)/dgv},{captures:{1:{name:"keyword.operator.new.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"},4:{name:"support.variable.property.target.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(target)\b(?!\$)/dgv},{captures:{1:{name:"punctuation.accessor.js"},2:{name:"punctuation.accessor.optional.js"},3:{name:"support.variable.property.js"},4:{name:"support.constant.js"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(constructor|length|prototype|__proto__)\b(?!\$|\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\b(?!\$))/dgv},{captures:{1:{name:"support.type.object.module.js"},2:{name:"support.type.object.module.js"},3:{name:"punctuation.accessor.js"},4:{name:"punctuation.accessor.optional.js"},5:{name:"support.type.object.module.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(exports)|(module)(?:(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(exports|id|filename|loaded|parent|children))?)\b(?!\$)/dgv}]},"switch-statement":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bswitch\p{space}*\()/dgv,end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"switch-statement.expr.js",patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(switch)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.switch.js"},2:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},name:"switch-expression.expr.js",patterns:[{include:"#expression"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/(?=\})/dgv,name:"switch-block.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default(?=:))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.control.switch.js"}},end:/(?=:)/dgv,name:"case-clause.expr.js",patterns:[{include:"#expression"}]},{begin:/(:)\p{space}*(\{)/dgv,beginCaptures:{1:{name:"case-clause.expr.js punctuation.definition.section.case-statement.js"},2:{name:"meta.block.js punctuation.definition.block.js"}},contentName:"meta.block.js",end:/\}/dgv,endCaptures:{0:{name:"meta.block.js punctuation.definition.block.js"}},patterns:[{include:"#statements"}]},{captures:{0:{name:"case-clause.expr.js punctuation.definition.section.case-statement.js"}},match:/(:)/dgv},{include:"#statements"}]}]},template:{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.js"},2:{name:"string.template.js punctuation.definition.string.template.begin.js"}},contentName:"string.template.js",end:/`/dgv,endCaptures:{0:{name:"string.template.js punctuation.definition.string.template.end.js"}},patterns:[{include:"#template-substitution-element"},{include:"#string-character-escape"}]}]},"template-call":{patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,end:/(?=`)/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,patterns:[{include:"#support-function-call-identifiers"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.tagged-template.js"}]},{include:"#type-arguments"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?\p{space}*(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.js"}},end:/(?=`)/dgv,patterns:[{include:"#type-arguments"}]}]},"template-substitution-element":{begin:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.js"}},contentName:"meta.embedded.line.js",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.js"}},name:"meta.template.expression.js",patterns:[{include:"#expression"}]},"template-type":{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.js"},2:{name:"string.template.js punctuation.definition.string.template.begin.js"}},contentName:"string.template.js",end:/`/dgv,endCaptures:{0:{name:"string.template.js punctuation.definition.string.template.end.js"}},patterns:[{include:"#template-type-substitution-element"},{include:"#string-character-escape"}]}]},"template-type-substitution-element":{begin:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.js"}},contentName:"meta.embedded.line.js",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.js"}},name:"meta.template.expression.js",patterns:[{include:"#type"}]},"ternary-expression":{begin:/(?!\?\.\p{space}*[^\p{Nd}])(\?)(?!\?)/dgv,beginCaptures:{1:{name:"keyword.operator.ternary.js"}},end:/\p{space}*(:)/dgv,endCaptures:{1:{name:"keyword.operator.ternary.js"}},patterns:[{include:"#expression"}]},"this-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))this\b(?!\$)/dgv,name:"variable.language.this.js"},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.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv},{include:"#type-name"}]},"type-alias-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(type)\b\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.type.js"},4:{name:"entity.name.type.alias.js"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.type.declaration.js",patterns:[{include:"#comment"},{include:"#type-parameters"},{begin:/(=)\p{space}*(intrinsic)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"},2:{name:"keyword.control.intrinsic.js"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]},{begin:/(=)\p{space}*/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]}]},"type-annotation":{patterns:[{begin:/(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])(?!\p{space}*[\|\&]\p{space}+)((?=^|[\,\)\;\}\]]|\/\/)|(?==[^\>])|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.js",patterns:[{include:"#type"}]},{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.js"}},end:/(?<![\:\|\&])((?=[\,\)\;\}\]]|\/\/)|(?==[^\>])|(?=^\p{space}*(?=\n?$))|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.js",patterns:[{include:"#type"}]}]},"type-arguments":{begin:/</dgv,beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.js"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.typeparameters.end.js"}},name:"meta.type.parameters.js",patterns:[{include:"#type-arguments-body"}]},"type-arguments-body":{patterns:[{captures:{0:{name:"keyword.operator.type.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(_)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"type-builtin-literals":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(this|true|false|undefined|null|object)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.builtin.js"},"type-conditional":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends)\p{space}+/dgv,beginCaptures:{1:{name:"storage.modifier.js"}},end:/(?<=:)/dgv,patterns:[{begin:/\?/dgv,beginCaptures:{0:{name:"keyword.operator.ternary.js"}},end:/:/dgv,endCaptures:{0:{name:"keyword.operator.ternary.js"}},patterns:[{include:"#type"}]},{include:"#type"}]}]},"type-fn-type-parameters":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b(?=\p{space}*<)/dgv,beginCaptures:{1:{name:"meta.type.constructor.js storage.modifier.js"},2:{name:"meta.type.constructor.js keyword.control.new.js"}},end:/(?<=>)/dgv,patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b\p{space}*(?=\()/dgv,beginCaptures:{1:{name:"storage.modifier.js"},2:{name:"keyword.control.new.js"}},end:/(?<=\))/dgv,name:"meta.type.constructor.js",patterns:[{include:"#function-parameters"}]},{begin:/((?=[\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.js",patterns:[{include:"#function-parameters"}]}]},"type-function-return-type":{patterns:[{begin:/(=>)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"storage.type.function.arrow.js"}},end:/(?<!=>)(?<![\|\&])(?=[\,\]\)\{\}\=\;\>\:\?]|\/\/|(?=\n?$))/dgv,name:"meta.type.function.return.js",patterns:[{include:"#type-function-return-type-core"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.js"}},end:/(?<!=>)(?<![\|\&])((?=[\,\]\)\{\}\=\;\:\?\>]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.type.function.return.js",patterns:[{include:"#type-function-return-type-core"}]}]},"type-function-return-type-core":{patterns:[{include:"#comment"},{begin:/(?<==>)(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"type-infer":{patterns:[{captures:{1:{name:"keyword.operator.expression.infer.js"},2:{name:"entity.name.type.js"},3:{name:"keyword.operator.expression.extends.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(infer)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}+(extends)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))?/dgv,name:"meta.type.infer.js"}]},"type-name":{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(<)/dgv,captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"},4:{name:"meta.type.parameters.js punctuation.definition.typeparameters.begin.js"}},contentName:"meta.type.parameters.js",end:/(>)/dgv,endCaptures:{1:{name:"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},patterns:[{include:"#type-arguments-body"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<)/dgv,beginCaptures:{1:{name:"entity.name.type.js"},2:{name:"meta.type.parameters.js punctuation.definition.typeparameters.begin.js"}},contentName:"meta.type.parameters.js",end:/(>)/dgv,endCaptures:{1:{name:"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},patterns:[{include:"#type-arguments-body"}]},{captures:{1:{name:"entity.name.type.module.js"},2:{name:"punctuation.accessor.js"},3:{name:"punctuation.accessor.optional.js"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.js"}]},"type-object":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.js"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.js"}},name:"meta.object.type.js",patterns:[{include:"#comment"},{include:"#method-declaration"},{include:"#indexer-declaration"},{include:"#indexer-mapped-type-declaration"},{include:"#field-declaration"},{include:"#type-annotation"},{begin:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.js"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,patterns:[{include:"#type"}]},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#type"}]},"type-operators":{patterns:[{include:"#typeof-operator"},{include:"#type-infer"},{begin:/([\&\|])(?=\p{space}*\{)/dgv,beginCaptures:{0:{name:"keyword.operator.type.js"}},end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{begin:/[\&\|]/dgv,beginCaptures:{0:{name:"keyword.operator.type.js"}},end:/(?=\P{space})/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))keyof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.keyof.js"},{match:/(\?|:)/dgv,name:"keyword.operator.ternary.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*\()/dgv,name:"keyword.operator.expression.import.js"}]},"type-parameters":{begin:/(<)/dgv,beginCaptures:{1:{name:"punctuation.definition.typeparameters.begin.js"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.typeparameters.end.js"}},name:"meta.type.parameters.js",patterns:[{include:"#comment"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out|const)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.js"},{include:"#type"},{include:"#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.js"}]},"type-paren-or-function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.js"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.js"}},name:"meta.type.paren.cover.js",patterns:[{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"entity.name.function.js variable.language.this.js"},4:{name:"entity.name.function.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=\p{space}*(:\p{space}*((<)|([\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>)))))))|(:\p{space}*(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Function(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|(:\p{space}*((<\p{space}*(?=\n?$))|([\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))))/dgv},{captures:{1:{name:"storage.modifier.js"},2:{name:"keyword.operator.rest.js"},3:{name:"variable.parameter.js variable.language.this.js"},4:{name:"variable.parameter.js"},5:{name:"keyword.operator.optional.js"}},match:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=:)/dgv},{include:"#type-annotation"},{match:/,/dgv,name:"punctuation.separator.parameter.js"},{include:"#type"}]},"type-predicate-operator":{patterns:[{captures:{1:{name:"keyword.operator.type.asserts.js"},2:{name:"variable.parameter.js variable.language.this.js"},3:{name:"variable.parameter.js"},4:{name:"keyword.operator.expression.is.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(asserts)\p{space}+)?(?!asserts)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}(is)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{captures:{1:{name:"keyword.operator.type.asserts.js"},2:{name:"variable.parameter.js variable.language.this.js"},3:{name:"variable.parameter.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(asserts)\p{space}+(?!is)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))asserts(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.type.asserts.js"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))is(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.is.js"}]},"type-primitive":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.primitive.js"},"type-string":{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template-type"}]},"type-tuple":{begin:/\[/dgv,beginCaptures:{0:{name:"meta.brace.square.js"}},end:/\]/dgv,endCaptures:{0:{name:"meta.brace.square.js"}},name:"meta.type.tuple.js",patterns:[{match:/\.\.\./dgv,name:"keyword.operator.rest.js"},{captures:{1:{name:"entity.name.label.js"},2:{name:"keyword.operator.optional.js"},3:{name:"punctuation.separator.label.js"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(\?)?\p{space}*(:)/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"typeof-operator":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))typeof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.operator.expression.typeof.js"}},end:/(?=[\,\)\;\}\]\=\>\:\&\|\{\?]|(extends\p{space}+)|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type-arguments"},{include:"#expression"}]},"undefined-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))undefined(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.undefined.js"},"var-expr":{patterns:[{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^let|[^\._\$\p{Alpha}\p{Nd}]let|^var|[^\._\$\p{Alpha}\p{Nd}]var)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?=\P{space})/dgv},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.js"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^const|[^\._\$\p{Alpha}\p{Nd}]const)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?=\P{space})/dgv},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.js"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^using|[^\._\$\p{Alpha}\p{Nd}]using|^await\p{space}+using|[^\._\$\p{Alpha}\p{Nd}]await\p{space}+using)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.js",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.js"},2:{name:"storage.modifier.js"},3:{name:"storage.type.js"}},end:/(?=\P{space})/dgv},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*((?!\P{space})|(?=\/\/))/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.js"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,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:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.js variable.other.constant.js entity.name.function.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{1:{name:"meta.definition.variable.js variable.other.constant.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable":{patterns:[{begin:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(!)?(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|([\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|([\\<]\\p{space}*[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}+extends\\p{space}*[^\\=\\>])|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.js entity.name.function.js"},2:{name:"keyword.operator.definiteassignment.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.js variable.other.constant.js"},2:{name:"keyword.operator.definiteassignment.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.js variable.other.readwrite.js"},2:{name:"keyword.operator.definiteassignment.js"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.js",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{patterns:[{include:"#type-annotation"},{include:"#string"},{include:"#comment"}]},"variable-initializer":{patterns:[{begin:/(?<!=|!)(=)(?!=)(?=\p{space}*\P{space})(?!\p{space}*[^\n]*=>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"}},end:/(?=(?=\n?$)|^|[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,patterns:[{include:"#expression"}]},{begin:/(?<!=|!)(=)(?!=)/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.js"}},end:/(?=[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))|(?=^\p{space}*(?=\n?$))|(?<![\|\&\+\-\*\/])(?<=\P{space})(?<!=)(?=\p{space}*(?=\n?$))/dgv,patterns:[{include:"#expression"}]}]}},scopeName:"source.js",embeddedLangs:void 0,aliases:["js"]}),Ye=[Bp],vd=Object.freeze(Object.defineProperty({__proto__:null,default:Ye},Symbol.toStringTag,{value:"Module"})),Lp=Object.freeze({displayName:"TypeScript",name:"typescript",patterns:[{include:"#directives"},{include:"#statements"},{include:"#shebang"}],repository:{"access-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},"after-operator-block-as-object-literal":{begin:/(?<!\+\+|--)(?<=[\:\=\(\,\[\?\+\!\>]|^await|[^\._\$\p{Alpha}\p{Nd}]await|^return|[^\._\$\p{Alpha}\p{Nd}]return|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^throw|[^\._\$\p{Alpha}\p{Nd}]throw|^in|[^\._\$\p{Alpha}\p{Nd}]in|^of|[^\._\$\p{Alpha}\p{Nd}]of|^typeof|[^\._\$\p{Alpha}\p{Nd}]typeof|&&|\|\||\*)\p{space}*(\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.objectliteral.ts",patterns:[{include:"#object-member"}]},"array-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element"},{include:"#punctuation-comma"}]},"array-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.array.ts"}},patterns:[{include:"#binding-element-const"},{include:"#punctuation-comma"}]},"array-literal":{begin:/\p{space}*(\[)/dgv,beginCaptures:{1:{name:"meta.brace.square.ts"}},end:/\]/dgv,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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync)\p{space}+)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?==>)/dgv,name:"meta.arrow.ts"},{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(\basync))?((?<![\}\)\!\]])\p{space}*(?=((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([\)]\p{space}*:)|((\.\.\.\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*:)))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\(\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*(([_\$\p{Alpha}]|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|(\.\.\.\p{space}*[_\$\p{Alpha}]))([^\(\)'"\`]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))*)?\)(\p{space}*:\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+)?\p{space}*=>)))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.arrow.ts",patterns:[{include:"#comment"},{include:"#type-parameters"},{include:"#function-parameters"},{include:"#arrow-return-type"},{include:"#possibly-arrow-return-type"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.ts"}},end:/((?<=\}|\P{space})(?<!=>)|((?!\{)(?=\P{space})))(?!\/[\/\*])/dgv,name:"meta.arrow.ts",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#decl-block"},{include:"#expression"}]}]},"arrow-return-type":{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,name:"meta.return.type.arrow.ts",patterns:[{include:"#arrow-return-type-body"}]},"arrow-return-type-body":{patterns:[{begin:/(?<=[\:])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},"async-modifier":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(async)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))true(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.true.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))false(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.boolean.false.ts"}]},brackets:{patterns:[{begin:/\{/dgv,end:/\}|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]},{begin:/\[/dgv,end:/\]|(?=\*\/)/dgv,patterns:[{include:"#brackets"}]}]},cast:{patterns:[{captures:{1:{name:"meta.brace.angle.ts"},2:{name:"storage.modifier.ts"},3:{name:"meta.brace.angle.ts"}},match:/\p{space}*(<)\p{space}*(const)\p{space}*(>)/dgv,name:"cast.expr.ts"},{begin:/(?<!\+\+|--)(?<=^return|[^\._\$\p{Alpha}\p{Nd}]return|^throw|[^\._\$\p{Alpha}\p{Nd}]throw|^yield|[^\._\$\p{Alpha}\p{Nd}]yield|^await|[^\._\$\p{Alpha}\p{Nd}]await|^default|[^\._\$\p{Alpha}\p{Nd}]default|[\=\(\,\:\>\*\?\&\|\^]|[^_\$\p{Alpha}\p{Nd}](?:\+\+|--)|[^\+]\+|[^\-]-)\p{space}*(<)(?!<?=)(?!\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:/(>)/dgv,endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]},{begin:/(?<=^)\p{space}*(<)(?=[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*>)/dgv,beginCaptures:{1:{name:"meta.brace.angle.ts"}},end:/(>)/dgv,endCaptures:{1:{name:"meta.brace.angle.ts"}},name:"cast.expr.ts",patterns:[{include:"#type"}]}]},"class-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(class)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.class.ts"}},end:/(?<=\})/dgv,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:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},"class-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(class)\b(?=\p{space}+|[\<\{]|\/[\/\*])/dgv,beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"storage.type.class.ts"}},end:/(?<=\})/dgv,name:"meta.class.ts",patterns:[{include:"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{include:"#decorator"},{begin:/(?<=:)\p{space}*/dgv,end:/(?=\p{space}|[\;\)\,\}\]\:\-\+]|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))\b(extends|implements)\b(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"storage.modifier.ts"}},end:/(?=\{)/dgv,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:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}*\??\.\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)*\p{space}*)/dgv},{captures:{1:{name:"entity.other.inherited-class.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{include:"#expressionPunctuations"}]},comment:{patterns:[{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.ts"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.documentation.ts",patterns:[{include:"#docblock"}]},{begin:/(\/\*)(?:\p{space}*((@)internal)(?=\p{space}|(\*\/)))?/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.ts"},2:{name:"storage.type.internaldeclaration.ts"},3:{name:"punctuation.decorator.internaldeclaration.ts"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.ts"}},name:"comment.block.ts"},{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,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:/(?=(?=\n?$))/dgv}]},"control-statement":{patterns:[{include:"#switch-statement"},{include:"#for-loop"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(catch|finally|throw|try)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.trycatch.ts"},{captures:{1:{name:"keyword.control.loop.ts"},2:{name:"entity.name.label.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|goto)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(break|continue|do|goto|while)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.loop.ts"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(return)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.control.flow.ts"}},end:/(?=[\;\}]|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#expression"}]},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default|switch)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.switch.ts"},{include:"#if-statement"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(else|if)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.conditional.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(with)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.with.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(package)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(debugger)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.other.debugger.ts"}]},"decl-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(declare|export)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"}]},decorator:{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))@/dgv,beginCaptures:{0:{name:"punctuation.decorator.ts"}},end:/(?=\p{space})/dgv,name:"meta.decorator.ts",patterns:[{include:"#expression"}]},"destructuring-const":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.array-binding-pattern-variable.ts",patterns:[{include:"#array-binding-pattern-const"},{include:"#type-annotation"},{include:"#comment"}]}]},"destructuring-parameter":{patterns:[{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},name:"meta.parameter.object-binding-pattern.ts",patterns:[{include:"#parameter-object-binding-element"}]},{begin:/(?<!=|:)\p{space}*(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,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:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable":{patterns:[{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\{)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,name:"meta.object-binding-pattern-variable.ts",patterns:[{include:"#object-binding-pattern"},{include:"#type-annotation"},{include:"#comment"}]},{begin:/(?<!=|:|^of|[^\._\$\p{Alpha}\p{Nd}]of|^in|[^\._\$\p{Alpha}\p{Nd}]in)\p{space}*(?=\[)/dgv,end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,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:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},"destructuring-variable-rest-const":{captures:{1:{name:"keyword.operator.rest.ts"},2:{name:"meta.definition.variable.ts variable.other.constant.ts"}},match:/(?:(\.\.\.)\p{space}*)?([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},directives:{begin:/^(\/\/\/)\p{space}*(?=<(reference|amd-dependency|amd-module)(\p{space}+(path|types|no-default-lib|lib|name|resolution-mode)\p{space}*=\p{space}*(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))+\p{space}*\/>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.ts"}},end:/(?=(?=\n?$))/dgv,name:"comment.line.triple-slash.directive.ts",patterns:[{begin:/(<)(reference|amd-dependency|amd-module)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.directive.ts"},2:{name:"entity.name.tag.directive.ts"}},end:/\/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.directive.ts"}},name:"meta.tag.ts",patterns:[{match:/path|types|no-default-lib|lib|name|resolution-mode/dgv,name:"entity.other.attribute-name.directive.ts"},{match:/=/dgv,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:/((@)(?:access|api))\p{space}+(private|protected|public)\b/dgv},{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)\p{space}+([^\@\p{space}\<\>\*\/](?:[^\@\<\>\*\/]|\*[^\/])*)(?:\p{space}*(<)([^\>\p{space}]+)(>))?/dgv},{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)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)\p{space}+(as)\p{space}+((?:[^\@\p{space}\*\/]|\*[^\/])+)/dgv},{begin:/((@)example)\p{space}+/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=@|\*\/)/dgv,name:"meta.example.jsdoc",patterns:[{match:/^\p{space}\*\p{space}+/dgv},{begin:/(<)caption(>)/dgvy,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(>)|(?=\*\/)/dgv,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:/[^\p{space}\@\*](?:[^\*]|\*[^\/])*/dgv}]},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"constant.language.symbol-type.jsdoc"}},match:/((@)kind)\p{space}+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\b/dgv},{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)\p{space}+(?:((?=https?:\/\/)(?:[^\p{space}\*]|\*[^\/])+)|((?!https?:\/\/|(?:\[[^\[\]]*\])?\{@(?:link|linkcode|linkplain|tutorial)\b)(?:[^\@\p{space}\*\/]|\*[^\/])+))/dgv},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"},3:{name:"variable.other.jsdoc"}},match:/((@)template)\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*(?:\p{space}*,\p{space}*[A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)*)/dgv},{begin:/((@)template)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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))\p{space}+([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv},{begin:/((@)typedef)\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/(?:[^\@\p{space}\*\/]|\*[^\/])+/dgv,name:"entity.name.type.instance.jsdoc"}]},{begin:/((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,patterns:[{include:"#jsdoctype"},{match:/([A-Za-z_\$][\p{L}\p{M}\p{N}\p{Pc}\$\.\[\]]*)/dgv,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:new k(`(\\[)\\p{space}*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+(?:(?:\\[\\])?\\.[\\p{L}\\p{M}\\p{N}\\p{Pc}\\$]+)*(?:\\p{space}*(=)\\p{space}*((?:(?=("(?:\\*(?!/)|\\\\(?!")|[^\\*\\\\])*?"|'(?:\\*(?!/)|\\\\(?!')|[^\\*\\\\])*?'|\\[(?:\\*(?!/)|[^\\*])*?\\]|(?:\\*(?!/)|\\p{space}(?!\\p{space}*\\])|\\[[^\\n]*?(?:\\]|(?=\\*/))|[^\\*\\p{space}\\[\\]])*))\\4)*))?\\p{space}*(?:(\\])((?:[^\\*\\p{space}]|\\*[^\\p{space}\\/])+)?|(?=\\*/))`,"dgv",{hiddenCaptures:[4]}),name:"variable.other.jsdoc"}]},{begin:/((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\p{space}+(?=\{)/dgv,beginCaptures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},end:/(?=\p{space}|\*\/|[^\{\}\[\]A-Za-z_\$])/dgv,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))\p{space}+((?:[^\{\}\@\p{space}\*]|\*[^\/])+)/dgv},{begin:/((@)(?:default(?:value)?|license|version))\p{space}+(([''"]))/dgv,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)|(?=(?=\n?$)|\*\/)()()/dgv,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))\p{space}+([^\p{space}\*]+)/dgv},{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/dgv,name:"storage.type.class.jsdoc"},{include:"#inline-tags"},{captures:{1:{name:"storage.type.class.jsdoc"},2:{name:"punctuation.definition.block.tag.jsdoc"}},match:/((@)[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}+)/dgv}]},"enum-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:\b(const)\p{space}+)?\b(enum)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,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:/(?<=\})/dgv,name:"meta.enum.declaration.ts",patterns:[{include:"#comment"},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{0:{name:"variable.other.enummember.ts"}},end:/(?=,|\}|(?=\n?$))/dgv,patterns:[{include:"#comment"},{include:"#variable-initializer"}]},{begin:/(?=(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\])))/dgv,end:/(?=,|\}|(?=\n?$))/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)\p{space}+(as)\p{space}+(namespace)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?(?:\p{space}*(=)|\p{space}+(default)(?=\p{space}+))/dgv,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:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.export.default.ts",patterns:[{include:"#interface-declaration"},{include:"#expression"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(export)(?:\p{space}+(type))?\b(?!(\$)|(\p{space}*:))((?=\p{space}*[\{\*])|((?=\p{space}*[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*(\p{space}|,))(?!\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)))/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"keyword.control.type.ts"}},end:/(?=(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{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:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)(?=\p{space}*[\:\,]|(?=\n?$))/dgv},{include:"#type-annotation"},{include:"#variable-initializer"},{match:/,/dgv,name:"punctuation.separator.parameter.ts"},{include:"#identifiers"},{include:"#expressionPunctuations"}]},"expression-operators":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(await)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.control.flow.ts"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?=\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*\*)/dgv,beginCaptures:{1:{name:"keyword.control.flow.ts"}},end:/\*/dgv,endCaptures:{0:{name:"keyword.generator.asterisk.ts"}},patterns:[{include:"#comment"}]},{captures:{1:{name:"keyword.control.flow.ts"},2:{name:"keyword.generator.asterisk.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(yield)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}*(\*))?/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))delete(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.delete.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))in(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.in.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))of(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?!\()/dgv,name:"keyword.operator.expression.of.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.instanceof.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.new.ts"},{include:"#typeof-operator"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))void(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.void.ts"},{captures:{1:{name:"keyword.control.as.ts"},2:{name:"storage.modifier.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*((?=\n?$)|[\;\,\:\}\)\]]))/dgv},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.ts"},2:{name:"keyword.control.satisfies.ts"}},end:/(?=^|[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisfies)\p{space}+)|(\p{space}+<))/dgv,patterns:[{include:"#type"}]},{match:/\.\.\./dgv,name:"keyword.operator.spread.ts"},{match:/\*=|(?<!\()\/=|%=|\+=|-=/dgv,name:"keyword.operator.assignment.compound.ts"},{match:/&=|\^=|<<=|>>=|>>>=|\|=/dgv,name:"keyword.operator.assignment.compound.bitwise.ts"},{match:/<<|>>>|>>/dgv,name:"keyword.operator.bitwise.shift.ts"},{match:/===|!==|==|!=/dgv,name:"keyword.operator.comparison.ts"},{match:/<=|>=|<>|<|>/dgv,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:/(?<=[_\$\p{Alpha}\p{Nd}])(!)\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv},{match:/!|&&|\|\||\?\?/dgv,name:"keyword.operator.logical.ts"},{match:/&|~|\^|\|/dgv,name:"keyword.operator.bitwise.ts"},{match:/=/dgv,name:"keyword.operator.assignment.ts"},{match:/--/dgv,name:"keyword.operator.decrement.ts"},{match:/\+\+/dgv,name:"keyword.operator.increment.ts"},{match:/%|\*|\/|-|\+/dgv,name:"keyword.operator.arithmetic.ts"},{begin:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)+(?:(\/=)|(\/)(?![\/\*])))/dgv,end:/(?:(\/=)|(\/)(?!\*([^\*]|(\*[^\/]))*\*\/))/dgv,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:/(?<=[_\$\p{Alpha}\p{Nd}\)\]])\p{space}*(?:(\/=)|(\/)(?![\/\*]))/dgv}]},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:/(?<!\()(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}+)?(?=\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|\}|(?=\n?$)))/dgv,beginCaptures:{1:{name:"storage.modifier.ts"}},end:/(?=\}|;|,|(?=\n?$)|(^(?!\p{space}*((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(?:(?:(\?)|(!))\p{space}*)?(=|:|;|,|(?=\n?$)))))|(?<=\})/dgv,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:new k("(#?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?:(\\?)|(!))?(?=\\p{space}*\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{match:/#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.property.ts variable.object.property.ts"},{match:/\?/dgv,name:"keyword.operator.optional.ts"},{match:/!/dgv,name:"keyword.operator.definiteassignment.ts"}]},"for-loop":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))for(?=((\p{space}+|(\p{space}*\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*))await)?\p{space}*(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)?(\())/dgv,beginCaptures:{0:{name:"keyword.control.loop.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#comment"},{match:/await/dgv,name:"keyword.control.loop.ts"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,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:/\*/dgv,name:"keyword.generator.asterisk.ts"}]},"function-call":{patterns:[{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,end:/(?<=\))(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=\p{space}*(?:(\?\.\p{space}*)|(!))?((<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?\())/dgv,name:"meta.function-call.ts",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"},{include:"#paren-expression"}]},{begin:/(?=(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,end:/(?<=>)(?!(((([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))|(?<=[\)]))(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(\p{space}*\??\.\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))*)|(\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*[\{\[\(]\p{space}*(?=\n?$)))/dgv,name:"meta.function-call.ts",patterns:[{include:"#function-call-target"}]},{include:"#comment"},{include:"#function-call-optionals"},{include:"#type-arguments"}]}]},"function-call-optionals":{patterns:[{match:/\?\./dgv,name:"meta.function-call.ts punctuation.accessor.optional.ts"},{match:/!/dgv,name:"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{patterns:[{include:"#support-function-call-identifiers"},{match:/(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.ts"}]},"function-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,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:/(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|(?<=\})/dgv,name:"meta.function.ts",patterns:[{include:"#function-name"},{include:"#function-body"}]},"function-expression":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(async)\p{space}+)?(function\b)(?:\p{space}*(\*))?(?:(?:\p{space}+|(?<=\*))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))?\p{space}*/dgv,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:/(?=;)|(?<=\})/dgv,name:"meta.function.expression.ts",patterns:[{include:"#function-name"},{include:"#single-line-comment-consuming-line-ending"},{include:"#function-body"}]},"function-name":{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.function.ts entity.name.function.ts"},"function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.parameters.begin.ts"}},end:/\)/dgv,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:/,/dgv,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:new k("(?:(?:(\\.)|(\\?\\.(?!\\p{space}*[\\p{Nd}])))\\p{space}*)?([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{lazyCompile:!0})},{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"variable.other.constant.property.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv},{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"variable.other.property.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{match:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])/dgv,name:"variable.other.constant.ts"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.readwrite.ts"}]},"if-statement":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bif\p{space}*(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))\p{space}*(?!\{))/dgv,end:/(?=;|(?=\n?$)|\})/dgv,patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(if)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.conditional.ts"},2:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression"}]},{begin:/(?<=\))\p{space}*\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(\/)([dgimsuvy]*)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type)(?!\p{space}+from))?(?!\p{space}*[\:\(])(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(?<!^import|[^\._\$\p{Alpha}\p{Nd}]import)(?=;|(?=\n?$)|^)/dgv,name:"meta.import.ts",patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#string"},{begin:/(?<=^import|[^\._\$\p{Alpha}\p{Nd}]import)(?!\p{space}*["'])/dgv,end:/\bfrom\b/dgv,endCaptures:{0:{name:"keyword.control.from.ts"}},patterns:[{include:"#import-export-declaration"}]},{include:"#import-export-declaration"}]},"import-equals-declaration":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(require)\p{space}*(\()/dgv,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:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},name:"meta.import-equals.external.ts",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(import)(?:\p{space}+(type))?\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(=)\p{space}*(?!require\b)/dgv,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:/(?=;|(?=\n?$)|^)/dgv,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:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.other.readwrite.ts"}]}]},"import-export-assert-clause":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(with)|(assert))\p{space}*(\{)/dgv,beginCaptures:{1:{name:"keyword.control.with.ts"},2:{name:"keyword.control.assert.ts"},3:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},patterns:[{include:"#comment"},{include:"#string"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object-literal.key.ts"},{match:/:/dgv,name:"punctuation.separator.key-value.ts"}]},"import-export-block":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\btype)\p{space}+)?(?:(\bdefault)|(\*)|(\b[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))\p{space}+(as)\p{space}+(?:(default(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv},{include:"#punctuation-comma"},{match:/\*/dgv,name:"constant.language.import-export-all.ts"},{match:/\b(default)\b/dgv,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:/(?:(\btype)\p{space}+)?(?:([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)))/dgv}]},"import-export-declaration":{patterns:[{include:"#comment"},{include:"#string"},{include:"#import-export-block"},{match:/\bfrom\b/dgv,name:"keyword.control.from.ts"},{include:"#import-export-assert-clause"},{include:"#import-export-clause"}]},"indexer-declaration":{begin:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=:)/dgv,beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"meta.brace.square.ts"},3:{name:"variable.parameter.ts"}},end:/(\])\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([\+\-])?(readonly)\p{space}*)?\p{space}*(\[)\p{space}*([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}+(in)\p{space}+/dgv,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:/(\])([\+\-])?\p{space}*(\?\p{space}*)?|(?=\n?$)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+/dgv},{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))/dgv,name:"constant.other.description.jsdoc"},{begin:/(\{)((@)(?:link(?:code|plain)?|tutorial))\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"},2:{name:"storage.type.class.jsdoc"},3:{name:"punctuation.definition.inline.tag.jsdoc"}},end:/\}|(?=\*\/)/dgv,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:/((?=https?:\/\/)(?:[^\|\}\p{space}\*]|\*[\/])+)(\|)?/dgvy},{captures:{1:{name:"variable.other.description.jsdoc"},2:{name:"punctuation.separator.pipe.jsdoc"}},match:/((?:[^\{\}\@\p{space}\|\*]|\*[^\/])+)(\|)?/dgvy}]}]},"instanceof-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(instanceof)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.expression.instanceof.ts"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|(===|!==|==|!=)|(([\&\~\^\|]\p{space}*)?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}+instanceof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,patterns:[{include:"#type"}]},"interface-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(?:(abstract)\p{space}+)?\b(interface)\b(?=\p{space}+|\/[\/\*])/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.modifier.ts"},4:{name:"storage.type.interface.ts"}},end:/(?<=\})/dgv,name:"meta.interface.ts",patterns:[{include:"#comment"},{include:"#class-or-interface-heritage"},{captures:{0:{name:"entity.name.type.interface.ts"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv},{include:"#type-parameters"},{include:"#class-or-interface-body"}]},jsdoctype:{patterns:[{begin:/(\{)/dgvy,beginCaptures:{0:{name:"entity.name.type.instance.jsdoc"},1:{name:"punctuation.definition.bracket.curly.begin.jsdoc"}},contentName:"entity.name.type.instance.jsdoc",end:/((\}))\p{space}*|(?=\*\/)/dgv,endCaptures:{1:{name:"entity.name.type.instance.jsdoc"},2:{name:"punctuation.definition.bracket.curly.end.jsdoc"}},patterns:[{include:"#brackets"}]}]},label:{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)(?=\p{space}*\{)/dgv,beginCaptures:{1:{name:"entity.name.label.ts"},2:{name:"punctuation.separator.label.ts"}},end:/(?<=\})/dgv,patterns:[{include:"#decl-block"}]},{captures:{1:{name:"entity.name.label.ts"},2:{name:"punctuation.separator.label.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(:)/dgv}]},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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?\p{space}*\b(constructor)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,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:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\p{space}*\b(new)\b(?!:)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))|(?:(\*)\p{space}*)?)(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,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:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(override)\p{space}+)?(?:\b(public|private|protected)\p{space}+)?(?:\b(abstract)\p{space}+)?(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,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:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"}]}]},"method-declaration-name":{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??)\p{space}*[\(\<])/dgv,end:/(?=\(|<)/dgv,patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"meta.definition.method.ts entity.name.function.ts"},{match:/\?/dgv,name:"keyword.operator.optional.ts"}]},"namespace-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(namespace|module)\p{space}+(?=[_\$\p{Alpha}"'\`])/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.namespace.ts"}},end:/(?<=\})|(?=;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.namespace.declaration.ts",patterns:[{include:"#comment"},{include:"#string"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.type.module.ts"},{include:"#punctuation-accessor"},{include:"#decl-block"}]},"new-expr":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.new.ts"}},end:/(?<=\))|(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))new(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))function((\p{space}+[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|(\p{space}*[\(]))))/dgv,name:"new.expr.ts",patterns:[{include:"#expression"}]},"null-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))null(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.null.ts"},"numeric-literal":{patterns:[{captures:{1:{name:"storage.type.numeric.bigint.ts"}},match:/\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.hex.ts"},{captures:{1:{name:"storage.type.numeric.bigint.ts"}},match:/\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$)/dgv,name:"constant.numeric.binary.ts"},{captures:{1:{name:"storage.type.numeric.bigint.ts"}},match:/\b(?<!\$)0(?:o|O)?[0-7][0-7_]*(n)?\b(?!\$)/dgv,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(?!\.))(?!\$)/dgv}]},"numericConstant-literal":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))NaN(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.nan.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Infinity(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.infinity.ts"}]},"object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(:)/dgv,endCaptures:{0:{name:"punctuation.destructuring.ts"}},patterns:[{include:"#string"},{include:"#array-literal"},{include:"#numeric-literal"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"variable.object.property.ts"}]},"object-binding-pattern":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},patterns:[{include:"#object-binding-element"}]},"object-binding-pattern-const":{begin:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},patterns:[{include:"#object-binding-element-const"}]},"object-identifiers":{patterns:[{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?=\p{space}*\??\.\p{space}*prototype\b(?!\$))/dgv,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:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(#?[\p{Upper}][_\$\p{Nd}\p{Upper}]*)|(#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv},{captures:{1:{name:"variable.other.constant.object.ts"},2:{name:"variable.other.object.ts"}},match:/(?:([\p{Upper}][_\$\p{Nd}\p{Upper}]*)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?=\p{space}*\??\.\p{space}*#?[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv}]},"object-literal":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"meta.objectliteral.ts",patterns:[{include:"#object-member"}]},"object-literal-method-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"storage.type.property.ts"},3:{name:"keyword.generator.asterisk.ts"}},end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#method-declaration-name"},{include:"#function-body"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:\b(async)\p{space}+)?(?:\b(get|set)\p{space}+)?(?:(\*)\p{space}*)?(?=\p{space}*(((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(\??))\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?[\(])/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"storage.type.property.ts"},3:{name:"keyword.generator.asterisk.ts"}},end:/(?=\(|<)/dgv,patterns:[{include:"#method-declaration-name"}]}]},"object-member":{patterns:[{include:"#comment"},{include:"#object-literal-method-declaration"},{begin:/(?=\[)/dgv,end:/(?=:)|((?<=[\]])(?=\p{space}*[\(\<]))/dgv,name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#array-literal"}]},{begin:/(?=['"\`])/dgv,end:/(?=:)|((?<=['"\`])(?=((\p{space}*[\(\<\,\}])|(\p{space}+(as|satisifies)\p{space}+))))/dgv,name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#string"}]},{begin:/(?=(\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$)))/dgv,end:/(?=:)|(?=\p{space}*([\(\<\,\}])|(\p{space}+as|satisifies\p{space}+))/dgv,name:"meta.object.member.ts meta.object-literal.key.ts",patterns:[{include:"#comment"},{include:"#numeric-literal"}]},{begin:/(?<=[\]'"\`])(?=\p{space}*[\(\<])/dgv,end:/(?=\}|;|,)|(?<=\})/dgv,name:"meta.method.declaration.ts",patterns:[{include:"#function-body"}]},{captures:{0:{name:"meta.object-literal.key.ts"},1:{name:"constant.numeric.decimal.ts"}},match:/(?![_\$\p{Alpha}])([\p{Nd}]+)\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ts"},{captures:{0:{name:"meta.object-literal.key.ts"},1:{name:"entity.name.function.ts"}},match:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)\\p{space}*(?=(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*:(\\p{space}*/\\*([^\\*]|(\\*[^\\/]))*\\*/)*\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))","dgv",{lazyCompile:!0}),name:"meta.object.member.ts"},{captures:{0:{name:"meta.object-literal.key.ts"}},match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*(?=(\/\*([^\*]|(\*[^\/]))*\*\/\p{space}*)*:)/dgv,name:"meta.object.member.ts"},{begin:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.ts"}},end:/(?=,|\})/dgv,name:"meta.object.member.ts",patterns:[{include:"#expression"}]},{captures:{1:{name:"variable.other.readwrite.ts"}},match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ts"},{captures:{1:{name:"keyword.control.as.ts"},2:{name:"storage.modifier.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as)\p{space}+(const)(?=\p{space}*([\,\}]|(?=\n?$)))/dgv,name:"meta.object.member.ts"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(as)|(satisfies))\p{space}+/dgv,beginCaptures:{1:{name:"keyword.control.as.ts"},2:{name:"keyword.control.satisfies.ts"}},end:/(?=[\;\)\,\}\]\:\?\-\+\>]|\|\||&&|!==|(?=\n?$)|^|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(as|satisifies)\p{space}+))/dgv,name:"meta.object.member.ts",patterns:[{include:"#type"}]},{begin:/(?=[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*=)/dgv,end:/(?=,|\}|(?=\n?$)|\/\/|\/\*)/dgv,name:"meta.object.member.ts",patterns:[{include:"#expression"}]},{begin:/:/dgv,beginCaptures:{0:{name:"meta.object-literal.key.ts punctuation.separator.key-value.ts"}},end:/(?=,|\})/dgv,name:"meta.object.member.ts",patterns:[{begin:/(?<=:)\p{space}*(async)?(?=\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"},2:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]},{begin:/(?<=:)\p{space}*(async)?\p{space}*(?=<\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=>)/dgv,patterns:[{include:"#type-parameters"}]},{begin:/(?<=>)\p{space}*(\()(?=\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"meta.brace.round.ts"}},end:/\)/dgv,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:/(?:(\.\.\.)\p{space}*)?(\[)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.array.ts"}},end:/\]/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|protected|private|readonly)\p{space}+(?=(override|public|protected|private|readonly)\p{space}+)/dgv},{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:new k("(?:(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(override|public|private|protected|readonly)\\p{space}+)?(?:(\\.\\.\\.)\\p{space}*)?(?<!=|:)(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))(?:(this)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*))(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.))\\p{space}*(\\??)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0})},{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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(override|public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*(\??)/dgv}]},"parameter-object-binding-element":{patterns:[{include:"#comment"},{begin:/(?=((\b(?<!\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:b|B)[01][01_]*(n)?\b(?!\$))|(\b(?<!\$)0(?:o|O)?[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(?!\.))(?!\$))|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`)|(\[([^\[\]]|\[[^\[\]]*\])+\]))\p{space}*(:))/dgv,end:/(?=,|\})/dgv,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:/(?:(\.\.\.)\p{space}*)?(\{)/dgv,beginCaptures:{1:{name:"keyword.operator.rest.ts"},2:{name:"punctuation.definition.binding-pattern.object.ts"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.binding-pattern.object.ts"}},patterns:[{include:"#parameter-object-binding-element"}]},"parameter-type-annotation":{patterns:[{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?=[\,\)])|(?==[^\>])/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]}]},"paren-expression":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression"}]},"paren-expression-possibly-arrow":{patterns:[{begin:/(?<=[\(\=\,])\p{space}*(async)?(?=\p{space}*((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\(\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{begin:/(?<=[\(\=\,]|=>|^return|[^\._\$\p{Alpha}\p{Nd}]return)\p{space}*(async)?(?=\p{space}*((((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*))?\()|(<)|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)))\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"storage.modifier.async.ts"}},end:/(?<=\))/dgv,patterns:[{include:"#paren-expression-possibly-arrow-with-typeparameters"}]},{include:"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{patterns:[{include:"#type-parameters"},{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},patterns:[{include:"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{begin:/(?<=\)|^)\p{space}*(:)(?=\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*=>)/dgv,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:/(?==>|\{|(^\p{space}*(export|function|class|interface|let|var|\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b|const|import|enum|namespace|module|type|abstract|declare)\p{space}+))/dgv,patterns:[{include:"#arrow-return-type-body"}]},"property-accessor":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(accessor|get|set)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.type.property.ts"},"punctuation-accessor":{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.ts"},"punctuation-semicolon":{match:/;/dgv,name:"punctuation.terminator.statement.ts"},"qstring-double":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(")|([^\\\n](?=\n?$))/dgv,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:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(')|([^\\\n](?=\n?$))/dgv,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|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case|=>|&&|\|\||\*\/)\p{space}*(\/)(?![\/\*])(?=(?:[^\/\\\[\(\)]|\\[^\n]|\[([^\]\\]|\\[^\n])+\]|\(([^\)\\]|\\[^\n])+\))+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.ts"}},end:/(\/)([dgimsuvy]*)/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.ts"},2:{name:"keyword.other.ts"}},name:"string.regexp.ts",patterns:[{include:"#regexp"}]},{begin:/((?<![_\$\p{Alpha}\p{Nd}\)\]]|\+\+|--|\}|\*\/)|((?<=^return|[^\._\$\p{Alpha}\p{Nd}]return|^case|[^\._\$\p{Alpha}\p{Nd}]case))\p{space}*)\/(?![\/\*])(?=(?:[^\/\\\[]|\\[^\n]|\[([^\]\\]|\\[^\n])*\])+\/([dgimsuvy]+|(?![\/\*])|(?=\/\*))(?!\p{space}*[a-zA-Z0-9_\$]))/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.ts"}},end:/(\/)([dgimsuvy]*)/dgv,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:/\\[wWsSdDtrnvf]|\./dgv,name:"constant.other.character-class.regexp"},{match:/\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})/dgv,name:"constant.character.numeric.regexp"},{match:/\\c[A-Z]/dgv,name:"constant.character.control.regexp"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:/\\[bB]|\^|\$/dgv,name:"keyword.control.anchor.regexp"},{captures:{0:{name:"keyword.other.back-reference.regexp"},1:{name:"variable.other.regexp"}},match:/\\[1-9]\p{Nd}*|\\k<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>/dgv},{match:/[\?\+\*]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{begin:/(\()((\?=)|(\?!)|(\?<=)|(\?<!))/dgv,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:/(\))/dgv,endCaptures:{1:{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:/\((?:(\?:)|\?<([a-zA-Z_\$][\p{L}\p{M}\p{N}\p{Pc}\$]*)>)?/dgv,beginCaptures:{0:{name:"punctuation.definition.group.regexp"},1:{name:"punctuation.definition.group.no-capture.regexp"},2:{name:"variable.other.regexp"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:/(\[)(\^)?/dgv,beginCaptures:{1:{name:"punctuation.definition.character-class.regexp"},2:{name:"keyword.operator.negation.regexp"}},end:/(\])/dgv,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:/(?:[^\n]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\c[A-Z])|(\\[^\n]))/dgv,name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"return-type":{patterns:[{begin:/(?<=\))\p{space}*(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])(?=(?=\n?$)|^|[\{\}\;\,]|\/\/)/dgv,name:"meta.return.type.ts",patterns:[{include:"#return-type-core"}]},{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])((?=[\{\}\;\,]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.return.type.ts",patterns:[{include:"#return-type-core"}]}]},"return-type-core":{patterns:[{include:"#comment"},{begin:/(?<=[\:\|\&])(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{include:"#type-predicate-operator"},{include:"#type"}]},shebang:{captures:{1:{name:"punctuation.definition.comment.ts"}},match:/^(#!)[^\n]*(?=(?=\n?$))/dgv,name:"comment.line.shebang.ts"},"single-line-comment-consuming-line-ending":{begin:/(^[ \t]+)?((\/\/)(?:\p{space}*((@)internal)(?=\p{space}|(?=\n?$)))?)/dgv,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:/(?=^)/dgv},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[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]+\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|[^\n]|(?=\n?$))/dgv,name:"constant.character.escape.ts"},"super-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))super\b(?!\$)/dgv,name:"variable.language.super.ts"},"support-function-call-identifiers":{patterns:[{include:"#literal"},{include:"#support-objects"},{include:"#object-identifiers"},{include:"#punctuation-accessor"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*[\(]\p{space}*["'\`])/dgv,name:"keyword.operator.expression.import.ts"}]},"support-objects":{patterns:[{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(arguments)\b(?!\$)/dgv,name:"variable.language.arguments.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(Promise)\b(?!\$)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(import)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(meta)\b(?!\$)/dgv},{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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(new)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(target)\b(?!\$)/dgv},{captures:{1:{name:"punctuation.accessor.ts"},2:{name:"punctuation.accessor.optional.ts"},3:{name:"support.variable.property.ts"},4:{name:"support.constant.ts"}},match:/(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(?:(constructor|length|prototype|__proto__)\b(?!\$|\p{space}*(<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\b(?!\$))/dgv},{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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(exports)|(module)(?:(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))(exports|id|filename|loaded|parent|children))?)\b(?!\$)/dgv}]},"switch-statement":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?=\bswitch\p{space}*\()/dgv,end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.block.ts"}},name:"switch-statement.expr.ts",patterns:[{include:"#comment"},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(switch)\p{space}*(\()/dgv,beginCaptures:{1:{name:"keyword.control.switch.ts"},2:{name:"meta.brace.round.ts"}},end:/\)/dgv,endCaptures:{0:{name:"meta.brace.round.ts"}},name:"switch-expression.expr.ts",patterns:[{include:"#expression"}]},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/(?=\})/dgv,name:"switch-block.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(case|default(?=:))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.control.switch.ts"}},end:/(?=:)/dgv,name:"case-clause.expr.ts",patterns:[{include:"#expression"}]},{begin:/(:)\p{space}*(\{)/dgv,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:/\}/dgv,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:/(:)/dgv},{include:"#statements"}]}]},template:{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,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:/`/dgv,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:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,end:/(?=`)/dgv,patterns:[{begin:/(?=(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*\p{space}*\??\.\p{space}*)*|(\??\.\p{space}*)?)([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))/dgv,end:/(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)?`)/dgv,patterns:[{include:"#support-function-call-identifiers"},{match:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,name:"entity.name.function.tagged-template.ts"}]},{include:"#type-arguments"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?\p{space}*(?=(<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>|<\p{space}*(((keyof|infer|typeof|readonly)\p{space}+)|(([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])|('([^'\\]|\\[^\n])*')|("([^"\\]|\\[^\n])*")|(`([^\`\\]|\\[^\n])*`))(?=\p{space}*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^\<\>\(]|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\p{space}*)`)/dgv,beginCaptures:{1:{name:"entity.name.function.tagged-template.ts"}},end:/(?=`)/dgv,patterns:[{include:"#type-arguments"}]}]},"template-substitution-element":{begin:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#expression"}]},"template-type":{patterns:[{include:"#template-call"},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)?(`)/dgv,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:/`/dgv,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:/\$\{/dgv,beginCaptures:{0:{name:"punctuation.definition.template-expression.begin.ts"}},contentName:"meta.embedded.line.ts",end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.template-expression.end.ts"}},name:"meta.template.expression.ts",patterns:[{include:"#type"}]},"ternary-expression":{begin:/(?!\?\.\p{space}*[^\p{Nd}])(\?)(?!\?)/dgv,beginCaptures:{1:{name:"keyword.operator.ternary.ts"}},end:/\p{space}*(:)/dgv,endCaptures:{1:{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#expression"}]},"this-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))this\b(?!\$)/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(readonly)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv},{include:"#type-name"}]},"type-alias-declaration":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(type)\b\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*/dgv,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:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,name:"meta.type.declaration.ts",patterns:[{include:"#comment"},{include:"#type-parameters"},{begin:/(=)\p{space}*(intrinsic)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"},2:{name:"keyword.control.intrinsic.ts"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]},{begin:/(=)\p{space}*/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"}},end:/(?=\}|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type"}]}]},"type-annotation":{patterns:[{begin:/(:)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])(?!\p{space}*[\|\&]\p{space}+)((?=^|[\,\)\;\}\]]|\/\/)|(?==[^\>])|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]},{begin:/(:)/dgv,beginCaptures:{1:{name:"keyword.operator.type.annotation.ts"}},end:/(?<![\:\|\&])((?=[\,\)\;\}\]]|\/\/)|(?==[^\>])|(?=^\p{space}*(?=\n?$))|((?<=[\}\>\]\)]|[_\$\p{Alpha}])\p{space}*(?=\{)))/dgv,name:"meta.type.annotation.ts",patterns:[{include:"#type"}]}]},"type-arguments":{begin:/</dgv,beginCaptures:{0:{name:"punctuation.definition.typeparameters.begin.ts"}},end:/>/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(_)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"type-builtin-literals":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(this|true|false|undefined|null|object)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.builtin.ts"},"type-conditional":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends)\p{space}+/dgv,beginCaptures:{1:{name:"storage.modifier.ts"}},end:/(?<=:)/dgv,patterns:[{begin:/\?/dgv,beginCaptures:{0:{name:"keyword.operator.ternary.ts"}},end:/:/dgv,endCaptures:{0:{name:"keyword.operator.ternary.ts"}},patterns:[{include:"#type"}]},{include:"#type"}]}]},"type-fn-type-parameters":{patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b(?=\p{space}*<)/dgv,beginCaptures:{1:{name:"meta.type.constructor.ts storage.modifier.ts"},2:{name:"meta.type.constructor.ts keyword.control.new.ts"}},end:/(?<=>)/dgv,patterns:[{include:"#comment"},{include:"#type-parameters"}]},{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(abstract)\p{space}+)?(new)\b\p{space}*(?=\()/dgv,beginCaptures:{1:{name:"storage.modifier.ts"},2:{name:"keyword.control.new.ts"}},end:/(?<=\))/dgv,name:"meta.type.constructor.ts",patterns:[{include:"#function-parameters"}]},{begin:/((?=[\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>))))))/dgv,end:/(?<=\))/dgv,name:"meta.type.function.ts",patterns:[{include:"#function-parameters"}]}]},"type-function-return-type":{patterns:[{begin:/(=>)(?=\p{space}*\P{space})/dgv,beginCaptures:{1:{name:"storage.type.function.arrow.ts"}},end:/(?<!=>)(?<![\|\&])(?=[\,\]\)\{\}\=\;\>\:\?]|\/\/|(?=\n?$))/dgv,name:"meta.type.function.return.ts",patterns:[{include:"#type-function-return-type-core"}]},{begin:/=>/dgv,beginCaptures:{0:{name:"storage.type.function.arrow.ts"}},end:/(?<!=>)(?<![\|\&])((?=[\,\]\)\{\}\=\;\:\?\>]|\/\/|^\p{space}*(?=\n?$))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,name:"meta.type.function.return.ts",patterns:[{include:"#type-function-return-type-core"}]}]},"type-function-return-type-core":{patterns:[{include:"#comment"},{begin:/(?<==>)(?=\p{space}*\{)/dgv,end:/(?<=\})/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(infer)\p{space}+([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))(?:\p{space}+(extends)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))?/dgv,name:"meta.type.infer.ts"}]},"type-name":{patterns:[{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))\p{space}*(<)/dgv,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:/(>)/dgv,endCaptures:{1:{name:"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},patterns:[{include:"#type-arguments-body"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(<)/dgv,beginCaptures:{1:{name:"entity.name.type.ts"},2:{name:"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},contentName:"meta.type.parameters.ts",end:/(>)/dgv,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:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(?:(\.)|(\?\.(?!\p{space}*[\p{Nd}])))/dgv},{match:/[_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.ts"}]},"type-object":{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.block.ts"}},end:/\}/dgv,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:/\.\.\./dgv,beginCaptures:{0:{name:"keyword.operator.spread.ts"}},end:/(?=\}|;|,|(?=\n?$))|(?<=\})/dgv,patterns:[{include:"#type"}]},{include:"#punctuation-comma"},{include:"#punctuation-semicolon"},{include:"#type"}]},"type-operators":{patterns:[{include:"#typeof-operator"},{include:"#type-infer"},{begin:/([\&\|])(?=\p{space}*\{)/dgv,beginCaptures:{0:{name:"keyword.operator.type.ts"}},end:/(?<=\})/dgv,patterns:[{include:"#type-object"}]},{begin:/[\&\|]/dgv,beginCaptures:{0:{name:"keyword.operator.type.ts"}},end:/(?=\P{space})/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))keyof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.keyof.ts"},{match:/(\?|:)/dgv,name:"keyword.operator.ternary.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))import(?=\p{space}*\()/dgv,name:"keyword.operator.expression.import.ts"}]},"type-parameters":{begin:/(<)/dgv,beginCaptures:{1:{name:"punctuation.definition.typeparameters.begin.ts"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.typeparameters.end.ts"}},name:"meta.type.parameters.ts",patterns:[{include:"#comment"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out|const)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},{include:"#type"},{include:"#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{begin:/\(/dgv,beginCaptures:{0:{name:"meta.brace.round.ts"}},end:/\)/dgv,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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=\p{space}*(:\p{space}*((<)|([\(]\p{space}*(([\)])|(\.\.\.)|([_\$\p{Alpha}\p{Nd}]+\p{space}*(([\:\,\?\=])|([\)]\p{space}*=>)))))))|(:\p{space}*(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))Function(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))|(:\p{space}*((<\p{space}*(?=\n?$))|((<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<]|<\p{space}*(((const\p{space}+)?[_\$\p{Alpha}])|(\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})|(\(([^\(\)]|(\(([^\(\)]|\([^\(\)]*\))*\)))*\))|(\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\]))([^\=\<\>]|=[^\<])*>)*>)*>\p{space}*)?[\(]\p{space}*((([\{\[]\p{space}*)?(?=\n?$))|((\{([^\{\}]|(\{([^\{\}]|\{[^\{\}]*\})*\}))*\})\p{space}*((:\p{space}*\{?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*)))|((\[([^\[\]]|(\[([^\[\]]|\[[^\[\]]*\])*\]))*\])\p{space}*((:\p{space}*\[?(?=\n?$))|((\p{space}*([^\<\>\(\)\{\}]|<([^\<\>]|<([^\<\>]|<[^\<\>]+>)+>)+>|\([^\(\)]+\)|\{[^\{\}]+\})+\p{space}*)?=\p{space}*))))))))/dgv},{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:/(?:(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(public|private|protected|readonly)\p{space}+)?(?:(\.\.\.)\p{space}*)?(?<!=|:)(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}*(\??)(?=:)/dgv},{include:"#type-annotation"},{match:/,/dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(asserts)\p{space}+)?(?!asserts)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))\p{space}(is)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{captures:{1:{name:"keyword.operator.type.asserts.ts"},2:{name:"variable.parameter.ts variable.language.this.ts"},3:{name:"variable.parameter.ts"}},match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(asserts)\p{space}+(?!is)(?:(this)|([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))asserts(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.type.asserts.ts"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))is(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"keyword.operator.expression.is.ts"}]},"type-primitive":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"support.type.primitive.ts"},"type-string":{patterns:[{include:"#qstring-single"},{include:"#qstring-double"},{include:"#template-type"}]},"type-tuple":{begin:/\[/dgv,beginCaptures:{0:{name:"meta.brace.square.ts"}},end:/\]/dgv,endCaptures:{0:{name:"meta.brace.square.ts"}},name:"meta.type.tuple.ts",patterns:[{match:/\.\.\./dgv,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:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)\p{space}*(\?)?\p{space}*(:)/dgv},{include:"#type"},{include:"#punctuation-comma"}]},"typeof-operator":{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))typeof(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,beginCaptures:{0:{name:"keyword.operator.expression.typeof.ts"}},end:/(?=[\,\)\;\}\]\=\>\:\&\|\{\?]|(extends\p{space}+)|(?=\n?$)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)/dgv,patterns:[{include:"#type-arguments"},{include:"#expression"}]},"undefined-literal":{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))undefined(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"constant.language.undefined.ts"},"var-expr":{patterns:[{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^let|[^\._\$\p{Alpha}\p{Nd}]let|^var|[^\._\$\p{Alpha}\p{Nd}]var)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(var|let)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?=\P{space})/dgv},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.ts"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-variable"},{include:"#var-single-variable"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=^|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^const|[^\._\$\p{Alpha}\p{Nd}]const)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(const(?!\p{space}+enum\b))(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?=\P{space})/dgv},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*(?=(?=\n?$)|\/\/)/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.ts"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,patterns:[{include:"#single-line-comment-consuming-line-ending"},{include:"#comment"},{include:"#destructuring-const"},{include:"#var-single-const"},{include:"#punctuation-comma"}]},{include:"#punctuation-comma"}]},{begin:/(?=(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?!(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.)))((?=;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b)|((?<!^using|[^\._\$\p{Alpha}\p{Nd}]using|^await\p{space}+using|[^\._\$\p{Alpha}\p{Nd}]await\p{space}+using)(?=\p{space}*(?=\n?$))))/dgv,name:"meta.var.expr.ts",patterns:[{begin:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\p{space}+)?(?:(\bdeclare)\p{space}+)?\b(\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b\b)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))\p{space}*/dgv,beginCaptures:{1:{name:"keyword.control.export.ts"},2:{name:"storage.modifier.ts"},3:{name:"storage.type.ts"}},end:/(?=\P{space})/dgv},{include:"#var-single-const"},{include:"#variable-initializer"},{include:"#comment"},{begin:/(,)\p{space}*((?!\P{space})|(?=\/\/))/dgv,beginCaptures:{1:{name:"punctuation.separator.comma.ts"}},end:/(?<!,)(((?==|;|\}|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|^\p{space}*(?=\n?$)))|((?<=\P{space})(?=\p{space}*(?=\n?$))))/dgv,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:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)/dgv,beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.constant.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]}]},"var-single-variable":{patterns:[{begin:new k("([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*)(!)?(?=\\p{space}*(=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>)))))|(:\\p{space}*((<)|([\\(]\\p{space}*(([\\)])|(\\.\\.\\.)|([_\\$\\p{Alpha}\\p{Nd}]+\\p{space}*(([\\:\\,\\?\\=])|([\\)]\\p{space}*=>)))))))|(:\\p{space}*(?<![_\\$\\p{Alpha}\\p{Nd}])(?:(?<=\\.\\.\\.)|(?<!\\.))Function(?![_\\$\\p{Alpha}\\p{Nd}])(?:(?=\\.\\.\\.)|(?!\\.)))|(:\\p{space}*((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))))))|(:\\p{space}*(=>|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(<[^\\<\\>]*>)|[^\\<\\>\\(\\)\\,\\=])+=\\p{space}*(((async\\p{space}+)?((function\\p{space}*[\\(\\<\\*])|(function\\p{space}+)|([_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*=>)))|((async\\p{space}*)?(((<\\p{space}*(?=\\n?$))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*((([\\{\\[]\\p{space}*)?(?=\\n?$))|((\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})\\p{space}*((:\\p{space}*\\{?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*)))|((\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])\\p{space}*((:\\p{space}*\\[?(?=\\n?$))|((\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+\\p{space}*)?=\\p{space}*))))))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?[\\(]\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([\\)]\\p{space}*:)|((\\.\\.\\.\\p{space}*)?[_\\$\\p{Alpha}][_\\$\\p{Alpha}\\p{Nd}]*\\p{space}*:)))|((<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<]|<\\p{space}*(((const\\p{space}+)?[_\\$\\p{Alpha}])|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\]))([^\\=\\<\\>]|=[^\\<])*>)*>)*>\\p{space}*)?\\(\\p{space}*(/\\*([^\\*]|(\\*[^\\/]))*\\*/\\p{space}*)*(([_\\$\\p{Alpha}]|(\\{([^\\{\\}]|(\\{([^\\{\\}]|\\{[^\\{\\}]*\\})*\\}))*\\})|(\\[([^\\[\\]]|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])*\\]))*\\])|(\\.\\.\\.\\p{space}*[_\\$\\p{Alpha}]))([^\\(\\)'\"\\`]|(\\(([^\\(\\)]|(\\(([^\\(\\)]|\\([^\\(\\)]*\\))*\\)))*\\))|('([^'\\\\]|\\\\[^\\n])*')|(\"([^\"\\\\]|\\\\[^\\n])*\")|(`([^\\`\\\\]|\\\\[^\\n])*`))*)?\\)(\\p{space}*:\\p{space}*([^\\<\\>\\(\\)\\{\\}]|<([^\\<\\>]|<([^\\<\\>]|<[^\\<\\>]+>)+>)+>|\\([^\\(\\)]+\\)|\\{[^\\{\\}]+\\})+)?\\p{space}*=>))))))","dgv",{lazyCompile:!0}),beginCaptures:{1:{name:"meta.definition.variable.ts entity.name.function.ts"},2:{name:"keyword.operator.definiteassignment.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([\p{Upper}][_\$\p{Nd}\p{Upper}]*)(?![_\$\p{Alpha}\p{Nd}])(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.constant.ts"},2:{name:"keyword.operator.definiteassignment.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,name:"meta.var-single-variable.expr.ts",patterns:[{include:"#var-single-variable-type-annotation"}]},{begin:/([_\$\p{Alpha}][_\$\p{Alpha}\p{Nd}]*)(!)?/dgv,beginCaptures:{1:{name:"meta.definition.variable.ts variable.other.readwrite.ts"},2:{name:"keyword.operator.definiteassignment.ts"}},end:/(?=(?=\n?$)|^|[\;\,\=\}]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+)|(;|^\p{space}*(?=\n?$)|^\p{space}*(?:abstract|async|\bawait\p{space}+\busing(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{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(?=\p{space}+(?!in\b|of\b(?!\p{space}*(?:of\b|=)))[_\$\p{Alpha}])\b|var|while)\b))/dgv,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:/(?<!=|!)(=)(?!=)(?=\p{space}*\P{space})(?!\p{space}*[^\n]*=>\p{space}*(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"}},end:/(?=(?=\n?$)|^|[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))/dgv,patterns:[{include:"#expression"}]},{begin:/(?<!=|!)(=)(?!=)/dgv,beginCaptures:{1:{name:"keyword.operator.assignment.ts"}},end:/(?=[\,\)\;\}\]]|((?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(of|in)\p{space}+))|(?=^\p{space}*(?=\n?$))|(?<![\|\&\+\-\*\/])(?<=\P{space})(?<!=)(?=\p{space}*(?=\n?$))/dgv,patterns:[{include:"#expression"}]}]}},scopeName:"source.ts",embeddedLangs:void 0,aliases:["ts"]}),Ns=[Lp],kd=Object.freeze(Object.defineProperty({__proto__:null,default:Ns},Symbol.toStringTag,{value:"Module"})),qp=Object.freeze({displayName:"HTML",injections:{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{comment:"Uses R: to ensure this matches after any other injections.",patterns:[{match:/</dgv,name:"invalid.illegal.bad-angle-bracket.html"}]}},name:"html",patterns:[{include:"#xml-processing"},{include:"#comment"},{include:"#doctype"},{include:"#cdata"},{include:"#tags-valid"},{include:"#tags-invalid"},{include:"#entities"}],repository:{attribute:{patterns:[{begin:/(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/style(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.style.html",patterns:[{begin:/=/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.html"}},end:/(?<=[^\p{space}\=])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{begin:/(?=[^\p{space}\=\<\>\`\/]|\/(?!>))/dgv,end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.embedded.line.css",patterns:[{captures:{0:{name:"source.css"}},match:/([^\p{space}"'\=\<\>\`\/]|\/(?!>))+/dgv,name:"string.unquoted.html"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.css",end:/(")/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.css"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.css",end:/(')/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.css"}},name:"string.quoted.single.html",patterns:[{include:"#entities"}]}]},{match:/=/dgv,name:"invalid.illegal.unexpected-equals-sign.html"}]}]},{begin:/on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.event-handler.$1.html",patterns:[{begin:/=/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.html"}},end:/(?<=[^\p{space}\=])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{begin:/(?=[^\p{space}\=\<\>\`\/]|\/(?!>))/dgv,end:new k("(?!^)","dgv",{strategy:"clip_search"}),name:"meta.embedded.line.js",patterns:[{captures:{0:{name:"source.js"},1:{patterns:[{include:"source.js"}]}},match:/(([^\p{space}"'\=\<\>\`\/]|\/(?!>))+)/dgv,name:"string.unquoted.html"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.js",end:/(")/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.js"}},name:"string.quoted.double.html",patterns:[{captures:{0:{patterns:[{include:"source.js"}]}},match:/([^\n"\/]|\/(?![\/\*]))+/dgv},{begin:/\/\//dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/(?=")|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:/(?=")|\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"source.js",end:/(')/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"},1:{name:"source.js"}},name:"string.quoted.single.html",patterns:[{captures:{0:{patterns:[{include:"source.js"}]}},match:/([^\n'\/]|\/(?![\/\*]))+/dgv},{begin:/\/\//dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/(?=')|\n/dgv,name:"comment.line.double-slash.js"},{begin:/\/\*/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.begin.js"}},end:/(?=')|\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.js"}},name:"comment.block.js"}]}]},{match:/=/dgv,name:"invalid.illegal.unexpected-equals-sign.html"}]}]},{begin:/(data-[a-z\-]+)(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.data-x.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/(align|bgcolor|border)(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"invalid.deprecated.entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/([^ "'\<\>\/\=\x00-\x1F\x7F-\x9F-\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]+)/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.unrecognized.$1.html",patterns:[{include:"#attribute-interior"}]},{match:/[^\p{space}\>]+/dgv,name:"invalid.illegal.character-not-allowed-here.html"}]},"attribute-interior":{patterns:[{begin:/=/dgv,beginCaptures:{0:{name:"punctuation.separator.key-value.html"}},end:/(?<=[^\p{space}\=])(?!\p{space}*=)|(?=\/?>)/dgv,patterns:[{match:/([^\p{space}"'\=\<\>\`\/]|\/(?!>))+/dgv,name:"string.unquoted.html"},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"#entities"}]},{match:/=/dgv,name:"invalid.illegal.unexpected-equals-sign.html"}]}]},cdata:{begin:/<!\[CDATA\[/dgv,beginCaptures:{0:{name:"punctuation.definition.tag.begin.html"}},contentName:"string.other.inline-data.html",end:/\]\]>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.cdata.html"},comment:{begin:/<!--/dgv,captures:{0:{name:"punctuation.definition.comment.html"}},end:/-->/dgv,name:"comment.block.html",patterns:[{match:/-?>/dgvy,name:"invalid.illegal.characters-not-allowed-here.html"},{match:/<!--(?!>)|<!-(?=-->)/dgv,name:"invalid.illegal.characters-not-allowed-here.html"},{match:/--!>/dgv,name:"invalid.illegal.characters-not-allowed-here.html"}]},"core-minus-invalid":{patterns:[{include:"#xml-processing"},{include:"#comment"},{include:"#doctype"},{include:"#cdata"},{include:"#tags-valid"},{include:"#entities"}]},doctype:{begin:/<!(?=DOCTYPE\p{space})/dgiv,beginCaptures:{0:{name:"punctuation.definition.tag.begin.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.doctype.html",patterns:[{match:/DOCTYPE/dgivy,name:"entity.name.tag.html"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.html"},{match:/[^\p{space}\>]+/dgv,name:"entity.other.attribute-name.html"}]},entities:{patterns:[{captures:{1:{name:"punctuation.definition.entity.html"},912:{name:"punctuation.definition.entity.html"}},match:new k("(&)(?=[a-zA-Z])((a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))|(u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","dgv",{lazyCompile:!0}),name:"constant.character.entity.named.$2.html"},{captures:{1:{name:"punctuation.definition.entity.html"},3:{name:"punctuation.definition.entity.html"}},match:/(&)#[0-9]+(;)/dgv,name:"constant.character.entity.numeric.decimal.html"},{captures:{1:{name:"punctuation.definition.entity.html"},3:{name:"punctuation.definition.entity.html"}},match:/(&)#[xX][0-9a-fA-F]+(;)/dgv,name:"constant.character.entity.numeric.hexadecimal.html"},{match:/&(?=[a-zA-Z0-9]+;)/dgv,name:"invalid.illegal.ambiguous-ampersand.html"}]},math:{patterns:[{begin:/(<)(math)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)/dgv,endCaptures:{0:{name:"meta.tag.structure.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]}],repository:{attribute:{patterns:[{begin:/(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u(pscriptshift|bscriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/([^ "'\<\>\/\=\x00-\x1F\x7F-\x9F-\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]+)/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.unrecognized.$1.html",patterns:[{include:"#attribute-interior"}]},{match:/[^\p{space}\>]+/dgv,name:"invalid.illegal.character-not-allowed-here.html"}]},tags:{patterns:[{include:"#comment"},{include:"#cdata"},{captures:{0:{name:"meta.tag.structure.math.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.structure.math.$2.html"},{begin:/(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.math.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.structure.math.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.math.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.inline.math.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.inline.math.$2.html"},{begin:/(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.inline.math.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.inline.math.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.inline.math.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.object.math.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(mglyph)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.object.math.$2.html"},{begin:/(<)(mglyph)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.object.math.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.object.math.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.object.math.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.other.invalid.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},match:/(<)(([\p{L}\p{M}\p{N}\p{Pc}\:]+))(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgv,name:"meta.element.other.invalid.html"},{begin:/(<)(([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*))(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgv,beginCaptures:{0:{name:"meta.tag.other.invalid.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)(((?!)))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.other.invalid.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{name:"punctuation.definition.tag.end.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.other.invalid.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.invalid.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{include:"#tags-invalid"}]}}},svg:{patterns:[{begin:/(<)(svg)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)/dgv,endCaptures:{0:{name:"meta.tag.structure.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]}],repository:{attribute:{patterns:[{begin:/(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em(h|v)|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y(1|2|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS(criptType|tyleType)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget(X|Y)?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At(X|Y|Z))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-(y|x)|adv-y)))|alues)|k(1|2|3|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f(X|Y|errerPolicy)|l)|adius|x)?|g(1|2|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x(1|2|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk(ContentUnits|Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![\p{L}\p{M}\p{N}\p{Pc}\:\-])/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.$1.html",patterns:[{include:"#attribute-interior"}]},{begin:/([^ "'\<\>\/\=\x00-\x1F\x7F-\x9F-\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]+)/dgv,beginCaptures:{0:{name:"entity.other.attribute-name.html"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.unrecognized.$1.html",patterns:[{include:"#attribute-interior"}]},{match:/[^\p{space}\>]+/dgv,name:"invalid.illegal.character-not-allowed-here.html"}]},tags:{patterns:[{include:"#comment"},{include:"#cdata"},{captures:{0:{name:"meta.tag.metadata.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(color-profile|desc|metadata|script|style|title)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.metadata.svg.$2.html"},{begin:/(<)(color-profile|desc|metadata|script|style|title)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.metadata.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.metadata.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.metadata.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.structure.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.structure.svg.$2.html"},{begin:/(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.structure.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.structure.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.structure.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.inline.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.inline.svg.$2.html"},{begin:/(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.inline.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.inline.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.inline.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.object.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},match:/(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.object.svg.$2.html"},{begin:/(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.object.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{patterns:[{include:"#attribute"}]},5:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)((?!))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.object.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.object.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.other.svg.$2.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},match:/(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgiv,name:"meta.element.other.svg.$2.html"},{begin:/(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgiv,beginCaptures:{0:{name:"meta.tag.other.svg.$2.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)(((?!)))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.other.svg.$2.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"},4:{name:"punctuation.definition.tag.end.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.other.svg.$2.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{captures:{0:{name:"meta.tag.other.invalid.void.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},match:/(<)(([\p{L}\p{M}\p{N}\p{Pc}\:]+))(?=\p{space}|\/?>)(([^"'\>]|"[^"]*"|'[^']*')*)(\/>)/dgv,name:"meta.element.other.invalid.html"},{begin:/(<)(([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*))(?=\p{space}|\/?>)(?:(([^"'\>]|"[^"]*"|'[^']*')*)(>))?/dgv,beginCaptures:{0:{name:"meta.tag.other.invalid.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{patterns:[{include:"#attribute"}]},6:{name:"punctuation.definition.tag.end.html"}},end:/(<\/)(((?!)))\p{space}*(>)|(\/>)|(?=<\/[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,endCaptures:{0:{name:"meta.tag.other.invalid.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"},4:{name:"punctuation.definition.tag.end.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.element.other.invalid.html",patterns:[{begin:/(?<!>)/dgvy,end:/(?=\/>)|>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.invalid.start.html",patterns:[{include:"#attribute"}]},{include:"#tags"}]},{include:"#tags-invalid"}]}}},"tags-invalid":{patterns:[{begin:/(<\/?)(([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*))(?<!\/)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.unrecognized-tag.html"}},end:/((?: ?\/)?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.$2.html",patterns:[{include:"#attribute"}]}]},"tags-valid":{patterns:[{begin:/(^[ \t]+)?(?=<style\b(?!-))/dgiv,beginCaptures:{1:{name:"punctuation.whitespace.embedded.leading.html"}},end:new k("(?!^)([ \\t]*(?=\\n?$)\\n?)?","dgv",{strategy:"clip_search"}),endCaptures:{1:{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(style)(?=\p{space}|\/?>)/dgiv,beginCaptures:{0:{name:"meta.tag.metadata.style.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/((<)\/)(style)\p{space}*(>)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.style.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"source.css-ignored-vscode"},3:{name:"entity.name.tag.html"},4:{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,captures:{1:{name:"punctuation.definition.tag.end.html"}},end:/(>)/dgv,name:"meta.tag.metadata.style.start.html",patterns:[{include:"#attribute"}]},{begin:new k("(?!^)","dgv",{strategy:"clip_search"}),end:/(?=<\/style)/dgiv,name:"source.css",patterns:[{include:"source.css"}]}]}]},{begin:/(^[ \t]+)?(?=<script\b(?!-))/dgiv,beginCaptures:{1:{name:"punctuation.whitespace.embedded.leading.html"}},end:new k("(?!^)([ \\t]*(?=\\n?$)\\n?)?","dgv",{strategy:"clip_search"}),endCaptures:{1:{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(script)\b/dgiv,beginCaptures:{0:{name:"meta.tag.metadata.script.start.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/(\/)(script)(>)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,end:/(?=\/)/dgv,patterns:[{begin:/(>)/dgv,beginCaptures:{0:{name:"meta.tag.metadata.script.start.html"},1:{name:"punctuation.definition.tag.end.html"}},end:/((<))(?=\/script)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"source.js-ignored-vscode"}},patterns:[{begin:/(?:)/dgv,end:/(?=<\/script)/dgiv,name:"source.js",patterns:[{begin:/(^[ \t]+)?(?=\/\/)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.js"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{0:{name:"punctuation.definition.comment.js"}},end:/(?=<\/script)|\n/dgv,name:"comment.line.double-slash.js"}]},{begin:/\/\*/dgv,captures:{0:{name:"punctuation.definition.comment.js"}},end:/\*\/|(?=<\/script)/dgv,name:"comment.block.js"},{include:"source.js"}]}]},{begin:/(?:)/dgv,end:/(?=>|type(?=[\p{space}\=])(?!\p{space}*=\p{space}*(''|""|('|"|)(text\/(javascript(1\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application\/((x-)?javascript|(x-)?ecmascript)|module)[\p{space}"'\>])))/dgiv,name:"meta.tag.metadata.script.start.html",patterns:[{include:"#attribute"}]},{begin:/(?=type\p{space}*=\p{space}*('|"|)text\/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\p{space}"'\>])/dgiv,end:/((<))(?=\/script)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"},2:{name:"text.html.basic"}},patterns:[{begin:/(?:)/dgv,end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.script.start.html",patterns:[{include:"#attribute"}]},{begin:new k("(?!^)","dgv",{strategy:"clip_search"}),end:/(?=<\/script)/dgiv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/(?=type)/dgiv,end:/(<)(?=\/script)/dgiv,endCaptures:{0:{name:"meta.tag.metadata.script.end.html"},1:{name:"punctuation.definition.tag.begin.html"}},patterns:[{begin:/(?:)/dgv,end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.script.start.html",patterns:[{include:"#attribute"}]},{begin:new k("(?!^)","dgv",{strategy:"clip_search"}),end:/(?=<\/script)/dgiv,name:"source.unknown"}]}]}]}]},{begin:/(<)(base|link|meta)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(noscript|title)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(noscript|title)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)(col|hr|input)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)(area|br|wbr)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)(embed|img|param|source|track)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)(audio|canvas|iframe|object|picture|video)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)(audio|canvas|iframe|object|picture|video)(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((basefont|isindex))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.metadata.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)((center|frameset|noembed|noframes))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((center|frameset|noembed|noframes))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((acronym|big|blink|font|strike|tt|xmp))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((acronym|big|blink|font|strike|tt|xmp))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((frame))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.void.html",patterns:[{include:"#attribute"}]},{begin:/(<)((applet))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((applet))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.deprecated.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.object.$2.end.html",patterns:[{include:"#attribute"}]},{begin:/(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.no-longer-supported.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.$2.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\p{space}|\/?>)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"},3:{name:"invalid.illegal.no-longer-supported.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.$2.end.html",patterns:[{include:"#attribute"}]},{include:"#math"},{include:"#svg"},{begin:/(<)([a-zA-Z][\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*-[\-\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*)(?=\p{space}|\/?>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/\/?>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.custom.start.html",patterns:[{include:"#attribute"}]},{begin:/(<\/)([a-zA-Z][\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*-[\-\.0-9_a-zA-Z·À-ÖØ-öø-ͽͿ--‿-⁀⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\u{EFFFF}]*)(?=\p{space}|\/?>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/>/dgv,endCaptures:{0:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.custom.end.html",patterns:[{include:"#attribute"}]}]},"xml-processing":{begin:/(<\?)(xml)/dgv,captures:{1:{name:"punctuation.definition.tag.html"},2:{name:"entity.name.tag.html"}},end:/(\?>)/dgv,name:"meta.tag.metadata.processing.xml.html",patterns:[{include:"#attribute"}]}},scopeName:"text.html.basic",embeddedLangs:["javascript","css"],aliases:void 0}),Ln=[...Ye,...Bn,qp],wd=Object.freeze(Object.defineProperty({__proto__:null,default:Ln},Symbol.toStringTag,{value:"Module"})),Pp=Object.freeze({displayName:"HTML (Derivative)",injections:{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{comment:"Uses R: to ensure this matches after any other injections.",patterns:[{match:/</dgv,name:"invalid.illegal.bad-angle-bracket.html"}]}},name:"html-derivative",patterns:[{include:"text.html.basic#core-minus-invalid"},{begin:/(<\/?)([\p{L}\p{M}\p{N}\p{Pc}][^\p{space}\>]*)(?<!\/)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/((?: ?\/)?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.unrecognized.html.derivative",patterns:[{include:"text.html.basic#attribute"}]}],scopeName:"text.html.derivative",embeddedLangs:["html"],aliases:void 0}),Tp=[...Ln,Pp],zp=Object.freeze({fileTypes:[],injectTo:["text.html.markdown"],injectionSelector:"L:text.html.markdown",name:"markdown-vue",patterns:[{include:"#vue-code-block"}],repository:{"vue-code-block":{begin:new k("(^|^)(\\p{space}*)(`{3,}|~{3,})\\p{space}*(vue)((\\p{space}+|:|,|\\{|\\?)[^\\`\\~]*)?(?=\\n?$)","dgiv",{strategy:"clip_search"}),beginCaptures:{3:{name:"punctuation.definition.markdown"},4:{name:"fenced_code.block.language.markdown"},5:{name:"fenced_code.block.language.attributes.markdown",patterns:[]}},end:new k("(^|^)((?!)|\\p{space}{0,3})((?!))\\p{space}*(?=\\n?$)","dgv",{strategy:"clip_search"}),endCaptures:{3:{name:"punctuation.definition.markdown"}},name:"markup.fenced_code.block.markdown",patterns:[{include:"source.vue"}]}},scopeName:"markdown.vue.codeblock",displayName:void 0,embeddedLangs:void 0,aliases:void 0}),Mp=[zp],Ip=Object.freeze({fileTypes:[],injectTo:["source.vue","text.html.markdown","text.html.derivative","text.pug"],injectionSelector:"L:meta.tag -meta.attribute -meta.ng-binding -entity.name.tag.pug -attribute_value -source.tsx -source.js.jsx, L:meta.element -meta.attribute",name:"vue-directives",patterns:[{include:"source.vue#vue-directives"}],scopeName:"vue.directives",displayName:void 0,embeddedLangs:void 0,aliases:void 0}),Rp=[Ip],Op=Object.freeze({fileTypes:[],injectTo:["source.vue","text.html.markdown","text.html.derivative","text.pug"],injectionSelector:"L:text.pug -comment -string.comment, L:text.html.derivative -comment.block, L:text.html.markdown -comment.block",name:"vue-interpolations",patterns:[{include:"source.vue#vue-interpolations"}],scopeName:"vue.interpolations",displayName:void 0,embeddedLangs:void 0,aliases:void 0}),Gp=[Op],Dp=Object.freeze({fileTypes:[],injectTo:["source.vue"],injectionSelector:"L:source.css -comment, L:source.postcss -comment, L:source.sass -comment, L:source.stylus -comment",name:"vue-sfc-style-variable-injection",patterns:[{include:"#vue-sfc-style-variable-injection"}],repository:{"vue-sfc-style-variable-injection":{begin:/\b(v-bind)\p{space}*\(/dgv,beginCaptures:{1:{name:"entity.name.function"}},end:/\)/dgv,name:"vue.sfc.style.variable.injection.v-bind",patterns:[{begin:/('|")/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"}},end:/((?!))/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"source.ts.embedded.html.vue",patterns:[{include:"source.js"}]},{include:"source.js"}]}},scopeName:"vue.sfc.style.variable.injection",displayName:void 0,embeddedLangs:["javascript"],aliases:void 0}),Up=[...Ye,Dp],Hp=Object.freeze({displayName:"Vue",name:"vue",patterns:[{include:"#vue-comments"},{include:"text.html.basic#comment"},{include:"#self-closing-tag"},{begin:/(<)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},patterns:[{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)md\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text.html.markdown",patterns:[{include:"text.html.markdown"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)html\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text.html.derivative",patterns:[{include:"#html-stuff"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)pug\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text.pug",patterns:[{include:"text.pug"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)stylus\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.stylus",patterns:[{include:"source.stylus"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)postcss\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.postcss",patterns:[{include:"source.postcss"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)sass\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.sass",patterns:[{include:"source.sass"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)css\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.css",patterns:[{include:"source.css"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)scss\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.css.scss",patterns:[{include:"source.css.scss"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)less\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.css.less",patterns:[{include:"source.css.less"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)js\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.js",patterns:[{include:"source.js"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)ts\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.ts",patterns:[{include:"source.ts"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)jsx\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.js.jsx",patterns:[{include:"source.js.jsx"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)tsx\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.tsx",patterns:[{include:"source.tsx"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)coffee\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.coffee",patterns:[{include:"source.coffee"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)json\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.json",patterns:[{include:"source.json"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)jsonc\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.json.comments",patterns:[{include:"source.json.comments"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)json5\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.json5",patterns:[{include:"source.json5"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)yaml\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.yaml",patterns:[{include:"source.yaml"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)toml\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.toml",patterns:[{include:"source.toml"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)(gql|graphql)\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.graphql",patterns:[{include:"source.graphql"}]}]},{begin:/([a-zA-Z0-9\:\-]+)\b(?=[^\>]*\blang\p{space}*=\p{space}*(['"]?)vue\b\2)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"source.vue",patterns:[{include:"source.vue"}]}]},{begin:/(template)\b/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/template\b)/dgv,name:"text.html.derivative",patterns:[{include:"#html-stuff"}]}]},{begin:/(script)\b/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/script\b)/dgv,name:"source.js",patterns:[{include:"source.js"}]}]},{begin:/(style)\b/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/style\b)/dgv,name:"source.css",patterns:[{include:"source.css"}]}]},{begin:/([a-zA-Z0-9\:\-]+)/dgv,beginCaptures:{1:{name:"entity.name.tag.$1.html.vue"}},end:/(<\/)(\1)\p{space}*(?=>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},patterns:[{include:"#tag-stuff"},{begin:/(?<=>)/dgv,end:/(?=<\/)/dgv,name:"text"}]}]}],repository:{"html-stuff":{patterns:[{include:"#template-tag"},{include:"text.html.derivative"},{include:"text.html.basic"}]},"self-closing-tag":{begin:/(<)([a-zA-Z0-9\:\-]+)(?=([^\>]+\/>))/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},end:/(\/>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"self-closing-tag",patterns:[{include:"#tag-stuff"}]},"tag-stuff":{begin:/(?:)/dgv,end:/(?=\/>)|(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.tag-stuff",patterns:[{include:"#vue-directives"},{include:"text.html.basic#attribute"}]},"template-tag":{patterns:[{include:"#template-tag-1"},{include:"#template-tag-2"}]},"template-tag-1":{begin:/(<)(template)\b(>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"},3:{name:"punctuation.definition.tag.end.html.vue"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.template-tag.start",patterns:[{begin:/(?:)/dgv,end:/(?=\/>)|((<\/)(template)\b)/dgv,endCaptures:{2:{name:"punctuation.definition.tag.begin.html.vue"},3:{name:"entity.name.tag.$3.html.vue"}},name:"meta.template-tag.end",patterns:[{include:"#html-stuff"}]}]},"template-tag-2":{begin:/(<)(template)\b/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html.vue"},2:{name:"entity.name.tag.$2.html.vue"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html.vue"}},name:"meta.template-tag.start",patterns:[{begin:/(?:)/dgv,end:/(?=\/>)|((<\/)(template)\b)/dgv,endCaptures:{2:{name:"punctuation.definition.tag.begin.html.vue"},3:{name:"entity.name.tag.$3.html.vue"}},name:"meta.template-tag.end",patterns:[{include:"#tag-stuff"},{include:"#html-stuff"}]}]},"vue-comments":{patterns:[{include:"#vue-comments-key-value"}]},"vue-comments-key-value":{begin:/(<!--)\p{space}*(@)([\p{L}\p{M}\p{N}\p{Pc}\$]+)(?=\p{space})/dgv,beginCaptures:{1:{name:"punctuation.definition.comment.vue"},2:{name:"punctuation.definition.block.tag.comment.vue"},3:{name:"storage.type.class.comment.vue"}},end:/(-->)/dgv,endCaptures:{1:{name:"punctuation.definition.comment.vue"}},name:"comment.block.vue",patterns:[{include:"source.json#value"}]},"vue-directives":{patterns:[{include:"#vue-directives-control"},{include:"#vue-directives-style-attr"},{include:"#vue-directives-original"},{include:"#vue-directives-generic-attr"}]},"vue-directives-control":{begin:/(v-for)|(v-if|v-else-if|v-else)/dgv,captures:{1:{name:"keyword.control.loop.vue"},2:{name:"keyword.control.conditional.vue"}},end:new k("(?=(?:(?=(\\p{space}*))\\1)[^\\=\\p{space}])","dgv",{hiddenCaptures:[1]}),name:"meta.attribute.directive.control.vue",patterns:[{include:"#vue-directives-expression"}]},"vue-directives-expression":{patterns:[{begin:/(=)\p{space}*('|"|`)/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.html.vue"},2:{name:"punctuation.definition.string.begin.html.vue"}},end:/(\2)()/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},patterns:[{begin:/(?<=('|"|`))/dgv,end:/(?=\1)()/dgv,name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]},{begin:/(=)\p{space}*(?=[^'"\`])/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.html.vue"}},end:/(?=(\p{space}|>|\/>))/dgv,patterns:[{begin:/(?=[^'"\`])/dgv,end:/(?=(\p{space}|>|\/>))/dgv,name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]}]},"vue-directives-generic-attr":{begin:/\b(generic)\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"}},end:/(?<='|")/dgv,name:"meta.attribute.generic.vue",patterns:[{begin:/('|")/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.html.vue"}},end:/((?!))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"meta.type.parameters.vue",patterns:[{include:"source.ts#comment"},{match:/(?<![_\$\p{Alpha}\p{Nd}])(?:(?<=\.\.\.)|(?<!\.))(extends|in|out)(?![_\$\p{Alpha}\p{Nd}])(?:(?=\.\.\.)|(?!\.))/dgv,name:"storage.modifier.ts"},{include:"source.ts#type"},{include:"source.ts#punctuation-comma"},{match:/(=)(?!>)/dgv,name:"keyword.operator.assignment.ts"}]}]},"vue-directives-original":{begin:/(?:(v-[\p{L}\p{M}\p{N}\p{Pc}\-]+)(:)?|([\:\.])|(@)|(#))(?:(\[)([^\]]*)(\])|([\p{L}\p{M}\p{N}\p{Pc}\-]+))?/dgv,beginCaptures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"},3:{name:"punctuation.attribute-shorthand.bind.html.vue"},4:{name:"punctuation.attribute-shorthand.event.html.vue"},5:{name:"punctuation.attribute-shorthand.slot.html.vue"},6:{name:"punctuation.separator.key-value.html.vue"},7:{name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]},8:{name:"punctuation.separator.key-value.html.vue"},9:{name:"entity.other.attribute-name.html.vue"}},end:/(?=\p{space}*[^\=\p{space}])/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"meta.attribute.directive.vue",patterns:[{1:{name:"punctuation.separator.key-value.html.vue"},2:{name:"entity.other.attribute-name.html.vue"},match:/(\.)([\p{L}\p{M}\p{N}\p{Pc}\-]*)/dgv},{include:"#vue-directives-expression"}]},"vue-directives-style-attr":{begin:/\b(style)\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.html.vue"},2:{name:"punctuation.separator.key-value.html.vue"}},end:/(?<='|")/dgv,name:"meta.attribute.style.vue",patterns:[{begin:/('|")/dgv,beginCaptures:{1:{name:"punctuation.definition.string.begin.html.vue"}},end:/((?!))/dgv,endCaptures:{1:{name:"punctuation.definition.string.end.html.vue"}},name:"source.css.embedded.html.vue",patterns:[{include:"source.css#comment-block"},{include:"source.css#escapes"},{include:"source.css#font-features"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}\-])--(?:[\-a-zA-Z_]|[^\x00-\x7F])(?:[\-a-zA-Z0-9_]|[^\x00-\x7F]|\\(?:[0-9a-fA-F]{1,6}|[^\n]))*/dgv,name:"variable.css"},{begin:/(?<![\-a-zA-Z])(?=[\-a-zA-Z])/dgv,end:/(?=\n?$)|(?![\-a-zA-Z])/dgv,name:"meta.property-name.css",patterns:[{include:"source.css#property-names"}]},{begin:/(:)\p{space}*/dgv,beginCaptures:{1:{name:"punctuation.separator.key-value.css"}},contentName:"meta.property-value.css",end:/\p{space}*(;)|\p{space}*(?='|")/dgv,endCaptures:{1:{name:"punctuation.terminator.rule.css"}},patterns:[{include:"source.css#comment-block"},{include:"source.css#property-values"}]},{match:/;/dgv,name:"punctuation.terminator.rule.css"}]}]},"vue-interpolations":{patterns:[{begin:/(\{\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.interpolation.begin.html.vue"}},end:/(\}\})/dgv,endCaptures:{1:{name:"punctuation.definition.interpolation.end.html.vue"}},name:"expression.embedded.vue",patterns:[{begin:/(?:)/dgv,end:/(?=\}\})/dgv,name:"source.ts.embedded.html.vue",patterns:[{include:"source.ts#expression"}]}]}]}},scopeName:"source.vue",embeddedLangs:["html","css","javascript","typescript","json","html-derivative","markdown-vue","vue-directives","vue-interpolations","vue-sfc-style-variable-injection"],aliases:void 0,embeddedLangsLazy:["markdown","pug","stylus","sass","scss","less","jsx","tsx","coffee","jsonc","json5","yaml","toml","graphql"]}),Fs=[...Ln,...Bn,...Ye,...Ns,...As,...Tp,...Mp,...Rp,...Gp,...Up,Hp],xd=Object.freeze(Object.defineProperty({__proto__:null,default:Fs},Symbol.toStringTag,{value:"Module"})),Zp=Object.freeze({displayName:"Vue HTML",fileTypes:[],name:"vue-html",patterns:[{include:"source.vue#vue-interpolations"},{begin:/(<)([A-Z][a-zA-Z0-9\:\-]*)(?=[^\>]*><\/\2>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"support.class.component.html"}},end:/(>)(<)(\/)(\2)(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"},2:{name:"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},3:{name:"punctuation.definition.tag.begin.html"},4:{name:"support.class.component.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<)([a-z][a-zA-Z0-9\:\-]*)(?=[^\>]*><\/\2>)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.html"}},end:/(>)(<)(\/)(\2)(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"},2:{name:"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},3:{name:"punctuation.definition.tag.begin.html"},4:{name:"entity.name.tag.html"},5:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\?)(xml)/dgv,captures:{1:{name:"punctuation.definition.tag.html"},2:{name:"entity.name.tag.xml.html"}},end:/(\?>)/dgv,name:"meta.tag.preprocessor.xml.html",patterns:[{include:"#tag-generic-attribute"},{include:"#string-double-quoted"},{include:"#string-single-quoted"}]},{begin:/<!--/dgv,captures:{0:{name:"punctuation.definition.comment.html"}},end:/-->/dgv,name:"comment.block.html"},{begin:/<!/dgv,captures:{0:{name:"punctuation.definition.tag.html"}},end:/>/dgv,name:"meta.tag.sgml.html",patterns:[{begin:/DOCTYPE/dgiv,captures:{1:{name:"entity.name.tag.doctype.html"}},end:/(?=>)/dgv,name:"meta.tag.sgml.doctype.html",patterns:[{match:/"[^"\>]*"/dgv,name:"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{begin:/\[CDATA\[/dgv,end:/\]\](?=>)/dgv,name:"constant.other.inline-data.html"},{match:/(\p{space}*)(?!--|>)\P{space}(\p{space}*)/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html"}]},{begin:/(<\/?)([A-Z][a-zA-Z0-9\:\-]*\b)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"support.class.component.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)([a-z][a-zA-Z0-9\:\-]*\b)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.block.any.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)((?:body|head|html)\b)/dgiv,captures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.structure.any.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.structure.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)((?:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)(?!-)\b)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.block.any.html"}},end:/(>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.block.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)((?:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?!-)\b)/dgiv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.inline.any.html"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.inline.any.html",patterns:[{include:"#tag-stuff"}]},{begin:/(<\/?)([a-zA-Z0-9\:\-]+)/dgv,beginCaptures:{1:{name:"punctuation.definition.tag.begin.html"},2:{name:"entity.name.tag.other.html"}},end:/(\/?>)/dgv,endCaptures:{1:{name:"punctuation.definition.tag.end.html"}},name:"meta.tag.other.html",patterns:[{include:"#tag-stuff"}]},{include:"#entities"},{match:/<>/dgv,name:"invalid.illegal.incomplete.html"},{match:/</dgv,name:"invalid.illegal.bad-angle-bracket.html"}],repository:{entities:{patterns:[{captures:{1:{name:"punctuation.definition.entity.html"},3:{name:"punctuation.definition.entity.html"}},match:/(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)/dgv,name:"constant.character.entity.html"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html"}]},"string-double-quoted":{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},"string-single-quoted":{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},"tag-generic-attribute":{match:/(?<=[^\=])\b([a-zA-Z0-9\:\-_]+)/dgv,name:"entity.other.attribute-name.html"},"tag-id-attribute":{begin:/\b(id)\b\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.id.html"},2:{name:"punctuation.separator.key-value.html"}},end:new k(`(?!^)(?<='|"|[^\\p{space}\\<\\>\\/])`,"dgv",{strategy:"clip_search"}),name:"meta.attribute-with-value.id.html",patterns:[{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.double.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},contentName:"meta.toc-list.id.html",end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"string.quoted.single.html",patterns:[{include:"source.vue#vue-interpolations"},{include:"#entities"}]},{captures:{0:{name:"meta.toc-list.id.html"}},match:/(?<==)(?:[^\p{space}\<\>\/'"]|\/(?!>))+/dgv,name:"string.unquoted.html"}]},"tag-stuff":{patterns:[{include:"#vue-directives"},{include:"#tag-id-attribute"},{include:"#tag-generic-attribute"},{include:"#string-double-quoted"},{include:"#string-single-quoted"},{include:"#unquoted-attribute"}]},"unquoted-attribute":{match:/(?<==)(?:[^\p{space}\<\>\/'"]|\/(?!>))+/dgv,name:"string.unquoted.html"},"vue-directives":{begin:/(?:\b(v-)|(:|@|#))([a-zA-Z0-9\-_]+)(?::([a-zA-Z\-_]+))?(?:\.([a-zA-Z\-_]+))*\p{space}*(=)/dgv,captures:{1:{name:"entity.other.attribute-name.html"},2:{name:"punctuation.separator.key-value.html"},3:{name:"entity.other.attribute-name.html"},4:{name:"entity.other.attribute-name.html"},5:{name:"entity.other.attribute-name.html"},6:{name:"punctuation.separator.key-value.html"}},end:/(?<='|")|(?=[\p{space}\<\>\`])/dgv,name:"meta.directive.vue",patterns:[{begin:/`/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/`/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"source.directive.vue",patterns:[{include:"source.js#expression"}]},{begin:/"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"source.directive.vue",patterns:[{include:"source.js#expression"}]},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.html"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.html"}},name:"source.directive.vue",patterns:[{include:"source.js#expression"}]}]}},scopeName:"text.html.vue-html",embeddedLangs:["vue","javascript"],aliases:void 0,embeddedLangsLazy:[]}),Wp=[...Fs,...Ye,Zp],Cd=Object.freeze(Object.defineProperty({__proto__:null,default:Wp},Symbol.toStringTag,{value:"Module"})),Vp=Object.freeze({displayName:"Diff",name:"diff",patterns:[{captures:{1:{name:"punctuation.definition.separator.diff"}},match:/^((\*{15})|(={67})|(-{3}))(?=\n?$)\n?/dgv,name:"meta.separator.diff"},{match:/^\p{Nd}+(,\p{Nd}+)*(a|d|c)\p{Nd}+(,\p{Nd}+)*(?=\n?$)\n?/dgv,name:"meta.diff.range.normal"},{captures:{1:{name:"punctuation.definition.range.diff"},2:{name:"meta.toc-list.line-number.diff"},3:{name:"punctuation.definition.range.diff"}},match:/^(@@)\p{space}*([^\n]+?)\p{space}*(@@)((?=\n?$)\n?)?/dgv,name:"meta.diff.range.unified"},{captures:{3:{name:"punctuation.definition.range.diff"},4:{name:"punctuation.definition.range.diff"},6:{name:"punctuation.definition.range.diff"},7:{name:"punctuation.definition.range.diff"}},match:/^(((-{3}) [^\n]+ (-{4}))|((\*{3}) [^\n]+ (\*{4})))(?=\n?$)\n?/dgv,name:"meta.diff.range.context"},{match:/^diff --git a\/[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.git"},{match:/^diff (-|\P{space}+\p{space}+\P{space}+)[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.header.command"},{captures:{4:{name:"punctuation.definition.from-file.diff"},6:{name:"punctuation.definition.from-file.diff"},7:{name:"punctuation.definition.from-file.diff"}},match:/(^(((-{3}) [^\n]+)|((\*{3}) [^\n]+))(?=\n?$)\n?|^(={4}) [^\n]+(?= - ))/dgv,name:"meta.diff.header.from-file"},{captures:{2:{name:"punctuation.definition.to-file.diff"},3:{name:"punctuation.definition.to-file.diff"},4:{name:"punctuation.definition.to-file.diff"}},match:/(^(\+{3}) [^\n]+(?=\n?$)\n?| (-) [^\n]* (={4})(?=\n?$)\n?)/dgv,name:"meta.diff.header.to-file"},{captures:{3:{name:"punctuation.definition.inserted.diff"},6:{name:"punctuation.definition.inserted.diff"}},match:/^(((>)( [^\n]*)?)|((\+)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.inserted.diff"},{captures:{1:{name:"punctuation.definition.changed.diff"}},match:/^(!)[^\n]*(?=\n?$)\n?/dgv,name:"markup.changed.diff"},{captures:{3:{name:"punctuation.definition.deleted.diff"},6:{name:"punctuation.definition.deleted.diff"}},match:/^(((<)( [^\n]*)?)|((-)[^\n]*))(?=\n?$)\n?/dgv,name:"markup.deleted.diff"},{begin:/^(#)/dgv,captures:{1:{name:"punctuation.definition.comment.diff"}},end:/\n/dgv,name:"comment.line.number-sign.diff"},{match:/^index [0-9a-f]{7,40}\.\.[0-9a-f]{7,40}[^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.index.git"},{captures:{1:{name:"punctuation.separator.key-value.diff"},2:{name:"meta.toc-list.file-name.diff"}},match:/^Index(:) ([^\n]+)(?=\n?$)\n?/dgv,name:"meta.diff.index"},{match:/^Only in [^\n]*: [^\n]*(?=\n?$)\n?/dgv,name:"meta.diff.only-in"}],scopeName:"source.diff",embeddedLangs:void 0,aliases:void 0}),Xp=[Vp],jd=Object.freeze(Object.defineProperty({__proto__:null,default:Xp},Symbol.toStringTag,{value:"Module"})),Jp=Object.freeze({displayName:"Shell",name:"shellscript",patterns:[{include:"#initial_context"}],repository:{alias_statement:{begin:new k("(?:(?=([ \\t]*))\\1)(alias)(?:(?=([ \\t]*))\\3)((?:((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+\\b)(?:(?=([ \\t]*))\\6))*)(?:(?=([ \\t]*))\\7)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{hiddenCaptures:[1,3,6,7]}),beginCaptures:{1:{name:"storage.type.alias.shell"},2:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"}]},3:{name:"string.unquoted.argument.shell constant.other.option.shell"},4:{name:"variable.other.assignment.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"variable.other.assignment.shell"},7:{name:"constant.numeric.shell constant.numeric.integer.shell"},8:{name:"punctuation.definition.array.access.shell"},9:{name:"keyword.operator.assignment.shell"},10:{name:"keyword.operator.assignment.compound.shell"},11:{name:"keyword.operator.assignment.compound.shell"}},end:/(?:(?= |\t|(?=\n?$))|(?:(?:(?:(;)|(&&))|(\|\|))|(&)))/dgv,endCaptures:{1:{name:"punctuation.terminator.statement.semicolon.shell"},2:{name:"punctuation.separator.statement.and.shell"},3:{name:"punctuation.separator.statement.or.shell"},4:{name:"punctuation.separator.statement.background.shell"}},name:"meta.expression.assignment.alias.shell",patterns:[{include:"#normal_context"}]},argument:{begin:new k("(?:(?=([ \\t]+))\\1)(?!(?:&|\\||\\(|\\[|#|\\n|(?=\\n?$)|;))","dgv",{hiddenCaptures:[1]}),beginCaptures:{},end:/(?= |\t|;|\||&|(?=\n?$)|\n|\)|`)/dgv,endCaptures:{},name:"meta.argument.shell",patterns:[{include:"#argument_context"},{include:"#line_continuation"}]},argument_context:{patterns:[{captures:{1:{name:"string.unquoted.argument.shell",patterns:[{match:/\*/dgv,name:"variable.language.special.wildcard.shell"},{include:"#variable"},{include:"#numeric_literal"},{captures:{1:{name:"constant.language.$1.shell"}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\b(?:true|false)\b)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv}]}},match:new k("(?:(?=([ \\t]*))\\1)([^ \\t\\n\\>\\&\\;\\<\\>\\(\\)\\$\\`\\\\\"'\\<\\|]+(?!>))","dgv",{hiddenCaptures:[1]})},{include:"#normal_context"}]},arithmetic_double:{patterns:[{begin:/\(\(/dgv,beginCaptures:{0:{name:"punctuation.section.arithmetic.double.shell"}},end:/\)\p{space}*\)/dgv,endCaptures:{0:{name:"punctuation.section.arithmetic.double.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},arithmetic_no_dollar:{patterns:[{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.section.arithmetic.single.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.arithmetic.single.shell"}},name:"meta.arithmetic.shell",patterns:[{include:"#math"},{include:"#string"}]}]},array_access_inline:{captures:{1:{name:"punctuation.section.array.shell"},2:{patterns:[{include:"#special_expansion"},{include:"#string"},{include:"#variable"}]},3:{name:"punctuation.section.array.shell"}},match:/(\[)([^\[\]]+)(\])/dgv},array_value:{begin:new k("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))(?:(?=([ \\t]*))\\10)(\\()","dgv",{hiddenCaptures:[1,10]}),beginCaptures:{1:{name:"variable.other.assignment.shell"},2:{name:"punctuation.definition.array.access.shell"},3:{name:"variable.other.assignment.shell"},4:{name:"constant.numeric.shell constant.numeric.integer.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"keyword.operator.assignment.shell"},7:{name:"keyword.operator.assignment.compound.shell"},8:{name:"keyword.operator.assignment.compound.shell"},9:{name:"punctuation.definition.array.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.array.shell"}},patterns:[{include:"#comment"},{captures:{1:{name:"variable.other.assignment.array.shell entity.other.attribute-name.shell"},2:{name:"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(=)/dgv},{captures:{1:{name:"punctuation.definition.bracket.named-array.shell"},2:{name:"string.unquoted.shell entity.other.attribute-name.bracket.shell"},3:{name:"punctuation.definition.bracket.named-array.shell"},4:{name:"punctuation.definition.assignment.shell"}},match:/(\[)([^\n]+?)(\])(=)/dgv},{include:"#normal_context"},{include:"#simple_unquoted"}]},assignment_statement:{patterns:[{include:"#array_value"},{include:"#modified_assignment_statement"},{include:"#normal_assignment_statement"}]},basic_command_name:{captures:{1:{name:"storage.modifier.$1.shell"},2:{name:"entity.name.function.call.shell entity.name.command.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\.)(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"support.function.builtin.shell"},{include:"#variable"}]}},match:/(?!(?:!|&|\||\(|\)|\{|\[|<|>|#|\n|(?=\n?$)|;|[ \t]))(?!nocorrect |nocorrect\t|nocorrect(?=\n?$)|readonly |readonly\t|readonly(?=\n?$)|function |function\t|function(?=\n?$)|foreach |foreach\t|foreach(?=\n?$)|coproc |coproc\t|coproc(?=\n?$)|logout |logout\t|logout(?=\n?$)|export |export\t|export(?=\n?$)|select |select\t|select(?=\n?$)|repeat |repeat\t|repeat(?=\n?$)|pushd |pushd\t|pushd(?=\n?$)|until |until\t|until(?=\n?$)|while |while\t|while(?=\n?$)|local |local\t|local(?=\n?$)|case |case\t|case(?=\n?$)|done |done\t|done(?=\n?$)|elif |elif\t|elif(?=\n?$)|else |else\t|else(?=\n?$)|esac |esac\t|esac(?=\n?$)|popd |popd\t|popd(?=\n?$)|then |then\t|then(?=\n?$)|time |time\t|time(?=\n?$)|for |for\t|for(?=\n?$)|end |end\t|end(?=\n?$)|fi |fi\t|fi(?=\n?$)|do |do\t|do(?=\n?$)|in |in\t|in(?=\n?$)|if |if\t|if(?=\n?$))(?:((?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$)))|((?!"|'|\\\n?(?=\n?$))[^\!'"\<\> \t\n\r]+?))(?:(?= |\t)|(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\))/dgv,name:"meta.statement.command.name.basic.shell"},block_comment:{begin:new k("(?:(?=(\\p{space}*))\\1)(/\\*)","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"punctuation.definition.comment.begin.shell"}},end:/\*\//dgv,endCaptures:{0:{name:"punctuation.definition.comment.end.shell"}},name:"comment.block.shell"},boolean:{match:/\b(?:true|false)\b/dgv,name:"constant.language.$0.shell"},case_statement:{begin:new k("(\\bcase\\b)(?:(?=([ \\t]*))\\2)([^\\n]+?)(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.control.case.shell"},2:{patterns:[{include:"#initial_context"}]},3:{name:"keyword.control.in.shell"}},end:/\besac\b/dgv,endCaptures:{0:{name:"keyword.control.esac.shell"}},name:"meta.case.shell",patterns:[{include:"#comment"},{captures:{1:{name:"keyword.operator.pattern.case.default.shell"}},match:new k("(?:(?=([ \\t]*))\\1)(\\* *\\))","dgv",{hiddenCaptures:[1]})},{begin:new k("(?<!\\))(?!(?:(?=([ \\t]*))\\1)(?:esac\\b|(?=\\n?$)))","dgv",{hiddenCaptures:[1]}),beginCaptures:{},end:/(?:(?=\besac\b)|(\)))/dgv,endCaptures:{1:{name:"keyword.operator.pattern.case.shell"}},name:"meta.case.entry.pattern.shell",patterns:[{include:"#case_statement_context"}]},{begin:/(?<=\))/dgv,beginCaptures:{},end:/(?:(;;)|(?=\besac\b))/dgv,endCaptures:{1:{name:"punctuation.terminator.statement.case.shell"}},name:"meta.case.entry.body.shell",patterns:[{include:"#typical_statements"},{include:"#initial_context"}]}]},case_statement_context:{patterns:[{match:/\*/dgv,name:"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\+/dgv,name:"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/\?/dgv,name:"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{match:/@/dgv,name:"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{match:/\|/dgv,name:"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{match:/(?<=\tin| in| |\t|;;)\(/dgv,name:"keyword.operator.pattern.case.shell"},{begin:/(?<=\P{space})(\()/dgv,beginCaptures:{1:{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},name:"meta.parenthese.shell",patterns:[{include:"#case_statement_context"}]},{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.character-class.shell"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.character-class.shell"}},name:"string.regexp.character-class.shell",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"}]},{include:"#string"},{match:/[^\) \t\n\[\?\*\|\@]/dgv,name:"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},command_name_range:{begin:/(?:)/dgv,beginCaptures:{},end:/(?:(?= |\t|;|\||&|(?=\n?$)|\n|\)|`)|(?=<))/dgv,endCaptures:{},name:"meta.statement.command.name.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:continue|return|break)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\.)(?!\/)(?![\p{L}\p{M}\p{N}\p{Pc}])(?!-)/dgv,name:"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{include:"#variable"},{captures:{1:{name:"entity.name.function.call.shell entity.name.command.shell"}},match:new k(`(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])(?<=^|'|"|\\}|\\))([^ \\n\\t\\r"'\\=\\;\\&\\|\\\`\\)\\{\\<\\>]+)`,"dgv",{strategy:"clip_search"})},{begin:new k(`(?:^|(?<! |\\t|;|\\||&|\\n|\\{|#))(\\$?)((?:(")|(')))`,"dgv",{strategy:"clip_search"}),beginCaptures:{1:{name:"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},2:{},3:{name:"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},4:{name:"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},end:new k("(?<!^)(?<=\\2)()()","dgv",{strategy:"clip_search"}),endCaptures:{},patterns:[{include:"#continuation_of_single_quoted_command_name"},{include:"#continuation_of_double_quoted_command_name"}]},{include:"#line_continuation"},{include:"#simple_unquoted"}]},command_statement:{begin:new k("(?:(?=([ \\t]*))\\1)(?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{hiddenCaptures:[1]}),beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"},{include:"#heredoc"}]},comment:{captures:{1:{name:"comment.line.number-sign.shell meta.shebang.shell"},2:{name:"punctuation.definition.comment.shebang.shell"},3:{name:"comment.line.number-sign.shell"},4:{name:"punctuation.definition.comment.shell"}},match:new k("(?:^|(?:(?=([ \\t]+))\\1))(?:((#!)[^\\n]*)|((#)[^\\n]*))","dgv",{hiddenCaptures:[1]})},comments:{patterns:[{include:"#block_comment"},{include:"#line_comment"}]},"compound-command":{patterns:[{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical-expression"},{include:"#initial_context"}]},{begin:/(?<=\p{space}|^)\{(?=\p{space}|(?=\n?$))/dgv,beginCaptures:{0:{name:"punctuation.definition.group.shell"}},end:/(?<=^|;)\p{space}*(\})/dgv,endCaptures:{1:{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},continuation_of_double_quoted_command_name:{begin:/(?<=")/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command",end:/"/dgv,endCaptures:{0:{name:"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},continuation_of_single_quoted_command_name:{begin:/(?<=')/dgvy,beginCaptures:{},contentName:"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command",end:/'/dgv,endCaptures:{0:{name:"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},custom_command_names:{patterns:[]},custom_commands:{patterns:[]},double_quote_context:{patterns:[{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},double_quote_escape_char:{match:/\\[\$\`"\\\n]/dgv,name:"constant.character.escape.shell"},floating_keyword:{patterns:[{match:/(?<=^|;|&| |\t)(?:then|elif|else|done|end|do|if|fi)(?= |\t|;|&|(?=\n?$))/dgv,name:"keyword.control.$0.shell"}]},for_statement:{patterns:[{begin:new k("(\\bfor\\b)(?:(?=([ \\t]*))\\2)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(?=([ \\t]*))\\4)(\\bin\\b)","dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.control.for.shell"},2:{name:"variable.other.for.shell"},3:{name:"keyword.control.in.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.in.shell",patterns:[{include:"#string"},{include:"#simple_unquoted"},{include:"#normal_context"}]},{begin:/(\bfor\b)/dgv,beginCaptures:{1:{name:"keyword.control.for.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.for.shell",patterns:[{include:"#arithmetic_double"},{include:"#normal_context"}]}]},function_definition:{applyEndPatternLast:1,begin:new k(`(?:(?=([ \\t]*))\\1)(?:(\\bfunction\\b)(?:(?=([ \\t]*))\\3)([^ \\t\\n\\r\\(\\)\\="']+)(?:(\\()(?:(?=([ \\t]*))\\6)(\\)))?|([^ \\t\\n\\r\\(\\)\\="']+)(?:(?=([ \\t]*))\\9)(\\()(?:(?=([ \\t]*))\\11)(\\)))`,"dgv",{hiddenCaptures:[1,3,6,9,11]}),beginCaptures:{1:{name:"storage.type.function.shell"},2:{name:"entity.name.function.shell"},3:{name:"punctuation.definition.arguments.shell"},4:{name:"punctuation.definition.arguments.shell"},5:{name:"entity.name.function.shell"},6:{name:"punctuation.definition.arguments.shell"},7:{name:"punctuation.definition.arguments.shell"}},end:/(?<=\}|\))/dgv,endCaptures:{},name:"meta.function.shell",patterns:[{match:/(?:\t| |\n)/dgvy},{begin:/\{/dgv,beginCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},name:"meta.function.body.shell",patterns:[{include:"#initial_context"}]},{include:"#initial_context"}]},heredoc:{patterns:[{begin:new k(`((?<!<)<<-)(?:(?=([ \\t]*))\\2)("|')(?:(?=([ \\t]*))\\4)([^"']+?)(?=\\p{space}|;|&|<|"|')(\\3)([^\\n]*)`,"dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.quote.shell"},3:{name:"punctuation.definition.string.heredoc.delimiter.shell"},4:{name:"punctuation.definition.string.heredoc.quote.shell"},5:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.indent.$3",end:/^\t*\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.$0.shell"}},patterns:[]},{begin:new k(`((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)("|')(?:(?=([ \\t]*))\\4)([^"']+?)(?=\\p{space}|;|&|<|"|')(\\3)([^\\n]*)`,"dgv",{hiddenCaptures:[2,4]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.quote.shell"},3:{name:"punctuation.definition.string.heredoc.delimiter.shell"},4:{name:"punctuation.definition.string.heredoc.quote.shell"},5:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.quoted.heredoc.no-indent.$3",end:/^\3(?=\p{space}|;|&|(?=\n?$))()()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[]},{begin:new k(`((?<!<)<<-)(?:(?=([ \\t]*))\\2)([^"' \\t]+)(?=\\p{space}|;|&|<|"|')([^\\n]*)`,"dgv",{hiddenCaptures:[2]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.delimiter.shell"},3:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.indent.$2",end:/^\t*\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]},{begin:new k(`((?<!<)<<(?!<))(?:(?=([ \\t]*))\\2)([^"' \\t]+)(?=\\p{space}|;|&|<|"|')([^\\n]*)`,"dgv",{hiddenCaptures:[2]}),beginCaptures:{1:{name:"keyword.operator.heredoc.shell"},2:{name:"punctuation.definition.string.heredoc.delimiter.shell"},3:{patterns:[{include:"#redirect_fix"},{include:"#typical_statements"}]}},contentName:"string.unquoted.heredoc.no-indent.$2",end:/^\2(?=\p{space}|;|&|(?=\n?$))()()/dgv,endCaptures:{0:{name:"punctuation.definition.string.heredoc.delimiter.shell"}},patterns:[{include:"#double_quote_escape_char"},{include:"#variable"},{include:"#interpolation"}]}]},herestring:{patterns:[{begin:/(<<<)\p{space}*(('))/dgv,beginCaptures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.quoted.single.shell"},3:{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.single.shell",end:/(')/dgv,endCaptures:{0:{name:"string.quoted.single.shell"},1:{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell"},{begin:/(<<<)\p{space}*(("))/dgv,beginCaptures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.quoted.double.shell"},3:{name:"punctuation.definition.string.begin.shell"}},contentName:"string.quoted.double.shell",end:/(")/dgv,endCaptures:{0:{name:"string.quoted.double.shell"},1:{name:"punctuation.definition.string.end.shell"}},name:"meta.herestring.shell",patterns:[{include:"#double_quote_context"}]},{captures:{1:{name:"keyword.operator.herestring.shell"},2:{name:"string.unquoted.herestring.shell",patterns:[{include:"#initial_context"}]}},match:/(<<<)\p{space}*(([^\p{space}\)\\]|\\[^\n])+)/dgv,name:"meta.herestring.shell"}]},initial_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#logical_expression_double"},{include:"#logical_expression_single"},{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#loop"},{include:"#function_definition"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#misc_ranges"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#alias_statement"},{include:"#normal_statement"},{include:"#string"},{include:"#support"}]},inline_comment:{captures:{1:{name:"comment.block.shell punctuation.definition.comment.begin.shell"},2:{name:"comment.block.shell"},3:{patterns:[{match:/\*\//dgv,name:"comment.block.shell punctuation.definition.comment.end.shell"},{match:/\*/dgv,name:"comment.block.shell"}]}},match:new k("(/\\*)((?:(?=((?:[^\\*]|(?:(?=(\\*+))\\4)[^\\/])*))\\3)((?:(?=(\\*+))\\6)/))","dgv",{hiddenCaptures:[3,4,6]})},interpolation:{patterns:[{include:"#arithmetic_dollar"},{include:"#subshell_dollar"},{begin:/`/dgv,beginCaptures:{0:{name:"punctuation.definition.evaluation.backticks.shell"}},end:/`/dgv,endCaptures:{0:{name:"punctuation.definition.evaluation.backticks.shell"}},name:"string.interpolated.backtick.shell",patterns:[{match:/\\[\`\\\$]/dgv,name:"constant.character.escape.shell"},{begin:/(?<=[^\p{L}\p{M}\p{N}\p{Pc}])(?=#)(?!#\{)/dgv,beginCaptures:{1:{name:"punctuation.whitespace.comment.leading.shell"}},end:new k("(?!^)","dgv",{strategy:"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{0:{name:"punctuation.definition.comment.shell"}},end:/(?=`)/dgv,name:"comment.line.number-sign.shell"}]},{include:"#initial_context"}]}]},keyword:{patterns:[{match:/(?<=^|;|&|\p{space})(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"keyword.control.shell"},{match:/(?<=^|;|&|\p{space})(?:export|declare|typeset|local|readonly)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"storage.modifier.shell"}]},line_comment:{begin:new k("(?:(?=(\\p{space}*))\\1)(//)","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"punctuation.definition.comment.shell"}},end:/(?<=\n)(?<!\\\n)/dgv,endCaptures:{},name:"comment.line.double-slash.shell",patterns:[{include:"#line_continuation_character"}]},line_continuation:{match:/\\(?=\n)/dgv,name:"constant.character.escape.line-continuation.shell"},"logical-expression":{patterns:[{include:"#arithmetic_no_dollar"},{match:/=[\=\~]?|!=?|<|>|&&|\|\|/dgv,name:"keyword.operator.logical.shell"},{match:/(?<!\P{space})-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\b/dgv,name:"keyword.operator.logical.shell"}]},logical_expression_context:{patterns:[{include:"#regex_comparison"},{include:"#arithmetic_no_dollar"},{include:"#logical-expression"},{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#comment"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},logical_expression_double:{begin:/\[\[/dgv,beginCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},end:/\]\]/dgv,endCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},logical_expression_single:{begin:/\[/dgv,beginCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},end:/\]/dgv,endCaptures:{0:{name:"punctuation.definition.logical-expression.shell"}},name:"meta.scope.logical-expression.shell",patterns:[{include:"#logical_expression_context"}]},loop:{patterns:[{begin:/(?<=^|;|&|\p{space})(for)\p{space}+([^\n]+?)\p{space}+(in)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.control.shell"},2:{name:"variable.other.loop.shell",patterns:[{include:"#string"}]},3:{name:"keyword.control.shell"}},end:/(?<=^|;|&|\p{space})done(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.for-in-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})(while|until)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.control.shell"}},end:/(?<=^|;|&|\p{space})done(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{0:{name:"keyword.control.shell"}},name:"meta.scope.while-loop.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})(select)\p{space}+((?:[^\p{space}\\]|\\[^\n])+)(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{1:{name:"keyword.control.shell"},2:{name:"variable.other.loop.shell"}},end:/(?<=^|;|&|\p{space})(done)(?=\p{space}|;|&|(?=\n?$)|\))/dgv,endCaptures:{1:{name:"keyword.control.shell"}},name:"meta.scope.select-block.shell",patterns:[{include:"#initial_context"}]},{begin:/(?<=^|;|&|\p{space})if(?=\p{space}|;|&|(?=\n?$))/dgv,beginCaptures:{0:{name:"keyword.control.if.shell"}},end:/(?<=^|;|&|\p{space})fi(?=\p{space}|;|&|(?=\n?$))/dgv,endCaptures:{0:{name:"keyword.control.fi.shell"}},name:"meta.scope.if-block.shell",patterns:[{include:"#initial_context"}]}]},math:{patterns:[{include:"#variable"},{match:/\+{1,2}|-{1,2}|!|~|\*{1,2}|\/|%|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|\?|:|,|=|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX][0-9A-Fa-f]+/dgv,name:"constant.numeric.hex.shell"},{match:/;/dgv,name:"punctuation.separator.semicolon.range"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"}]},math_operators:{patterns:[{match:/\+{1,2}|-{1,2}|!|~|\*{1,2}|\/|%|<[\<\=]?|>[\>\=]?|==|!=|^|\|{1,2}|&{1,2}|\?|:|,|=|[\*\/\%\+\-\&\^\|]=|<<=|>>=/dgv,name:"keyword.operator.arithmetic.shell"},{match:/0[xX][0-9A-Fa-f]+/dgv,name:"constant.numeric.hex.shell"},{match:/0\p{Nd}+/dgv,name:"constant.numeric.octal.shell"},{match:/\p{Nd}{1,2}#[0-9a-zA-Z\@_]+/dgv,name:"constant.numeric.other.shell"},{match:/\p{Nd}+/dgv,name:"constant.numeric.integer.shell"}]},misc_ranges:{patterns:[{include:"#logical_expression_single"},{include:"#logical_expression_double"},{include:"#subshell_dollar"},{begin:/(?<![^ \t])(\{)(?![\p{L}\p{M}\p{N}\p{Pc}]|\$)/dgv,beginCaptures:{1:{name:"punctuation.definition.group.shell"}},end:/\}/dgv,endCaptures:{0:{name:"punctuation.definition.group.shell"}},name:"meta.scope.group.shell",patterns:[{include:"#initial_context"}]}]},modified_assignment_statement:{begin:/(?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$))/dgv,beginCaptures:{0:{name:"storage.modifier.$0.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell meta.expression.assignment.modified.shell",patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])-[\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"string.unquoted.argument.shell constant.other.option.shell"},{include:"#array_value"},{captures:{1:{name:"variable.other.assignment.shell"},2:{name:"punctuation.definition.array.access.shell"},3:{name:"variable.other.assignment.shell"},4:{name:"constant.numeric.shell constant.numeric.integer.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"keyword.operator.assignment.shell"},7:{name:"keyword.operator.assignment.compound.shell"},8:{name:"keyword.operator.assignment.compound.shell"},9:{name:"constant.numeric.shell constant.numeric.hex.shell"},10:{name:"constant.numeric.shell constant.numeric.octal.shell"},11:{name:"constant.numeric.shell constant.numeric.other.shell"},12:{name:"constant.numeric.shell constant.numeric.decimal.shell"},13:{name:"constant.numeric.shell constant.numeric.version.shell"},14:{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/((?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}]))(?:(\[)((?:(?:(?:\$?(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])|@)|\*)|(-?\p{Nd}+)))(\]))?(?:(?:(=)|(\+=))|(-=))?(?:(?<==| |\t|^|\{|\(|\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?= |\t|(?=\n?$)|\}|\)|;))?/dgv},{include:"#normal_context"}]},modifiers:{match:/(?<=^|;|&|[ \t])(?:readonly|declare|typeset|export|local)(?=[ \t]|;|&|(?=\n?$))/dgv,name:"storage.modifier.$0.shell"},normal_assignment_statement:{begin:new k("(?:(?=([ \\t]*))\\1)((?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(?:(\\[)((?:(?:(?:\\$?(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}])[a-zA-Z_0-9\\-]+(?![\\p{L}\\p{M}\\p{N}\\p{Pc}])|@)|\\*)|(-?\\p{Nd}+)))(\\]))?(?:(?:(=)|(\\+=))|(-=))","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"variable.other.assignment.shell"},2:{name:"punctuation.definition.array.access.shell"},3:{name:"variable.other.assignment.shell"},4:{name:"constant.numeric.shell constant.numeric.integer.shell"},5:{name:"punctuation.definition.array.access.shell"},6:{name:"keyword.operator.assignment.shell"},7:{name:"keyword.operator.assignment.compound.shell"},8:{name:"keyword.operator.assignment.compound.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.expression.assignment.shell",patterns:[{include:"#comment"},{include:"#string"},{include:"#normal_assignment_statement"},{begin:/(?<= |\t)(?! |\t|[\p{L}\p{M}\p{N}\p{Pc}]+=)/dgv,beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.command.env.shell",patterns:[{include:"#command_name_range"},{include:"#line_continuation"},{include:"#option"},{include:"#argument"},{include:"#string"}]},{include:"#simple_unquoted"},{include:"#normal_context"}]},normal_context:{patterns:[{include:"#comment"},{include:"#pipeline"},{include:"#normal_statement_seperator"},{include:"#misc_ranges"},{include:"#boolean"},{include:"#redirect_number"},{include:"#numeric_literal"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"},{include:"#parenthese"}]},normal_statement:{begin:new k("(?!^(?:(?=([ \\t]*))\\1)(?=\\n?$))(?:(?<=^until | until |\\tuntil |^while | while |\\twhile |^elif | elif |\\telif |^else | else |\\telse |^then | then |\\tthen |^do | do |\\tdo |^if | if |\\tif )|(?<=(?:^|;|\\||&|!|\\(|\\{|`)))(?:(?=([ \\t]*))\\2)(?!nocorrect[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|nocorrect\\$|function[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|function\\$|foreach[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|foreach\\$|repeat[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|repeat\\$|logout[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|logout\\$|coproc[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|coproc\\$|select[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|select\\$|while[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|while\\$|pushd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|pushd\\$|until[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|until\\$|case[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|case\\$|done[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|done\\$|elif[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|elif\\$|else[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|else\\$|esac[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|esac\\$|popd[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|popd\\$|then[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|then\\$|time[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|time\\$|for[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|for\\$|end[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|end\\$|fi[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|fi\\$|do[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|do\\$|in[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|in\\$|if[^\\p{L}\\p{M}\\p{N}\\p{Pc}]|if\\$)","dgv",{hiddenCaptures:[1,2]}),beginCaptures:{},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.statement.shell",patterns:[{include:"#typical_statements"}]},normal_statement_seperator:{captures:{1:{name:"punctuation.terminator.statement.semicolon.shell"},2:{name:"punctuation.separator.statement.and.shell"},3:{name:"punctuation.separator.statement.or.shell"},4:{name:"punctuation.separator.statement.background.shell"}},match:/(?:(?:(?:(;)|(&&))|(\|\|))|(&))/dgv},numeric_literal:{captures:{1:{name:"constant.numeric.shell constant.numeric.hex.shell"},2:{name:"constant.numeric.shell constant.numeric.octal.shell"},3:{name:"constant.numeric.shell constant.numeric.other.shell"},4:{name:"constant.numeric.shell constant.numeric.decimal.shell"},5:{name:"constant.numeric.shell constant.numeric.version.shell"},6:{name:"constant.numeric.shell constant.numeric.integer.shell"}},match:/(?<==| |\t|^|\{|\(|\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\p{Nd}+))|(\p{Nd}{1,2}#[0-9a-zA-Z\@_]+))|(-?\p{Nd}+\.\p{Nd}+))|(-?\p{Nd}+(?:\.\p{Nd}+)+))|(-?\p{Nd}+))(?= |\t|(?=\n?$)|\}|\)|;)/dgv},option:{begin:new k("(?:(?=([ \\t]+))\\1)(-)((?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t])))","dgv",{hiddenCaptures:[1]}),beginCaptures:{1:{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},2:{name:"string.unquoted.argument.shell constant.other.option.shell"}},contentName:"string.unquoted.argument constant.other.option",end:/(?:(?=[ \t])|(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\))/dgv,endCaptures:{},patterns:[{include:"#option_context"}]},option_context:{patterns:[{include:"#misc_ranges"},{include:"#string"},{include:"#variable"},{include:"#interpolation"},{include:"#heredoc"},{include:"#herestring"},{include:"#redirection"},{include:"#pathname"},{include:"#floating_keyword"},{include:"#support"}]},parenthese:{patterns:[{begin:/\(/dgv,beginCaptures:{0:{name:"punctuation.section.parenthese.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.section.parenthese.shell"}},name:"meta.parenthese.group.shell",patterns:[{include:"#initial_context"}]}]},pathname:{patterns:[{match:/(?<=\p{space}|:|=|^)~/dgv,name:"keyword.operator.tilde.shell"},{match:/\*|\?/dgv,name:"keyword.operator.glob.shell"},{begin:/([\?\*\+\@\!])(\()/dgv,beginCaptures:{1:{name:"keyword.operator.extglob.shell"},2:{name:"punctuation.definition.extglob.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.extglob.shell"}},name:"meta.structure.extglob.shell",patterns:[{include:"#initial_context"}]}]},pipeline:{patterns:[{match:/(?<=^|;|&|\p{space})(time)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"keyword.other.shell"},{match:/[\|\!]/dgv,name:"keyword.operator.pipe.shell"}]},redirect_fix:{captures:{1:{name:"keyword.operator.redirect.shell"},2:{name:"string.unquoted.argument.shell"}},match:new k("(>>?)(?:(?=([ \\t]*))\\2)([^ \\t\\n\\>\\&\\;\\<\\>\\(\\)\\$\\`\\\\\"'\\<\\|]+)","dgv",{hiddenCaptures:[2]})},redirect_number:{captures:{1:{name:"keyword.operator.redirect.stdout.shell"},2:{name:"keyword.operator.redirect.stderr.shell"},3:{name:"keyword.operator.redirect.$3.shell"}},match:/(?<=[ \t])(?:(1)|(2)|(\p{Nd}+))(?=>)/dgv},redirection:{patterns:[{begin:/[\>\<]\(/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.interpolated.process-substitution.shell",patterns:[{include:"#initial_context"}]},{match:/(?<![\<\>])(&>|\p{Nd}*>&\p{Nd}*|\p{Nd}*(>>|>|<)|\p{Nd}*<&|\p{Nd}*<>)(?![\<\>])/dgv,name:"keyword.operator.redirect.shell"}]},regex_comparison:{match:/=~/dgv,name:"keyword.operator.logical.regex.shell"},regexp:{patterns:[{match:/[^\n]+/dgv}]},simple_options:{captures:{0:{patterns:[{captures:{1:{name:"string.unquoted.argument.shell constant.other.option.dash.shell"},2:{name:"string.unquoted.argument.shell constant.other.option.shell"}},match:new k("(?:(?=([ \\t]+))\\1)(-)([\\p{L}\\p{M}\\p{N}\\p{Pc}]+)","dgv",{hiddenCaptures:[1]})}]}},match:new k("(?:(?:(?=([ \\t]+))\\1)-[\\p{L}\\p{M}\\p{N}\\p{Pc}]+)*","dgv",{hiddenCaptures:[1]})},simple_unquoted:{match:/[^ \t\n\>\&\;\<\>\(\)\$\`\\"'\<\|]/dgv,name:"string.unquoted.shell"},special_expansion:{match:/!|:[\-\=\?]?|\*|@|##|#|%%|%|\//dgv,name:"keyword.operator.expansion.shell"},start_of_command:{match:new k("(?:(?=([ \\t]*))\\1)(?!(?:!|&|\\||\\(|\\)|\\{|\\[|<|>|#|\\n|(?=\\n?$)|;|[ \\t]))(?!nocorrect |nocorrect\\t|nocorrect(?=\\n?$)|readonly |readonly\\t|readonly(?=\\n?$)|function |function\\t|function(?=\\n?$)|foreach |foreach\\t|foreach(?=\\n?$)|coproc |coproc\\t|coproc(?=\\n?$)|logout |logout\\t|logout(?=\\n?$)|export |export\\t|export(?=\\n?$)|select |select\\t|select(?=\\n?$)|repeat |repeat\\t|repeat(?=\\n?$)|pushd |pushd\\t|pushd(?=\\n?$)|until |until\\t|until(?=\\n?$)|while |while\\t|while(?=\\n?$)|local |local\\t|local(?=\\n?$)|case |case\\t|case(?=\\n?$)|done |done\\t|done(?=\\n?$)|elif |elif\\t|elif(?=\\n?$)|else |else\\t|else(?=\\n?$)|esac |esac\\t|esac(?=\\n?$)|popd |popd\\t|popd(?=\\n?$)|then |then\\t|then(?=\\n?$)|time |time\\t|time(?=\\n?$)|for |for\\t|for(?=\\n?$)|end |end\\t|end(?=\\n?$)|fi |fi\\t|fi(?=\\n?$)|do |do\\t|do(?=\\n?$)|in |in\\t|in(?=\\n?$)|if |if\\t|if(?=\\n?$))(?!\\\\\\n?(?=\\n?$))","dgv",{hiddenCaptures:[1]})},string:{patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.shell"},{begin:/'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.shell"},{begin:/\$?"/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/"/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.double.shell",patterns:[{match:/\\[\$\n\`"\\]/dgv,name:"constant.character.escape.shell"},{include:"#variable"},{include:"#interpolation"}]},{begin:/\$'/dgv,beginCaptures:{0:{name:"punctuation.definition.string.begin.shell"}},end:/'/dgv,endCaptures:{0:{name:"punctuation.definition.string.end.shell"}},name:"string.quoted.single.dollar.shell",patterns:[{match:/\\(?:a|b|e|f|n|r|t|v|\\|')/dgv,name:"constant.character.escape.ansi-c.shell"},{match:/\\[0-9]{3}"/dgv,name:"constant.character.escape.octal.shell"},{match:/\\x[0-9a-fA-F]{2}"/dgv,name:"constant.character.escape.hex.shell"},{match:/\\c[^\n]"/dgv,name:"constant.character.escape.control-char.shell"}]}]},subshell_dollar:{patterns:[{begin:/\$\(/dgv,beginCaptures:{0:{name:"punctuation.definition.subshell.single.shell"}},end:/\)/dgv,endCaptures:{0:{name:"punctuation.definition.subshell.single.shell"}},name:"meta.scope.subshell",patterns:[{include:"#parenthese"},{include:"#initial_context"}]}]},support:{patterns:[{match:/(?<=^|;|&|\p{space})(?::|\.)(?=\p{space}|;|&|(?=\n?$))/dgv,name:"support.function.builtin.shell"}]},typical_statements:{patterns:[{include:"#assignment_statement"},{include:"#case_statement"},{include:"#for_statement"},{include:"#while_statement"},{include:"#function_definition"},{include:"#command_statement"},{include:"#line_continuation"},{include:"#arithmetic_double"},{include:"#normal_context"}]},variable:{patterns:[{captures:{1:{name:"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},2:{name:"variable.parameter.positional.all.shell"}},match:/(\$)(@(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{1:{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},2:{name:"variable.parameter.positional.shell"}},match:/(\$)([0-9](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{captures:{1:{name:"punctuation.definition.variable.shell variable.language.special.shell"},2:{name:"variable.language.special.shell"}},match:/(\$)([\-\*\#\?\$\!0_](?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv},{begin:new k("(\\$)(\\{)(?:(?=([ \\t]*))\\3)(?=\\p{Nd})","dgv",{hiddenCaptures:[3]}),beginCaptures:{1:{name:"punctuation.definition.variable.shell variable.parameter.positional.shell"},2:{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/[0-9]+/dgv,name:"variable.parameter.positional.shell"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{begin:/(\$)(\{)/dgv,beginCaptures:{1:{name:"punctuation.definition.variable.shell"},2:{name:"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},contentName:"meta.parameter-expansion",end:/\}/dgv,endCaptures:{0:{name:"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},patterns:[{include:"#special_expansion"},{include:"#array_access_inline"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[a-zA-Z_0-9\-]+(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"variable.other.normal.shell"},{include:"#variable"},{include:"#string"}]},{captures:{1:{name:"punctuation.definition.variable.shell variable.other.normal.shell"},2:{name:"variable.other.normal.shell"}},match:/(\$)([\p{L}\p{M}\p{N}\p{Pc}]+(?![\p{L}\p{M}\p{N}\p{Pc}]))/dgv}]},while_statement:{patterns:[{begin:/(\bwhile\b)/dgv,beginCaptures:{1:{name:"keyword.control.while.shell"}},end:/(?=;|\||&|\n|\)|`|\{|\}|[ \t]*#|\])(?<!\\)/dgv,endCaptures:{},name:"meta.while.shell",patterns:[{include:"#line_continuation"},{include:"#math_operators"},{include:"#option"},{include:"#simple_unquoted"},{include:"#normal_context"},{include:"#string"}]}]}},scopeName:"source.shell",embeddedLangs:void 0,aliases:["bash","sh","shell","zsh"]}),Yp=[Jp],Ad=Object.freeze(Object.defineProperty({__proto__:null,default:Yp},Symbol.toStringTag,{value:"Module"})),Kp=Object.freeze(JSON.parse('{"colors":{"activityBar.activeBorder":"#4d9375","activityBar.background":"#121212","activityBar.border":"#191919","activityBar.foreground":"#dbd7caee","activityBar.inactiveForeground":"#dedcd550","activityBarBadge.background":"#bfbaaa","activityBarBadge.foreground":"#121212","badge.background":"#dedcd590","badge.foreground":"#121212","breadcrumb.activeSelectionForeground":"#eeeeee18","breadcrumb.background":"#181818","breadcrumb.focusForeground":"#dbd7caee","breadcrumb.foreground":"#959da5","breadcrumbPicker.background":"#121212","button.background":"#4d9375","button.foreground":"#121212","button.hoverBackground":"#4d9375","checkbox.background":"#181818","checkbox.border":"#2f363d","debugToolBar.background":"#121212","descriptionForeground":"#dedcd590","diffEditor.insertedTextBackground":"#4d937550","diffEditor.removedTextBackground":"#ab595950","dropdown.background":"#121212","dropdown.border":"#191919","dropdown.foreground":"#dbd7caee","dropdown.listBackground":"#181818","editor.background":"#121212","editor.findMatchBackground":"#e6cc7722","editor.findMatchHighlightBackground":"#e6cc7744","editor.focusedStackFrameHighlightBackground":"#b808","editor.foldBackground":"#eeeeee10","editor.foreground":"#dbd7caee","editor.inactiveSelectionBackground":"#eeeeee10","editor.lineHighlightBackground":"#181818","editor.selectionBackground":"#eeeeee18","editor.selectionHighlightBackground":"#eeeeee10","editor.stackFrameHighlightBackground":"#a707","editor.wordHighlightBackground":"#1c6b4805","editor.wordHighlightStrongBackground":"#1c6b4810","editorBracketHighlight.foreground1":"#5eaab5","editorBracketHighlight.foreground2":"#4d9375","editorBracketHighlight.foreground3":"#d4976c","editorBracketHighlight.foreground4":"#d9739f","editorBracketHighlight.foreground5":"#e6cc77","editorBracketHighlight.foreground6":"#6394bf","editorBracketMatch.background":"#4d937520","editorError.foreground":"#cb7676","editorGroup.border":"#191919","editorGroupHeader.tabsBackground":"#121212","editorGroupHeader.tabsBorder":"#191919","editorGutter.addedBackground":"#4d9375","editorGutter.commentRangeForeground":"#dedcd550","editorGutter.deletedBackground":"#cb7676","editorGutter.foldingControlForeground":"#dedcd590","editorGutter.modifiedBackground":"#6394bf","editorHint.foreground":"#4d9375","editorIndentGuide.activeBackground":"#ffffff30","editorIndentGuide.background":"#ffffff15","editorInfo.foreground":"#6394bf","editorInlayHint.background":"#181818","editorInlayHint.foreground":"#666666","editorLineNumber.activeForeground":"#bfbaaa","editorLineNumber.foreground":"#dedcd550","editorOverviewRuler.border":"#111","editorStickyScroll.background":"#181818","editorStickyScrollHover.background":"#181818","editorWarning.foreground":"#d4976c","editorWhitespace.foreground":"#ffffff15","editorWidget.background":"#121212","errorForeground":"#cb7676","focusBorder":"#00000000","foreground":"#dbd7caee","gitDecoration.addedResourceForeground":"#4d9375","gitDecoration.conflictingResourceForeground":"#d4976c","gitDecoration.deletedResourceForeground":"#cb7676","gitDecoration.ignoredResourceForeground":"#dedcd550","gitDecoration.modifiedResourceForeground":"#6394bf","gitDecoration.submoduleResourceForeground":"#dedcd590","gitDecoration.untrackedResourceForeground":"#5eaab5","input.background":"#181818","input.border":"#191919","input.foreground":"#dbd7caee","input.placeholderForeground":"#dedcd590","inputOption.activeBackground":"#dedcd550","list.activeSelectionBackground":"#181818","list.activeSelectionForeground":"#dbd7caee","list.focusBackground":"#181818","list.highlightForeground":"#4d9375","list.hoverBackground":"#181818","list.hoverForeground":"#dbd7caee","list.inactiveFocusBackground":"#121212","list.inactiveSelectionBackground":"#181818","list.inactiveSelectionForeground":"#dbd7caee","menu.separatorBackground":"#191919","notificationCenterHeader.background":"#121212","notificationCenterHeader.foreground":"#959da5","notifications.background":"#121212","notifications.border":"#191919","notifications.foreground":"#dbd7caee","notificationsErrorIcon.foreground":"#cb7676","notificationsInfoIcon.foreground":"#6394bf","notificationsWarningIcon.foreground":"#d4976c","panel.background":"#121212","panel.border":"#191919","panelInput.border":"#2f363d","panelTitle.activeBorder":"#4d9375","panelTitle.activeForeground":"#dbd7caee","panelTitle.inactiveForeground":"#959da5","peekViewEditor.background":"#121212","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.background":"#121212","peekViewResult.matchHighlightBackground":"#ffd33d33","pickerGroup.border":"#191919","pickerGroup.foreground":"#dbd7caee","problemsErrorIcon.foreground":"#cb7676","problemsInfoIcon.foreground":"#6394bf","problemsWarningIcon.foreground":"#d4976c","progressBar.background":"#4d9375","quickInput.background":"#121212","quickInput.foreground":"#dbd7caee","quickInputList.focusBackground":"#181818","scrollbar.shadow":"#0000","scrollbarSlider.activeBackground":"#dedcd550","scrollbarSlider.background":"#dedcd510","scrollbarSlider.hoverBackground":"#dedcd550","settings.headerForeground":"#dbd7caee","settings.modifiedItemIndicator":"#4d9375","sideBar.background":"#121212","sideBar.border":"#191919","sideBar.foreground":"#bfbaaa","sideBarSectionHeader.background":"#121212","sideBarSectionHeader.border":"#191919","sideBarSectionHeader.foreground":"#dbd7caee","sideBarTitle.foreground":"#dbd7caee","statusBar.background":"#121212","statusBar.border":"#191919","statusBar.debuggingBackground":"#181818","statusBar.debuggingForeground":"#bfbaaa","statusBar.foreground":"#bfbaaa","statusBar.noFolderBackground":"#121212","statusBarItem.prominentBackground":"#181818","tab.activeBackground":"#121212","tab.activeBorder":"#191919","tab.activeBorderTop":"#dedcd590","tab.activeForeground":"#dbd7caee","tab.border":"#191919","tab.hoverBackground":"#181818","tab.inactiveBackground":"#121212","tab.inactiveForeground":"#959da5","tab.unfocusedActiveBorder":"#191919","tab.unfocusedActiveBorderTop":"#191919","tab.unfocusedHoverBackground":"#121212","terminal.ansiBlack":"#393a34","terminal.ansiBlue":"#6394bf","terminal.ansiBrightBlack":"#777777","terminal.ansiBrightBlue":"#6394bf","terminal.ansiBrightCyan":"#5eaab5","terminal.ansiBrightGreen":"#4d9375","terminal.ansiBrightMagenta":"#d9739f","terminal.ansiBrightRed":"#cb7676","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#e6cc77","terminal.ansiCyan":"#5eaab5","terminal.ansiGreen":"#4d9375","terminal.ansiMagenta":"#d9739f","terminal.ansiRed":"#cb7676","terminal.ansiWhite":"#dbd7ca","terminal.ansiYellow":"#e6cc77","terminal.foreground":"#dbd7caee","terminal.selectionBackground":"#eeeeee18","textBlockQuote.background":"#121212","textBlockQuote.border":"#191919","textCodeBlock.background":"#121212","textLink.activeForeground":"#4d9375","textLink.foreground":"#4d9375","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","titleBar.activeBackground":"#121212","titleBar.activeForeground":"#bfbaaa","titleBar.border":"#181818","titleBar.inactiveBackground":"#121212","titleBar.inactiveForeground":"#959da5","tree.indentGuidesStroke":"#2f363d","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"displayName":"Vitesse Dark","name":"vitesse-dark","semanticHighlighting":true,"semanticTokenColors":{"class":"#6872ab","interface":"#5d99a9","namespace":"#db889a","property":"#b8a965","type":"#5d99a9"},"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#758575dd"}},{"scope":["delimiter.bracket","delimiter","invalid.illegal.character-not-allowed-here.html","keyword.operator.rest","keyword.operator.spread","keyword.operator.type.annotation","keyword.operator.relational","keyword.operator.assignment","keyword.operator.type","meta.brace","meta.tag.block.any.html","meta.tag.inline.any.html","meta.tag.structure.input.void.html","meta.type.annotation","meta.embedded.block.github-actions-expression","storage.type.function.arrow","meta.objectliteral.ts","punctuation","punctuation.definition.string.begin.html.vue","punctuation.definition.string.end.html.vue"],"settings":{"foreground":"#666666"}},{"scope":["constant","entity.name.constant","variable.language","meta.definition.variable"],"settings":{"foreground":"#c99076"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#80a665"}},{"scope":"variable.parameter.function","settings":{"foreground":"#dbd7caee"}},{"scope":["entity.name.tag","tag.html"],"settings":{"foreground":"#4d9375"}},{"scope":"entity.name.function","settings":{"foreground":"#80a665"}},{"scope":["keyword","storage.type.class.jsdoc","punctuation.definition.template-expression"],"settings":{"foreground":"#4d9375"}},{"scope":["storage","storage.type","support.type.builtin","constant.language.undefined","constant.language.null","constant.language.import-export-all.ts"],"settings":{"foreground":"#cb7676"}},{"scope":["text.html.derivative","storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#dbd7caee"}},{"scope":["string","string punctuation.section.embedded source","attribute.value"],"settings":{"foreground":"#c98a7d"}},{"scope":["punctuation.definition.string"],"settings":{"foreground":"#c98a7d77"}},{"scope":["punctuation.support.type.property-name"],"settings":{"foreground":"#b8a96577"}},{"scope":"support","settings":{"foreground":"#b8a965"}},{"scope":["property","meta.property-name","meta.object-literal.key","entity.name.tag.yaml","attribute.name"],"settings":{"foreground":"#b8a965"}},{"scope":["entity.other.attribute-name","invalid.deprecated.entity.other.attribute-name.html"],"settings":{"foreground":"#bd976a"}},{"scope":["variable","identifier"],"settings":{"foreground":"#bd976a"}},{"scope":["support.type.primitive","entity.name.type"],"settings":{"foreground":"#5DA994"}},{"scope":"namespace","settings":{"foreground":"#db889a"}},{"scope":["keyword.operator","keyword.operator.assignment.compound","meta.var.expr.ts"],"settings":{"foreground":"#cb7676"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"background":"#f97583","content":"^M","fontStyle":"italic underline","foreground":"#24292e"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#c98a7d"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#c4704f"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#c98a7d"}},{"scope":"string.regexp constant.character.escape","settings":{"foreground":"#e6cc77"}},{"scope":["support.constant"],"settings":{"foreground":"#c99076"}},{"scope":["keyword.operator.quantifier.regexp","constant.numeric","number"],"settings":{"foreground":"#4C9A91"}},{"scope":["keyword.other.unit"],"settings":{"foreground":"#cb7676"}},{"scope":["constant.language.boolean","constant.language"],"settings":{"foreground":"#4d9375"}},{"scope":"meta.module-reference","settings":{"foreground":"#4d9375"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#d4976c"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#4d9375"}},{"scope":"markup.quote","settings":{"foreground":"#5d99a9"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#dbd7caee"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#dbd7caee"}},{"scope":"markup.raw","settings":{"foreground":"#4d9375"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#79b8ff","foreground":"#2f363d"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#b392f0"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link","punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#c98a7d"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"fontStyle":"underline","foreground":"#dedcd590"}},{"scope":["type.identifier","constant.other.character-class.regexp"],"settings":{"foreground":"#6872ab"}},{"scope":["entity.other.attribute-name.html.vue"],"settings":{"foreground":"#80a665"}},{"scope":["invalid.illegal.unrecognized-tag.html"],"settings":{"fontStyle":"normal"}}],"type":"dark"}')),Nd=Object.freeze(Object.defineProperty({__proto__:null,default:Kp},Symbol.toStringTag,{value:"Module"})),Qp=Object.freeze(JSON.parse('{"colors":{"activityBar.activeBorder":"#1c6b48","activityBar.background":"#ffffff","activityBar.border":"#f0f0f0","activityBar.foreground":"#393a34","activityBar.inactiveForeground":"#393a3450","activityBarBadge.background":"#4e4f47","activityBarBadge.foreground":"#ffffff","badge.background":"#393a3490","badge.foreground":"#ffffff","breadcrumb.activeSelectionForeground":"#22222218","breadcrumb.background":"#f7f7f7","breadcrumb.focusForeground":"#393a34","breadcrumb.foreground":"#6a737d","breadcrumbPicker.background":"#ffffff","button.background":"#1c6b48","button.foreground":"#ffffff","button.hoverBackground":"#1c6b48","checkbox.background":"#f7f7f7","checkbox.border":"#d1d5da","debugToolBar.background":"#ffffff","descriptionForeground":"#393a3490","diffEditor.insertedTextBackground":"#1c6b4830","diffEditor.removedTextBackground":"#ab595940","dropdown.background":"#ffffff","dropdown.border":"#f0f0f0","dropdown.foreground":"#393a34","dropdown.listBackground":"#f7f7f7","editor.background":"#ffffff","editor.findMatchBackground":"#e6cc7744","editor.findMatchHighlightBackground":"#e6cc7766","editor.focusedStackFrameHighlightBackground":"#fff5b1","editor.foldBackground":"#22222210","editor.foreground":"#393a34","editor.inactiveSelectionBackground":"#22222210","editor.lineHighlightBackground":"#f7f7f7","editor.selectionBackground":"#22222218","editor.selectionHighlightBackground":"#22222210","editor.stackFrameHighlightBackground":"#fffbdd","editor.wordHighlightBackground":"#1c6b4805","editor.wordHighlightStrongBackground":"#1c6b4810","editorBracketHighlight.foreground1":"#2993a3","editorBracketHighlight.foreground2":"#1e754f","editorBracketHighlight.foreground3":"#a65e2b","editorBracketHighlight.foreground4":"#a13865","editorBracketHighlight.foreground5":"#bda437","editorBracketHighlight.foreground6":"#296aa3","editorBracketMatch.background":"#1c6b4820","editorError.foreground":"#ab5959","editorGroup.border":"#f0f0f0","editorGroupHeader.tabsBackground":"#ffffff","editorGroupHeader.tabsBorder":"#f0f0f0","editorGutter.addedBackground":"#1e754f","editorGutter.commentRangeForeground":"#393a3450","editorGutter.deletedBackground":"#ab5959","editorGutter.foldingControlForeground":"#393a3490","editorGutter.modifiedBackground":"#296aa3","editorHint.foreground":"#1e754f","editorIndentGuide.activeBackground":"#00000030","editorIndentGuide.background":"#00000015","editorInfo.foreground":"#296aa3","editorInlayHint.background":"#f7f7f7","editorInlayHint.foreground":"#999999","editorLineNumber.activeForeground":"#4e4f47","editorLineNumber.foreground":"#393a3450","editorOverviewRuler.border":"#fff","editorStickyScroll.background":"#f7f7f7","editorStickyScrollHover.background":"#f7f7f7","editorWarning.foreground":"#a65e2b","editorWhitespace.foreground":"#00000015","editorWidget.background":"#ffffff","errorForeground":"#ab5959","focusBorder":"#00000000","foreground":"#393a34","gitDecoration.addedResourceForeground":"#1e754f","gitDecoration.conflictingResourceForeground":"#a65e2b","gitDecoration.deletedResourceForeground":"#ab5959","gitDecoration.ignoredResourceForeground":"#393a3450","gitDecoration.modifiedResourceForeground":"#296aa3","gitDecoration.submoduleResourceForeground":"#393a3490","gitDecoration.untrackedResourceForeground":"#2993a3","input.background":"#f7f7f7","input.border":"#f0f0f0","input.foreground":"#393a34","input.placeholderForeground":"#393a3490","inputOption.activeBackground":"#393a3450","list.activeSelectionBackground":"#f7f7f7","list.activeSelectionForeground":"#393a34","list.focusBackground":"#f7f7f7","list.highlightForeground":"#1c6b48","list.hoverBackground":"#f7f7f7","list.hoverForeground":"#393a34","list.inactiveFocusBackground":"#ffffff","list.inactiveSelectionBackground":"#f7f7f7","list.inactiveSelectionForeground":"#393a34","menu.separatorBackground":"#f0f0f0","notificationCenterHeader.background":"#ffffff","notificationCenterHeader.foreground":"#6a737d","notifications.background":"#ffffff","notifications.border":"#f0f0f0","notifications.foreground":"#393a34","notificationsErrorIcon.foreground":"#ab5959","notificationsInfoIcon.foreground":"#296aa3","notificationsWarningIcon.foreground":"#a65e2b","panel.background":"#ffffff","panel.border":"#f0f0f0","panelInput.border":"#e1e4e8","panelTitle.activeBorder":"#1c6b48","panelTitle.activeForeground":"#393a34","panelTitle.inactiveForeground":"#6a737d","peekViewEditor.background":"#ffffff","peekViewResult.background":"#ffffff","pickerGroup.border":"#f0f0f0","pickerGroup.foreground":"#393a34","problemsErrorIcon.foreground":"#ab5959","problemsInfoIcon.foreground":"#296aa3","problemsWarningIcon.foreground":"#a65e2b","progressBar.background":"#1c6b48","quickInput.background":"#ffffff","quickInput.foreground":"#393a34","quickInputList.focusBackground":"#f7f7f7","scrollbar.shadow":"#6a737d33","scrollbarSlider.activeBackground":"#393a3450","scrollbarSlider.background":"#393a3410","scrollbarSlider.hoverBackground":"#393a3450","settings.headerForeground":"#393a34","settings.modifiedItemIndicator":"#1c6b48","sideBar.background":"#ffffff","sideBar.border":"#f0f0f0","sideBar.foreground":"#4e4f47","sideBarSectionHeader.background":"#ffffff","sideBarSectionHeader.border":"#f0f0f0","sideBarSectionHeader.foreground":"#393a34","sideBarTitle.foreground":"#393a34","statusBar.background":"#ffffff","statusBar.border":"#f0f0f0","statusBar.debuggingBackground":"#f7f7f7","statusBar.debuggingForeground":"#4e4f47","statusBar.foreground":"#4e4f47","statusBar.noFolderBackground":"#ffffff","statusBarItem.prominentBackground":"#f7f7f7","tab.activeBackground":"#ffffff","tab.activeBorder":"#f0f0f0","tab.activeBorderTop":"#393a3490","tab.activeForeground":"#393a34","tab.border":"#f0f0f0","tab.hoverBackground":"#f7f7f7","tab.inactiveBackground":"#ffffff","tab.inactiveForeground":"#6a737d","tab.unfocusedActiveBorder":"#f0f0f0","tab.unfocusedActiveBorderTop":"#f0f0f0","tab.unfocusedHoverBackground":"#ffffff","terminal.ansiBlack":"#121212","terminal.ansiBlue":"#296aa3","terminal.ansiBrightBlack":"#aaaaaa","terminal.ansiBrightBlue":"#296aa3","terminal.ansiBrightCyan":"#2993a3","terminal.ansiBrightGreen":"#1e754f","terminal.ansiBrightMagenta":"#a13865","terminal.ansiBrightRed":"#ab5959","terminal.ansiBrightWhite":"#dddddd","terminal.ansiBrightYellow":"#bda437","terminal.ansiCyan":"#2993a3","terminal.ansiGreen":"#1e754f","terminal.ansiMagenta":"#a13865","terminal.ansiRed":"#ab5959","terminal.ansiWhite":"#dbd7ca","terminal.ansiYellow":"#bda437","terminal.foreground":"#393a34","terminal.selectionBackground":"#22222218","textBlockQuote.background":"#ffffff","textBlockQuote.border":"#f0f0f0","textCodeBlock.background":"#ffffff","textLink.activeForeground":"#1c6b48","textLink.foreground":"#1c6b48","textPreformat.foreground":"#586069","textSeparator.foreground":"#d1d5da","titleBar.activeBackground":"#ffffff","titleBar.activeForeground":"#4e4f47","titleBar.border":"#f7f7f7","titleBar.inactiveBackground":"#ffffff","titleBar.inactiveForeground":"#6a737d","tree.indentGuidesStroke":"#e1e4e8","welcomePage.buttonBackground":"#f6f8fa","welcomePage.buttonHoverBackground":"#e1e4e8"},"displayName":"Vitesse Light","name":"vitesse-light","semanticHighlighting":true,"semanticTokenColors":{"class":"#5a6aa6","interface":"#2e808f","namespace":"#b05a78","property":"#998418","type":"#2e808f"},"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#a0ada0"}},{"scope":["delimiter.bracket","delimiter","invalid.illegal.character-not-allowed-here.html","keyword.operator.rest","keyword.operator.spread","keyword.operator.type.annotation","keyword.operator.relational","keyword.operator.assignment","keyword.operator.type","meta.brace","meta.tag.block.any.html","meta.tag.inline.any.html","meta.tag.structure.input.void.html","meta.type.annotation","meta.embedded.block.github-actions-expression","storage.type.function.arrow","meta.objectliteral.ts","punctuation","punctuation.definition.string.begin.html.vue","punctuation.definition.string.end.html.vue"],"settings":{"foreground":"#999999"}},{"scope":["constant","entity.name.constant","variable.language","meta.definition.variable"],"settings":{"foreground":"#a65e2b"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#59873a"}},{"scope":"variable.parameter.function","settings":{"foreground":"#393a34"}},{"scope":["entity.name.tag","tag.html"],"settings":{"foreground":"#1e754f"}},{"scope":"entity.name.function","settings":{"foreground":"#59873a"}},{"scope":["keyword","storage.type.class.jsdoc","punctuation.definition.template-expression"],"settings":{"foreground":"#1e754f"}},{"scope":["storage","storage.type","support.type.builtin","constant.language.undefined","constant.language.null","constant.language.import-export-all.ts"],"settings":{"foreground":"#ab5959"}},{"scope":["text.html.derivative","storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#393a34"}},{"scope":["string","string punctuation.section.embedded source","attribute.value"],"settings":{"foreground":"#b56959"}},{"scope":["punctuation.definition.string"],"settings":{"foreground":"#b5695977"}},{"scope":["punctuation.support.type.property-name"],"settings":{"foreground":"#99841877"}},{"scope":"support","settings":{"foreground":"#998418"}},{"scope":["property","meta.property-name","meta.object-literal.key","entity.name.tag.yaml","attribute.name"],"settings":{"foreground":"#998418"}},{"scope":["entity.other.attribute-name","invalid.deprecated.entity.other.attribute-name.html"],"settings":{"foreground":"#b07d48"}},{"scope":["variable","identifier"],"settings":{"foreground":"#b07d48"}},{"scope":["support.type.primitive","entity.name.type"],"settings":{"foreground":"#2e8f82"}},{"scope":"namespace","settings":{"foreground":"#b05a78"}},{"scope":["keyword.operator","keyword.operator.assignment.compound","meta.var.expr.ts"],"settings":{"foreground":"#ab5959"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"carriage-return","settings":{"background":"#d73a49","content":"^M","fontStyle":"italic underline","foreground":"#fafbfc"}},{"scope":"message.error","settings":{"foreground":"#b31d28"}},{"scope":"string variable","settings":{"foreground":"#b56959"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#ab5e3f"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#b56959"}},{"scope":"string.regexp constant.character.escape","settings":{"foreground":"#bda437"}},{"scope":["support.constant"],"settings":{"foreground":"#a65e2b"}},{"scope":["keyword.operator.quantifier.regexp","constant.numeric","number"],"settings":{"foreground":"#2f798a"}},{"scope":["keyword.other.unit"],"settings":{"foreground":"#ab5959"}},{"scope":["constant.language.boolean","constant.language"],"settings":{"foreground":"#1e754f"}},{"scope":"meta.module-reference","settings":{"foreground":"#1c6b48"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#a65e2b"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#1c6b48"}},{"scope":"markup.quote","settings":{"foreground":"#2e808f"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#393a34"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#393a34"}},{"scope":"markup.raw","settings":{"foreground":"#1c6b48"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#ffeef0","foreground":"#b31d28"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#f0fff4","foreground":"#22863a"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#ffebda","foreground":"#e36209"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#005cc5","foreground":"#f6f8fa"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#6f42c1"}},{"scope":"meta.diff.header","settings":{"foreground":"#005cc5"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#005cc5"}},{"scope":"meta.output","settings":{"foreground":"#005cc5"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#586069"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#b31d28"}},{"scope":["constant.other.reference.link","string.other.link","punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#b56959"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"fontStyle":"underline","foreground":"#393a3490"}},{"scope":["type.identifier","constant.other.character-class.regexp"],"settings":{"foreground":"#5a6aa6"}},{"scope":["entity.other.attribute-name.html.vue"],"settings":{"foreground":"#59873a"}},{"scope":["invalid.illegal.unrecognized-tag.html"],"settings":{"fontStyle":"normal"}}],"type":"light"}')),Fd=Object.freeze(Object.defineProperty({__proto__:null,default:Qp},Symbol.toStringTag,{value:"Module"}));let ke=class extends Error{constructor(e){super(e),this.name="ShikiError"}},qn=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function ec(){return 2147483648}function tc(){return typeof performance<"u"?performance.now():Date.now()}const nc=(t,e)=>t+(e-t%e)%e;async function ac(t){let e,n;const a={};function s(d){n=d,a.HEAPU8=new Uint8Array(d),a.HEAPU32=new Uint32Array(d)}function i(d,m,$){a.HEAPU8.copyWithin(d,m,m+$)}function r(d){try{return e.grow(d-n.byteLength+65535>>>16),s(e.buffer),1}catch{}}function o(d){const m=a.HEAPU8.length;d=d>>>0;const $=ec();if(d>$)return!1;for(let h=1;h<=4;h*=2){let f=m*(1+.2/h);f=Math.min(f,d+100663296);const b=Math.min($,nc(Math.max(d,f),65536));if(r(b))return!0}return!1}const p=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function c(d,m,$=1024){const h=m+$;let f=m;for(;d[f]&&!(f>=h);)++f;if(f-m>16&&d.buffer&&p)return p.decode(d.subarray(m,f));let b="";for(;m<f;){let y=d[m++];if(!(y&128)){b+=String.fromCharCode(y);continue}const N=d[m++]&63;if((y&224)===192){b+=String.fromCharCode((y&31)<<6|N);continue}const A=d[m++]&63;if((y&240)===224?y=(y&15)<<12|N<<6|A:y=(y&7)<<18|N<<12|A<<6|d[m++]&63,y<65536)b+=String.fromCharCode(y);else{const E=y-65536;b+=String.fromCharCode(55296|E>>10,56320|E&1023)}}return b}function l(d,m){return d?c(a.HEAPU8,d,m):""}const u={emscripten_get_now:tc,emscripten_memcpy_big:i,emscripten_resize_heap:o,fd_write:()=>0};async function g(){const m=await t({env:u,wasi_snapshot_preview1:u});e=m.memory,s(e.buffer),Object.assign(a,m),a.UTF8ToString=l}return await g(),a}var sc=Object.defineProperty,ic=(t,e,n)=>e in t?sc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,T=(t,e,n)=>(ic(t,typeof e!="symbol"?e+"":e,n),n);let R=null;function rc(t){throw new qn(t.UTF8ToString(t.getLastOnigError()))}class Lt{constructor(e){T(this,"utf16Length"),T(this,"utf8Length"),T(this,"utf16Value"),T(this,"utf8Value"),T(this,"utf16OffsetToUtf8"),T(this,"utf8OffsetToUtf16");const n=e.length,a=Lt._utf8ByteLength(e),s=a!==n,i=s?new Uint32Array(n+1):null;s&&(i[n]=a);const r=s?new Uint32Array(a+1):null;s&&(r[a]=n);const o=new Uint8Array(a);let p=0;for(let c=0;c<n;c++){const l=e.charCodeAt(c);let u=l,g=!1;if(l>=55296&&l<=56319&&c+1<n){const d=e.charCodeAt(c+1);d>=56320&&d<=57343&&(u=(l-55296<<10)+65536|d-56320,g=!0)}s&&(i[c]=p,g&&(i[c+1]=p),u<=127?r[p+0]=c:u<=2047?(r[p+0]=c,r[p+1]=c):u<=65535?(r[p+0]=c,r[p+1]=c,r[p+2]=c):(r[p+0]=c,r[p+1]=c,r[p+2]=c,r[p+3]=c)),u<=127?o[p++]=u:u<=2047?(o[p++]=192|(u&1984)>>>6,o[p++]=128|(u&63)>>>0):u<=65535?(o[p++]=224|(u&61440)>>>12,o[p++]=128|(u&4032)>>>6,o[p++]=128|(u&63)>>>0):(o[p++]=240|(u&1835008)>>>18,o[p++]=128|(u&258048)>>>12,o[p++]=128|(u&4032)>>>6,o[p++]=128|(u&63)>>>0),g&&c++}this.utf16Length=n,this.utf8Length=a,this.utf16Value=e,this.utf8Value=o,this.utf16OffsetToUtf8=i,this.utf8OffsetToUtf16=r}static _utf8ByteLength(e){let n=0;for(let a=0,s=e.length;a<s;a++){const i=e.charCodeAt(a);let r=i,o=!1;if(i>=55296&&i<=56319&&a+1<s){const p=e.charCodeAt(a+1);p>=56320&&p<=57343&&(r=(i-55296<<10)+65536|p-56320,o=!0)}r<=127?n+=1:r<=2047?n+=2:r<=65535?n+=3:n+=4,o&&a++}return n}createString(e){const n=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,n),n}}const ae=class{constructor(t){if(T(this,"id",++ae.LAST_ID),T(this,"_onigBinding"),T(this,"content"),T(this,"utf16Length"),T(this,"utf8Length"),T(this,"utf16OffsetToUtf8"),T(this,"utf8OffsetToUtf16"),T(this,"ptr"),!R)throw new qn("Must invoke loadWasm first.");this._onigBinding=R,this.content=t;const e=new Lt(t);this.utf16Length=e.utf16Length,this.utf8Length=e.utf8Length,this.utf16OffsetToUtf8=e.utf16OffsetToUtf8,this.utf8OffsetToUtf16=e.utf8OffsetToUtf16,this.utf8Length<1e4&&!ae._sharedPtrInUse?(ae._sharedPtr||(ae._sharedPtr=R.omalloc(1e4)),ae._sharedPtrInUse=!0,R.HEAPU8.set(e.utf8Value,ae._sharedPtr),this.ptr=ae._sharedPtr):this.ptr=e.createString(R)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===ae._sharedPtr?ae._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};let Ke=ae;T(Ke,"LAST_ID",0);T(Ke,"_sharedPtr",0);T(Ke,"_sharedPtrInUse",!1);class oc{constructor(e){if(T(this,"_onigBinding"),T(this,"_ptr"),!R)throw new qn("Must invoke loadWasm first.");const n=[],a=[];for(let o=0,p=e.length;o<p;o++){const c=new Lt(e[o]);n[o]=c.createString(R),a[o]=c.utf8Length}const s=R.omalloc(4*e.length);R.HEAPU32.set(n,s/4);const i=R.omalloc(4*e.length);R.HEAPU32.set(a,i/4);const r=R.createOnigScanner(s,i,e.length);for(let o=0,p=e.length;o<p;o++)R.ofree(n[o]);R.ofree(i),R.ofree(s),r===0&&rc(R),this._onigBinding=R,this._ptr=r}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,n,a){let s=0;if(typeof a=="number"&&(s=a),typeof e=="string"){e=new Ke(e);const i=this._findNextMatchSync(e,n,!1,s);return e.dispose(),i}return this._findNextMatchSync(e,n,!1,s)}_findNextMatchSync(e,n,a,s){const i=this._onigBinding,r=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(n),s);if(r===0)return null;const o=i.HEAPU32;let p=r/4;const c=o[p++],l=o[p++],u=[];for(let g=0;g<l;g++){const d=e.convertUtf8OffsetToUtf16(o[p++]),m=e.convertUtf8OffsetToUtf16(o[p++]);u[g]={start:d,end:m,length:m-d}}return{index:c,captureIndices:u}}}function pc(t){return typeof t.instantiator=="function"}function cc(t){return typeof t.default=="function"}function lc(t){return typeof t.data<"u"}function uc(t){return typeof Response<"u"&&t instanceof Response}function dc(t){return typeof ArrayBuffer<"u"&&(t instanceof ArrayBuffer||ArrayBuffer.isView(t))||typeof Buffer<"u"&&Buffer.isBuffer?.(t)||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&t instanceof Uint32Array}let rt;function mc(t){if(rt)return rt;async function e(){R=await ac(async n=>{let a=t;return a=await a,typeof a=="function"&&(a=await a(n)),typeof a=="function"&&(a=await a(n)),pc(a)?a=await a.instantiator(n):cc(a)?a=await a.default(n):(lc(a)&&(a=a.data),uc(a)?typeof WebAssembly.instantiateStreaming=="function"?a=await gc(a)(n):a=await hc(a)(n):dc(a)?a=await Jt(a)(n):a instanceof WebAssembly.Module?a=await Jt(a)(n):"default"in a&&a.default instanceof WebAssembly.Module&&(a=await Jt(a.default)(n))),"instance"in a&&(a=a.instance),"exports"in a&&(a=a.exports),a})}return rt=e(),rt}function Jt(t){return e=>WebAssembly.instantiate(t,e)}function gc(t){return e=>WebAssembly.instantiateStreaming(t,e)}function hc(t){return async e=>{const n=await t.arrayBuffer();return WebAssembly.instantiate(n,e)}}let bc;function fc(){return bc}async function yc(t){return t&&await mc(t),{createScanner(e){return new oc(e.map(n=>typeof n=="string"?n:n.source))},createString(e){return new Ke(e)}}}const we="$E$";class Pn extends RegExp{_captureMap;_namesByIndex;constructor(e,n,a){if(e instanceof RegExp&&a)throw new Error("Cannot provide options when copying a regexp");const s=!!a?.useEmulationGroups,i=s?_c(e):null;super(i?.expression||e,n);const r=s?i:e instanceof Pn?e:null;r&&(this._captureMap=r._captureMap,this._namesByIndex=r._namesByIndex)}exec(e){const n=RegExp.prototype.exec.call(this,e);if(!n||!this._captureMap)return n;const a=[...n];n.length=1;let s;this.hasIndices&&(s=[...n.indices],n.indices.length=1);for(let i=1;i<a.length;i++)if(this._captureMap[i].exclude){const r=this._captureMap[i].transfer;if(r&&n.length>r){n[r]=a[i];const o=this._namesByIndex[r];o&&(n.groups[o]=a[i],this.hasIndices&&(n.indices.groups[o]=s[i])),this.hasIndices&&(n.indices[r]=s[i])}}else n.push(a[i]),this.hasIndices&&n.indices.push(s[i]);return n}}function _c(t){const e=we.replace(/\$/g,"\\$"),n=[{exclude:!1}],a={0:""};let s=0;return t=Ft(t,String.raw`\((?:(?!\?)|\?<(?![=!])(?<name>[^>]+)>)(?<mark>(?:\$(?<transfer>[1-9]\d*))?${e})?`,({0:i,groups:{name:r,mark:o,transfer:p}})=>o?(n.push({exclude:!0,transfer:p&&+p}),i.slice(0,-o.length)):(s++,r&&(a[s]=r),n.push({exclude:!1}),i),K.DEFAULT),{_captureMap:n,_namesByIndex:a,expression:t}}const $c=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function vc(t,e,n,a){return t.slice(0,e)+a+t.slice(e+n.length)}const ha=new RegExp(String.raw`(?<noncapturingStart>${$c})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function kc(t,e){if(!/\(\?>/.test(t))return t;const n="(?>",a=`(?:(?=(${e?.useEmulationGroups?we:""}`,s=[0];let i=0,r=0,o=NaN,p;do{p=!1;let c=0,l=0,u=!1,g;for(ha.lastIndex=Number.isNaN(o)?0:o+a.length;g=ha.exec(t);){const{0:d,index:m,groups:{capturingStart:$,noncapturingStart:h}}=g;if(d==="[")c++;else if(c)d==="]"&&c--;else if(d===n&&!u)o=m,u=!0;else if(u&&h)l++;else if($)u?l++:(i++,s.push(i+r));else if(d===")"&&u){if(!l){r++,t=`${t.slice(0,o)}${a}${t.slice(o+n.length,m)}))<$$${r+i}>)${t.slice(m+1)}`,p=!0;break}l--}}}while(p);return t=Ft(t,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:c,groups:{backrefNum:l,wrappedBackrefNum:u}})=>{if(l){const g=+l;if(g>s.length-1)throw new Error(`Backref "${c}" greater than number of captures`);return`\\${s[g]}`}return`\\${u}`},K.DEFAULT),t}const Ss=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Yt=new RegExp(String.raw`
|
|
146
146
|
\\(?: \d+
|
|
147
147
|
| c[A-Za-z]
|
|
148
148
|
| [gk]<[^>]+>
|