var Module=void 0!==Module?Module:{},TreeSitter=function(){var e,t="object"==typeof window?{currentScript:window.document.currentScript}:null;class Parser{constructor(){this.initialize()}initialize(){throw new Error("cannot construct a Parser before calling `init()`")}static init(r){return e||(Module=Object.assign({},Module,r),e=new Promise(e=>{var r,n={};for(r in Module)Module.hasOwnProperty(r)&&(n[r]=Module[r]);var s,o,_=[],a="./this.program",u=function(e,t){throw t},i=!1,l=!1;i="object"==typeof window,l="function"==typeof importScripts,s="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,o=!i&&!s&&!l;var d,c,m,f,p,h="";s?(h=l?require("path").dirname(h)+"/":__dirname+"/",d=function(e,t){return f||(f=require("fs")),p||(p=require("path")),e=p.normalize(e),f.readFileSync(e,t?null:"utf8")},m=function(e){var t=d(e,!0);return t.buffer||(t=new Uint8Array(t)),k(t.buffer),t},process.argv.length>1&&(a=process.argv[1].replace(/\\/g,"/")),_=process.argv.slice(2),"undefined"!=typeof module&&(module.exports=Module),u=function(e){process.exit(e)},Module.inspect=function(){return"[Emscripten Module object]"}):o?("undefined"!=typeof read&&(d=function(e){return read(e)}),m=function(e){var t;return"function"==typeof readbuffer?new Uint8Array(readbuffer(e)):(k("object"==typeof(t=read(e,"binary"))),t)},"undefined"!=typeof scriptArgs?_=scriptArgs:void 0!==arguments&&(_=arguments),"function"==typeof quit&&(u=function(e){quit(e)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||l)&&(l?h=self.location.href:void 0!==t&&t.currentScript&&(h=t.currentScript.src),h=0!==h.indexOf("blob:")?h.substr(0,h.lastIndexOf("/")+1):"",d=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},l&&(m=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)});Module.print||console.log.bind(console);var g=Module.printErr||console.warn.bind(console);for(r in n)n.hasOwnProperty(r)&&(Module[r]=n[r]);n=null,Module.arguments&&(_=Module.arguments),Module.thisProgram&&(a=Module.thisProgram),Module.quit&&(u=Module.quit);var w=16;var y,M=[];function b(e,t){if(!y){y=new WeakMap;for(var r=0;r>0]=t;break;case"i16":L[e>>1]=t;break;case"i32":W[e>>2]=t;break;case"i64":ue=[t>>>0,(ae=t,+Math.abs(ae)>=1?ae>0?(0|Math.min(+Math.floor(ae/4294967296),4294967295))>>>0:~~+Math.ceil((ae-+(~~ae>>>0))/4294967296)>>>0:0)],W[e>>2]=ue[0],W[e+4>>2]=ue[1];break;case"float":O[e>>2]=t;break;case"double":Z[e>>3]=t;break;default:oe("invalid type for setValue: "+r)}}function N(e,t,r){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return R[e>>0];case"i16":return L[e>>1];case"i32":case"i64":return W[e>>2];case"float":return O[e>>2];case"double":return Z[e>>3];default:oe("invalid type for getValue: "+t)}return null}"object"!=typeof WebAssembly&&oe("no native wasm support detected");var P=!1;function k(e,t){e||oe("Assertion failed: "+t)}var C=1;var q,R,T,L,W,O,Z,F="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function $(e,t,r){for(var n=t+r,s=t;e[s]&&!(s>=n);)++s;if(s-t>16&&e.subarray&&F)return F.decode(e.subarray(t,s));for(var o="";t>10,56320|1023&i)}}else o+=String.fromCharCode((31&_)<<6|a)}else o+=String.fromCharCode(_)}return o}function j(e,t){return e?$(T,e,t):""}function U(e,t,r,n){if(!(n>0))return 0;for(var s=r,o=r+n-1,_=0;_=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++_);if(a<=127){if(r>=o)break;t[r++]=a}else if(a<=2047){if(r+1>=o)break;t[r++]=192|a>>6,t[r++]=128|63&a}else if(a<=65535){if(r+2>=o)break;t[r++]=224|a>>12,t[r++]=128|a>>6&63,t[r++]=128|63&a}else{if(r+3>=o)break;t[r++]=240|a>>18,t[r++]=128|a>>12&63,t[r++]=128|a>>6&63,t[r++]=128|63&a}}return t[r]=0,r-s}function D(e,t,r){return U(e,T,t,r)}function z(e){for(var t=0,r=0;r=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}function G(e){var t=z(e)+1,r=ze(t);return U(e,R,r,t),r}function H(e){q=e,Module.HEAP8=R=new Int8Array(e),Module.HEAP16=L=new Int16Array(e),Module.HEAP32=W=new Int32Array(e),Module.HEAPU8=T=new Uint8Array(e),Module.HEAPU16=new Uint16Array(e),Module.HEAPU32=new Uint32Array(e),Module.HEAPF32=O=new Float32Array(e),Module.HEAPF64=Z=new Float64Array(e)}var B=Module.INITIAL_MEMORY||33554432;(A=Module.wasmMemory?Module.wasmMemory:new WebAssembly.Memory({initial:B/65536,maximum:32768}))&&(q=A.buffer),B=q.byteLength,H(q);var K=new WebAssembly.Table({initial:17,element:"anyfunc"}),V=[],X=[],Q=[],J=[],Y=!1;var ee=0,te=null,re=null;function ne(e){ee++,Module.monitorRunDependencies&&Module.monitorRunDependencies(ee)}function se(e){if(ee--,Module.monitorRunDependencies&&Module.monitorRunDependencies(ee),0==ee&&(null!==te&&(clearInterval(te),te=null),re)){var t=re;re=null,t()}}function oe(e){throw Module.onAbort&&Module.onAbort(e),g(e+=""),P=!0,1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(e)}Module.preloadedImages={},Module.preloadedAudios={},Module.preloadedWasm={};var _e,ae,ue,ie="data:application/octet-stream;base64,";function le(e){return e.startsWith(ie)}function de(e){return e.startsWith("file://")}function ce(e){try{if(e==_e&&v)return new Uint8Array(v);if(m)return m(e);throw"both async and sync fetching of the wasm failed"}catch(e){oe(e)}}le(_e="tree-sitter.wasm")||(_e=function(e){return Module.locateFile?Module.locateFile(e,h):h+e}(_e));var me={},fe={get:function(e,t){return me[t]||(me[t]=new WebAssembly.Global({value:"i32",mutable:!0})),me[t]}};function pe(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?K.get(r)():K.get(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(Module)}}function he(e){var t=0;function r(){for(var r=0,n=1;;){var s=e[t++];if(r+=(127&s)*n,n*=128,!(128&s))break}return r}if(e instanceof WebAssembly.Module){var n=WebAssembly.Module.customSections(e,"dylink");k(0!=n.length,"need dylink section"),e=new Int8Array(n[0])}else{k(1836278016==new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer)[0],"need to see wasm magic number"),k(0===e[8],"need the dylink section to be first"),t=9,r(),k(6===e[t]),k(e[++t]==="d".charCodeAt(0)),k(e[++t]==="y".charCodeAt(0)),k(e[++t]==="l".charCodeAt(0)),k(e[++t]==="i".charCodeAt(0)),k(e[++t]==="n".charCodeAt(0)),k(e[++t]==="k".charCodeAt(0)),t++}var s={};s.memorySize=r(),s.memoryAlign=r(),s.tableSize=r(),s.tableAlign=r();var o=r();s.neededDynlibs=[];for(var _=0;_0}function ye(e){return 0==e.indexOf("dynCall_")||["stackAlloc","stackSave","stackRestore"].includes(e)?e:"_"+e}function Me(e,t){for(var r in e)if(e.hasOwnProperty(r)){Fe.hasOwnProperty(r)||(Fe[r]=e[r]);var n=ye(r);Module.hasOwnProperty(n)||(Module[n]=e[r])}}var be={nextHandle:1,loadedLibs:{},loadedLibNames:{}};function ve(e,t,r){return e.includes("j")?function(e,t,r){var n=Module["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)}(e,t,r):K.get(t).apply(null,r)}var Ee=5250880;function Ie(e){return["__cpp_exception","__wasm_apply_data_relocs","__dso_handle","__set_stack_limits"].includes(e)}function Ae(e,t){var r={};for(var n in e){var s=e[n];"object"==typeof s&&(s=s.value),"number"==typeof s&&(s+=t),r[n]=s}return function(e){for(var t in e)if(!Ie(t)){var r=!1,n=e[t];t.startsWith("orig$")&&(t=t.split("$")[1],r=!0),me[t]||(me[t]=new WebAssembly.Global({value:"i32",mutable:!0})),(r||0==me[t].value)&&("function"==typeof n?me[t].value=b(n):"number"==typeof n?me[t].value=n:g("unhandled export type for `"+t+"`: "+typeof n))}}(r),r}function Se(e,t){var r,n;return t&&(r=Fe["orig$"+e]),r||(r=Fe[e]),r||(r=Module[ye(e)]),!r&&e.startsWith("invoke_")&&(n=e.split("_")[1],r=function(){var e=Ue();try{return ve(n,arguments[0],Array.prototype.slice.call(arguments,1))}catch(t){if(De(e),t!==t+0&&"longjmp"!==t)throw t;Ge(1,0)}}),r}function xe(e,t){var r=he(e);function n(){var n=Math.pow(2,r.memoryAlign);n=Math.max(n,w);var s,o,_,a=(s=function(e){if(Y)return $e(e);var t=Ee,r=t+e+15&-16;return Ee=r,me.__heap_base.value=r,t}(r.memorySize+n),(o=n)||(o=w),Math.ceil(s/o)*o),u=K.length;K.grow(r.tableSize);for(var i=a;i>2]=n,-1;r=ke()}return W[t>>2]=r/1e3|0,W[t+4>>2]=r%1e3*1e3*1e3|0,0}function Le(e){try{return A.grow(e-q.byteLength+65535>>>16),H(A.buffer),1}catch(e){}}function We(e){Ve(e)}function Oe(e){E(e)}Te.sig="iii",We.sig="vi",Oe.sig="vi";var Ze,Fe={__heap_base:Ee,__indirect_function_table:K,__memory_base:1024,__stack_pointer:Ce,__table_base:1,abort:qe,clock_gettime:Te,emscripten_memcpy_big:function(e,t,r){T.copyWithin(e,t,t+r)},emscripten_resize_heap:function(e){var t,r,n=T.length;if((e>>>=0)>2147483648)return!1;for(var s=1;s<=4;s*=2){var o=n*(1+.2/s);if(o=Math.min(o,e+100663296),Le(Math.min(2147483648,((t=Math.max(e,o))%(r=65536)>0&&(t+=r-t%r),t))))return!0}return!1},exit:We,memory:A,setTempRet0:Oe,tree_sitter_log_callback:function(e,t){if(ct){const r=j(t);ct(r,0!==e)}},tree_sitter_parse_callback:function(e,t,r,n,s){var o=dt(t,{row:r,column:n});"string"==typeof o?(x(s,o.length,"i32"),function(e,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=(r-=2)<2*e.length?r/2:e.length,s=0;s>1]=o,t+=2}L[t>>1]=0}(o,e,10240)):x(s,0,"i32")}},$e=(function(){var e={env:Fe,wasi_snapshot_preview1:Fe,"GOT.mem":new Proxy(Fe,fe),"GOT.func":new Proxy(Fe,fe)};function t(e,t){var r=e.exports;r=Ae(r,1024),Module.asm=r;var n,s=he(t);s.neededDynlibs&&(I=s.neededDynlibs.concat(I)),Me(r),n=Module.asm.__wasm_call_ctors,X.unshift(n),se()}function r(e){t(e.instance,e.module)}function n(t){return function(){if(!v&&(i||l)){if("function"==typeof fetch&&!de(_e))return fetch(_e,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+_e+"'";return e.arrayBuffer()}).catch(function(){return ce(_e)});if(c)return new Promise(function(e,t){c(_e,function(t){e(new Uint8Array(t))},t)})}return Promise.resolve().then(function(){return ce(_e)})}().then(function(t){return WebAssembly.instantiate(t,e)}).then(t,function(e){g("failed to asynchronously prepare wasm: "+e),oe(e)})}if(ne(),Module.instantiateWasm)try{return Module.instantiateWasm(e,t)}catch(e){return g("Module.instantiateWasm callback failed with error: "+e),!1}v||"function"!=typeof WebAssembly.instantiateStreaming||le(_e)||de(_e)||"function"!=typeof fetch?n(r):fetch(_e,{credentials:"same-origin"}).then(function(t){return WebAssembly.instantiateStreaming(t,e).then(r,function(e){return g("wasm streaming compile failed: "+e),g("falling back to ArrayBuffer instantiation"),n(r)})})}(),Module.___wasm_call_ctors=function(){return(Module.___wasm_call_ctors=Module.asm.__wasm_call_ctors).apply(null,arguments)},Module._malloc=function(){return($e=Module._malloc=Module.asm.malloc).apply(null,arguments)}),je=(Module._calloc=function(){return(Module._calloc=Module.asm.calloc).apply(null,arguments)},Module._realloc=function(){return(Module._realloc=Module.asm.realloc).apply(null,arguments)},Module._free=function(){return(Module._free=Module.asm.free).apply(null,arguments)},Module._ts_language_symbol_count=function(){return(Module._ts_language_symbol_count=Module.asm.ts_language_symbol_count).apply(null,arguments)},Module._ts_language_version=function(){return(Module._ts_language_version=Module.asm.ts_language_version).apply(null,arguments)},Module._ts_language_field_count=function(){return(Module._ts_language_field_count=Module.asm.ts_language_field_count).apply(null,arguments)},Module._ts_language_symbol_name=function(){return(Module._ts_language_symbol_name=Module.asm.ts_language_symbol_name).apply(null,arguments)},Module._ts_language_symbol_for_name=function(){return(Module._ts_language_symbol_for_name=Module.asm.ts_language_symbol_for_name).apply(null,arguments)},Module._ts_language_symbol_type=function(){return(Module._ts_language_symbol_type=Module.asm.ts_language_symbol_type).apply(null,arguments)},Module._ts_language_field_name_for_id=function(){return(Module._ts_language_field_name_for_id=Module.asm.ts_language_field_name_for_id).apply(null,arguments)},Module._memcpy=function(){return(Module._memcpy=Module.asm.memcpy).apply(null,arguments)},Module._ts_parser_delete=function(){return(Module._ts_parser_delete=Module.asm.ts_parser_delete).apply(null,arguments)},Module._ts_parser_reset=function(){return(Module._ts_parser_reset=Module.asm.ts_parser_reset).apply(null,arguments)},Module._ts_parser_set_language=function(){return(Module._ts_parser_set_language=Module.asm.ts_parser_set_language).apply(null,arguments)},Module._ts_parser_timeout_micros=function(){return(Module._ts_parser_timeout_micros=Module.asm.ts_parser_timeout_micros).apply(null,arguments)},Module._ts_parser_set_timeout_micros=function(){return(Module._ts_parser_set_timeout_micros=Module.asm.ts_parser_set_timeout_micros).apply(null,arguments)},Module._memmove=function(){return(Module._memmove=Module.asm.memmove).apply(null,arguments)},Module._memcmp=function(){return(Module._memcmp=Module.asm.memcmp).apply(null,arguments)},Module._ts_query_new=function(){return(Module._ts_query_new=Module.asm.ts_query_new).apply(null,arguments)},Module._ts_query_delete=function(){return(Module._ts_query_delete=Module.asm.ts_query_delete).apply(null,arguments)},Module._iswspace=function(){return(Module._iswspace=Module.asm.iswspace).apply(null,arguments)},Module._iswalnum=function(){return(Module._iswalnum=Module.asm.iswalnum).apply(null,arguments)},Module._ts_query_pattern_count=function(){return(Module._ts_query_pattern_count=Module.asm.ts_query_pattern_count).apply(null,arguments)},Module._ts_query_capture_count=function(){return(Module._ts_query_capture_count=Module.asm.ts_query_capture_count).apply(null,arguments)},Module._ts_query_string_count=function(){return(Module._ts_query_string_count=Module.asm.ts_query_string_count).apply(null,arguments)},Module._ts_query_capture_name_for_id=function(){return(Module._ts_query_capture_name_for_id=Module.asm.ts_query_capture_name_for_id).apply(null,arguments)},Module._ts_query_string_value_for_id=function(){return(Module._ts_query_string_value_for_id=Module.asm.ts_query_string_value_for_id).apply(null,arguments)},Module._ts_query_predicates_for_pattern=function(){return(Module._ts_query_predicates_for_pattern=Module.asm.ts_query_predicates_for_pattern).apply(null,arguments)},Module._ts_tree_copy=function(){return(Module._ts_tree_copy=Module.asm.ts_tree_copy).apply(null,arguments)},Module._ts_tree_delete=function(){return(Module._ts_tree_delete=Module.asm.ts_tree_delete).apply(null,arguments)},Module._ts_init=function(){return(Module._ts_init=Module.asm.ts_init).apply(null,arguments)},Module._ts_parser_new_wasm=function(){return(Module._ts_parser_new_wasm=Module.asm.ts_parser_new_wasm).apply(null,arguments)},Module._ts_parser_enable_logger_wasm=function(){return(Module._ts_parser_enable_logger_wasm=Module.asm.ts_parser_enable_logger_wasm).apply(null,arguments)},Module._ts_parser_parse_wasm=function(){return(Module._ts_parser_parse_wasm=Module.asm.ts_parser_parse_wasm).apply(null,arguments)},Module._ts_language_type_is_named_wasm=function(){return(Module._ts_language_type_is_named_wasm=Module.asm.ts_language_type_is_named_wasm).apply(null,arguments)},Module._ts_language_type_is_visible_wasm=function(){return(Module._ts_language_type_is_visible_wasm=Module.asm.ts_language_type_is_visible_wasm).apply(null,arguments)},Module._ts_tree_root_node_wasm=function(){return(Module._ts_tree_root_node_wasm=Module.asm.ts_tree_root_node_wasm).apply(null,arguments)},Module._ts_tree_edit_wasm=function(){return(Module._ts_tree_edit_wasm=Module.asm.ts_tree_edit_wasm).apply(null,arguments)},Module._ts_tree_get_changed_ranges_wasm=function(){return(Module._ts_tree_get_changed_ranges_wasm=Module.asm.ts_tree_get_changed_ranges_wasm).apply(null,arguments)},Module._ts_tree_cursor_new_wasm=function(){return(Module._ts_tree_cursor_new_wasm=Module.asm.ts_tree_cursor_new_wasm).apply(null,arguments)},Module._ts_tree_cursor_delete_wasm=function(){return(Module._ts_tree_cursor_delete_wasm=Module.asm.ts_tree_cursor_delete_wasm).apply(null,arguments)},Module._ts_tree_cursor_reset_wasm=function(){return(Module._ts_tree_cursor_reset_wasm=Module.asm.ts_tree_cursor_reset_wasm).apply(null,arguments)},Module._ts_tree_cursor_goto_first_child_wasm=function(){return(Module._ts_tree_cursor_goto_first_child_wasm=Module.asm.ts_tree_cursor_goto_first_child_wasm).apply(null,arguments)},Module._ts_tree_cursor_goto_next_sibling_wasm=function(){return(Module._ts_tree_cursor_goto_next_sibling_wasm=Module.asm.ts_tree_cursor_goto_next_sibling_wasm).apply(null,arguments)},Module._ts_tree_cursor_goto_parent_wasm=function(){return(Module._ts_tree_cursor_goto_parent_wasm=Module.asm.ts_tree_cursor_goto_parent_wasm).apply(null,arguments)},Module._ts_tree_cursor_current_node_type_id_wasm=function(){return(Module._ts_tree_cursor_current_node_type_id_wasm=Module.asm.ts_tree_cursor_current_node_type_id_wasm).apply(null,arguments)},Module._ts_tree_cursor_current_node_is_named_wasm=function(){return(Module._ts_tree_cursor_current_node_is_named_wasm=Module.asm.ts_tree_cursor_current_node_is_named_wasm).apply(null,arguments)},Module._ts_tree_cursor_current_node_is_missing_wasm=function(){return(Module._ts_tree_cursor_current_node_is_missing_wasm=Module.asm.ts_tree_cursor_current_node_is_missing_wasm).apply(null,arguments)},Module._ts_tree_cursor_current_node_id_wasm=function(){return(Module._ts_tree_cursor_current_node_id_wasm=Module.asm.ts_tree_cursor_current_node_id_wasm).apply(null,arguments)},Module._ts_tree_cursor_start_position_wasm=function(){return(Module._ts_tree_cursor_start_position_wasm=Module.asm.ts_tree_cursor_start_position_wasm).apply(null,arguments)},Module._ts_tree_cursor_end_position_wasm=function(){return(Module._ts_tree_cursor_end_position_wasm=Module.asm.ts_tree_cursor_end_position_wasm).apply(null,arguments)},Module._ts_tree_cursor_start_index_wasm=function(){return(Module._ts_tree_cursor_start_index_wasm=Module.asm.ts_tree_cursor_start_index_wasm).apply(null,arguments)},Module._ts_tree_cursor_end_index_wasm=function(){return(Module._ts_tree_cursor_end_index_wasm=Module.asm.ts_tree_cursor_end_index_wasm).apply(null,arguments)},Module._ts_tree_cursor_current_field_id_wasm=function(){return(Module._ts_tree_cursor_current_field_id_wasm=Module.asm.ts_tree_cursor_current_field_id_wasm).apply(null,arguments)},Module._ts_tree_cursor_current_node_wasm=function(){return(Module._ts_tree_cursor_current_node_wasm=Module.asm.ts_tree_cursor_current_node_wasm).apply(null,arguments)},Module._ts_node_symbol_wasm=function(){return(Module._ts_node_symbol_wasm=Module.asm.ts_node_symbol_wasm).apply(null,arguments)},Module._ts_node_child_count_wasm=function(){return(Module._ts_node_child_count_wasm=Module.asm.ts_node_child_count_wasm).apply(null,arguments)},Module._ts_node_named_child_count_wasm=function(){return(Module._ts_node_named_child_count_wasm=Module.asm.ts_node_named_child_count_wasm).apply(null,arguments)},Module._ts_node_child_wasm=function(){return(Module._ts_node_child_wasm=Module.asm.ts_node_child_wasm).apply(null,arguments)},Module._ts_node_named_child_wasm=function(){return(Module._ts_node_named_child_wasm=Module.asm.ts_node_named_child_wasm).apply(null,arguments)},Module._ts_node_child_by_field_id_wasm=function(){return(Module._ts_node_child_by_field_id_wasm=Module.asm.ts_node_child_by_field_id_wasm).apply(null,arguments)},Module._ts_node_next_sibling_wasm=function(){return(Module._ts_node_next_sibling_wasm=Module.asm.ts_node_next_sibling_wasm).apply(null,arguments)},Module._ts_node_prev_sibling_wasm=function(){return(Module._ts_node_prev_sibling_wasm=Module.asm.ts_node_prev_sibling_wasm).apply(null,arguments)},Module._ts_node_next_named_sibling_wasm=function(){return(Module._ts_node_next_named_sibling_wasm=Module.asm.ts_node_next_named_sibling_wasm).apply(null,arguments)},Module._ts_node_prev_named_sibling_wasm=function(){return(Module._ts_node_prev_named_sibling_wasm=Module.asm.ts_node_prev_named_sibling_wasm).apply(null,arguments)},Module._ts_node_parent_wasm=function(){return(Module._ts_node_parent_wasm=Module.asm.ts_node_parent_wasm).apply(null,arguments)},Module._ts_node_descendant_for_index_wasm=function(){return(Module._ts_node_descendant_for_index_wasm=Module.asm.ts_node_descendant_for_index_wasm).apply(null,arguments)},Module._ts_node_named_descendant_for_index_wasm=function(){return(Module._ts_node_named_descendant_for_index_wasm=Module.asm.ts_node_named_descendant_for_index_wasm).apply(null,arguments)},Module._ts_node_descendant_for_position_wasm=function(){return(Module._ts_node_descendant_for_position_wasm=Module.asm.ts_node_descendant_for_position_wasm).apply(null,arguments)},Module._ts_node_named_descendant_for_position_wasm=function(){return(Module._ts_node_named_descendant_for_position_wasm=Module.asm.ts_node_named_descendant_for_position_wasm).apply(null,arguments)},Module._ts_node_start_point_wasm=function(){return(Module._ts_node_start_point_wasm=Module.asm.ts_node_start_point_wasm).apply(null,arguments)},Module._ts_node_end_point_wasm=function(){return(Module._ts_node_end_point_wasm=Module.asm.ts_node_end_point_wasm).apply(null,arguments)},Module._ts_node_start_index_wasm=function(){return(Module._ts_node_start_index_wasm=Module.asm.ts_node_start_index_wasm).apply(null,arguments)},Module._ts_node_end_index_wasm=function(){return(Module._ts_node_end_index_wasm=Module.asm.ts_node_end_index_wasm).apply(null,arguments)},Module._ts_node_to_string_wasm=function(){return(Module._ts_node_to_string_wasm=Module.asm.ts_node_to_string_wasm).apply(null,arguments)},Module._ts_node_children_wasm=function(){return(Module._ts_node_children_wasm=Module.asm.ts_node_children_wasm).apply(null,arguments)},Module._ts_node_named_children_wasm=function(){return(Module._ts_node_named_children_wasm=Module.asm.ts_node_named_children_wasm).apply(null,arguments)},Module._ts_node_descendants_of_type_wasm=function(){return(Module._ts_node_descendants_of_type_wasm=Module.asm.ts_node_descendants_of_type_wasm).apply(null,arguments)},Module._ts_node_is_named_wasm=function(){return(Module._ts_node_is_named_wasm=Module.asm.ts_node_is_named_wasm).apply(null,arguments)},Module._ts_node_has_changes_wasm=function(){return(Module._ts_node_has_changes_wasm=Module.asm.ts_node_has_changes_wasm).apply(null,arguments)},Module._ts_node_has_error_wasm=function(){return(Module._ts_node_has_error_wasm=Module.asm.ts_node_has_error_wasm).apply(null,arguments)},Module._ts_node_is_missing_wasm=function(){return(Module._ts_node_is_missing_wasm=Module.asm.ts_node_is_missing_wasm).apply(null,arguments)},Module._ts_query_matches_wasm=function(){return(Module._ts_query_matches_wasm=Module.asm.ts_query_matches_wasm).apply(null,arguments)},Module._ts_query_captures_wasm=function(){return(Module._ts_query_captures_wasm=Module.asm.ts_query_captures_wasm).apply(null,arguments)},Module._iswdigit=function(){return(Module._iswdigit=Module.asm.iswdigit).apply(null,arguments)},Module._iswalpha=function(){return(Module._iswalpha=Module.asm.iswalpha).apply(null,arguments)},Module._iswlower=function(){return(Module._iswlower=Module.asm.iswlower).apply(null,arguments)},Module._towupper=function(){return(Module._towupper=Module.asm.towupper).apply(null,arguments)},Module.___errno_location=function(){return(je=Module.___errno_location=Module.asm.__errno_location).apply(null,arguments)}),Ue=(Module._memchr=function(){return(Module._memchr=Module.asm.memchr).apply(null,arguments)},Module._strlen=function(){return(Module._strlen=Module.asm.strlen).apply(null,arguments)},Module.stackSave=function(){return(Ue=Module.stackSave=Module.asm.stackSave).apply(null,arguments)}),De=Module.stackRestore=function(){return(De=Module.stackRestore=Module.asm.stackRestore).apply(null,arguments)},ze=Module.stackAlloc=function(){return(ze=Module.stackAlloc=Module.asm.stackAlloc).apply(null,arguments)},Ge=Module._setThrew=function(){return(Ge=Module._setThrew=Module.asm.setThrew).apply(null,arguments)};Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev=function(){return(Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev=Module.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev).apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm=function(){return(Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm=Module.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm).apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm=function(){return(Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm=Module.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm).apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm=function(){return(Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm=Module.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm).apply(null,arguments)},Module.__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm=function(){return(Module.__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm=Module.asm._ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm).apply(null,arguments)},Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc=function(){return(Module.__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc=Module.asm._ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc).apply(null,arguments)},Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev=function(){return(Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev=Module.asm._ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev).apply(null,arguments)},Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw=function(){return(Module.__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw=Module.asm._ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw).apply(null,arguments)},Module.__Znwm=function(){return(Module.__Znwm=Module.asm._Znwm).apply(null,arguments)},Module.__ZdlPv=function(){return(Module.__ZdlPv=Module.asm._ZdlPv).apply(null,arguments)},Module.__ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv=function(){return(Module.__ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv=Module.asm._ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv).apply(null,arguments)},Module._orig$ts_parser_timeout_micros=function(){return(Module._orig$ts_parser_timeout_micros=Module.asm.orig$ts_parser_timeout_micros).apply(null,arguments)},Module._orig$ts_parser_set_timeout_micros=function(){return(Module._orig$ts_parser_set_timeout_micros=Module.asm.orig$ts_parser_set_timeout_micros).apply(null,arguments)};function He(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Module.allocate=function(e,t){var r;return r=t==C?ze(e.length):$e(e.length),e.subarray||e.slice?T.set(e,r):T.set(new Uint8Array(e),r),r};re=function e(){Ze||Ke(),Ze||(re=e)};var Be=!1;function Ke(e){function t(){Ze||(Ze=!0,Module.calledRun=!0,P||(Y=!0,pe(X),pe(Q),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Xe&&function(e){var t=Module._main;if(t){var r=(e=e||[]).length+1,n=ze(4*(r+1));W[n>>2]=G(a);for(var s=1;s>2)+s]=G(e[s-1]);W[(n>>2)+r]=0;try{Ve(t(r,n),!0)}catch(e){if(e instanceof He)return;if("unwind"==e)return;var o=e;e&&"object"==typeof e&&e.stack&&(o=[e,e.stack]),g("exception thrown: "+o),u(1,e)}finally{!0}}}(e),function(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)e=Module.postRun.shift(),J.unshift(e);var e;pe(J)}()))}e=e||_,ee>0||!Be&&(function(){if(I.length){if(!m)return ne(),void I.reduce(function(e,t){return e.then(function(){return Ne(t,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})})},Promise.resolve()).then(function(){se(),Pe()});I.forEach(function(e){Ne(e,{global:!0,nodelete:!0,allowUndefined:!0})}),Pe()}else Pe()}(),Be=!0,ee>0)||(!function(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)e=Module.preRun.shift(),V.unshift(e);var e;pe(V)}(),ee>0||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),t()},1)):t()))}function Ve(e,t){e,t&&we()&&0===e||(we()||(!0,Module.onExit&&Module.onExit(e),P=!0),u(e,new He(e)))}if(Module.run=Ke,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var Xe=!0;Module.noInitialRun&&(Xe=!1),Ke();const Qe=Module,Je={},Ye=4,et=5*Ye,tt=2*Ye,rt=2*Ye+2*tt,nt={row:0,column:0},st=/[\w-.]*/g,ot=1,_t=2,at=/^_?tree_sitter_\w+/;var ut,it,lt,dt,ct;class ParserImpl{static init(){lt=Qe._ts_init(),ut=N(lt,"i32"),it=N(lt+Ye,"i32")}initialize(){Qe._ts_parser_new_wasm(),this[0]=N(lt,"i32"),this[1]=N(lt+Ye,"i32")}delete(){Qe._ts_parser_delete(this[0]),Qe._free(this[1]),this[0]=0,this[1]=0}setLanguage(e){let t;if(e){if(e.constructor!==Language)throw new Error("Argument must be a Language");{t=e[0];const r=Qe._ts_language_version(t);if(re.slice(t,n));else{if("function"!=typeof e)throw new Error("Argument must be a string or a function");dt=e}this.logCallback?(ct=this.logCallback,Qe._ts_parser_enable_logger_wasm(this[0],1)):(ct=null,Qe._ts_parser_enable_logger_wasm(this[0],0));let n=0,s=0;if(r&&r.includedRanges){n=r.includedRanges.length;let e=s=Qe._calloc(n,rt);for(let t=0;t0){let e=r;for(let r=0;r0){let r=t;for(let t=0;t0){let r=t;for(let t=0;t0){let e=a;for(let t=0;t<_;t++)u[t]=wt(this.tree,e),e+=et}return Qe._free(a),Qe._free(o),u}get nextSibling(){return gt(this),Qe._ts_node_next_sibling_wasm(this.tree[0]),wt(this.tree)}get previousSibling(){return gt(this),Qe._ts_node_prev_sibling_wasm(this.tree[0]),wt(this.tree)}get nextNamedSibling(){return gt(this),Qe._ts_node_next_named_sibling_wasm(this.tree[0]),wt(this.tree)}get previousNamedSibling(){return gt(this),Qe._ts_node_prev_named_sibling_wasm(this.tree[0]),wt(this.tree)}get parent(){return gt(this),Qe._ts_node_parent_wasm(this.tree[0]),wt(this.tree)}descendantForIndex(e,t=e){if("number"!=typeof e||"number"!=typeof t)throw new Error("Arguments must be numbers");gt(this);let r=lt+et;return x(r,e,"i32"),x(r+Ye,t,"i32"),Qe._ts_node_descendant_for_index_wasm(this.tree[0]),wt(this.tree)}namedDescendantForIndex(e,t=e){if("number"!=typeof e||"number"!=typeof t)throw new Error("Arguments must be numbers");gt(this);let r=lt+et;return x(r,e,"i32"),x(r+Ye,t,"i32"),Qe._ts_node_named_descendant_for_index_wasm(this.tree[0]),wt(this.tree)}descendantForPosition(e,t=e){if(!ht(e)||!ht(t))throw new Error("Arguments must be {row, column} objects");gt(this);let r=lt+et;return bt(r,e),bt(r+tt,t),Qe._ts_node_descendant_for_position_wasm(this.tree[0]),wt(this.tree)}namedDescendantForPosition(e,t=e){if(!ht(e)||!ht(t))throw new Error("Arguments must be {row, column} objects");gt(this);let r=lt+et;return bt(r,e),bt(r+tt,t),Qe._ts_node_named_descendant_for_position_wasm(this.tree[0]),wt(this.tree)}walk(){return gt(this),Qe._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(Je,this.tree)}toString(){gt(this);const e=Qe._ts_node_to_string_wasm(this.tree[0]),t=function(e){for(var t="";;){var r=T[e++>>0];if(!r)return t;t+=String.fromCharCode(r)}}(e);return Qe._free(e),t}}class TreeCursor{constructor(e,t){pt(e),this.tree=t,Mt(this)}delete(){yt(this),Qe._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}reset(e){gt(e),yt(this,lt+et),Qe._ts_tree_cursor_reset_wasm(this.tree[0]),Mt(this)}get nodeType(){return this.tree.language.types[this.nodeTypeId]||"ERROR"}get nodeTypeId(){return yt(this),Qe._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeId(){return yt(this),Qe._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return yt(this),1===Qe._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])}get nodeIsMissing(){return yt(this),1===Qe._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])}get nodeText(){yt(this);const e=Qe._ts_tree_cursor_start_index_wasm(this.tree[0]),t=Qe._ts_tree_cursor_end_index_wasm(this.tree[0]);return mt(this.tree,e,t)}get startPosition(){return yt(this),Qe._ts_tree_cursor_start_position_wasm(this.tree[0]),vt(lt)}get endPosition(){return yt(this),Qe._ts_tree_cursor_end_position_wasm(this.tree[0]),vt(lt)}get startIndex(){return yt(this),Qe._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return yt(this),Qe._ts_tree_cursor_end_index_wasm(this.tree[0])}currentNode(){return yt(this),Qe._ts_tree_cursor_current_node_wasm(this.tree[0]),wt(this.tree)}currentFieldId(){return yt(this),Qe._ts_tree_cursor_current_field_id_wasm(this.tree[0])}currentFieldName(){return this.tree.language.fields[this.currentFieldId()]}gotoFirstChild(){yt(this);const e=Qe._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return Mt(this),1===e}gotoNextSibling(){yt(this);const e=Qe._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return Mt(this),1===e}gotoParent(){yt(this);const e=Qe._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return Mt(this),1===e}}class Language{constructor(e,t){pt(e),this[0]=t,this.types=new Array(Qe._ts_language_symbol_count(this[0]));for(let e=0,t=this.types.length;e0){if("string"!==s[0].type)throw new Error("Predicates must begin with a literal value");const t=s[0].value;let r=!0;switch(t){case"not-eq?":r=!1;case"eq?":if(3!==s.length)throw new Error(`Wrong number of arguments to \`#eq?\` predicate. Expected 2, got ${s.length-1}`);if("capture"!==s[1].type)throw new Error(`First argument of \`#eq?\` predicate must be a capture. Got "${s[1].value}"`);if("capture"===s[2].type){const t=s[1].name,n=s[2].name;m[e].push(function(e){let s,o;for(const r of e)r.name===t&&(s=r.node),r.name===n&&(o=r.node);return void 0===s||void 0===o||s.text===o.text===r})}else{const t=s[1].name,n=s[2].value;m[e].push(function(e){for(const s of e)if(s.name===t)return s.node.text===n===r;return!0})}break;case"not-match?":r=!1;case"match?":if(3!==s.length)throw new Error(`Wrong number of arguments to \`#match?\` predicate. Expected 2, got ${s.length-1}.`);if("capture"!==s[1].type)throw new Error(`First argument of \`#match?\` predicate must be a capture. Got "${s[1].value}".`);if("string"!==s[2].type)throw new Error(`Second argument of \`#match?\` predicate must be a string. Got @${s[2].value}.`);const n=s[1].name,o=new RegExp(s[2].value);m[e].push(function(e){for(const t of e)if(t.name===n)return o.test(t.node.text)===r;return!0});break;case"set!":if(s.length<2||s.length>3)throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${s.length-1}.`);if(s.some(e=>"string"!==e.type))throw new Error('Arguments to `#set!` predicate must be a strings.".');i[e]||(i[e]={}),i[e][s[1].value]=s[2]?s[2].value:null;break;case"is?":case"is-not?":if(s.length<2||s.length>3)throw new Error(`Wrong number of arguments to \`#${t}\` predicate. Expected 1 or 2. Got ${s.length-1}.`);if(s.some(e=>"string"!==e.type))throw new Error(`Arguments to \`#${t}\` predicate must be a strings.".`);const _="is?"===t?l:d;_[e]||(_[e]={}),_[e][s[1].value]=s[2]?s[2].value:null;break;default:c[e].push({operator:t,operands:s.slice(1)})}s.length=0}}Object.freeze(i[e]),Object.freeze(l[e]),Object.freeze(d[e])}return Qe._free(r),new Query(Je,n,a,m,c,Object.freeze(i),Object.freeze(l),Object.freeze(d))}static load(e){let t;if(e instanceof Uint8Array)t=Promise.resolve(e);else{const r=e;if("undefined"!=typeof process&&process.versions&&process.versions.node){const e=require("fs");t=Promise.resolve(e.readFileSync(r))}else t=fetch(r).then(e=>e.arrayBuffer().then(t=>{if(e.ok)return new Uint8Array(t);{const r=new TextDecoder("utf-8").decode(t);throw new Error(`Language.load failed with status ${e.status}.\n\n${r}`)}}))}const r="function"==typeof loadSideModule?loadSideModule:xe;return t.then(e=>r(e,{loadAsync:!0})).then(e=>{const t=Object.keys(e),r=t.find(e=>at.test(e)&&!e.includes("external_scanner_"));r||console.log(`Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(t,null,2)}`);const n=e[r]();return new Language(Je,n)})}}class Query{constructor(e,t,r,n,s,o,_,a){pt(e),this[0]=t,this.captureNames=r,this.textPredicates=n,this.predicates=s,this.setProperties=o,this.assertedProperties=_,this.refutedProperties=a,this.exceededMatchLimit=!1}delete(){Qe._ts_query_delete(this[0]),this[0]=0}matches(e,t,r,n){t||(t=nt),r||(r=nt),n||(n={});let s=n.matchLimit;if(void 0===s)s=0;else if("number"!=typeof s)throw new Error("Arguments must be numbers");gt(e),Qe._ts_query_matches_wasm(this[0],e.tree[0],t.row,t.column,r.row,r.column,s);const o=N(lt,"i32"),_=N(lt+Ye,"i32"),a=N(lt+2*Ye,"i32"),u=new Array(o);this.exceededMatchLimit=!!a;let i=0,l=_;for(let t=0;te(s))){u[i++]={pattern:r,captures:s};const e=this.setProperties[r];e&&(u[t].setProperties=e);const n=this.assertedProperties[r];n&&(u[t].assertedProperties=n);const o=this.refutedProperties[r];o&&(u[t].refutedProperties=o)}}return u.length=i,Qe._free(_),u}captures(e,t,r,n){t||(t=nt),r||(r=nt),n||(n={});let s=n.matchLimit;if(void 0===s)s=0;else if("number"!=typeof s)throw new Error("Arguments must be numbers");gt(e),Qe._ts_query_captures_wasm(this[0],e.tree[0],t.row,t.column,r.row,r.column,s);const o=N(lt,"i32"),_=N(lt+Ye,"i32"),a=N(lt+2*Ye,"i32"),u=[];this.exceededMatchLimit=!!a;const i=[];let l=_;for(let t=0;te(i))){const e=i[n],r=this.setProperties[t];r&&(e.setProperties=r);const s=this.assertedProperties[t];s&&(e.assertedProperties=s);const o=this.refutedProperties[t];o&&(e.refutedProperties=o),u.push(e)}}return Qe._free(_),u}predicatesForPattern(e){return this.predicates[e]}didExceedMatchLimit(){return this.exceededMatchLimit}}function mt(e,t,r){const n=r-t;let s=e.textCallback(t,null,r);for(t+=s.length;t0))break;t+=n.length,s+=n}return t>r&&(s=s.slice(0,n)),s}function ft(e,t,r,n){for(let s=0,o=n.length;s{ParserImpl.init(),e()})}))}}return Parser}();"object"==typeof exports&&(module.exports=TreeSitter);