sandstone-proxy
Version:
An experimental web proxy utilizing sandboxed iframes and no service worker.
1 lines • 176 kB
JavaScript
var sandstone_frame;(()=>{"use strict";var __webpack_modules__={723:(__unused_webpack___webpack_module__,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CustomCTX:()=>CustomCTX,convert_url:()=>convert_url,create_obj_proxy:()=>create_obj_proxy,ctx:()=>ctx,ctx_vars:()=>ctx_vars,get_handler_keys:()=>get_handler_keys,intercept_property:()=>intercept_property,is_worker:()=>is_worker,proxy_function:()=>proxy_function,run_script:()=>run_script,run_script_safe:()=>run_script_safe,unreadable_vars:()=>unreadable_vars,update_ctx:()=>update_ctx,wrap_function:()=>wrap_function,wrap_obj:()=>wrap_obj});var _network_mjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(520),_polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(306),_intercept_index_mjs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(354),_parser_mjs__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(768),_loader_mjs__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(459);const is_worker="function"==typeof importScripts,ctx_vars=[],unreadable_vars=["localStorage","sessionStorage","importScripts"];is_worker&&unreadable_vars.push("document");const internal={location:null,self:null,globalThis:null,eval:null,history:null,localStorage:null,sessionStorage:null};function create_func_proxy(e,t){let n=new Proxy(t,{apply:function(t,n,r){return Reflect.apply(t,e,r)}});return n.apply=function(n,r){return n&&(n=e),Reflect.apply(t,n,r)},n.call=function(n,...r){return n&&(n=e),Reflect.apply(t,n,r)},n}function get_handler_keys(e){let t=[],n=Reflect.ownKeys(Object.getPrototypeOf(e));for(let e of n)"constructor"!==e&&(e.startsWith("__")||t.push(e));return t}function create_obj_proxy(e,t,n){let r=new Map;return new Proxy(n,{get:(t,o)=>void 0!==e[o]?e[o]:"function"!=typeof n[o]||n[o].prototype?n[o]:(r.has(o)||r.set(o,create_func_proxy(n,n[o])),r.get(o)),set:(r,o,a)=>(t.includes(o)?e[o]=a:n[o]=a,!0)})}class CustomCTX{constructor(){ctx_vars.push(...get_handler_keys(this)),this.__proxy__=create_obj_proxy(this,ctx_vars,globalThis)}set location(e){internal.location.assign(e)}get location(){return internal.location}set self(e){internal.self=e}get self(){return internal.self}set globalThis(e){internal.globalThis=e}get globalThis(){return internal.globalThis}get window(){return this.__proxy__}get origin(){return this.location.origin}get document(){return is_worker?void 0:_intercept_index_mjs__WEBPACK_IMPORTED_MODULE_2__.Al.__proxy__}get parent(){return _loader_mjs__WEBPACK_IMPORTED_MODULE_4__.is_iframe?globalThis.parent:this.__proxy__}get top(){return _loader_mjs__WEBPACK_IMPORTED_MODULE_4__.is_iframe?globalThis.parent:this.__proxy__}fetch(){return _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.hd(...arguments)}get URL(){return _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.JM}get Worker(){return _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.Ag}get importScripts(){return is_worker?_polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.pf:void 0}get XMLHttpRequest(){return _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.iD}get history(){return internal.history}get localStorage(){return internal.localStorage}get sessionStorage(){return internal.sessionStorage}get WebSocket(){return _network_mjs__WEBPACK_IMPORTED_MODULE_0__.WebSocket}eval(e){return run_script(String(e))}__get_this__(e){return e===globalThis?ctx.__proxy__:e}__get_var__(e,t){return e===globalThis[t]?ctx.__proxy__[t]:e}}const ctx=new CustomCTX;function proxy_function(e,t,n){e&&(e[t]=new Proxy(e[t],{apply:n}))}function wrap_function(e,t,n){t[e]=new Proxy(n[e],{apply:function(e,t,r){return Reflect.apply(e,n,r)}})}function wrap_obj(e,t){e.__target__=t;let n=Object.getPrototypeOf(e),r=Reflect.ownKeys(t),o=Object.getPrototypeOf(t);for(;null!=o;)r.push(...Reflect.ownKeys(o)),o=Object.getPrototypeOf(o);let a=["eval"];for(let o of r)if(!n.hasOwnProperty(o)&&"__proto__"!==o&&!a.includes(o))try{if("function"==typeof t[o]){wrap_function(o,e,t);continue}try{e[o]=t[o]}catch{Object.defineProperty(e,o,{configurable:!0,value:t[o],writable:!0})}}catch(e){if(e instanceof DOMException)continue;if(e instanceof TypeError)continue}}function update_ctx(){internal.location=new _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.ZH,internal.self=ctx.__proxy__,internal.globalThis=ctx.__proxy__,internal.history=new _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.wX,internal.localStorage=new _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.TN("local"),internal.sessionStorage=new _polyfill_index_mjs__WEBPACK_IMPORTED_MODULE_1__.TN("session"),delete globalThis.caches,globalThis.__ctx__=ctx.__proxy__,globalThis.__get_this__=ctx.__get_this__,globalThis.__get_var__=ctx.__get_var__}function convert_url(e,t){return new URL(e,t).href}function run_script_safe(e){try{run_script(e)}catch(e){console.error(e)}}function run_script(js){let rewritten_js=_parser_mjs__WEBPACK_IMPORTED_MODULE_3__.rewrite_js(js);return eval?.(rewritten_js)}function intercept_property(e,t,n){let r=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),t);if(r)return Object.defineProperty(e,t,n),r}},354:(e,t,n)=>{n.d(t,{Al:()=>a});var r=n(723);const o={currentScript:null,activeElement:null},a=new class{constructor(){let e=(0,r.get_handler_keys)(this);globalThis.document&&(this.__proxy__=(0,r.create_obj_proxy)(this,e,globalThis.document),this.__target__=globalThis.document)}get cookie(){return""}set cookie(e){}get body(){return this.__target__.body}get location(){return r.ctx.location}get URL(){return r.ctx.location.href}get baseURI(){return r.ctx.location.href}get documentURI(){return r.ctx.location.href}get currentScript(){return o.currentScript}set currentScript(e){o.currentScript=e}get activeElement(){return o.activeElement||document.body}set activeElement(e){o.activeElement=e}createElement(e,t){return this.__target__.createElement(e,t)}createTreeWalker(e,t,n){return e===this&&(e=document.documentElement),this.__target__.createTreeWalker(e,t,n)}};var s=n(513);function i(e){s.ND(e)}(0,r.proxy_function)(globalThis?.HTMLElement?.prototype,"append",((e,t,n)=>(i(n[0]),Reflect.apply(e,t,n)))),(0,r.proxy_function)(globalThis?.HTMLElement?.prototype,"appendChild",((e,t,n)=>(i(n[0]),Reflect.apply(e,t,n)))),(0,r.proxy_function)(globalThis?.HTMLElement?.prototype,"insertBefore",((e,t,n)=>(i(n[0]),Reflect.apply(e,t,n)))),(0,r.proxy_function)(globalThis?.HTMLElement?.prototype,"replaceChild",((e,t,n)=>(i(n[0]),Reflect.apply(e,t,n)))),globalThis.Image&&(globalThis.Image=new Proxy(globalThis.Image,{construct(e,t){let n=Reflect.construct(e,t);return s.ND(n),n}})),"undefined"!=typeof Navigator&&(Navigator.prototype.sendBeacon=()=>{}),"undefined"!=typeof MutationObserver&&(MutationObserver.prototype.observe=new Proxy(MutationObserver.prototype.observe,{apply:(e,t,n)=>(n[0]===r.ctx.document&&(n[0]=r.ctx.document.documentElement),Reflect.apply(e,t,n))})),Function.prototype.__toString=Function.prototype.toString,Function.prototype.toString=function(){let e=this.__toString();return e=e.replaceAll("__ctx__.",""),e=e.replaceAll("__get_this__(this)","this"),e}},459:(e,t,n)=>{n.r(t),n.d(t,{default_settings:()=>b,frame_html:()=>f,frame_id:()=>g,is_iframe:()=>h,is_loaded:()=>m,local_storage:()=>u,navigate:()=>c,runtime_src:()=>d,set_frame_id:()=>x,set_url:()=>T,site_settings:()=>_,url:()=>p,version:()=>k});var r=n(957),o=n(513),a=n(520),s=n(768),i=n(723),l=n(908);const c=r.create_rpc_wrapper(r.host,"navigate"),u=r.create_rpc_wrapper(r.host,"local_storage"),d=self.document?.currentScript?.innerHTML;let p,g,f,k,m=!1,h=!1,_={},b={};function y(e,t){i.ctx.document.currentScript=e;let n=document.createElement("script");n.__rewritten__=!0;try{let e=s.rewrite_js(t);n.innerHTML=e,document.body.append(n)}catch(e){console.error(e)}n.remove(),i.ctx.document.currentScript=null,e.dispatchEvent(new Event("load"))}function x(e){g=e}function T(e){p=e}r.rpc_handlers.html=async function(e){if(k=e.version,h=e.is_iframe||!1,b=e.default_settings,_={...b,...e.settings},a.known_urls[location.href]=e.url,a.enable_network(),T(e.url),x(e.frame_id),function(){let e=document.documentElement.outerHTML,t=(new XMLSerializer).serializeToString(document.doctype);f=t+e}(),(0,i.update_ctx)(),e.error)return document.getElementById("loading_text").style.display="none",document.getElementById("error_div").style.display="initial",document.getElementById("error_msg").innerText=e.error,void(document.getElementById("version_text").innerText=`Sandstone v${k.ver} (${k.hash})`);if(e.local_storage)for(let[t,n]of e.local_storage)i.ctx.localStorage.setItem(t,n);let t=(new DOMParser).parseFromString(e.html,"text/html");await o.ND(t.documentElement),document.addEventListener("click",(e=>{if(e.defaultPrevented)return;let t=e.target;for(;t&&!(t instanceof HTMLAnchorElement);)t=t.parentElement;if(t)if(e.preventDefault(),e.stopImmediatePropagation(),t.href.startsWith("javascript:")){let e=t.href.replace("javascript:","");(0,i.run_script_safe)(e)}else{let e=(0,i.convert_url)(t.href,i.ctx.location.href),n=new URL(e);if(n.pathname===location.pathname){let e=n.hash.substring(1),t=document.getElementById(e);return void(t&&t.scrollIntoView({behavior:"instant"}))}c(g,e)}}));let n=t.querySelectorAll("*[id]"),r=Object.getPrototypeOf(i.ctx);for(let e=0;e<n.length;e++){let t=n[e];r.hasOwnProperty(t.id)||(i.ctx[t.id]=t)}console.log("done downloading page"),document.documentElement.replaceWith(t.documentElement),_.allow_js&&function(){l.vS.sort(((e,t)=>e[0]-t[0]));let e=[];for(let[t,n,r]of l.vS)n.defer||n.async?e.push([n,r]):y(n,r);l.vS.length=0;for(let[t,n]of e)y(t,n)}(),m=!0,i.ctx.document.dispatchEvent(new Event("DOMContentLoaded")),i.ctx.document.dispatchEvent(new Event("readystatechange")),i.ctx.document.dispatchEvent(new Event("load")),i.ctx.window.dispatchEvent(new Event("load"))},r.rpc_handlers.favicon=async function(){for(var e="/favicon.ico",t=document.getElementsByTagName("link"),n=0;n<t.length;n++){let r=t[n];"icon"===r.getAttribute("rel")&&(e=r.getAttribute("href")),"shortcut icon"===r.getAttribute("rel")&&(e=r.getAttribute("href"))}return new URL(e,i.ctx.location.href).href},r.rpc_handlers.eval=function(e){return(0,i.run_script)(e)}},520:(e,t,n)=>{n.r(t),n.d(t,{WebSocket:()=>b,cache_put:()=>m,create_blob_url:()=>_,enable_network:()=>k,fetch:()=>h,known_urls:()=>p,requests_allowed:()=>f,resource_cache:()=>g,rpc_fetch:()=>i,rpc_ws_close:()=>d,rpc_ws_event:()=>c,rpc_ws_new:()=>l,rpc_ws_send:()=>u});var r=n(957),o=n(459),a=n(28),s=n(723);const i=r.create_rpc_wrapper(r.host,"fetch"),l=r.create_rpc_wrapper(r.host,"ws_new"),c=r.create_rpc_wrapper(r.host,"ws_event"),u=r.create_rpc_wrapper(r.host,"ws_send"),d=r.create_rpc_wrapper(r.host,"ws_close"),p={},g={};let f=!1;function k(e=!0){f=e}function m(e,t){g[e]=t}async function h(e,t){if(!f)throw"Network request blocked";let n=s.ctx.location?.href||o.url;if("data:"===(e=new URL(e,n)).protocol||"blob:"===e.protocol)return await globalThis.fetch(e.href,t);if("http:"!==e.protocol&&"https:"!==e.protocol)throw TypeError("Invalid URL");let r=await i(e.href,t),a=new Response(r.body);for(let e in r.items)Object.defineProperty(a,e,{value:r.items[e]});let l=new Headers;for(let[e,t]of r.headers)l.append(e,t);return Object.defineProperty(a,"headers",{value:l}),a}function _(e,t=null){let n=URL.createObjectURL(e);return t&&(p[n]=t),n}class b extends EventTarget{#e;constructor(e,t=[]){super();let n=new URL(e,s.ctx.location.href);n.protocol=n.protocol.replace("http","ws"),this.url=n.href,this.protocols=t,this.binaryType="blob",this.bufferedAmount=0,this.onopen=()=>{},this.onerror=()=>{},this.onmessage=()=>{},this.onclose=()=>{},this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.readyState=this.CONNECTING,this.#e=null,this.#t()}async#t(){this.#e=await l(o.frame_id,this.url,this.protocols,{headers:{Origin:s.ctx.location.origin,"User-Agent":navigator.userAgent}}),this.#n()}async#n(){for(;;){let e=await c(o.frame_id,this.#e);if(!e)break;for(let[t,n]of e)this.#r(t,n)}}#r(e,t){if("open"===e)this.readyState=this.OPEN,this.#o(new Event("open"));else if("close"===e)this.readyState=this.CLOSED,this.#o(new CloseEvent("close"));else if("message"===e){let e;e="string"==typeof t?t:"arraybuffer"==this.binaryType?t.buffer:new Blob([t]),this.#o(new MessageEvent("message",{data:e}))}else"error"===e&&this.#o(new Event("error"))}#o(e){try{this["on"+e.type](e)}catch(e){console.error(e)}this.dispatchEvent(e)}send(e){if(this.readyState===this.CONNECTING)throw new DOMException("Websocket not ready yet.");if(this.readyState!==this.CLOSED)if(e instanceof Blob)(async()=>{let t=await e.arrayBuffer();this.send(new Uint8Array(t))})();else if("string"==typeof e)u(o.frame_id,this.#e,e);else{let t=a.lG(e);u(o.frame_id,this.#e,t)}}close(){this.readyState=this.CLOSING,d(o.frame_id,this.#e)}}},768:(e,t,n)=>{n.r(t),n.d(t,{rewrite_js:()=>en});var r=n(28),o=n(723);const a={0:"Unexpected token",30:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"\\8 and \\9 are not allowed in template strings",4:"Private identifier #%0 is not defined",5:"Illegal Unicode escape sequence",6:"Invalid code point %0",7:"Invalid hexadecimal escape sequence",9:"Octal literals are not allowed in strict mode",8:"Decimal integer literals with a leading zero are forbidden in strict mode",10:"Expected number in radix %0",151:"Invalid left-hand side assignment to a destructible right-hand side",11:"Non-number found after exponent indicator",12:"Invalid BigIntLiteral",13:"No identifiers allowed directly after numeric literal",14:"Escapes \\8 or \\9 are not syntactically valid escapes",15:"Escapes \\8 or \\9 are not allowed in strict mode",16:"Unterminated string literal",17:"Unterminated template literal",18:"Multiline comment was not closed properly",19:"The identifier contained dynamic unicode escape that was not closed",20:"Illegal character '%0'",21:"Missing hexadecimal digits",22:"Invalid implicit octal",23:"Invalid line break in string literal",24:"Only unicode escapes are legal in identifier names",25:"Expected '%0'",26:"Invalid left-hand side in assignment",27:"Invalid left-hand side in async arrow",28:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',29:"Member access on super must be in a method",31:"Await expression not allowed in formal parameter",32:"Yield expression not allowed in formal parameter",95:"Unexpected token: 'escaped keyword'",33:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",123:"Async functions can only be declared at the top level or inside a block",34:"Unterminated regular expression",35:"Unexpected regular expression flag",36:"Duplicate regular expression flag '%0'",37:"%0 functions must have exactly %1 argument%2",38:"Setter function argument must not be a rest parameter",39:"%0 declaration must have a name in this context",40:"Function name may not contain any reserved words or be eval or arguments in strict mode",41:"The rest operator is missing an argument",42:"A getter cannot be a generator",43:"A setter cannot be a generator",44:"A computed property name must be followed by a colon or paren",134:"Object literal keys that are strings or numbers must be a method or have a colon",46:"Found `* async x(){}` but this should be `async * x(){}`",45:"Getters and setters can not be generators",47:"'%0' can not be generator method",48:"No line break is allowed after '=>'",49:"The left-hand side of the arrow can only be destructed through assignment",50:"The binding declaration is not destructible",51:"Async arrow can not be followed by new expression",52:"Classes may not have a static property named 'prototype'",53:"Class constructor may not be a %0",54:"Duplicate constructor method in class",55:"Invalid increment/decrement operand",56:"Invalid use of `new` keyword on an increment/decrement expression",57:"`=>` is an invalid assignment target",58:"Rest element may not have a trailing comma",59:"Missing initializer in %0 declaration",60:"'for-%0' loop head declarations can not have an initializer",61:"Invalid left-hand side in for-%0 loop: Must have a single binding",62:"Invalid shorthand property initializer",63:"Property name __proto__ appears more than once in object literal",64:"Let is disallowed as a lexically bound name",65:"Invalid use of '%0' inside new expression",66:"Illegal 'use strict' directive in function with non-simple parameter list",67:'Identifier "let" disallowed as left-hand side expression in strict mode',68:"Illegal continue statement",69:"Illegal break statement",70:"Cannot have `let[...]` as a var name in strict mode",71:"Invalid destructuring assignment target",72:"Rest parameter may not have a default initializer",73:"The rest argument must the be last parameter",74:"Invalid rest argument",76:"In strict mode code, functions can only be declared at top level or inside a block",77:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",78:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",79:"Class declaration can't appear in single-statement context",80:"Invalid left-hand side in for-%0",81:"Invalid assignment in for-%0",82:"for await (... of ...) is only valid in async functions and async generators",83:"The first token after the template expression should be a continuation of the template",85:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",84:"`let \n [` is a restricted production at the start of a statement",86:"Catch clause requires exactly one parameter, not more (and no trailing comma)",87:"Catch clause parameter does not support default values",88:"Missing catch or finally after try",89:"More than one default clause in switch statement",90:"Illegal newline after throw",91:"Strict mode code may not include a with statement",92:"Illegal return statement",93:"The left hand side of the for-header binding declaration is not destructible",94:"new.target only allowed within functions or static blocks",96:"'#' not followed by identifier",102:"Invalid keyword",101:"Can not use 'let' as a class name",100:"'A lexical declaration can't define a 'let' binding",99:"Can not use `let` as variable name in strict mode",97:"'%0' may not be used as an identifier in this context",98:"Await is only valid in async functions",103:"The %0 keyword can only be used with the module goal",104:"Unicode codepoint must not be greater than 0x10FFFF",105:"%0 source must be string",106:"Only a identifier or string can be used to indicate alias",107:"Only '*' or '{...}' can be imported after default",108:"Trailing decorator may be followed by method",109:"Decorators can't be used with a constructor",110:"Can not use `await` as identifier in module or async func",111:"Can not use `await` as identifier in module",112:"HTML comments are only allowed with web compatibility (Annex B)",113:"The identifier 'let' must not be in expression position in strict mode",114:"Cannot assign to `eval` and `arguments` in strict mode",115:"The left-hand side of a for-of loop may not start with 'let'",116:"Block body arrows can not be immediately invoked without a group",117:"Block body arrows can not be immediately accessed without a group",118:"Unexpected strict mode reserved word",119:"Unexpected eval or arguments in strict mode",120:"Decorators must not be followed by a semicolon",121:"Calling delete on expression not allowed in strict mode",122:"Pattern can not have a tail",124:"Can not have a `yield` expression on the left side of a ternary",125:"An arrow function can not have a postfix update operator",126:"Invalid object literal key character after generator star",127:"Private fields can not be deleted",129:"Classes may not have a field called constructor",128:"Classes may not have a private element named constructor",130:"A class field initializer or static block may not contain arguments",131:"Generators can only be declared at the top level or inside a block",132:"Async methods are a restricted production and cannot have a newline following it",133:"Unexpected character after object literal property name",135:"Invalid key token",136:"Label '%0' has already been declared",137:"continue statement must be nested within an iteration statement",138:"Undefined label '%0'",139:"Trailing comma is disallowed inside import(...) arguments",140:"Invalid binding in JSON import",141:"import() requires exactly one argument",142:"Cannot use new with import(...)",143:"... is not allowed in import()",144:"Expected '=>'",145:"Duplicate binding '%0'",146:"Duplicate private identifier #%0",147:"Cannot export a duplicate name '%0'",150:"Duplicate %0 for-binding",148:"Exported binding '%0' needs to refer to a top-level declared variable",149:"Unexpected private field",153:"Numeric separators are not allowed at the end of numeric literals",152:"Only one underscore is allowed as numeric separator",154:"JSX value should be either an expression or a quoted JSX text",155:"Expected corresponding JSX closing tag for %0",156:"Adjacent JSX elements must be wrapped in an enclosing tag",157:"JSX attributes must only be assigned a non-empty 'expression'",158:"'%0' has already been declared",159:"'%0' shadowed a catch clause binding",160:"Dot property must be an identifier",161:"Encountered invalid input after spread/rest argument",162:"Catch without try",163:"Finally without try",164:"Expected corresponding closing tag for JSX fragment",165:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",166:"Invalid tagged template on optional chain",167:"Invalid optional chain from super property",168:"Invalid optional chain from new expression",169:'Cannot use "import.meta" outside a module',170:"Leading decorators must be attached to a class declaration",171:"An export name cannot include a lone surrogate, found %0",172:"A string literal cannot be used as an exported binding without `from`",173:"Private fields can't be accessed on super",174:"The only valid meta property for import is 'import.meta'",175:"'import.meta' must not contain escaped characters",176:'cannot use "await" as identifier inside an async function',177:'cannot use "await" in static blocks'};class s extends SyntaxError{constructor(e,t,n,r,o,s,i,...l){const c="["+t+":"+n+"-"+o+":"+s+"]: "+a[i].replace(/%(\d+)/g,((e,t)=>l[t]));super(`${c}`),this.start=e,this.end=r,this.range=[e,r],this.loc={start:{line:t,column:n},end:{line:o,column:s}},this.description=c}}function i(e,t,...n){throw new s(e.tokenIndex,e.tokenLine,e.tokenColumn,e.index,e.line,e.column,t,...n)}function l(e){throw new s(e.tokenIndex,e.tokenLine,e.tokenColumn,e.index,e.line,e.column,e.type,...e.params)}function c(e,t,n,r,o,a,i,...l){throw new s(e,t,n,r,o,a,i,...l)}function u(e,t,n,r,o,a,i){throw new s(e,t,n,r,o,a,i)}function d(e){return!!(1&p[34816+(e>>>5)]>>>e)}const p=((e,t)=>{const n=new Uint32Array(104448);let r=0,o=0;for(;r<3822;){const a=e[r++];if(a<0)o-=a;else{let s=e[r++];2&a&&(s=t[s]),1&a?n.fill(s,o,o+=e[r++]):n[o++]=s}}return n})([-1,2,26,2,27,2,5,-1,0,77595648,3,44,2,3,0,14,2,63,2,64,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,41,3,0,4,0,4294966523,3,0,4,2,16,2,65,2,0,0,4294836735,0,3221225471,0,4294901942,2,66,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,18,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,60,2,7,2,6,0,4286611199,3,0,2,2,1,3,0,3,0,4294901711,2,40,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,203,2,3,0,4093640191,0,660618719,0,65487,0,4294828015,0,4092591615,0,1616920031,0,982991,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,71,0,4284449919,0,851904,2,4,2,12,0,67076095,-1,2,72,0,1073741743,0,4093607775,-1,0,50331649,0,3265266687,2,33,0,4294844415,0,4278190047,2,20,2,137,-1,3,0,2,2,23,2,0,2,10,2,0,2,15,2,22,3,0,10,2,74,2,0,2,75,2,76,2,77,2,0,2,78,2,0,2,11,0,261632,2,25,3,0,2,2,13,2,4,3,0,18,2,79,2,5,3,0,2,2,80,0,2151677951,2,29,2,9,0,909311,3,0,2,0,814743551,2,49,0,67090432,3,0,2,2,42,2,0,2,6,2,0,2,30,2,8,0,268374015,2,110,2,51,2,0,2,81,0,134153215,-1,2,7,2,0,2,8,0,2684354559,0,67044351,0,3221160064,2,17,-1,3,0,2,2,53,0,1046528,3,0,3,2,9,2,0,2,54,0,4294960127,2,10,2,6,2,11,0,4294377472,2,12,3,0,16,2,13,2,0,2,82,2,10,2,0,2,83,2,84,2,85,2,210,2,55,0,1048577,2,86,2,14,-1,2,14,0,131042,2,87,2,88,2,89,2,0,2,34,-83,3,0,7,0,1046559,2,0,2,15,2,0,0,2147516671,2,21,3,90,2,2,0,-16,2,91,0,524222462,2,4,2,0,0,4269801471,2,4,3,0,2,2,28,2,16,3,0,2,2,17,2,0,-1,2,18,-16,3,0,206,-2,3,0,692,2,73,-1,2,18,2,10,3,0,8,2,93,2,133,2,0,0,3220242431,3,0,3,2,19,2,94,2,95,3,0,2,2,96,2,0,2,97,2,46,2,0,0,4351,2,0,2,9,3,0,2,0,67043391,0,3909091327,2,0,2,24,2,9,2,20,3,0,2,0,67076097,2,8,2,0,2,21,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,101,2,102,2,22,2,23,3,0,3,0,67057663,3,0,349,2,103,2,104,2,7,-264,3,0,11,2,24,3,0,2,2,32,-1,0,3774349439,2,105,2,106,3,0,2,2,19,2,107,3,0,10,2,10,2,18,2,0,2,47,2,0,2,31,2,108,2,25,0,1638399,2,183,2,109,3,0,3,2,20,2,26,2,27,2,5,2,28,2,0,2,8,2,111,-1,2,112,2,113,2,114,-1,3,0,3,2,12,-2,2,0,2,29,-3,2,163,-4,2,20,2,0,2,36,0,1,2,0,2,67,2,6,2,12,2,10,2,0,2,115,-1,3,0,4,2,10,2,23,2,116,2,7,2,0,2,117,2,0,2,118,2,119,2,120,2,0,2,9,3,0,9,2,21,2,30,2,31,2,121,2,122,-2,2,123,2,124,2,30,2,21,2,8,-2,2,125,2,30,2,32,-2,2,0,2,39,-2,0,4277137519,0,2269118463,-1,3,20,2,-1,2,33,2,38,2,0,3,30,2,2,35,2,19,-3,3,0,2,2,34,-1,2,0,2,35,2,0,2,35,2,0,2,48,2,0,0,4294950463,2,37,-7,2,0,0,203775,2,57,2,167,2,20,2,43,2,36,2,18,2,37,2,18,2,126,2,21,3,0,2,2,38,0,2151677888,2,0,2,12,0,4294901764,2,144,2,0,2,58,2,56,0,5242879,3,0,2,0,402644511,-1,2,128,2,39,0,3,-1,2,129,2,130,2,0,0,67045375,2,40,0,4226678271,0,3766565279,0,2039759,2,132,2,41,0,1046437,0,6,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,42,2,23,2,50,2,11,2,61,2,38,-5,2,0,2,12,-3,3,0,2,0,2147484671,2,134,0,4190109695,2,52,-2,2,135,0,4244635647,0,27,2,0,2,8,2,43,2,0,2,68,2,18,2,0,2,42,-6,2,0,2,45,2,59,2,44,2,45,2,46,2,47,0,8388351,-2,2,136,0,3028287487,2,48,2,138,0,33259519,2,49,-9,2,21,0,4294836223,0,3355443199,0,134152199,-2,2,69,-2,3,0,28,2,32,-3,3,0,3,2,17,3,0,6,2,50,-81,2,18,3,0,2,2,36,3,0,33,2,25,2,30,3,0,124,2,12,3,0,18,2,38,-213,2,0,2,32,-54,3,0,17,2,42,2,8,2,23,2,0,2,8,2,23,2,51,2,0,2,21,2,52,2,139,2,25,-13,2,0,2,53,-6,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,54,3,0,38,2,30,2,55,2,34,-278,2,140,3,0,9,2,141,2,142,2,56,3,0,11,2,7,-72,3,0,3,2,143,0,1677656575,-130,2,26,-16,2,0,2,24,2,38,-16,0,4161266656,0,4071,2,205,-4,2,57,-13,3,0,2,2,58,2,0,2,145,2,146,2,62,2,0,2,147,2,148,2,149,3,0,10,2,150,2,151,2,22,3,58,2,3,152,2,3,59,2,0,4294954999,2,0,-16,2,0,2,92,2,0,0,2105343,0,4160749584,2,177,-34,2,8,2,154,-6,0,4194303871,0,4294903771,2,0,2,60,2,100,-3,2,0,0,1073684479,0,17407,-9,2,18,2,17,2,0,2,32,-14,2,18,2,32,-6,2,18,2,12,-15,2,155,3,0,6,0,8323103,-1,3,0,2,2,61,-37,2,62,2,156,2,157,2,158,2,159,2,160,-105,2,26,-32,3,0,1335,-1,3,0,129,2,32,3,0,6,2,10,3,0,180,2,161,3,0,233,2,162,3,0,18,2,10,-77,3,0,16,2,10,-47,3,0,154,2,6,3,0,130,2,25,-22250,3,0,7,2,25,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,63,2,64,-3,0,3168731136,0,4294956864,2,1,2,0,2,41,3,0,4,0,4294966275,3,0,4,2,16,2,65,2,0,2,34,-1,2,18,2,66,-1,2,0,0,2047,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,25,2,67,3,0,2,0,131135,2,98,0,70256639,0,71303167,0,272,2,42,2,6,0,32511,2,0,2,49,-1,2,99,2,68,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,70,2,69,0,33554435,2,131,2,70,2,164,0,131075,0,3594373096,0,67094296,2,69,-1,0,4294828e3,0,603979263,0,654311424,0,3,0,4294828001,0,602930687,2,171,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,71,2,38,-1,2,4,0,917503,2,38,-1,2,72,0,537788335,0,4026531935,-1,0,1,-1,2,33,2,73,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,15,2,22,3,0,10,2,74,2,0,2,75,2,76,2,77,2,0,2,78,2,0,2,12,-1,2,25,3,0,2,2,13,2,4,3,0,18,2,79,2,5,3,0,2,2,80,0,2147745791,3,19,2,0,122879,2,0,2,9,0,276824064,-2,3,0,2,2,42,2,0,0,4294903295,2,0,2,30,2,8,-1,2,18,2,51,2,0,2,81,2,49,-1,2,21,2,0,2,29,-2,0,128,-2,2,28,2,9,0,8160,-1,2,127,0,4227907585,2,0,2,37,2,0,2,50,2,184,2,10,2,6,2,11,-1,0,74440192,3,0,6,-2,3,0,8,2,13,2,0,2,82,2,10,2,0,2,83,2,84,2,85,-3,2,86,2,14,-3,2,87,2,88,2,89,2,0,2,34,-83,3,0,7,0,817183,2,0,2,15,2,0,0,33023,2,21,3,90,2,-17,2,91,0,524157950,2,4,2,0,2,92,2,4,2,0,2,22,2,28,2,16,3,0,2,2,17,2,0,-1,2,18,-16,3,0,206,-2,3,0,692,2,73,-1,2,18,2,10,3,0,8,2,93,0,3072,2,0,0,2147516415,2,10,3,0,2,2,25,2,94,2,95,3,0,2,2,96,2,0,2,97,2,46,0,4294965179,0,7,2,0,2,9,2,95,2,9,-1,0,1761345536,2,98,0,4294901823,2,38,2,20,2,99,2,35,2,100,0,2080440287,2,0,2,34,2,153,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,101,2,102,2,22,2,23,3,0,3,0,7,3,0,349,2,103,2,104,2,7,-264,3,0,11,2,24,3,0,2,2,32,-1,0,2700607615,2,105,2,106,3,0,2,2,19,2,107,3,0,10,2,10,2,18,2,0,2,47,2,0,2,31,2,108,-3,2,109,3,0,3,2,20,-1,3,5,2,2,110,2,0,2,8,2,111,-1,2,112,2,113,2,114,-1,3,0,3,2,12,-2,2,0,2,29,-8,2,20,2,0,2,36,-1,2,0,2,67,2,6,2,30,2,10,2,0,2,115,-1,3,0,4,2,10,2,18,2,116,2,7,2,0,2,117,2,0,2,118,2,119,2,120,2,0,2,9,3,0,9,2,21,2,30,2,31,2,121,2,122,-2,2,123,2,124,2,30,2,21,2,8,-2,2,125,2,30,2,32,-2,2,0,2,39,-2,0,4277075969,2,30,-1,3,20,2,-1,2,33,2,126,2,0,3,30,2,2,35,2,19,-3,3,0,2,2,34,-1,2,0,2,35,2,0,2,35,2,0,2,50,2,98,0,4294934591,2,37,-7,2,0,0,197631,2,57,-1,2,20,2,43,2,37,2,18,0,3,2,18,2,126,2,21,2,127,2,54,-1,0,2490368,2,127,2,25,2,18,2,34,2,127,2,38,0,4294901904,0,4718591,2,127,2,35,0,335544350,-1,2,128,0,2147487743,0,1,-1,2,129,2,130,2,8,-1,2,131,2,70,0,3758161920,0,3,2,132,0,12582911,0,655360,-1,2,0,2,29,0,2147485568,0,3,2,0,2,25,0,176,-5,2,0,2,17,2,192,-1,2,0,2,25,2,209,-1,2,0,0,16779263,-2,2,12,-1,2,38,-5,2,0,2,133,-3,3,0,2,2,55,2,134,0,2147549183,0,2,-2,2,135,2,36,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,2,18,2,0,2,42,-6,2,0,0,1,2,59,2,17,0,1,2,46,2,25,-3,2,136,2,36,2,137,2,138,0,16778239,-10,2,35,0,4294836212,2,9,-3,2,69,-2,3,0,28,2,32,-3,3,0,3,2,17,3,0,6,2,50,-81,2,18,3,0,2,2,36,3,0,33,2,25,0,126,3,0,124,2,12,3,0,18,2,38,-213,2,10,-55,3,0,17,2,42,2,8,2,18,2,0,2,8,2,18,2,60,2,0,2,25,2,50,2,139,2,25,-13,2,0,2,73,-6,3,0,2,-4,3,0,2,0,67583,-1,2,107,-2,0,11,3,0,191,2,54,3,0,38,2,30,2,55,2,34,-278,2,140,3,0,9,2,141,2,142,2,56,3,0,11,2,7,-72,3,0,3,2,143,2,144,-187,3,0,2,2,58,2,0,2,145,2,146,2,62,2,0,2,147,2,148,2,149,3,0,10,2,150,2,151,2,22,3,58,2,3,152,2,3,59,2,2,153,-57,2,8,2,154,-7,2,18,2,0,2,60,-4,2,0,0,1065361407,0,16384,-9,2,18,2,60,2,0,2,133,-14,2,18,2,133,-6,2,18,0,81919,-15,2,155,3,0,6,2,126,-1,3,0,2,0,2063,-37,2,62,2,156,2,157,2,158,2,159,2,160,-138,3,0,1335,-1,3,0,129,2,32,3,0,6,2,10,3,0,180,2,161,3,0,233,2,162,3,0,18,2,10,-77,3,0,16,2,10,-47,3,0,154,2,6,3,0,130,2,25,-28386,2,0,0,1,-1,2,55,2,0,0,8193,-21,2,201,0,10255,0,4,-11,2,69,2,182,-1,0,71680,-1,2,174,0,4292900864,0,268435519,-5,2,163,-1,2,173,-1,0,6144,-2,2,46,-1,2,168,-1,0,2147532800,2,164,2,170,0,8355840,-2,0,4,-4,2,198,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,165,0,4294886464,0,33292336,0,417809,2,165,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,166,0,201327104,0,3634348576,0,8323120,2,166,0,202375680,0,2678047264,0,4293984304,2,166,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,2,213,2,167,2,0,0,2089,0,3221225552,0,201359520,2,0,-2,0,256,0,122880,0,16777216,2,163,0,4160757760,2,0,-6,2,179,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,168,2,186,2,187,-2,2,175,-20,0,3758096385,-2,2,169,2,195,2,94,2,180,0,4294057984,-2,2,176,2,172,0,4227874816,-2,2,169,-1,2,170,-1,2,181,2,55,0,4026593280,0,14,0,4292919296,-1,2,178,0,939588608,-1,0,805306368,-1,2,55,2,171,2,172,2,173,2,211,2,0,-2,0,8192,-4,0,267386880,-1,0,117440512,0,7168,-1,2,170,2,168,2,174,2,188,-16,2,175,-1,0,1426112704,2,176,-1,2,196,0,271581216,0,2149777408,2,25,2,174,2,55,0,851967,2,189,-1,2,177,2,190,-4,2,178,-20,2,98,2,208,-56,0,3145728,2,191,-10,0,32505856,-1,2,179,-1,0,2147385088,2,94,1,2155905152,2,-3,2,176,2,0,0,67108864,-2,2,180,-6,2,181,2,25,0,1,-1,0,1,-1,2,182,-3,2,126,2,69,-2,2,100,-2,0,32704,2,55,-915,2,183,-1,2,207,-10,2,194,-5,2,185,-6,0,3759456256,2,19,-1,2,184,-1,2,185,-2,0,4227874752,-3,0,2146435072,2,186,-2,0,1006649344,2,55,-1,2,94,0,201375744,-3,0,134217720,2,94,0,4286677377,0,32896,-1,2,178,-3,0,4227907584,-349,0,65520,0,1920,2,167,3,0,264,-11,2,173,-2,2,187,2,0,0,520617856,0,2692743168,0,36,-3,0,524280,-13,2,193,-1,0,4294934272,2,25,2,187,-1,2,215,0,2158720,-3,2,186,0,1,-4,2,55,0,3808625411,0,3489628288,0,4096,0,1207959680,0,3221274624,2,0,-3,2,188,0,120,0,7340032,-2,2,189,2,4,2,25,2,176,3,0,4,2,186,-1,2,190,2,167,-1,0,8176,2,170,2,188,0,1073741824,-1,0,4290773232,2,0,-4,2,176,2,197,0,15728640,2,167,-1,2,174,-1,0,134250480,0,4720640,0,3825467396,-1,2,180,-9,2,94,2,181,0,4294967040,2,137,0,4160880640,3,0,2,0,704,0,1849688064,2,191,-1,2,55,0,4294901887,2,0,0,130547712,0,1879048192,2,212,3,0,2,-1,2,192,2,193,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,200,0,16252928,0,3791388672,2,130,3,0,2,-2,2,206,2,0,-1,2,107,-1,0,66584576,-1,2,199,-1,0,448,0,4294918080,3,0,6,2,55,-1,0,4294755328,0,4294967267,2,7,-1,2,174,2,187,2,25,2,98,2,25,2,194,2,94,-2,0,245760,2,195,-1,2,163,2,202,0,4227923456,-1,2,196,2,174,2,94,-3,0,4292870145,0,262144,-1,2,95,2,0,0,1073758848,2,197,-1,0,4227921920,2,198,0,68289024,0,528402016,0,4292927536,0,46080,2,191,0,4265609306,0,4294967289,-2,0,268435456,2,95,-2,2,199,3,0,5,-1,2,200,2,176,2,0,-2,0,4227923936,2,67,-1,2,187,2,197,2,99,2,168,2,178,2,204,3,0,5,-1,2,167,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,201,2,28,-2,2,174,-2,2,202,-1,2,169,2,98,3,0,5,-1,0,4227923964,0,512,0,8388608,2,203,2,183,2,193,0,4286578944,3,0,2,0,1152,0,1266679808,2,199,0,576,0,4261707776,2,98,3,0,9,2,169,0,131072,0,939524096,2,188,3,0,2,2,16,-1,0,2147221504,-28,2,187,3,0,3,-3,0,4292902912,-6,2,99,3,0,81,2,25,-2,2,107,-33,2,18,2,181,-124,2,188,-18,2,204,3,0,213,-1,2,187,3,0,54,-17,2,169,2,55,2,205,-1,2,55,2,197,0,4290822144,-2,0,67174336,0,520093700,2,18,3,0,13,-1,2,187,3,0,6,-2,2,188,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,185,-38,2,181,2,8,2,206,3,0,278,0,2417033215,-9,0,4294705144,0,4292411391,0,65295,-11,2,167,3,0,72,-3,0,3758159872,0,201391616,3,0,123,-7,2,187,-13,2,180,3,0,2,-1,2,173,2,207,-3,2,99,2,0,-7,2,181,-1,0,384,-1,0,133693440,-3,2,208,-2,2,110,3,0,3,3,180,2,-2,2,94,2,169,3,0,4,-2,2,196,-1,2,163,0,335552923,2,209,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,2,210,-21,0,134213632,2,162,3,0,34,2,55,0,4294965279,3,0,6,0,100663424,0,63524,-1,2,214,2,152,3,0,3,-1,0,3221282816,0,4294917120,3,0,9,2,25,2,211,-1,2,212,3,0,14,2,25,2,187,3,0,6,2,25,2,213,3,0,15,0,2147520640,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,36,-1,0,4292870144,3,0,2,0,1,2,176,3,0,6,2,209,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,47,3,0,8,-1,2,178,-2,2,180,0,98304,0,65537,2,181,-5,2,214,2,0,2,37,2,202,2,167,0,4294770176,2,110,3,0,4,-30,2,192,0,3758153728,-3,0,125829120,-2,2,187,0,4294897664,2,178,-1,2,199,-1,2,174,0,4026580992,2,95,2,0,-10,2,180,0,3758145536,0,31744,-1,0,1610628992,0,4261477376,-4,2,215,-2,2,187,3,0,32,-1335,2,0,-129,2,187,-6,2,176,-180,0,65532,-233,2,177,-18,2,176,3,0,77,-16,2,176,3,0,47,-154,2,170,-130,2,18,3,0,22250,-7,2,18,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,4294903807,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4294901759,32767,4294901760,262143,536870911,8388607,4160749567,4294902783,4294918143,65535,67043328,2281701374,4294967264,2097151,4194303,255,67108863,4294967039,511,524287,131071,63,127,3238002687,4294549487,4290772991,33554431,4294901888,4286578687,67043329,4294705152,4294770687,67043583,1023,15,2047999,67043343,67051519,16777215,2147483648,4294902e3,28,4292870143,4294966783,16383,67047423,4294967279,262083,20511,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,535511039,4294966272,4294967280,32768,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,4294967232,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4160684047,4290246655,469499899,4294967231,134086655,4294966591,2445279231,3670015,31,4294967288,4294705151,3221208447,4294902271,4294549472,4294921215,4095,4285526655,4294966527,4294966143,64,4294966719,3774873592,1877934080,262151,2555904,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4294934527,4087,2016,2147446655,184024726,2862017156,1593309078,268434431,268434414,4294901763,4294901761,536870912,2952790016,202506752,139264,4026531840,402653184,4261412864,63488,1610612736,4227922944,49152,65280,3233808384,3221225472,65534,61440,57152,4293918720,4290772992,25165824,57344,4227915776,4278190080,3758096384,4227858432,4160749568,3758129152,4294836224,4194304,251658240,196608,4294963200,2143289344,2097152,64512,417808,4227923712,12582912,50331648,65528,65472,4294967168,15360,4294966784,65408,4294965248,16,12288,4294934528,2080374784,2013265920,4294950912,524288]);function g(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function f(e){const t=e.currentChar;if(55296!=(64512&t))return 0;const n=e.source.charCodeAt(e.index+1);return 56320!=(64512&n)?0:65536+((1023&t)<<10)+(1023&n)}function k(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,4&t||(e.column=0,e.line++)}function m(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function h(e){return e<65?e-48:e-65+10&15}function _(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 131:return"TemplateLiteral";default:return 143360&~e?4096&~e?"Punctuator":"Keyword":"Identifier"}}const b=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],y=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function T(e){return e<=127?y[e]>0:d(e)}function w(e){return e<=127?x[e]>0:function(e){return!!(1&p[0+(e>>>5)]>>>e)}(e)||8204===e||8205===e}const v=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function C(e,t,n,r,o,a,s,l){return 512&r&&i(e,0),E(e,t,n,o,a,s,l)}function E(e,t,n,r,o,a,s){const{index:i}=e;for(e.tokenIndex=e.index,e.tokenLine=e.line,e.tokenColumn=e.column;e.index<e.end;){if(8&b[e.currentChar]){const n=13===e.currentChar;m(e),n&&e.index<e.end&&10===e.currentChar&&(e.currentChar=t.charCodeAt(++e.index));break}if((8232^e.currentChar)<=1){m(e);break}g(e),e.tokenIndex=e.index,e.tokenLine=e.line,e.tokenColumn=e.column}if(e.onComment){const n={start:{line:a,column:s},end:{line:e.tokenLine,column:e.tokenColumn}};e.onComment(v[255&r],t.slice(i,e.tokenIndex),o,e.tokenIndex,n)}return 1|n}function L(e,t,n){const{index:r}=e;for(;e.index<e.end;)if(e.currentChar<43){let o=!1;for(;42===e.currentChar;)if(o||(n&=-5,o=!0),47===g(e)){if(g(e),e.onComment){const n={start:{line:e.tokenLine,column:e.tokenColumn},end:{line:e.line,column:e.column}};e.onComment(v[1],t.slice(r,e.index-2),r-2,e.index,n)}return e.tokenIndex=e.index,e.tokenLine=e.line,e.tokenColumn=e.column,n}if(o)continue;8&b[e.currentChar]?13===e.currentChar?(n|=5,m(e)):(k(e,n),n=-5&n|1):g(e)}else(8232^e.currentChar)<=1?(n=-5&n|1,m(e)):(n&=-5,g(e));i(e,18)}var I,S;function q(e,t){const n=e.index;let r=I.Empty;e:for(;;){const t=e.currentChar;if(g(e),r&I.Escape)r&=~I.Escape;else switch(t){case 47:if(r)break;break e;case 92:r|=I.Escape;break;case 91:r|=I.Class;break;case 93:r&=I.Escape}if(13!==t&&10!==t&&8232!==t&&8233!==t||i(e,34),e.index>=e.source.length)return i(e,34)}const o=e.index-1;let a=S.Empty,s=e.currentChar;const{index:l}=e;for(;w(s);){switch(s){case 103:a&S.Global&&i(e,36,"g"),a|=S.Global;break;case 105:a&S.IgnoreCase&&i(e,36,"i"),a|=S.IgnoreCase;break;case 109:a&S.Multiline&&i(e,36,"m"),a|=S.Multiline;break;case 117:a&S.Unicode&&i(e,36,"u"),a&S.UnicodeSets&&i(e,36,"vu"),a|=S.Unicode;break;case 118:a&S.Unicode&&i(e,36,"uv"),a&S.UnicodeSets&&i(e,36,"v"),a|=S.UnicodeSets;break;case 121:a&S.Sticky&&i(e,36,"y"),a|=S.Sticky;break;case 115:a&S.DotAll&&i(e,36,"s"),a|=S.DotAll;break;case 100:a&S.Indices&&i(e,36,"d"),a|=S.Indices;break;default:i(e,35)}s=g(e)}const c=e.source.slice(l,e.index),u=e.source.slice(n,o);return e.tokenRegExp={pattern:u,flags:c},128&t&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),e.tokenValue=function(e,t,n){try{return new RegExp(t,n)}catch{try{return new RegExp(t,n),null}catch{i(e,34)}}}(e,u,c),65540}function A(e,t,n){const{index:r}=e;let o="",a=g(e),s=e.index;for(;!(8&b[a]);){if(a===n)return o+=e.source.slice(s,e.index),g(e),128&t&&(e.tokenRaw=e.source.slice(r,e.index)),e.tokenValue=o,134283267;if(!(8&~a)&&92===a){if(o+=e.source.slice(s,e.index),a=g(e),a<127||8232===a||8233===a){const n=D(e,t,a);n>=0?o+=String.fromCodePoint(n):R(e,n,0)}else o+=String.fromCodePoint(a);s=e.index+1}e.index>=e.end&&i(e,16),a=g(e)}i(e,16)}function D(e,t,n,r=0){switch(n){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index<e.end){const t=e.source.charCodeAt(e.index+1);10===t&&(e.index=e.index+1,e.currentChar=t)}case 10:case 8232:case 8233:return e.column=-1,e.line++,-1;case 48:case 49:case 50:case 51:{let o=n-48,a=e.index+1,s=e.column+1;if(a<e.end){const n=e.source.charCodeAt(a);if(32&b[n]){if(256&t||r)return-2;if(e.currentChar=n,o=o<<3|n-48,a++,s++,a<e.end){const t=e.source.charCodeAt(a);32&b[t]&&(e.currentChar=t,o=o<<3|t-48,a++,s++)}e.flags|=64}else if(0!==o||512&b[n]){if(256&t||r)return-2;e.flags|=64}e.index=a-1,e.column=s-1}return o}case 52:case 53:case 54:case 55:{if(r||256&t)return-2;let o=n-48;const a=e.index+1,s=e.column+1;if(a<e.end){const t=e.source.charCodeAt(a);32&b[t]&&(o=o<<3|t-48,e.currentChar=t,e.index=a,e.column=s)}return e.flags|=64,o}case 120:{const t=g(e);if(!(64&b[t]))return-4;const n=h(t),r=g(e);return 64&b[r]?n<<4|h(r):-4}case 117:{const t=g(e);if(123===e.currentChar){let t=0;for(;64&b[g(e)];)if(t=t<<4|h(e.currentChar),t>1114111)return-5;return e.currentChar<1||125!==e.currentChar?-4:t}{if(!(64&b[t]))return-4;const n=e.source.charCodeAt(e.index+1);if(!(64&b[n]))return-4;const r=e.source.charCodeAt(e.index+2);if(!(64&b[r]))return-4;const o=e.source.charCodeAt(e.index+3);return 64&b[o]?(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),h(t)<<12|h(n)<<8|h(r)<<4|h(o)):-4}}case 56:case 57:if(r||!(64&t)||256&t)return-3;e.flags|=4096;default:return n}}function R(e,t,n){switch(t){case-1:return;case-2:i(e,n?2:1);case-3:i(e,n?3:14);case-4:i(e,7);case-5:i(e,104)}}function P(e,t){const{index:n}=e;let r=67174409,o="",a=g(e);for(;96!==a;){if(36===a&&123===e.source.charCodeAt(e.index+1)){g(e),r=67174408;break}if(92===a)if(a=g(e),a>126)o+=String.fromCodePoint(a);else{const{index:n,line:s,column:i}=e,l=D(e,256|t,a,1);if(l>=0)o+=String.fromCodePoint(l);else{if(-1!==l&&16384&t){e.index=n,e.line=s,e.column=i,o=null,a=O(e,a),a<0&&(r=67174408);break}R(e,l,1)}}else e.index<e.end&&(13===a&&10===e.source.charCodeAt(e.index)&&(o+=String.fromCodePoint(a),e.currentChar=e.source.charCodeAt(++e.index)),((83&a)<3&&10===a||(8232^a)<=1)&&(e.column=-1,e.line++),o+=String.fromCodePoint(a));e.index>=e.end&&i(e,17),a=g(e)}return g(e),e.tokenValue=o,e.tokenRaw=e.source.slice(n+1,e.index-(67174409===r?1:2)),r}function O(e,t){for(;96!==t;){switch(t){case 36:{const n=e.index+1;if(n<e.end&&123===e.source.charCodeAt(n))return e.index=n,e.column++,-t;break}case 10:case 8232:case 8233:e.column=-1,e.line++}e.index>=e.end&&i(e,17),t=g(e)}return t}function M(e,t){return e.index>=e.end&&i(e,0),e.index--,e.column--,P(e,t)}function U(e,t,n){let r=e.currentChar,o=0,a=9,s=64&n?0:1,l=0,c=0;if(64&n)o="."+N(e,r),r=e.currentChar,110===r&&i(e,12);else{if(48===r)if(r=g(e),120==(32|r)){for(n=136,r=g(e);4160&b[r];)95!==r?(c=1,o=16*o+h(r),l++,r=g(e)):(c||i(e,152),c=0,r=g(e));0!==l&&c||i(e,0===l?21:153)}else if(111==(32|r)){for(n=132,r=g(e);4128&b[r];)95!==r?(c=1,o=8*o+(r-48),l++,r=g(e)):(c||i(e,152),c=0,r=g(e));0!==l&&c||i(e,0===l?0:153)}else if(98==(32|r)){for(n=130,r=g(e);4224&b[r];)95!==r?(c=1,o=2*o+(r-48),l++,r=g(e)):(c||i(e,152),c=0,r=g(e));0!==l&&c||i(e,0===l?0:153)}else if(32&b[r])for(256&t&&i(e,1),n=1;16&b[r];){if(512&b[r]){n=32,s=0;break}o=8*o+(r-48),r=g(e)}else 512&b[r]?(256&t&&i(e,1),e.flags|=64,n=32):95===r&&i(e,0);if(48&n){if(s){for(;a>=0&&4112&b[r];)95!==r?(c=0,o=10*o+(r-48),r=g(e),--a):(r=g(e),(95===r||32&n)&&u(e.index,e.line,e.column,e.index+1,e.line,e.column,152),c=1);if(c&&u(e.index,e.line,e.column,e.index+1,e.line,e.column,153),a>=0&&!T(r)&&46!==r)return e.tokenValue=o,128&t&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),134283266}o+=N(e,r),r=e.currentChar,46===r&&(95===g(e)&&i(e,0),n=64,o+="."+N(e,e.currentChar),r=e.currentChar)}}const d=e.index;let p=0;if(110===r&&128&n)p=1,r=g(e);else if(101==(32|r)){r=g(e),256&b[r]&&(r=g(e));const{index:t}=e;16&b[r]||i(e,11),o+=e.source.substring(d,t)+N(e,r),r=e.currentChar}return(e.index<e.end&&16&b[r]||T(r))&&i(e,13),p?(e.tokenRaw=e.source.slice(e.tokenIndex,e.index),e.tokenValue=BigInt(e.tokenRaw.slice(0,-1).replaceAll("_","")),134283388):(e.tokenValue=15&n?o:32&n?parseFloat(e.source.substring(e.tokenIndex,e.index)):+o,128&t&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),134283266)}function N(e,t){let n=0,r=e.index,o="";for(;4112&b[t];)if(95!==t)n=0,t=g(e);else{const{index:a}=e;95===(t=g(e))&&u(e.index,e.line,e.column,e.index+1,e.line,e.column,152),n=1,o+=e.source.substring(r,a),r=e.index}return n&&u(e.index,e.line,e.column,e.index+1,e.line,e.column,153),o+e.source.substring(r,e.index)}!function(e){e[e.Empty=0]="Empty",e[e.Escape=1]="Escape",e[e.Class=2]="Class"}(I||(I={})),function(e){e[e.Empty=0]="Empty",e[e.IgnoreCase=1]="IgnoreCase",e[e.Global=2]="Global",e[e.Multiline=4]="Multiline",e[e.Unicode=16]="Unicode",e[e.Sticky=8]="Sticky",e[e.DotAll=32]="DotAll",e[e.Indices=64]="Indices",e[e.UnicodeSets=128]="UnicodeSets"}(S||(S={}));const V=["end of source","identifier","number","string","regular expression","false","true","null","template continuation","template tail","=>","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","accessor","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],j=Object.create(null,{this:{value:86111},function:{value:86104},if:{value:20569},return:{value:20572},var:{value:86088},else:{value:20563},for:{value:20567},new:{value:86107},in:{value:8673330},typeof:{value:16863275},while:{value:20578},case:{value:20556},break:{value:20555},try:{value:20577},catch:{value:20557},delete:{value:16863276},throw:{value:86112},switch:{value:86110},continue:{value:20559},default:{value:20561},instanceof:{value:8411187},do:{value:20562},void:{value:16863277},finally:{value:20566},async:{value:209005},await:{value:209006},class:{value:86094},const:{value:86090},constructor:{value:12399},debugger:{value:20560},export:{value:20564},extends:{value:20565},false:{value:86021},from:{value:12403},get:{value:12400},implements:{value:36964},import:{value:86106},interface:{value:36965},let:{value:241737},null:{value:86023},of:{value:274548},package:{value:36966},private:{value:36967},protected:{value:36968},public:{value:36969},set:{value:12401},static:{value:36970},super:{value:86109},true:{value:86022},with:{value:20579},yield:{value:241771},enum:{value:86133},eval:{value:537079926},as:{value:77932},arguments:{value:537079927},target:{value:209029},meta:{value:209030},accessor:{value:12402}});function B(e,t,n){for(;x[g(e)];);return e.tokenValue=e.source.slice(e.tokenIndex,e.index),92!==e.currentChar&&e.currentChar<=126?j[e.tokenValue]||208897:G(e,t,0,n)}function H(e,t){const n=F(e);return T(n)||i(e,5),e.tokenValue=String.fromCodePoint(n),G(e,t,1,4&b[n])}function G(e,t,n,r){let o=e.index;for(;e.index<e.end;